/* ICCH · Instituto de Ciencias del Comportamiento Humano — versión sensorial */
:root{
  --bg:#050505;
  --bg-2:#0c0b09;
  --bg-3:#14120f;
  --white:#ffffff;
  --cream:#f1e8d9;
  --beige:#cdb99a;
  --sand:#9c8b70;
  --line:rgba(241,232,217,.14);
  --line-2:rgba(241,232,217,.28);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --maxw:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--cream);font-size:16px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--beige);color:var(--bg)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
em,i{font-family:var(--serif);font-style:italic;font-weight:400}
h1,h2,h3{text-wrap:balance}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1}
.label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--beige)}
.label::before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px;opacity:.6}
.muted{color:var(--sand)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Grano */
.grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:90;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-40px 30px}40%{background-position:30px -50px}60%{background-position:-25px -15px}80%{background-position:45px 40px}100%{background-position:0 0}}

/* Loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-io)}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:26px}
.loader-face{height:min(42vh,340px);width:auto;overflow:visible}
.loader-face path{fill:none;stroke:var(--beige);stroke-width:5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}
.loader-count{font-family:var(--serif);font-size:1.1rem;color:var(--sand);font-variant-numeric:tabular-nums}
@keyframes loaderIn{to{opacity:1;transform:none}}
body.loaded .loader{clip-path:inset(0 0 100% 0)}

/* Cortina de transición entre páginas */
.curtain{position:fixed;inset:0;z-index:150;background:var(--bg-3);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease-io);pointer-events:none}
.curtain.on{transform:scaleY(1)}

/* Cursor */
.cursor{position:fixed;left:0;top:0;z-index:180;pointer-events:none;mix-blend-mode:normal}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;border-radius:50%;pointer-events:none;will-change:transform}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--cream)}
.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(241,232,217,.45);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s,border-color .4s}
.cursor-ring em{font-size:.85rem;color:var(--bg);opacity:0;transition:opacity .3s}
.cursor.hover .cursor-ring{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:var(--beige)}
.cursor.view .cursor-ring{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--cream);border-color:var(--cream)}
.cursor.view .cursor-ring em{opacity:1}
.cursor.view .cursor-dot{opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}
@media (hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:transform .6s var(--ease),background .4s}
.site-header.hide{transform:translateY(-100%)}
.site-header.solid{background:linear-gradient(to bottom,rgba(5,5,5,.85),rgba(5,5,5,0))}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand img{height:54px;width:auto}
.nav-right{display:flex;align-items:center;gap:14px}
.pill{display:inline-flex;align-items:center;gap:.7em;border:1px solid var(--line-2);border-radius:999px;padding:.72em 1.35em;font-size:.86rem;font-weight:500;color:var(--cream);background:rgba(5,5,5,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);position:relative;overflow:hidden;transition:color .5s var(--ease),border-color .5s,translate .5s var(--ease);cursor:pointer;font-family:var(--sans)}
.pill::before{content:"";position:absolute;inset:0;background:var(--cream);transform:translateY(101%);border-radius:inherit;transition:transform .55s var(--ease)}
.pill:hover{color:var(--bg);border-color:var(--cream)}
.pill:hover::before{transform:none}
.pill > *{position:relative}
.pill-solid{background:var(--cream);color:var(--bg);border-color:var(--cream)}
.pill-solid::before{background:var(--beige)}
.burger{display:inline-flex;flex-direction:column;gap:5px;width:18px}
.burger i{display:block;height:1px;background:currentColor;transition:transform .5s var(--ease)}
body.menu-open .burger i:first-child{transform:translateY(3px) rotate(45deg)}
body.menu-open .burger i:last-child{transform:translateY(-3px) rotate(-45deg)}

/* Menú a pantalla completa */
.menu{position:fixed;inset:0;z-index:95;background:var(--bg-2);clip-path:circle(0% at calc(100% - 80px) 44px);transition:clip-path 1s var(--ease-io);display:flex;align-items:center;visibility:hidden}
body.menu-open .menu{clip-path:circle(150% at calc(100% - 80px) 44px);visibility:visible}
.menu-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;width:100%;align-items:end}
.menu ol{list-style:none;counter-reset:m}
.menu li{overflow:hidden}
.menu ol a{display:flex;align-items:baseline;gap:22px;font-family:var(--serif);font-size:clamp(2.6rem,7vw,6rem);line-height:1.08;color:var(--cream);transform:translateY(110%);transition:transform 1s var(--ease),color .3s}
.menu ol a::before{counter-increment:m;content:"0" counter(m);font-family:var(--sans);font-size:.8rem;color:var(--sand);letter-spacing:.1em}
.menu ol a:hover{color:var(--beige);font-style:italic}
body.menu-open .menu ol a{transform:none}
body.menu-open .menu li:nth-child(1) a{transition-delay:.25s}
body.menu-open .menu li:nth-child(2) a{transition-delay:.31s}
body.menu-open .menu li:nth-child(3) a{transition-delay:.37s}
body.menu-open .menu li:nth-child(4) a{transition-delay:.43s}
body.menu-open .menu li:nth-child(5) a{transition-delay:.49s}
.menu-aside{display:flex;flex-direction:column;gap:10px;color:var(--sand);opacity:0;transition:opacity .6s .6s}
body.menu-open .menu-aside{opacity:1}
.menu-aside a{color:var(--cream);font-size:1.1rem}

/* Texto dividido */
.w{display:inline-block;vertical-align:top;perspective:700px;padding-bottom:.08em;margin-bottom:-.08em}
.wi{display:inline-block;opacity:0;transform:rotateX(-96deg) translateY(.35em) translateZ(-.6em);transform-origin:50% 100%;transition:transform 1.4s var(--ease),opacity .9s var(--ease);transition-delay:calc(var(--i,0) * 55ms + var(--d,0ms))}
.in .wi,.wi.in{transform:none;opacity:1}
.fade{opacity:0;transform:perspective(1400px) rotateX(-28deg) translateY(70px) translateZ(-160px);transform-origin:50% 0;transition:opacity 1.2s var(--ease),transform 1.4s var(--ease);transition-delay:var(--d,0ms)}
.fade.in{opacity:1;transform:none}

/* Botones / enlaces */
.link-arrow{display:inline-flex;align-items:center;gap:.8em;font-weight:500;font-size:.95rem;position:relative;padding-bottom:4px}
.link-arrow::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.link-arrow:hover::after{transform:scaleX(0)}
.arrow{display:inline-block;transition:transform .5s var(--ease)}
a:hover .arrow,button:hover .arrow{transform:translateX(5px)}
.magnetic{will-change:translate}
.pill.fade{transition:opacity 1.2s var(--ease),transform 1.2s var(--ease),translate .5s var(--ease),color .5s var(--ease),border-color .5s;transition-delay:var(--d,0ms),var(--d,0ms),0s,0s,0s}

/* HERO */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;display:flex;align-items:flex-end}
.hero-visual{position:absolute;inset:0;will-change:transform}
.hero{cursor:crosshair}
#cabeza3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-ellipse{position:absolute;right:2vw;top:8vh;width:min(70vw,980px);height:auto;overflow:visible;pointer-events:none}
.hero-ellipse ellipse{fill:none;stroke:rgba(241,232,217,.55);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3200;stroke-dashoffset:3200;transition:stroke-dashoffset 3s var(--ease) .9s}
body.loaded .hero-ellipse ellipse{stroke-dashoffset:0}
.hero-ellipse g{transform-origin:center;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-content{position:relative;z-index:3;width:100%;padding-bottom:clamp(40px,8vh,90px)}
.hero .label{margin-bottom:28px;display:block}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,6.6vw,7rem);line-height:.98;letter-spacing:-.02em;color:var(--white);max-width:11ch}
.hero h1 em{color:var(--beige)}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:40px;flex-wrap:wrap}
.hero-foot p{max-width:30em;color:var(--cream);opacity:.85;font-size:1.02rem}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sand)}
.scroll-cue span{width:1px;height:54px;background:var(--line);position:relative;overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--cream);animation:cue 2s var(--ease-io) infinite}
@keyframes cue{to{top:110%}}

/* Declaración (texto que se ilumina) */
.statement{padding:clamp(120px,20vh,220px) 0}
.statement p{font-family:var(--serif);font-size:clamp(1.8rem,3.9vw,3.7rem);line-height:1.14;letter-spacing:-.015em;max-width:20ch;color:var(--white)}
.statement p.wide{max-width:24ch}
.scrub .sw{opacity:.14;transition:opacity .25s linear}
.scrub .sw.on{opacity:1}
.statement .label{display:block;margin-bottom:40px}

/* Preguntas fijadas */
.questions{position:relative;height:420vh}
.q-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.q-bg{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:center;pointer-events:none}
.q-face{height:92%;width:auto;margin-right:6vw;overflow:visible;opacity:.9}
.q-face path{fill:none;stroke:rgba(241,232,217,.22);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}
.q-inner{position:relative;width:100%;display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}
.q-side{align-self:center}
.q-count{white-space:nowrap;font-family:var(--serif);font-size:5rem;line-height:1;color:var(--beige);font-variant-numeric:tabular-nums;margin-top:18px}
.q-count small{font-size:1.4rem;color:var(--sand)}
.q-progress{width:160px;height:1px;background:var(--line);margin-top:20px;position:relative}
.q-progress span{position:absolute;inset:0;background:var(--cream);transform-origin:left;transform:scaleX(0)}
.q-viewport{position:relative;height:72vh;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}
.q-viewport{perspective:1100px}
.q-drum{position:absolute;left:0;right:0;top:50%;height:0;transform-style:preserve-3d}
.q-item{position:absolute;left:0;right:0;top:0;margin-top:calc(var(--qh,150px) / -2);backface-visibility:hidden;height:var(--qh,150px);display:flex;align-items:center;font-family:var(--serif);font-size:clamp(1.7rem,3.7vw,3.5rem);line-height:1.1;letter-spacing:-.015em;color:var(--white);opacity:.12;transform-origin:left center;will-change:opacity,transform}
.q-final{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px;opacity:0;pointer-events:none;transition:opacity .8s var(--ease)}
.q-final.show{opacity:1;pointer-events:auto}
.q-final p{font-family:var(--serif);font-size:clamp(2rem,4.5vw,4.4rem);line-height:1.05;color:var(--white);max-width:16ch}
.q-final p em{color:var(--beige)}

/* Marquee */
.marquee{padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;user-select:none}
.marquee-track{display:inline-flex;will-change:transform}
.marquee span{font-family:var(--serif);font-size:clamp(2.6rem,6.6vw,6.2rem);line-height:1;padding-right:.5em;color:var(--cream)}
.marquee span:nth-child(even){font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.55)}
.marquee span b{font-weight:400;color:var(--beige);padding-left:.5em;-webkit-text-stroke:0}

/* Qué es */
.about{padding:clamp(110px,18vh,200px) 0}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,120px);align-items:center}
.orbits{position:relative;aspect-ratio:1;width:100%;max-width:560px;will-change:transform}
.orbits svg{width:100%;height:100%;overflow:visible}
.orb{transform-origin:0 0}
.orb ellipse{fill:none;stroke:rgba(241,232,217,.28);stroke-width:1;vector-effect:non-scaling-stroke}
.orb circle{fill:var(--cream)}
.o1{animation:spin 26s linear infinite}
.o2{animation:spin 34s linear infinite reverse}
.o3{animation:spin 40s linear infinite}
.o4{animation:spin 22s linear infinite reverse}
.o5{animation:spin 16s linear infinite}
.o3 ellipse{stroke-dasharray:2 7;stroke:rgba(205,185,154,.45)}
@keyframes pulse{50%{opacity:.45;transform:scale(1.25)}}
.orbit-label{position:absolute;left:0;right:0;bottom:-8px;text-align:center;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sand)}
.about h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1;letter-spacing:-.02em;color:var(--white);margin:22px 0 34px}
.about h2 em{color:var(--beige)}
.about p{color:var(--cream);opacity:.82;max-width:34em}
.about p+p{margin-top:1.1em}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0}
.tags span{border:1px solid var(--line-2);border-radius:999px;padding:.4em 1.1em;font-size:.82rem;color:var(--beige);transition:background .4s,color .4s}
.tags span:hover{background:var(--cream);color:var(--bg)}
.quote{border-left:1px solid var(--beige);padding:4px 0 4px 26px;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.3;color:var(--white);max-width:28em}

/* Áreas: scroll horizontal */
.areas{position:relative;height:380vh}
.areas-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.areas-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:5vh}
.areas-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;color:var(--white);max-width:13ch}
.areas-head p{max-width:26em;opacity:.75}
.h-track{display:flex;gap:28px;padding-left:max(clamp(20px,4vw,48px),calc((100vw - var(--maxw))/2 + 48px));will-change:transform}
.area-card{flex:0 0 clamp(300px,34vw,480px);height:min(56vh,560px);position:relative;border-radius:6px;overflow:hidden;background:var(--bg-3);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;isolation:isolate}
.area-card{border:1px solid var(--line)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);z-index:-1;opacity:.55;transition:opacity 1s var(--ease),transform 1.6s var(--ease);will-change:transform}
.b1{width:70%;height:60%;left:-10%;top:-10%;animation:float1 14s ease-in-out infinite}
.b2{width:60%;height:55%;right:-15%;bottom:10%;animation:float2 18s ease-in-out infinite}
.a1 .b1{background:#b98a52}.a1 .b2{background:#5a4632}
.a2 .b1{background:#8f7a5e}.a2 .b2{background:#c9a36a}
.a3 .b1{background:#a0552e}.a3 .b2{background:#6b4a3a}
.a4 .b1{background:#d8c3a2}.a4 .b2{background:#7d6a52}
.area-card::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,30%),rgba(241,232,217,.14),transparent 60%),linear-gradient(to top,rgba(5,5,5,.9) 10%,rgba(5,5,5,0) 65%)}
.area-card:hover .blob{opacity:.9}
.area-card:hover .b1{transform:scale(1.25) translate(10%,8%)}
.big-ico{position:absolute;left:50%;top:38%;width:110px!important;height:110px!important;translate:-50% -50%;stroke:var(--cream)!important;stroke-width:.6!important;opacity:.85;transition:transform 1.2s var(--ease)}
.area-card:hover .big-ico{transform:scale(1.12) rotate(-6deg)}
@keyframes float1{50%{transform:translate(30%,25%) scale(1.15)}}
@keyframes float2{50%{transform:translate(-25%,-20%) scale(.9)}}
.area-card .num{position:absolute;top:28px;left:34px;font-family:var(--serif);font-size:1.2rem;color:var(--beige)}
.area-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3vw,2.8rem);line-height:1;color:var(--white);margin-bottom:14px}
.area-card p{font-size:.95rem;color:var(--cream);opacity:.85;max-width:26em}
.h-end{flex:0 0 clamp(260px,26vw,380px);display:flex;flex-direction:column;justify-content:center;gap:24px;padding-right:6vw}
.h-end p{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.1;color:var(--white)}
.h-progress{margin-top:5vh;height:1px;background:var(--line);position:relative}
.h-progress span{position:absolute;inset:0;background:var(--beige);transform-origin:left;transform:scaleX(0)}

.ico{width:30px;height:30px;fill:none;stroke:var(--beige);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Rostros que convergen */
.faces{position:relative;height:260vh}
.faces-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.faces-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,110px);align-items:center;width:100%}
.zones{width:min(58vh,42vw)}
.zones svg{width:100%;height:auto;overflow:hidden}
.zone-band rect{fill:rgba(205,185,154,.09);opacity:0;transition:opacity .8s var(--ease)}
.zone-band.on rect{opacity:1}
.zone-face{fill:none;stroke:var(--cream);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}
.zone-lines line{stroke:rgba(241,232,217,.35);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.zone-tags text{font-family:var(--serif);font-size:50px;fill:var(--white);opacity:0;transition:opacity .8s var(--ease)}
.zone-tags .zn{font-family:var(--sans);font-size:24px;letter-spacing:.2em;fill:var(--beige)}
.zone-tags text.on{opacity:1}
.zone-list{list-style:none;margin-top:34px;border-top:1px solid var(--line)}
.zone-list li{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.5rem;color:var(--white);opacity:.3;transition:opacity .6s,padding .6s var(--ease)}
.zone-list li span{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;color:var(--beige)}
.zone-list li.on{opacity:1;padding-left:12px}
.faces-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1;letter-spacing:-.02em;color:var(--white);margin:22px 0 30px}
.faces-text h2 em{color:var(--beige)}
.faces-text p{opacity:.8;max-width:30em}
.faces-text p+p{margin-top:1em}
.faces-text strong{font-weight:500;color:var(--white)}
.faces-text{will-change:opacity,transform}

/* Método */
.method{padding:clamp(120px,22vh,240px) 0;text-align:center;position:relative;overflow:hidden}
.method .label::before{display:none}
.method .label{display:block}
.method h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,7.4vw,7.4rem);line-height:.95;letter-spacing:-.03em;color:var(--white);margin:26px auto 34px}
.method h2 em{color:var(--beige)}
.method p{max-width:32em;margin:0 auto 40px;opacity:.8}
.method-ellipse{position:absolute;left:50%;top:50%;width:min(110vw,1500px);transform:translate(-50%,-50%);pointer-events:none;overflow:visible}
.method-ellipse ellipse{fill:none;stroke:rgba(241,232,217,.16);stroke-width:1;vector-effect:non-scaling-stroke}

/* Empresas */
.business{padding:clamp(110px,18vh,200px) 0;background:transparent}
.biz-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:70px}
.biz-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1;letter-spacing:-.02em;color:var(--white);margin-top:22px}
.biz-head h2 em{color:var(--beige)}
.biz-head p{opacity:.8;max-width:30em}
.biz-list{list-style:none;border-top:1px solid var(--line)}
.biz-row{position:relative;border-bottom:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:90px 1fr 1fr 40px;gap:30px;align-items:center;transition:padding .7s var(--ease)}
.biz-row::before{content:"";position:absolute;inset:0;background:var(--bg-3);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:0}
.biz-row:hover::before{transform:scaleY(1)}
.biz-row > *{position:relative;z-index:1}
.biz-row .n{font-family:var(--serif);font-size:1.3rem;color:var(--sand);padding-left:10px}
.biz-row h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.02;color:var(--white);transition:transform .7s var(--ease)}
.biz-row:hover h3{transform:translateX(14px);font-style:italic}
.biz-row p{opacity:.72;font-size:.95rem}
.biz-row .ico{justify-self:end;margin-right:10px;transition:transform .7s var(--ease)}
.biz-row:hover .ico{transform:rotate(-12deg) scale(1.1)}
.biz-float{position:fixed;left:0;top:0;width:150px;height:150px;pointer-events:none;z-index:60;border-radius:50%;background:var(--cream);opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .4s,transform .6s var(--ease)}
.biz-float.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.biz-float svg{position:absolute;inset:38px;width:74px;height:74px;fill:none;stroke:var(--bg);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:rotate(-20deg) scale(.7);transition:opacity .4s,transform .6s var(--ease)}
.biz-float svg.on{opacity:1;transform:none}
.biz-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;margin-top:50px}
.biz-foot p{font-size:.86rem;color:var(--sand);max-width:40em}

/* Formación */
.training{padding:clamp(110px,18vh,200px) 0;overflow:hidden}
.training-head{max-width:900px;margin-bottom:70px}
.training-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,5.6vw,5.4rem);line-height:1;letter-spacing:-.02em;color:var(--white);margin:22px 0 28px}
.training-head h2 em{color:var(--beige)}
.training-head p{opacity:.8;max-width:34em}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;perspective:1200px}
.course{position:relative;border-radius:10px;padding:clamp(32px,4vw,54px);min-height:440px;display:flex;flex-direction:column;background:linear-gradient(150deg,#1a1712 0%,#0c0b09 60%);border:1px solid var(--line);overflow:hidden;transform-style:preserve-3d;transition:transform .6s var(--ease),border-color .6s;will-change:transform}
.course::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(205,185,154,.18),transparent 60%);opacity:0;transition:opacity .5s}
.course:hover{border-color:var(--line-2)}
.course:hover::before{opacity:1}
.course .lvl{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--beige)}
.course h3{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,5vw,4.6rem);line-height:.95;color:var(--white);margin:auto 0 22px;transform:translateZ(40px)}
.course p{opacity:.78;max-width:28em;transform:translateZ(20px)}
.course .pill{align-self:flex-start;margin-top:32px;transform:translateZ(30px)}
.course-big{position:absolute;right:-.02em;top:-.2em;font-family:var(--serif);font-size:13rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.12);pointer-events:none}

/* Proceso */
.process{padding:clamp(100px,16vh,180px) 0;border-top:1px solid var(--line)}
.process h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.6vw,4.2rem);line-height:1;color:var(--white);margin:22px 0 70px;max-width:14ch}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}
.steps-line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.steps-line span{position:absolute;inset:0;background:var(--beige);transform-origin:left;transform:scaleX(0)}
.step{padding-top:40px;position:relative}
.step::before{content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--beige);transition:background .6s}
.step.on::before{background:var(--beige)}
.step .big{font-family:var(--serif);font-size:clamp(4rem,7vw,6.5rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.4);transition:color .8s var(--ease)}
.step.on .big{color:var(--cream);-webkit-text-stroke:0}
.step h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;color:var(--white);margin:18px 0 10px;line-height:1.05}
.step p{opacity:.75;max-width:22em}

/* Contacto */
.contact{padding:clamp(110px,18vh,200px) 0 clamp(80px,12vh,140px);background:transparent;position:relative;overflow:hidden}
.contact-title{font-family:var(--serif);font-weight:400;font-size:clamp(3.6rem,12vw,12rem);line-height:.85;letter-spacing:-.04em;color:var(--white);margin:22px 0 70px}
.contact-title em{color:var(--beige)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px)}
.contact-items{list-style:none}
.contact-items li{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:18px;align-items:center}
.contact-items li:last-child{border-bottom:1px solid var(--line)}
.contact-items small{display:block;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sand)}
.contact-items a{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15;color:var(--white);transition:color .3s}
.contact-items a:hover{color:var(--beige);font-style:italic}
.contact-items .ico{width:24px;height:24px}
form{display:grid;gap:8px}
.field{position:relative;padding-top:22px}
.field label{position:absolute;left:0;top:34px;font-size:1rem;color:var(--sand);transition:all .4s var(--ease);pointer-events:none}
.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);color:var(--white);font:inherit;font-size:1.05rem;padding:10px 0 12px;border-radius:0;transition:border-color .4s}
.field textarea{min-height:110px;resize:vertical}
.field select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--beige) 50%),linear-gradient(135deg,var(--beige) 50%,transparent 50%);background-position:calc(100% - 12px) 22px,calc(100% - 6px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.field select option{background:var(--bg-2);color:var(--cream)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--cream)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field.static label{top:0;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--beige)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--sand);margin:24px 0 18px}
.check input{margin-top:.35em;accent-color:var(--beige);width:16px;height:16px}
.check a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.form-msg{margin-top:14px;font-size:.9rem;color:var(--beige);min-height:1.4em}
form .pill{justify-self:start}

/* Footer */
footer{padding:80px 0 30px;border-top:1px solid var(--line);overflow:hidden}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;font-size:.9rem}
.foot img{height:74px;width:auto}
.foot h4{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);font-weight:500;margin-bottom:14px}
.foot nav{display:flex;flex-direction:column;gap:8px}
.foot nav a{color:var(--cream);opacity:.85;transition:opacity .3s,color .3s;width:fit-content}
.foot nav a:hover{opacity:1;color:var(--beige)}
.wordmark{font-family:var(--serif);font-size:clamp(4.4rem,22vw,21rem);line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.2);margin:70px 0 10px;white-space:nowrap;text-align:center;user-select:none}
.wordmark em{color:var(--cream);-webkit-text-stroke:0;opacity:.92}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--sand);border-top:1px solid var(--line);padding-top:22px}

/* Barra móvil */
.mobile-cta{display:none}

/* Legal */
.legal-hero{padding:180px 0 70px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,6.4rem);line-height:.95;letter-spacing:-.02em;color:var(--white);margin-top:22px}
.legal{padding:80px 0 120px;max-width:860px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:2.6rem;margin:1.6em 0 .5em;color:var(--white);line-height:1.05}
.legal h3{font-size:1rem;font-weight:600;margin:1.6em 0 .4em;color:var(--white)}
.legal p,.legal li{color:var(--cream);opacity:.82;font-size:.97rem}
.legal ul{padding-left:1.2em;margin:.5em 0}
.legal p+p{margin-top:.8em}
.legal table{border-collapse:collapse;width:100%;font-size:.92rem;margin:.8em 0}
.legal td{border-bottom:1px solid var(--line);padding:.8em .6em .8em 0;vertical-align:top;color:var(--cream)}
.legal td:first-child{width:32%;color:var(--sand);text-transform:uppercase;font-size:.72rem;letter-spacing:.18em;padding-top:1.05em}
.pending{background:rgba(205,185,154,.22);color:var(--white);padding:0 .35em;border-radius:3px}

/* Responsive */
@media (max-width:1024px){
  .about-grid,.biz-head,.contact-grid{grid-template-columns:1fr}
  .about-img{max-width:520px}
  .q-inner{grid-template-columns:1fr;gap:10px}
  .q-side{display:flex;align-items:center;gap:24px}
  .q-count{font-size:2.6rem;margin:0}
  .q-progress{margin:0;flex:1}
  .q-viewport{height:62vh}
  .foot{grid-template-columns:1fr 1fr}
  .biz-row{grid-template-columns:60px 1fr 40px}
  .biz-row p{grid-column:2/3}
  .biz-row .ico{grid-row:1;grid-column:3}
}
@media (max-width:760px){
  body{font-size:15px}
  .nav{height:76px}
  .brand img{height:48px}
  .nav-right .pill-solid{display:none}
  .hero{min-height:0;align-items:flex-end}
  .hero-visual{opacity:.75}
  .hero-ellipse{right:-30vw;width:150vw;top:10vh}
  .hero h1{font-size:clamp(2.7rem,12.5vw,4.2rem)}
  .hero-foot{margin-top:26px}
  .scroll-cue{display:none}
  .menu-grid{grid-template-columns:1fr;gap:50px}
  .areas-head{flex-direction:column;align-items:flex-start;gap:20px}
  .faces{height:auto}
  .faces-sticky{position:relative;height:auto;padding:110px 0}
  .faces-grid{grid-template-columns:1fr}
  .zones{width:min(100%,380px);margin:0 auto}
  .q-face{margin-right:0;height:80%}
  .big-ico{top:34%;width:84px!important;height:84px!important}
  .course-grid,.row2,.steps{grid-template-columns:1fr}
  .course{min-height:360px}
  .course-big{font-size:11rem}
  .steps{gap:50px}
  .steps-line{display:none}
  .step{padding-top:0;border-top:1px solid var(--line);padding-top:30px}
  .step::before{display:none}
  .biz-row{grid-template-columns:44px 1fr;gap:10px 16px;padding:28px 0}
  .biz-row p{grid-column:2/3}
  .biz-row .ico{display:none}
  .biz-float{display:none}
  .foot{grid-template-columns:1fr}
  .mobile-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;gap:8px;padding:8px;border-radius:999px;background:rgba(20,18,15,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);transform:translateY(140%);transition:transform .6s var(--ease)}
  .mobile-cta.show{transform:none}
  .mobile-cta a{flex:1;text-align:center;padding:.85em;border-radius:999px;font-weight:500;font-size:.88rem;color:var(--cream)}
  .mobile-cta a.primary{flex:1.7;background:var(--cream);color:var(--bg)}
  footer{padding-bottom:100px}
}

/* Movimiento reducido: secciones sin fijar */
.rm .questions,.rm .areas,.rm .faces{height:auto}
.rm .q-sticky,.rm .areas-sticky,.rm .faces-sticky{position:relative;height:auto;padding:110px 0}
.rm .q-viewport{height:auto;-webkit-mask-image:none;mask-image:none}
.rm .q-track{position:static}
.rm .q-item{opacity:1;height:auto;padding:.25em 0}
.rm .q-final{position:static;opacity:1;margin-top:40px;pointer-events:auto}
.rm .h-progress,.rm .q-progress{display:none}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .wi,.fade{transform:none!important;opacity:1!important}
  .scrub .sw{opacity:1}
  .loader{display:none}
  .hero-ellipse ellipse{stroke-dashoffset:0}
}

/* ===== 3D ===== */
/* Anillo de texto */
.ring3d{height:62vh;min-height:420px;position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ring-stage{position:absolute;inset:0;perspective:1500px;display:grid;place-items:center}
.ring-tilt{transform-style:preserve-3d;transform:rotateX(-16deg) rotateZ(-6deg)}
.ring-text{position:relative;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.ring-text span{position:absolute;left:0;top:0;font-family:var(--serif);font-size:clamp(2.4rem,5.2vw,4.8rem);line-height:1;color:var(--cream);white-space:pre;transform-origin:0 0;will-change:opacity}
.ring-text span.it{font-style:italic;color:var(--beige)}

/* Giroscopio */
.gyro-wrap{position:relative;width:100%;max-width:540px;aspect-ratio:1;perspective:1100px}
.gyro{position:absolute;inset:8%;transform-style:preserve-3d;transform:rotateX(var(--rx,10deg)) rotateY(var(--ry,-20deg));transition:transform 1.2s var(--ease)}
.gr{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(241,232,217,.32);transform-style:preserve-3d}
.gr i{position:absolute;left:50%;top:-4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--cream);box-shadow:0 0 14px rgba(241,232,217,.8)}
.r1{animation:g1 14s linear infinite}
.r2{inset:7%;border-color:rgba(205,185,154,.45);animation:g2 18s linear infinite}
.r3{inset:14%;border-style:dashed;border-color:rgba(205,185,154,.35);animation:g3 11s linear infinite}
.r4{inset:22%;animation:g4 22s linear infinite}
.r5{inset:32%;border-color:rgba(241,232,217,.5);animation:g5 9s linear infinite}
@keyframes g1{from{transform:rotateX(72deg) rotateZ(0)}to{transform:rotateX(72deg) rotateZ(360deg)}}
@keyframes g2{from{transform:rotateY(64deg) rotateZ(0)}to{transform:rotateY(64deg) rotateZ(-360deg)}}
@keyframes g3{from{transform:rotateX(20deg) rotateY(40deg) rotateZ(0)}to{transform:rotateX(20deg) rotateY(40deg) rotateZ(360deg)}}
@keyframes g4{from{transform:rotateX(-50deg) rotateY(-30deg) rotateZ(0)}to{transform:rotateX(-50deg) rotateY(-30deg) rotateZ(-360deg)}}
@keyframes g5{from{transform:rotateY(0) rotateX(80deg)}to{transform:rotateY(360deg) rotateX(80deg)}}
.gyro .core{position:absolute;left:50%;top:50%;width:26%;height:26%;margin:-13% 0 0 -13%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6eddf,#cdb99a 35%,#5b4a36 70%,#14120f);box-shadow:0 0 80px rgba(205,185,154,.35),inset -10px -14px 30px rgba(0,0,0,.6);animation:pulse 5s ease-in-out infinite}

/* Carrusel 3D de áreas */
.areas{height:420vh}
.carousel-stage{position:relative;height:min(60vh,560px);perspective:1700px;margin-top:2vh}
.carousel{--cw:clamp(280px,29vw,420px);position:absolute;left:50%;top:0;bottom:0;width:var(--cw);margin-left:calc(var(--cw) / -2);transform-style:preserve-3d;will-change:transform}
.carousel .area-card{position:absolute;inset:0;flex:none;height:auto;width:auto;will-change:transform,opacity;transform-style:flat}
.area-card.h-end{justify-content:center;gap:26px;background:radial-gradient(circle at 30% 20%,rgba(205,185,154,.18),transparent 60%),var(--bg-3)}
.area-card.h-end p{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.1;color:var(--white)}
.area-card.h-end .pill{align-self:flex-start}

/* Título con volumen */
.method .wrap{perspective:1200px}
.extrude{display:inline-block;position:relative;transform-style:preserve-3d;will-change:transform}
.ex-front{position:relative;display:block;transform:translateZ(1px)}
.ex-layer{position:absolute;left:0;top:0;right:0;display:block;pointer-events:none;user-select:none}
.ex-layer em{color:inherit!important}

/* Pasos con giro */
.step{perspective:900px}
.step .big{display:inline-block;transform:rotateX(85deg);transform-origin:50% 100%;opacity:.2;transition:transform 1.2s var(--ease),opacity 1s,color .8s var(--ease)}
.step.on .big{transform:none;opacity:1}
.course.fade{transform:perspective(1400px) rotateY(-38deg) translateZ(-200px);transform-origin:0 50%}
.course.fade.in{transform:none}

@media (max-width:760px){
  .areas{height:380vh}
  .carousel{--cw:74vw}
  .carousel-stage{height:min(56vh,460px)}
  .ring3d{height:46vh;min-height:320px}
  .gyro-wrap{max-width:360px;margin:0 auto}
}
/* Movimiento reducido: sin 3D */
.rm .q-drum{position:static;height:auto}
.rm .q-item{position:static;margin:0;transform:none!important}
.rm .areas{height:auto}
.rm .carousel-stage{height:auto;perspective:none}
.rm .carousel{position:static;margin:0;width:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;transform:none!important}
.rm .carousel .area-card{position:relative;inset:auto;height:420px;transform:none!important;opacity:1!important}
.rm .ring-stage{position:static;display:block;padding:60px 0}
.rm .ring3d{height:auto}
.rm .ring-text{width:auto;height:auto;text-align:center}
.rm .ring-text span{position:static;transform:none!important}

/* ===== Título principal robotizado ===== */
.hero{align-items:flex-end}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.6) 45%,rgba(5,5,5,.9));pointer-events:none;z-index:1}
.hero-content{text-align:center;padding-bottom:clamp(34px,6vh,70px)}
.hero .hero-label{display:inline-block;margin-bottom:22px}
.hero-label::after{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-left:14px;opacity:.6}
.hero h1.hero-title{position:relative;display:inline-block;font-family:"Orbitron",var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.06;font-size:clamp(1.9rem,4.6vw,4.9rem);color:var(--white);max-width:none;padding:.28em .55em;text-shadow:0 0 34px rgba(241,232,217,.22),0 0 2px rgba(241,232,217,.55)}
.hero-title .ht-line{display:block;white-space:nowrap}
.hero-title em{font-family:inherit;font-style:normal;font-weight:700;color:var(--beige);text-shadow:0 0 30px rgba(205,185,154,.55),0 0 2px rgba(205,185,154,.8)}
.hero-title::before,.hero-title::after{content:"";position:absolute;width:clamp(16px,2vw,30px);height:clamp(16px,2vw,30px);border:1px solid rgba(205,185,154,.7);pointer-events:none}
.hero-title::before{left:0;top:0;border-right:0;border-bottom:0}
.hero-title::after{right:0;bottom:0;border-left:0;border-top:0}
.sw-word{display:inline-block;white-space:nowrap}
.sc{display:inline-block;text-align:center}
.sc.on{color:var(--white);text-shadow:0 0 18px rgba(255,255,255,.8)}
em .sc.on{color:#fff4e2}
.ht-caret{display:inline-block;width:.42em;height:.09em;margin-left:.18em;background:var(--beige);vertical-align:.05em;box-shadow:0 0 12px rgba(205,185,154,.9);animation:caret 1.05s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.hero-title.glitch{animation:glitch .28s steps(2) 1}
@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-3px,1px);text-shadow:3px 0 rgba(205,185,154,.7),-3px 0 rgba(241,232,217,.5)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,0);text-shadow:-2px 0 rgba(205,185,154,.7),2px 0 rgba(241,232,217,.5)}100%{transform:none}}
.hero-foot{flex-direction:column;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.hero-foot p{margin:0 auto;text-align:center}
@media (max-width:760px){
  .hero h1.hero-title{font-size:clamp(1.45rem,7.4vw,2.4rem);padding:.3em .4em}
  .hero-title .ht-line{white-space:normal}
}

/* ===== Fondo vivo WebGL ===== */
.bg-gl{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block}
main,footer{position:relative;z-index:1}
.no-gl body,html.no-gl body{background:radial-gradient(1200px 800px at 70% 20%,#1b150e,transparent 60%),radial-gradient(900px 700px at 15% 80%,#15110c,transparent 60%),#050505;background-attachment:fixed}
footer{background:linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.6))}

/* ===== Cristal (glassmorphism) ===== */
.course,.step,#form-contacto,.biz-list,.contact-items,.quote,.q-final .pill{position:relative}
.course,.step,#form-contacto,.biz-list{background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 55%,rgba(205,185,154,.04));-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);border:1px solid rgba(241,232,217,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 30px 80px rgba(0,0,0,.35)}
.course{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 60%)}
.step{border-radius:14px;padding:30px 26px 34px;border-top:1px solid rgba(241,232,217,.14)}
#form-contacto{border-radius:16px;padding:clamp(24px,3vw,40px)}
.biz-list{border-radius:16px;padding:0 clamp(12px,2vw,26px);border-top:1px solid rgba(241,232,217,.14)}
.biz-row:last-child{border-bottom:0}
.biz-row::before{background:rgba(255,255,255,.04);border-radius:10px}
.course::after,.step::after,.biz-list::after,#form-contacto::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,250,240,.10) 48%,transparent 60%);background-size:250% 100%;background-position:120% 0;transition:background-position 1.4s var(--ease)}
.course:hover::after,.step:hover::after,.biz-list:hover::after,#form-contacto:hover::after{background-position:-40% 0}
.steps-line{top:-22px}
.step::before{top:-26px}
.area-card{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(20,18,15,.55));border:1px solid rgba(241,232,217,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}

/* ===== Tipografía cinética 3D ===== */
.kinetic{display:flex;flex-direction:column;gap:3.2vh;perspective:900px;transform-style:preserve-3d;width:min(48vw,640px);will-change:transform}
.kw{transform-style:preserve-3d;transition:opacity .8s}
.kw small{display:block;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sand);margin-bottom:8px;transition:color .6s}
.kw-word{display:block;font-family:"Orbitron",var(--sans);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,4.6vw,4.6rem);line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.4);transform-style:preserve-3d;white-space:nowrap;transition:color .7s,-webkit-text-stroke-color .7s,text-shadow .7s}
.kl{display:inline-block;will-change:transform;transform-style:preserve-3d}
.kw.on .kw-word{color:var(--cream);-webkit-text-stroke-color:transparent;text-shadow:0 0 30px rgba(241,232,217,.35),0 0 2px rgba(255,255,255,.6)}
.kw.on small{color:var(--beige)}
.faces-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}

/* ===== Letras deformables ===== */
.dl{display:inline-block;will-change:transform;transform-origin:50% 100%;transition:color .3s}
.wordmark .dl{transform-origin:50% 80%}
.contact .label{display:block}

@media (max-width:760px){
  .kinetic{width:100%;gap:22px;margin-bottom:30px}
  .kw-word{font-size:clamp(1.6rem,9vw,2.6rem)}
  .faces-grid{grid-template-columns:1fr}
}
.rm .kl,.rm .dl{transform:none!important}

.gyro .core{display:none}

/* ===== Hazte estas preguntas (una por pantalla) ===== */
.questions.qx{height:calc(9 * 92vh);position:relative}
.qx-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:96px 0 34px}
.qx-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.qx-dots{display:flex;gap:10px;align-items:center}
.qx-dots i{width:9px;height:9px;border-radius:50%;border:1px solid rgba(241,232,217,.35);transition:all .5s var(--ease)}
.qx-dots i.done{background:var(--beige);border-color:var(--beige)}
.qx-dots i.cur{transform:scale(1.5);border-color:var(--cream);box-shadow:0 0 12px rgba(241,232,217,.6)}
.qx-dots i.end{border-radius:2px;transform:rotate(45deg)}
.qx-dots i.end.cur{transform:rotate(45deg) scale(1.5)}
.qx-stage{position:relative;flex:1;margin:2vh 0}
.qx-scene{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px);opacity:0;visibility:hidden;transform:translateY(60px) scale(.96);filter:blur(10px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s var(--ease),visibility 0s .9s;pointer-events:none}
.qx-scene.past{transform:translateY(-60px) scale(1.03)}
.qx-scene.on{opacity:1;visibility:visible;transform:none;filter:none;transition:opacity .9s var(--ease) .15s,transform 1.1s var(--ease) .15s,filter .9s var(--ease) .15s,visibility 0s;pointer-events:auto}
.qx-art{perspective:900px;display:grid;place-items:center;transition:transform .6s var(--ease)}
.qx-art svg{width:min(100%,52vh);height:auto;overflow:visible}
.qx-text{max-width:640px}
.qx-num{font-family:"Orbitron",var(--sans);font-size:clamp(2.6rem,5vw,4.6rem);font-weight:600;line-height:1;color:var(--beige);text-shadow:0 0 30px rgba(205,185,154,.35)}
.qx-num small{font-size:.32em;color:var(--sand);letter-spacing:.1em}
.qx-q{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.2vw,4rem);line-height:1.08;letter-spacing:-.015em;color:var(--white);margin:22px 0 22px}
.qx-q.big{font-size:clamp(2.2rem,4.8vw,4.6rem)}
.qx-q em{color:var(--beige)}
.qw{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(6px);transition:opacity .8s var(--ease),transform .9s var(--ease),filter .8s var(--ease);transition-delay:calc(var(--i) * 110ms + 350ms)}
.qx-scene.on .qw{opacity:1;transform:none;filter:none}
.qx-hint{font-size:1.02rem;color:var(--sand);font-style:italic;font-family:var(--serif);opacity:0;transition:opacity 1s 1.6s}
.qx-scene.on .qx-hint{opacity:1}
.qx-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.qx-answers{display:flex;gap:12px;transition:opacity .5s}
.qx-answers button{white-space:nowrap;font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--cream);background:rgba(255,255,255,.05);border:1px solid rgba(241,232,217,.3);border-radius:999px;padding:.85em 1.7em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s var(--ease)}
.qx-answers button:hover{border-color:var(--cream);background:rgba(241,232,217,.1);transform:translateY(-2px)}
.qx-answers button.sel{background:var(--cream);color:var(--bg);border-color:var(--cream);box-shadow:0 0 24px rgba(241,232,217,.35)}
.qx-think{display:flex;align-items:center;gap:12px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);transition:opacity .5s}
.qx-think svg{width:34px;height:34px;transform:rotate(-90deg)}
.qx-think circle{fill:none;stroke:rgba(241,232,217,.18);stroke-width:2}
.qx-think circle.fill{stroke:var(--beige);stroke-dasharray:1;stroke-dashoffset:1}
.qx-think.run circle.fill{animation:think 4.2s linear forwards}
@keyframes think{to{stroke-dashoffset:0}}
.qx.at-end .qx-answers,.qx.at-end .qx-think{opacity:0;pointer-events:none}
.qx-end{grid-template-columns:1fr;text-align:center;justify-items:center}
.qx-text.wide{max-width:900px;display:flex;flex-direction:column;align-items:center}
.qx-summary{margin:6px 0 30px;max-width:620px}
.qx-summary p{font-size:1.08rem;color:var(--cream)}
.qx-summary small{display:block;margin-top:10px;font-size:.8rem;color:var(--sand)}
.qx-sumdots{display:flex;gap:12px;justify-content:center;margin-bottom:18px}
.qx-sumdots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(241,232,217,.3)}
.qx-sumdots i.open{background:var(--beige);border-color:var(--beige);box-shadow:0 0 14px rgba(205,185,154,.6)}
.qx-sumdots i.clear{border-color:var(--cream)}

/* Ilustraciones */
.ill .d{fill:none;stroke:var(--cream);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease) .3s}
.qx-scene.on .ill .d{stroke-dashoffset:0}
.ill .faint{stroke:rgba(241,232,217,.25)}
.ill{filter:drop-shadow(0 0 10px rgba(241,232,217,.18))}
/* 1 · camino */
.ill-camino .br{stroke:rgba(241,232,217,.75)}
.qx-scene.on .ill-camino .k1{transition-delay:.9s}.qx-scene.on .ill-camino .k2{transition-delay:1.1s}.qx-scene.on .ill-camino .k3{transition-delay:1.3s}.qx-scene.on .ill-camino .k4{transition-delay:1.5s}.qx-scene.on .ill-camino .k5{transition-delay:1.7s}
.qx-scene.on .ill-camino .dash{stroke-dasharray:.02 .025;animation:dashmove 3s linear infinite 2.5s}
@keyframes dashmove{to{stroke-dashoffset:-.45}}
.ill-camino .end{fill:var(--beige);opacity:0;transition:opacity .8s 2.2s}
.qx-scene.on .ill-camino .end{opacity:1;animation:twinkle 2.4s ease-in-out infinite 2.4s}
.ill-camino .end:nth-of-type(2){animation-delay:3s!important}.ill-camino .end:nth-of-type(3){animation-delay:3.6s!important}
@keyframes twinkle{50%{opacity:.25}}
.ill-camino .walker{fill:var(--white)}
.qx-scene.on .ill-camino .walker{animation:wander 5s var(--ease-io) infinite 2s}
@keyframes wander{0%,100%{transform:translate(0,0)}20%{transform:translate(-24px,-30px)}40%{transform:translate(0,-6px)}60%{transform:translate(26px,-28px)}80%{transform:translate(2px,-44px)}}
.ill-camino .ring-p{fill:none;stroke:var(--beige);transform-origin:200px 262px}
.qx-scene.on .ill-camino .ring-p{animation:pulse2 2.2s ease-out infinite 1s}
@keyframes pulse2{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}
/* 2 · vaso */
.ill-vaso .water{fill:rgba(205,185,154,.35);transform:translateY(230px)}
.qx-scene.on .ill-vaso .water{animation:rise 6s var(--ease-io) infinite 1s}
@keyframes rise{0%{transform:translate(0,230px)}45%{transform:translate(-70px,-14px)}88%{transform:translate(-140px,-20px)}100%{transform:translate(-160px,230px)}}
.ill-vaso .water path{stroke:var(--cream);stroke-width:1.4}
.ill-vaso .spill{stroke:rgba(241,232,217,.7)}
.qx-scene.on .ill-vaso .spill{animation:spill 6s var(--ease-io) infinite 1s}
@keyframes spill{0%,42%{stroke-dashoffset:1;opacity:1}58%{stroke-dashoffset:0}88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.ill-vaso .drop{fill:var(--cream);opacity:0}
.qx-scene.on .ill-vaso .drop{animation:fall 1.6s ease-in infinite}
.qx-scene.on .ill-vaso .dr1{animation-delay:3.4s}.qx-scene.on .ill-vaso .dr2{animation-delay:3.9s}.qx-scene.on .ill-vaso .dr3{animation-delay:4.3s}.qx-scene.on .ill-vaso .dr4{animation-delay:4.8s}
@keyframes fall{0%{opacity:0;transform:translateY(-30px)}20%{opacity:1}100%{opacity:0;transform:translateY(90px)}}
/* 3 · diana */
.ill-diana .cross{stroke:rgba(241,232,217,.2);stroke-width:1.2}
.ill-diana .bull{stroke:var(--beige)}
.ill-diana .arrow{opacity:0}
.qx-scene.on .ill-diana .arrow{animation:shoot 4.5s var(--ease) infinite 1.4s}
@keyframes shoot{0%{opacity:0;transform:translate(-240px,-40px)}8%{opacity:1}28%{transform:translate(0,0);opacity:1}85%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(0,0)}}
.ill-diana .arrow .d{stroke-dashoffset:0}
.ill-diana .hit{fill:var(--white);opacity:0}
.qx-scene.on .ill-diana .hit{animation:hit 4.5s ease-out infinite 1.4s}
@keyframes hit{0%,27%{opacity:0;r:4}29%{opacity:1;r:6}45%{opacity:0;r:26}100%{opacity:0}}
/* 4 · pulso */
.ill-pulso .breath{fill:rgba(205,185,154,.08);stroke:rgba(205,185,154,.45);stroke-width:1.5;transform-origin:200px 200px}
.qx-scene.on .ill-pulso .breath{animation:breathe 4.4s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.78)}50%{transform:scale(1.06)}}
.qx-scene.on .ill-pulso .ecg{stroke-dasharray:.35 .65;animation:ecg 2.6s linear infinite 1s}
@keyframes ecg{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ill-pulso .beat{display:none}
/* 5 · brújula */
.ill-brujula .cardinal{fill:var(--sand);font:600 18px "Orbitron",var(--sans);text-anchor:middle}
.ill-brujula .qm{fill:var(--beige);font:400 64px var(--serif);opacity:0}
.qx-scene.on .ill-brujula .qm{animation:twinkle 3s ease-in-out infinite 2s;opacity:1}
.ill-brujula .needle{transform-origin:200px 200px}
.qx-scene.on .ill-brujula .needle{animation:lost 7s var(--ease-io) infinite 1s}
@keyframes lost{0%{transform:rotate(0)}14%{transform:rotate(95deg)}26%{transform:rotate(60deg)}40%{transform:rotate(-120deg)}52%{transform:rotate(-80deg)}66%{transform:rotate(200deg)}78%{transform:rotate(170deg)}100%{transform:rotate(360deg)}}
.ill-brujula .nd.n{fill:var(--cream)}.ill-brujula .nd.s{fill:rgba(241,232,217,.25)}
.ill-brujula .pin{fill:var(--bg);stroke:var(--cream);stroke-width:2}
.ill-brujula .fog{stroke:rgba(241,232,217,.3);stroke-width:1.4}
.qx-scene.on .ill-brujula .fog{animation:drift 9s ease-in-out infinite alternate}
.qx-scene.on .ill-brujula .f2{animation-duration:12s;animation-direction:alternate-reverse}
@keyframes drift{to{transform:translateX(-40px)}}
/* 6 · equipo */
.ill-equipo .lk{stroke:rgba(241,232,217,.35);stroke-width:1.3}
.ill-equipo .person{opacity:0;transition:opacity .8s}
.qx-scene.on .ill-equipo .person{opacity:1}
.qx-scene.on .ill-equipo .p0{transition-delay:.6s}.qx-scene.on .ill-equipo .p1{transition-delay:.8s}.qx-scene.on .ill-equipo .p2{transition-delay:1s}.qx-scene.on .ill-equipo .p3{transition-delay:1.2s}.qx-scene.on .ill-equipo .p4{transition-delay:1.4s}
.ill-equipo .you .d{stroke:var(--beige);stroke-width:2.6}
.ill-equipo .seek{fill:none;stroke:var(--white);stroke-width:1.4;stroke-dasharray:6 8;opacity:0}
.qx-scene.on .ill-equipo .seek{opacity:.9;animation:seek 8s var(--ease-io) infinite 2s}
@keyframes seek{0%,100%{transform:translate(0,0)}18%{transform:translate(0,-105px)}36%{transform:translate(-105px,-20px)}54%{transform:translate(105px,-20px)}72%{transform:translate(-60px,95px)}88%{transform:translate(60px,95px)}}
/* 7 · puente */
.ill-puente .rope{stroke:rgba(241,232,217,.6);stroke-width:1.6}
.ill-puente .pk{stroke-width:3}
.qx-scene.on .ill-puente .miss{animation:flick 2.6s steps(1) infinite 2s}
.qx-scene.on .ill-puente .miss2{animation:flick 3.4s steps(1) infinite 2.6s}
@keyframes flick{0%,100%{opacity:1}30%{opacity:.1}45%{opacity:1}60%{opacity:0}80%{opacity:.15}}
.ill-puente .planks{transform-origin:200px 260px}
.qx-scene.on .ill-puente .planks{animation:sway 4s ease-in-out infinite}
@keyframes sway{50%{transform:translateY(5px) rotate(.6deg)}}
/* 8 · ojos */
.ill-ojos .me .d{stroke:var(--beige);stroke-width:2.6}
.ill-ojos .lid{stroke-width:1.8}
.ill-ojos .iris{fill:none;stroke:var(--cream);stroke-width:1.6}
.ill-ojos .pupil{fill:var(--white)}
.ill-ojos .eye{opacity:0;transition:opacity .8s 1s}
.qx-scene.on .ill-ojos .eye{opacity:1}
.ill-ojos .blink{transform-box:fill-box;transform-origin:center}
.qx-scene.on .ill-ojos .blink{animation:blink 5s infinite;animation-delay:var(--b)}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}

@media (max-width:760px){
  .questions.qx{height:calc(9 * 95vh)}
  .qx-sticky{padding:84px 0 22px}
  .qx-scene{grid-template-columns:1fr;gap:10px;align-content:center;text-align:left}
  .qx-art svg{width:min(70vw,32vh)}
  .qx-num{font-size:2rem}
  .qx-q{font-size:clamp(1.6rem,7.4vw,2.2rem);margin:10px 0}
  .qx-hint{font-size:.92rem}
  .qx-bottom{flex-direction:column;align-items:stretch;gap:12px}
  .qx-answers{justify-content:space-between}
  .qx-answers button{flex:1;padding:.8em .6em}
  .qx-think{justify-content:center}
  .qx-dots{gap:7px}
  .qx-dots i{width:7px;height:7px}
}
.rm .qw,.rm .qx-hint{opacity:1;transform:none;filter:none}

/* ===== Frase grande con subrayado lento y zoom ===== */
.big-quote{grid-column:1 / -1;margin:clamp(50px,9vh,110px) auto 0;max-width:1100px;text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.6vw,3.5rem);line-height:1.28;letter-spacing:-.01em;color:var(--white);opacity:0;transform:scale(.9);filter:blur(6px);transition:opacity 1.2s var(--ease),transform 2.4s var(--ease),filter 1.4s var(--ease)}
.big-quote.in{opacity:1;transform:scale(1);filter:none}
.big-quote em{color:var(--beige)}
.bq-line{background-image:linear-gradient(90deg,rgba(205,185,154,.95),rgba(241,232,217,.95));background-repeat:no-repeat;background-position:0 92%;background-size:0% 2px;padding-bottom:.08em;transition:background-size 6.5s cubic-bezier(.45,0,.2,1) .9s}
.big-quote.in .bq-line{background-size:100% 2px}
.big-quote.in{animation:bqglow 6s ease-in-out 1s 1}
@keyframes bqglow{50%{text-shadow:0 0 34px rgba(241,232,217,.25)}}
@media (max-width:760px){.big-quote{font-size:clamp(1.5rem,6.4vw,2rem);text-align:left;line-height:1.3}}
.rm .big-quote{opacity:1;transform:none;filter:none}
.rm .bq-line{background-size:100% 2px}

/* Fotos de las áreas (tratamiento en tonos de la marca) */
.area-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-1;filter:grayscale(.35) sepia(.28) saturate(.9) contrast(1.05) brightness(.82);transform:scale(1.04);transition:filter 1s var(--ease),transform 1.4s var(--ease)}
.area-card:hover .area-photo{filter:none;transform:scale(1)}
.area-card:has(.area-photo)::after{background:radial-gradient(380px circle at var(--mx,50%) var(--my,30%),rgba(241,232,217,.10),transparent 60%),linear-gradient(to top,rgba(5,5,5,.94) 18%,rgba(5,5,5,.35) 52%,rgba(5,5,5,0) 75%)}
.area-card:has(.area-photo) .big-ico{opacity:0}
.area-card:has(.area-photo) .blob{opacity:.25}

.auto-steps{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 12px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--beige)}
.auto-steps li{display:flex;align-items:center}
.auto-steps li+li::before{content:"→";margin:0 7px;color:var(--sand)}

/* ===== Pestañas de la cabecera ===== */
.nav{gap:20px}
.tabs{display:flex;gap:4px;align-items:center;padding:5px;border-radius:999px;background:rgba(5,5,5,.35);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tabs a{padding:.55em 1.1em;border-radius:999px;font-size:.84rem;font-weight:500;color:var(--cream);opacity:.78;transition:opacity .3s,background .3s,color .3s;white-space:nowrap}
.tabs a:hover{opacity:1;background:rgba(255,255,255,.07)}
.tabs a.active{background:var(--cream);color:var(--bg);opacity:1}
@media (max-width:1100px){.tabs{display:none}}

/* ===== Páginas interiores ===== */
.page-hero{min-height:82vh;min-height:82svh;display:flex;align-items:flex-end;padding:150px 0 clamp(60px,10vh,110px)}
.page-title{font-family:"Orbitron",var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.04;font-size:clamp(2.2rem,6vw,5.8rem);color:var(--white);margin:22px 0 10px;max-width:16ch;text-shadow:0 0 34px rgba(241,232,217,.18)}
.page-title em{font-family:inherit;font-style:normal;color:var(--beige);text-shadow:0 0 30px rgba(205,185,154,.45)}
.lead{font-size:clamp(1.05rem,1.4vw,1.3rem);max-width:40em;color:var(--cream);opacity:.85;margin-top:22px;line-height:1.6}
.block{padding:clamp(90px,14vh,160px) 0;position:relative}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.8vw,4.6rem);line-height:1.02;letter-spacing:-.02em;color:var(--white);margin:22px 0 40px;max-width:18ch}
.h2 em,.h3 em{color:var(--beige)}
.h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.05;color:var(--white);margin:16px 0 18px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:start}
.prose p{color:var(--cream);opacity:.85;font-size:1.06rem;line-height:1.75}
.prose p+p{margin-top:1.1em}
/* Cronología */
.timeline{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;margin-top:20px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:18px;height:1px;background:linear-gradient(90deg,transparent,var(--beige),transparent);opacity:.6}
.tl{position:relative;padding:46px 22px 26px;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.015));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(241,232,217,.13)}
.tl::before{content:"";position:absolute;left:22px;top:13px;width:11px;height:11px;border-radius:50%;background:var(--beige);box-shadow:0 0 16px rgba(205,185,154,.8)}
.tl .yr{font-family:"Orbitron",var(--sans);font-size:.78rem;letter-spacing:.12em;color:var(--beige);text-transform:uppercase}
.tl h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.1;color:var(--white);margin:10px 0 10px}
.tl p{font-size:.9rem;opacity:.78}
/* Tarjetas de cristal */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gcard{position:relative;border-radius:16px;padding:clamp(26px,3vw,40px);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 55%,rgba(205,185,154,.04));-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(241,232,217,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.3)}
.gcard h3{font-family:var(--serif);font-weight:400;font-size:1.8rem;color:var(--white);margin:14px 0 12px;line-height:1.1}
.gcard p,.gcard li{opacity:.82}
.gnum{font-family:"Orbitron",var(--sans);font-size:2.2rem;font-weight:600;color:var(--beige);line-height:1}
.isnot{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.isnot ul{list-style:none;display:grid;gap:12px;margin-top:6px}
.isnot li{padding-left:26px;position:relative}
.isnot .gcard:first-child li::before{content:"✓";position:absolute;left:0;color:var(--beige)}
.isnot .gcard:last-child li::before{content:"×";position:absolute;left:2px;color:var(--sand);font-size:1.2em;line-height:1.2}
/* Aplicación */
.apps .wrap{display:grid;gap:clamp(70px,12vh,130px)}
.app-row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,90px);align-items:center}
.app-row.rev .app-img{order:2}
.app-img{aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid rgba(241,232,217,.14)}
.app-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) sepia(.2) contrast(1.04) brightness(.9);transition:filter 1s var(--ease),transform 2.2s var(--ease)}
.app-img:hover img{filter:none}
.app-text p{opacity:.84;font-size:1.04rem;max-width:34em}
.app-wide{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}
.ico.big{width:84px;height:84px;stroke:var(--beige);stroke-width:1}
.auto-steps.big{font-size:.78rem;margin-top:22px;gap:10px 0}
.auto-steps.big li{padding:.55em .9em;border:1px solid rgba(205,185,154,.4);border-radius:999px;background:rgba(255,255,255,.04)}
.auto-steps.big li+li::before{margin:0 10px 0 0}
/* Servicios */
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.jump a{padding:.6em 1.2em;border-radius:999px;border:1px solid var(--line-2);font-size:.86rem;transition:all .3s}
.jump a:hover{background:var(--cream);color:var(--bg)}
.persons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.person-card{height:clamp(380px,52vh,500px);flex:none}
.person-card h3{font-size:clamp(1.6rem,2vw,2rem)}
/* Llamada final */
.cta-band{padding:clamp(110px,18vh,190px) 0;text-align:center}
.cta-band .h2{margin-left:auto;margin-right:auto}
.cta-band .lead{margin:0 auto}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.know-more{margin:26px 0 6px}
.subpage .faces{border-top:1px solid var(--line)}

@media (max-width:1024px){
  .timeline{grid-template-columns:1fr 1fr}
  .timeline::before{display:none}
  .cards3,.persons-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .two-col,.app-row,.isnot,.cards3,.persons-grid,.timeline{grid-template-columns:1fr}
  .app-row.rev .app-img{order:0}
  .app-wide{grid-template-columns:1fr}
  .page-hero{min-height:70vh}
}

/* ===== Inicio: casos, entidades y opiniones ===== */
.pending{border-style:dashed!important;border-color:rgba(205,185,154,.35)!important}
.pending::before{content:"Pendiente";position:absolute;top:14px;right:16px;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);background:var(--beige);padding:.25em .7em;border-radius:999px;z-index:2}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{display:flex;flex-direction:column;min-height:360px}
.case-tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--beige)}
.case h3{margin:16px 0 18px}
.case dl{display:grid;gap:12px;margin-top:auto}
.case dt{font-family:"Orbitron",var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand)}
.case dd{opacity:.8;font-size:.95rem;margin:2px 0 0}
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.partner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;border-radius:16px;border:1px solid rgba(241,232,217,.14);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.012));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;padding:24px;transition:transform .6s var(--ease),border-color .4s,background .4s}
a.partner:hover{transform:translateY(-6px);border-color:var(--beige);background:rgba(241,232,217,.08)}
.pw{font-family:"Orbitron",var(--sans);font-weight:600;font-size:1.35rem;letter-spacing:.06em;color:var(--white)}
.partner.pending .pw{color:transparent;-webkit-text-stroke:1px rgba(241,232,217,.35)}
.partner small{font-size:.74rem;color:var(--sand);letter-spacing:.06em}
.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:10px}
.rating-box{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:260px}
.rb-num{font-family:"Orbitron",var(--sans);font-size:3rem;font-weight:600;line-height:1;color:var(--beige)}
.rating-box small{color:var(--sand);font-size:.78rem}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.review{margin:0;display:flex;flex-direction:column;gap:18px;min-height:260px}
.review blockquote{font-family:var(--serif);font-size:1.35rem;line-height:1.35;color:var(--white);flex:1}
.review.pending blockquote{color:var(--sand);font-style:italic;font-size:1.1rem}
.review figcaption{display:flex;gap:12px;align-items:center}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(241,232,217,.1);border:1px solid var(--line-2);font-family:"Orbitron",var(--sans);color:var(--beige)}
.review figcaption b{display:block;font-weight:600;color:var(--cream)}
.review figcaption small{color:var(--sand);font-size:.8rem}
.stars{--r:attr(data-rating);display:inline-flex;gap:4px}
.stars i{width:16px;height:16px;background:rgba(241,232,217,.18);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.stars[data-rating="1"] i:nth-child(-n+1),.stars[data-rating="2"] i:nth-child(-n+2),.stars[data-rating="3"] i:nth-child(-n+3),.stars[data-rating="4"] i:nth-child(-n+4),.stars[data-rating="5"] i:nth-child(-n+5){background:var(--beige);box-shadow:0 0 10px rgba(205,185,154,.6)}
@media (max-width:1024px){.cases,.reviews{grid-template-columns:1fr 1fr}.partners{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.cases,.reviews,.partners{grid-template-columns:1fr}.rating-box{min-width:0;width:100%}}

/* ===== Entrada de «Hazte estas preguntas» ===== */
.qx-intro{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 0}
.qx-title{font-family:"Orbitron",var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.06;font-size:clamp(2.3rem,6.2vw,6.4rem);color:var(--white);max-width:14ch;margin:0 auto;text-shadow:0 0 36px rgba(241,232,217,.22)}
.qx-title em{font-family:inherit;font-style:normal;font-weight:700;color:var(--beige);text-shadow:0 0 34px rgba(205,185,154,.55)}
.qx-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.1vw,1.8rem);color:var(--cream);margin-top:30px}
.qx-intro .scroll-cue{justify-content:center;margin-top:56px}

/* 01 · persona pensativa con bocadillo */
.ill-piensa .eye-d{fill:var(--cream)}
.ill-piensa .brow{stroke-width:2.8}
.ill-piensa .t-person{transform-origin:140px 330px}
.qx-scene.on .ill-piensa .t-person{animation:worry 4.2s ease-in-out infinite 1.6s}
@keyframes worry{0%,100%{transform:rotate(0)}30%{transform:rotate(-3.5deg)}62%{transform:rotate(2deg)}}
.ill-piensa .sweat{stroke:var(--beige);fill:rgba(205,185,154,.35)}
.qx-scene.on .ill-piensa .sweat{animation:sweat 2.8s ease-in infinite 2.2s}
@keyframes sweat{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(28px);opacity:0}}
.ill-piensa .bub{fill:none;stroke:var(--cream);stroke-width:2.2;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.qx-scene.on .ill-piensa .bub{animation:pop .55s var(--ease) forwards}
.qx-scene.on .ill-piensa .b-1{animation-delay:.9s}.qx-scene.on .ill-piensa .b-2{animation-delay:1.1s}.qx-scene.on .ill-piensa .b-3{animation-delay:1.3s}
@keyframes pop{to{transform:scale(1)}}
.qx-scene.on .ill-piensa .cloud{transition-delay:1.4s}
.ill-piensa .scribble .d{stroke:rgba(241,232,217,.9);stroke-width:1.9}
.qx-scene.on .ill-piensa .scribble .d{transition-delay:2.1s}
.qx-scene.on .ill-piensa .scribble{animation:jitter .3s steps(2) infinite 3.4s}
@keyframes jitter{0%{transform:translate(0,0)}25%{transform:translate(1.8px,-1.2px)}50%{transform:translate(-1.4px,1.6px)}75%{transform:translate(1.2px,1.2px)}100%{transform:translate(-1px,-1.4px)}}
.qx-scene.on .ill-piensa .sc1{animation:scribrun 2.4s linear infinite 3.4s}
.qx-scene.on .ill-piensa .sc3{animation:scribrun 1.8s linear infinite 3.6s reverse}
@keyframes scribrun{from{stroke-dasharray:.62 .38;stroke-dashoffset:0}to{stroke-dasharray:.62 .38;stroke-dashoffset:-1}}
.ill-piensa .sc2{transform-box:fill-box;transform-origin:center}
.qx-scene.on .ill-piensa .sc2{animation:spin 2.6s linear infinite 3.4s}

/* 02 · el vaso rebosa y aparece una cara triste */
.ill-vaso .dome{fill:rgba(205,185,154,.35);stroke:var(--cream);stroke-width:1.4;opacity:0;transform-origin:200px 101px;transform:scaleY(0)}
.qx-scene.on .ill-vaso .dome{animation:dome 6s var(--ease-io) infinite 1s}
@keyframes dome{0%,40%{opacity:0;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}88%{opacity:1;transform:scaleY(1.06)}100%{opacity:0;transform:scaleY(0)}}
.ill-vaso .sad{opacity:0}
.ill-vaso .sad circle{fill:var(--white)}
.ill-vaso .sad-l{fill:none;stroke:var(--white);stroke-width:3.2;stroke-linecap:round}
.ill-vaso .tear{fill:rgba(241,232,217,.9)}
.qx-scene.on .ill-vaso .sad{animation:sadin 6s var(--ease) infinite 1s}
@keyframes sadin{0%,52%{opacity:0;transform:translateY(12px)}62%{opacity:1;transform:none}90%{opacity:1;transform:none}100%{opacity:0}}
.qx-scene.on .ill-vaso .tear{animation:tear 2s ease-in infinite 4.6s}
@keyframes tear{0%{transform:translateY(0);opacity:1}100%{transform:translateY(42px);opacity:0}}

/* 03 · la flecha da en el centro: la diana se ilumina y vibra */
.ill-diana .ring{fill:none;stroke:var(--cream);stroke-width:2.2}
.ill-diana .bull{fill:rgba(205,185,154,.15);stroke:var(--beige);stroke-width:2.6}
.ill-diana .cross{fill:none;stroke:rgba(241,232,217,.2);stroke-width:1.2}
.ill-diana .ar{fill:none;stroke:var(--white);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ill-diana .ar.head{fill:var(--white)}
.ill-diana .arrow{opacity:0;transform-origin:215px 200px}
.qx-scene.on .ill-diana .arrow{animation:shoot2 4.5s var(--ease) infinite 1.2s}
@keyframes shoot2{0%{opacity:0;transform:translateX(-320px)}6%{opacity:1}24%{opacity:1;transform:translateX(0)}27%{transform:rotate(-3deg)}30%{transform:rotate(2.5deg)}33%{transform:rotate(-1.5deg)}36%{transform:rotate(0)}88%{opacity:1;transform:none}100%{opacity:0;transform:none}}
.ill-diana .tgt{transform-origin:215px 200px}
.qx-scene.on .ill-diana .tgt{animation:thud 4.5s ease-out infinite 1.2s}
@keyframes thud{0%,23%{transform:none;filter:none}25%{transform:translate(6px,0) scale(1.02);filter:drop-shadow(0 0 22px rgba(255,240,210,.95))}27%{transform:translate(-5px,1px)}29%{transform:translate(4px,-1px)}31%{transform:translate(-2px,0)}34%{transform:none;filter:drop-shadow(0 0 16px rgba(255,236,200,.8))}70%{filter:drop-shadow(0 0 8px rgba(255,236,200,.4))}100%{transform:none;filter:none}}
.qx-scene.on .ill-diana .ring{animation:glowring 4.5s ease-out infinite 1.2s}
@keyframes glowring{0%,23%{stroke:var(--cream)}25%{stroke:#ffffff}65%{stroke:#f3dcb4}100%{stroke:var(--cream)}}
.qx-scene.on .ill-diana .bull{animation:bullglow 4.5s ease-out infinite 1.2s}
@keyframes bullglow{0%,23%{fill:rgba(205,185,154,.15)}25%{fill:rgba(255,244,222,.95)}70%{fill:rgba(205,185,154,.55)}100%{fill:rgba(205,185,154,.15)}}
.ill-diana .flash{fill:rgba(255,246,228,.9);opacity:0;transform-box:fill-box;transform-origin:center}
.qx-scene.on .ill-diana .flash{animation:flash 4.5s ease-out infinite 1.2s}
@keyframes flash{0%,23%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1)}45%{opacity:0;transform:scale(5.5)}100%{opacity:0}}

/* 04 · corazón latiendo tras el electro */
.ill-pulso .heart{fill:rgba(205,185,154,.12);stroke:rgba(205,185,154,.8);stroke-width:2.2;transform-origin:200px 205px}
.qx-scene.on .ill-pulso .heart{animation:beat 1.1s ease-in-out infinite .6s}
@keyframes beat{0%{transform:scale(1)}12%{transform:scale(1.13);fill:rgba(205,185,154,.32)}22%{transform:scale(.98)}34%{transform:scale(1.07);fill:rgba(205,185,154,.24)}48%,100%{transform:scale(1);fill:rgba(205,185,154,.12)}}
.qx-scene.on .ill-pulso .ecg{animation-duration:2.2s}

/* ---------- 01 · busto pensativo (trazo del perfil ICCH) ---------- */
.ill-piensa .t-person g path{stroke-width:11}
.ill-piensa .t-person g .hair{stroke-width:6;stroke:rgba(241,232,217,.5)}
.ill-piensa .t-person g .wr{stroke-width:6;stroke:rgba(241,232,217,.55)}
.ill-piensa .t-person g .brow{stroke-width:15}
.ill-piensa .t-person g .hand{stroke-width:10}
.ill-piensa .t-person{transform-box:view-box;transform-origin:120px 300px}
.qx-scene.on .ill-piensa .t-person g .wr{animation:furrow 4.2s ease-in-out infinite 2s}
@keyframes furrow{0%,100%{opacity:.55}35%{opacity:1}}
.qx-scene.on .ill-piensa .t-person g .brow{animation:browknit 4.2s ease-in-out infinite 2s}
.ill-piensa .t-person g .brow{transform-box:fill-box;transform-origin:30% 50%}
@keyframes browknit{0%,100%{transform:none}35%{transform:translateY(5px) rotate(-6deg)}}

/* ---------- 07 · el puente: cruza para abrazar y le cortan las cuerdas ---------- */
.ill-puente .p7-void path{fill:none;stroke:rgba(241,232,217,.13);stroke-width:1;stroke-dasharray:3 6}
.qx-scene.on .ill-puente .p7-void path{animation:dashmove 6s linear infinite}
.ill-puente .p7-post{stroke-width:3}
.ill-puente .p7-rope{fill:none;stroke:rgba(241,232,217,.72);stroke-width:1.6}
.ill-puente .p7-susp path{stroke:rgba(241,232,217,.32);stroke-width:1}
.ill-puente .p7-planks path{stroke:var(--cream);stroke-width:3.2;stroke-linecap:round}
.ill-puente .p7-bridge{transform-box:view-box;transform-origin:96px 222px;opacity:0;transition:opacity 1s var(--ease) .9s}
.qx-scene.on .ill-puente .p7-bridge{opacity:1;animation:p7bridge 8s var(--ease-io) infinite 2.2s}
@keyframes p7bridge{0%,44%{transform:rotate(0);opacity:1}49%{transform:rotate(-3deg)}58%{transform:rotate(82deg)}64%{transform:rotate(70deg)}70%{transform:rotate(78deg)}76%,88%{transform:rotate(75deg);opacity:1}92%{transform:rotate(75deg);opacity:0}93%{transform:rotate(0);opacity:0}100%{transform:rotate(0);opacity:1}}
.ill-puente .p7-stub{fill:none;stroke:rgba(241,232,217,.72);stroke-width:1.6;stroke-linecap:round;opacity:0}
.qx-scene.on .ill-puente .p7-stub{animation:p7stub 8s linear infinite 2.2s}
@keyframes p7stub{0%,44%{opacity:0}45%,90%{opacity:1}94%,100%{opacity:0}}
.ill-puente .p7-walker *,.ill-puente .p7-cutter *{fill:none;stroke:var(--cream);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ill-puente .p7-cutter *{stroke:var(--beige)}
.ill-puente .p7-cutter .p7-blade{stroke:var(--white);stroke-width:3}
.ill-puente .p7-walker,.ill-puente .p7-cutter{opacity:0;transition:opacity .9s var(--ease) 1.2s}
.qx-scene.on .ill-puente .p7-cutter{opacity:1}
.ill-puente .p7-walker{transform-box:view-box;transform-origin:58px 222px}
.qx-scene.on .ill-puente .p7-walker{opacity:1;animation:p7walk 8s linear infinite 2.2s}
@keyframes p7walk{0%{transform:none;opacity:1}8%{transform:translate(38px,-2px);opacity:1}22%{transform:translate(90px,13px);opacity:1}34%,45%{transform:translate(132px,18px);opacity:1}49%{transform:translate(132px,14px) rotate(-6deg);opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.6)}56%{opacity:.9}66%{transform:translate(160px,200px) rotate(48deg);opacity:0}92%{transform:translate(150px,190px) rotate(38deg);opacity:0}93%{transform:none;opacity:0}100%{transform:none;opacity:1}}
.ill-puente .p7-leg{transform-box:view-box;transform-origin:58px 232px}
.qx-scene.on .ill-puente .p7-leg.la{animation:p7la 8s linear infinite 2.2s}
.qx-scene.on .ill-puente .p7-leg.lb{animation:p7lb 8s linear infinite 2.2s}
@keyframes p7la{0.0%{transform:rotate(-16deg)}3.4%{transform:rotate(16deg)}6.8%{transform:rotate(-16deg)}10.2%{transform:rotate(16deg)}13.6%{transform:rotate(-16deg)}17.0%{transform:rotate(16deg)}20.4%{transform:rotate(-16deg)}23.8%{transform:rotate(16deg)}27.2%{transform:rotate(-16deg)}30.6%{transform:rotate(16deg)}34.0%{transform:rotate(-16deg)}36%,100%{transform:rotate(0)}}
@keyframes p7lb{0.0%{transform:rotate(16deg)}3.4%{transform:rotate(-16deg)}6.8%{transform:rotate(16deg)}10.2%{transform:rotate(-16deg)}13.6%{transform:rotate(16deg)}17.0%{transform:rotate(-16deg)}20.4%{transform:rotate(16deg)}23.8%{transform:rotate(-16deg)}27.2%{transform:rotate(16deg)}30.6%{transform:rotate(-16deg)}34.0%{transform:rotate(16deg)}36%,100%{transform:rotate(0)}}
.ill-puente .p7-arm{transform-box:view-box;transform-origin:58px 205px}
.qx-scene.on .ill-puente .p7-arm{animation:p7arm 8s ease-in-out infinite 2.2s}
@keyframes p7arm{0%,30%{transform:none}36%,44%{transform:scaleX(1.12) rotate(-4deg)}52%,100%{transform:rotate(-40deg)}}
.qx-scene.on .ill-puente .p7-cutarm{animation:p7saw 8s linear infinite 2.2s}
@keyframes p7saw{0%,28%{transform:none}29.0%{transform:translate(-3px,2px)}30.6%{transform:translate(4px,-2px)}32.2%{transform:translate(-3px,2px)}33.8%{transform:translate(4px,-2px)}35.4%{transform:translate(-3px,2px)}37.0%{transform:translate(4px,-2px)}38.6%{transform:translate(-3px,2px)}40.2%{transform:translate(4px,-2px)}41.8%{transform:translate(-3px,2px)}44%,100%{transform:none}}
.ill-puente .p7-spark path{fill:none;stroke:var(--white);stroke-width:1.6;stroke-linecap:round}
.ill-puente .p7-spark{opacity:0;transform-box:fill-box;transform-origin:center}
.qx-scene.on .ill-puente .p7-spark{animation:p7spark 8s steps(1) infinite 2.2s}
@keyframes p7spark{0%,36%{opacity:0}37%{opacity:1;transform:scale(.7)}39%{opacity:.2;transform:scale(1.1)}41%{opacity:1;transform:scale(.9)}43%{opacity:.4;transform:scale(1.3)}44.5%{opacity:1;transform:scale(1.5)}46%,100%{opacity:0}}

/* ---------- 08 · miradas que gesticulan ---------- */
.ill-ojos .pair{opacity:0;transition:opacity .8s var(--ease);transition-delay:calc(.9s + var(--k)*.12s)}
.qx-scene.on .ill-ojos .pair{opacity:1}
.ill-ojos .lid{fill:none;stroke:var(--cream);stroke-width:1.8;stroke-linejoin:round}
.ill-ojos .brow{fill:none;stroke:var(--cream);stroke-width:2.6;stroke-linecap:round}
.ill-ojos .iris{fill:none;stroke:var(--cream);stroke-width:1.5}
.ill-ojos .pupil{fill:var(--white)}
.ill-ojos .glint{fill:#0b0a09;opacity:.85}
.ill-ojos .blush{fill:none;stroke:var(--beige);stroke-width:1.3;stroke-linecap:round;opacity:0}
.ill-ojos .crk{fill:none;stroke:var(--cream);stroke-width:1.3;stroke-linecap:round;opacity:0}
.ill-ojos .spk{fill:none;stroke:var(--white);stroke-width:1.4;stroke-linecap:round;opacity:0}
.ill-ojos .tear{fill:rgba(241,232,217,.25);stroke:var(--cream);stroke-width:1;opacity:0}
.qx-scene.on .ill-ojos .tear{animation:eytear 3.4s ease-in infinite 2s}
@keyframes eytear{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(26px);opacity:0}}
.ill-ojos .sweatd{fill:rgba(205,185,154,.3);stroke:var(--beige);stroke-width:1;opacity:0}
.qx-scene.on .ill-ojos .sweatd{animation:sweat 2.6s ease-in infinite 1.8s}
.ill-ojos .emo-lbl{font-family:Inter,system-ui,sans-serif;font-size:7px;letter-spacing:.18em;fill:rgba(241,232,217,.5)}

/* Escritura con pluma de luz */
.tw-w{display:inline-block;white-space:nowrap}
.tw-c{display:inline-block;opacity:0;filter:blur(6px);transform:translateY(.12em)}
.tw-c.on{opacity:1;filter:none;transform:none;transition:opacity .35s ease,filter .5s ease,transform .5s var(--ease);animation:twglow 1.1s ease-out}
@keyframes twglow{0%{text-shadow:0 0 18px #fff,0 0 40px rgba(241,232,217,.9)}100%{}}
.tw-caret{display:inline-block;width:0;height:.92em;position:relative;vertical-align:-.1em}
.tw-caret::after{content:"";position:absolute;left:.06em;top:0;width:2px;height:100%;background:var(--cream);box-shadow:0 0 12px rgba(241,232,217,.9);animation:twblink .8s steps(1) infinite}
.tw-caret.done::after{opacity:0;transition:opacity .6s;animation:none}
@keyframes twblink{50%{opacity:0}}
.ill-piensa .t-person g .desk{stroke-width:7;stroke:rgba(241,232,217,.45)}
