/* ==========================================================================
   ResilientMinds 2.0 — Sistema de diseño
   Un solo archivo, sin framework. Tokens → base → layout → componentes.
   ========================================================================== */

/* ---------- Fuentes autoalojadas (OFL) ---------- */
@font-face{font-family:"Bricolage";src:url("fonts/bricolage-var.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Atkinson";src:url("fonts/atkinson-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url("fonts/atkinson-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson";src:url("fonts/atkinson-700.woff2") format("woff2");font-weight:700;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  /* Color: tinta universitaria, papel cálido, marea, cempasúchil */
  --ink:#10284a;          /* texto principal, azul UNAM profundo  */
  --ink-2:#3d5170;        /* texto secundario (AA sobre papel)    */
  --ink-3:#5d6d85;        /* texto terciario  (AA sobre papel)    */
  --paper:#fbf7f1;        /* fondo cálido                          */
  --paper-2:#f4ede2;      /* superficie hundida                    */
  --card:#ffffff;
  --line:#e6dccd;
  --line-2:#d6c8b3;

  --tide:#0d6b67;         /* acción primaria (AA con blanco)       */
  --tide-ink:#084b48;
  --tide-soft:#d9efeb;
  --gold:#e3a72f;         /* cempasúchil / oro UNAM, solo acento   */
  --gold-soft:#fbeccd;
  --coral:#d9644a;
  --coral-soft:#fbe1d8;
  --dusk:#5b4fb3;         /* identidad de GoIA                     */
  --dusk-soft:#e7e3fa;
  --sky-soft:#dcebf7;

  --urgent:#b42318;       /* ayuda urgente (AA con blanco)         */
  --urgent-soft:#fde8e6;
  --ok:#1f7a45;  --ok-soft:#dcf2e4;
  --warn:#8a5a00; --warn-soft:#fff1d1;

  /* Tipografía */
  --font-display:"Bricolage",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Atkinson",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-xs:.8125rem; --fs-sm:.9375rem; --fs-md:1.0625rem; --fs-lg:1.25rem;
  --fs-xl:clamp(1.5rem,1.2rem + 1.2vw,2rem);
  --fs-2xl:clamp(2rem,1.4rem + 2.6vw,3.25rem);
  --fs-3xl:clamp(2.4rem,1.5rem + 3vw,4.1rem);

  /* Espacio (escala 4) */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4.5rem; --s9:7rem;

  /* Forma y profundidad */
  --r-sm:10px; --r-md:16px; --r-lg:26px; --r-xl:40px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(16,40,74,.06),0 2px 8px rgba(16,40,74,.05);
  --shadow-2:0 2px 6px rgba(16,40,74,.06),0 14px 34px -10px rgba(16,40,74,.18);
  --shadow-3:0 30px 80px -24px rgba(16,40,74,.35);

  --ease:cubic-bezier(.22,.8,.24,1);
  --dur:.28s;
  --wrap:1180px;
  --tap:44px;             /* WCAG 2.5.8: objetivo táctil */
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-md);line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{text-wrap:balance;font-family:var(--font-display);line-height:1.08;letter-spacing:-.02em;margin:0 0 var(--s4);font-weight:700;color:var(--ink)}
h1{font-size:var(--fs-3xl);font-weight:750;letter-spacing:-.035em}
h2{font-size:var(--fs-2xl)}
h3{font-size:var(--fs-xl)}
h4{font-size:var(--fs-lg)}
p{margin:0 0 var(--s4);text-wrap:pretty}
a{color:var(--tide-ink);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
strong{font-weight:700}
ul,ol{padding-left:1.2em}
hr{border:0;border-top:1px solid var(--line);margin:var(--s6) 0}
::selection{background:var(--gold-soft);color:var(--ink)}

:focus{outline:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s4);top:-80px;z-index:200;background:var(--ink);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r-sm);font-weight:700;transition:top var(--dur) var(--ease)}
.skip-link:focus{top:var(--s4)}

.wrap{width:min(100% - 2*var(--s5),var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2*var(--s5),760px);margin-inline:auto}
.section{padding-block:var(--s8)}
.section-tight{padding-block:var(--s7)}
.stack>*+*{margin-top:var(--s4)}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--tide-ink)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.lede{font-size:var(--fs-lg);color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-3)}
.small{font-size:var(--fs-sm)}
.center{text-align:center}

/* ---------- Iconos (sprite SVG inline) ---------- */
.i{display:inline-block;width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em}
.i-lg{width:1.75rem;height:1.75rem}

/* ---------- Barra de ayuda urgente ---------- */
.lifeline{background:var(--ink);color:#fff;font-size:var(--fs-sm)}
.lifeline .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s5);padding-block:.45rem}
.lifeline a{display:inline-flex;align-items:center;gap:.35em;color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.lifeline a:hover{text-decoration:underline}
.lifeline .lines{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}
.lifeline .ll-sm{display:none}
.lifeline .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff8a7a;margin-right:.45em;box-shadow:0 0 0 0 rgba(255,138,122,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,138,122,.55)}70%{box-shadow:0 0 0 9px rgba(255,138,122,0)}100%{box-shadow:0 0 0 0 rgba(255,138,122,0)}}

/* ---------- Encabezado / navegación ---------- */
.site-head{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.site-head::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.site-head.is-scrolled{border-color:var(--line);box-shadow:0 6px 24px -18px rgba(16,40,74,.4)}
.site-head .wrap{display:flex;align-items:center;gap:var(--s5);min-height:72px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:750;font-size:1.2rem;letter-spacing:-.02em;flex:none}
.brand-mark{width:auto;height:44px;flex:none}
.brand small{display:block;font-family:var(--font-body);font-weight:400;font-size:.72rem;letter-spacing:.02em;color:var(--ink-3);margin-top:1px}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:var(--s1)}
.nav a{display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;min-height:var(--tap);padding:0 .8rem;border-radius:var(--r-pill);text-decoration:none;color:var(--ink-2);font-weight:700;font-size:var(--fs-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.nav a:hover{background:var(--paper-2);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--ink);color:#fff}
.nav .nav-goia{background:var(--dusk-soft);color:var(--dusk)}
.nav .nav-goia:hover{background:var(--dusk);color:#fff}
.nav-toggle{position:relative;z-index:101;display:none;margin-left:auto;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--card);color:var(--ink);cursor:pointer}
.nav-toggle .i{width:22px;height:22px}
.head-account{flex:none}

@media (max-width:980px){
  .nav-toggle{display:inline-flex}
  .head-account{display:none}
  /* Contenedor del tamaño exacto de la pantalla que recorta el panel: no amplía el ancho en móvil. */
  .nav{position:fixed;inset:0;overflow:hidden;pointer-events:none;visibility:hidden;transition:visibility 0s linear .38s;z-index:99}
  .nav.is-open{visibility:visible;transition:none}
  .nav ul{position:absolute;top:0;right:0;bottom:0;width:min(88vw,380px);background:var(--paper);box-shadow:var(--shadow-3);padding:calc(72px + var(--s4)) var(--s5) var(--s6);overflow-y:auto;pointer-events:auto;transform:translateX(105%);transition:transform .38s var(--ease);flex-direction:column;align-items:stretch;gap:var(--s2)}
  .nav.is-open ul{transform:none}
  .nav a{display:flex;font-size:var(--fs-md);padding:0 var(--s4);min-height:52px;border-radius:var(--r-md)}
  .nav .nav-account{display:block}
  .nav .nav-urgent{display:block;margin-top:auto;padding-top:var(--s5);border-top:1px solid var(--line)}
  .nav .nav-urgent p{margin:0 0 var(--s2);font-size:var(--fs-xs);font-weight:700;color:var(--urgent);letter-spacing:.04em;text-transform:uppercase}
  .nav .nav-urgent a{min-height:46px;color:var(--ink)}
  .nav-scrim{position:fixed;inset:0;background:rgba(16,40,74,.35);opacity:0;pointer-events:none;transition:opacity var(--dur);z-index:98}
  .nav-scrim.is-open{opacity:1;pointer-events:auto}
}
@media (min-width:981px){.nav .nav-account,.nav .nav-urgent{display:none}.nav a .i{display:none}.nav .nav-goia .i{display:inline-block}}
@media (min-width:981px) and (max-width:1240px){.brand small{display:none}.nav a{padding:0 .6rem}}

/* ---------- Botones ---------- */
.btn{--bg:var(--tide);--fg:#fff;--bd:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:var(--tap);padding:.7rem 1.35rem;border-radius:var(--r-pill);border:1.5px solid var(--bd);background:var(--bg);color:var(--fg);font:700 var(--fs-md)/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur);-webkit-tap-highlight-color:transparent;white-space:nowrap}
.btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px);text-decoration:none}
.btn:active{transform:translateY(0) scale(.98);box-shadow:none}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-lg{min-height:56px;padding:.9rem 1.7rem;font-size:var(--fs-lg)}
.btn-sm{min-height:38px;padding:.45rem .95rem;font-size:var(--fs-sm)}
.btn-ink{--bg:var(--ink)}
.btn-ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line-2)}
.btn-ghost:hover{--bg:var(--card)}
.btn-soft{--bg:var(--tide-soft);--fg:var(--tide-ink)}
.btn-goia{--bg:var(--dusk)}
.btn-urgent{--bg:var(--urgent)}
.btn-light{--bg:#fff;--fg:var(--ink)}
.btn.is-loading{color:transparent!important;position:relative;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid var(--fg);border-right-color:transparent;animation:spin .7s linear infinite;color:var(--fg)}
@keyframes spin{to{transform:rotate(1turn)}}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:700;color:var(--tide-ink);text-decoration:none}
.link-arrow .i{transition:transform var(--dur) var(--ease)}
.link-arrow:hover .i{transform:translateX(4px)}

/* ---------- Superficies ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--shadow-1)}
.card-flat{background:var(--paper-2);border-radius:var(--r-lg);padding:var(--s6)}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:.3rem .75rem;border-radius:var(--r-pill);background:var(--paper-2);color:var(--ink-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.01em}
.chip-tide{background:var(--tide-soft);color:var(--tide-ink)}
.chip-gold{background:var(--gold-soft);color:#6b4a00}
.chip-coral{background:var(--coral-soft);color:#8a2e19}
.chip-dusk{background:var(--dusk-soft);color:#3e3391}
.chip-urgent{background:var(--urgent-soft);color:var(--urgent)}

/* ---------- Alertas / avisos ---------- */
.notice{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s4) var(--s5);border-radius:var(--r-md);background:var(--sky-soft);color:var(--ink);font-size:var(--fs-sm)}
.notice .i{margin-top:.1em;flex:none}
.notice p:last-child{margin:0}
.notice-ok{background:var(--ok-soft)}
.notice-warn{background:var(--warn-soft)}
.notice-urgent{background:var(--urgent-soft)}
.notice-dusk{background:var(--dusk-soft)}

/* ---------- Formularios ---------- */
.field{display:grid;gap:.4rem;margin-bottom:var(--s5)}
.field label,.label{font-weight:700;font-size:var(--fs-sm);color:var(--ink)}
.field .hint{font-size:var(--fs-xs);color:var(--ink-3)}
.input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-height:52px;padding:.8rem 1rem;border-radius:var(--r-md);border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;transition:border-color var(--dur),box-shadow var(--dur)}
.field textarea{min-height:120px;resize:vertical}
.input:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3)}
.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--tide);box-shadow:0 0 0 4px color-mix(in srgb,var(--tide) 18%,transparent)}
.field [aria-invalid="true"]{border-color:var(--urgent)}
.field .error{display:none;font-size:var(--fs-sm);color:var(--urgent);font-weight:700}
.field.has-error .error{display:block}
.check{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;font-size:var(--fs-sm)}
.check input{width:22px;height:22px;margin:.1em 0 0;accent-color:var(--tide);flex:none}
.pass-wrap{position:relative}
.pass-wrap .pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:var(--tap);height:var(--tap);border:0;background:transparent;color:var(--ink-3);border-radius:var(--r-sm);cursor:pointer}

/* ---------- Hero de inicio ---------- */
.hero{position:relative;overflow:hidden;padding-block:var(--s7)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s7);align-items:center}
.hero h1 em{display:block;font-style:normal;background:linear-gradient(100deg,var(--tide) 10%,var(--dusk) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{margin-block:var(--s5) var(--s6)}
.hero-bg{position:absolute;inset:-12% -10% auto auto;width:70vw;max-width:900px;aspect-ratio:1;pointer-events:none;z-index:-1;opacity:.9;-webkit-mask-image:linear-gradient(to bottom,transparent 6%,#000 28%,#000 48%,transparent 74%);mask-image:linear-gradient(to bottom,transparent 6%,#000 28%,#000 48%,transparent 74%)}

/* Selector "¿Cómo te sientes hoy?" */
.feel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s6);box-shadow:var(--shadow-2);position:relative}
.feel h2{font-size:var(--fs-xl);margin-bottom:var(--s2)}
.feel-options{display:grid;gap:var(--s2);margin-top:var(--s5)}
.feel-opt{display:flex;align-items:center;gap:var(--s4);width:100%;min-height:64px;padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:700 var(--fs-md)/1.3 var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:border-color var(--dur),background var(--dur),transform .18s var(--ease)}
.feel-opt:hover{border-color:var(--ink-3);background:var(--card);transform:translateX(3px)}
.feel-opt .bubble{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;flex:none}
.feel-opt small{display:block;font-weight:400;color:var(--ink-3);font-size:var(--fs-xs);margin-top:2px}
.feel-opt .i-go{margin-left:auto;color:var(--ink-3)}
.feel-opt.is-urgent{border-color:color-mix(in srgb,var(--urgent) 35%,var(--line));background:var(--urgent-soft)}
.feel-opt.is-urgent:hover{border-color:var(--urgent)}
.feel-opt.is-urgent small{color:var(--ink-2)}

/* ---------- Pasos del recorrido ---------- */
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);counter-reset:j}
.journey li{list-style:none;position:relative;padding:var(--s5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.journey li::before{counter-increment:j;content:counter(j);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font:750 1rem var(--font-display);margin-bottom:var(--s4)}
.journey h3{font-size:var(--fs-lg);margin-bottom:var(--s2)}
.journey p{font-size:var(--fs-sm);color:var(--ink-2);margin:0}

/* ---------- Mosaico de experiencias (bento) ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(180px,auto);gap:var(--s4)}
.tile{position:relative;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s6);border-radius:var(--r-lg);text-decoration:none;color:var(--ink);overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);text-decoration:none}
.tile h3{font-size:var(--fs-xl);margin:0}
.tile p{margin:0;color:var(--ink-2);max-width:42ch}
.tile .tile-cta{margin-top:auto;display:inline-flex;align-items:center;gap:.4em;font-weight:700}
.tile .tile-art{position:absolute;right:-24px;bottom:-24px;width:190px;height:190px;z-index:-1;opacity:.95;transition:transform .6s var(--ease)}
.tile:hover .tile-art{transform:rotate(-8deg) scale(1.05)}
.tile-a{grid-column:span 3;grid-row:span 2;background:linear-gradient(160deg,#e3f3ef,#c9e6e0)}
.tile-a .tile-art{width:min(62%,360px);height:auto;right:-6%;bottom:-8%}
.tile-b{grid-column:span 3;background:linear-gradient(160deg,#ece9fb,#dcd6f7)}
.tile-c{grid-column:span 3;background:linear-gradient(160deg,#fdf0d6,#f8e1b0)}
.tile-d{grid-column:span 2;background:linear-gradient(160deg,#fbe6de,#f6d2c4)}
.tile-e{grid-column:span 2;background:var(--card);border:1px solid var(--line)}
.tile-f{grid-column:span 2;background:var(--ink);color:#fff}
.tile-f h3,.tile-f p{color:#fff}
.tile-f p{opacity:.85}

/* ---------- Historias / carrusel horizontal ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(82%,320px);gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--s2) var(--s1) var(--s5);scrollbar-width:thin;overscroll-behavior-x:contain}
.rail>*{scroll-snap-align:start}
.story{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s2);min-height:340px;padding:var(--s5);border-radius:var(--r-lg);color:#fff;position:relative;overflow:hidden;isolation:isolate;text-decoration:none}
.story::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(10,24,46,.82))}
.story .story-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.story h3{color:#fff;font-size:var(--fs-lg);margin:0}
.story p{margin:0;font-size:var(--fs-sm);opacity:.92}
.story .chip{align-self:flex-start;background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(6px)}
.story:hover{text-decoration:none}

@media (min-width:1081px){.rail{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);overflow:visible;padding-inline:0}.story{min-height:320px}}

/* ---------- Tarjeta de recurso ---------- */
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s4)}
.res{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color var(--dur),transform .25s var(--ease),box-shadow var(--dur)}
.res:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:var(--shadow-2);text-decoration:none}
.res-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.res-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:15px}
.res h3{font-size:var(--fs-lg);margin:0}
.res p{font-size:var(--fs-sm);color:var(--ink-2);margin:0}
.res .res-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-3);font-weight:700}
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
.filter{min-height:40px;padding:0 1rem;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:transparent;color:var(--ink-2);font:700 var(--fs-sm) var(--font-body);cursor:pointer;transition:all var(--dur)}
.filter:hover{border-color:var(--ink-3);color:var(--ink)}
.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- Biblioteca ---------- */
.lib-head{margin-bottom:var(--s5)}
.lib-head h2{font-size:var(--fs-xl);margin:0 0 var(--s2)}
.lib-head p{margin:0;max-width:64ch}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.video-card{display:flex;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);overflow:hidden;text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:transform .25s var(--ease),box-shadow var(--dur)}
.video-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.video-poster{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}
.video-poster>svg{position:absolute;inset:0;width:100%;height:100%}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 10px 30px -8px rgba(0,0,0,.4);transition:transform .25s var(--ease)}
.video-play svg{width:24px;height:24px;margin-left:3px}
.video-card:hover .video-play{transform:translate(-50%,-50%) scale(1.08)}
.video-body{display:grid;gap:var(--s1);padding:var(--s4) var(--s5) var(--s5)}
.video-body strong{font:700 var(--fs-md)/1.25 var(--font-display)}
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
.guide-crisis:last-child{grid-column:1/-1}
.guide{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}
.guide-crisis{border-color:color-mix(in srgb,var(--urgent) 30%,var(--line));background:linear-gradient(180deg,#fff,#fff7f5)}
.guide-head{display:flex;gap:var(--s4);align-items:flex-start;margin-bottom:var(--s3)}
.guide-head h3{font-size:var(--fs-lg);margin:0 0 2px}
.guide-head p{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}
.guide-list{list-style:none;margin:0;padding:0}
.guide-list li+li{border-top:1px solid var(--line)}
.guide-list a{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:52px;padding:var(--s3) var(--s2);margin-inline:calc(-1 * var(--s2));border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:700;font-size:var(--fs-sm);transition:background var(--dur)}
.guide-list a:hover{background:var(--paper)}
.guide-meta{display:inline-flex;align-items:center;gap:.4em;flex:none;font-weight:400;font-size:var(--fs-xs);color:var(--ink-3)}
.guide-list a:hover .guide-meta .i{transform:translateX(3px)}
.guide-meta .i{transition:transform var(--dur) var(--ease)}
@media (max-width:1080px){.video-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.guide-grid{grid-template-columns:1fr}}
@media (max-width:520px){.video-grid{grid-template-columns:1fr}}

/* ---------- Ayuda urgente ---------- */
.help-hero{background:radial-gradient(120% 140% at 0% 0%,#fff3ef 0%,var(--paper) 55%);}
.help-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s4)}
.help-line{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border-radius:var(--r-lg);background:var(--card);border:1.5px solid var(--line)}
.help-line.is-primary{border-color:var(--urgent);background:linear-gradient(180deg,#fff,var(--urgent-soft))}
.help-line .num{font:780 clamp(2.4rem,1.6rem + 2.6vw,3.6rem)/1 var(--font-display);letter-spacing:-.03em;color:var(--ink);text-decoration:none;margin:var(--s2) 0}
.help-line.is-primary .num{color:var(--urgent)}
.help-line .when{font-size:var(--fs-sm);color:var(--ink-2)}
.help-line .btn{margin-top:auto;align-self:flex-start}
.path{display:grid;gap:var(--s3)}
.path-step{display:grid;grid-template-columns:auto 1fr;gap:var(--s4);align-items:start;padding:var(--s5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.path-step .n{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--tide-soft);color:var(--tide-ink);font:750 1.1rem var(--font-display)}
.path-step.is-done .n{background:var(--ok);color:#fff}
.path-step.is-current{border-color:var(--tide);box-shadow:0 0 0 4px color-mix(in srgb,var(--tide) 12%,transparent)}
.path-step h3{font-size:var(--fs-lg);margin:0 0 var(--s1)}
.path-step p{margin:0;color:var(--ink-2);font-size:var(--fs-sm)}

/* ---------- Encabezado de página con ilustración ---------- */
.page-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:center}
.page-hero-art{width:100%;height:auto;border-radius:var(--r-xl);box-shadow:var(--shadow-2)}
@media (max-width:900px){.page-hero{grid-template-columns:1fr}.page-hero-art{max-width:520px}}

/* ---------- Preparación: lista interactiva ---------- */
.prep-grid{display:grid;grid-template-columns:320px 1fr;gap:var(--s6);align-items:start}
.prep-side{position:sticky;top:100px}
.ring{--p:0;width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--tide) calc(var(--p)*1%),var(--paper-2) 0);transition:--p .6s var(--ease)}
.ring>div{width:146px;height:146px;border-radius:50%;background:var(--card);display:grid;place-items:center;text-align:center}
.ring strong{display:block;font:750 2.4rem/1 var(--font-display)}
.ring span{font-size:var(--fs-xs);color:var(--ink-3)}
.kit{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);overflow:hidden}
.kit+.kit{margin-top:var(--s4)}
.kit summary{display:flex;align-items:center;gap:var(--s4);padding:var(--s5);cursor:pointer;list-style:none;font:700 var(--fs-lg) var(--font-display)}
.kit summary::-webkit-details-marker{display:none}
.kit summary .count{margin-left:auto;font:700 var(--fs-sm) var(--font-body);color:var(--ink-3)}
.kit summary .chev{transition:transform var(--dur) var(--ease);color:var(--ink-3)}
.kit[open] summary .chev{transform:rotate(180deg)}
.kit ul{list-style:none;margin:0;padding:0 var(--s5) var(--s5);display:grid;gap:var(--s2)}
.kit li label{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur)}
.kit li label:hover{background:var(--paper)}
.kit input{width:22px;height:22px;margin:.1em 0 0;accent-color:var(--tide);flex:none}
.kit input:checked+span{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--line-2)}

/* ---------- Respiración guiada ---------- */
.breathe{display:grid;place-items:center;gap:var(--s5);padding:var(--s7) var(--s5);border-radius:var(--r-xl);background:radial-gradient(circle at 50% 40%,#e9f5f2,#d4ebe6 60%,#c2e0d9);text-align:center}
.breathe-orb{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#9fd3c9 55%,var(--tide) 100%);box-shadow:0 30px 60px -20px rgba(13,107,103,.55);transform:scale(.6);transition:transform 4s cubic-bezier(.45,.05,.55,.95)}
.breathe.is-in .breathe-orb{transform:scale(1)}
.breathe.is-hold .breathe-orb{transform:scale(1)}
.breathe.is-out .breathe-orb{transform:scale(.6)}
.breathe-label{font:700 var(--fs-xl) var(--font-display);min-height:1.3em}

/* ---------- Área personal (usuario) ---------- */
.app-shell{padding-block:var(--s6) var(--s8)}
.greeting{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}
.greeting h1{font-size:var(--fs-2xl);margin:0}
.dash{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s5);align-items:start}
.dash-col{display:grid;gap:var(--s5)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}
.panel-head h2{font-size:var(--fs-lg);margin:0}
.task-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.task{display:flex;align-items:center;gap:var(--s4);width:100%;min-height:64px;padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:700 var(--fs-md)/1.3 var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:border-color var(--dur),background var(--dur)}
.task:hover{border-color:var(--tide);background:var(--card)}
.task .task-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--tide-soft);color:var(--tide-ink);flex:none}
.task small{display:block;font-weight:400;color:var(--ink-3);font-size:var(--fs-xs)}
.task .i-go{margin-left:auto;color:var(--ink-3)}
.task.is-done .task-ico{background:var(--ok-soft);color:var(--ok)}

/* ---------- Cuestionario (envoltorio del motor existente) ---------- */
.quiz{max-width:760px;margin-inline:auto}
.quiz-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,4vw,3rem);box-shadow:var(--shadow-2)}
.quiz-top{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s5)}
.quiz-top h2{font-size:var(--fs-lg);margin:0}
.quiz-exit{margin-left:auto}
.quiz-progress{height:8px;border-radius:var(--r-pill);background:var(--paper-2);overflow:hidden;margin-bottom:var(--s2)}
.quiz-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--tide),#3aa597);transition:width .5s var(--ease)}
.quiz-meta{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-3);font-weight:700;margin-bottom:var(--s5)}
.quiz .pregunta{font:650 clamp(1.25rem,1rem + 1vw,1.7rem)/1.3 var(--font-display)!important;letter-spacing:-.015em;color:var(--ink);text-align:left!important;margin:var(--s3) 0 var(--s5)}
.quiz .pregunta .fa-question-circle,.quiz .q-help{color:var(--dusk)}
.quiz-step{animation:qIn .38s var(--ease) both}
@keyframes qIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* Opciones existentes (radio/checkbox/botones Bootstrap) → opciones táctiles */
.quiz .btn-group,.quiz .btn-group-toggle{display:grid!important;grid-template-columns:1fr;gap:var(--s2);width:100%}
.quiz .btn-group>.btn,.quiz .btn-group-toggle>.btn,.quiz label.btn{display:flex!important;align-items:center;justify-content:flex-start;gap:var(--s3);width:100%;min-height:58px;padding:var(--s3) var(--s4)!important;margin:0!important;border-radius:var(--r-md)!important;border:1.5px solid var(--line-2)!important;background:var(--paper)!important;color:var(--ink)!important;font:700 var(--fs-md)/1.3 var(--font-body)!important;text-align:left;white-space:normal;box-shadow:none!important;transform:none!important;cursor:pointer}
.quiz .btn-group>.btn:hover,.quiz label.btn:hover{border-color:var(--tide)!important;background:var(--card)!important}
.quiz .btn-group>.btn.active,.quiz label.btn.active,.quiz label.btn:has(input:checked){border-color:var(--tide)!important;background:var(--tide-soft)!important;color:var(--tide-ink)!important}
.quiz label.btn input[type=radio],.quiz label.btn input[type=checkbox]{position:static!important;clip:auto!important;pointer-events:auto!important;width:20px;height:20px;accent-color:var(--tide);margin:0;flex:none}
.quiz .form-control,.quiz input[type=text],.quiz input[type=number],.quiz input[type=date],.quiz select,.quiz textarea{width:100%;min-height:54px;padding:.8rem 1rem;border-radius:var(--r-md);border:1.5px solid var(--line-2);background:var(--card);font:inherit;color:var(--ink)}
.quiz .form-control:focus,.quiz input:focus,.quiz select:focus,.quiz textarea:focus{outline:none;border-color:var(--tide);box-shadow:0 0 0 4px color-mix(in srgb,var(--tide) 18%,transparent)}
.quiz #sigue,.quiz .btn-accion{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:.9rem 1.8rem;border-radius:var(--r-pill);border:0;background:var(--tide)!important;color:#fff!important;font:700 var(--fs-lg) var(--font-body);cursor:pointer;margin-top:var(--s5)}
.quiz-foot{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;justify-content:space-between;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3)}
.quiz-saving{display:flex;flex-direction:column;align-items:center;gap:var(--s4);padding:var(--s7) 0;text-align:center}

/* ---------- Resultado de tamizaje ---------- */
.result{border-radius:var(--r-lg);padding:var(--s5);border:1.5px solid var(--line);background:var(--card)}
.result+.result{margin-top:var(--s3)}
.result-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s2)}
.result h3{font-size:var(--fs-lg);margin:0}
.result .result-body{font-size:var(--fs-sm);color:var(--ink-2)}
.result .result-body p:last-child{margin:0}
.disclaimer{font-size:var(--fs-xs);color:var(--ink-3);margin-top:var(--s4)}

/* ---------- GoIA ---------- */
.goia{display:flex;flex-direction:column;height:min(78vh,760px);min-height:520px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);overflow:hidden}
.goia-embed{height:600px}
.goia-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f6f4ff,#fff)}
.goia-avatar{width:44px;height:44px;flex:none}
.goia-head h2{font-size:var(--fs-md);margin:0;font-family:var(--font-display)}
.goia-head p{margin:0;font-size:var(--fs-xs);color:var(--ink-3)}
.goia-status{display:inline-flex;align-items:center;gap:.4em}
.goia-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}
.goia-status.is-offline::before{background:var(--ink-3)}
.goia-head .btn{margin-left:auto}
.goia-log{flex:1;overflow-y:auto;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);scroll-behavior:smooth;overscroll-behavior:contain}
.msg{max-width:min(88%,620px);animation:qIn .3s var(--ease) both}
.msg-bubble{padding:.85rem 1.1rem;border-radius:20px;font-size:var(--fs-md);line-height:1.55;overflow-wrap:anywhere}
.msg-bubble p{margin:0 0 .6em}.msg-bubble p:last-child{margin:0}
.msg-bubble ul,.msg-bubble ol{margin:.3em 0 .6em;padding-left:1.25em}
.msg-bubble li{margin:.2em 0}
.msg.me{align-self:flex-end}
.msg.me .msg-bubble{background:var(--ink);color:#fff;border-bottom-right-radius:6px}
.msg.bot .msg-bubble{background:var(--dusk-soft);color:var(--ink);border-bottom-left-radius:6px}
.msg.bot.is-error .msg-bubble{background:var(--warn-soft)}
.msg.bot.is-safety .msg-bubble{background:var(--urgent-soft);border:1.5px solid color-mix(in srgb,var(--urgent) 30%,transparent)}
.msg-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.msg-actions a,.msg-actions button{display:inline-flex;align-items:center;gap:.35em;min-height:38px;padding:0 .9rem;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);font:700 var(--fs-sm) var(--font-body);text-decoration:none;cursor:pointer}
.msg-actions a:hover,.msg-actions button:hover{border-color:var(--dusk);color:var(--dusk)}
.msg-actions .is-urgent{border-color:var(--urgent);color:var(--urgent)}
.typing{display:inline-flex;gap:5px;padding:1rem 1.1rem;border-radius:20px;background:var(--dusk-soft);border-bottom-left-radius:6px}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--dusk);opacity:.35;animation:blink 1.2s infinite}
.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.goia-suggest{display:flex;gap:var(--s2);overflow-x:auto;padding:0 var(--s5) var(--s3);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}
.goia-suggest button{flex:none;min-height:40px;padding:0 1rem;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink-2);font:700 var(--fs-sm) var(--font-body);cursor:pointer;white-space:nowrap}
.goia-suggest button:hover{border-color:var(--dusk);color:var(--dusk)}
.goia-form{display:flex;align-items:flex-end;gap:var(--s2);padding:var(--s3) var(--s4) var(--s4);border-top:1px solid var(--line)}
.goia-form textarea{flex:1;min-height:52px;max-height:160px;padding:.85rem 1rem;border-radius:22px;border:1.5px solid var(--line-2);background:var(--paper);font:inherit;color:var(--ink);resize:none;line-height:1.4}
.goia-form textarea:focus{outline:none;border-color:var(--dusk);box-shadow:0 0 0 4px color-mix(in srgb,var(--dusk) 15%,transparent)}
.goia-send{width:52px;height:52px;border-radius:50%;border:0;background:var(--dusk);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .18s var(--ease),opacity var(--dur)}
.goia-send:hover{transform:scale(1.05)}
.goia-send[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.goia-note{padding:0 var(--s5) var(--s3);font-size:var(--fs-xs);color:var(--ink-3)}
.goia-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--s5);align-items:start}

/* ---------- Diálogo ---------- */
dialog.dlg{border:0;padding:0;border-radius:var(--r-lg);width:min(92vw,640px);max-height:86vh;box-shadow:var(--shadow-3);color:var(--ink);background:var(--card)}
dialog.dlg::backdrop{background:rgba(16,40,74,.45);backdrop-filter:blur(3px)}
.dlg-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s5) var(--s6);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card)}
.dlg-head h2{font-size:var(--fs-lg);margin:0}
.dlg-body{padding:var(--s5) var(--s6);overflow-y:auto;font-size:var(--fs-sm)}
.dlg-foot{display:flex;justify-content:flex-end;gap:var(--s3);padding:var(--s4) var(--s6) var(--s5);border-top:1px solid var(--line)}
.icon-btn{display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;border:0;background:var(--paper-2);color:var(--ink);cursor:pointer}

/* ---------- Estados vacíos y skeleton ---------- */
.empty{display:grid;place-items:center;gap:var(--s3);text-align:center;padding:var(--s7) var(--s5);border:2px dashed var(--line);border-radius:var(--r-lg);color:var(--ink-3)}
.skel{background:linear-gradient(90deg,var(--paper-2),#fff 50%,var(--paper-2));background-size:200% 100%;animation:shim 1.3s linear infinite;border-radius:8px;height:1em}
@keyframes shim{to{background-position:-200% 0}}

/* ---------- Pie de página ---------- */
.site-foot{background:var(--ink);color:#c9d3e3;padding-block:var(--s8) var(--s6);font-size:var(--fs-sm)}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s6)}
.foot-grid h2{font-size:var(--fs-sm);font-family:var(--font-body);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:var(--s3)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.foot-grid ul a{color:#c9d3e3;text-decoration:none}
.foot-grid ul a:hover{color:#fff;text-decoration:underline}
.partners-band{margin-top:var(--s6);padding-block:var(--s7);background:var(--card);border-top:1px solid var(--line)}
.partners-title{font:700 var(--fs-xs)/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin:0 0 var(--s6)}
.partners{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s6) clamp(2rem,4vw,3.75rem)}
.partners li{display:flex}
.partners img{display:block;max-width:100%;height:auto;object-fit:contain}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-xs)}

/* ---------- Revelado al hacer scroll ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr}
  .journey{grid-template-columns:repeat(2,1fr)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .tile-a,.tile-b,.tile-c,.tile-d,.tile-e,.tile-f{grid-column:span 1;grid-row:auto}
  .tile-a{grid-column:span 2}
  .dash,.goia-layout,.prep-grid{grid-template-columns:1fr}
  .prep-side{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  :root{--s8:3.25rem}
  .section{padding-block:var(--s7)}
  .journey,.bento{grid-template-columns:1fr}
  .tile-a{grid-column:auto}
  .card,.panel{padding:var(--s5)}
  .feel{padding:var(--s4);border-radius:var(--r-lg);margin-inline:calc(-1 * var(--s2))}
  .feel h2{padding:var(--s2) var(--s2) 0}
  .feel>p{padding-inline:var(--s2)}
  .feel-opt{gap:var(--s3);padding:var(--s3);min-height:60px}
  .feel-opt .bubble{width:38px;height:38px;border-radius:12px}
  .feel-opt .i-go{width:18px;height:18px}
  .foot-grid{grid-template-columns:1fr}
  .partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:var(--s6) var(--s4)}
  .partners li{justify-content:center;width:100%}
  .partners img{max-width:min(100%,170px)}
  .partners-band{padding-block:var(--s6)}
  .goia{height:calc(100dvh - 150px);border-radius:var(--r-lg)}
  .lifeline .ll-q,.lifeline .ll-lg{display:none}
  .lifeline .ll-sm{display:inline}
  .lifeline .wrap{justify-content:center}
  .lifeline .lines{flex-wrap:nowrap;gap:var(--s4)}
  .btn-row .btn{flex:1 1 auto}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .reveal{opacity:1;transform:none}
  .breathe-orb{transition:transform 4s linear!important}
}

/* ---------- Impresión ---------- */
@media print{
  .lifeline,.site-head,.site-foot,.nav-toggle,.goia-form{display:none!important}
  body{background:#fff}
}
