/* Milicia de Santa María · hoja principal del tema.
   Secciones 1 a 4: copia de la hoja del prototipo del diseñador (estilos/prototipo.css),
   sin los controles de revisión ni la guía de estilo, que no se publican.
   Sección final: adaptaciones a WordPress (bloques, plantillas, editor). */
[hidden]{display:none!important}

/* Concepto «La ruta»: cada tramo de la home es un tramo de la subida al Almanzor.
   Los fondos van del cielo de la mañana (nieve, cielo) a la noche de Gredos; la línea
   de la montaña del logo dibuja separadores, perfil de ruta e iconos. */
:root{
  --turq:#26b6ac; --turq-dk:#177a73; --ink:#231f20; --sky:#b4d5e2; --blue:#8cbed2;
  --mtn:#4d92ad; --night:#11262f; --snow:#f3f7f8; --fire:#f08a3c; --dusk:#24566b;

  --f-display:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;
  --f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --f-hand:"Kalam","Segoe Print","Bradley Hand",cursive;

  --page:#f3f7f8; --text:#231f20; --soft:#3a474c; --line:#231f20; --card:rgba(255,255,255,.62);
  --header:#f3f7f8; --header-line:rgba(35,31,32,.14); --focus:#231f20;
  --lg-ink:#231f20; --lg-sun:#26b6ac; --chip:rgba(255,255,255,.7);

  /* tramos: arriba / abajo / texto / texto suave / línea de cresta */
  --s0-top:#f3f7f8; --s0-bot:#b4d5e2;
  --s1-top:#f3f7f8; --s1-bot:#e6f0f4;
  --s2-top:#e6f0f4; --s2-bot:#cfe3ec;
  --s3-top:#cfe3ec; --s3-bot:#b4d5e2;
  --s4-top:#b4d5e2; --s4-bot:#8cbed2;
  --s5-top:#24566b; --s5-bot:#183c4b;
  --s6-top:#142f3b; --s6-bot:#11262f;
  --light-fg:#231f20; --light-soft:#3a474c; --light-ridge:#231f20; --light-ink:#231f20; --light-sun:#26b6ac;
  --dark-fg:#f3f7f8; --dark-soft:#c4d6dd; --dark-ridge:rgba(243,247,248,.55);

  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .07 0 0 0 0 .15 0 0 0 0 .18 0 0 0 .11 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --ridge-fill:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='46'><path d='M0 40H60L77.3 10 87.7 28 93.5 18 106.2 40H190L201.5 20 213 40H300L320.8 4 334.6 28 340.4 18 353.1 40H420L428.1 26 436.2 40H480V46H0Z'/></svg>");
  --ridge-line:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='46'><path d='M-2 40H60L77.3 10 87.7 28 93.5 18 106.2 40H190L201.5 20 213 40H300L320.8 4 334.6 28 340.4 18 353.1 40H420L428.1 26 436.2 40H482' fill='none' stroke='black' stroke-width='3' stroke-miterlimit='6'/></svg>");
  --header-h:64px;
  --ext-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='square'><path d='M14 4h6v6M20 4l-9 9M18 14v6H4V6h6'/></svg>");
  --c-cruzados:#c25568; /* Cruzados: CMYK 5/85/45/0, tono de pantalla del logo oficial */ --c-movimiento:#87be46; /* Movimiento: verde del logo oficial */
}
/* Modo oscuro: «Noche de Gredos». Se activa con la preferencia del dispositivo. */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --page:#11262f; --text:#f3f7f8; --soft:#c4d6dd; --line:#f3f7f8; --card:rgba(243,247,248,.06);
  --header:#0e2129; --header-line:rgba(243,247,248,.12); --focus:#f3f7f8;
  --lg-ink:#f3f7f8; --lg-sun:#f3f7f8; --chip:rgba(243,247,248,.08);
  --s0-top:#0e2129; --s0-bot:#143240; --s1-top:#143240; --s1-bot:#15343f;
  --s2-top:#15343f; --s2-bot:#173946; --s3-top:#173946; --s3-bot:#183c4a;
  --s4-top:#183c4a; --s4-bot:#16384a; --s5-top:#14303c; --s5-bot:#112a35;
  --s6-top:#0f242d; --s6-bot:#0c1d24;
  --light-fg:#f3f7f8; --light-soft:#c4d6dd; --light-ridge:rgba(243,247,248,.55); --light-ink:#f3f7f8; --light-sun:#f3f7f8;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --page:#11262f; --text:#f3f7f8; --soft:#c4d6dd; --line:#f3f7f8; --card:rgba(243,247,248,.06);
  --header:#0e2129; --header-line:rgba(243,247,248,.12); --focus:#f3f7f8;
  --lg-ink:#f3f7f8; --lg-sun:#f3f7f8; --chip:rgba(243,247,248,.08);
  --s0-top:#0e2129; --s0-bot:#143240; --s1-top:#143240; --s1-bot:#15343f;
  --s2-top:#15343f; --s2-bot:#173946; --s3-top:#173946; --s3-bot:#183c4a;
  --s4-top:#183c4a; --s4-bot:#16384a; --s5-top:#14303c; --s5-bot:#112a35;
  --s6-top:#0f242d; --s6-bot:#0c1d24;
  --light-fg:#f3f7f8; --light-soft:#c4d6dd; --light-ridge:rgba(243,247,248,.55); --light-ink:#f3f7f8; --light-sun:#f3f7f8;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 40px)}
body{background:var(--page);color:var(--text);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-color:var(--turq);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:.95;margin:0;text-wrap:balance;letter-spacing:.01em}
p{margin:0}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.hand{font-family:var(--f-hand);font-weight:400}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pend{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;padding:.1em .45em;border:1.5px dashed currentColor;border-radius:2px;opacity:.85;white-space:nowrap}
svg.ic{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter;stroke-linecap:square;flex:none}
.lg{display:block}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.7em 1.35em;font:700 1.05rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:2px solid currentColor;border-radius:2px;color:inherit;background:transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--turq);border-color:var(--turq);color:var(--night)}
.btn-primary:hover{background:#45c9c0;border-color:#45c9c0}
.btn-ghost:hover{background:var(--chip)}
.btn-fire{background:var(--fire);border-color:var(--fire);color:var(--night)}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

/* ---------- Cabecera ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--header)}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--header);border-bottom:1px solid var(--header-line);--lg-ink:var(--text)}
.site-header .bar{height:var(--header-h);display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-width:0}
.brand svg{width:44px;height:38px;flex:none}
.brand span{font:700 1.05rem/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a{font:600 1rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:12px 10px;border-radius:2px}
.nav a:not(.btn):hover,.nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--turq)}
.nav .btn{margin-left:10px;min-height:42px;padding:.6em 1.1em}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:8px;background:none;border:2px solid currentColor;color:var(--text);border-radius:2px;min-height:44px;padding:0 14px;font:700 .95rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.menu-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4}
.apunta-sm{display:none}
@media (max-width:1180px){
  .menu-btn{display:inline-flex}
  .apunta-sm{display:inline-flex;min-height:44px;padding:.5em .9em;font-size:.95rem}
  .menu-btn{margin-left:auto}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--header);border-bottom:1px solid var(--header-line);padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{padding:16px 4px;border-bottom:1px solid var(--header-line);font-size:1.25rem}
  .nav .btn{margin:16px 0 0;justify-content:center}
  .brand span{font-size:.92rem;letter-spacing:.14em}
}
@media (max-width:420px){ .brand span{letter-spacing:.08em;font-size:.86rem} .brand svg{width:36px;height:31px} .site-header .bar{gap:10px} .apunta-sm{padding:.5em .7em;letter-spacing:.08em} .menu-btn{padding:0 10px} .menu-btn .mb-l{display:none} }

/* perfil de ruta (móvil): barra fina */
.route-bar{height:30px;border-top:1px solid var(--header-line);display:none;align-items:center;gap:12px}
.route-bar svg{flex:1;height:30px;overflow:visible;min-width:0}
.route-bar .mono{font-size:.68rem;white-space:nowrap;color:var(--soft)}
body.v-home .route-bar{display:flex}
@media (min-width:1280px){ body.v-home .route-bar{display:none} }
.rp-line{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:miter;opacity:.35}
.rp-done{fill:none;stroke:var(--text);stroke-width:2.5;stroke-linejoin:miter}
.rp-marker{--lg-sun:var(--turq);transition:filter .4s}
.rp-marker.lit{--lg-sun:var(--snow);filter:drop-shadow(0 0 6px rgba(243,247,248,.9)) drop-shadow(0 0 16px rgba(38,182,172,.9))}

/* perfil de ruta (escritorio): lateral */
.rail{position:fixed;z-index:40;right:max(22px,env(safe-area-inset-right,0px));top:calc(var(--header-h) + 36px);bottom:28px;width:64px;display:none;color:var(--text);pointer-events:none}
body.v-home .rail{display:block}
@media (max-width:1279px){ body.v-home .rail{display:none} }
.rail svg{width:100%;height:100%;overflow:visible}
.rail .rail-lbl{position:absolute;right:0;font-family:var(--f-mono);font-size:.64rem;line-height:1.25;text-align:right;color:var(--soft);white-space:nowrap}
.rail .rail-top{top:-26px}.rail .rail-bot{bottom:-22px}
.rail .alt{position:absolute;right:58px;font-family:var(--f-mono);font-size:.68rem;padding:2px 6px;background:var(--header);border:1px solid var(--header-line);border-radius:2px;white-space:nowrap;transform:translateY(-50%);transition:top .1s linear}
.rail-ticks{position:absolute;inset:0;pointer-events:auto}
.rail-ticks a{position:absolute;right:46px;width:22px;height:22px;transform:translate(50%,-50%);display:grid;place-items:center;font:500 .62rem/1 var(--f-mono);text-decoration:none;border-radius:50%;color:var(--text)}
.rail-ticks a::before{content:"";width:9px;height:9px;transform:rotate(45deg);border:2px solid currentColor;background:var(--header)}
.rail-ticks a span{position:absolute;right:26px;opacity:0;transition:opacity .2s;background:var(--header);border:1px solid var(--header-line);padding:3px 6px;white-space:nowrap;border-radius:2px;font-size:.66rem}
.rail-ticks a:hover span,.rail-ticks a:focus-visible span{opacity:1}
.rail-ticks a[aria-current="step"]::before{background:var(--turq);border-color:var(--turq)}

/* ---------- Tramos ---------- */
.tramo{position:relative;background:var(--grain),linear-gradient(var(--top),var(--bot));color:var(--fg);padding-block:clamp(84px,11vw,150px);--lg-ink:var(--ink-l);--lg-sun:var(--sun-l)}
.tramo::before,.tramo::after{content:"";position:absolute;left:0;right:0;top:-45px;height:46px;-webkit-mask:var(--ridge-fill) repeat-x 0 0/480px 46px;mask:var(--ridge-fill) repeat-x 0 0/480px 46px;background:var(--top);pointer-events:none;z-index:2}
.tramo::after{-webkit-mask-image:var(--ridge-line);mask-image:var(--ridge-line);background:var(--ridge)}
.tramo:nth-of-type(even)::before,.tramo:nth-of-type(even)::after{-webkit-mask-position:-210px 0;mask-position:-210px 0}
.t-light{--fg:var(--light-fg);--soft-c:var(--light-soft);--ridge:var(--light-ridge);--ink-l:var(--light-ink);--sun-l:var(--light-sun)}
.t-dark{--fg:var(--dark-fg);--soft-c:var(--dark-soft);--ridge:var(--dark-ridge);--ink-l:var(--snow);--sun-l:var(--snow);color-scheme:dark}
.t1{--top:var(--s1-top);--bot:var(--s1-bot)} .t2{--top:var(--s2-top);--bot:var(--s2-bot)}
.t3{--top:var(--s3-top);--bot:var(--s3-bot)} .t4{--top:var(--s4-top);--bot:var(--s4-bot)}
.t5{--top:var(--s5-top);--bot:var(--s5-bot)} .t6{--top:var(--s6-top);--bot:var(--s6-bot)}
.soft{color:var(--soft-c,var(--soft))}

.t-head{display:grid;gap:18px;max-width:780px}
.eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.eyebrow b{font-weight:500;padding:4px 8px;border:2px solid currentColor;border-radius:2px}
.t-title{font-size:clamp(2.7rem,9vw,6.6rem);text-transform:uppercase;letter-spacing:.015em;overflow-wrap:break-word;hyphens:auto}
.kicker{font:600 clamp(1.3rem,2.6vw,1.75rem)/1.15 var(--f-display);letter-spacing:.06em;text-transform:uppercase;display:inline-block;position:relative;padding-bottom:16px}
.kicker::after{content:"";position:absolute;left:0;bottom:0;width:76px;height:12px;background:var(--turq);clip-path:polygon(0 100%,0 70%,25% 70%,38% 0,52% 55%,60% 30%,72% 70%,100% 70%,100% 100%)}
.hook{font:italic 400 clamp(1.25rem,2.4vw,1.6rem)/1.35 var(--f-body);max-width:34ch}
.lead{font-size:1.12rem;max-width:62ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.quote{display:grid;gap:10px;max-width:760px}
.quote blockquote{margin:0;font:700 clamp(2rem,5.4vw,3.6rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.quote figcaption{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.figure{position:relative;overflow:hidden;border-radius:2px}
.figure img{width:100%;height:100%;object-fit:cover}
.plx img{will-change:transform;transform:translate3d(0,var(--py,0px),0) scale(1.08)}
@media (prefers-reduced-motion:reduce){ .plx img{transform:none} html{scroll-behavior:auto} }

/* ---------- Hero A ---------- */
.hero{position:relative;color:var(--text)}
.hero-a{background:var(--grain),linear-gradient(var(--s0-top),var(--s0-bot))}
.hero-a .grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);min-height:680px}
.hero-a .copy{display:flex;flex-direction:column;justify-content:center;gap:26px;padding-block:56px 72px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:40px;max-width:640px;margin-left:auto;width:100%}
.hero-a .lg-full{width:clamp(120px,14vw,168px);margin-bottom:6px}
.h1{font-size:clamp(3.6rem,10.5vw,8.4rem);text-transform:uppercase;line-height:.86;letter-spacing:.005em}
.hero .support{font:italic 400 clamp(1.15rem,2vw,1.4rem)/1.35 var(--f-body);max-width:30ch}
.hero .sub{font-size:1.1rem;max-width:44ch}
.hero-a .art{position:relative;min-height:100%}
.hero-a .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}
.routedata{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--soft)}
.routedata span{display:inline-flex;align-items:center;gap:6px}
.routedata span+span::before{content:"";width:6px;height:6px;transform:rotate(45deg);border:1.5px solid currentColor}
.age-quick{display:grid;gap:10px}
.age-quick legend,.age-quick .q{font:600 1rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid currentColor;border-radius:2px;background:var(--chip);font:600 1rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:inherit;cursor:pointer}
.chip small{font:400 .72rem/1 var(--f-mono);letter-spacing:.02em;text-transform:none;opacity:.8}
.chip:hover{border-color:var(--turq);box-shadow:inset 0 -4px 0 var(--turq)}

@media (max-width:860px){
  .hero-a .grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-a .copy{padding:36px max(20px,env(safe-area-inset-right,0px)) 8px max(20px,env(safe-area-inset-left,0px));max-width:none;gap:22px}
  .hero-a .art{aspect-ratio:4/4.4;max-height:620px;min-height:0}
  .hero-a .art img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);mask-image:linear-gradient(180deg,transparent 0,#000 18%)}
}

/* lg draw (hero A) */
@media (prefers-reduced-motion:no-preference){
  .lg-draw .lg-mtn{stroke:var(--lg-ink);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:lgdraw 1.5s .15s cubic-bezier(.6,.1,.3,1) forwards}
  .lg-draw .lg-sunp{opacity:0;transform:translateY(26px);animation:lgsun .9s 1.15s cubic-bezier(.2,.7,.2,1) forwards}
  .lg-draw .lg-text{opacity:0;animation:lgfade .7s 1.6s forwards}
}
@keyframes lgdraw{0%{stroke-dashoffset:1;fill-opacity:0}70%{stroke-dashoffset:0;fill-opacity:0;stroke-opacity:1}100%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}}
@keyframes lgsun{to{opacity:1;transform:none}}
@keyframes lgfade{to{opacity:1}}

/* ---------- Tramo 1 · Hitos ---------- */
.t1 .layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.t1 .figure{aspect-ratio:4/5}
.timeline{margin-top:56px}
.tl-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,300px);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 22px;scrollbar-width:thin;overscroll-behavior-x:contain}
.tl-item{scroll-snap-align:start;position:relative;padding:44px 26px 0 0;display:grid;gap:8px;align-content:start}
.tl-item::before{content:"";position:absolute;left:0;right:0;top:15px;height:3px;background:currentColor}
.tl-item:last-child::before{right:auto;width:40%}
.tl-item .node{position:absolute;left:0;top:4px;width:26px;height:26px;display:grid;place-items:center;background:var(--s1-bot);color:inherit}
.tl-item .node svg{width:26px;height:26px}
.tl-item .yr{font:700 2.4rem/1 var(--f-display)}
.tl-item h3{font:700 1.25rem/1.1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.tl-item p{font-size:.98rem;color:var(--soft-c)}
.tl-item q{font-style:italic;display:block;margin-top:4px}
.tl-nav{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:6px}
.tl-nav .btns{display:flex;gap:8px}
.icon-btn{width:48px;height:48px;display:grid;place-items:center;background:none;border:2px solid currentColor;border-radius:2px;color:inherit;cursor:pointer}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square}
.people{margin-top:72px;display:grid;gap:20px}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.person{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start;padding:18px;border:2px solid currentColor;border-radius:2px;background:var(--card)}
.person .ph{width:104px;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--night)}
.person .ph img{width:100%;height:100%;object-fit:cover}
.person h3{font:700 1.3rem/1.05 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.person p{font-size:.95rem;margin-top:6px}
.person .mono{display:block;margin-top:4px}
@media (max-width:900px){ .t1 .layout{grid-template-columns:minmax(0,1fr)} .t1 .figure{aspect-ratio:4/3.6} .people-grid{grid-template-columns:minmax(0,1fr)} }

/* ---------- Tramo 2 · Panorámica ---------- */
.band{position:relative;height:clamp(240px,34vw,420px);margin-bottom:clamp(40px,6vw,72px)}
.band img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;border-radius:2px}
.somos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.somo{display:grid;gap:12px;align-content:start;padding:24px 22px 26px;border-top:3px solid currentColor;background:var(--card)}
.somo h3{font-size:clamp(1.7rem,2.6vw,2.2rem);text-transform:uppercase}
.somo h3 em{font-style:normal;color:var(--turq-dk)}
:root[data-theme="dark"] .somo h3 em{color:var(--turq)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .somo h3 em{color:var(--turq)}}
.somo p{font-size:.98rem;color:var(--soft-c)}
@media (max-width:980px){ .somos{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:540px){ .somos{grid-template-columns:minmax(0,1fr)} }

.etapas{margin-top:88px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:stretch}
.age-box{display:grid;gap:22px;align-content:start}
.age-box h3{font-size:clamp(2.2rem,4.6vw,3.4rem);text-transform:uppercase}
.age-read{display:flex;align-items:baseline;gap:12px}
.age-read output{font:700 clamp(5rem,12vw,8.5rem)/.8 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.age-read span{font:600 1.4rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.range{--p:30%;-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,var(--turq) var(--p),currentColor var(--p));border-radius:0}
.range::-moz-range-track{height:6px;background:currentColor}
.range::-moz-range-progress{height:6px;background:var(--turq)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-12px;background:var(--turq);border:3px solid var(--night);transform:rotate(45deg);border-radius:2px}
.range::-moz-range-thumb{width:24px;height:24px;background:var(--turq);border:3px solid var(--night);transform:rotate(45deg);border-radius:2px}
.range-scale{display:flex;justify-content:space-between;margin-top:-6px}
.stage-tabs{display:flex;flex-wrap:wrap;gap:8px}
.stage-tabs button[aria-pressed="true"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.stage{position:relative;display:grid;grid-template-rows:auto 1fr;border:3px solid currentColor;border-radius:2px;overflow:hidden;background:var(--card)}
.stage .st-art{aspect-ratio:16/8;overflow:hidden}
.stage .st-art img{width:100%;height:100%;object-fit:cover}
.stage .st-body{padding:26px 26px 28px;display:grid;gap:14px;align-content:start}
.stage .st-tag{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.stage h4{font-size:clamp(2.4rem,5vw,3.6rem);text-transform:uppercase}
.stage p{max-width:52ch}
.stage .hint{font-size:.95rem}
@media (max-width:900px){ .etapas{grid-template-columns:minmax(0,1fr)} }

/* ---------- Tramo 3 · Cordada ---------- */
.t3 .layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:56px}
.clock{position:relative;max-width:520px;width:100%;margin-inline:auto}
.clock svg{width:100%;height:auto;display:block;overflow:visible}
.clock .ring{fill:none;stroke:currentColor;stroke-width:3;opacity:.35;transition:stroke .3s,stroke-width .3s,opacity .3s}
.clock .ring.on{stroke:var(--turq);stroke-width:12;opacity:1}
.clock text{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;fill:currentColor}
.clock .center{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.08em}
.rhythm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.rhythm-tabs [role="tab"]{min-height:44px}
.rhythm-tabs [aria-selected="true"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.rh-panel{display:grid;gap:14px;min-height:260px;align-content:start}
.rh-panel h3{font-size:clamp(2.2rem,4.4vw,3.2rem);text-transform:uppercase}
.rh-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.rh-panel li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:baseline}
.rh-panel li::before{content:"";width:9px;height:9px;transform:rotate(45deg) translateY(-2px);border:2px solid currentColor}
.rh-panel .say{font-family:var(--f-hand);font-size:1.4rem;line-height:1.25}
.t3 .figure{aspect-ratio:16/9;margin-top:72px}
.t3 .figure img{object-position:50% 70%}
@media (max-width:900px){ .t3 .layout{grid-template-columns:minmax(0,1fr)} .rh-panel{min-height:0} }

/* ---------- Tramo 4 · Subir bajando ---------- */
.t4{padding-block:clamp(96px,13vw,180px)}
.t4 .stage4{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.t4 .figure{aspect-ratio:4/5;max-height:760px}
.t4 .calm{display:grid;gap:40px}
.inner-list{margin:0;padding:0;list-style:none;display:grid;gap:28px}
.inner-list li{display:grid;gap:6px;padding-left:22px;border-left:2px solid currentColor}
.inner-list h3{font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase}
.inner-list p{color:var(--soft-c)}
.inner-list .hand{font-size:1.6rem;line-height:1.1;color:var(--fg);display:block;transform:rotate(-2deg);transform-origin:left;margin-block:4px}
.t4 .quote{margin-top:clamp(64px,9vw,120px);margin-inline:auto;text-align:center;justify-items:center}
@media (max-width:900px){ .t4 .stage4{grid-template-columns:minmax(0,1fr)} .t4 .figure{aspect-ratio:4/4.6} }

/* ---------- Tramo 5 · Gredos ---------- */
.t5 .top{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.t5 .isnot{max-width:820px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.t5 .isnot div{grid-template-columns:minmax(0,1fr);gap:8px}
@media (max-width:760px){ .t5 .isnot{grid-template-columns:minmax(0,1fr)} .t5 .isnot div{grid-template-columns:86px minmax(0,1fr)} }
.isnot{display:grid;gap:14px;margin-top:8px}
.isnot div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:baseline;padding-block:14px;border-top:2px solid var(--dark-ridge)}
.isnot b{font:700 1.05rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase}
.isnot .no b{text-decoration:line-through;text-decoration-thickness:2px}
.t5 .big-fig{aspect-ratio:16/10;margin-block:clamp(48px,6vw,80px)}
.t5 .big-fig img{object-position:50% 45%}
.camp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--dark-ridge);border:2px solid var(--dark-ridge)}
.camp-item{background:var(--s5-bot);padding:26px 24px 28px;display:grid;gap:10px;align-content:start}
.camp-item h3{font-size:1.55rem;letter-spacing:.05em;text-transform:uppercase}
.camp-item p{color:var(--dark-soft);font-size:.98rem}
.escuadras{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.escuadras span{font:500 .74rem/1 var(--f-mono);letter-spacing:.06em;padding:6px 8px;border:1.5px solid var(--dark-ridge);border-radius:2px}
.valores{margin-top:clamp(56px,7vw,96px);display:grid;gap:18px}
.valores ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px;align-items:baseline}
.valores li{font:700 clamp(2rem,5vw,3.6rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.valores li.sm{font-size:clamp(1.4rem,3vw,2rem);opacity:.75}
.valores li.key{color:var(--turq)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:clamp(56px,7vw,96px)}
.gallery .g{aspect-ratio:1;border:2px dashed var(--dark-ridge);display:grid;place-items:center;text-align:center;padding:10px;color:var(--dark-soft)}
.gallery .g.ill{border:0;overflow:hidden;padding:0}
.gallery .g.ill img{width:100%;height:100%;object-fit:cover;filter:none}
.ficha{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:2px;align-items:stretch;border:2px solid var(--dark-ridge);background:var(--dark-ridge)}
.ficha>div{background:var(--s5-bot);padding:18px 20px;display:grid;gap:6px}
.ficha dt{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-soft)}
.ficha dd{margin:0;font:600 1.25rem/1.1 var(--f-display);letter-spacing:.04em}
.ficha .go{display:flex;align-items:center;padding:14px 18px}
.t5 .quote{margin-top:clamp(64px,8vw,110px)}
@media (max-width:980px){ .camp-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .gallery{grid-template-columns:repeat(2,minmax(0,1fr))} .ficha{grid-template-columns:repeat(2,minmax(0,1fr))} .ficha .go{grid-column:1/-1} }
@media (max-width:760px){ .t5 .top{grid-template-columns:minmax(0,1fr)} }
@media (max-width:540px){ .camp-grid{grid-template-columns:minmax(0,1fr)} .ficha{grid-template-columns:minmax(0,1fr)} }

/* ---------- Tramo 6 · En campaña ---------- */
.t6 .top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.t6 .figure{aspect-ratio:4/5}
.t6 .figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px rgba(240,138,60,.0)}
.flame-line{font:700 clamp(1.9rem,4.4vw,3rem)/1 var(--f-display);text-transform:uppercase}
.flame-line em{font-style:normal;color:var(--fire)}
.apost{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0}
.apost li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding-block:16px;border-top:1.5px solid var(--dark-ridge)}
.apost li:last-child{border-bottom:1.5px solid var(--dark-ridge)}
.apost h3{font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase}
.apost p{color:var(--dark-soft);font-size:.98rem}
.apost .ic{color:var(--fire)}
.quotes2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:32px;margin-top:clamp(56px,7vw,96px);align-items:end}
.mas{font:700 clamp(3rem,8vw,5.6rem)/.9 var(--f-display);text-transform:uppercase;color:var(--fire);text-align:right}
@media (max-width:860px){ .t6 .top,.quotes2{grid-template-columns:minmax(0,1fr)} .mas{text-align:left} }

.subes{margin-top:clamp(80px,10vw,140px);display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;padding-top:clamp(48px,6vw,72px);border-top:3px solid var(--fire)}
.subes h2{font-size:clamp(4.4rem,17vw,10rem);line-height:.8;text-transform:uppercase;color:var(--fire)}
.subes .side{grid-column:1/-1;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:end;gap:20px 48px}
.subes .side .lead{max-width:48ch}
.subes .side h2{grid-row:span 2}
.subes .side .socials{grid-column:2}
@media (max-width:860px){ .subes .side{grid-template-columns:minmax(0,1fr)} .subes .side .socials{grid-column:auto} .subes .side h2{grid-row:auto} }
.subes .side{display:grid;gap:20px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 16px;max-width:860px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font:600 .98rem/1.1 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.field input,.field select{width:100%;min-height:50px;padding:10px 14px;border:2px solid rgba(243,247,248,.6);border-radius:2px;background:rgba(243,247,248,.06);color:var(--snow);font:400 1.05rem var(--f-body)}
.field input::placeholder{color:#9fb6be}
.field input:focus{border-color:var(--turq);outline:none;box-shadow:0 0 0 3px rgba(38,182,172,.45)}
.field .help{font-size:.86rem;color:var(--dark-soft)}
.check{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.95rem}
.check input{width:22px;height:22px;accent-color:var(--turq);flex:none;margin-top:2px}
.form .actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.form-msg{grid-column:1/-1;padding:14px 16px;border:2px solid var(--turq);border-radius:2px;font-size:.98rem}
.socials{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:860px){ .subes{grid-template-columns:minmax(0,1fr)} }
@media (max-width:520px){ .form{grid-template-columns:minmax(0,1fr)} }

/* ---------- Pie ---------- */
.foot{position:relative;color:var(--snow);background:#0b1a20;--lg-ink:var(--snow);--lg-sun:var(--snow);overflow:hidden}
.foot .sky{position:relative;height:clamp(300px,42vw,520px)}
.foot .sky img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.foot .sky::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--s6-bot) 0,rgba(17,38,47,0) 30%,rgba(11,26,32,0) 70%,#0b1a20 100%)}
.foot .sky .lg-full{position:absolute;z-index:2;left:50%;bottom:clamp(36px,6vw,70px);transform:translateX(-50%);width:clamp(110px,12vw,150px)}
.foot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-block:24px 48px}
.foot h3{font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot li{font-size:.98rem;color:#c4d6dd}
.foot .legal .cred{text-align:right;line-height:1.9}@media (max-width:860px){.foot .legal .cred{text-align:left}}
.foot .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:20px 36px;border-top:1px solid rgba(243,247,248,.16);color:#a9bec6}
.foot .lema{font-family:var(--f-hand);font-size:1.5rem;color:var(--snow)}
@media (max-width:860px){ .foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .foot .cols{grid-template-columns:minmax(0,1fr)} }

/* ---------- Páginas interiores ---------- */
.page-hero{position:relative;color:var(--snow);--lg-ink:var(--snow);--lg-sun:var(--snow);background:#1f4a5c;overflow:hidden}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,38,47,.9) 0,rgba(17,38,47,.6) 46%,rgba(17,38,47,.05) 85%)}
.page-hero .inner{position:relative;z-index:1;padding-block:clamp(72px,10vw,140px) clamp(84px,11vw,150px);display:grid;gap:22px;max-width:1200px}
.page-hero .h1{font-size:clamp(3.2rem,9vw,7.2rem)}
.crumbs{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
@media (max-width:700px){ .page-hero::after{background:linear-gradient(180deg,rgba(17,38,47,.55) 0,rgba(17,38,47,.88) 70%)} }

.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:2px solid currentColor;border-radius:2px;background:var(--card);margin-top:-56px;position:relative;z-index:3}
.facts>div{padding:18px 18px 20px;display:grid;gap:6px;border-left:2px solid currentColor}
.facts>div:first-child{border-left:0}
.facts dt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft-c)}
.facts dd{margin:0;font:600 1.2rem/1.15 var(--f-display);letter-spacing:.03em}
@media (max-width:900px){ .facts{grid-template-columns:repeat(2,minmax(0,1fr))} .facts>div{border-left:0;border-top:2px solid currentColor} .facts>div:nth-child(-n+2){border-top:0} .facts>div:nth-child(even){border-left:2px solid currentColor} .facts>div:last-child{grid-column:1/-1;border-left:0} }
.sec{padding-block:clamp(64px,8vw,112px)}
.sec-h{display:grid;gap:14px;margin-bottom:36px;max-width:760px}
.sec-h h2{font-size:clamp(2.4rem,6vw,4.4rem);text-transform:uppercase}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){ .two{grid-template-columns:minmax(0,1fr)} }
.stage-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.scard{display:grid;gap:10px;align-content:start;padding:22px;border:2px solid currentColor;border-radius:2px;background:var(--card)}
.scard .mono{color:var(--soft-c)}
.scard h3{font-size:2rem;text-transform:uppercase}
.scard p{font-size:.96rem}
@media (max-width:980px){ .stage-cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .stage-cards{grid-template-columns:minmax(0,1fr)} }
.moments{display:flex;flex-wrap:wrap;gap:10px}
.moments span{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid currentColor;border-radius:2px;font:600 1.05rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase}
.moments svg{width:22px;height:22px}
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.checklist li{border-top:1.5px solid var(--header-line)}
.checklist label{display:flex;gap:12px;align-items:center;min-height:52px;cursor:pointer}
.checklist input{width:22px;height:22px;accent-color:var(--turq);flex:none}
.checklist input:checked+span{text-decoration:line-through;opacity:.6}
@media (max-width:600px){ .checklist{grid-template-columns:minmax(0,1fr)} }
.faq{display:grid;gap:0;border-top:2px solid currentColor}
.faq details{border-bottom:2px solid currentColor}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 2px;font:700 1.3rem/1.15 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .a{padding:0 2px 22px;max-width:70ch;display:grid;gap:8px}
.testi{display:grid;gap:14px;padding:28px;border:2px dashed currentColor;border-radius:2px}
.testi p{font:italic 400 1.35rem/1.35 var(--f-body)}

/* ---------- Blog · Cuaderno de ruta ---------- */
.cat{display:inline-flex;align-items:center;gap:8px;font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.cat::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:var(--turq)}
.pmeta{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.04em;color:var(--soft-c,var(--soft))}
.pmeta span+span::before{content:"·";margin-right:14px}
.post-card{position:relative;display:grid;gap:14px;align-content:start}
.post-card .pc-img{aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:var(--sky)}
.post-card .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card h3{font:700 clamp(1.45rem,2.2vw,1.8rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.post-card h3 a{text-decoration:none}
.post-card h3 a::after{content:"";position:absolute;inset:0}
.post-card p{font-size:.98rem;color:var(--soft-c,var(--soft))}
.post-card:hover h3 a{text-decoration:underline;text-decoration-color:var(--turq);text-decoration-thickness:3px}
.post-card:hover .pc-img img{transform:scale(1.04)}
.post-card:focus-within{outline:3px solid var(--focus);outline-offset:6px}
.post-card h3 a:focus-visible{outline:none}
@media (prefers-reduced-motion:reduce){ .post-card .pc-img img{transition:none} .post-card:hover .pc-img img{transform:none} }
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
@media (max-width:980px){ .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .post-grid{grid-template-columns:minmax(0,1fr);gap:40px} }

.fuego-blog{margin-top:clamp(80px,10vw,130px);display:grid;gap:32px}
.fuego-blog .hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}
.fuego-blog h2{font-size:clamp(2.6rem,6vw,4.4rem);text-transform:uppercase}
.t-dark .post-card .pc-img{background:var(--dusk)}

.blog-hero{padding-block:clamp(56px,8vw,104px) clamp(72px,9vw,120px)}
.blog-hero .top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:24px 48px;align-items:end}
.blog-hero .h1{font-size:clamp(3.4rem,10vw,8rem)}
.blog-hero .lead{max-width:46ch}
.featured{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:center}
.featured .pc-img{aspect-ratio:16/11}
.featured h3{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.featured p{font-size:1.1rem}
.featured .fl{display:flex;align-items:center;gap:10px;font:600 .9rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase}
@media (max-width:820px){ .featured{grid-template-columns:minmax(0,1fr)} .blog-hero .top{grid-template-columns:minmax(0,1fr)} }
.filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding-block:22px;border-top:3px solid currentColor;border-bottom:1.5px solid var(--header-line);margin-bottom:48px}
.filters .chips button[aria-pressed="true"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.filters .chip span{font:400 .72rem/1 var(--f-mono);opacity:.8}
.search{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:2px solid currentColor;border-radius:2px;background:var(--chip);min-width:0;flex:0 1 280px}
.search svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2}
.search input{border:0;background:none;color:inherit;font:400 1rem var(--f-body);min-width:0;width:100%;outline:none;min-height:40px}
.search:focus-within{box-shadow:0 0 0 3px var(--turq)}
.empty{padding:40px 0;font-size:1.05rem}
.more{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin-top:56px}
.escribe{margin-top:clamp(72px,9vw,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:20px 40px;align-items:center;padding:clamp(24px,4vw,40px);border:2px solid currentColor;border-radius:2px;background:var(--card)}
.escribe h2{font-size:clamp(2rem,4.4vw,3rem);text-transform:uppercase}
.escribe .hand{font-size:1.5rem;display:block;margin-top:6px}
@media (max-width:700px){ .escribe{grid-template-columns:minmax(0,1fr)} }

.post-head{padding-block:clamp(48px,7vw,96px) 40px;display:grid;gap:22px}
.post-head h1{font-size:clamp(2.6rem,7.2vw,5.6rem);text-transform:uppercase;line-height:.9;max-width:16ch}
.post-head .dek{font:italic 400 clamp(1.15rem,2.2vw,1.45rem)/1.4 var(--f-body);max-width:46ch}
.post-cover{position:relative;aspect-ratio:21/9;max-width:1200px;margin:0 auto}
.post-cover img{position:absolute;inset:0;object-position:50% 40%}
@media (max-width:700px){ .post-cover{aspect-ratio:4/3} }
.post-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);gap:0 40px;padding-block:clamp(48px,6vw,80px) clamp(72px,9vw,120px)}
.post-body .prose{grid-column:2}
.post-body .aside{grid-column:1;justify-self:end;position:sticky;top:calc(var(--header-h) + 40px);align-self:start;display:grid;gap:10px;width:170px}
@media (max-width:1100px){ .post-body{grid-template-columns:minmax(0,1fr)} .post-body .prose,.post-body .aside{grid-column:1} .post-body .aside{position:static;width:auto;justify-self:start;grid-auto-flow:column;margin-bottom:32px} }
.aside .lbl{font:500 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.aside .btn{min-height:42px;padding:.5em .9em;font-size:.9rem}
.prose{font-size:1.15rem;line-height:1.7}
.prose>*+*{margin-top:1.1em}
.prose .lede{font-size:1.32rem;line-height:1.55}
.prose h2{font-size:clamp(1.9rem,3.6vw,2.5rem);text-transform:uppercase;margin-top:1.8em}
.prose ul{list-style:none;padding:0;display:grid;gap:12px}
.prose li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px}
.prose li::before{content:"";width:9px;height:9px;margin-top:.62em;transform:rotate(45deg);border:2px solid var(--turq-dk)}
.prose blockquote{margin:1.8em 0;padding:0;font:700 clamp(2rem,5vw,3rem)/1 var(--f-display);text-transform:uppercase;text-wrap:balance}
.prose blockquote .hand{display:block;margin-top:14px;font-size:1.4rem;text-transform:none;font-weight:400;color:var(--soft)}
.prose figure{margin:2em 0}
.prose figcaption{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.04em;color:var(--soft);margin-top:10px}
.prose .note{padding:16px 18px;border:2px dashed currentColor;border-radius:2px;font-size:.95rem}
.post-end{margin-top:3em;padding-top:28px;border-top:3px solid currentColor;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}
.pn a{display:grid;gap:8px;padding:18px 20px;border:2px solid currentColor;border-radius:2px;text-decoration:none}
.pn a:hover{box-shadow:inset 0 -4px 0 var(--turq)}
.pn a.next{text-align:right}
.pn b{font:700 1.3rem/1.05 var(--f-display);text-transform:uppercase}
@media (max-width:600px){ .pn{grid-template-columns:minmax(0,1fr)} .pn a.next{text-align:left} }
.noridge::before,.noridge::after{display:none}
.copied{font:500 .74rem/1 var(--f-mono);color:var(--soft)}

/* ---------- Para padres ---------- */
.parent-link{display:inline-flex;align-items:center;gap:10px;font:600 1rem/1.2 var(--f-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding-block:6px;border-bottom:2px solid var(--turq);width:fit-content}
.parent-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square}
.ph-hero img{object-position:50% 38%}
.facts.f4{grid-template-columns:repeat(4,minmax(0,1fr))}
.facts.f3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){ .facts.f4{grid-template-columns:repeat(2,minmax(0,1fr))} .facts.f4>div:last-child{grid-column:auto;border-left:2px solid currentColor} }
.lead-xl{font:400 clamp(1.25rem,2.4vw,1.55rem)/1.45 var(--f-body);max-width:40ch}
.points{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.points li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start}
.points h3{font-size:1.4rem;letter-spacing:.05em;text-transform:uppercase}
.points p{color:var(--soft-c,var(--soft));margin-top:4px}
.rhythm4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:2px solid currentColor;border-radius:2px;background:var(--card)}
.rhythm4>div{padding:22px 20px 24px;display:grid;gap:10px;align-content:start;border-left:2px solid currentColor}
.rhythm4>div:first-child{border-left:0}
.rhythm4 .mono{letter-spacing:.14em;text-transform:uppercase}
.rhythm4 h3{font-size:1.7rem;text-transform:uppercase}
.rhythm4 ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.98rem}
@media (max-width:900px){ .rhythm4{grid-template-columns:repeat(2,minmax(0,1fr))} .rhythm4>div:nth-child(3){border-left:0} .rhythm4>div:nth-child(n+3){border-top:2px solid currentColor} }
@media (max-width:520px){ .rhythm4{grid-template-columns:minmax(0,1fr)} .rhythm4>div{border-left:0} .rhythm4>div+div{border-top:2px solid currentColor} }
.stage-table{width:100%;border-collapse:collapse;min-width:640px}
.stage-table th,.stage-table td{text-align:left;vertical-align:top;padding:16px 14px 16px 0;border-bottom:1.5px solid currentColor}
.stage-table thead th{font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;border-bottom-width:3px}
.stage-table tbody th{font:700 1.5rem/1 var(--f-display);text-transform:uppercase;width:24%}
.stage-table td{font-size:.98rem}
.stage-table .mono{display:block;font-size:.76rem}
.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--dark-ridge);border:2px solid var(--dark-ridge)}
.care{background:var(--s5-bot);padding:24px 22px 26px;display:grid;gap:10px;align-content:start}
.care h3{font-size:1.45rem;letter-spacing:.05em;text-transform:uppercase}
.care p{color:var(--dark-soft);font-size:.97rem}
.care .doc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px;font:500 .74rem/1.3 var(--f-mono);color:var(--dark-soft)}
@media (max-width:980px){ .care-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .care-grid{grid-template-columns:minmax(0,1fr)} }
.quote-parent{display:grid;gap:14px;padding:clamp(24px,4vw,40px);border:2px dashed currentColor;border-radius:2px}
.quote-parent p{font:italic 400 clamp(1.2rem,2.4vw,1.5rem)/1.4 var(--f-body)}
.contact-alt{display:grid;gap:12px}
.contact-alt div{display:grid;gap:4px;padding-block:14px;border-top:1.5px solid var(--dark-ridge)}
.contact-alt dt{font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dark-soft)}
.contact-alt dd{margin:0;font:600 1.2rem/1.2 var(--f-display);letter-spacing:.04em}
.field textarea{width:100%;min-height:120px;padding:12px 14px;border:2px solid rgba(243,247,248,.6);border-radius:2px;background:rgba(243,247,248,.06);color:var(--snow);font:400 1.05rem/1.5 var(--f-body);resize:vertical}
.field textarea:focus,.field select:focus{border-color:var(--turq);outline:none;box-shadow:0 0 0 3px rgba(38,182,172,.45)}

/* ---------- Conector Familia de Santa María ---------- */
.fam{position:relative;display:flex;align-items:center;padding-left:16px;border-left:1px solid var(--header-line);margin-left:2px}
.fam-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:2px solid var(--header-line);border-radius:2px;background:none;color:var(--text);cursor:pointer}
.fam-btn:hover,.fam-btn[aria-expanded="true"]{border-color:var(--text)}
.dots{display:inline-flex}
.dots i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px var(--header)}
.dots i+i{margin-left:-4px}
.fam-btn .chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;transition:transform .2s}
.fam-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.fam-panel{position:absolute;top:calc(100% + 12px);left:16px;z-index:80;width:min(400px,calc(100vw - 32px));background:var(--header);color:var(--text);border:2px solid var(--text);border-top:4px solid var(--turq);border-radius:2px;box-shadow:0 18px 40px rgba(17,38,47,.22);padding:16px 12px 12px}
.fam-h{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:2px 8px 12px}
.fam-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fam-list a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:12px 10px;border:2px solid transparent;border-radius:2px;text-decoration:none;color:inherit}
.fam-list a:hover{border-color:var(--header-line);background:var(--chip)}
.fam-list a[aria-current="page"]{border-color:var(--turq);background:var(--chip)}
.fam-list svg.sym{width:40px;height:34px;--lg-ink:var(--text)}
.fam-list b{display:block;font:700 1.3rem/1.05 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.fam-list small{display:block;margin-top:4px;font-size:.92rem;color:var(--soft)}
.fam-list em{display:inline-block;margin-top:6px;font:500 .66rem/1 var(--f-mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;padding:4px 7px;border:1.5px solid var(--turq);border-radius:2px}
.fam-list .ext{width:12px;height:12px;margin-left:6px;vertical-align:1px;fill:none;stroke:currentColor;stroke-width:2.4}
.fam-f{margin-top:10px;padding:12px 8px 2px;border-top:1px solid var(--header-line);font-size:.88rem;color:var(--soft)}
.fam-m{display:none}
@media (max-width:1180px){
  .site-header .fam{display:none}
  .fam-m{display:block;margin-top:18px;padding-top:6px}
  .nav .fam-m .fam-list a[aria-current="page"]{border:2px solid var(--turq)}
  .nav .fam-m .fam-list a:not([aria-current]){border:2px solid transparent}
  .nav .fam-m .fam-list a{display:grid;padding:10px 6px;font:400 1rem/1.4 var(--f-body);letter-spacing:normal;text-transform:none;box-shadow:none}
}

/* ---------- Próximas actividades ---------- */
.acts{display:grid}
.month{font:500 .76rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:30px 0 12px}
.month:first-child{padding-top:0}
.act{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:8px 24px;align-items:start;padding:22px 0;border-top:1.5px solid currentColor}
.acts .act:last-child{border-bottom:1.5px solid currentColor}
.when{display:grid;justify-items:center;gap:4px;padding:12px 6px 10px;border:2px solid currentColor;border-radius:2px;text-align:center;font-variant-numeric:tabular-nums}
.when b{font:700 2.5rem/.9 var(--f-display)}
.when b.rng{font-size:1.75rem;white-space:nowrap;letter-spacing:-.01em}
.act-feat .when b.rng{font-size:2.6rem}
.when span{font:500 .7rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.act .body{display:grid;gap:8px;min-width:0}
.act h3,.act h4{font:700 clamp(1.45rem,2.4vw,1.85rem)/1 var(--f-display);text-transform:uppercase;text-wrap:balance}
.act .info{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--f-mono);font-size:.76rem;color:var(--soft-c,var(--soft))}
.act .info span+span::before{content:"·";margin-right:14px}
.etqs{display:flex;flex-wrap:wrap;gap:6px}
.etqs span{font:500 .7rem/1 var(--f-mono);letter-spacing:.06em;padding:5px 7px;border:1.5px solid currentColor;border-radius:2px}
.act .side{display:grid;gap:10px;justify-items:end;text-align:right}
.act .act-x{font-size:1rem;max-width:56ch}
.act .btn{min-height:44px;padding:.55em 1em;font-size:.95rem}
.ej{font:500 .62rem/1 var(--f-mono);letter-spacing:.1em;opacity:.7}
@media (max-width:700px){
  .act{grid-template-columns:72px minmax(0,1fr)}
  .when b{font-size:2rem}
  .when b.rng{font-size:1.3rem}
  .act .side{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center;justify-items:start;text-align:left}
}
.act-feat{display:grid;gap:16px;padding:clamp(22px,3vw,32px);border:3px solid currentColor;border-radius:2px;background:var(--card);align-content:start}
.act-feat .when{justify-self:start;padding:14px 16px 12px}
.act-feat .when b{font-size:3.6rem}
.act-feat h2{font-size:clamp(2rem,4vw,3rem);text-transform:uppercase}
.acts-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:end}
@media (max-width:860px){ .acts-hero{grid-template-columns:minmax(0,1fr)} }
.act-filters{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-block:20px;border-top:3px solid currentColor;border-bottom:1.5px solid var(--header-line);margin-bottom:36px}
.act-filters [aria-pressed="true"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.act-filters select{min-height:44px;padding:0 36px 0 12px;border:2px solid currentColor;border-radius:2px;background:var(--chip);color:inherit;font:600 1rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase}
.act-empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 28px;align-items:start;padding:clamp(24px,4vw,40px);border:2px dashed currentColor;border-radius:2px}
.act-empty svg.ic{width:48px;height:48px}
.act-empty h3{font-size:clamp(1.8rem,3.6vw,2.6rem);text-transform:uppercase}
.act-empty p{margin-top:8px;max-width:56ch}
.act-empty .cta-row{margin-top:18px}
@media (max-width:600px){ .act-empty{grid-template-columns:minmax(0,1fr)} }
.home-acts{margin-top:clamp(64px,8vw,104px);display:grid;gap:24px}
.home-acts .hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.home-acts h3.kicker{margin:0}
.weekly{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.weekly .scard h3{font-size:1.6rem}
@media (max-width:860px){ .weekly{grid-template-columns:minmax(0,1fr)} }

/* ---------- Apúntate ---------- */
.ap-hero img{object-position:50% 62%}
.ap-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:900px){ .ap-grid{grid-template-columns:minmax(0,1fr)} }
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:st}
.steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding-block:20px;border-top:1.5px solid var(--dark-ridge)}
.steps li:last-child{border-bottom:1.5px solid var(--dark-ridge)}
.steps li::before{counter-increment:st;content:counter(st);font:700 2.6rem/.9 var(--f-display);color:var(--fire)}
.steps h3{font-size:1.5rem;letter-spacing:.05em;text-transform:uppercase}
.steps p{color:var(--dark-soft);margin-top:4px}
.seg{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}
.seg legend{font:600 .98rem/1.1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;padding:0}
.seg label{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border:2px solid rgba(243,247,248,.6);border-radius:2px;cursor:pointer;font:600 1.05rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label:has(input:checked){background:var(--turq);border-color:var(--turq);color:var(--night)}
.seg label:has(input:focus-visible){outline:3px solid var(--snow);outline-offset:3px}
.cf7-note{grid-column:1/-1;font:500 .7rem/1.4 var(--f-mono);letter-spacing:.04em;color:var(--dark-soft)}
.hogares{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:900px){ .hogares{grid-template-columns:minmax(0,1fr)} }
.hogar-main{display:grid;gap:14px;padding:clamp(24px,3vw,36px);border:3px solid currentColor;border-radius:2px;background:var(--card)}
.hogar-main .tag{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;background:var(--turq);color:var(--night);width:fit-content;border-radius:2px}
.hogar-main h3{font-size:clamp(3rem,6vw,4.6rem);text-transform:uppercase;line-height:.85}
.hogar-main .tel{font:700 clamp(1.8rem,3.4vw,2.4rem)/1 var(--f-display);letter-spacing:.04em;text-decoration:none;width:fit-content;border-bottom:3px solid var(--turq);font-variant-numeric:tabular-nums;user-select:all}
.countries{display:grid;gap:36px}
.country h3{font:500 .76rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.country h3 span{opacity:.7}
.city-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.city-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:14px;border-top:1.5px solid currentColor}
.city-list b{font:700 1.4rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.city-list a{font-family:var(--f-mono);font-size:.9rem;text-decoration-thickness:2px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:520px){ .city-list{grid-template-columns:minmax(0,1fr)} }
.ap-also{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ap-also>div{display:grid;gap:12px;align-content:start;padding:24px;border:2px solid currentColor;border-radius:2px}
.ap-also h3{font-size:1.7rem;text-transform:uppercase}
@media (max-width:700px){ .ap-also{grid-template-columns:minmax(0,1fr)} }

/* ---------- Enlaces externos: se abren en ventana nueva y se ve ---------- */
a[target="_blank"]::after{content:"";display:inline-block;width:.78em;height:.78em;margin-left:.32em;vertical-align:-.04em;background:currentColor;-webkit-mask:var(--ext-icon) center/contain no-repeat;mask:var(--ext-icon) center/contain no-repeat;flex:none}
[data-ext="inline"] a[target="_blank"]::after{content:none}
.btn[target="_blank"]::after{width:.9em;height:.9em;margin-left:0}
.ext-tip{position:absolute;z-index:90;pointer-events:none;font:500 .7rem/1 var(--f-mono);letter-spacing:.06em;padding:6px 8px;background:var(--text);color:var(--page);border-radius:2px;white-space:nowrap}

/* ---------- La oración del militante ---------- */
.oracion{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 32px;align-items:center;padding:clamp(22px,3vw,34px);border:3px solid currentColor;border-radius:2px;background:var(--card)}
.oracion svg.ic{width:44px;height:44px}
.oracion h3{font-size:clamp(1.8rem,3.6vw,2.6rem);text-transform:uppercase}
.oracion p{margin-top:6px;max-width:56ch}
@media (max-width:760px){ .oracion{grid-template-columns:minmax(0,1fr)} }
.rh-link{display:inline-flex;margin-top:4px;font:600 1rem/1.2 var(--f-display);letter-spacing:.1em;text-transform:uppercase}

/* ---------- Volver arriba ---------- */
.to-top{position:fixed;z-index:65;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:60px;display:grid;place-items:center;align-content:center;gap:2px;padding:0;border:2px solid var(--text);border-radius:2px;background:var(--header);color:var(--text);cursor:pointer;box-shadow:0 8px 22px rgba(17,38,47,.18);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linejoin:miter;stroke-linecap:square}
.to-top span{font:500 .58rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.to-top:hover{background:var(--turq);border-color:var(--turq);color:var(--night)}
@media (min-width:1280px){ body.v-home .to-top{right:calc(max(22px,env(safe-area-inset-right,0px)) + 84px)} }
@media (prefers-reduced-motion:reduce){ .to-top{transition:none;transform:none} }

/* ---------- Quiénes somos ---------- */
.qs-hero img{object-position:50% 60%}
.family3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
.fcol{display:grid;gap:12px;align-content:start;padding:26px 24px;border:2px solid currentColor;border-radius:2px;background:var(--card)}
.fcol.here{border:3px solid var(--turq)}
.fcol svg.sym{width:64px;height:54px;--lg-ink:currentColor}
.fcol h3{font-size:1.9rem;text-transform:uppercase;line-height:.95}
.fcol .mono{color:var(--soft-c,var(--soft))}
.fcol em{font:500 .66rem/1 var(--f-mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;padding:5px 7px;border:1.5px solid var(--turq);border-radius:2px;width:fit-content}
.root-line{display:flex;align-items:center;gap:14px;margin-bottom:22px;font:600 1.05rem/1.2 var(--f-display);letter-spacing:.1em;text-transform:uppercase}
.root-line::after{content:"";flex:1;height:3px;background:currentColor}
@media (max-width:860px){ .family3{grid-template-columns:minmax(0,1fr)} }
.vtl{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:880px}
.vtl li{display:grid;grid-template-columns:150px 36px minmax(0,1fr);gap:0 18px;padding-bottom:34px;position:relative}
.vtl li::before{content:"";position:absolute;left:167px;top:30px;bottom:0;width:3px;background:currentColor;opacity:.35}
.vtl li:last-child::before{display:none}
.vtl .y{font:700 2.2rem/1 var(--f-display);text-align:right;font-variant-numeric:tabular-nums}
.vtl .n{width:36px;height:36px;display:grid;place-items:center}
.vtl .n svg{width:28px;height:28px}
.vtl h3{font-size:1.45rem;letter-spacing:.05em;text-transform:uppercase}
.vtl p{color:var(--soft-c,var(--soft));margin-top:6px;max-width:58ch}
.vtl q{display:block;margin-top:8px;font-family:var(--f-hand);font-size:1.35rem;line-height:1.3;color:var(--fg,var(--text))}
@media (max-width:640px){ .vtl li{grid-template-columns:36px minmax(0,1fr)} .vtl .y{grid-column:2;text-align:left;font-size:1.8rem;margin-bottom:6px} .vtl .n{grid-row:1/3;grid-column:1} .vtl li>div{grid-column:2} .vtl li::before{left:17px} }
.people-big{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pbig{display:grid;gap:14px;align-content:start}
.pbig .ph{aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--night)}
.pbig .ph img{width:100%;height:100%;object-fit:cover}
.pbig h3{font-size:1.8rem;text-transform:uppercase}
.pbig p{color:var(--dark-soft)}
@media (max-width:860px){ .people-big{grid-template-columns:minmax(0,1fr);max-width:420px} }
.ideas{display:grid;gap:28px;max-width:900px}
.ideas blockquote{margin:0;font:700 clamp(1.8rem,4.6vw,3.2rem)/1 var(--f-display);text-transform:uppercase;text-wrap:balance}
.ideas .hand{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--turq)}
.ideas figcaption{font:500 .74rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:var(--dark-soft)}
.cities{display:flex;flex-wrap:wrap;gap:8px}
.cities span{font:700 1.25rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;border:2px solid currentColor;border-radius:2px}
.cities span.main{background:var(--turq);border-color:var(--turq);color:var(--night)}

/* ---------- Etapas ---------- */
.et-hero{position:relative;color:var(--snow);--lg-ink:var(--snow);--lg-sun:var(--snow);background:#1f4a5c;overflow:hidden}
.et-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.et-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,38,47,.92) 0,rgba(17,38,47,.65) 48%,rgba(17,38,47,.1) 88%)}
.et-hero .inner{position:relative;z-index:1;padding-block:clamp(40px,6vw,72px) clamp(84px,11vw,140px);display:grid;gap:20px}
.et-hero .h1{font-size:clamp(3.2rem,10vw,7.6rem)}
@media (max-width:700px){ .et-hero::after{background:linear-gradient(180deg,rgba(17,38,47,.6) 0,rgba(17,38,47,.9) 70%)} }
.et-switch{display:flex;flex-wrap:wrap;gap:8px}
.et-switch a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid rgba(243,247,248,.7);border-radius:2px;font:600 1rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--snow)}
.et-switch a small{font:400 .7rem/1 var(--f-mono);opacity:.8;text-transform:none;letter-spacing:.02em}
.et-switch a[aria-current="page"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.et-switch a:hover:not([aria-current]){border-color:var(--turq)}
.que-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.que{display:grid;gap:10px;align-content:start;padding:24px 22px;border-top:3px solid currentColor;background:var(--card)}
.que h3{font-size:1.6rem;text-transform:uppercase}
.que p{color:var(--soft-c,var(--soft))}
@media (max-width:860px){ .que-grid{grid-template-columns:minmax(0,1fr)} }
.compromisos{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:cp}
.compromisos li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding-block:18px;border-top:1.5px solid currentColor}
.compromisos li:last-child{border-bottom:1.5px solid currentColor}
.compromisos li::before{counter-increment:cp;content:counter(cp);font:700 2.4rem/.9 var(--f-display);color:var(--turq-dk)}
.t-dark .compromisos li::before{color:var(--turq)}
.ruta-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ruta-next a{display:grid;gap:8px;padding:22px;border:2px solid currentColor;border-radius:2px;text-decoration:none}
.ruta-next a:hover{box-shadow:inset 0 -4px 0 var(--turq)}
.ruta-next a.next{text-align:right}
.ruta-next b{font:700 2rem/1 var(--f-display);text-transform:uppercase}
@media (max-width:600px){ .ruta-next{grid-template-columns:minmax(0,1fr)} .ruta-next a.next{text-align:left} }

/* ---------- Páginas legales ---------- */
.legal-head{padding-block:clamp(48px,7vw,88px) 28px;display:grid;gap:20px}
.legal-head .h1{font-size:clamp(2.8rem,8vw,5.6rem)}
.legal-tabs{display:flex;flex-wrap:wrap;gap:8px}
.legal-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid currentColor;border-radius:2px;font:600 1rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.legal-tabs a[aria-current="page"]{background:var(--turq);border-color:var(--turq);color:var(--night)}
.legal-body{padding-block:24px clamp(72px,9vw,120px)}
.legal-body .prose{max-width:720px;font-size:1.05rem}
.legal-body .prose h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:1.6em}
.legal-body .prose h3{font:700 1.25rem/1.1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;margin-top:1.4em}
.legal-body .prose ul li::before{border-color:var(--turq-dk)}
.legal-body .prose dl{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px 20px;margin:1em 0;padding:18px 20px;border:2px solid currentColor;border-radius:2px;background:var(--card)}
.legal-body .prose dt{font:500 .74rem/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.legal-body .prose dd{margin:0}
@media (max-width:600px){ .legal-body .prose dl{grid-template-columns:minmax(0,1fr)} .legal-body .prose dd{margin-bottom:8px} }
.legal-body .meta{font:500 .78rem/1.4 var(--f-mono);color:var(--soft)}
.tldr{padding:20px 22px;border:3px solid var(--turq);border-radius:2px;background:var(--card)}
.tldr h2{margin-top:0!important;font-size:1.5rem!important}
.adapt{font:500 .74rem/1.5 var(--f-mono);padding:12px 14px;border:2px dashed currentColor;border-radius:2px;color:var(--soft)}
.form-warn{grid-column:1/-1;padding:12px 14px;border:2px solid var(--fire);border-radius:2px;font-size:.95rem}

/* ---------- Vídeo (fachada: carga YouTube solo al pulsar) ---------- */
.video{position:relative;display:block;aspect-ratio:16/9;max-width:100%;overflow:hidden;border-radius:2px;background:#0b1a20;color:var(--snow);text-decoration:none;--lg-ink:var(--snow)}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,32,.1) 0,rgba(11,26,32,.25) 45%,rgba(11,26,32,.88) 100%)}
.video .play{position:absolute;z-index:1;left:50%;top:45%;transform:translate(-50%,-50%);width:92px;height:92px;display:grid;place-items:center;background:var(--fire);color:var(--night);border-radius:2px;transition:transform .2s}
.video .play svg{width:34px;height:34px;fill:currentColor;margin-left:5px}
.video .cap{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(16px,3vw,32px);display:grid;gap:8px}
.video .cap b{font:700 clamp(1.4rem,3.2vw,2.4rem)/1 var(--f-display);text-transform:uppercase;text-wrap:balance}
.video .cap span{font:500 .74rem/1.3 var(--f-mono);letter-spacing:.06em;color:#c4d6dd}
.video:hover img{transform:scale(1.03)}
.video:hover .play{transform:translate(-50%,-50%) scale(1.06)}
.video:focus-visible{outline:3px solid var(--snow);outline-offset:4px}
.video[target="_blank"]::after{width:auto;height:auto;margin:0;-webkit-mask:none;mask:none;background:linear-gradient(180deg,rgba(11,26,32,.1) 0,rgba(11,26,32,.25) 45%,rgba(11,26,32,.88) 100%);display:block}
@media (prefers-reduced-motion:reduce){ .video img,.video .play{transition:none} }
q{quotes:"«" "»" "“" "”"}

/* ---------- Aviso de cookies ---------- */
.ck{position:fixed;z-index:85;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(760px,calc(100vw - 32px));background:var(--header);color:var(--text);border:2px solid var(--text);border-top:4px solid var(--turq);border-radius:2px;box-shadow:0 18px 44px rgba(17,38,47,.28);padding:20px 22px 18px;display:grid;gap:14px}
.ck-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.ck-top svg.sym{width:46px;height:40px;--lg-ink:var(--text)}
.ck h2{font:700 1.5rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.ck p{font-size:.96rem;margin-top:6px}
.ck-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ck-actions .btn{min-height:46px;flex:1 1 140px}
.ck-btn{background:var(--text);border-color:var(--text);color:var(--page)}
.ck-btn:hover{background:var(--turq);border-color:var(--turq);color:var(--night)}
.ck-link{background:none;border:0;padding:10px 4px;font:600 .95rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:inherit;text-decoration:underline;text-decoration-color:var(--turq);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.ck-set{display:grid;gap:0;border-top:1.5px solid var(--header-line)}
.ck-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding-block:14px;border-bottom:1.5px solid var(--header-line)}
.ck-row b{font:700 1.15rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.ck-row p{margin-top:4px;font-size:.9rem;color:var(--soft)}
.ck-always{font:500 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;border:1.5px solid currentColor;border-radius:2px;white-space:nowrap}
.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:500 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch .tr{width:52px;height:30px;border:2px solid var(--text);border-radius:2px;position:relative;transition:background .2s}
.switch .tr::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--text);border-radius:1px;transition:transform .2s}
.switch input:checked+.tr{background:var(--turq);border-color:var(--turq)}
.switch input:checked+.tr::after{transform:translateX(22px);background:var(--night)}
.switch input:focus-visible+.tr{outline:3px solid var(--focus);outline-offset:3px}
@media (prefers-reduced-motion:reduce){ .switch .tr,.switch .tr::after{transition:none} }
.ck-fab{position:fixed;z-index:64;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:40px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;background:var(--header);color:var(--text);border:2px solid var(--text);border-radius:2px;font:500 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 18px rgba(17,38,47,.16)}
.ck-fab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
.ck-fab:hover{border-color:var(--turq)}
@media (max-width:600px){ .ck{bottom:0;width:100%;left:0;transform:none;border-left:0;border-right:0;border-bottom:0;padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))} .ck-top svg.sym{display:none} .ck-top{grid-template-columns:minmax(0,1fr)} }

/* ---------- 404 ---------- */
.nf{position:relative;min-height:calc(100svh - var(--header-h));display:grid;align-items:end;color:var(--snow);background:#1d4556;overflow:hidden;--lg-ink:var(--snow);--lg-sun:var(--snow)}
.nf>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.nf::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,38,47,.15) 0,rgba(17,38,47,.35) 40%,rgba(17,38,47,.92) 82%)}
.nf .inner{position:relative;z-index:1;padding-block:clamp(56px,10vw,120px) clamp(56px,8vw,96px);display:grid;gap:20px}
.nf .big{font:700 clamp(6rem,24vw,15rem)/.8 var(--f-display);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:3px var(--snow)}
.nf .h1{font-size:clamp(2.8rem,8vw,6rem)}
.nf .data{display:flex;flex-wrap:wrap;gap:6px 18px;color:#c4d6dd}
.nf .data span+span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:12px;transform:rotate(45deg);border:1.5px solid currentColor;vertical-align:2px}
.nf-links{display:flex;flex-wrap:wrap;gap:10px}
