/* Midnight CGO · sitio corporativo */
:root{
  --ink:#000;--graphite:#141416;--smoke:#232327;--line:rgba(232,220,194,.14);--line2:rgba(232,220,194,.28);
  --gold:#C9A24A;--gold-hi:#E2C27A;--gold-lo:#8E6F2C;--champ:#E8DCC2;--white:#F7F5F0;--mute:rgba(247,245,240,.62);--mute2:rgba(247,245,240,.42);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bg-glass:rgba(0,0,0,.78);--btn-glass:rgba(0,0,0,.25);--node:#000;--veil:#000;--opt:#111;--panel:linear-gradient(180deg,rgba(32,30,26,.7),rgba(10,10,10,.9));--sphere:#050505;--particle:232,220,194;--glow:201,162,74;
  --pad:clamp(16px,5vw,72px);--max:1240px;--ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--white);font:300 17px/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.04;letter-spacing:-.01em}
h2{font-size:clamp(40px,6.4vw,92px)}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#120d02;padding:8px 14px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(96px,14vw,180px) 0;position:relative}
.sec-head{max-width:760px;margin-bottom:clamp(40px,6vw,80px)}
.sec-head p{color:var(--mute);font-size:19px;margin-top:22px;max-width:56ch}
.kicker{font:500 15px/1 var(--sans);color:var(--gold);letter-spacing:.04em;margin-bottom:20px}
.fine{font-size:14px;color:var(--mute2)}

/* botones */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:54px;padding:0 30px;border-radius:999px;font:500 14px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;overflow:hidden;cursor:pointer;border:1px solid transparent;transition:transform .5s var(--ease),border-color .3s,background .3s,color .3s;will-change:transform}
.btn span{position:relative;display:inline-block;transition:transform .45s var(--ease)}
.btn span::after{content:attr(data-x);position:absolute;left:0;top:160%}
.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,var(--gold-lo));color:#120d02;border-color:rgba(255,236,190,.35)}
.btn-gold:hover{box-shadow:0 0 0 1px rgba(226,194,122,.5),0 12px 40px -12px rgba(201,162,74,.55)}
.btn-line{border-color:var(--line2);color:var(--champ);background:var(--btn-glass);backdrop-filter:blur(6px)}
.btn-line:hover{border-color:var(--gold);color:var(--white)}
.btn-sm{height:42px;padding:0 20px;font-size:12px}
.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn:hover::before{transform:translateX(120%)}
.link-arrow{display:inline-flex;align-items:center;gap:14px;color:var(--gold-hi);font:500 15px/1 var(--sans);letter-spacing:.04em;padding:10px 0;border-bottom:1px solid rgba(201,162,74,.4);transition:gap .4s var(--ease),border-color .3s}
.link-arrow::after{content:'';width:22px;height:1px;background:currentColor;box-shadow:0 0 0 0 currentColor;transition:width .4s var(--ease)}
.link-arrow:hover{gap:20px;border-color:var(--gold-hi)}
.link-arrow:hover::after{width:34px}

/* navegación */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;padding:0 var(--pad);transition:background .5s,height .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
.nav.solid{background:var(--bg-glass);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);height:64px;border-color:var(--line)}
.nav-brand{flex:none;display:flex;align-items:center;gap:12px;font:500 20px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--champ);white-space:nowrap}
.nav-brand em{font-style:normal;color:var(--gold)}
.nav-brand img{width:40px;height:auto}
.nav-links{display:none;gap:22px;margin-left:auto;margin-right:8px}
.nav-links a{font:400 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);position:relative;padding:8px 0;transition:color .3s}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover,.nav-links a.on{color:var(--white)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1);transform-origin:left}
.nav-end{display:flex;align-items:center;gap:18px}
.nav-client{display:none;white-space:nowrap;font:400 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--champ)}
.nav-client:hover{color:var(--gold-hi)}
.nav-end>.btn{display:none}
.lang{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px}
.lang button{background:none;border:0;padding:6px 10px;border-radius:999px;font:500 11px/1 var(--sans);letter-spacing:.1em;color:var(--mute);cursor:pointer}
.lang button[aria-pressed=true]{background:var(--gold);color:#120d02}
.nav-end>.lang{display:none}
.burger{width:44px;height:44px;border:1px solid var(--line2);border-radius:50%;background:none;display:grid;place-content:center;gap:6px;cursor:pointer}
.burger span{display:block;width:18px;height:1px;background:var(--champ);transition:transform .4s var(--ease)}
.burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--pad) calc(32px + env(safe-area-inset-bottom));opacity:0;transition:opacity .45s}
.menu[hidden]{display:none}
.menu:not(.open){pointer-events:none}
.menu.open{opacity:1}
.menu nav{display:flex;flex-direction:column;gap:6px}
.menu nav a{font:500 clamp(38px,11vw,64px)/1.1 var(--serif);color:var(--champ);transform:translateY(24px);opacity:0;transition:transform .7s var(--ease),opacity .7s,color .3s}
.menu.open nav a{transform:none;opacity:1}
.menu nav a:hover{color:var(--gold-hi)}
.menu-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (min-width:1500px){.nav-links{display:flex}.nav-client{display:inline-flex}.burger{display:none}}
@media (min-width:720px){.nav-end>.btn,.nav-end>.lang{display:inline-flex}}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.hero-media,.final-media,.ai-media{position:absolute;inset:0;z-index:-2}
.hero-canvas,.final-canvas{position:absolute;inset:0;width:100%;height:100%}
.vslot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s}
.vslot video.on{opacity:1}
.hero-veil{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(0,0,0,.05),color-mix(in srgb,var(--veil) 72%,transparent) 70%,var(--veil)),linear-gradient(180deg,color-mix(in srgb,var(--veil) 50%,transparent),transparent 25%,transparent 70%,var(--veil))}
.hero-inner{text-align:center;padding:120px var(--pad) 120px;display:flex;flex-direction:column;align-items:center}
.dial{position:relative;width:clamp(150px,22vw,230px);aspect-ratio:1;margin-bottom:clamp(28px,4vw,48px)}
.dial svg{position:absolute;inset:-14%;width:128%;height:128%;overflow:visible}
.dial-ring{fill:none;stroke:rgba(201,162,74,.28);stroke-width:.6}
.dial-ticks line{stroke:rgba(232,220,194,.45);stroke-width:.6}
.dial-ticks line.big{stroke:var(--gold-hi);stroke-width:1.2}
.dial-hand{stroke:var(--gold-hi);stroke-width:.9;stroke-linecap:round;transform-origin:100px 100px;transform:rotate(-200deg);opacity:0}
.dial-seal{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.86);filter:drop-shadow(0 20px 50px rgba(201,162,74,.28))}
.hero-h{font-size:clamp(40px,10.6vw,168px);font-weight:500;line-height:.92;letter-spacing:-.02em;text-transform:uppercase;color:var(--white)}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero-h .ln>span{display:inline-block;transform:translateY(105%)}
.hero-h .ln:nth-child(2)>span{color:var(--champ)}
.hero-h .ln:nth-child(3)>span{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{max-width:40ch;margin:clamp(24px,3vw,36px) auto 0;color:var(--mute);font-size:clamp(17px,1.6vw,21px);opacity:0}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(30px,4vw,48px);opacity:0}
.scrollcue{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));width:26px;height:42px;margin-left:-13px;border:1px solid var(--line2);border-radius:14px;opacity:0}
.scrollcue span{position:absolute;left:50%;top:8px;width:2px;height:8px;margin-left:-1px;background:var(--gold-hi);border-radius:2px;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:0}30%{opacity:1}80%{transform:translateY(16px);opacity:0}100%{opacity:0}}
.ready .dial-hand{animation:hand 2.1s var(--ease) .2s forwards}
@keyframes hand{0%{opacity:0;transform:rotate(-200deg)}15%{opacity:1}100%{opacity:1;transform:rotate(0)}}
.ready .dial-seal{transition:opacity 1.4s 1.5s,transform 1.8s var(--ease) 1.5s;opacity:1;transform:none}
.ready .hero-h .ln>span{transition:transform 1.3s var(--ease);transform:none}
.ready .hero-h .ln:nth-child(1)>span{transition-delay:1.9s}.ready .hero-h .ln:nth-child(2)>span{transition-delay:2.05s}.ready .hero-h .ln:nth-child(3)>span{transition-delay:2.2s}
.ready .hero-sub{transition:opacity 1.2s 2.7s;opacity:1}
.ready .hero-cta{transition:opacity 1.2s 2.9s;opacity:1}
.ready .scrollcue{transition:opacity 1s 3.4s;opacity:1}


/* primera pantalla: ecosistema */
.heco{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;padding:80px clamp(16px,3vw,48px) 24px;display:flex;align-items:center}
.heco .anchor{position:absolute;top:0}
.heco-grid{width:100%;max-width:1600px;margin:0 auto;display:grid;gap:24px;align-items:center;grid-template-areas:"head" "orbit" "side"}
.heco-head{grid-area:head}
.heco .orbit{grid-area:orbit;width:min(100%,900px,calc(100svh - 190px));min-width:280px}
.heco-side{grid-area:side}
.heco-h{font-size:clamp(28px,2.7vw,42px);line-height:1;text-transform:uppercase;letter-spacing:-.005em}
.heco-h .ln{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.heco-h .ln>span{display:inline-block;transform:translateY(105%)}
.heco-h .ln:nth-child(2)>span{color:var(--champ)}
.heco-h .ln:nth-child(3)>span{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
.heco-sub{color:var(--mute);font-size:clamp(13.5px,1vw,15px);margin:14px 0 0;max-width:52ch;opacity:0}
.eco-hint{font-size:14px;color:var(--mute2);margin-bottom:18px;max-width:44ch}
.heco .eco-panel{min-height:0}
.heco .eco-name{font-size:clamp(26px,2.2vw,34px);margin:8px 0 8px}
.eco-claim{font:500 clamp(15px,1.2vw,17px)/1.25 var(--serif);color:var(--gold-hi);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px}
.eco-claim:empty{display:none}
.heco .eco-desc{font-size:14.5px;line-height:1.55;margin-bottom:0}
.heco .eco-tags{margin:16px 0 20px;max-height:132px;overflow:auto}
.heco .eco-tags li{font-size:12.5px;padding:6px 12px}
.heco .hero-cta{justify-content:flex-start;margin-top:20px}
.heco .hero-cta .btn{height:44px;padding:0 20px;font-size:11.5px}
.heco .eco-panel{padding-left:22px}
.heco .orbit,.heco .heco-side{opacity:0}
.ready .heco .orbit{transition:opacity 1.4s .2s,transform 1.8s var(--ease) .2s;opacity:1;transform:none}
.heco .orbit{transform:scale(.94)}
.ready .heco-h .ln>span{transition:transform 1.2s var(--ease);transform:none}
.ready .heco-h .ln:nth-child(1)>span{transition-delay:.5s}.ready .heco-h .ln:nth-child(2)>span{transition-delay:.62s}.ready .heco-h .ln:nth-child(3)>span{transition-delay:.74s}
.ready .heco-sub{transition:opacity 1s 1.1s;opacity:1}
.ready .heco-side{transition:opacity 1.1s 1.2s;opacity:1}
.ready .heco .hero-cta{transition:opacity 1s 1.4s;opacity:1}
.ready .heco .scrollcue{transition:opacity 1s 2s;opacity:1}
.onode{opacity:0;transition:opacity .6s,color .3s}
.ready .onode{opacity:1}
@media (min-width:1000px){
  .heco .orbit{min-width:520px}
  .heco-grid{grid-template-columns:minmax(0,1.75fr) minmax(0,.6fr);grid-template-areas:"orbit head" "orbit side";column-gap:clamp(32px,4vw,72px);row-gap:22px;align-items:start}
  .heco .orbit{align-self:center;justify-self:center}
  .heco-head{align-self:end}
}
@media (max-width:999px){.heco{padding-top:96px}.heco .orbit{margin:0 auto}.heco-side .eco-panel{border-left:0;padding-left:0;border-top:1px solid var(--line2);padding-top:18px}}


.eco-tags button{background:none;border:1px solid var(--line2);border-radius:999px;padding:5px 11px;font:400 12px/1.2 var(--sans);color:var(--champ);cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.heco .eco-tags li{border:0;padding:0}
.heco .eco-tags{max-height:none;overflow:visible}
.eco-tags button:hover{border-color:var(--gold)}
.eco-tags button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#120d02}
.eco-sub{border-left:2px solid var(--gold);padding:2px 0 2px 14px;margin:0 0 14px;min-height:80px}
.eco-sub ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.eco-sub li{position:relative;padding-left:14px;color:var(--white);font-size:13.5px;line-height:1.5;opacity:.9}
.eco-sub li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.eco-sub .link-arrow{margin-top:12px;font-size:14px}
.eco-sub.swap{animation:swap .5s var(--ease) both}
.heco .eco-go{font-size:14px}


/* ecosistema en movimiento */
.o-ripples circle{fill:none;stroke:rgba(var(--glow),.45);stroke-width:1;transform-origin:300px 300px;animation:ripple 4.5s cubic-bezier(.2,.7,.1,1) infinite}
.o-ripples circle:nth-child(2){animation-delay:1.5s}.o-ripples circle:nth-child(3){animation-delay:3s}
@keyframes ripple{from{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}
.o-mods{transform-origin:300px 300px;animation:spin 90s linear infinite reverse}
.o-modtext{fill:rgba(var(--glow),.55);font:500 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase}
.opulse{stroke:var(--gold-hi);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 150;animation:opulse 3s linear infinite}
.opulse.rev{animation-direction:reverse}
@keyframes opulse{from{stroke-dashoffset:155}to{stroke-dashoffset:0}}
.oring-link{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 400;opacity:.8;animation:ringlink 7s linear infinite}
@keyframes ringlink{from{stroke-dashoffset:404}to{stroke-dashoffset:0}}
.flow-path{fill:none;stroke:var(--gold-hi);stroke-width:1.8;opacity:.9;filter:drop-shadow(0 0 6px rgba(var(--glow),.8))}
.flow-dot{fill:#FFE7A8;filter:drop-shadow(0 0 8px rgba(var(--glow),1))}
.onode i{animation:breathe 3.2s ease-in-out infinite}
.onode:nth-child(2n) i{animation-delay:-1.1s}.onode:nth-child(3n) i{animation-delay:-2s}
@keyframes breathe{0%,100%{box-shadow:0 0 0 0 rgba(var(--glow),.0)}50%{box-shadow:0 0 0 5px rgba(var(--glow),.18)}}
.onode.flow{color:var(--white)}
.onode.flow i{background:var(--gold-hi);box-shadow:0 0 18px rgba(var(--glow),.9)}
.orbit-core{animation:corebeat 4.5s ease-in-out infinite}
@keyframes corebeat{0%,100%{filter:drop-shadow(0 16px 40px rgba(var(--glow),.25))}50%{filter:drop-shadow(0 0 46px rgba(var(--glow),.6))}}
.eco-flow{font-size:15.5px!important;position:absolute;left:0;right:0;bottom:-86px;width:100%;padding:0 4%;text-align:center;margin:0;font-size:14.5px;line-height:1.45;color:var(--mute)}
.eco-flow b{display:block;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:8px}
.eco-flow.in{animation:swap .7s var(--ease) both}
.heco .orbit{margin-bottom:90px}
@media (prefers-reduced-motion:reduce){.o-ripples,.opulse,.oring-link{display:none}.o-mods{animation:none}}


/* sombra suave detrás del sello para que se lean los nombres sobre la red */
.orbit::before{content:'';position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.7),rgba(0,0,0,.3) 55%,transparent 72%);z-index:-1;pointer-events:none}
html[data-theme=light] .orbit::before{background:radial-gradient(circle,rgba(245,239,227,.85),rgba(245,239,227,.4) 55%,transparent 72%)}
.heco .hero-veil{background:radial-gradient(ellipse 80% 70% at 40% 50%,transparent 40%,color-mix(in srgb,var(--veil) 55%,transparent) 85%,var(--veil))}


.onode.hit i{animation:hit .5s ease-out}
@keyframes hit{0%{box-shadow:0 0 0 0 rgba(var(--glow),.9)}100%{box-shadow:0 0 0 14px rgba(var(--glow),0)}}

/* cadena */
.chain{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(40px,6vw,64px) var(--pad);text-align:center}
.chain-lead{color:var(--mute);max-width:60ch;margin:0 auto 26px;font-size:16px}
.chain-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;font:500 clamp(22px,3.2vw,44px)/1.2 var(--serif);text-transform:uppercase;letter-spacing:.04em}
.chain-row li{color:var(--mute2);transition:color .8s}
.chain-row li:not(:last-child)::after{content:'';display:inline-block;width:clamp(18px,3vw,40px);height:1px;background:var(--gold);vertical-align:middle;margin:0 clamp(10px,1.4vw,20px);opacity:.6}
.chain-row li.lit{color:var(--champ)}
.chain-row li:last-child.lit{color:var(--gold-hi)}

/* ecosistema */
.eco-grid{display:grid;gap:40px;align-items:center}
.orbit{position:relative;width:min(100%,600px);aspect-ratio:1;margin:0 auto}
.orbit-svg{position:absolute;inset:0;width:100%;height:100%}
.o-ring{fill:none;stroke:var(--line2);stroke-width:1}
.o-ring2{stroke:rgba(201,162,74,.22);stroke-dasharray:2 7}
.o-teeth{transform-origin:300px 300px;animation:spin 140s linear infinite}
.o-teeth rect{fill:rgba(201,162,74,.32)}
@keyframes spin{to{transform:rotate(360deg)}}
.o-lines line{stroke:rgba(201,162,74,.18);stroke-width:1;transition:stroke .5s}
.o-lines line.on{stroke:var(--gold-hi);stroke-width:1.4}
.orbit-core{position:absolute;left:50%;top:50%;width:30%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 16px 40px rgba(201,162,74,.25))}
.orbit-nodes{position:absolute;inset:0}
.onode{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:6px;cursor:pointer;color:var(--mute);font:500 12px/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:center;width:120px}
.onode i{width:16px;height:16px;border-radius:50%;border:1px solid var(--gold);background:var(--node);transition:transform .5s var(--ease),background .4s,box-shadow .4s}
.onode:hover{color:var(--white)}
.onode:hover i{transform:scale(1.25)}
.onode[aria-pressed=true]{color:var(--gold-hi)}
.onode[aria-pressed=true] i{background:var(--gold);box-shadow:0 0 0 6px rgba(201,162,74,.15),0 0 24px rgba(226,194,122,.6);transform:scale(1.3)}
.eco-panel{min-height:300px;border-left:1px solid var(--line2);padding:6px 0 6px clamp(20px,3vw,40px)}
.eco-idx{font:400 14px/1 var(--sans);color:var(--gold);letter-spacing:.06em}
.eco-name{font-size:clamp(36px,4.6vw,62px);margin:14px 0 18px}
.eco-desc{color:var(--mute);font-size:18px;max-width:42ch}
.eco-tags,.tags{list-style:none;padding:0;margin:22px 0 28px;display:flex;flex-wrap:wrap;gap:8px}
.eco-tags li,.tags li{border:1px solid var(--line2);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--champ)}
.eco-panel.swap>*{animation:swap .7s var(--ease) both}
.eco-panel.swap>*:nth-child(2){animation-delay:.05s}.eco-panel.swap>*:nth-child(3){animation-delay:.1s}.eco-panel.swap>*:nth-child(4){animation-delay:.15s}.eco-panel.swap>*:nth-child(5){animation-delay:.2s}
@keyframes swap{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (min-width:980px){.eco-grid{grid-template-columns:1.1fr .9fr}}
@media (max-width:560px){.onode{width:84px;font-size:10px;letter-spacing:.08em;gap:6px}.onode i{width:12px;height:12px}}

/* proceso */
.proc{background:linear-gradient(180deg,var(--ink),var(--graphite) 30%,var(--graphite) 70%,var(--ink))}
.proc-grid{display:grid;gap:48px}
.proc-side p{color:var(--mute);font-size:19px;margin-top:26px;max-width:38ch}
.proc-meter{margin-top:40px;height:2px;background:var(--line);position:relative;max-width:320px}
.proc-meter span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));box-shadow:0 0 18px rgba(226,194,122,.5)}
.proc-steps{list-style:none;margin:0;padding:0 0 0 34px;position:relative}
.proc-steps::before{content:'';position:absolute;left:6px;top:10px;bottom:10px;width:1px;background:var(--line)}
.proc-steps::after{content:'';position:absolute;left:6px;top:10px;width:1px;height:var(--fill,0);background:linear-gradient(180deg,var(--gold-hi),var(--gold));box-shadow:0 0 12px rgba(226,194,122,.7)}
.proc-steps li{position:relative;padding:22px 0 30px;opacity:.32;transition:opacity .6s}
.proc-steps li::before{content:'';position:absolute;left:-33px;top:32px;width:11px;height:11px;border-radius:50%;border:1px solid var(--gold);background:var(--node);transition:background .5s,box-shadow .5s}
.proc-steps li.on{opacity:1}
.proc-steps li.on::before{background:var(--gold-hi);box-shadow:0 0 16px rgba(226,194,122,.8)}
.proc-steps b{font:500 14px/1 var(--sans);color:var(--gold);letter-spacing:.06em}
.proc-steps h3{font-size:clamp(38px,5vw,68px);text-transform:uppercase;letter-spacing:.02em;margin:10px 0 8px}
.proc-steps p{color:var(--mute);font-size:18px;margin:0}
@media (min-width:980px){.proc-grid{grid-template-columns:.9fr 1.1fr}.proc-side{position:sticky;top:120px;align-self:start}}

/* consulting */
.cons-quote{margin:0 0 clamp(60px,9vw,120px);padding:0}
.cons-quote p{font:500 clamp(40px,7.2vw,112px)/1 var(--serif);text-transform:uppercase;letter-spacing:-.01em;margin:0}
.cons-quote .ql{display:block;color:var(--mute2);background:linear-gradient(90deg,var(--white) 0 50%,rgba(247,245,240,.18) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position 1.6s var(--ease)}
.cons-quote .q2{background:linear-gradient(90deg,var(--gold-hi) 0 50%,rgba(201,162,74,.18) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;transition-delay:.5s}
.cons-quote.lit .ql{background-position:0 0}
.cons-grid{display:grid;gap:56px}
.cons-intro p{color:var(--mute);font-size:19px;max-width:44ch;margin-top:24px}
.cons-intro .cons-strong{font:500 clamp(28px,3vw,40px)/1.1 var(--serif);color:var(--champ);text-transform:uppercase;letter-spacing:.04em;margin:30px 0}
.svc{list-style:none;margin:0;padding:0;columns:1;column-gap:48px;counter-reset:s}
.svc li{break-inside:avoid;padding:16px 0;border-top:1px solid var(--line);font:500 clamp(21px,1.9vw,26px)/1.25 var(--serif);color:var(--champ);display:flex;justify-content:space-between;gap:16px;transition:color .3s,padding .5s var(--ease)}
.svc li::after{content:'';width:8px;height:8px;margin-top:10px;border:1px solid var(--gold);border-radius:50%;flex:none;transition:background .3s}
.svc li:hover{color:var(--white);padding-left:10px}
.svc li:hover::after{background:var(--gold)}
@media (min-width:640px){.svc{columns:2}}
@media (min-width:980px){.cons-grid{grid-template-columns:.85fr 1.15fr}}

/* dashboard demo */
.dash{border:1px solid var(--line2);border-radius:18px;background:var(--panel);overflow:hidden;box-shadow:0 40px 120px -40px rgba(201,162,74,.22)}
.dash-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 22px;border-bottom:1px solid var(--line)}
.dash-title{font:500 20px/1 var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--champ)}
.demo-tag{font-size:12px;letter-spacing:.04em;color:#120d02;background:var(--champ);border-radius:999px;padding:6px 12px}
.dash-body{padding:22px;display:grid;gap:18px}
.dash-chart{width:100%;height:clamp(140px,22vw,220px)}
.dash-grid line{stroke:var(--line);stroke-width:1}
.dash-area{fill:url(#ga);opacity:.5}
.dash-line{fill:none;stroke:var(--gold-hi);stroke-width:2;vector-effect:non-scaling-stroke}
.dash-line2{fill:none;stroke:rgba(232,220,194,.55);stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.dash-legend{display:flex;gap:22px;font-size:13px;color:var(--mute)}
.dash-legend span::before{content:'';display:inline-block;width:16px;height:2px;margin-right:8px;vertical-align:middle;background:var(--gold-hi)}
.dash-legend .lg2::before{background:repeating-linear-gradient(90deg,rgba(232,220,194,.6) 0 4px,transparent 4px 7px)}
.dash-rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 34px}
.dash-rows li{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;color:var(--champ)}
.dash-rows svg{width:90px;height:26px}
.dash-rows polyline{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.8s var(--ease)}
.dash.lit .dash-rows polyline{stroke-dashoffset:0}
.dash-line,.dash-line2{stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 2.6s var(--ease)}
.dash.lit .dash-line,.dash.lit .dash-line2{stroke-dashoffset:0}

/* IA */
.ai{overflow:hidden;isolation:isolate}
.ai-media video.on{opacity:.22}
.ai-grid{display:grid;gap:40px;align-items:center}
.ai-copy h2{text-transform:uppercase;font-size:clamp(40px,6vw,86px)}
.ai-copy p{color:var(--mute);font-size:19px;max-width:46ch;margin-top:24px}
.net{width:min(100%,520px);margin:0 auto}
.net-svg .edge{stroke:rgba(201,162,74,.2);stroke-width:1}
.net-svg .pulse{stroke:var(--gold-hi);stroke-width:1.6;stroke-dasharray:6 200;stroke-linecap:round;animation:pulse 4s linear infinite}
@keyframes pulse{from{stroke-dashoffset:206}to{stroke-dashoffset:0}}
.net-svg .nd{fill:var(--node);stroke:var(--gold);stroke-width:1}
.net-svg .core{fill:url(#gc);stroke:var(--gold-hi)}
.net-svg text{fill:var(--champ);font:400 12px var(--sans);letter-spacing:.06em}
.net-svg .core-t{fill:#120d02;font:600 13px var(--sans);letter-spacing:.14em}
.ai-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}
.ai-list li{border:1px solid var(--line2);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--champ);transition:border-color .3s,color .3s}
.ai-list li:hover{border-color:var(--gold);color:var(--white)}
@media (min-width:980px){.ai-grid{grid-template-columns:1fr 1fr}}

/* tecnología */
.tech{background:var(--graphite)}
.tech-grid{display:grid;gap:48px}
.tech-q{font:italic 500 clamp(26px,2.8vw,38px)/1.2 var(--serif);color:var(--champ);margin:28px 0;max-width:24ch}
.tech-grid p:not(.tech-q){color:var(--mute);font-size:18px;max-width:44ch}
.flow{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:12px}
.flow::before{content:'';position:absolute;left:23px;top:20px;bottom:60px;width:1px;background:var(--line2)}
.flow li{position:relative;padding:12px 0 12px 64px;font:500 clamp(22px,2.4vw,30px)/1.1 var(--serif);color:var(--mute2);transition:color .6s}
.flow li::before{content:'';position:absolute;left:18px;top:50%;width:11px;height:11px;margin-top:-6px;border-radius:50%;border:1px solid var(--gold);background:var(--graphite);transition:background .5s,box-shadow .5s}
.flow li.on{color:var(--champ)}
.flow li.on::before{background:var(--gold);box-shadow:0 0 14px rgba(226,194,122,.7)}
.flow .flow-core{margin-top:16px;padding:22px 24px;border:1px solid var(--gold);border-radius:16px;display:flex;align-items:center;gap:16px;color:var(--gold-hi);font-size:clamp(22px,2.4vw,30px);text-transform:uppercase;letter-spacing:.04em;background:radial-gradient(ellipse at 20% 50%,rgba(201,162,74,.18),transparent 70%)}
.flow .flow-core::before{display:none}
.flow .flow-core img{width:48px;height:auto}
.flow .flow-core.on{box-shadow:0 0 0 1px rgba(226,194,122,.4),0 20px 80px -20px rgba(201,162,74,.5)}
@media (min-width:980px){.tech-grid{grid-template-columns:1fr 1fr}.tech-grid>div{position:sticky;top:120px;align-self:start}}

/* divisiones */
.sol{padding:clamp(40px,6vw,80px) 0 clamp(96px,12vw,160px)}
.div{display:grid;max-width:var(--max);margin:0 auto clamp(80px,12vw,160px);padding:0 var(--pad);gap:clamp(28px,4vw,64px);align-items:center}
.div-media{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;isolation:isolate;display:grid;place-items:center}
.div-media video{z-index:0}
.div-copy p{color:var(--mute);font-size:19px;max-width:44ch;margin-top:22px}
.div-copy h2{font-size:clamp(44px,6vw,84px)}
.div-claim{font:500 clamp(24px,2.6vw,34px)/1.15 var(--serif)!important;color:var(--champ)!important;text-transform:uppercase;letter-spacing:.03em}
.div-cafe .div-media{background:radial-gradient(circle at 50% 45%,#3b2817,#160d06 60%,#000)}
.div-cafe .div-media::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(201,162,74,.25),transparent 60%);z-index:1}
.div-logo{position:relative;z-index:2;width:62%;height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6));transform:translateY(var(--py,0))}
.div-mix .div-media{background:radial-gradient(circle at 30% 20%,#2a1a33,#0d0710 55%,#000)}
.mix-glass{position:relative;z-index:2;width:58%;aspect-ratio:1}
.mix-glass i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(226,194,122,.45);transform:translateY(var(--py,0))}
.mix-glass i:nth-child(2){inset:14%;border-color:rgba(232,220,194,.3);transform:translateY(calc(var(--py,0) * -1.4))}
.mix-glass i:nth-child(3){inset:30%;background:radial-gradient(circle at 40% 35%,rgba(226,194,122,.85),rgba(142,111,44,.4) 55%,transparent 70%);border:0;filter:blur(1px);transform:translateY(calc(var(--py,0) * 2))}
.div-acad .div-media{background:linear-gradient(160deg,#1d1d21,#000)}
.roles{position:relative;z-index:2;list-style:none;margin:0;padding:0;text-align:center;font:500 clamp(28px,3.4vw,46px)/1.25 var(--serif);text-transform:uppercase;letter-spacing:.04em}
.roles li{color:rgba(232,220,194,.2);transition:color .6s}
.roles li.on{color:var(--gold-hi)}
.div-wide{max-width:none;grid-column:1/-1}
.frchain{list-style:none;margin:40px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border-top:1px solid var(--line2)}
.frchain li{position:relative;padding:22px 14px 0 0;font:500 clamp(20px,1.8vw,26px)/1.15 var(--serif);color:var(--mute2);transition:color .6s}
.frchain li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--ink)}
.frchain b{display:block;font:500 13px/1 var(--sans);color:var(--gold);margin-bottom:10px}
.frchain li.on{color:var(--champ)}
.platforms h2{font-size:clamp(34px,4vw,56px);margin-bottom:34px}
.pl-row{display:grid;gap:16px}
.pl{display:flex;flex-direction:column;gap:12px;padding:30px;border:1px solid var(--line2);border-radius:20px;transition:border-color .4s,background .4s,transform .6s var(--ease)}
.pl:hover{border-color:var(--gold);background:rgba(201,162,74,.06);transform:translateY(-4px)}
.pl-name{font:500 clamp(28px,3vw,40px)/1 var(--serif);color:var(--champ)}
.pl-desc{color:var(--mute);font-size:17px;max-width:46ch}
@media (min-width:860px){.div{grid-template-columns:1fr 1fr}.div-mix .div-media{order:2}.pl-row{grid-template-columns:1fr 1fr}}

/* visión */
.glob-grid{display:grid;gap:48px;align-items:center}
.glob-grid p{color:var(--mute);font-size:19px;max-width:42ch;margin-top:24px}
.markets{list-style:none;padding:0;margin:30px 0;font:500 clamp(28px,3vw,42px)/1.3 var(--serif);color:var(--champ)}
.markets b{font-weight:500}
.globe{width:min(100%,460px);margin:0 auto}
.globe-svg .sph{fill:var(--sphere);stroke:var(--line2)}
.globe-svg .grat{fill:none;stroke:rgba(232,220,194,.1);stroke-width:.8}
.globe-svg .dot{fill:rgba(232,220,194,.28)}
.globe-svg .pt{fill:var(--gold-hi)}
.globe-svg .halo{fill:none;stroke:var(--gold-hi);stroke-width:1;animation:halo 2.6s var(--ease) infinite;transform-box:fill-box;transform-origin:center}
@keyframes halo{from{transform:scale(.4);opacity:1}to{transform:scale(2.6);opacity:0}}
.globe-svg .arc{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2.4s var(--ease)}
.globe.lit .arc{stroke-dashoffset:0}
.globe-svg text{fill:var(--champ);font:400 12px var(--sans);letter-spacing:.06em}
@media (min-width:980px){.glob-grid{grid-template-columns:1fr 1fr}}

/* resultados */
.res-list{margin:0;display:grid;gap:0}
.res-list>div{display:grid;gap:8px 40px;padding:28px 0;border-top:1px solid var(--line)}
.res-list>div:last-child{border-bottom:1px solid var(--line)}
.res-list dt{font:500 clamp(36px,5.4vw,78px)/1 var(--serif);text-transform:uppercase;letter-spacing:.01em;color:var(--white);transition:color .5s}
.res-list dd{margin:0;color:var(--mute);font-size:18px;max-width:46ch;align-self:center}
.res-list>div:hover dt{color:var(--gold-hi)}
@media (min-width:860px){.res-list>div{grid-template-columns:1.1fr .9fr}}

/* about */
.about{background:linear-gradient(180deg,var(--ink),var(--graphite))}
.about-grid{display:grid;gap:40px}
.about-lead{font:500 clamp(26px,2.8vw,38px)/1.25 var(--serif);color:var(--champ);max-width:30ch}
.about-copy>p:not(.about-lead){color:var(--mute);font-size:19px;max-width:48ch}
.manifest{list-style:none;padding:0;margin:40px 0 0;font:500 clamp(20px,2vw,26px)/1.7 var(--serif);text-transform:uppercase;letter-spacing:.06em;color:var(--mute2)}
.manifest li.on{color:var(--champ)}
.manifest li:last-child.on{color:var(--gold-hi)}
@media (min-width:980px){.about-grid{grid-template-columns:.8fr 1.2fr}}

/* final */
.final{position:relative;min-height:90svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;text-align:center;padding:120px var(--pad)}
.final::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 50% at 50% 50%,transparent,var(--veil) 85%)}
.final h2{font-size:clamp(46px,8vw,124px);text-transform:uppercase;letter-spacing:-.01em;line-height:.98}
.final h2 span{display:block}
.final .fn2{font-style:italic;text-transform:none;color:var(--gold-hi);font-size:.62em;margin-top:.3em;letter-spacing:0}
.final .hero-cta{opacity:1}

/* contacto */
.ct-grid{display:grid;gap:48px}
.ct-side p{color:var(--mute);font-size:19px;max-width:38ch;margin-top:24px}
.ct-direct{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px;font-size:18px}
.ct-direct a{color:var(--champ);border-bottom:1px solid var(--line2);padding-bottom:3px}
.ct-direct a:hover{color:var(--gold-hi);border-color:var(--gold)}
.ct-form{display:grid;gap:22px}
.f2{display:grid;gap:22px}
.ct-form label{display:grid;gap:8px;font-size:14px;color:var(--mute);letter-spacing:.02em}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line2);border-radius:0;padding:12px 0;font-size:18px;color:var(--white);transition:border-color .3s;-webkit-appearance:none;appearance:none}
.ct-form select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.ct-form select option{background:var(--opt);color:var(--white)}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:0;border-color:var(--gold-hi)}
.ct-form textarea{resize:vertical;min-height:110px}
.ct-form .bad{border-color:#e07a6a}
.ct-form .chk{grid-template-columns:22px 1fr;align-items:start;gap:12px;color:var(--mute);font-size:15px}
.ct-form .chk input{width:20px;height:20px;padding:0;border:1px solid var(--gold);border-radius:4px;margin-top:3px;cursor:pointer}
.ct-form .chk input:checked{background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23120d02' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat}
.ct-form button{justify-self:start}
.ct-form button[disabled]{opacity:.6;cursor:wait}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-msg{min-height:1.4em;margin:0;font-size:16px}
.ct-msg.ok{color:var(--gold-hi)}
.ct-msg.err{color:#f0a090}
@media (min-width:640px){.f2{grid-template-columns:1fr 1fr}}
@media (min-width:980px){.ct-grid{grid-template-columns:.8fr 1.2fr}}


/* directorio */
.dir-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.dir-list a{display:grid;gap:4px 32px;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),background .4s}
.dir-name{font:500 clamp(22px,2.2vw,30px)/1.15 var(--serif);color:var(--champ)}
.dir-desc{color:var(--mute);font-size:16px}
.dir-url{color:var(--gold-hi);font-size:15px;letter-spacing:.02em;word-break:break-all}
.dir-list a:hover{padding-left:12px;background:linear-gradient(90deg,rgba(var(--glow),.07),transparent 60%)}
.dir-list a:hover .dir-url{text-decoration:underline;text-underline-offset:4px}
@media (min-width:900px){.dir-list a{grid-template-columns:1fr 1.2fr 1.1fr;align-items:baseline}}

/* footer */
.foot{border-top:1px solid var(--line);padding:64px 0 calc(28px + env(safe-area-inset-bottom))}
.foot-grid{display:grid;gap:36px;grid-template-columns:1fr 1fr}
.foot-brand{grid-column:1/-1}
.foot-brand img{width:56px;height:auto;margin-bottom:14px}
.foot-brand p{font:500 16px/1.3 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--champ);max-width:22ch}
.foot-col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.foot-col a{color:var(--mute);transition:color .3s}
.foot-col a:hover{color:var(--gold-hi)}
.foot-col .fdiv{display:flex;flex-direction:column;gap:2px}
.foot-col .fdiv small{font-size:12.5px;color:var(--gold);letter-spacing:.02em}
.foot-copy{margin-top:48px;font-size:13px;color:var(--mute2)}
@media (min-width:860px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}}


/* tema claro */
html[data-theme=light]{
  --ink:#F5EFE3;--graphite:#ECE3D2;--smoke:#DED3BE;--line:rgba(58,44,20,.14);--line2:rgba(58,44,20,.26);
  --gold:#B08833;--gold-hi:#94701F;--gold-lo:#6E5115;--champ:#3B2F1B;--white:#15120D;--mute:rgba(21,18,13,.68);--mute2:rgba(21,18,13,.46);
  --bg-glass:rgba(245,239,227,.84);--btn-glass:rgba(255,255,255,.4);--node:#F5EFE3;--veil:#F5EFE3;--opt:#fff;--panel:linear-gradient(180deg,#fffaf0,#efe6d4);--sphere:#EFE7D7;--particle:120,90,30;--glow:176,136,51;
  color-scheme:light}
html[data-theme=light] .btn-gold{background:linear-gradient(180deg,#E2C27A,#C9A24A 55%,#8E6F2C);color:#120d02}
html[data-theme=light] .lang button[aria-pressed=true]{color:#fff}
html[data-theme=light] .hero-h .ln:nth-child(3)>span{background:linear-gradient(180deg,#B08833,#8E6F2C 60%,#6E5115);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] .demo-tag{background:#3B2F1B;color:#F5EFE3}
html[data-theme=light] .net-svg .core-t{fill:#120d02}
html[data-theme=light] .div-copy p,html[data-theme=light] .pl-desc{color:var(--mute)}
html[data-theme=light] .div-media .roles li{color:rgba(232,220,194,.22)}
html[data-theme=light] .div-media .roles li.on{color:#E2C27A}
html[data-theme=light] .ct-form .chk input:checked{background-color:#B08833}
html[data-theme=light] .dial-ticks line{stroke:rgba(58,44,20,.4)}
html[data-theme=light] .ct-form .bad{border-color:#b4442f}
html[data-theme=light] .ct-msg.err{color:#a3402c}

/* botón claro / oscuro */
.theme-btn{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line2);background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--champ);font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .3s,color .3s,transform .4s var(--ease)}
.theme-btn:hover{border-color:var(--gold);color:var(--gold-hi)}
.th-ic{width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(var(--glow),.7)}
html[data-theme=light] .th-ic{background:transparent;box-shadow:inset -4px -2px 0 1px #3B2F1B}
html.theming *,html.theming *::before,html.theming *::after{transition:background-color .5s,color .5s,border-color .5s,fill .5s,stroke .5s!important}

/* revelado al hacer scroll */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .rv{opacity:1;transform:none}
  .o-teeth{animation:none}
}

/* ecosistema ordenado (v2): punto en su lugar exacto y nombre hacia afuera del círculo, sin cruzarse con las líneas */
@media (min-width:700px){
  .orbit .onode{width:auto;padding:0;gap:0;display:block;font:500 12.5px/1.15 var(--sans);letter-spacing:.16em}
  .orbit .onode i{display:block;width:16px;height:16px;margin:0}
  .orbit .onode span{position:absolute;white-space:nowrap;padding:4px 8px;border-radius:999px;background:rgba(5,4,3,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .orbit .onode.sr span{left:calc(100% + 10px);top:50%;transform:translateY(-50%);text-align:left}
  .orbit .onode.sl span{right:calc(100% + 10px);top:50%;transform:translateY(-50%);text-align:right}
  .orbit .onode.st span{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
  .orbit .onode.sb span{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
  .orbit .onode::before{content:"";position:absolute;inset:-14px}
  .orbit{margin-bottom:130px}
  .eco-flow{bottom:-122px}
}
.foot-sol{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
