  :root {
    --light: #e8e6e1;
    --white: #f5f3ef;
    --dark: #1a1a1a;
    --ink-soft: #2d2d2d;
    --mute: #6b6b68;
    --mute-on-dark: #8a8a87;
    --line: #c4c2bc;
    --line-dark: rgba(232, 230, 225, 0.12);
    --pad-x: 40px;
  }

  @media (max-width: 900px) { :root { --pad-x: 24px; } }
  @media (max-width: 500px) { :root { --pad-x: 18px; } }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html, body { overflow-x: hidden; max-width: 100%; width: 100%; }
  html { scroll-behavior: smooth; }

  body {
    background: var(--light);
    color: var(--dark);
    font-family: 'Inter Tight', sans-serif;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    position: relative;
  }

  body::before {
    content: ''; position: fixed; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events: none; z-index: 100; mix-blend-mode: multiply;
  }

  h2, h3, blockquote, .word, .big-number, .question, .error-title, .so-title {
    overflow-wrap: break-word; word-break: normal; hyphens: auto; max-width: 100%;
  }

  /* Animaciones de entrada - VISIBLES por defecto, animadas si body.js-anim */
  .reveal { opacity: 1; transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1s cubic-bezier(0.2, 0.8, 0.2, 1); }
  body.js-anim .reveal { opacity: 0; }
  body.js-anim .reveal-up { transform: translateY(50px); }
  body.js-anim .reveal-left { transform: translateX(-60px); }
  body.js-anim .reveal-right { transform: translateX(60px); }
  body.js-anim .reveal-scale { transform: scale(0.92); }
  body.js-anim .reveal-slow { transition-duration: 1.6s; }

  body.js-anim .reveal.is-visible,
  body.js-anim .reveal.in {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }

  .stagger-1 { transition-delay: 0s; }
  .stagger-2 { transition-delay: 0.15s; }

  .icon-stroke { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  .icon-stroke-thin { fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }

  /* MASTHEAD */
  .masthead { padding: 40px var(--pad-x) 36px; }
  @media (min-width: 901px) { .masthead { padding: 48px 40px 48px; } }

  .masthead-date {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
  }
  @media (min-width: 901px) { .masthead-date { font-size: 11px; letter-spacing: 0.22em; margin-bottom: 32px; } }

  .masthead-date .right { display: flex; align-items: center; gap: 10px; }
  .masthead-date .edition-type {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    font-size: 1.3em;
    color: var(--dark);
  }
  .dot {
    display: inline-block; width: 6px; height: 6px;
    background: var(--dark); border-radius: 50%;
    animation: pulse 2s ease-in-out infinite; flex-shrink: 0;
  }
  @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }

  .masthead h1 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(36px, 9vw, 140px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    margin-bottom: 12px;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  @media (min-width: 901px) { .masthead h1 { margin-bottom: 18px; } }
  @media (max-width: 380px) { .masthead h1 { font-size: 32px; letter-spacing: -0.03em; } }

  .masthead-tag {
    border-top: 1px solid var(--line);
    padding-top: 12px;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 500;
    font-size: clamp(13px, 1.5vw, 17px);
    color: var(--ink-soft);
    letter-spacing: 0.22em;
    line-height: 1.4;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 12px;
  }
  @media (min-width: 901px) { .masthead-tag { padding-top: 16px; } }
  .masthead-tag > span:first-child {
    font-family: 'Inter Tight', sans-serif;
    font-style: normal;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: clamp(13px, 4.2vw, 22px);
    line-height: 1.35;
    color: var(--dark);
    flex: 1;
    min-width: 0;
    word-spacing: 0.05em;
  }
  @media (min-width: 901px) {
    .masthead-tag > span:first-child {
      letter-spacing: 0.16em;
      font-size: 18px;
      white-space: nowrap;
    }
  }

  .masthead-tag .badge {
    font-family: 'Inter Tight', sans-serif;
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 9px;
    color: var(--ink-soft);
    white-space: nowrap;
    flex-shrink: 0;
  }
  @media (min-width: 901px) { .masthead-tag .badge { font-size: 12px; letter-spacing: 0.22em; } }

  /* TÍTULO TEMÁTICO DEL DÍA (entre masthead y primer bloque) */
  .section-title {
    background: var(--white);
    text-align: center;
    padding: 56px var(--pad-x) 64px;
    border-bottom: 1px solid var(--line);
  }
  @media (min-width: 901px) { .section-title { padding: 88px 40px 96px; } }
  .section-title .eyebrow {
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.34em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 18px;
  }
  @media (min-width: 901px) { .section-title .eyebrow { font-size: 12px; letter-spacing: 0.4em; margin-bottom: 24px; } }
  .section-title h2 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(48px, 9vw, 120px);
    line-height: 0.92;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: var(--dark);
    margin: 0;
    word-spacing: 0.04em;
  }
  @media (min-width: 901px) { .section-title h2 { word-spacing: 0.06em; } }
  .section-title h2 em { font-style: italic; font-weight: 900; }
  .section-title .subtitle {
    display: block;
    margin-top: 20px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: clamp(15px, 1.7vw, 19px);
    color: var(--ink-soft);
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
  }
  @media (min-width: 901px) { .section-title .subtitle { margin-top: 28px; } }

  /* CARDS */
  .card {
    padding: 48px var(--pad-x);
    position: relative;
    border-bottom: 1px solid var(--line);
  }
  .card.no-border-below { border-bottom: none; }
  .card.no-border-below + .card { padding-top: 0; }
  @media (min-width: 901px) {
    .card { padding: 80px 40px; }
    .card.no-border-below + .card { padding-top: 0; }
  }
  .card.theme-light { background: var(--light); color: var(--dark); }
  .card.theme-dark { background: var(--dark); color: var(--light); border-color: var(--dark); }
  .card.theme-white { background: var(--white); color: var(--dark); border-color: var(--line); }

  .card-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: baseline;
    margin-bottom: 32px;
    padding-bottom: 18px;
    border-bottom: 1px solid;
  }
  @media (min-width: 901px) { .card-head { gap: 32px; margin-bottom: 56px; padding-bottom: 24px; } }
  @media (max-width: 600px) {
    .card-head { grid-template-columns: 1fr; gap: 8px; }
    .card-head .tag { justify-self: start; }
    .card-head .num { order: -1; }
  }
  .theme-light .card-head { border-color: rgba(26,26,26,0.4); }
  .theme-dark .card-head { border-color: rgba(232,230,225,0.4); }
  .theme-white .card-head { border-color: rgba(26,26,26,0.4); }

  .card-head .num { font-family: 'Fraunces', serif; font-weight: 700; font-size: 12px; }
  @media (min-width: 901px) { .card-head .num { font-size: 13px; } }
  .theme-light .card-head .num, .theme-white .card-head .num { color: var(--mute); }
  .theme-dark .card-head .num { color: var(--mute-on-dark); }

  .card-head h2 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(22px, 4.2vw, 56px);
    line-height: 0.95;
    letter-spacing: -0.032em;
    text-transform: uppercase;
  }
  .card-head h2 em { font-style: italic; font-weight: 900; }

  .card-head .tag {
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 500;
  }
  @media (min-width: 901px) { .card-head .tag { font-size: 11px; letter-spacing: 0.22em; } }
  .theme-light .card-head .tag, .theme-white .card-head .tag { color: var(--ink-soft); }
  .theme-dark .card-head .tag { color: rgba(232,230,225,0.65); }

  /* BLOQUE 1: PÍLDORA INTELECTUAL (frase / dato / palabra) */
  .pildora-intel-body { text-align: center; padding: 32px 0 24px; }
  @media (min-width: 901px) { .pildora-intel-body { padding: 80px 0 60px; } }

  .pildora-intel-body .icon {
    width: 64px; height: 64px;
    margin: 0 auto 28px; opacity: 0.85;
  }
  @media (min-width: 901px) { .pildora-intel-body .icon { width: 88px; height: 88px; margin-bottom: 40px; } }

  .pildora-intel-body .label {
    font-size: 10px; letter-spacing: 0.26em;
    text-transform: uppercase;
    margin-bottom: 32px; font-weight: 500;
  }
  @media (min-width: 901px) { .pildora-intel-body .label { font-size: 11px; letter-spacing: 0.3em; margin-bottom: 48px; } }
  .theme-dark .pildora-intel-body .label { color: rgba(232,230,225,0.6); }

  /* Frase */
  .pildora-intel-body blockquote {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: clamp(28px, 8vw, 150px);
    line-height: 0.92; letter-spacing: -0.038em;
    max-width: 1500px; margin: 0 auto;
    text-transform: uppercase;
  }
  @media (min-width: 901px) {
    .pildora-intel-body blockquote { word-spacing: 0.12em; line-height: 1.0; }
  }
  .pildora-intel-body blockquote em { font-style: italic; font-weight: 900; }
  .pildora-intel-body cite {
    display: block; margin-top: 36px;
    font-family: 'Fraunces', serif; font-style: italic;
    font-weight: 400; font-size: 16px;
  }
  @media (min-width: 901px) { .pildora-intel-body cite { margin-top: 60px; font-size: 22px; } }
  .theme-dark .pildora-intel-body cite { color: var(--mute-on-dark); }

  /* Variante: Dato del día */
  .pildora-intel-body .big-number {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: clamp(90px, 24vw, 380px);
    line-height: 0.8; letter-spacing: -0.065em;
    margin-bottom: 28px;
  }
  @media (min-width: 901px) { .pildora-intel-body .big-number { margin-bottom: 44px; } }
  .pildora-intel-body .big-number em { font-style: italic; font-weight: 900; }
  .pildora-intel-body .big-number .unit {
    font-family: 'Fraunces', serif; font-style: italic;
    font-size: 0.35em; margin-left: 0.1em;
  }

  .pildora-intel-body .context {
    font-family: 'Fraunces', serif; font-weight: 400;
    font-size: clamp(16px, 2.4vw, 28px);
    line-height: 1.42; max-width: 820px; margin: 0 auto;
  }
  .pildora-intel-body .context em { font-style: italic; font-weight: 700; }
  .theme-dark .pildora-intel-body .context { color: rgba(232,230,225,0.85); }

  /* Contexto enriquecido (WYSIWYG) bajo frase y dato */
  .pildora-intel-body .frase-context,
  .pildora-intel-body .dato-context {
    max-width: 720px;
    margin: 36px auto 0;
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.65;
    text-align: left;
  }
  @media (min-width: 901px) {
    .pildora-intel-body .frase-context,
    .pildora-intel-body .dato-context {
      font-size: 18px;
      line-height: 1.7;
      margin-top: 56px;
    }
  }
  .pildora-intel-body .frase-context p,
  .pildora-intel-body .dato-context p {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    margin: 0 0 16px;
    color: inherit;
  }
  .pildora-intel-body .frase-context p:last-child,
  .pildora-intel-body .dato-context p:last-child { margin-bottom: 0; }
  .pildora-intel-body .frase-context em,
  .pildora-intel-body .dato-context em { font-style: italic; font-weight: 700; }
  .pildora-intel-body .frase-context strong,
  .pildora-intel-body .dato-context strong { font-weight: 700; font-style: normal; }
  .theme-dark .pildora-intel-body .frase-context,
  .theme-dark .pildora-intel-body .dato-context { color: rgba(232,230,225,0.88); }
  .pildora-intel-body .frase-context a,
  .pildora-intel-body .dato-context a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  /* Variante: Palabra del día */
  .pildora-intel-body .word {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-style: italic;
    font-size: clamp(52px, 13vw, 220px);
    line-height: 0.88; letter-spacing: -0.05em;
    margin-bottom: 20px; text-transform: uppercase;
  }
  @media (min-width: 901px) { .pildora-intel-body .word { margin-bottom: 32px; } }

  .pildora-intel-body .phonetic {
    font-family: 'Fraunces', serif; font-style: italic;
    font-size: 14px; margin-bottom: 28px;
  }
  @media (min-width: 901px) { .pildora-intel-body .phonetic { font-size: 18px; margin-bottom: 40px; } }
  .theme-dark .pildora-intel-body .phonetic { color: var(--mute-on-dark); }

  .pildora-intel-body .definition {
    font-family: 'Fraunces', serif; font-weight: 400;
    font-size: clamp(15px, 2vw, 26px);
    line-height: 1.45; max-width: 820px; margin: 0 auto;
  }
  .theme-dark .pildora-intel-body .definition { color: rgba(232,230,225,0.85); }

  /* LOOK CON GAFAS */
  .look-body { max-width: 1100px; margin: 0 auto; }
  .look-image {
    aspect-ratio: 4/5;
    background: linear-gradient(180deg, #e0dcd4 0%, #c8c3b8 100%);
    position: relative; overflow: hidden;
    max-width: 780px; margin: 0 auto;
    border: 1px solid var(--line);
  }
  .look-image::before {
    content: ''; position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode: multiply;
  }
  .look-image-placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 12px;
    font-family: 'Fraunces', serif; font-style: italic;
    color: var(--mute); font-size: 14px;
    background: repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(0,0,0,0.04) 14px, rgba(0,0,0,0.04) 28px);
  }
  .look-image-placeholder .frame {
    width: 60px; height: 60px;
    border: 2px solid var(--mute);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; opacity: 0.6;
  }

  .look-image svg.man {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    height: 86%; width: auto;
    filter: drop-shadow(0 30px 50px rgba(0,0,0,0.12));
  }

  .look-cta {
    margin-top: 28px;
    padding: 20px 24px;
    background: var(--white);
    border-left: 3px solid var(--dark);
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ink-soft);
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (min-width: 901px) {
    .look-cta { font-size: 19px; padding: 24px 32px; margin-top: 36px; }
  }
  .look-cta strong { font-weight: 700; color: var(--dark); }
  .look-cta a {
    display: inline-block;
    margin-top: 8px;
    color: var(--dark);
    font-style: normal;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid var(--dark);
    padding-bottom: 2px;
  }

  /* GRID DE 3 LOOKS (Lunes - Estilo) */
  .looks-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 540px;
    margin: 0 auto;
    border: 1px solid var(--line);
    width: 100%;
  }
  @media (max-width: 700px) {
    .looks-grid { grid-template-columns: 1fr !important; }
  }
  @media (min-width: 701px) {
    .looks-grid { grid-template-columns: 1fr !important; max-width: 540px; }
  }

  .look-card {
    background: var(--white);
    border-right: none;
    border-bottom: 1px solid var(--line);
    display: flex;
    flex-direction: column;
  }
  .look-card:last-child { border-bottom: none; }

  .look-card .look-card-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
  }
  @media (min-width: 901px) {
    .look-card .look-card-header { padding: 28px 28px 20px; }
  }

  .look-card .category-label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ink-soft);
  }
  @media (min-width: 901px) {
    .look-card .category-label { font-size: 11px; }
  }

  .look-card .look-num {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 13px;
    color: var(--ink-soft);
    opacity: 0.7;
  }

  .look-card .look-image-slot {
    aspect-ratio: 3 / 4;
    background: #f0eee8;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
  }
  .look-card .look-image-slot img {
    width: 100%; height: 100%; object-fit: cover;
  }
  .look-card .look-image-slot svg.man { width: 56%; height: 80%; opacity: 0.55; }

  .look-card .look-card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 901px) {
    .look-card .look-card-body { padding: 28px; }
  }

  .look-card h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(20px, 2.4vw, 28px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-bottom: 14px;
    color: var(--dark);
  }
  .look-card h3 em { font-style: italic; font-weight: 900; }

  .look-card .look-desc {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink-soft);
    margin-bottom: 20px;
    flex: 1;
  }
  @media (min-width: 901px) {
    .look-card .look-desc { font-size: 15px; }
  }
  .look-card .look-desc em { font-style: italic; font-weight: 700; color: var(--dark); }

  .look-card .look-card-footer {
    border-top: 1px dashed var(--line);
    padding-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }
  .look-card .look-ref {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 12px;
    color: var(--ink-soft);
  }
  .look-card .look-shop {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--dark);
    text-decoration: none;
    border-bottom: 1px solid var(--dark);
    padding-bottom: 2px;
    transition: opacity 0.3s;
  }
  .look-card .look-shop:hover { opacity: 0.6; }
  .look-card .look-shop .arrow {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    border: none;
    margin-left: 4px;
  }

  /* Bloque Martison destacado (sección dark con título grande) */
  .martison-feature {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 24px 0;
  }
  @media (min-width: 901px) {
    .martison-feature {
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      padding: 48px 0;
    }
  }
  .martison-img-wrap {
    aspect-ratio: 3 / 4;
    background: var(--light);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }
  @media (min-width: 901px) {
    .martison-img-wrap { max-width: 100%; }
  }
  .martison-img-wrap img {
    width: 100%; height: 100%; object-fit: cover;
  }
  .martison-img-wrap .glasses-svg {
    width: 70%; height: auto; opacity: 0.6;
  }
  .martison-text-wrap {
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
  }
  @media (min-width: 901px) {
    .martison-text-wrap { text-align: left; max-width: 100%; }
  }
  .martison-text-wrap .label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 18px;
    color: rgba(232, 230, 225, 0.7);
  }
  @media (min-width: 901px) {
    .martison-text-wrap .label { font-size: 12px; margin-bottom: 24px; }
  }
  .martison-text-wrap .copy {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.55;
    color: rgba(232, 230, 225, 0.92);
    margin-bottom: 28px;
  }
  @media (min-width: 901px) {
    .martison-text-wrap .copy { font-size: 19px; line-height: 1.5; margin-bottom: 36px; }
  }
  .martison-text-wrap .copy em {
    font-style: italic;
    font-weight: 700;
    color: var(--light);
  }
  .martison-text-wrap .copy strong {
    font-weight: 700;
    color: var(--light);
  }
  .martison-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--light);
    color: var(--dark);
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s;
  }
  .martison-cta:hover { opacity: 0.85; }
  .martison-cta .arrow {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    transition: transform 0.3s;
  }
  .martison-cta:hover .arrow { transform: translateX(4px); }
  @media (min-width: 901px) {
    .martison-cta { padding: 16px 32px; font-size: 12px; }
  }

  /* Bloque Martison vertical (formato tipo look-card) */
  .martison-block {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
    border-top: none;
  }
  .martison-card {
    background: var(--white);
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--line);
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    max-width: 480px;
    margin: 0 auto;
  }
  @media (min-width: 901px) {
    .martison-card { max-width: 520px; }
  }
  .martison-card .look-image-slot {
    background: var(--light);
  }
  .martison-card .look-image-slot img {
    width: 100%; height: 100%; object-fit: cover;
  }
  .martison-card h3 em { font-style: italic; font-weight: 900; }

  /* Bloque Martison dentro del Look */
  .martison-spot {
    margin: 28px auto 0;
    max-width: 1200px;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    align-items: stretch;
    background: var(--white);
    border: 1px solid var(--line);
    border-left: 3px solid var(--dark);
    padding: 0;
    overflow: hidden;
  }
  @media (min-width: 901px) {
    .martison-spot { grid-template-columns: 280px 1fr; gap: 0; margin-top: 36px; }
  }
  @media (max-width: 600px) {
    .martison-spot { grid-template-columns: 1fr; }
  }

  .martison-image {
    aspect-ratio: 4/3;
    background: linear-gradient(135deg, #2a2826 0%, #0d0c0b 100%);
    position: relative;
    overflow: hidden;
    border-right: 1px solid var(--line);
  }
  @media (max-width: 600px) {
    .martison-image { aspect-ratio: 16/9; border-right: none; border-bottom: 1px solid var(--line); }
  }
  .martison-image .placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(232,230,225,0.5);
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 12px;
  }
  .martison-image svg.glasses-svg {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
  }
  .martison-image .brand-tag {
    position: absolute;
    top: 12px; left: 12px;
    font-size: 9px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: rgba(232, 230, 225, 0.5);
    font-weight: 500;
  }

  .martison-text {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  @media (min-width: 901px) { .martison-text { padding: 28px 32px; } }

  .martison-text .label {
    font-size: 9px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--mute);
    font-weight: 500;
    margin-bottom: 10px;
  }
  @media (min-width: 901px) { .martison-text .label { font-size: 10px; margin-bottom: 14px; } }

  .martison-text .copy {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.45;
    color: var(--ink-soft);
    margin-bottom: 14px;
  }
  @media (min-width: 901px) { .martison-text .copy { font-size: 18px; margin-bottom: 18px; } }
  .martison-text .copy strong { font-weight: 700; font-style: normal; color: var(--dark); }

  .martison-text a.link {
    color: var(--dark);
    font-family: 'Inter Tight', sans-serif;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid var(--dark);
    padding-bottom: 2px;
    align-self: start;
  }
  @media (min-width: 901px) { .martison-text a.link { font-size: 11px; } }

  .look-footer {
    display: flex; justify-content: space-between;
    align-items: center; margin: 32px auto 0;
    flex-wrap: wrap; gap: 16px;
    max-width: 780px;
  }
  @media (min-width: 901px) { .look-footer { margin-top: 28px; } }
  .look-footer .caption {
    font-family: 'Fraunces', serif; font-style: italic;
    font-size: 15px; color: var(--mute);
  }
  @media (min-width: 901px) { .look-footer .caption { font-size: 17px; } }

  .shop-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 24px;
    background: var(--dark); color: var(--white);
    font-size: 11px; letter-spacing: 0.22em;
    text-transform: uppercase; font-weight: 600;
    text-decoration: none; transition: all 0.35s;
    border: 1px solid var(--dark);
  }
  .shop-btn:hover { background: transparent; color: var(--dark); }
  .shop-btn .arrow { transition: transform 0.3s; }
  .shop-btn:hover .arrow { transform: translateX(6px); }

  /* ===== CASO DE NEGOCIO (VIERNES) ===== */
  .case-body {
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 0 32px;
  }
  @media (min-width: 901px) {
    .case-body { padding: 56px 0 48px; }
  }

  .case-header {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--line);
  }
  @media (min-width: 901px) {
    .case-header {
      flex-direction: row;
      align-items: center;
      gap: 40px;
      margin-bottom: 56px;
    }
  }

  .case-brand-mark {
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .case-brand-logo {
    width: 64px; height: 64px;
    background: var(--dark);
    color: var(--light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: 32px;
    line-height: 1;
    flex-shrink: 0;
  }
  @media (min-width: 901px) {
    .case-brand-logo { width: 80px; height: 80px; font-size: 40px; }
  }
  .case-brand-info .label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 6px;
  }
  .case-brand-info .name {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1;
    color: var(--dark);
    margin-bottom: 4px;
  }
  @media (min-width: 901px) {
    .case-brand-info .name { font-size: 28px; }
  }
  .case-brand-info .meta {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--ink-soft);
  }

  .case-tagline {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--ink-soft);
    border-left: 2px solid var(--dark);
    padding-left: 16px;
    line-height: 1.4;
  }
  @media (min-width: 901px) {
    .case-tagline { font-size: 15px; max-width: 280px; }
  }

  .case-title {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(32px, 6vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    color: var(--dark);
    margin: 0 0 40px;
  }
  .case-title em { font-style: italic; font-weight: 900; }
  @media (min-width: 901px) {
    .case-title { margin-bottom: 56px; }
  }

  .case-comparison {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
    margin-bottom: 40px;
    border: 1px solid var(--line);
  }
  @media (min-width: 901px) {
    .case-comparison {
      grid-template-columns: 1fr auto 1fr;
      margin-bottom: 56px;
    }
  }
  .case-block {
    padding: 28px 24px;
    background: var(--white);
  }
  .case-block.before { background: var(--light); border-bottom: 1px solid var(--line); }
  @media (min-width: 901px) {
    .case-block { padding: 36px 32px; }
    .case-block.before { border-bottom: none; border-right: 1px solid var(--line); }
  }
  .case-block .stage {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 8px;
  }
  .case-block .year {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: 28px;
    line-height: 1;
    text-transform: uppercase;
    color: var(--dark);
    margin-bottom: 16px;
  }
  @media (min-width: 901px) {
    .case-block .year { font-size: 36px; }
  }
  .case-block .summary {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.55;
    color: var(--dark);
    margin-bottom: 16px;
  }
  @media (min-width: 901px) {
    .case-block .summary { font-size: 17px; line-height: 1.6; }
  }
  .case-block .summary em { font-style: italic; font-weight: 700; }
  .case-block .summary strong { font-weight: 700; }
  .case-block .stats {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--ink-soft);
    border-top: 1px solid var(--line);
    padding-top: 12px;
  }

  .case-arrow {
    display: none;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 28px;
    color: var(--dark);
    align-self: center;
    padding: 0 16px;
  }
  @media (min-width: 901px) {
    .case-arrow { display: flex; align-items: center; justify-content: center; }
  }

  .case-pivot {
    background: var(--dark);
    color: var(--light);
    padding: 32px 28px;
    margin-bottom: 32px;
  }
  @media (min-width: 901px) {
    .case-pivot { padding: 48px 56px; margin-bottom: 40px; }
  }
  .case-pivot .label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgba(232,230,225,0.6);
    margin-bottom: 16px;
  }
  .case-pivot .text {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.55;
    color: var(--light);
  }
  @media (min-width: 901px) {
    .case-pivot .text { font-size: 22px; line-height: 1.5; }
  }
  .case-pivot .text em { font-style: italic; font-weight: 700; }
  .case-pivot .text strong { font-weight: 700; }

  .case-lesson {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 0;
    border-top: 2px solid var(--dark);
    border-bottom: 1px solid var(--line);
    margin-bottom: 32px;
  }
  @media (min-width: 901px) {
    .case-lesson {
      flex-direction: row;
      align-items: baseline;
      gap: 28px;
      padding: 32px 0;
    }
  }
  .case-lesson .k {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--dark);
    flex-shrink: 0;
  }
  .case-lesson .v {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.45;
    color: var(--dark);
  }
  @media (min-width: 901px) {
    .case-lesson .v { font-size: 22px; }
  }
  .case-lesson .v em { font-style: italic; font-weight: 700; }

  /* ===== HISTORIA DE SUPERACIÓN (SÁBADO) ===== */
  .historia-body {
    max-width: 1000px;
    margin: 0 auto;
    padding: 24px 0 32px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
  }
  @media (min-width: 901px) {
    .historia-body {
      grid-template-columns: 320px 1fr;
      gap: 56px;
      padding: 48px 0 40px;
      align-items: start;
    }
  }

  .historia-side {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  @media (min-width: 901px) {
    .historia-side { position: sticky; top: 40px; }
  }
  .historia-side .portrait {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 3 / 4;
    background: var(--light);
    overflow: hidden;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .historia-side .portrait img {
    width: 100%; height: 100%; object-fit: cover;
  }
  .historia-side .portrait .portrait-svg {
    width: 80%; height: auto; opacity: 0.5;
  }
  .historia-side .label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 6px;
  }
  .historia-side .who {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.15;
    color: var(--dark);
  }

  .historia-main h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(30px, 5.5vw, 56px);
    line-height: 1.0;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: var(--dark);
    margin: 0 0 28px;
  }
  .historia-main h3 em { font-style: italic; font-weight: 900; }
  @media (min-width: 901px) {
    .historia-main h3 { margin-bottom: 36px; }
  }

  .historia-main .resumen-wrap {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    color: var(--dark);
    margin-bottom: 32px;
  }
  @media (min-width: 901px) {
    .historia-main .resumen-wrap { font-size: 18px; line-height: 1.75; margin-bottom: 40px; }
  }
  .historia-main .resumen-wrap p {
    margin: 0 0 18px;
    font-family: 'Fraunces', serif;
    font-weight: 400;
  }
  .historia-main .resumen-wrap p:last-child { margin-bottom: 0; }
  .historia-main .resumen-wrap em { font-style: italic; font-weight: 700; }
  .historia-main .resumen-wrap strong { font-weight: 700; font-style: normal; }
  .historia-main .resumen-wrap a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .historia-lesson {
    background: var(--dark);
    color: var(--light);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
  }
  @media (min-width: 901px) {
    .historia-lesson { padding: 32px 36px; flex-direction: row; align-items: baseline; gap: 24px; }
  }
  .historia-lesson .k {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgba(232,230,225,0.7);
    flex-shrink: 0;
  }
  .historia-lesson .v {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.45;
    color: var(--light);
  }
  @media (min-width: 901px) {
    .historia-lesson .v { font-size: 21px; }
  }
  .historia-lesson .v em { font-style: italic; font-weight: 700; }

  .historia-main .links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
  @media (min-width: 601px) {
    .historia-main .links { grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
  }
  .historia-main .links a {
    border: 1px solid var(--line);
    padding: 16px 20px;
    text-decoration: none;
    color: var(--dark);
    transition: background 0.3s;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .historia-main .links a:hover { background: var(--light); }
  .historia-main .links .kind {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ink-soft);
  }
  .historia-main .links .where {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 15px;
    color: var(--dark);
    line-height: 1.3;
  }

  /* ===== LIBRO RECOMENDADO (DOMINGO) ===== */
  .libro-body {
    max-width: 920px;
    margin: 0 auto;
    padding: 24px 0 32px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
  }
  @media (min-width: 901px) {
    .libro-body {
      grid-template-columns: 280px 1fr;
      gap: 56px;
      padding: 48px 0 40px;
      align-items: start;
    }
  }

  .libro-cover {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .libro-cover .book-art-link {
    display: block;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
  }
  @media (min-width: 901px) {
    .libro-cover .book-art-link { max-width: 280px; }
  }
  .libro-cover .book-art {
    width: 100%;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    background: var(--dark);
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
    display: block;
  }

  .libro-info .kind {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 14px;
  }
  .libro-info h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(28px, 5vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: var(--dark);
    margin: 0 0 8px;
  }
  .libro-info h3 em { font-style: italic; font-weight: 900; }
  .libro-info .author {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--ink-soft);
    margin-bottom: 24px;
  }
  @media (min-width: 901px) {
    .libro-info .author { font-size: 18px; margin-bottom: 32px; }
  }

  .libro-info .libro-sinopsis-wrap {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    color: var(--dark);
    margin-bottom: 28px;
  }
  @media (min-width: 901px) {
    .libro-info .libro-sinopsis-wrap { font-size: 17px; line-height: 1.75; }
  }
  .libro-info .libro-sinopsis-wrap p {
    margin: 0 0 16px;
    font-family: 'Fraunces', serif;
    font-weight: 400;
  }
  .libro-info .libro-sinopsis-wrap p:last-child { margin-bottom: 0; }
  .libro-info .libro-sinopsis-wrap em { font-style: italic; font-weight: 700; }
  .libro-info .libro-sinopsis-wrap strong { font-weight: 700; font-style: normal; }

  .buy-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--dark);
    color: var(--light);
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s;
  }
  .buy-btn:hover { opacity: 0.85; }
  .buy-btn .arrow {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    transition: transform 0.3s;
  }
  .buy-btn:hover .arrow { transform: translateX(4px); }
  @media (min-width: 901px) {
    .buy-btn { padding: 16px 32px; font-size: 12px; }
  }

  /* ===== EJERCICIO ESCRITO (DOMINGO) ===== */
  .exercise-block {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 0 8px;
  }
  @media (min-width: 901px) {
    .exercise-block { padding: 48px 0 16px; }
  }

  .ex-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(232,230,225,0.18);
  }
  @media (min-width: 601px) {
    .ex-header { flex-direction: row; align-items: baseline; gap: 16px; }
  }
  .ex-eyebrow {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgba(232,230,225,0.55);
  }
  .ex-week {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    color: rgba(232,230,225,0.75);
  }

  .ex-title {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(28px, 5vw, 56px);
    line-height: 1.0;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    color: var(--light);
    margin: 0 0 20px;
  }
  .ex-title em { font-style: italic; font-weight: 900; }

  .ex-intro {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.55;
    color: rgba(232,230,225,0.85);
    margin-bottom: 36px;
  }
  @media (min-width: 901px) {
    .ex-intro { font-size: 18px; margin-bottom: 48px; }
  }

  .ex-prompts {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .ex-prompts li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(232,230,225,0.12);
  }
  .ex-prompts li:last-child { border-bottom: none; padding-bottom: 0; }
  .ex-prompts .num {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    color: rgba(232,230,225,0.55);
    line-height: 1;
  }
  @media (min-width: 901px) {
    .ex-prompts .num { font-size: 28px; }
  }
  .ex-prompts .question {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.35;
    color: var(--light);
    margin-bottom: 10px;
  }
  @media (min-width: 901px) {
    .ex-prompts .question { font-size: 22px; }
  }
  .ex-prompts .question em { font-style: italic; font-weight: 700; }
  .ex-prompts .hint {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(232,230,225,0.75);
    margin: 0;
  }
  @media (min-width: 901px) {
    .ex-prompts .hint { font-size: 16px; }
  }

  .ex-footer {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(232,230,225,0.65);
    text-align: center;
    padding-top: 24px;
    border-top: 1px solid rgba(232,230,225,0.18);
    margin: 0;
  }
  @media (min-width: 901px) {
    .ex-footer { font-size: 15px; padding-top: 32px; }
  }

  /* MANTENIMIENTO Y MEJORA - 1 PILDORA SINGLE */
  .pildora-single {
    padding: 32px 0 24px;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 48px;
    align-items: center;
  }
  @media (min-width: 901px) {
    .pildora-single { grid-template-columns: 280px 1fr; gap: 80px; padding: 60px 0 40px; }
  }
  @media (max-width: 800px) {
    .pildora-single { grid-template-columns: 1fr; gap: 32px; text-align: left; }
  }

  .pildora-single .illustration-box {
    aspect-ratio: 1;
    border: 2px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    max-width: 280px;
  }
  .theme-dark .pildora-single .illustration-box { border-color: var(--light); }

  .pildora-single .illustration-box svg.illustration {
    width: 60%;
    height: 60%;
  }

  .pildora-single .illustration-box .corner-cat {
    position: absolute;
    top: 12px; left: 12px;
    font-size: 9px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
    opacity: 0.7;
  }
  .pildora-single .illustration-box .corner-num {
    position: absolute;
    bottom: 12px; right: 12px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 14px;
    opacity: 0.7;
  }

  .pildora-single .pildora-content .label {
    font-size: 10px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 500;
  }
  @media (min-width: 901px) { .pildora-single .pildora-content .label { font-size: 11px; letter-spacing: 0.3em; margin-bottom: 24px; } }
  .theme-dark .pildora-single .pildora-content .label { color: rgba(232,230,225,0.6); }

  .pildora-single .pildora-content h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(28px, 5.6vw, 86px);
    line-height: 0.95;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  @media (min-width: 901px) { .pildora-single .pildora-content h3 { margin-bottom: 32px; } }
  .pildora-single .pildora-content h3 em { font-style: italic; font-weight: 900; }

  .pildora-single .pildora-content .pildora-note {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    max-width: 580px;
  }
  @media (min-width: 901px) { .pildora-single .pildora-content .pildora-note { font-size: 19px; } }
  .theme-dark .pildora-single .pildora-content .pildora-note { color: rgba(232,230,225,0.82); }
  .pildora-single .pildora-content .pildora-note em { font-style: italic; font-weight: 700; }
  .theme-dark .pildora-single .pildora-content .pildora-note em { color: var(--light); }

  /* EL ERROR A EVITAR */
  .error-body { max-width: 1300px; margin: 0 auto; padding: 24px 0; }
  @media (min-width: 901px) { .error-body { padding: 60px 0 40px; } }
  .error-grid {
    display: grid; grid-template-columns: 220px 1fr;
    gap: 48px; align-items: start;
  }
  @media (max-width: 900px) { .error-grid { grid-template-columns: 1fr; gap: 32px; } }
  .error-icon-box {
    aspect-ratio: 1; border: 2px solid;
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden;
    max-width: 220px;
  }
  .theme-light .error-icon-box { border-color: var(--dark); }
  .error-icon-box svg.error-x {
    width: 60%; height: 60%;
    stroke-width: 4; fill: none; stroke-linecap: round;
  }
  .theme-light .error-icon-box svg.error-x { stroke: var(--dark); }

  /* Iconos para variantes Estilo y Protocolo del bloque 4 */
  .error-icon-box svg.tip-icon {
    width: 64%; height: 64%;
    color: var(--dark);
  }
  .theme-light .error-icon-box svg.tip-icon { color: var(--dark); }
  .error-icon-box .corner-tl, .error-icon-box .corner-br {
    position: absolute; font-size: 9px;
    letter-spacing: 0.25em; text-transform: uppercase;
    font-weight: 600; opacity: 0.7;
  }
  .error-icon-box .corner-tl { top: 12px; left: 12px; }
  .error-icon-box .corner-br {
    bottom: 12px; right: 12px;
    font-family: 'Fraunces', serif; font-style: italic;
    font-weight: 700; text-transform: none;
    letter-spacing: 0; font-size: 14px;
  }
  .error-content .label {
    font-size: 10px; letter-spacing: 0.26em;
    text-transform: uppercase; margin-bottom: 16px;
    font-weight: 500; color: var(--ink-soft);
  }
  @media (min-width: 901px) { .error-content .label { font-size: 11px; letter-spacing: 0.3em; margin-bottom: 24px; } }
  .error-title {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: clamp(34px, 5.8vw, 80px);
    line-height: 0.96; letter-spacing: -0.025em;
    margin-bottom: 28px; text-transform: uppercase;
    word-spacing: 0.05em;
  }
  @media (min-width: 901px) { .error-title { margin-bottom: 36px; word-spacing: 0.08em; } }
  .error-title em { font-style: italic; font-weight: 900; }
  .error-text {
    font-family: 'Fraunces', serif; font-weight: 400;
    font-size: 16px; line-height: 1.55;
    margin-bottom: 24px; max-width: 680px;
    color: var(--ink-soft);
  }
  @media (min-width: 901px) { .error-text { font-size: 20px; line-height: 1.5; margin-bottom: 32px; } }
  .error-text strong { font-weight: 700; color: var(--dark); }
  .error-text em { font-style: italic; font-weight: 700; }
  .error-antidote {
    border-top: 1px solid var(--line);
    padding-top: 20px;
    display: grid; grid-template-columns: auto 1fr;
    gap: 18px; align-items: baseline;
    max-width: 680px;
  }
  @media (min-width: 901px) { .error-antidote { padding-top: 28px; gap: 24px; } }
  .error-antidote .k {
    font-size: 9px; letter-spacing: 0.28em;
    text-transform: uppercase; font-weight: 600;
    color: var(--mute);
  }
  @media (min-width: 901px) { .error-antidote .k { font-size: 10px; } }
  .error-antidote .v {
    font-family: 'Fraunces', serif; font-style: italic;
    font-weight: 700; font-size: 17px;
    line-height: 1.4; letter-spacing: -0.01em;
  }
  @media (min-width: 901px) { .error-antidote .v { font-size: 22px; } }

  /* SISTEMA OPERATIVO - mejora la mente */
  .so-body { padding: 32px 0; }
  @media (min-width: 901px) { .so-body { padding: 60px 0 40px; } }

  .so-grid {
    max-width: 1300px; margin: 0 auto;
    display: grid; grid-template-columns: 200px 1fr;
    gap: 40px; align-items: start;
  }
  @media (min-width: 901px) { .so-grid { grid-template-columns: 260px 1fr; gap: 80px; } }
  @media (max-width: 800px) { .so-grid { grid-template-columns: 1fr; gap: 28px; } }

  .so-icon-box {
    aspect-ratio: 1;
    border: 2px solid var(--light);
    background: rgba(232,230,225,0.04);
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden;
    max-width: 260px;
  }
  .so-icon-box .terminal-bar {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 22px;
    background: rgba(232,230,225,0.08);
    border-bottom: 1px solid var(--line-dark);
    display: flex; align-items: center;
    padding: 0 10px; gap: 5px;
  }
  .so-icon-box .terminal-bar span {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--mute-on-dark);
    opacity: 0.6;
  }
  .so-icon-box .label-corner {
    position: absolute;
    bottom: 12px; right: 14px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 14px;
    color: var(--mute-on-dark);
  }
  .so-icon-box svg.brain-icon {
    width: 55%; height: 55%;
    margin-top: 10px;
  }

  .so-content .label {
    font-size: 10px; letter-spacing: 0.26em;
    text-transform: uppercase;
    margin-bottom: 16px; font-weight: 500;
    color: rgba(232,230,225,0.6);
  }
  @media (min-width: 901px) { .so-content .label { font-size: 11px; letter-spacing: 0.3em; margin-bottom: 24px; } }

  .so-mode {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid rgba(232,230,225,0.3);
    font-size: 9px; letter-spacing: 0.26em;
    text-transform: uppercase; font-weight: 600;
    margin-bottom: 24px;
    color: rgba(232,230,225,0.85);
  }
  @media (min-width: 901px) { .so-mode { font-size: 10px; padding: 5px 14px; margin-bottom: 32px; } }

  .so-title {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: clamp(28px, 4.8vw, 64px);
    line-height: 1; letter-spacing: -0.02em;
    margin-bottom: 28px; text-transform: uppercase;
    word-spacing: 0.04em;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  @media (min-width: 901px) { .so-title { margin-bottom: 36px; word-spacing: 0.06em; } }
  .so-title em { font-style: italic; font-weight: 900; }

  .so-text {
    font-family: 'Fraunces', serif; font-weight: 400;
    font-size: 16px; line-height: 1.55;
    color: rgba(232,230,225,0.85);
    max-width: 680px;
    margin-bottom: 28px;
  }
  @media (min-width: 901px) { .so-text { font-size: 20px; line-height: 1.5; margin-bottom: 32px; } }
  .so-text em { font-style: italic; font-weight: 700; color: var(--light); }
  .so-text strong { font-weight: 700; color: var(--light); }

  .so-prompt {
    border-top: 1px dashed var(--line-dark);
    padding-top: 20px;
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(232,230,225,0.7);
    max-width: 680px;
  }
  @media (min-width: 901px) { .so-prompt { font-size: 15px; padding-top: 28px; } }
  .so-prompt::before {
    content: '> ';
    color: rgba(232,230,225,0.5);
    margin-right: 4px;
  }
  .so-prompt em {
    font-style: italic;
    color: var(--light);
  }

  /* TIP DE ESTILO compacto (lunes) */
  .style-tip {
    max-width: 1200px;
    margin: 32px auto 0;
    background: var(--dark);
    color: var(--light);
    padding: 36px 32px;
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 24px;
    align-items: center;
  }
  @media (min-width: 901px) {
    .style-tip { padding: 48px; gap: 40px; grid-template-columns: 100px 1fr; margin-top: 40px; }
  }
  @media (max-width: 600px) {
    .style-tip { grid-template-columns: 1fr; gap: 20px; padding: 28px 24px; text-align: center; }
  }

  .style-tip .tip-icon-wrap {
    width: 80px; height: 80px;
    border: 1.5px solid var(--light);
    display: flex; align-items: center; justify-content: center;
    color: var(--light);
  }
  @media (min-width: 901px) {
    .style-tip .tip-icon-wrap { width: 100px; height: 100px; }
  }
  @media (max-width: 600px) {
    .style-tip .tip-icon-wrap { margin: 0 auto; }
  }
  .style-tip .tip-icon-wrap svg { width: 60%; height: 60%; }

  .style-tip .tip-content .label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
    color: rgba(232, 230, 225, 0.6);
  }
  @media (min-width: 901px) {
    .style-tip .tip-content .label { font-size: 11px; margin-bottom: 14px; }
  }

  .style-tip .tip-content h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(22px, 3vw, 38px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-bottom: 14px;
    color: var(--light);
  }
  .style-tip .tip-content h3 em { font-style: italic; font-weight: 900; }

  .style-tip .tip-content .tip-desc {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(232, 230, 225, 0.85);
  }
  @media (min-width: 901px) {
    .style-tip .tip-content .tip-desc { font-size: 17px; }
  }
  .style-tip .tip-content .tip-desc em { font-style: italic; font-weight: 700; color: var(--light); }

  /* ===== SISTEMA DE COMPARTIR POR BLOQUE ===== */
  .ryc-share-block {
    margin: 24px auto 0;
    max-width: 540px;
    text-align: center;
    padding: 16px 0 0;
    border-top: 1px solid var(--line);
  }
  @media (min-width: 901px) {
    .ryc-share-block { margin-top: 32px; padding-top: 20px; }
  }
  .ryc-share-label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 14px;
  }
  .ryc-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }
  @media (min-width: 601px) {
    .ryc-share-buttons { gap: 10px; }
  }
  .ryc-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    background: transparent;
    color: var(--dark);
    border: 1px solid var(--line);
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  .ryc-share-btn svg { flex-shrink: 0; }
  .ryc-share-btn:hover:not(:disabled) {
    background: var(--dark);
    color: var(--light);
    border-color: var(--dark);
  }
  .ryc-share-btn:disabled { opacity: 0.5; cursor: wait; }
  .ryc-share-btn.ryc-share-success {
    background: var(--dark);
    color: var(--light);
    border-color: var(--dark);
  }

  /* En bloques con tema oscuro, invertimos colores */
  .theme-dark .ryc-share-block { border-top-color: rgba(232,230,225,0.15); }
  .theme-dark .ryc-share-label { color: rgba(232,230,225,0.5); }
  .theme-dark .ryc-share-btn {
    color: rgba(232,230,225,0.85);
    border-color: rgba(232,230,225,0.3);
  }
  .theme-dark .ryc-share-btn:hover:not(:disabled) {
    background: var(--light);
    color: var(--dark);
    border-color: var(--light);
  }
  .theme-dark .ryc-share-btn.ryc-share-success {
    background: var(--light);
    color: var(--dark);
    border-color: var(--light);
  }

  /* CTA */

  /* ===== Formulario de suscripción (Acumbamail) ===== */
  /* Diseño nativo de Rayas y Cuadros: esquinas rectas, borde fino,
     Inter Tight, botón negro. Reemplaza al antiguo embed de MailerLite. */
  .acm-form {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: left;
  }

  /* Fila email + botón: columna en móvil, fila en escritorio */
  .acm-form .acm-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  @media (min-width: 601px) {
    .acm-form .acm-row { flex-direction: row; gap: 0; }
  }

  .acm-form .acm-email {
    flex: 1;
    min-width: 0;
    padding: 18px 20px;
    border: 1px solid var(--dark);
    background: var(--white);
    font-family: 'Inter Tight', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: var(--dark);
    outline: none;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
  }
  .acm-form .acm-email::placeholder { color: var(--mute); }
  .acm-form .acm-email:focus { background: var(--light); }

  .acm-form .acm-submit {
    padding: 18px 28px;
    background: var(--dark);
    color: var(--light);
    border: 1px solid var(--dark);
    font-family: 'Inter Tight', sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  .acm-form .acm-submit:hover { background: transparent; color: var(--dark); }
  @media (min-width: 901px) {
    .acm-form .acm-email,
    .acm-form .acm-submit { padding: 22px 28px; font-size: 13px; }
    .acm-form .acm-submit { font-size: 12px; }
  }

  /* Consentimiento RGPD */
  .acm-form .acm-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 16px;
    font-family: 'Inter Tight', sans-serif;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--mute);
    cursor: pointer;
    text-align: left;
  }
  .acm-form .acm-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: var(--dark);
    cursor: pointer;
  }
  .acm-form .acm-consent a {
    color: var(--dark);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .acm-form .acm-consent a:hover { color: var(--mute); }

  /* Campos trampa anti-spam: fuera de pantalla, nunca visibles */
  .acm-form .acm-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .cta-body { text-align: center; padding: 32px 0; }
  @media (min-width: 901px) { .cta-body { padding: 60px 0; } }
  .cta-body .icon { width: 64px; height: 64px; margin: 0 auto 20px; opacity: 0.9; }
  @media (min-width: 901px) { .cta-body .icon { width: 88px; height: 88px; margin-bottom: 28px; } }
  .cta-body h3 {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: clamp(38px, 8.5vw, 150px);
    line-height: 0.9; letter-spacing: -0.035em;
    margin-bottom: 32px; text-transform: uppercase;
    word-spacing: 0.04em;
  }
  @media (min-width: 901px) { .cta-body h3 { margin-bottom: 44px; word-spacing: 0.06em; } }
  .cta-body h3 em { font-style: italic; font-weight: 900; }
  .cta-body .aspirational {
    font-family: 'Fraunces', serif; font-style: italic;
    font-weight: 400;
    font-size: clamp(16px, 2.2vw, 26px);
    color: var(--ink-soft);
    max-width: 760px; margin: 0 auto 36px;
    line-height: 1.4;
  }
  @media (min-width: 901px) { .cta-body .aspirational { margin-bottom: 48px; } }
  .cta-body .aspirational strong {
    display: block; margin-top: 16px;
    font-weight: 700; font-style: italic;
    color: var(--dark);
  }
  .cta-body .newsletter {
    display: flex;
    border-bottom: 1px solid var(--dark);
    padding-bottom: 12px;
    max-width: 520px; margin: 0 auto;
    gap: 12px;
  }
  .cta-body .newsletter input {
    flex: 1; min-width: 0;
    background: transparent; border: none;
    font-family: inherit; font-size: 15px;
    outline: none; color: var(--dark);
  }
  @media (min-width: 901px) { .cta-body .newsletter input { font-size: 16px; } }
  .cta-body .newsletter input::placeholder { color: var(--mute); }
  .cta-body .newsletter button {
    background: transparent; border: none;
    color: var(--dark); font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    cursor: pointer; font-weight: 600; white-space: nowrap;
  }
  @media (min-width: 901px) { .cta-body .newsletter button { font-size: 11px; letter-spacing: 0.25em; } }

  /* BLOQUE COMPARTIR */
  .share-block {
    margin: 0 auto;
    max-width: 720px;
    padding: 36px 32px;
    background: var(--dark);
    color: var(--light);
    text-align: center;
    position: relative;
  }
  @media (min-width: 901px) {
    .share-block { padding: 56px 48px; }
  }

  .share-block .share-icon {
    width: 44px;
    height: 44px;
    margin: 0 auto 20px;
    border: 1.5px solid var(--light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media (min-width: 901px) {
    .share-block .share-icon { width: 56px; height: 56px; margin-bottom: 24px; }
  }
  .share-block .share-icon svg {
    width: 22px;
    height: 22px;
    color: var(--light);
  }
  @media (min-width: 901px) {
    .share-block .share-icon svg { width: 28px; height: 28px; }
  }

  .share-block .share-title {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(22px, 3.4vw, 38px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    text-transform: uppercase;
    color: var(--light);
  }
  @media (min-width: 901px) { .share-block .share-title { margin-bottom: 20px; } }
  .share-block .share-title em {
    font-style: italic;
    font-weight: 900;
  }

  .share-block .share-text {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(232, 230, 225, 0.78);
    margin-bottom: 28px;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (min-width: 901px) { .share-block .share-text { font-size: 17px; margin-bottom: 32px; } }

  .share-block .share-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
  }

  .share-block .share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    width: 280px;
    background: transparent;
    color: var(--light);
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--light);
    transition: all 0.3s;
  }
  @media (min-width: 901px) {
    .share-block .share-btn { width: 320px; padding: 18px 36px; font-size: 12px; }
  }
  @media (max-width: 480px) {
    .share-block .share-btn { width: 100%; max-width: 320px; }
  }
  .share-block .share-btn:hover {
    background: var(--light);
    color: var(--dark);
  }
  .share-block .share-btn .arrow {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    transition: transform 0.3s;
  }
  .share-block .share-btn:hover .arrow { transform: translateX(4px); }

  /* FUENTE / CITA */
  .source-line {
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px solid;
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
  }
  @media (min-width: 901px) { .source-line { font-size: 11px; gap: 12px; margin-top: 36px; padding-top: 20px; } }
  .theme-light .source-line { border-color: rgba(26,26,26,0.15); color: var(--mute); }
  .theme-dark .source-line { border-color: rgba(232,230,225,0.12); color: var(--mute-on-dark); }
  .theme-white .source-line { border-color: rgba(26,26,26,0.15); color: var(--mute); }

  .source-line .src-label {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.2em;
    opacity: 0.85;
  }
  .source-line a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    transition: opacity 0.2s;
  }
  .source-line a:hover { opacity: 0.6; }
  .source-line .arrow {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    border: none;
    padding: 0;
    margin-left: 4px;
  }

  /* Para fuente centrada (en bloques con cuerpo centrado) */
  .source-line.center {
    justify-content: center;
    text-align: center;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  /* AUTOR */
  .author-body {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    align-items: start;
    padding: 24px 0;
  }
  @media (min-width: 901px) { .author-body { grid-template-columns: 300px 1fr; gap: 64px; padding: 40px 0; } }
  @media (max-width: 800px) { .author-body { grid-template-columns: 1fr; gap: 28px; max-width: 380px; } }

  .author-photo {
    aspect-ratio: 4/5;
    background: linear-gradient(160deg, #2d2923 0%, #0f0c08 100%);
    position: relative;
    overflow: hidden;
  }
  .author-photo svg.portrait-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
  .author-photo .tag {
    position: absolute;
    bottom: 14px; left: 14px;
    font-size: 9px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: rgba(232,230,225,0.6);
    font-weight: 500;
    z-index: 2;
  }

  .author-text h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(32px, 5.2vw, 72px);
    line-height: 0.92;
    letter-spacing: -0.028em;
    margin-bottom: 28px;
    text-transform: uppercase;
    word-spacing: 0.05em;
  }
  @media (min-width: 901px) { .author-text h3 { margin-bottom: 36px; word-spacing: 0.08em; } }
  .author-text h3 em { font-style: italic; font-weight: 900; }

  .author-text .bio {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.55;
    color: rgba(232, 230, 225, 0.85);
    max-width: 680px;
  }
  @media (min-width: 901px) { .author-text .bio { font-size: 19px; line-height: 1.5; } }
  .author-text .bio em { font-style: italic; font-weight: 700; color: var(--light); }
  .author-text .bio p { margin-bottom: 18px; }
  .author-text .bio p:last-child { margin-bottom: 0; }
  .author-text .bio .bio-headline {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 700;
    font-size: clamp(20px, 2.4vw, 28px);
    line-height: 1.3;
    color: var(--light);
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(232, 230, 225, 0.18);
  }
  @media (min-width: 901px) {
    .author-text .bio .bio-headline { margin-bottom: 28px; padding-bottom: 28px; }
  }
  .author-text .bio a {
    color: var(--light);
    text-decoration: none;
    border-bottom: 1px solid rgba(232, 230, 225, 0.5);
    padding-bottom: 1px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: border-color 0.3s;
  }
  .author-text .bio a:hover { border-bottom-color: var(--light); }

  .author-links {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--line-dark);
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    max-width: 680px;
  }
  @media (min-width: 901px) { .author-links { margin-top: 36px; padding-top: 32px; gap: 14px 32px; } }

  .author-links a {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    text-decoration: none;
    color: var(--light);
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid var(--light);
    padding-bottom: 3px;
    transition: opacity 0.3s;
  }
  .author-links a:hover { opacity: 0.6; }
  .author-links a .arrow { font-family: 'Fraunces', serif; font-style: italic; font-weight: 400; }

  /* CONTACT CTA (antes de disclaimer) */
  .contact-cta {
    padding: 48px var(--pad-x) 0;
    background: var(--light);
    color: var(--dark);
    text-align: center;
  }
  @media (min-width: 901px) { .contact-cta { padding: 64px 40px 0; } }
  .contact-cta-inner {
    max-width: 720px; margin: 0 auto;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--line);
  }
  @media (min-width: 901px) { .contact-cta-inner { padding-bottom: 56px; } }
  .contact-cta .label {
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-size: 10px; letter-spacing: 0.3em;
    text-transform: uppercase;
    margin-bottom: 18px;
    color: var(--mute);
    font-weight: 500;
  }
  @media (min-width: 901px) { .contact-cta .label { font-size: 11px; margin-bottom: 22px; } }
  .contact-cta h3 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(22px, 2.8vw, 34px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-bottom: 16px;
    color: var(--dark);
  }
  .contact-cta h3 em { font-style: italic; font-weight: 900; }
  .contact-cta p {
    font-family: 'Fraunces', serif;
    font-weight: 400; font-size: 16px;
    line-height: 1.55; color: var(--ink-soft);
    max-width: 540px; margin: 0 auto 22px;
  }
  @media (min-width: 901px) { .contact-cta p { font-size: 18px; margin-bottom: 28px; } }
  .contact-cta .email-link {
    display: inline-block;
    font-family: 'Inter Tight', sans-serif;
    font-size: 14px; letter-spacing: 0.06em;
    font-weight: 600;
    color: var(--dark);
    text-decoration: none;
    border-bottom: 1.5px solid var(--dark);
    padding-bottom: 3px;
    transition: opacity 0.3s;
  }
  @media (min-width: 901px) { .contact-cta .email-link { font-size: 16px; } }
  .contact-cta .email-link:hover { opacity: 0.6; }

  /* DISCLAIMER */
  .disclaimer {
    padding: 0 var(--pad-x) 40px;
    background: var(--light);
    color: var(--mute);
  }
  @media (min-width: 901px) { .disclaimer { padding: 0 40px 60px; } }
  .disclaimer-inner {
    max-width: 920px; margin: 0 auto;
    padding-top: 32px;
    border-top: 1px solid var(--line);
    font-family: 'Fraunces', serif; font-style: italic;
    font-weight: 400; font-size: 13px;
    line-height: 1.55; text-align: center;
  }
  @media (min-width: 901px) { .disclaimer-inner { font-size: 14px; padding-top: 40px; } }
  .disclaimer-inner .label {
    display: block;
    font-family: 'Inter Tight', sans-serif;
    font-style: normal;
    font-size: 9px; letter-spacing: 0.3em;
    text-transform: uppercase;
    margin-bottom: 14px;
    color: var(--mute);
    font-weight: 500;
  }

  .bottom-bar {
    padding: 36px var(--pad-x);
    background: var(--dark);
    color: var(--mute-on-dark);
    text-align: center;
  }
  @media (min-width: 901px) { .bottom-bar { padding: 44px 40px; } }

  .bottom-bar .author-name {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(40px, 11vw, 160px);
    line-height: 0.85;
    letter-spacing: -0.04em;
    color: var(--light);
    text-transform: uppercase;
    margin-bottom: 28px;
    word-spacing: 0.04em;
  }
  @media (min-width: 901px) {
    .bottom-bar .author-name { margin-bottom: 36px; word-spacing: 0.06em; }
  }

  .bottom-bar .meta-row {
    padding-top: 0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 9px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 500;
  }
  @media (min-width: 901px) {
    .bottom-bar .meta-row { font-size: 10px; letter-spacing: 0.28em; }
  }

  .bottom-bar .meta-row .copyright,
  .bottom-bar .meta-row .edition-num {
    flex: 1;
  }
  .bottom-bar .meta-row .copyright { text-align: left; }
  .bottom-bar .meta-row .copyright em {
    font-family: 'Fraunces', serif;
    font-style: italic;
    text-transform: lowercase;
    letter-spacing: 0;
    font-size: 1.1em;
    font-weight: 400;
    margin: 0 4px;
  }
  .bottom-bar .meta-row .edition-num { text-align: right; }
  @media (max-width: 600px) {
    .bottom-bar .meta-row .copyright,
    .bottom-bar .meta-row .edition-num { text-align: center; flex: none; width: 100%; }
  }

  .fade-up {
    opacity: 0; transform: translateY(30px);
    animation: fadeUp 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  }
  @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
  .d1 { animation-delay: 0.1s; } .d2 { animation-delay: 0.25s; } .d3 { animation-delay: 0.4s; }

  /* ===== INDICADOR DE PROGRESO ===== */
  .progress-track {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(26,26,26,0.06);
    z-index: 200;
    pointer-events: none;
  }
  .progress-fill {
    height: 100%;
    width: 0%;
    background: var(--dark);
    transition: width 0.15s linear, background 0.3s ease;
  }
  .progress-track.on-dark { background: rgba(232,230,225,0.1); }
  .progress-track.on-dark .progress-fill { background: var(--light); }

/* ═══════════════════════════════════════════════════════════
   MASTHEAD HOME LINK  (v1.16.0)
   ═══════════════════════════════════════════════════════════ */

.masthead-home-link {
    color: inherit;
    text-decoration: none;
    display: inline-block;
}

.masthead-home-link:hover {
    opacity: 0.75;
    text-decoration: none;
}

/* Páginas legales (v1.16.0) */
.legal-page {
    max-width: 760px;
    margin: 0 auto;
    padding: 3rem 1.5rem 5rem;
    font-family: var(--font-body, 'Inter Tight', sans-serif);
    color: #1a1a1a;
    line-height: 1.7;
}

.legal-page h1 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-bottom: 0.4rem;
}

.legal-page .legal-meta {
    font-size: 0.82rem;
    color: #888;
    margin-bottom: 2.5rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.legal-page h2 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 2.2rem 0 0.6rem;
    border-left: 3px solid #1a1a1a;
    padding-left: 0.75rem;
}

.legal-page p, .legal-page li {
    font-size: 0.95rem;
    margin-bottom: 0.9rem;
}

.legal-page ul, .legal-page ol {
    padding-left: 1.4rem;
}

.legal-page a {
    color: #1a1a1a;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-page .legal-back {
    display: inline-block;
    margin-top: 2.5rem;
    font-size: 0.85rem;
    color: #888;
    text-decoration: none;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.legal-page .legal-back:hover { color: #1a1a1a; }

.legal-notice-box {
    background: #f5f5f0;
    border-left: 4px solid #1a1a1a;
    padding: 1.1rem 1.3rem;
    margin: 1.8rem 0;
    font-size: 0.92rem;
}

/* Objeto del Día — título del producto (v1.16.1) */
.objeto-titulo {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.6rem;
    letter-spacing: -0.01em;
}

/* Objeto del Día — imagen 4:5 y título más grande (v1.16.2) */
.objeto-feature .martison-img-wrap {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 4px;
}

.objeto-feature .martison-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.objeto-feature .martison-img-wrap a {
    display: block;
    width: 100%;
    height: 100%;
}

.objeto-feature .martison-img-wrap svg {
    width: 100%;
    height: 100%;
}

.objeto-titulo {
    font-size: 1.35rem;
}

/* Links legales en bottom-bar (v1.16.2) */
.bottom-bar-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.3rem 0.6rem;
    align-items: center;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.bottom-bar-legal a {
    font-family: var(--font-body, 'Inter Tight', sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #666;
    text-decoration: none;
    transition: color 0.2s;
}

.bottom-bar-legal a:hover { color: #e8d4a8; }

.bottom-bar-legal span {
    color: #444;
    font-size: 0.65rem;
}
