/* Sapiens Labs · sitio institucional v6 (prototipo) · tokens del manual de marca madre */
@font-face{font-family:Sora;src:url(fuentes/sora-latin.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:Figtree;src:url(fuentes/figtree-latin.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{
  --oro:#D4A843; --oro-tinta:#9A7A2C; --oro-suave:rgba(212,168,67,.14);
  --azul:#1A1F36; --azul-hondo:#131729; --calido:#F7F5F0; --blanco:#FFFFFF;
  --texto:#1A1F36; --texto-suave:#4A5068; --sobre-azul:#F7F5F0; --sobre-azul-suave:rgba(247,245,240,.72);
  --linea:rgba(26,31,54,.12); --linea-azul:rgba(247,245,240,.14);
  --display:Sora,system-ui,sans-serif; --cuerpo:Figtree,system-ui,sans-serif;
  --seccion:clamp(72px,8vw,120px); --bloque:clamp(40px,5vw,72px); --el:clamp(16px,2vw,24px);
  --ancho:1200px; --curva:cubic-bezier(.16,1,.3,1); --viaje:cubic-bezier(.65,0,.35,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--cuerpo);font-size:1.1875rem;line-height:1.6;color:var(--texto);background:var(--calido);-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3,.num{font-family:var(--display);letter-spacing:-.025em}
.w{max-width:var(--ancho);margin:0 auto;padding:0 var(--el)}
.ante{font:600 .8125rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--oro-tinta);margin-bottom:var(--el)}
.oscuro .ante{color:var(--sobre-azul-suave)}
h2{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08;font-weight:600;max-width:17ch}
.bajada{margin-top:var(--el);color:var(--texto-suave);max-width:56ch}
.oscuro{background:var(--azul);color:var(--sobre-azul)}
.oscuro .bajada{color:var(--sobre-azul-suave)}
.prueba{background:var(--oro);color:var(--azul);font:600 .8125rem/1.4 var(--cuerpo);text-align:center;padding:8px 16px}
.pend{background:var(--oro-suave);border-bottom:2px dotted var(--oro);padding:0 4px;border-radius:3px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:8px;font:600 1rem/1 var(--cuerpo);text-decoration:none;transition:transform .2s var(--curva),background .2s,color .2s,border-color .2s}
.btn svg{width:18px;height:18px;transition:transform .2s var(--curva)}
.btn:hover svg{transform:translate(3px,-3px)}
.btn-oro{background:var(--oro);color:var(--azul)}
.btn-oro:hover{transform:translateY(-2px)}
.btn-linea{border:1.5px solid var(--linea-azul);color:var(--sobre-azul)}
.btn-linea:hover{border-color:var(--sobre-azul)}
section{padding:var(--seccion) 0;position:relative}

/* ── cabecera: el logotipo vivo (la neurona viaja entre letras) ── */
nav.top{--nav:26,31,54;--a:.2;position:sticky;top:0;z-index:30;background:rgba(var(--nav),var(--a));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background-color .5s var(--curva)}
nav.top::after{content:"";position:absolute;left:0;right:0;top:100%;height:28px;pointer-events:none;background:linear-gradient(rgba(var(--nav),var(--a)),rgba(var(--nav),0));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
nav.top.claro{--nav:247,245,240;--a:.6}
nav.top.claro .logo .ink{stroke:var(--azul)}nav.top.claro .logo .ink .f,nav.top.claro .logo .labs path{fill:var(--azul)}nav.top.claro .logo.recoge .soma{fill:var(--azul)}
nav.top.claro ul a{color:var(--texto-suave)}nav.top.claro ul a:hover,nav.top.claro ul a.aqui{color:var(--texto)}
nav.top .logo .ink,nav.top .logo .labs path,nav.top ul a{transition:stroke .5s,fill .5s,color .5s}
nav.top .w{display:flex;align-items:center;justify-content:space-between;height:84px}
/* la barra flota sobre la primera sección: el vidrio difumina lo que hay debajo en vez de un fondo propio */
nav.top{margin-bottom:-84px}
nav.top + .heroe{padding-top:84px;min-height:calc(100svh - 34px)}
nav.top + .interior{padding-top:calc(clamp(72px,9vw,128px) + 84px)}
nav.top + main:not(.interior){padding-top:84px}
nav.top a.inicio{display:block;line-height:0}
nav.top ul{display:flex;gap:32px;list-style:none;font-size:.95rem}
nav.top ul a{text-decoration:none;color:var(--sobre-azul-suave);transition:color .2s}
nav.top ul a:hover,nav.top ul a.aqui{color:var(--sobre-azul)}
.logo{height:58px;width:auto;display:block;overflow:visible}
.logo .ink{fill:none;stroke:var(--sobre-azul);stroke-width:36.17;stroke-linecap:round;stroke-linejoin:round}
.logo .ink .f{fill:var(--sobre-azul);stroke:none}
.logo .labs path{fill:var(--sobre-azul)}
.logo .au{fill:var(--oro)}
.logo .L,.logo .lb{transition:transform .86s var(--viaje)}
.logo .hd,.logo .au{transition:transform .86s var(--viaje)}
.logo .hd-r{transition:transform .86s var(--viaje)}
.logo .hd-r path{transition:stroke-dashoffset .32s var(--curva) .2s,opacity .2s .2s;stroke-dasharray:200;stroke-dashoffset:0}
.logo .soma{transition:r .32s var(--curva),fill .32s,stroke-width .32s}
.logo .au{transition:transform .86s var(--viaje),opacity .3s}
.logo.recoge .hd-r path{stroke-dashoffset:200;opacity:0;transition:stroke-dashoffset .3s var(--curva),opacity .3s .1s}
.logo.recoge .soma{r:30px;fill:var(--sobre-azul);stroke-width:0}
.logo.recoge .au{opacity:0}
.logo .gota{animation:none}
.logo.viaja .hd{filter:drop-shadow(0 0 18px rgba(255,255,255,.9))}
.logo.viaja .hd-r{animation:salta .86s var(--viaje)}
@keyframes salta{50%{translate:0 -150px}}
.logo .v,.logo .idot{transition:opacity .5s var(--curva)}

/* ── portada viva ── */
.heroe{position:relative;min-height:calc(100svh - 118px);display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
#red{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.heroe::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(26,31,54,.5) 0,rgba(26,31,54,.2) 42%,transparent 62%),linear-gradient(180deg,rgba(26,31,54,.35) 0,transparent 18%,transparent 78%,rgba(26,31,54,.7) 100%)}
.heroe .w{flex:1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:var(--bloque);width:100%;padding-top:var(--bloque);padding-bottom:var(--bloque)}
.heroe h1{font-size:clamp(2.75rem,7vw,5.6rem);line-height:1.04;font-weight:600;max-width:12ch}
.heroe h1 .pal{display:inline-block;opacity:0;transform:translateY(.4em);filter:blur(8px);animation:pal .9s var(--curva) forwards;animation-delay:calc(.15s + var(--k) * .09s)}
.heroe h1 em{font-style:normal;color:var(--oro)}
@keyframes pal{to{opacity:1;transform:none;filter:none}}
.heroe .bajada{font-size:clamp(1.1rem,1.8vw,1.35rem);max-width:44ch;margin-top:32px}
.botones{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap}
.escena{position:relative;justify-self:center;width:118%;max-width:660px;margin:-4% -6% -4% 0;aspect-ratio:455/600;transform:translate(calc(var(--mx,0) * 14px),calc(var(--my,0) * 10px)) rotateX(calc(var(--my,0) * -4deg)) rotateY(calc(var(--mx,0) * 6deg));transition:transform .4s var(--curva);perspective:900px}
.escena svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.escena .guias{fill:none;stroke:var(--oro);stroke-width:2.2;stroke-dasharray:7 9;opacity:0;animation:guia 1.2s .1s var(--curva) forwards;transform:translate(calc(var(--mx,0) * -10px),calc(var(--my,0) * -8px))}
.escena .tz{fill:none;stroke:var(--sobre-azul);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:traza 1.5s calc(.4s + var(--i) * .2s) var(--curva) forwards}
.escena .senal{fill:none;stroke:#fff;stroke-linecap:round;stroke-dasharray:.07 1.4;stroke-dashoffset:.07;opacity:0;filter:url(#brillo)}
.escena .au{fill:var(--oro);opacity:0;animation:aparece-oro .7s 2.2s var(--curva) forwards}
.escena .halo{fill:none;stroke:var(--oro);stroke-width:5;opacity:0}
.escena .nucleo{fill:var(--sobre-azul);opacity:0}
@keyframes guia{to{opacity:.38}}
@keyframes traza{to{stroke-dashoffset:0}}
@keyframes aparece-oro{to{opacity:1}}
.franja{border-top:1px solid var(--linea-azul);padding:22px 0;overflow:hidden;background:rgba(19,23,41,.5)}
.franja-in{display:flex;gap:56px;width:max-content;animation:correr 40s linear infinite;font:500 .95rem/1 var(--cuerpo);color:var(--sobre-azul-suave);white-space:nowrap}
.franja-in span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--sobre-azul-suave);margin-right:16px;vertical-align:middle}
@keyframes correr{to{transform:translateX(-50%)}}

/* ── por qué: mismos somas, preparación desigual que se empareja ── */
.porque{display:grid;grid-template-columns:1.1fr 1.6fr;gap:var(--bloque);align-items:start}
.porque h2{font-size:clamp(2rem,3.3vw,2.75rem)}
.porque .texto p{color:var(--texto-suave);margin-bottom:var(--el);font-size:1.25rem}
.porque .texto p.fuerte{color:var(--texto);font:600 clamp(1.3rem,2.2vw,1.6rem)/1.4 var(--display);letter-spacing:-.01em}
.parejo-f{grid-column:1/-1;margin:var(--bloque) 0 0}
.parejo{width:100%;height:auto;display:block;overflow:visible}
.parejo .meta{stroke:var(--linea);stroke-width:2;stroke-dasharray:6 8}
.parejo .nn{stroke-linecap:round;stroke-linejoin:round;fill:none}
.parejo .so{stroke:var(--azul);stroke-width:var(--sw);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.6);transition:opacity .6s var(--curva),transform .9s var(--curva);transition-delay:calc(var(--k) * .07s)}
.parejo .dd,.parejo .ax{stroke:var(--azul);stroke-width:var(--sw);stroke-dasharray:1;stroke-dashoffset:1}
.parejo .dd{transition:stroke-dashoffset .7s var(--curva);transition-delay:calc(.35s + var(--k) * .07s)}
.parejo .ax{transition:stroke-dashoffset 1.3s var(--curva);transition-delay:calc(.6s + var(--k) * .07s)}
.parejo .su{stroke:var(--azul);stroke-width:calc(var(--sw) * .6);stroke-dasharray:.1 9;opacity:0;transition:opacity 1s var(--curva);transition-delay:calc(2s + var(--k) * .09s)}
.parejo .sy{fill:var(--calido);stroke:var(--azul);stroke-width:2.4;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(1.8s + var(--k) * .09s)}
.parejo .au{fill:var(--azul);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .7s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(2.9s + var(--k) * .09s)}
.parejo .pulso{stroke:var(--oro);stroke-width:var(--sw);stroke-dasharray:.05 1.2;stroke-dashoffset:.05;opacity:0}
.parejo.visto .so{opacity:1;transform:none}
.parejo.visto .dd,.parejo.visto .ax{stroke-dashoffset:0}
.parejo.visto .su{opacity:.55}
.parejo.visto .sy,.parejo.visto .au{transform:none}
.parejo.visto .pulso{animation:pulso 13.6s linear calc(4.5s + var(--k) * 1.7s) infinite}
.parejo.visto .au{animation:llega 13.6s linear calc(4.5s + var(--k) * 1.7s) infinite}
@keyframes llega{0%,16%{fill:var(--azul)}19%,27%{fill:var(--oro)}36%,100%{fill:var(--azul)}}
@keyframes pulso{0%{stroke-dashoffset:.05;opacity:0}2%{opacity:.9}17%{opacity:.9}19%{stroke-dashoffset:-1;opacity:0}100%{stroke-dashoffset:-1;opacity:0}}
.parejo-ley{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px;font-size:14px;color:var(--texto-suave)}
.parejo-ley span{display:inline-flex;align-items:center;gap:10px}
.parejo-ley span::before{content:"";width:28px;height:4px;border-radius:2px;background:var(--azul)}
.parejo-ley .l-suma::before{height:0;border-radius:0;background:none;border-top:4px dotted rgba(26,31,54,.55)}
.parejo-ley .l-meta::before{width:10px;height:10px;border-radius:50%;background:var(--azul)}

/* ── labs: el modelo, sin nombrar laboratorios ── */
.labs-g{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--bloque);align-items:center}
.red-labs{width:100%;height:auto;display:block;overflow:visible}
.red-labs .rayo{stroke:var(--linea-azul);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--curva);transition-delay:calc(var(--k) * .12s)}
.red-labs.visto .rayo{stroke-dashoffset:0}
.red-labs .rayo.uno{stroke:var(--sobre-azul);stroke-width:4}
.red-labs .nodo{fill:var(--azul);stroke:var(--sobre-azul-suave);stroke-width:4;stroke-dasharray:6 7}
.red-labs .centro{fill:var(--azul);stroke:var(--sobre-azul);stroke-width:14}
.red-labs .primero{fill:var(--oro)}
.red-labs .pulso{fill:none;stroke:var(--oro);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:halo2 3.2s ease-out infinite}
.red-labs text{font:500 22px var(--cuerpo);fill:var(--sobre-azul-suave)}
.red-labs text.fuerte{fill:var(--sobre-azul);font-weight:600}
@keyframes halo2{0%{opacity:.8;transform:scale(1)}80%,100%{opacity:0;transform:scale(2.6)}}
.partimos{margin-top:32px;padding-top:28px;border-top:1px solid var(--linea-azul);display:flex;flex-direction:column;gap:8px}
.partimos b{font:600 clamp(1.5rem,2.4vw,2rem)/1.1 var(--display);color:var(--sobre-azul)}
.partimos span{color:var(--sobre-azul-suave)}

/* ── método: un axón recorre los pasos ── */
.metodo{background:var(--blanco)}
.axon{position:relative;margin-top:var(--bloque);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--el)}
.axon::before{content:"";position:absolute;left:12px;right:13px;top:11px;height:4px;border-radius:2px;background:var(--azul);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--curva)}
.axon.visto::before{transform:scaleX(1)}
.paso{position:relative;padding-top:56px}
.paso::before{content:"";position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;box-sizing:border-box;border:4px solid var(--azul);background:var(--blanco)}
.axon::after{content:"";position:absolute;right:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--oro);transform:scale(0);transition:transform .6s 1.5s var(--curva)}
.axon.visto::after{transform:scale(1)}
.paso .num{font-size:.95rem;font-weight:600;color:var(--texto-suave)}
.paso h3{font-size:clamp(1.3rem,1.8vw,1.5rem);font-weight:600;margin-top:10px;line-height:1.2}
.paso p{margin-top:12px;color:var(--texto-suave);font-size:1.05rem}

/* ── valores ── */
.valores{background:var(--calido)}
.vlist{margin-top:var(--bloque);border-top:1px solid var(--linea)}
.v{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:var(--el);padding:28px 0;border-bottom:1px solid var(--linea);align-items:baseline;transition:background .3s}
.v .num{color:var(--oro-tinta);font-weight:600}
.v h3{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;line-height:1.2}
.v p{color:var(--texto-suave)}
.v:hover h3{color:var(--azul)}

.contacto{background:var(--azul)}
.correo{display:inline-block;margin-top:28px;font:600 clamp(1.6rem,4.6vw,3.6rem)/1.1 var(--display);letter-spacing:-.02em;color:var(--oro);text-decoration:none;word-break:break-word;background:linear-gradient(currentColor,currentColor) 0 100%/0 3px no-repeat;transition:background-size .5s var(--curva)}
.correo:hover{background-size:100% 3px}
footer{background:var(--azul-hondo);color:var(--sobre-azul-suave);font-size:.95rem;padding:56px 0 36px}
footer a{text-decoration:none;transition:color .2s}footer a:hover{color:var(--sobre-azul)}
.pie-arriba{display:flex;justify-content:space-between;align-items:flex-start;gap:36px var(--el);flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid var(--linea-azul)}
.pie-marca .sello{height:44px;width:auto;display:block}
.pie-marca p{margin-top:12px}
.pie-cols{flex:1 1 100%;display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.pie-cols>div:nth-child(2){justify-self:center}
.pie-cols>div:nth-child(3){justify-self:end}
@media (max-width:720px){.pie-cols{grid-template-columns:1fr}.pie-cols>div:nth-child(2),.pie-cols>div:nth-child(3){justify-self:start}}
.pie-cols h4{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sobre-azul);margin-bottom:16px}
.pie-cols ul{list-style:none;display:grid;gap:14px}
.pie-cols li span{display:block;font-size:.8rem;opacity:.7;margin-bottom:2px}
.pie-abajo{display:flex;justify-content:center;padding-top:24px;font-size:.88rem}
.pie-marca .legal{margin-top:20px;font-size:.85rem;color:var(--sobre-azul)}
.pie-marca .prop{margin-top:4px;font-size:.85rem;max-width:72ch}
.pie-abajo ul{list-style:none;display:flex;gap:10px 22px;align-items:center;flex-wrap:wrap}
.hecho{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nh{width:22px;height:24px;fill:none;stroke:var(--sobre-azul);stroke-width:1.8;stroke-linecap:round;overflow:visible}
.nh .nh-au{fill:var(--oro);stroke:none}
.nh-s,.nh-au{transform-box:fill-box;transform-origin:center;animation:latir 1.6s ease-in-out infinite}
.nh-au{animation-name:destello}
@keyframes latir{0%,45%,100%{transform:scale(1)}10%{transform:scale(1.2)}20%{transform:scale(.95)}30%{transform:scale(1.12)}}
@keyframes destello{0%,15%,100%{filter:none;transform:scale(1)}28%{filter:drop-shadow(0 0 4px rgba(212,168,67,.95));transform:scale(1.25)}45%{filter:none;transform:scale(1)}}
.hecho:hover .nh-s,.hecho:hover .nh-au{animation-duration:.8s}
.cl{width:18px;height:12px;border-radius:2px;display:block}
@media (prefers-reduced-motion:reduce){.nh-s,.nh-au{animation:none}}
.copy{margin-top:40px;padding-top:24px;border-top:1px solid var(--linea-azul);font-size:.85rem}

/* ── páginas interiores (privacidad, 404) ── */
.interior{padding:clamp(72px,9vw,128px) 0}
.interior h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.06;font-weight:600;max-width:18ch}
.doc{max-width:720px;margin-top:var(--bloque)}
.doc h2{font-size:1.5rem;margin-top:48px;max-width:none}
.doc p,.doc li{margin-top:14px;color:var(--texto-suave)}
.doc ul{padding-left:1.2em}
.aviso{margin-top:28px;padding:18px 22px;border-left:4px solid var(--oro);background:var(--oro-suave);font-size:1rem}
.perdido{min-height:calc(100svh - 300px);display:flex;align-items:center}
body:has(.perdido){background:var(--azul)}
.cuatro{display:flex;align-items:flex-start;gap:.04em;font-family:Sora,sans-serif;font-weight:700;font-size:clamp(120px,17vw,230px);line-height:1;letter-spacing:-.02em;color:var(--sobre-azul);margin:0 0 .3em -.04em}
.cuatro span{display:block}
.lado404{display:grid;grid-template-columns:1fr auto;align-items:center;gap:64px;width:100%}
.lado404 .cuatro{margin:0;justify-self:end}
@media (max-width:860px){.lado404{grid-template-columns:1fr;gap:28px}.lado404 .cuatro{order:-1;justify-self:start;margin-bottom:.2em}}
.n404{width:.82em;height:1.47em;margin-top:-.12em;overflow:visible;fill:none;stroke:var(--sobre-azul);stroke-width:12;stroke-linecap:round}
.n404-ax{stroke-width:7}
.n404-se{fill:var(--sobre-azul);stroke:none;opacity:0;animation:viaja 3.6s ease-in infinite}
.n404-au{fill:var(--oro);stroke:none;transform-box:fill-box;transform-origin:center;animation:busca 3.6s ease-out infinite}
.n404-on{fill:none;stroke:var(--oro);stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0;animation:onda 3.6s ease-out infinite}
.n404-s{transform-box:fill-box;transform-origin:center;animation:late 3.6s ease-in-out infinite}
@keyframes late{0%,100%{transform:scale(1)}8%{transform:scale(1.04)}16%{transform:scale(1)}}
@keyframes viaja{0%,10%{opacity:0;transform:translateY(0)}16%{opacity:1}52%{opacity:1;transform:translateY(36px)}58%,100%{opacity:0;transform:translateY(40px)}}
@keyframes busca{0%,50%{transform:scale(1);filter:none}60%{transform:scale(1.35);filter:drop-shadow(0 0 6px rgba(212,168,67,.9))}75%,100%{transform:scale(1);filter:none}}
@keyframes onda{0%,54%{opacity:0;transform:scale(1)}60%{opacity:.8}100%{opacity:0;transform:scale(3.2)}}
@media (prefers-reduced-motion:reduce){.n404-se,.n404-au,.n404-on,.n404-s{animation:none}}

.aparece{opacity:0;transform:translateY(28px);transition:opacity .7s var(--curva),transform .7s var(--curva)}
.aparece.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .aparece{opacity:1;transform:none;transition:none}.franja-in{animation:none}
  .heroe h1 .pal{animation:none;opacity:1;transform:none;filter:none}
  .escena{transform:none}.escena *{animation:none!important}.escena .tz{stroke-dashoffset:0}.escena .au{transform:none}.escena .guias{opacity:.38}.escena .senal,.escena .halo,.escena .nucleo{display:none}
  .axon::before,.axon::after,.parejo .ax,.parejo .su,.parejo .dd,.parejo .so,.parejo .au,.parejo .sy,.red-labs .rayo{transition:none;transform:none;stroke-dashoffset:0;animation:none}
  .parejo .so{opacity:1}.parejo .su{opacity:.55}.parejo .pulso{display:none}
  .red-labs .pulso{animation:none;opacity:0}
  .logo *{transition:none!important}
  #red{display:none}
}
@media (max-width:900px){
  .heroe .w{grid-template-columns:1fr}.escena{max-width:240px;width:100%;margin:0;justify-self:start;order:-1}
  .porque,.labs-g{grid-template-columns:1fr}
  .axon{grid-template-columns:1fr;gap:40px;padding-left:48px;padding-bottom:44px}
  .axon::before{left:11px;right:auto;top:12px;bottom:12px;width:4px;height:auto;transform:scaleY(0);transform-origin:top}
  .axon.visto::before{transform:scaleY(1)}
  .axon::after{right:auto;left:0;top:auto;bottom:0}
  .paso{padding-top:0}.paso::before{left:-48px}
  .v{grid-template-columns:48px 1fr}.v p{grid-column:2}
  nav.top ul{gap:18px;font-size:.9rem}.logo{height:52px}
}
@media (max-width:560px){nav.top ul li:not(:last-child){display:none}}

/* ── investigación ── */
.investigacion{padding:var(--seccion) 0;background:var(--blanco)}
.evs{margin-top:var(--bloque);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--el)}
.ev{border-top:4px solid var(--azul);padding-top:22px;display:flex;flex-direction:column;gap:12px}
.ev h3{font-size:1.3rem;font-weight:600}
.ev p{color:var(--texto-suave);font-size:1.02rem}
.ev .fte{font-size:.86rem;color:var(--texto-suave);opacity:.85;font-style:italic}
.ev .crit{margin-top:auto;padding:14px 16px;background:var(--calido);border-radius:10px;font-size:.98rem;color:var(--texto)}
.ev .crit span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-tinta);margin-bottom:6px}
.limite{margin-top:var(--bloque);max-width:70ch;color:var(--texto-suave)}
.refs{margin-top:24px;max-width:90ch}
.refs summary{cursor:pointer;font-weight:600;color:var(--texto)}
.refs ol{margin-top:14px;padding-left:22px;display:grid;gap:8px;font-size:.9rem;color:var(--texto-suave)}
/* ── la marca: historia en capítulos con el logotipo fijo ── */
.marca{padding:clamp(56px,7vw,96px) 0 var(--seccion);background:var(--calido)}
.marca h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.04;font-weight:600;max-width:14ch}
.historia{margin-top:var(--bloque);display:grid;grid-template-columns:1.15fr 1fr;gap:var(--bloque);align-items:start}
.hist-logo{position:sticky;top:calc(50vh - 170px)}
.marca .demo{display:flex;justify-content:center}
.marca .demo .logo{height:auto;width:100%}
.logo-demo .ink{stroke:var(--azul)}.logo-demo .ink .f,.logo-demo .labs path{fill:var(--azul)}
.logo-demo.recoge .soma{fill:var(--azul)}
.logo-demo.viaja .hd{filter:drop-shadow(0 0 14px rgba(212,168,67,.6))}
.caps{display:grid;gap:0}
.cap{min-height:36vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .6s var(--curva)}
.cap.activo{opacity:1}
.cap .num{font-size:.95rem;font-weight:600;color:var(--oro-tinta)}
.cap h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;margin-top:10px;line-height:1.15}
.cap p{margin-top:16px;font-size:1.15rem;color:var(--texto-suave);max-width:38ch}
@media (max-width:860px){.historia{grid-template-columns:1fr}.hist-logo{top:84px;z-index:2;background:var(--calido);padding:12px 0;margin:0 -4px}.cap{min-height:30vh}}
@media (prefers-reduced-motion:reduce){.cap{opacity:1}}
.pie-cols .redes{display:flex;gap:10px;flex-wrap:wrap}
.red{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(247,245,240,.07);color:var(--sobre-azul-suave);cursor:default;transition:background .2s,color .2s}
.red svg{width:18px;height:18px}
.red:hover{background:rgba(247,245,240,.12);color:var(--sobre-azul)}
.pronto{margin-top:10px;font-size:.8rem}
/* ── contacto: correo + formulario ── */
.contacto-g{display:grid;grid-template-columns:1fr 1fr;gap:var(--bloque);align-items:start;margin-top:var(--el)}
.form{display:grid;gap:16px}
.form label{display:grid;gap:6px;font-size:.9rem;color:var(--sobre-azul-suave)}
.form label i{font-style:normal;opacity:.7}
.form input,.form textarea{font:inherit;font-size:1rem;color:var(--sobre-azul);background:rgba(247,245,240,.06);border:1px solid var(--linea-azul);border-radius:10px;padding:12px 14px;transition:border-color .2s,background .2s;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--oro);background:rgba(247,245,240,.09)}
.form .nota{font-size:.82rem;color:var(--sobre-azul-suave)}
.form .nota a{color:var(--sobre-azul)}
.form label.consiente{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;line-height:1.5;color:var(--sobre-azul-suave);cursor:pointer}
.form label.consiente a{color:var(--sobre-azul)}
.form .consiente input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin-top:1px;padding:0;border-radius:5px;border:1.5px solid var(--linea-azul);background:rgba(247,245,240,.06);display:grid;place-items:center;cursor:pointer}
.form .consiente input:checked{background:var(--oro);border-color:var(--oro)}
.form .consiente input:checked::after{content:"";width:5px;height:10px;border:solid var(--azul);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.form .consiente input:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.form button{justify-self:start;border:0;cursor:pointer;font:inherit}
@media (max-width:860px){.contacto-g{grid-template-columns:1fr}}
.contacto-g .correo{margin-top:0;font-size:clamp(1.5rem,3.2vw,2.8rem)}
.pie-cols li span.red{display:grid;margin:0;opacity:1;font-size:inherit}
.form .trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Nosotros: intro explicativa antes del recorrido */
.nos-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--el) var(--bloque);margin-top:36px;max-width:1040px}
.nos-intro p{font-size:1.2rem;line-height:1.6;color:var(--texto-suave)}
.nos-h2{margin-top:clamp(64px,8vw,104px);font-size:clamp(1.8rem,3vw,2.4rem)}
@media (max-width:860px){.nos-intro{grid-template-columns:1fr}}

/* v7 · Ronald 2026-10-01 23:5x: menos aire bajo el menú · clientes con fundido (en vez de la cinta) · pie con marca abajo */
.heroe{min-height:auto}
nav.top + .heroe{min-height:auto}
.heroe .w{padding-top:clamp(24px,4vw,56px);padding-bottom:clamp(40px,6vw,88px)}
.clientes{border-top:1px solid var(--linea-azul);background:rgba(19,23,41,.5);padding:28px 0 32px}
.cl-tit{font:700 .72rem/1 var(--cuerpo);letter-spacing:.14em;text-transform:uppercase;color:var(--sobre-azul-suave);margin-bottom:20px}
.cl-muestra{font-weight:500;letter-spacing:.02em;text-transform:none;opacity:.7}
.cl-grilla{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.cl-celda{position:relative;height:40px}
.cl-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:600 1.05rem/1 var(--titulos,inherit);color:var(--sobre-azul);opacity:0;transform:translateY(6px);filter:blur(4px);transition:opacity .7s var(--curva),transform .7s var(--curva),filter .7s var(--curva);border:1px dashed var(--linea-azul);border-radius:8px}
.cl-logo.on{opacity:.8;transform:none;filter:none}
@media (max-width:720px){.cl-grilla{grid-template-columns:repeat(2,1fr)}.cl-celda:nth-child(n+5){display:none}}
@media (prefers-reduced-motion:reduce){.cl-logo{transition:opacity .3s linear;transform:none;filter:none}}
.pie-abajo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:28px}
.pie-abajo .sello{height:40px;width:auto;display:block;justify-self:start}
.pie-abajo .hecho{justify-self:center}
.pie-legal{justify-self:end;text-align:right}
.pie-legal .legal{font-size:.85rem;color:var(--sobre-azul)}
.pie-legal .prop{margin-top:4px;font-size:.8rem;max-width:46ch;margin-left:auto}
@media (max-width:720px){.pie-abajo{grid-template-columns:1fr;justify-items:start}.pie-abajo .hecho,.pie-legal{justify-self:start;text-align:left}.pie-legal .prop{margin-left:0}}
.heroe .w{align-items:start;padding-top:clamp(16px,2.5vw,40px)}
.heroe .w > :first-child{padding-top:clamp(8px,2vw,32px)}
.heroe .clientes .w{display:block;flex:none;padding-top:0;padding-bottom:0}
.cl-logo{white-space:nowrap}
nav.top + .heroe{min-height:calc(100svh - 34px)}
.heroe > .w{align-content:center}
.cl-logo img{max-height:32px;max-width:80%;width:auto;filter:grayscale(1) brightness(2);opacity:.85}
/* v7c · Ronald 2026-10-02 00:0x */
.nos-por-que{grid-column:1/-1;font-size:1.35rem!important;color:var(--texto)!important;max-width:60ch}
.pie-arriba{padding-bottom:64px}
.pie-abajo{padding-top:14px}
.pie-abajo{align-items:start}
.nos-intro p.nos-por-que{color:var(--texto)!important;font:600 clamp(1.4rem,2.4vw,1.85rem)/1.35 var(--display)!important;letter-spacing:-.01em;max-width:40ch;margin-bottom:8px}
/* v7f · Ronald 2026-10-02 00:2x: móvil (menú hamburguesa · la S cede al contenido) · corazón con el efecto de la neurona */
.menu-btn{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative;z-index:2}
.menu-btn span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:var(--sobre-azul);transition:transform .3s var(--curva),opacity .2s,background-color .5s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:21px}.menu-btn span:nth-child(3){top:27px}
nav.top.claro .menu-btn span{background:var(--azul)}
nav.top.abierto .menu-btn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
nav.top.abierto .menu-btn span:nth-child(2){opacity:0}
nav.top.abierto .menu-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){
  .menu-btn{display:block}
  nav.top ul{position:fixed;left:0;right:0;top:84px;flex-direction:column;gap:0;padding:8px 24px 28px;font-size:1.25rem;
    background:rgba(26,31,54,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden;transition:opacity .25s var(--curva),transform .25s var(--curva),visibility 0s .25s}
  nav.top.claro ul{background:rgba(247,245,240,.97)}
  nav.top ul li,nav.top ul li:not(:last-child){display:block;border-bottom:1px solid var(--linea-azul)}
  nav.top.claro ul li{border-color:rgba(26,31,54,.1)}
  nav.top ul a{display:block;padding:16px 0}
  nav.top.abierto ul{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .25s var(--curva),transform .25s var(--curva)}
  .heroe .w{grid-template-columns:1fr}
  .escena{order:1;justify-self:center;max-width:200px;width:60%;margin:8px auto 0}
}
.nh .nh-c{stroke:var(--sobre-azul)}
.nh .nh-imp{stroke:var(--oro);stroke-width:2.4;stroke-dasharray:.12 .88;stroke-dashoffset:0;filter:drop-shadow(0 0 3px rgba(212,168,67,.9));animation:impulso 1.6s linear infinite}
@keyframes impulso{to{stroke-dashoffset:-1}}
@media (prefers-reduced-motion:reduce){.nh .nh-imp{animation:none;opacity:0}}
@media (max-width:900px){
  nav.top ul,nav.top.claro ul{background:var(--azul);height:calc(100svh - 84px);overflow-y:auto}
  nav.top.claro ul{background:var(--calido)}
  .escena{max-width:150px}
}
@media (max-width:900px){nav.top + .heroe{min-height:auto}.heroe .w{padding-bottom:40px}}
/* v8 · Ronald 2026-10-02: la bandera debajo de la frase */
.pie-abajo .hecho{flex-direction:column;align-items:center;gap:10px}
.hecho-txt{display:inline-flex;align-items:center;gap:6px}
@media (max-width:720px){.pie-abajo .hecho{align-items:flex-start}}
/* v9 · Ronald 2026-10-07: referencias con enlace */
.refs ol a{color:var(--texto);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;word-break:break-all}
.refs ol a:hover{color:var(--oro-texto,var(--texto))}
