/* ==========================================================================
   NĀGO · Sistema visual "Tech cálido" — v2
   Una sola hoja para todo el sitio. Sin dependencias.
   ========================================================================== */

/* Geist (SIL Open Font License, ver fuentes/OFL.txt), alojada en el sitio: sin solicitudes a terceros */
@font-face{font-family:'Geist';src:url(/assets/nago/fuentes/geist.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(/assets/nago/fuentes/geist-mono.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --tinta:#0B1F19; --bosque:#024133; --bosque-2:#0B5A47; --bosque-3:#13372D;
  --arena:#F4EFE6; --arena-2:#EDE6D9; --hueso:#FBF9F4; --salvia:#DCE8DF; --salvia-2:#E9F0EA;
  --lima:#C8F169; --lima-2:#B6E24F; --terracota:#C47A4A; --terracota-2:#F2D9C6; --cielo:#CFE3E8;
  --gris:#3E4F48; --gris-2:#5B6B65; --gris-3:#8A968F;
  --linea:rgba(11,31,25,.12); --linea-2:rgba(11,31,25,.07); --linea-clara:rgba(244,239,230,.16);
  --sombra-1:0 1px 2px rgba(11,31,25,.06),0 8px 24px rgba(11,31,25,.06);
  --sombra-2:0 2px 6px rgba(11,31,25,.06),0 24px 60px rgba(11,31,25,.12);
  --sombra-3:0 30px 80px rgba(0,0,0,.38);
  --r-s:12px; --r-m:20px; --r-l:28px; --r-xl:40px;
  --f:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ancho:1320px; --gutter:clamp(18px,4vw,48px);
  --cab-alto:76px;
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--cab-alto) + 16px)}
body{margin:0;background:var(--arena);color:var(--tinta);font-family:var(--f);font-size:18px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}
[hidden]{display:none!important}
img,svg,video{max-width:100%;display:block}
img{height:auto}
body{overflow-x:clip}
a{color:var(--bosque);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--bosque-2)}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
ul,ol{padding-left:1.2em}
::selection{background:var(--lima);color:var(--tinta)}
:focus-visible{outline:3px solid var(--lima);outline-offset:3px;border-radius:6px}
.sec-clara :focus-visible,.sec-arena :focus-visible,.sec-hueso :focus-visible,.sec-salvia :focus-visible{outline-color:var(--bosque)}
.saltar{position:absolute;left:12px;top:-60px;z-index:200;background:var(--lima);color:var(--tinta);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none;transition:top .2s}
.saltar:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.num{font-variant-numeric:tabular-nums}

/* ---------- Layout ---------- */
.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.contenedor.angosto{max-width:980px}
.contenedor.texto{max-width:760px}
.sec{position:relative;padding:clamp(72px,10vw,136px) 0;overflow-x:clip}
.sec.compacta{padding:clamp(48px,6vw,80px) 0}
.sec-oscura{background:var(--tinta);color:var(--arena)}
.sec-bosque{background:var(--bosque);color:var(--arena)}
.sec-arena{background:var(--arena)}
.sec-hueso{background:var(--hueso)}
.sec-salvia{background:var(--salvia-2)}
.sec-lima{background:var(--lima);color:var(--tinta)}
.puntos{background-image:radial-gradient(rgba(244,239,230,.10) 1px,transparent 1px);background-size:24px 24px}
.puntos-osc{background-image:radial-gradient(rgba(2,65,51,.09) 1px,transparent 1px);background-size:24px 24px}
.grilla{display:grid;gap:clamp(16px,2vw,24px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dividida{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.dividida.inicio{align-items:start}
.pila{display:flex;flex-direction:column;gap:var(--gap,20px)}
.fila{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap,12px)}
.centro{text-align:center}
.centro .lead,.centro .titulo-sec{margin-left:auto;margin-right:auto}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.dividida{grid-template-columns:1fr}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}body{font-size:17px}}

/* ---------- Tipografía ---------- */
.display{font-size:clamp(46px,7.4vw,104px);line-height:.98;letter-spacing:-.05em;font-weight:600}
.h1{font-size:clamp(40px,5.6vw,80px);line-height:1.02;letter-spacing:-.045em}
.titulo-sec{font-size:clamp(34px,4.4vw,62px);line-height:1.04;letter-spacing:-.04em;max-width:18ch}
.h3{font-size:clamp(22px,2vw,28px);line-height:1.18;letter-spacing:-.025em}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--gris);max-width:46ch}
.sec-oscura .lead,.sec-bosque .lead,.hero-osc .lead{color:rgba(244,239,230,.78)}
.chico{font-size:15px}
.mini{font-size:13px}
.atenuado{color:var(--gris-2)}
.sec-oscura .atenuado,.sec-bosque .atenuado{color:rgba(244,239,230,.62)}
.acento{color:var(--lima)}
.acento-b{color:var(--bosque)}
.subrayado{background:linear-gradient(transparent 62%,rgba(200,241,105,.75) 62%);padding:0 .06em}
.serif-it{font-style:italic;font-weight:400}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-2)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bosque);flex:none}
.sec-oscura .eyebrow,.sec-bosque .eyebrow,.hero-osc .eyebrow{color:rgba(244,239,230,.72)}
.sec-oscura .eyebrow::before,.sec-bosque .eyebrow::before,.hero-osc .eyebrow::before{background:var(--lima);animation:pulso 2.2s ease-out infinite}
.pildora{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--linea);font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}
.hero-osc .pildora,.sec-oscura .pildora{border-color:var(--linea-clara);color:rgba(244,239,230,.86)}
.pildora .punto{width:8px;height:8px;border-radius:50%;background:var(--lima);animation:pulso 2.2s ease-out infinite}
.mono{font-family:var(--mono);letter-spacing:.02em}
.pila>.pildora,.pila>.eyebrow{align-self:flex-start}
.centro>.eyebrow,.centro .pila>.eyebrow,.pila.centro>.eyebrow{align-self:center;justify-content:center}
.cifra{font-size:clamp(44px,5vw,72px);font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}

/* ---------- Botones ---------- */
.btn{--bg:var(--bosque);--fg:var(--arena);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;
  background:var(--bg);color:var(--fg);font-weight:600;font-size:17px;line-height:1.2;text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s;white-space:nowrap}
.btn:hover{color:var(--fg);transform:translateY(-2px);box-shadow:0 14px 34px rgba(2,65,51,.22)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px;flex:none;transition:transform .25s var(--ease)}
.btn:hover svg.flecha{transform:translateX(3px)}
.btn-lima{--bg:var(--lima);--fg:var(--tinta)}
.btn-lima:hover{box-shadow:0 14px 34px rgba(200,241,105,.38)}
.btn-borde{--bg:transparent;--fg:var(--tinta);border-color:var(--linea)}
.btn-borde:hover{border-color:var(--tinta);box-shadow:none}
.hero-osc .btn-borde,.sec-oscura .btn-borde,.sec-bosque .btn-borde{--fg:var(--arena);border-color:rgba(244,239,230,.3)}
.hero-osc .btn-borde:hover,.sec-oscura .btn-borde:hover,.sec-bosque .btn-borde:hover{border-color:var(--arena)}
.btn-grande{min-height:62px;padding:18px 32px;font-size:18px}
.btn-chico{min-height:42px;padding:9px 18px;font-size:15px}
.enlace{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;color:var(--bosque);border-bottom:1.5px solid currentColor;padding-bottom:2px}
.enlace:hover{gap:12px}
.enlace{transition:gap .25s var(--ease)}
.sec-oscura .enlace,.sec-bosque .enlace,.hero-osc .enlace{color:var(--lima)}
.wa-ico{width:20px;height:20px}

/* ---------- Cabecera ---------- */
.cab{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--cab-alto);display:flex;align-items:center;color:var(--tinta);
  transition:background-color .35s,box-shadow .35s,color .35s,transform .45s var(--ease)}
.cab::before{content:"";position:absolute;inset:0;background:rgba(244,239,230,.78);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);
  border-bottom:1px solid var(--linea-2);opacity:0;transition:opacity .35s;pointer-events:none}
.cab.con-fondo::before{opacity:1}
.cab-osc .cab:not(.con-fondo){color:var(--arena)}
.cab.oculta{transform:translateY(-100%)}
.cab .contenedor{position:relative;display:flex;align-items:center;gap:24px}
.logo{display:block;width:92px;height:27px;background:currentColor;-webkit-mask:url(/nago-wordmark.svg) left center/contain no-repeat;mask:url(/nago-wordmark.svg) left center/contain no-repeat;flex:none}
.cab-logo{color:inherit;display:flex;align-items:center;padding:8px 0}
.cab-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.cab-nav>a,.cab-mas>button{position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-size:15.5px;font-weight:500;color:inherit;text-decoration:none;background:none;border:0;cursor:pointer;opacity:.86;transition:opacity .2s,background-color .2s}
.cab-nav>a:hover,.cab-mas>button:hover,.cab-mas.abierto>button{opacity:1;background:rgba(11,31,25,.06)}
.cab-osc .cab:not(.con-fondo) .cab-nav>a:hover,.cab-osc .cab:not(.con-fondo) .cab-mas>button:hover{background:rgba(244,239,230,.1)}
.cab-nav>a[aria-current="page"]{opacity:1}
.cab-nav>a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--lima)}
.cab-mas{position:relative}
.cab-mas>button svg{width:14px;height:14px;transition:transform .25s}
.cab-mas.abierto>button svg{transform:rotate(180deg)}
.mega{position:absolute;right:-120px;top:calc(100% + 12px);width:min(760px,calc(100vw - 40px));background:var(--hueso);color:var(--tinta);border-radius:var(--r-l);box-shadow:var(--sombra-2);border:1px solid var(--linea-2);
  display:grid;grid-template-columns:1fr 1fr 250px;gap:8px;padding:14px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
.cab-mas.abierto .mega{opacity:1;visibility:visible;transform:none}
.mega-col{display:flex;flex-direction:column;padding:8px}
.mega-col h3{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-2);font-weight:500;margin:4px 10px 8px}
.mega-col a{display:block;padding:10px;border-radius:12px;text-decoration:none;color:var(--tinta);font-weight:600;font-size:15.5px;line-height:1.3}
.mega-col a span{display:block;font-weight:400;font-size:13.5px;color:var(--gris-2);margin-top:2px}
.mega-col a:hover{background:var(--salvia-2)}
.mega-dest{position:relative;border-radius:20px;overflow:hidden;background:var(--bosque);color:var(--arena);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;min-height:250px}
.mega-dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1.2s var(--ease)}
.mega-dest:hover img{transform:scale(1.06)}
.mega-dest>*{position:relative}
.mega-dest strong{font-size:20px;line-height:1.15;letter-spacing:-.02em}
.mega-dest em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--lima);color:var(--tinta);padding:4px 8px;border-radius:999px;align-self:flex-start;margin-bottom:10px}
.cab-acciones{display:flex;align-items:center;gap:10px;margin-left:8px}
.cab-uf{font-family:var(--mono);font-size:12px;letter-spacing:.04em;opacity:.7;white-space:nowrap}
.cab-menu{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid currentColor;border-color:rgba(127,127,127,.35);background:none;color:inherit;cursor:pointer;align-items:center;justify-content:center;margin-left:auto}
.cab-menu span{display:block;width:18px;height:1.8px;background:currentColor;border-radius:2px;position:relative;transition:transform .3s}
.cab-menu span::before,.cab-menu span::after{content:"";position:absolute;left:0;width:18px;height:1.8px;background:currentColor;border-radius:2px;transition:transform .3s}
.cab-menu span::before{top:-6px}.cab-menu span::after{top:6px}
@media (max-width:1180px){.cab-uf{display:none}}
@media (max-width:1060px){.cab-nav,.cab-acciones .btn-borde{display:none}.cab-menu{display:inline-flex}.cab-acciones{margin-left:0}}
@media (max-width:520px){.cab-acciones{display:none}}

/* Páginas heredadas: cabecera siempre con fondo */
.pag-compat .cab::before{opacity:1}
.pag-compat .cab{color:var(--tinta)!important}

/* Menú móvil */
.menu-movil{position:fixed;inset:0;z-index:150;background:var(--tinta);color:var(--arena);display:flex;flex-direction:column;padding:20px var(--gutter) 28px;overflow-y:auto;
  clip-path:circle(0 at calc(100% - 44px) 38px);visibility:hidden;transition:clip-path .6s var(--ease),visibility .6s}
.menu-movil.abierto{clip-path:circle(150% at calc(100% - 44px) 38px);visibility:visible}
.menu-movil-top{display:flex;align-items:center;justify-content:space-between;min-height:46px}
.menu-cerrar{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--linea-clara);background:none;color:var(--arena);font-size:26px;line-height:1;cursor:pointer}
.menu-movil nav{margin-top:28px;display:flex;flex-direction:column}
.menu-movil .principal a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(30px,8vw,40px);font-weight:600;letter-spacing:-.035em;color:var(--arena);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--linea-clara)}
.menu-movil .principal a small{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--lima);font-weight:500}
.menu-movil .secundario{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:24px}
.menu-movil .secundario a{color:rgba(244,239,230,.75);text-decoration:none;padding:8px 0;font-size:16px}
.menu-movil .menu-pie{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:10px}
.menu-movil .menu-pie .btn{width:100%}
.menu-movil.abierto .principal a{animation:sube .6s var(--ease) both}
.menu-movil.abierto .principal a:nth-child(2){animation-delay:.05s}.menu-movil.abierto .principal a:nth-child(3){animation-delay:.1s}
.menu-movil.abierto .principal a:nth-child(4){animation-delay:.15s}.menu-movil.abierto .principal a:nth-child(5){animation-delay:.2s}.menu-movil.abierto .principal a:nth-child(6){animation-delay:.25s}
body.menu-abierto{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:calc(var(--cab-alto) + clamp(40px,6vw,80px)) 0 clamp(64px,8vw,112px)}
.hero-osc{background:var(--tinta);color:var(--arena)}
.hero-arena{background:var(--arena)}
.hero-salvia{background:var(--salvia-2)}
.hero .contenedor{position:relative}
.brillo{position:absolute;border-radius:50%;pointer-events:none;animation:deriva 16s ease-in-out infinite alternate}
.brillo-lima{width:620px;height:620px;background:radial-gradient(circle,rgba(200,241,105,.24),rgba(200,241,105,0) 65%)}
.brillo-bosque{width:720px;height:720px;background:radial-gradient(circle,rgba(2,65,51,.9),rgba(2,65,51,0) 70%);animation-delay:-7s}
.brillo-claro{width:640px;height:640px;background:radial-gradient(circle,rgba(200,241,105,.32),rgba(200,241,105,0) 65%)}
.migas{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gris-2);margin-bottom:22px}
.migas a{color:inherit;text-decoration:none}.migas a:hover{color:var(--bosque)}
.migas span[aria-hidden]{opacity:.5}
.hero-osc .migas{color:rgba(244,239,230,.6)}.hero-osc .migas a:hover{color:var(--lima)}

/* Rotador de palabras */

/* Tablero split-flap del titular (inicio.html) */
.sf{color:var(--lima)}
.sf.listo{display:inline-flex;gap:.05em;vertical-align:-.2em;font-family:var(--mono);font-weight:600;font-size:.86em;letter-spacing:0;line-height:1}
.sf-c{--sf-a:#26473A;--sf-b:#1E3B30;position:relative;display:inline-block;width:.68em;height:1.26em;border-radius:.08em;perspective:2.6em;transition:width .26s var(--ease),opacity .26s,margin .26s;box-shadow:0 .04em .08em rgba(0,0,0,.4),inset 0 0 0 1px rgba(244,239,230,.07)}
.sf-c::after{content:"";position:absolute;left:0;right:0;top:50%;height:max(1px,.014em);margin-top:-.007em;background:rgba(6,16,12,.85);z-index:4}
.sf-c.nace,.sf-c.muere{width:0;opacity:0;margin-right:-.05em}
.sf-h{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--sf-a);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.sf-h b{position:absolute;left:0;right:0;height:200%;display:flex;align-items:center;justify-content:center;font-weight:inherit;white-space:pre;line-height:1;padding-bottom:.06em;box-sizing:border-box}
.sf-h.t,.sf-h.ft{top:0;border-radius:.08em .08em 0 0}
.sf-h.b,.sf-h.fb{bottom:0;border-radius:0 0 .08em .08em;background:var(--sf-b)}
.sf-h.t b,.sf-h.ft b{top:0}
.sf-h.b b,.sf-h.fb b{bottom:0}
.sf-h.ft{z-index:2;transform-origin:50% 100%}
.sf-h.fb{z-index:3;transform-origin:50% 0;transform:rotateX(90deg)}
/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:16px;font-weight:500;padding:10px 18px;border-radius:999px;cursor:pointer;border:1.5px solid var(--linea);background:transparent;color:inherit;transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.chip:hover{transform:translateY(-2px);border-color:var(--tinta)}
.chip[aria-pressed="true"]{background:var(--tinta);color:var(--arena);border-color:var(--tinta)}
.hero-osc .chip,.sec-oscura .chip{border-color:rgba(244,239,230,.25)}
.hero-osc .chip:hover,.sec-oscura .chip:hover{border-color:var(--arena)}
.hero-osc .chip[aria-pressed="true"],.sec-oscura .chip[aria-pressed="true"]{background:var(--lima);color:var(--tinta);border-color:var(--lima)}
/* Sugerencia que rota en el hero mientras nadie ha elegido (inicio.html) */
.chip.sugerido{background:var(--tinta);color:var(--arena);border-color:var(--tinta)}
.hero-osc .chip.sugerido,.sec-oscura .chip.sugerido{background:var(--lima);color:var(--tinta);border-color:var(--lima)}
.pron-rota{display:inline-block;transition:opacity .18s ease}.pron-rota.cambia{opacity:0}

/* ---------- Collage de fotos (recortes) ---------- */
.collage img{filter:drop-shadow(0 18px 24px rgba(0,0,0,.22))}
.orbita{animation:gira 70s linear infinite;pointer-events:none}
.flota{animation:flota 6s ease-in-out infinite}
.flota-b{animation:flota 7.5s ease-in-out -2.5s infinite}
.flota-c{animation:flota 8.5s ease-in-out -4s infinite}
.tarjeta-flot{background:var(--hueso);color:var(--tinta);border-radius:22px;padding:16px 18px;box-shadow:var(--sombra-3);display:flex;flex-direction:column;gap:5px}
.toast{background:var(--bosque);color:var(--arena);border-radius:18px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.35);font-size:14.5px;line-height:1.3}
.toast .ico{width:34px;height:34px;border-radius:50%;background:var(--lima);color:var(--tinta);display:grid;place-items:center;flex:none}
.etiqueta{background:var(--hueso);color:var(--tinta);border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.etiqueta i{width:8px;height:8px;border-radius:50%;background:var(--bosque)}

/* Collage escalable (unidades de contenedor) */
.collage{container-type:inline-size;position:relative;width:100%;max-width:600px;margin-left:auto}
.collage-in{position:relative;width:100cqw;height:106.6cqw}
.collage-in>*{position:absolute}
@media (max-width:980px){.collage{margin:0 auto}}

/* Marcos de foto */
.marco{position:relative;overflow:hidden;border-radius:var(--r-l);background:var(--salvia)}
.marco img{width:100%;height:100%;object-fit:cover}
.marco-arco{border-radius:999px 999px var(--r-l) var(--r-l)}
.marco-circulo{border-radius:50%}
.marco-hoja{border-radius:var(--r-xl) 6px var(--r-xl) 6px}
.marco-zoom img{transition:transform 1.4s var(--ease)}
.marco-zoom:hover img{transform:scale(1.05)}
.recorte-bloque{position:relative;display:flex;align-items:flex-end;justify-content:center;border-radius:var(--r-l);overflow:visible}
.recorte-bloque img{position:relative;width:auto;max-height:118%;filter:drop-shadow(0 18px 26px rgba(11,31,25,.22))}

/* ---------- Tarjetas ---------- */
.tarjeta{background:var(--hueso);border:1px solid var(--linea-2);border-radius:var(--r-l);padding:clamp(22px,2.4vw,32px);box-shadow:var(--sombra-1)}
.tarjeta.plana{box-shadow:none}
.sec-oscura .tarjeta:not(.osc):not(.bosque),.hero-osc .tarjeta:not(.osc):not(.bosque){color:var(--tinta)}
.tarjeta.bosque .enlace,.tarjeta.osc .enlace{color:var(--lima)}
.tarjeta.osc{background:var(--bosque-3);border-color:var(--linea-clara);color:var(--arena);box-shadow:none}
.tarjeta.bosque{background:var(--bosque);color:var(--arena);border-color:transparent}
.tarjeta.lima{background:var(--lima);border-color:transparent}
.tarjeta.salvia{background:var(--salvia);border-color:transparent;box-shadow:none}
.tarjeta.arena{background:var(--arena);border-color:var(--linea)}
.tarjeta h3{font-size:clamp(21px,1.8vw,25px);letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}
.tarjeta p:last-child{margin-bottom:0}
.levanta{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.levanta:hover{transform:translateY(-6px);box-shadow:var(--sombra-2)}
a.tarjeta{text-decoration:none;color:inherit;display:block}
.ico-c{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--salvia);color:var(--bosque);margin-bottom:18px}
.ico-c svg{width:24px;height:24px}
.tarjeta.osc .ico-c,.tarjeta.bosque .ico-c{background:rgba(200,241,105,.14);color:var(--lima)}
.numero-paso{font-family:var(--mono);font-size:13px;color:var(--gris-2);letter-spacing:.06em}

/* Lista con check */
.checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.checks li{position:relative;padding-left:34px}
.checks li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--lima) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F19' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.checks.neutro li::before{background-color:var(--salvia)}
.cruces li::before{background:var(--terracota-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A3E1B' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/12px no-repeat}

/* Marquee */
.marquee{overflow:hidden;background:var(--lima);color:var(--tinta);padding:18px 0;border-block:1px solid rgba(11,31,25,.1)}
.marquee-in{display:flex;width:max-content;animation:marq 42s linear infinite}
.marquee-in span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.marquee-in span::after{content:"✦";font-size:.7em;opacity:.6}
.marquee:hover .marquee-in{animation-play-state:paused}

/* Datos / contadores */
.datos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--linea)}
.dato{padding:28px 24px 8px 0;border-right:1px solid var(--linea-2)}
.dato:last-child{border-right:0}
.dato .cifra{font-size:clamp(40px,4.4vw,64px)}
.dato p{margin:8px 0 0;color:var(--gris-2);font-size:15.5px;max-width:24ch}
.sec-oscura .datos{border-color:var(--linea-clara)}.sec-oscura .dato{border-color:var(--linea-clara)}.sec-oscura .dato p{color:rgba(244,239,230,.62)}
@media (max-width:860px){.datos{grid-template-columns:1fr 1fr}.dato:nth-child(2){border-right:0}.dato{padding-left:0}}

/* Pasos */
.pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.paso{position:relative;padding-top:28px}
.paso::before{counter-increment:paso;content:counter(paso,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--gris-2);letter-spacing:.06em}
.paso .barra{position:absolute;left:0;right:0;top:0;height:3px;background:var(--linea);border-radius:3px;overflow:hidden}
.paso .barra::after{content:"";position:absolute;inset:0;background:var(--bosque);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.paso.visible .barra::after{transform:scaleX(1)}
.paso:nth-child(2) .barra::after{transition-delay:.25s}.paso:nth-child(3) .barra::after{transition-delay:.5s}.paso:nth-child(4) .barra::after{transition-delay:.75s}.paso:nth-child(5) .barra::after{transition-delay:1s}
.paso h3{font-size:22px;letter-spacing:-.02em;margin:14px 0 10px;line-height:1.2}
.paso p{color:var(--gris);font-size:16.5px;margin:0}
.sec-oscura .paso .barra{background:var(--linea-clara)}.sec-oscura .paso .barra::after{background:var(--lima)}.sec-oscura .paso p{color:rgba(244,239,230,.7)}.sec-oscura .paso::before{color:rgba(244,239,230,.55)}
@media (min-width:1101px){.pasos.cinco{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1100px){.pasos.cinco{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.pasos,.pasos.cinco{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pasos,.pasos.cinco{grid-template-columns:1fr}}

/* Acordeón */
.acordeon{border-top:1px solid var(--linea)}
.acordeon details{border-bottom:1px solid var(--linea)}
.acordeon summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:clamp(19px,1.6vw,22px);font-weight:600;letter-spacing:-.015em;line-height:1.3}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon summary .mas{flex:none;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--linea);display:grid;place-items:center;transition:transform .35s var(--ease),background-color .25s,border-color .25s}
.acordeon summary .mas::before{content:"+";font-size:22px;font-weight:400;line-height:1}
.acordeon details[open] summary .mas{transform:rotate(45deg);background:var(--lima);border-color:var(--lima)}
.acordeon summary:hover .mas{border-color:var(--tinta)}
.acordeon .resp{padding:0 56px 26px 0;color:var(--gris);font-size:17px}
.acordeon .resp p:last-child{margin-bottom:0}
.sec-oscura .acordeon,.sec-oscura .acordeon details{border-color:var(--linea-clara)}
.sec-oscura .acordeon .resp{color:rgba(244,239,230,.74)}
.sec-oscura .acordeon summary .mas{border-color:var(--linea-clara)}
.sec-oscura .acordeon details[open] summary .mas{color:var(--tinta)}

/* Tablas */
.tabla-env{overflow-x:auto;border-radius:var(--r-l);border:1px solid var(--linea);background:var(--hueso);-webkit-overflow-scrolling:touch}
.tabla{width:100%;border-collapse:collapse;font-size:16px;min-width:720px}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:18px 20px;border-bottom:1px solid var(--linea-2)}
.tabla thead th{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-2);font-weight:500;background:var(--arena);position:sticky;top:0}
.tabla tbody th{font-weight:600;width:18%;color:var(--tinta)}
.tabla tr:last-child td,.tabla tr:last-child th{border-bottom:0}
.tabla .destacada{background:rgba(200,241,105,.16)}
.tabla thead .destacada{background:var(--lima);color:var(--tinta)}

/* Notas */
.nota{font-size:14px;color:var(--gris-2);line-height:1.55}
.sec-oscura .nota,.hero-osc .nota{color:rgba(244,239,230,.55)}
.aviso{display:flex;gap:14px;align-items:flex-start;background:var(--salvia-2);border:1px solid var(--linea-2);border-radius:var(--r-m);padding:18px 20px;font-size:16px;color:var(--gris)}
.aviso svg{flex:none;width:22px;height:22px;color:var(--bosque);margin-top:2px}
.cita{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-.03em;font-weight:500;margin:0}
.cita-autor{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-2);margin-top:18px}

/* Formularios */
.campo{display:flex;flex-direction:column;gap:8px}
.campo label,.etq{font-size:15px;font-weight:600;color:var(--gris)}
.entrada{width:100%;min-height:56px;padding:14px 18px;border-radius:16px;border:1.5px solid var(--linea);background:var(--hueso);font-size:18px;transition:border-color .2s,box-shadow .2s}
.entrada:focus{outline:none;border-color:var(--bosque);box-shadow:0 0 0 4px rgba(2,65,51,.12)}
select.entrada{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F19' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:46px}
.sec-oscura .entrada,.tarjeta.osc .entrada{background:rgba(244,239,230,.06);border-color:var(--linea-clara);color:var(--arena)}
.segmentado{display:inline-flex;padding:4px;border-radius:999px;background:var(--arena-2);gap:2px}
.segmentado button{border:0;background:transparent;padding:10px 18px;border-radius:999px;font-weight:600;font-size:15.5px;cursor:pointer;color:var(--gris);transition:background-color .25s,color .25s}
.sec-oscura .segmentado button,.tarjeta.osc .segmentado button{color:rgba(244,239,230,.72)}
.segmentado button[aria-pressed="true"]{background:var(--hueso);color:var(--tinta);box-shadow:0 1px 3px rgba(11,31,25,.12)}
input[type=range].rango{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;cursor:pointer;--p:50%}
input[type=range].rango::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--bosque) var(--p),var(--arena-2) var(--p))}
input[type=range].rango::-moz-range-track{height:6px;border-radius:6px;background:var(--arena-2)}
input[type=range].rango::-moz-range-progress{height:6px;border-radius:6px;background:var(--bosque)}
input[type=range].rango::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--hueso);border:3px solid var(--bosque);margin-top:-10px;box-shadow:0 4px 12px rgba(2,65,51,.3);transition:transform .2s}
input[type=range].rango::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--hueso);border:3px solid var(--bosque);box-shadow:0 4px 12px rgba(2,65,51,.3)}
input[type=range].rango:active::-webkit-slider-thumb{transform:scale(1.15)}
.sec-oscura input[type=range].rango::-webkit-slider-runnable-track,.tarjeta.osc input[type=range].rango::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--lima) var(--p),rgba(244,239,230,.15) var(--p))}
.sec-oscura input[type=range].rango::-webkit-slider-thumb,.tarjeta.osc input[type=range].rango::-webkit-slider-thumb{border-color:var(--lima);background:var(--tinta)}

/* Tabs genéricas */
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;border:1.5px solid var(--linea);background:transparent;font-weight:600;font-size:16px;cursor:pointer;color:inherit;transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.tab:hover{transform:translateY(-2px);border-color:var(--tinta)}
.tab[aria-selected="true"]{background:var(--bosque);color:var(--arena);border-color:var(--bosque)}
.tab .prog{width:22px;height:3px;border-radius:2px;background:rgba(244,239,230,.3);overflow:hidden;display:none}
.tab[aria-selected="true"] .prog{display:block}
.tab .prog::after{content:"";display:block;height:100%;background:var(--lima);transform-origin:left;animation:crece var(--dur,4.2s) linear both}
.tabs.fijo .tab .prog{display:none}


/* Contraste dentro de contextos oscuros/claros anidados */
.sec-oscura .segmentado button[aria-pressed="true"],.tarjeta.osc .segmentado button[aria-pressed="true"]{color:var(--tinta);background:var(--arena)}
.sec-oscura .tarjeta:not(.osc):not(.bosque) .atenuado{color:var(--gris-2)}
.sec-oscura .tarjeta:not(.osc):not(.bosque) .pildora{color:var(--gris);border-color:var(--linea)}
.sec-oscura .tarjeta:not(.osc):not(.bosque) .eyebrow{color:var(--gris-2)}
.sec-oscura .tarjeta:not(.osc):not(.bosque) .eyebrow::before{background:var(--bosque);animation:none}
.tarjeta.osc .eyebrow,.tarjeta.bosque .eyebrow{color:rgba(244,239,230,.72)}
.tarjeta.osc .eyebrow::before,.tarjeta.bosque .eyebrow::before{background:var(--lima)}
.tarjeta.osc .atenuado,.tarjeta.bosque .atenuado{color:rgba(244,239,230,.7)}
.tarjeta.osc .nota,.tarjeta.bosque .nota{color:rgba(244,239,230,.55)}

/* ---------- Bloques especiales ---------- */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.bento>*{grid-column:span 2}
.bento .ancho-4{grid-column:span 4}.bento .ancho-3{grid-column:span 3}.bento .ancho-6{grid-column:span 6}.bento .alto-2{grid-row:span 2}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento>*,.bento .ancho-3,.bento .ancho-4{grid-column:span 1}.bento .ancho-6,.bento .ancho-4{grid-column:span 2}.bento .alto-2{grid-row:auto}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.bento>*,.bento .ancho-4,.bento .ancho-6,.bento .ancho-3{grid-column:auto}}

.cta-final{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--lima);color:var(--tinta);padding:clamp(36px,6vw,80px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center}
.cta-final .titulo-sec{max-width:14ch}
.cta-final .recorte{position:absolute;right:5%;bottom:0;height:96%;width:auto;filter:drop-shadow(0 16px 26px rgba(11,31,25,.18));pointer-events:none}
@media (max-width:860px){.cta-final{grid-template-columns:1fr}.cta-final .recorte{position:relative;right:auto;height:auto;width:min(320px,80%);margin:0 auto -80px;justify-self:center}}

/* Columna lateral que acompaña el scroll: solo en escritorio (en móvil se superpondría al contenido) */
@media (min-width:981px){.lateral-fijo{position:sticky;top:calc(var(--cab-alto) + 32px)}}
.indice{position:sticky;top:calc(var(--cab-alto) + 24px);display:flex;flex-direction:column;gap:2px;font-size:15px}
.indice a{color:var(--gris-2);text-decoration:none;padding:8px 14px;border-left:2px solid var(--linea);transition:color .2s,border-color .2s}
.indice a:hover{color:var(--tinta)}
.indice a.activo{color:var(--tinta);border-color:var(--bosque);font-weight:600}
.con-indice{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:980px){.con-indice{grid-template-columns:1fr}.indice{position:relative;top:0;flex-direction:row;flex-wrap:wrap;gap:8px}.indice a{border:1.5px solid var(--linea);border-radius:999px;padding:8px 14px}.indice a.activo{background:var(--bosque);color:var(--arena);border-color:var(--bosque)}}

/* Línea de tiempo */
.linea-t{position:relative;display:flex;flex-direction:column;gap:0;padding-left:40px}
.linea-t::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--linea)}
.hito{position:relative;padding:0 0 34px}
.hito::before{content:"";position:absolute;left:-40px;top:4px;width:24px;height:24px;border-radius:50%;background:var(--hueso);border:2px solid var(--bosque);box-shadow:0 0 0 6px var(--arena)}
.hito.lleno::before{background:var(--lima);border-color:var(--lima)}
.hito h3,.hito h4{font-size:21px;letter-spacing:-.02em;margin-bottom:6px}
.hito p{color:var(--gris);margin:0}
.hito .mono{font-size:12.5px;color:var(--gris-2);text-transform:uppercase;letter-spacing:.06em}

/* Prosa (blog y legales) */
.prosa{font-size:19px;line-height:1.72;color:#22332D}
.prosa>*{margin-top:0;margin-bottom:0}
.prosa>*+*{margin-top:1.1em}
.prosa h2{font-size:clamp(28px,3vw,38px);margin-top:2em;letter-spacing:-.03em;color:var(--tinta)}
.prosa h3{font-size:clamp(22px,2vw,26px);margin-top:1.8em;letter-spacing:-.02em;color:var(--tinta)}
.prosa h4{font-size:19px;margin-top:1.6em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li+li{margin-top:.45em}
.prosa li::marker{color:var(--bosque)}
.prosa a{color:var(--bosque);text-decoration:underline;text-decoration-color:rgba(2,65,51,.35)}
.prosa a:hover{text-decoration-color:var(--bosque)}
.prosa blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--lima);font-size:1.12em;color:var(--tinta)}
.prosa strong{color:var(--tinta);font-weight:600}
.prosa img{border-radius:var(--r-m);margin:1.6em auto}
.prosa table{width:100%;border-collapse:collapse;font-size:16px;margin:1.6em 0;display:block;overflow-x:auto}
.prosa th,.prosa td{border-bottom:1px solid var(--linea);padding:12px 14px;text-align:left;vertical-align:top}
.prosa th{background:var(--arena);font-weight:600}
.prosa hr{border:0;border-top:1px solid var(--linea);margin:2.4em 0}
.prosa .destacado,.prosa .callout,.prosa .highlight-box,.prosa .info-box,.prosa .tip-box,.prosa .key-takeaway{background:var(--salvia-2);border-radius:var(--r-m);padding:20px 24px;border:1px solid var(--linea-2)}
.prosa figure{margin:1.6em 0}
.prosa figcaption{font-size:14px;color:var(--gris-2);margin-top:8px}

.prosa form{display:flex;flex-direction:column;gap:14px;background:var(--hueso);border:1px solid var(--linea-2);border-radius:var(--r-l);padding:clamp(20px,3vw,32px);margin:2em 0}
.prosa label{font-size:15px;font-weight:600;color:var(--gris)}
.prosa input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.prosa select,.prosa textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--linea);background:#fff;font-size:17px}
.prosa button,.prosa input[type=submit]{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;border:0;background:var(--bosque);color:var(--arena);font-weight:600;font-size:17px;cursor:pointer}
.prosa .tabla-env{margin:1.6em 0}
.prosa .tabla{display:table;margin:0;font-size:15.5px}
.prosa .tabla th,.prosa .tabla td{padding:16px 18px}
.prosa .tabla tr>*:last-child{background:rgba(200,241,105,.14)}
.prosa .tabla thead tr>*:last-child{background:var(--lima);color:var(--tinta)}
.prosa.manifiesto{font-size:clamp(21px,2vw,26px);line-height:1.55;color:var(--tinta)}
.prosa.manifiesto h2{font-size:clamp(34px,4vw,56px);margin-top:1.6em}
.prosa.manifiesto p:first-child{font-size:1.25em;font-weight:500;letter-spacing:-.02em}
.articulo-cab{max-width:860px}
.meta-art{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--gris-2);text-transform:uppercase;margin-top:24px}
.portada{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:21/9;background:var(--salvia);margin-top:clamp(32px,4vw,56px)}
.portada img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.progreso-lectura{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--lima);transform-origin:left;transform:scaleX(0);z-index:120}

/* Tarjeta de blog */
.post{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--r-l);overflow:hidden;background:var(--hueso);border:1px solid var(--linea-2);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.post:hover{transform:translateY(-6px);box-shadow:var(--sombra-2);color:inherit}
.post .marco{border-radius:0;aspect-ratio:16/10}
.post .marco img{transition:transform 1.2s var(--ease)}
.post:hover .marco img{transform:scale(1.05)}
.post-cuerpo{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-cuerpo h3{font-size:21px;line-height:1.25;letter-spacing:-.02em}
.post-cuerpo p{color:var(--gris-2);font-size:15.5px;margin:0}
.post-cat{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bosque)}
.post-mas{margin-top:auto;padding-top:8px;font-weight:600;font-size:15px;color:var(--bosque)}

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:var(--arena);padding:clamp(64px,8vw,104px) 0 32px;position:relative;overflow:hidden}
.pie-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.7fr));gap:clamp(28px,4vw,56px);padding-bottom:56px;border-bottom:1px solid var(--linea-clara)}
.pie h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.04em;line-height:1.05;max-width:14ch}
.pie h3{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,230,.5);font-weight:500;margin-bottom:16px}
.pie ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.pie a{color:rgba(244,239,230,.82);text-decoration:none;font-size:16px}
.pie a:hover{color:var(--lima)}
.pie .btn,.pie .btn:hover{color:var(--fg)}
.pie-gigante{width:100%;aspect-ratio:3190/919;margin:56px 0 0;background:linear-gradient(180deg,rgba(244,239,230,.12),rgba(244,239,230,.02));-webkit-mask:url(/nago-wordmark.svg) center/contain no-repeat;mask:url(/nago-wordmark.svg) center/contain no-repeat;transition:background .6s}
.pie-gigante:hover{background:linear-gradient(180deg,rgba(200,241,105,.5),rgba(200,241,105,.06))}
.pie-base{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;padding-top:28px;font-size:13.5px;color:rgba(244,239,230,.55)}
.pie-base a{font-size:13.5px;color:rgba(244,239,230,.7)}
.pie-legal{font-size:13px;line-height:1.6;color:rgba(244,239,230,.48);max-width:110ch;margin-top:24px}
.redes{display:flex;gap:10px}
.redes a{width:42px;height:42px;border-radius:50%;border:1px solid var(--linea-clara);display:grid;place-items:center;transition:background-color .25s,border-color .25s}
.redes a:hover{background:var(--lima);border-color:var(--lima);color:var(--tinta)}
.redes svg{width:18px;height:18px}
.uf-hoy{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:rgba(244,239,230,.7);border:1px solid var(--linea-clara);border-radius:999px;padding:7px 12px}
.uf-hoy i{width:7px;height:7px;border-radius:50%;background:var(--lima);animation:pulso 2.2s ease-out infinite}
@media (max-width:900px){.pie-top{grid-template-columns:1fr 1fr}.pie-top>div:first-child{grid-column:1/-1}}

/* WhatsApp flotante */
.wa-flot{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;background:var(--bosque);color:var(--arena);text-decoration:none;border-radius:999px;padding:8px 8px 8px 18px;box-shadow:0 18px 40px rgba(2,65,51,.35);font-weight:600;font-size:15px;
  transform:translateY(120px);opacity:0;transition:transform .5s var(--ease),opacity .5s}
.wa-flot.visible{transform:none;opacity:1}
.wa-flot:hover{color:var(--arena)}
.wa-flot .burbuja{width:40px;height:40px;border-radius:50%;background:var(--lima);color:var(--tinta);display:grid;place-items:center;position:relative}
.wa-flot .burbuja::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--lima);animation:ping 2.4s cubic-bezier(0,0,.2,1) infinite}
@media (max-width:640px){.wa-flot .txt{display:none}.wa-flot{padding:8px}}

/* Banner de cookies (reestiliza cookie-consent.js) */
html #magnus-cookie-banner{left:16px;right:auto;bottom:16px;max-width:460px;border-radius:22px;background:var(--hueso);border:1px solid var(--linea);box-shadow:var(--sombra-2);padding:20px 22px;font-family:var(--f)}
html #magnus-cookie-banner .mcb-text strong{color:var(--tinta);font-size:16px}
html #magnus-cookie-banner .mcb-text p{color:var(--gris);font-size:14px}
html #magnus-cookie-banner .mcb-link{color:var(--bosque)}
html #magnus-cookie-banner .mcb-btn{border-radius:999px;font-size:14.5px;padding:10px 20px}
html #magnus-cookie-banner .mcb-accept{background:var(--bosque);color:var(--arena)}
html #magnus-cookie-banner .mcb-reject{color:var(--gris);border-color:var(--linea)}
@media (max-width:520px){html #magnus-cookie-banner{left:10px;right:10px;bottom:10px;max-width:none}}

/* Modal (callback) */
.modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px;background:rgba(11,31,25,.55);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.modal.abierto{opacity:1;visibility:visible}
.modal-caja{width:min(520px,100%);background:var(--hueso);border-radius:var(--r-l);padding:clamp(24px,4vw,40px);box-shadow:var(--sombra-3);position:relative;transform:translateY(16px) scale(.98);transition:transform .4s var(--ease)}
.modal.abierto .modal-caja{transform:none}
.modal-x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--linea);background:none;font-size:22px;cursor:pointer}

/* ---------- Revelado al hacer scroll ---------- */
[data-revelar]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
[data-revelar="izq"]{transform:translateX(-28px)}
[data-revelar="zoom"]{transform:scale(.96)}
[data-revelar].visible{opacity:1;transform:none}
.sin-js [data-revelar]{opacity:1;transform:none}
.palabras .w{opacity:.16;transition:opacity .5s}
.palabras .w.on{opacity:1}

/* ---------- Animaciones ---------- */
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(200,241,105,.6)}70%{box-shadow:0 0 0 12px rgba(200,241,105,0)}100%{box-shadow:0 0 0 0 rgba(200,241,105,0)}}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes deriva{to{transform:translate(-90px,60px) scale(1.18)}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.2);opacity:0}}
@keyframes sube{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes crece{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes aparece{from{opacity:0}to{opacity:1}}
@keyframes flujo{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes guion{to{stroke-dashoffset:-40}}
.sube{animation:sube 1.1s var(--ease) both}
.sube-1{animation-delay:.08s}.sube-2{animation-delay:.16s}.sube-3{animation-delay:.24s}.sube-4{animation-delay:.32s}.sube-5{animation-delay:.4s}
.guion{stroke-dasharray:4 8;animation:guion 1.6s linear infinite}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-revelar]{opacity:1;transform:none}
  .palabras .w{opacity:1}
}

/* Impresión */
@media print{.cab,.pie,.wa-flot,.menu-movil,#magnus-cookie-banner,.no-print{display:none!important}body{background:#fff}.hero{padding-top:20px}}
/* Guías pilar */
.indice-guia{background:var(--hueso);border:1px solid var(--linea-2);border-radius:var(--r-l);padding:22px 26px;margin-bottom:2.2em}
.indice-guia ol{margin:12px 0 0;padding-left:1.3em;font-size:17px;columns:2;column-gap:32px}
.indice-guia li{break-inside:avoid;margin:0 0 .4em}
.indice-guia a{text-decoration:none}
.prosa .resumen-guia{background:var(--salvia-2);border-radius:var(--r-m);padding:22px 26px;border:1px solid var(--linea-2)}
.prosa .resumen-guia>*+*{margin-top:.7em}
.prosa .cifras-guia{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:1.6em 0}
.prosa .cifras-guia div{background:var(--hueso);border:1px solid var(--linea-2);border-radius:var(--r-m);padding:18px 20px;font-size:15.5px;line-height:1.45}
.prosa .cifras-guia strong{display:block;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:6px}
.prosa .cita-guia{border:1px dashed var(--linea);border-radius:var(--r-m);padding:16px 20px;font-size:15px;color:var(--gris)}
.lista-profundiza{columns:2;column-gap:32px}
.lista-profundiza li{break-inside:avoid}
.fuentes-guia{font-size:15px;line-height:1.55;color:var(--gris)}
.fuentes-guia li+li{margin-top:.5em}
.nota-guia{font-size:14.5px;color:var(--gris-2);border-top:1px solid var(--linea);padding-top:16px}
.faq-guia{margin-top:.6em}
.faq-guia summary{font-size:clamp(17px,1.4vw,19px);padding:18px 0}
.faq-guia .resp{padding:0 0 20px;font-size:17px}
.caja-guia{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:clamp(24px,3vw,36px);padding:16px 22px;border-radius:var(--r-l);background:var(--salvia-2);border:1px solid var(--linea-2);text-decoration:none;color:var(--tinta)}
.caja-guia strong{font-weight:600}
.caja-guia .flecha{width:20px;height:20px;margin-left:auto}
.caja-guia:hover{border-color:var(--bosque);color:var(--tinta)}
@media (max-width:640px){.indice-guia ol,.lista-profundiza{columns:1}}
.prosa .tabla.neutra tr>*:last-child{background:transparent}
.prosa .tabla.neutra thead tr>*:last-child{background:var(--arena);color:var(--gris-2)}
.prosa .tabla.neutra tr.destacada>*{background:rgba(200,241,105,.16)}
.prosa .aviso-guia .btn{color:var(--arena);text-decoration:none;margin-top:4px}
.prosa .aviso-guia .btn:hover{color:var(--arena)}
.prosa .aviso-guia .form-aviso{margin:1.2em 0 0;background:var(--hueso)}
