/* =============================================================
   FÁTIMA KELLER · COMUNICADORA DEL ALMA
   styles.css — hoja única, sin build, sin dependencias.
   Índice:
     01 Tokens          06 Formularios
     02 Reset y base    07 Secciones
     03 Tipografía      08 Header y footer
     04 Utilidades      09 Animación
     05 Componentes     10 Breakpoints
   ============================================================= */

/* ================= 01 · TOKENS ================= */
@font-face{font-family:"Le Jour Serif";src:url("assets/fonts/LeJourSerif.woff2") format("woff2"),url("assets/fonts/LeJourSerif.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  /* Paleta de marca */
  --fk-rose:#f5b8bf; --fk-blush:#f9dad9; --fk-aqua:#9acbd4; --fk-mint:#9adfd1; --fk-lavender:#bdb7d3;
  --fk-gold-deep:#ab6a1c; --fk-gold:#fde67e; --fk-gold-light:#fff8a5;
  /* Neutros cálidos */
  --fk-ivory-0:#fffdfb; --fk-ivory-1:#fbf7f3; --fk-ivory-2:#f5efe9; --fk-ivory-3:#ece3db; --fk-sand:#ddd0c6;
  /* Tinta cálida */
  --fk-ink-1:#3b2f2c; --fk-ink-2:#5c4b47; --fk-ink-3:#8a7873; --fk-ink-4:#b3a49f;
  /* Tintes seguros para texto */
  --fk-rose-deep:#c9808b; --fk-rose-ink:#8e5a63; --fk-aqua-deep:#6aa4b0; --fk-aqua-ink:#3f6e79;

  /* Superficies */
  --surface-page:var(--fk-ivory-1); --surface-card:var(--fk-ivory-0); --surface-raised:#fff;
  --surface-blush:var(--fk-blush); --surface-aqua:#e7f2f4; --surface-veil:rgba(255,253,251,.72);
  /* Texto */
  --text-strong:var(--fk-ink-1); --text-body:var(--fk-ink-2); --text-muted:var(--fk-ink-3); --text-faint:var(--fk-ink-4);
  --text-accent:var(--fk-rose-ink); --text-link:var(--fk-aqua-ink); --text-link-hover:var(--fk-rose-ink);
  /* Líneas */
  --line-hairline:rgba(59,47,44,.10); --line-soft:rgba(59,47,44,.16); --line-gold:rgba(171,106,28,.38);
  /* Oro */
  --gold-gradient:linear-gradient(102deg,var(--fk-gold-deep) 0%,var(--fk-gold) 42%,var(--fk-gold-light) 62%,var(--fk-gold-deep) 100%);
  --gold-hairline:linear-gradient(90deg,transparent,var(--fk-gold-deep),var(--fk-gold-light),var(--fk-gold-deep),transparent);
  /* Estado */
  --status-critical:#c2717a; --focus-ring:rgba(106,164,176,.55);
  /* Atmósferas */
  --wash-dawn:radial-gradient(120% 90% at 50% 0%,#fdeeee 0%,rgba(251,247,243,0) 62%);
  --wash-water:radial-gradient(100% 80% at 80% 100%,#e7f2f4 0%,rgba(251,247,243,0) 60%);

  /* Tipografía */
  --font-display:"Le Jour Serif","Cormorant Garamond",Georgia,serif;
  --font-editorial:"Cormorant Garamond",Georgia,serif;
  --font-body:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --type-hero:clamp(38px,5.6vw,72px); --type-display-1:clamp(32px,4.2vw,58px);
  --type-display-2:clamp(27px,3vw,42px); --type-display-3:clamp(21px,2vw,26px);
  --type-quote-lg:clamp(24px,2.8vw,38px); --type-quote:clamp(19px,1.6vw,22px);
  --type-lead:clamp(17px,1.3vw,20px); --type-body:17px; --type-body-sm:15px; --type-caption:13px; --type-eyebrow:12px;
  --tracking-display:.10em; --tracking-display-tight:.04em; --tracking-eyebrow:.22em; --tracking-ui:.06em;
  --leading-display:1.08; --leading-quote:1.42; --leading-body:1.72;
  --weight-light:300; --weight-regular:400; --weight-medium:500;

  /* Espacio */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px;
  --space-7:48px; --space-8:64px; --space-9:96px; --space-10:144px;
  --section-y:var(--space-10); --section-y-tight:var(--space-9); --gutter:var(--space-6);
  --container:1240px; --container-narrow:820px; --measure-prose:62ch;
  --header-h:76px;

  /* Radios */
  --radius-xs:4px; --radius-sm:8px; --radius-md:14px; --radius-lg:24px; --radius-xl:36px; --radius-pill:999px;
  --radius-arch:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-sm);

  /* Sombras */
  --shadow-xs:0 1px 2px rgba(92,75,71,.06); --shadow-sm:0 2px 10px rgba(92,75,71,.06);
  --shadow-md:0 10px 30px rgba(92,75,71,.09); --shadow-lg:0 24px 60px rgba(92,75,71,.12);
  --shadow-glow-rose:0 12px 44px rgba(245,184,191,.45);

  /* Movimiento */
  --ease-calm:cubic-bezier(.22,.61,.36,1);
  --dur-fast:180ms; --dur-base:320ms; --dur-slow:640ms; --dur-reveal:900ms;
}

/* ================= 02 · RESET Y BASE ================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-light);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
img{max-width:100%;height:auto;display:block;color:transparent;font-size:var(--type-caption)}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0}
button{font:inherit;color:inherit}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--line-soft);transition:color var(--dur-fast) var(--ease-calm),border-color var(--dur-fast) var(--ease-calm)}
a:hover{color:var(--text-link-hover);border-bottom-color:currentColor}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}
::selection{background:var(--fk-blush);color:var(--fk-ink-1)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--surface-raised);color:var(--text-strong);padding:var(--space-3) var(--space-5);border-radius:0 0 var(--radius-md) 0;border:0}
.skip-link:focus{left:0}

/* ================= 03 · TIPOGRAFÍA ================= */
/* Le Jour Serif no incluye coma, punto, cifras ni &. Envuelve esos caracteres
   en .punct dentro de cualquier título en tipografía display. */
.punct{font-family:var(--font-editorial);font-style:normal}
.display{font-family:var(--font-display);font-weight:var(--weight-regular);color:var(--text-strong);text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:var(--leading-display);margin:0}
.display--1{font-size:var(--type-display-1)}
.display--2{font-size:var(--type-display-2);line-height:1.14}
.display--3{font-size:var(--type-display-3);letter-spacing:var(--tracking-display-tight);line-height:1.22}
.prose{font-size:var(--type-body);line-height:var(--leading-body);color:var(--text-body);max-width:var(--measure-prose)}
.prose--sm{font-size:var(--type-body-sm)}
.quote-line{font-family:var(--font-editorial);font-style:italic;font-weight:var(--weight-light);font-size:var(--type-quote);line-height:var(--leading-quote);color:var(--text-accent);margin:0;max-width:44ch}
.quote-line--lg{font-size:var(--type-quote-lg);max-width:22ch}
.eyebrow{display:flex;align-items:center;gap:var(--space-3);font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0}
.eyebrow--rose{color:var(--fk-rose-ink)}
.eyebrow--gold{color:var(--fk-gold-deep)}
.eyebrow__rule{width:28px;height:1px;background:currentColor;opacity:.5;flex:0 0 auto}
.micro-label{font-family:var(--font-body);font-size:var(--type-eyebrow);font-weight:var(--weight-regular);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-3)}

/* ================= 04 · UTILIDADES ================= */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:var(--container-narrow)}
.stack{display:grid;gap:var(--space-5);justify-items:start;align-content:start}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center}
.split--portrait{grid-template-columns:.85fr 1.15fr}
.gold-rule{display:block;width:140px;height:1px;background:var(--gold-hairline)}
.gold-rule--full{width:100%}
.gold-rule--center{margin-inline:auto}
.gold-rule--ornament{width:110px;position:relative}
.gold-rule--ornament::after{content:"";position:absolute;right:-11px;top:-2px;width:5px;height:5px;background:var(--fk-gold-deep);transform:rotate(45deg);opacity:.75}

/* ================= 05 · COMPONENTES ================= */
/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:14px 30px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--type-body-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--dur-base) var(--ease-calm),color var(--dur-base) var(--ease-calm),border-color var(--dur-base) var(--ease-calm),box-shadow var(--dur-base) var(--ease-calm),transform var(--dur-fast) var(--ease-calm)}
.btn--sm{padding:9px 20px;font-size:var(--type-caption)}
.btn--lg{padding:18px 42px}
.btn--block{width:100%}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--fk-rose);color:var(--fk-ink-1);box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--fk-rose-deep);color:#fff;box-shadow:var(--shadow-glow-rose)}
.btn--secondary{background:transparent;color:var(--text-strong);border-color:var(--line-soft)}
.btn--secondary:hover{background:var(--fk-ivory-2);border-color:var(--fk-rose-deep);color:var(--fk-rose-ink)}
.btn--gold{background:var(--gold-gradient);color:var(--fk-ink-1);box-shadow:var(--shadow-sm)}
.btn--gold:hover{box-shadow:0 12px 34px rgba(171,106,28,.28)}
.btn--ghost{padding:0 0 3px;border-radius:0;background:transparent;color:var(--text-body);border-bottom:1px solid var(--line-gold)}
.btn--ghost:hover{color:var(--fk-rose-ink);border-bottom-color:var(--fk-rose-deep)}

.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);border:0;font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-strong);padding-bottom:3px;border-bottom:1px solid var(--line-gold)}
.link-arrow::after{content:"→";transition:transform var(--dur-base) var(--ease-calm)}
.link-arrow:hover{color:var(--fk-rose-ink);border-bottom-color:var(--fk-rose-deep)}
.link-arrow:hover::after{transform:translateX(4px)}
.link-plain{border:0;font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}

/* Insignias */
.badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius-pill);background:var(--fk-ivory-3);color:var(--text-body);font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;line-height:1.4}
.badge--gold{background:rgba(253,230,126,.34);color:var(--fk-gold-deep)}
.badge--rose{background:var(--fk-blush);color:var(--fk-rose-ink)}

/* Marcos de imagen. El fondo ivory sostiene la composición si falta la foto. */
.media{width:100%;background:linear-gradient(180deg,var(--fk-ivory-2),var(--fk-ivory-3));object-fit:cover;box-shadow:var(--shadow-sm)}
.media--rounded{border-radius:var(--radius-lg);aspect-ratio:4/5}
.portrait-frame{
  margin:0;
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--fk-blush);
  aspect-ratio:4/5;
  width:100%;
  box-shadow:var(--shadow-sm);
}
.portrait-frame .media--portrait{
  position:absolute;
  inset:14px;
  width:auto;
  height:auto;
  max-width:none;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 22%;
  border-radius:calc(var(--radius-lg) - 8px);
  box-shadow:none;
  background:transparent;
}
/* Sobre mí · foto sin marco, proporción natural */
.about-photo{
  margin:0;
  width:100%;
  max-width:440px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  background:var(--fk-ivory-3);
}
.about-photo img{
  display:block;
  width:100%;
  height:auto;
}
.media--arch{border-radius:var(--radius-arch);aspect-ratio:4/5}
.media--circle{border-radius:var(--radius-pill);aspect-ratio:1/1}
.media--halo{box-shadow:var(--shadow-glow-rose)}
.frame-gold{position:absolute;inset:-26px;border:1px solid var(--line-gold);border-radius:var(--radius-arch);pointer-events:none}

/* Listas con rombo dorado */
.ticklist{display:grid;gap:var(--space-3)}
.ticklist li{position:relative;padding-left:var(--space-5);font-size:var(--type-body-sm);line-height:1.6;color:var(--text-body)}
.ticklist li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:var(--fk-gold-deep);transform:rotate(45deg)}

/* Ofertas */
.offer{background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-calm),transform var(--dur-base) var(--ease-calm)}
.offer:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.offer__body{padding:var(--space-6);display:grid;gap:var(--space-4);justify-items:start;align-content:start}
.offer__title{font-family:var(--font-display);font-size:21px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);line-height:1.2;color:var(--text-strong);margin:0}
.offer__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.offer__format{font-size:var(--type-caption);letter-spacing:var(--tracking-ui);color:var(--text-muted)}
.offer--primary{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:stretch;background:var(--surface-blush);border-color:rgba(201,128,139,.22);box-shadow:none;margin-top:var(--space-8);margin-bottom:var(--space-8)}
.offer--primary .offer__media-wrap{position:relative;min-height:100%;overflow:hidden;background:var(--fk-ivory-3)}
.offer--primary .offer__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;min-height:0}
.offer--primary .offer__body{padding:var(--space-7);gap:var(--space-4);align-content:center}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}

/* Pilares */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-9)}
.pillar{display:grid;gap:var(--space-4);align-content:start;padding-top:var(--space-5);border-top:1px solid var(--line-gold)}
.pillar__num{font-family:var(--font-editorial);font-style:italic;font-size:34px;line-height:1;color:var(--fk-gold-deep)}
.pillar__title{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);line-height:1.28;color:var(--text-strong);margin:0}
.pillar__text{font-size:var(--type-body-sm);line-height:var(--leading-body);margin:0}

/* Antes / después */
.shift{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-7)}
.shift__col{padding:var(--space-7);border-radius:var(--radius-lg)}
.shift__col--before{background:var(--surface-card);border:1px solid var(--line-hairline)}
.shift__col--after{background:var(--surface-aqua);border:1px solid rgba(106,164,176,.2)}
.shift__label{font-family:var(--font-body);font-size:var(--type-eyebrow);font-weight:var(--weight-regular);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-5)}
.shift__list{display:grid;gap:var(--space-4)}
.shift__list li{position:relative;padding-left:var(--space-5);font-size:var(--type-body-sm);line-height:1.6;color:var(--text-muted)}
.shift__list li::before{content:"";position:absolute;left:0;top:10px;width:14px;height:1px;background:var(--fk-ink-4)}
.shift__list--after li{color:var(--text-strong)}
.shift__list--after li::before{background:var(--fk-gold-deep);width:5px;height:5px;top:8px;transform:rotate(45deg)}

/* Testimonios */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-9)}
.testimonial{margin:0;display:grid;gap:var(--space-5);justify-items:start;padding-top:var(--space-6);border-top:1px solid var(--line-gold)}
.testimonial__photo{width:56px;height:56px;border-radius:var(--radius-pill);object-fit:cover;background:var(--fk-ivory-3)}
.testimonial__quote{margin:0;font-family:var(--font-editorial);font-style:italic;font-weight:var(--weight-light);font-size:var(--type-quote);line-height:var(--leading-quote);color:var(--text-strong)}
.testimonial__who{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}

/* Artículos */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-8)}
.post__link{display:grid;gap:var(--space-3);border:0;color:inherit}
.post__media{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);background:var(--fk-ivory-3);transition:transform var(--dur-slow) var(--ease-calm)}
.post{overflow:hidden}
.post__link:hover .post__media{transform:scale(1.03)}
.post__cat{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:var(--space-2) 0 0}
.post__title{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);line-height:1.22;color:var(--text-strong);margin:0;transition:color var(--dur-base) var(--ease-calm)}
.post__link:hover .post__title{color:var(--fk-rose-ink)}
.post__meta{font-size:var(--type-caption);color:var(--text-muted);margin:0}

/* Instagram · posts 4:5 */
.ig-grid{
  list-style:none;margin:var(--space-7) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);
}
.ig-grid li{margin:0}
.ig-grid a{
  display:block;border:0;border-radius:var(--radius-md);overflow:hidden;
  aspect-ratio:4/5;background:var(--fk-ivory-3);
}
.ig-grid img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform var(--dur-slow) var(--ease-calm),opacity var(--dur-base) var(--ease-calm);
}
.ig-grid a:hover img{transform:scale(1.03);opacity:.94}
.ig-cta{
  display:flex;justify-content:center;
  margin-top:var(--space-7);
}

/* Momentos del auto-retiro */
.moments{display:grid;gap:var(--space-1)}
.moments__item{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line-hairline)}
.moments__num{font-family:var(--font-editorial);font-style:italic;font-size:17px;color:var(--fk-gold-deep)}
.moments__name{font-size:var(--type-body-sm);color:var(--text-strong)}
.moments__dur{font-size:var(--type-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}

/* Página del auto-retiro */
/* ================= AUTO-RETIRO EMBEBIDO EN LANDING ================= */
.landing-retreat{position:relative;overflow:hidden;background:linear-gradient(200deg,var(--surface-aqua) 0%,var(--fk-ivory-1) 48%,var(--fk-blush) 100%);padding-block:var(--section-y)}
.landing-retreat__intro{display:grid;gap:var(--space-5);justify-items:center;text-align:center;margin-bottom:var(--space-8);max-width:820px}
.landing-retreat__intro .prose{max-width:54ch}
.landing-retreat__tag{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fk-aqua-ink);margin:0}
.landing-retreat__shell{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:var(--space-8);align-items:stretch}
.landing-retreat__side{display:flex;flex-direction:column;gap:var(--space-7);min-width:0;align-self:stretch}
.landing-retreat__nav{position:sticky;top:calc(var(--header-h) + var(--space-4));border-radius:var(--radius-lg);border:1px solid var(--line-hairline);max-height:calc(100vh - var(--header-h) - var(--space-6));flex-shrink:0;z-index:2}
.landing-retreat__petals{
  flex:1 1 auto;
  position:relative;
  align-self:stretch;
  min-height:640px;
  overflow:hidden;
  pointer-events:none;
  margin-top:var(--space-2);
}
.retreat-petal{
  position:absolute;
  top:-6%;
  left:var(--x);
  width:var(--size);
  height:calc(var(--size) * 1.35);
  border-radius:80% 0 65% 40% / 70% 10% 80% 35%;
  background:
    radial-gradient(120% 90% at 30% 25%,rgba(255,253,251,.95) 0%,rgba(245,184,191,.78) 42%,rgba(201,128,139,.55) 100%);
  box-shadow:inset -2px -3px 6px rgba(142,90,99,.12);
  opacity:.38;
  transform:translateX(0) rotate(var(--rot));
  animation:retreat-petal-fall var(--dur) var(--delay) linear infinite;
  will-change:top,transform,opacity;
}
.retreat-petal--soft{
  opacity:.26;
  filter:blur(.2px);
  background:
    radial-gradient(120% 90% at 35% 28%,rgba(255,253,251,.9) 0%,rgba(249,218,217,.7) 50%,rgba(245,184,191,.4) 100%);
}
@keyframes retreat-petal-fall{
  0%{
    top:-8%;
    transform:translateX(0) rotate(var(--rot));
    opacity:0;
  }
  10%{opacity:.42}
  55%{
    transform:translateX(var(--drift)) rotate(calc(var(--rot) + 140deg));
    opacity:.32;
  }
  100%{
    top:102%;
    transform:translateX(calc(var(--drift) * -0.35)) rotate(calc(var(--rot) + 280deg));
    opacity:0;
  }
}
@media (prefers-reduced-motion:reduce){
  .retreat-petal{
    animation:none;
    top:auto;
    opacity:.28;
  }
  .retreat-petal:nth-child(1){top:8%}
  .retreat-petal:nth-child(2){top:18%}
  .retreat-petal:nth-child(3){top:28%}
  .retreat-petal:nth-child(4){top:38%}
  .retreat-petal:nth-child(5){top:48%}
  .retreat-petal:nth-child(6){top:58%}
  .retreat-petal:nth-child(7){top:68%}
  .retreat-petal:nth-child(8){top:78%}
  .retreat-petal:nth-child(9){top:14%}
  .retreat-petal:nth-child(10){top:34%}
  .retreat-petal:nth-child(11){top:54%}
  .retreat-petal:nth-child(12){top:74%}
  .retreat-petal:nth-child(13){top:88%}
  .retreat-petal:nth-child(14){top:44%}
  .retreat-petal:nth-child(15){top:64%}
  .retreat-petal:nth-child(16){top:92%}
}
.landing-retreat__main{display:grid;gap:var(--space-8);min-width:0}
.landing-retreat .audio-block__title{font-size:clamp(22px,2.4vw,30px)}
.landing-retreat .resource-grid{margin-top:var(--space-4)}
.landing-retreat .resource-card .form{width:100%}

/* ================= PÁGINA AUTO-RETIRO ================= */
.retreat-page{background:var(--surface-page)}
.retreat-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:70vh;align-items:start}
.retreat-nav{position:sticky;top:var(--header-h);align-self:start;max-height:calc(100vh - var(--header-h));overflow-y:auto;padding:var(--space-7) var(--space-6);background:linear-gradient(180deg,var(--fk-ivory-2) 0%,var(--fk-ivory-1) 100%);border-right:1px solid var(--line-hairline)}
.retreat-nav__brand{font-family:var(--font-display);font-size:13px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fk-rose-ink);margin:0 0 var(--space-6)}
.retreat-nav__label{font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:var(--space-6) 0 var(--space-3)}
.retreat-nav__list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}
.retreat-nav__list a{border:0;font-size:var(--type-caption);line-height:1.4;color:var(--text-body);padding-bottom:2px;border-bottom:1px solid transparent}
.retreat-nav__list a:hover{color:var(--fk-rose-ink);border-bottom-color:var(--fk-rose-deep)}
.retreat-nav__note{margin-top:var(--space-7);font-size:12px;line-height:1.55;color:var(--text-muted)}
.retreat-main{padding:var(--space-8) var(--space-8) var(--space-10);max-width:820px}
.retreat-welcome{display:grid;gap:var(--space-5);padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--line-hairline);background:linear-gradient(165deg,rgba(249,218,217,.55) 0%,rgba(255,253,251,0) 70%);padding:var(--space-7);border-radius:var(--radius-lg)}
.retreat-welcome__tag{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fk-aqua-ink);margin:0}
.retreat-block{display:grid;gap:var(--space-5);margin-bottom:var(--space-9)}
.retreat-audios{display:grid;gap:var(--space-8)}
.audio-block{display:grid;gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid var(--line-hairline);scroll-margin-top:calc(var(--header-h) + var(--space-5))}
.audio-block__label{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fk-rose-ink);margin:0}
.audio-block__title{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--text-strong);margin:0}
.audio-block__player{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.audio-block__player audio{width:100%;height:44px}
.audio-block__file{margin:0;font-size:11px;color:var(--text-faint);word-break:break-all}
.audio-block__file code{font-family:ui-monospace,Consolas,monospace;font-size:11px}
.retreat-resources{margin-top:var(--space-9);display:grid;gap:var(--space-6)}
.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.resource-card{display:grid;gap:var(--space-4);justify-items:start;padding:var(--space-6);background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.resource-card__title{font-family:var(--font-display);font-size:22px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);line-height:1.2;color:var(--text-strong);margin:0}
.retreat-next{margin-top:var(--space-9);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--surface-blush);display:grid;gap:var(--space-5);justify-items:start}

/* Legacy retreat helpers (si quedan referencias) */
.retreat-hero{position:relative;overflow:hidden;background:linear-gradient(178deg,var(--fk-ivory-0) 0%,var(--fk-blush) 55%,var(--surface-aqua) 100%);padding-block:var(--space-9) var(--space-10)}
.retreat-hero .hero__mark{top:auto;bottom:-32%;left:auto;right:-8%;width:360px;max-width:42vw;opacity:.18}
.retreat-hero .quote-line--lg{max-width:none}
.retreat-hero__inner{position:relative;display:grid;gap:var(--space-5);justify-items:center;text-align:center}
.retreat-hero .prose{max-width:54ch}
.prep{max-width:56ch;margin-top:var(--space-2)}
.tracks{display:grid;gap:var(--space-5);margin-top:var(--space-8)}
.track{background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);display:grid;gap:var(--space-5)}
.track__head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-5);align-items:start}
.track__num{font-family:var(--font-editorial);font-style:italic;font-size:30px;line-height:1;color:var(--fk-gold-deep)}
.track__title{font-family:var(--font-display);font-size:19px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);line-height:1.24;color:var(--text-strong);margin:0 0 var(--space-2)}
.track__desc{font-size:var(--type-body-sm);line-height:1.6;color:var(--text-body);margin:0;max-width:52ch}
.track__dur{font-size:var(--type-caption);letter-spacing:var(--tracking-ui);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.track__player{width:100%;height:40px}
.download-card{margin-top:var(--space-7);background:var(--surface-card);border:1px solid var(--line-gold);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-7);display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;justify-content:space-between}

/* ================= 06 · FORMULARIOS ================= */
.form{display:grid;gap:var(--space-5)}
.field{display:grid;gap:var(--space-2)}
.field__label{font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.field__input{width:100%;padding:14px 2px;background:transparent;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-light);color:var(--text-strong);transition:border-color var(--dur-base) var(--ease-calm)}
.field__input::placeholder{color:var(--text-faint)}
.field__input:focus{outline:0;border-bottom-color:var(--fk-rose-deep)}
.field__input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
.field__input[aria-invalid="true"]{border-bottom-color:var(--status-critical)}
.field__error{font-size:var(--type-caption);color:var(--status-critical);margin:0}
.form__note{font-size:var(--type-caption);color:var(--text-muted);margin:0}
.checkbox{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--type-body-sm);line-height:1.5;color:var(--text-body);cursor:pointer}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.checkbox input{position:absolute;opacity:0;width:0;height:0}
.checkbox__box{flex:0 0 auto;width:18px;height:18px;margin-top:3px;border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:transparent;position:relative;transition:all var(--dur-fast) var(--ease-calm)}
.checkbox input:checked+.checkbox__box{background:var(--fk-rose-deep);border-color:var(--fk-rose-deep)}
.checkbox input:checked+.checkbox__box::after{content:"";position:absolute;left:4px;top:1px;width:8px;height:12px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(40deg)}
.checkbox input:focus-visible+.checkbox__box{outline:2px solid var(--focus-ring);outline-offset:2px}
.form-panel{display:grid;gap:var(--space-4)}
.form-panel--raised{background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-7)}
.form-success{display:grid;gap:var(--space-3);justify-items:start}
.form-success__title{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:var(--tracking-display-tight);color:var(--text-strong);margin:0}

/* ================= 07 · SECCIONES ================= */
.section{padding-block:var(--section-y);padding-inline:0}
.section--tight{padding-block:var(--section-y-tight)}
.section--card{background:var(--surface-card)}
.section--ivory{background:var(--fk-ivory-2)}
.section--rose-wash{background:linear-gradient(165deg,var(--fk-blush) 0%,#fdeeee 42%,var(--fk-ivory-0) 100%)}
.section--blush{background:var(--surface-blush)}
.section--water{background:var(--surface-page);background-image:var(--wash-water)}
.section--dawn{background:var(--surface-page);background-image:var(--wash-dawn)}
.section--filosofia{padding-block:0 var(--section-y);background:var(--surface-page)}
.filosofia-banner{position:relative;overflow:hidden;display:grid;align-items:center;min-height:clamp(320px,48vw,520px);padding-block:var(--space-9);margin-bottom:var(--space-8)}
.filosofia-banner__media{position:absolute;inset:0;z-index:0}
.filosofia-banner__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.filosofia-banner__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,253,251,.42) 0%,rgba(255,253,251,.55) 50%,rgba(251,247,243,.72) 100%)}
.filosofia-banner .container{position:relative;z-index:1}
.filosofia-banner__copy{max-width:36ch}
.filosofia-banner__copy .display{color:var(--text-strong);text-shadow:0 1px 0 rgba(255,253,251,.35)}
.filosofia-banner__copy .quote-line{color:var(--fk-rose-ink)}
.filosofia-banner__copy .eyebrow--on-media{color:var(--fk-rose-ink)}
.section--filosofia .pillars{margin-top:0}
.section-intro{display:grid;gap:var(--space-4);justify-items:start;max-width:var(--measure-prose)}
.section-intro--center{justify-items:center;text-align:center;margin-inline:auto;max-width:30ch}
.section-head{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-end;justify-content:space-between}
.section-head--baseline{align-items:baseline}
.section-head__cta-mobile{display:none;margin-top:var(--space-6)}

/* Hero · full-bleed video */
.hero{position:relative;overflow:hidden;background:var(--fk-ink-1);min-height:100svh;margin-top:calc(var(--header-h) * -1);padding-top:var(--header-h);display:grid;align-items:center}
.hero__media{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(59,47,44,.42) 0%,rgba(59,47,44,.48) 42%,rgba(59,47,44,.62) 100%),
  radial-gradient(90% 70% at 50% 45%,rgba(59,47,44,.18) 0%,rgba(59,47,44,.55) 100%)}
.hero__inner{position:relative;z-index:1;display:grid;justify-items:center;width:100%;padding-block:var(--space-9) var(--space-10)}
.hero__copy{display:grid;gap:var(--space-6);justify-items:center;text-align:center;width:min(100%,52rem)}
.hero__title{font-family:var(--font-display);font-size:var(--type-hero);text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--fk-ivory-0);margin:0;max-width:22ch}
.hero__lead{font-size:var(--type-lead);line-height:var(--leading-body);color:rgba(255,253,251,.88);max-width:48ch;margin:0}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-5)}
.eyebrow--on-media{display:block;text-align:center;color:var(--fk-gold-light);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-size:var(--type-eyebrow);font-weight:var(--weight-regular);margin:0}
.hero .gold-rule{opacity:.9}

/* Santuario · auto-retiro */
.sanctuary{position:relative;overflow:hidden;background:linear-gradient(200deg,var(--surface-aqua) 0%,var(--fk-ivory-1) 52%,var(--fk-blush) 100%);padding-block:var(--section-y)}
.sanctuary__mark{position:absolute;bottom:-18%;left:-10%;width:380px;max-width:48vw;opacity:.3;pointer-events:none}
.sanctuary__card{position:relative;background:var(--surface-card);border:1px solid var(--line-gold);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-9);display:grid;gap:var(--space-7)}
.sanctuary__head{display:grid;gap:var(--space-5);justify-items:center;text-align:center}
.sanctuary__head .prose{max-width:56ch}
.sanctuary__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}

/* ================= 08 · HEADER Y FOOTER ================= */
.site-header{position:sticky;top:0;z-index:30;background:rgba(251,247,243,.96);border-bottom:1px solid var(--line-hairline)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header{background:var(--surface-veil);-webkit-backdrop-filter:saturate(1.05) blur(14px);backdrop-filter:saturate(1.05) blur(14px)}}
.site-header__inner{max-width:var(--container);margin-inline:auto;padding:var(--space-5) var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.site-header__logo{border:0;display:flex}
.site-header__logo img{height:20px;width:auto}
.site-nav{display:flex;align-items:center;gap:var(--space-6)}
.site-nav__list{display:flex;align-items:center;gap:var(--space-6)}
.site-nav__link{border:0;padding-bottom:3px;border-bottom:1px solid transparent;font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-body)}
.site-nav__link:hover{color:var(--fk-rose-ink)}
.site-nav__link.is-active{color:var(--fk-rose-ink);border-bottom-color:currentColor}
.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
.nav-toggle__bar{display:block;width:22px;height:1px;background:var(--fk-ink-1);transition:transform var(--dur-base) var(--ease-calm),opacity var(--dur-fast) var(--ease-calm)}
.nav-toggle__bar+.nav-toggle__bar{margin-top:5px}

.site-footer{background:var(--fk-ivory-2);background-image:var(--wash-dawn);padding:var(--space-9) 0 var(--space-6)}
.site-footer .container{display:grid;gap:var(--space-8)}
.site-footer__closing{display:grid;gap:var(--space-5);justify-items:center;text-align:center;padding-bottom:var(--space-2)}
.site-footer__closing img{width:88px;opacity:.95}
.site-footer__phrase{font-family:var(--font-editorial);font-style:italic;font-weight:var(--weight-light);font-size:var(--type-quote-lg);line-height:var(--leading-quote);color:var(--text-strong);max-width:26ch;margin:0}
.site-footer__main{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(180px,1fr) minmax(200px,1fr);
  gap:var(--space-8) var(--space-9);
  align-items:start;
  padding-block:var(--space-2) var(--space-4);
}
.site-footer__brand{display:grid;gap:var(--space-3);justify-items:start;max-width:36ch}
.site-footer__logo{height:22px;width:auto}
.site-footer__role{font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0}
.site-footer__blurb{margin:0;font-size:var(--type-body-sm);line-height:1.55;color:var(--text-body)}
.site-footer__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}
.site-footer__nav .micro-label,
.site-footer__connect .micro-label{margin-bottom:var(--space-4)}
.site-footer__list{display:grid;gap:var(--space-3)}
.site-footer__list--split{grid-template-columns:1fr 1fr;column-gap:var(--space-6);row-gap:var(--space-3)}
.site-footer__list a,
.site-footer__contact a{font-size:var(--type-body-sm);color:var(--text-body);border:0}
.site-footer__list a:hover,
.site-footer__contact a:hover{color:var(--fk-rose-ink)}
.site-footer__contact{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}
.site-footer__contact li{display:grid;gap:4px}
.site-footer__kicker{
  font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
  color:var(--text-faint);font-weight:var(--weight-regular);
}
.site-footer__top{
  display:inline-block;margin-top:var(--space-6);
  font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
  color:var(--text-muted);border-bottom:1px solid transparent;
}
.site-footer__top:hover{color:var(--fk-rose-ink);border-bottom-color:var(--fk-rose-deep)}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;align-items:center;font-size:var(--type-caption);color:var(--text-muted)}
.site-footer__legal-links{display:flex;flex-wrap:wrap;gap:var(--space-5);list-style:none;margin:0;padding:0}
.site-footer__legal-links a{color:var(--text-muted);border:0}
.site-footer__legal-links a:hover{color:var(--fk-rose-ink)}

/* ================= 09 · ANIMACIÓN ================= */
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity var(--dur-reveal) var(--ease-calm),transform var(--dur-reveal) var(--ease-calm)}
.js .reveal.is-visible{opacity:1;transform:none}
.reveal--delay-1{transition-delay:120ms}
.reveal--delay-2{transition-delay:240ms}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .hero__video{display:none}
  .hero__media{background:center / cover no-repeat url("assets/images/fatima-hero.jpg")}
}

/* ================= 10 · BREAKPOINTS ================= */

/* --- Portátil ≤1199px --- */
@media (max-width:1199px){
  :root{--section-y:120px;--space-9:80px}
  .split{gap:var(--space-8)}
}

/* --- Tablet ≤1023px --- */
@media (max-width:1023px){
  :root{--section-y:96px;--section-y-tight:80px;--gutter:var(--space-5);--header-h:68px}
  .site-header__inner{padding-block:var(--space-4)}
  .nav-toggle{display:flex;flex-direction:column}
  .site-nav{position:fixed;inset:var(--header-h) 0 0;z-index:29;display:grid;grid-auto-rows:max-content;align-content:start;gap:var(--space-6);padding:var(--space-8) var(--space-6);background:var(--surface-page);background-image:var(--wash-dawn);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-calm),transform var(--dur-base) var(--ease-calm);overflow-y:auto}
  .site-nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .site-nav__list{display:grid;gap:var(--space-6)}
  .site-nav__link{font-family:var(--font-display);font-size:26px;letter-spacing:var(--tracking-display-tight);color:var(--text-strong)}
  .site-nav__cta{justify-self:start;padding:16px 34px;font-size:var(--type-body-sm)}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  body.nav-open{overflow:hidden}

  .retreat-shell{grid-template-columns:1fr}
  .retreat-nav{position:relative;top:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line-hairline);padding:var(--space-6)}
  .retreat-nav__list{grid-template-columns:1fr 1fr}
  .retreat-main{padding:var(--space-7) var(--gutter) var(--space-9)}
  .resource-grid{grid-template-columns:1fr}
  .landing-retreat__shell{grid-template-columns:1fr;gap:var(--space-6)}
  .landing-retreat__nav{position:relative;top:auto;max-height:none}
  .landing-retreat__petals{display:none}

  .hero__inner{padding-block:var(--space-8) var(--space-9)}
  .split,.split--portrait,.sanctuary__grid,.shift{grid-template-columns:1fr;gap:var(--space-7)}
  .about-photo{max-width:360px;margin-inline:auto}
  .frame-gold{inset:-16px}
  .pillars{grid-template-columns:1fr;gap:var(--space-7);margin-top:var(--space-8)}
  .offer-grid,.testimonials,.post-grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .offer--primary{grid-template-columns:1fr}
  .offer--primary .offer__media-wrap{min-height:0;aspect-ratio:16/10}
  .offer--primary .offer__body{padding:var(--space-7);align-content:start}
  .sanctuary__card{padding:var(--space-8) var(--space-6)}
}

/* --- Móvil ≤767px --- */
@media (max-width:767px){
  :root{--section-y:80px;--section-y-tight:72px;--gutter:var(--space-5);--space-9:64px}
  .hero__actions{gap:var(--space-4)}
  .hero__actions .btn--lg{padding:16px 32px}
  .hero__copy{width:min(100%,40rem)}
  .hero__title{max-width:18ch}
  .hero__lead{max-width:42ch}
  .offer-grid,.testimonials,.post-grid{grid-template-columns:1fr}
  .ig-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
  .section-head__cta{display:none}
  .section-head__cta-mobile{display:inline-flex}
  .section-intro--center{max-width:100%}
  .sanctuary__card{padding:var(--space-7) var(--space-5);border-radius:var(--radius-lg)}
  .shift__col{padding:var(--space-6)}
  .site-footer__main{grid-template-columns:1fr 1fr;gap:var(--space-7)}
  .site-footer__brand{grid-column:1 / -1;max-width:42ch}
  .site-footer__list--split{grid-template-columns:1fr}
  .site-footer__legal{flex-direction:column;align-items:flex-start;gap:var(--space-3)}
  .quote-line--lg{max-width:100%}
  .retreat-nav__list{grid-template-columns:1fr}
  .audio-block__title{font-size:26px}
}

/* --- Móvil pequeño ≤479px --- */
@media (max-width:479px){
  :root{--gutter:var(--space-4)}
  .btn{width:100%}
  .btn--ghost,.site-nav__cta,.link-arrow,.link-plain,.site-footer__actions .btn{width:auto}
  .site-footer__main{grid-template-columns:1fr}
  .site-footer__actions{flex-direction:column;align-items:stretch;width:100%}
  .site-footer__actions .btn{width:100%}
  .hero__actions{flex-direction:column;align-items:stretch;width:100%}
  .moments__item{grid-template-columns:auto 1fr;row-gap:2px}
  .moments__dur{grid-column:2;font-size:12px}
}

/* --- Páginas legales / interior --- */
.legal .display--3{margin-top:var(--space-7);margin-bottom:var(--space-3);font-size:clamp(18px,1.6vw,21px)}
.legal .prose a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px}
.legal .prose a:hover{color:var(--text-link-hover)}
.legal .gold-rule{margin-block:var(--space-5)}

/* --- Impresión --- */
@media print{
  .site-header,.nav-toggle,.site-nav,.hero__media,.sanctuary__mark,.ig-grid,.form,.btn{display:none!important}
  body{background:#fff;color:#000}
  .section{padding-block:24pt;break-inside:avoid}
}
