
/* Layout: núcleo REINPIA — Brand Identity System: graphite, electric cyan, violet accent; titulares condensados en mayúsculas, red neuronal cian/violeta, cerebro orbital en el hero con pulsos de datos entre sistemas, escala de autonomía, rueda de fases, índice de servicios con vista previa y laboratorio de desarrollos animados. Dark-first. */
:root{
  --bg:#0D1317; --bg-2:#141C21; --bg-3:#1B252C; --glass:rgba(160,225,235,.035); --line:rgba(160,225,235,.10); --line-2:rgba(160,225,235,.20);
  --fg:#F3F7F8; --muted:#8C9CA6; --cyan:#00F0FF; --violet:#8B6CF0; --ok:#1CC38C; --warn:#FFB547; --on-grad:#0B1114;
  --cyan-soft:rgba(0,240,255,.10); --violet-soft:rgba(123,91,224,.15);
  --grad:linear-gradient(120deg,#00F0FF 0%,#38D6F5 46%,#7B5BE0 100%);
  --metal:linear-gradient(180deg,#FFFFFF 0%,#DCE3E8 38%,#8D99A3 52%,#E9EEF1 70%,#B9C3CA 100%);
  --grad-text:linear-gradient(110deg,#00F0FF 0%,#6FEFFF 45%,#9D85F2 100%);
  --shadow:0 52px 110px -40px rgba(0,0,0,.85);
  --f-display:"Barlow Condensed","Oswald","Arial Narrow",sans-serif;
  --f-body:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --logo:url("data:image/webp;base64,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");
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#F4F7F8; --bg-2:#FFFFFF; --bg-3:#EAF0F2; --glass:rgba(20,28,33,.03); --line:#D9E2E6; --line-2:#C5D2D8;
  --fg:#141C21; --muted:#56656E; --cyan:#008C99; --violet:#6343D0; --ok:#14A577; --warn:#C27C0E; --on-grad:#0B1114;
  --cyan-soft:rgba(0,170,190,.10); --violet-soft:rgba(99,67,208,.09);
  --grad-text:linear-gradient(110deg,#007F8C 0%,#0A9DB5 42%,#6343D0 100%); --metal:linear-gradient(180deg,#2A343B,#141C21);
  --shadow:0 40px 80px -45px rgba(20,28,33,.35); color-scheme:light}}
:root[data-theme="light"]{
  --bg:#F4F7F8; --bg-2:#FFFFFF; --bg-3:#EAF0F2; --glass:rgba(20,28,33,.03); --line:#D9E2E6; --line-2:#C5D2D8;
  --fg:#141C21; --muted:#56656E; --cyan:#008C99; --violet:#6343D0; --ok:#14A577; --warn:#C27C0E; --on-grad:#0B1114;
  --cyan-soft:rgba(0,170,190,.10); --violet-soft:rgba(99,67,208,.09);
  --grad-text:linear-gradient(110deg,#007F8C 0%,#0A9DB5 42%,#6343D0 100%); --metal:linear-gradient(180deg,#2A343B,#141C21);
  --shadow:0 40px 80px -45px rgba(20,28,33,.35); color-scheme:light}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:300 16px/1.7 var(--f-body);margin:0;overflow-x:hidden}
a{color:inherit}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
b,strong{font-weight:600}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.it{font-family:var(--f-display);font-style:normal;font-weight:700}
.sec-head h2,.hero h1,.cta h2,.panel h3,.pillar h3,.architect h3,.layer b,.gen h3.t,.scale-head h3,.phase h3,.srow h3,.pv h4,.cbody h3,.prod h3,.custom h3,.client h3,.big,legend,.regform h3,.mq span,.core b,.wcenter b,.more-sec p{text-transform:uppercase;letter-spacing:.01em}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 11.5px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--grad)}
section{padding-block:120px;position:relative}
.band{background:var(--bg-2);border-block:1px solid var(--line)}
.sec-head{display:grid;gap:18px;margin-bottom:56px;max-width:900px}
.sec-head h2{font:700 clamp(2.4rem,5vw,4.1rem)/1 var(--f-display)}
.lead{color:var(--muted);font-size:1.08rem;max-width:64ch}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.reveal{transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s}
.reveal.pre{transform:translateY(30px);opacity:.001}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--f-body);padding:16px 24px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--grad);color:var(--on-grad);box-shadow:0 16px 44px -16px rgba(0,240,255,.7)}
.btn-primary:hover{box-shadow:0 22px 54px -14px rgba(123,91,224,.75)}
.btn-ghost{background:var(--glass);color:var(--fg);border-color:var(--line-2);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--fg)}
.btn-sm{padding:11px 16px;font-size:13.5px}
.btn svg{width:18px;height:18px;flex:none}

/* header */
header.top{position:fixed;inset-inline:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.top.solid{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px);border-color:var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.logo-img{width:48px;aspect-ratio:240/202;flex:none;background:var(--logo) center/contain no-repeat;filter:drop-shadow(0 0 14px rgba(0,240,255,.35))}
.logo-fb{height:40px;border-radius:11px}
.logo-fb{display:grid;place-items:center;background:var(--grad);font:700 15px var(--f-display);color:var(--on-grad)}
.brand b{display:block;font:700 17px/1.05 var(--f-body);letter-spacing:.16em;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{display:block;font:500 10.5px/1.3 var(--f-body);color:var(--cyan);letter-spacing:.04em;white-space:nowrap}
nav.links{display:flex;gap:2px;padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--line)}
nav.links a{text-decoration:none;white-space:nowrap;font:500 13px var(--f-body);color:var(--muted);padding:8px 11px;border-radius:999px;transition:color .2s,background .2s}
nav.links a:hover{color:var(--fg);background:var(--glass)}
@media (max-width:1240px){nav.links{display:none}}
@media (max-width:460px){.brand small{display:none}}

/* hero */
.hero{padding-block:140px 70px;overflow:hidden;isolation:isolate}
#field{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(45% 55% at 76% 46%,var(--violet-soft),transparent 70%),
  radial-gradient(45% 40% at 6% 85%,var(--cyan-soft),transparent 70%),
  linear-gradient(to bottom,transparent 72%,var(--bg))}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
@media (max-width:1060px){.hero-grid{grid-template-columns:1fr}}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:var(--glass);border:1px solid var(--line-2);font:500 12.5px var(--f-body);backdrop-filter:blur(8px)}
.pill b{font:500 10.5px var(--f-mono);letter-spacing:.08em;padding:4px 8px;border-radius:999px;background:var(--grad);color:var(--on-grad)}
.hero h1{font:800 clamp(2.9rem,6.2vw,5.6rem)/.95 var(--f-display);margin-block:22px 16px}
.rotline{display:block;font:700 clamp(2.6rem,5.8vw,5.1rem)/1.02 var(--f-display);min-height:1.05em}
.rot{display:inline-grid}
.rot.grad{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:inherit}
.rot span{grid-area:1/1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s;will-change:transform,opacity}
.rot span.out{transform:translateY(-40%);opacity:0;visibility:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s,visibility 0s .45s}
.rot span.in{transform:translateY(40%);opacity:0;visibility:hidden}
.hero .lead{font-size:1.12rem;margin-top:22px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.kpis{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
.kpis div{display:grid;gap:4px}
.kpis b{font:700 3rem/1 var(--f-display);font-variant-numeric:tabular-nums}
.kpis span{font:500 10.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* orbe */
.orbwrap{display:grid;gap:18px;justify-items:center}
.orb{position:relative;width:min(540px,100%);aspect-ratio:1}
.orb svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ringA{transform-origin:250px 250px;animation:spin 60s linear infinite}
.ringB{transform-origin:250px 250px;animation:spin 90s linear infinite reverse}
@keyframes spin{to{transform:rotate(1turn)}}
.spoke{stroke:var(--line-2);stroke-width:1.2;stroke-dasharray:3 7;animation:flow 1.4s linear infinite}
.spoke.hot{stroke:var(--cyan);stroke-width:2}
@keyframes flow{to{stroke-dashoffset:-20}}
.core{position:absolute;left:50%;top:50%;width:36%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--cyan) 35%,var(--bg-2)),var(--bg-2) 62%);border:1px solid var(--line-2);box-shadow:0 0 0 10px color-mix(in srgb,var(--cyan) 6%,transparent),0 0 80px -10px var(--cyan),inset 0 0 40px -10px var(--violet)}
.core::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--cyan);opacity:.5;animation:breathe 3.2s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.08);opacity:0}}
.core-logo{display:block;width:clamp(64px,7.5vw,108px);aspect-ratio:240/202;background:var(--logo) center/contain no-repeat;margin:0 auto 6px;filter:drop-shadow(0 0 22px rgba(0,240,255,.5));animation:hexfloat 5s ease-in-out infinite}
.core small{display:block;font:500 9.5px var(--f-mono);letter-spacing:.2em;color:var(--cyan)}
.core b{display:block;font:700 clamp(1.1rem,2.2vw,1.55rem)/1.1 var(--f-display);margin-block:4px}
.core em{display:block;font:400 10.5px/1.3 var(--f-body);font-style:normal;color:var(--muted);max-width:14ch;margin-inline:auto}
.sat{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--bg-2) 92%,transparent);border:1px solid var(--line-2);font:500 12px var(--f-body);white-space:nowrap;backdrop-filter:blur(6px);transition:border-color .4s,box-shadow .4s}
.sat i{width:8px;height:8px;border-radius:50%;background:var(--muted);transition:background .4s,box-shadow .4s}
.sat.hot{border-color:var(--cyan);box-shadow:0 0 30px -6px var(--cyan)}
.sat.hot i{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
@media (max-width:520px){.sat{font-size:10.5px;padding:6px 9px}}
.ticker{width:min(540px,100%);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow);font:400 13px var(--f-mono)}
.ticker .src{font-weight:500;padding:5px 9px;border-radius:7px;background:var(--cyan-soft);color:var(--cyan);white-space:nowrap}
.ticker .msg{transition:opacity .35s;min-width:0}
.ticker .sim{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
@media (max-width:480px){.ticker{grid-template-columns:auto 1fr}.ticker .sim{display:none}}

/* marquee outline */
.marquee{overflow:hidden;padding-block:30px;border-block:1px solid var(--line)}
.mq{display:flex;gap:60px;width:max-content;animation:mq 50s linear infinite}
.mq.rev{animation-direction:reverse;margin-top:10px}
.mq span{font:700 clamp(2rem,4.6vw,3.6rem)/1.05 var(--f-display);white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--line-2)}
.mq span.f{-webkit-text-stroke:0;background:var(--grad-text);-webkit-background-clip:text;background-clip:text}
@keyframes mq{to{transform:translateX(-50%)}}

/* qué hacemos */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:26px;overflow:hidden}
@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--bg-2);padding:34px 28px;display:grid;gap:14px;align-content:start;min-width:0;transition:background .3s}
.pillar:hover{background:var(--bg-3)}
.pillar .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--cyan-soft);color:var(--cyan)}
.pillar .ic svg{width:24px;height:24px}
.pillar h3{font:700 1.25rem/1.25 var(--f-display)}
.pillar p{color:var(--muted);font-size:14.5px}
.architect{margin-top:16px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;padding:28px 32px;border-radius:26px;border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box}
.architect h3{font:700 1.35rem var(--f-display);margin-top:10px}
.architect p{color:var(--muted);font-size:15px;max-width:62ch;margin-top:6px}

/* capas */
.gen{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:980px){.gen{grid-template-columns:1fr}}
.layers{display:grid;gap:10px;justify-items:center}
.layer{width:var(--w);display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;padding:16px 20px;border-radius:16px;border:1px solid var(--line-2);background:var(--bg);position:relative;z-index:1}
.layer.res{z-index:5}
.layers.anim .layer:not(.res){animation:emerge 7.5s cubic-bezier(.6,0,.25,1) infinite both;animation-delay:calc(var(--i) * .24s)}
.layers.anim .layer.res{animation:corepulse 7.5s ease-in-out infinite}
.layers.anim:hover .layer{animation-play-state:paused}
@keyframes emerge{0%{transform:translateY(var(--up,-80px)) scale(.9);opacity:0}11%{transform:translateY(0) scale(1);opacity:1}70%{transform:translateY(0) scale(1);opacity:1}86%,100%{transform:translateY(var(--up,-80px)) scale(.9);opacity:0}}
@keyframes corepulse{0%,12%,84%,100%{box-shadow:0 0 0 1px var(--violet),0 0 0 0 rgba(0,240,255,0)}30%,60%{box-shadow:0 0 0 1px var(--cyan),0 0 46px -6px rgba(0,240,255,.55)}}
.layers-hint{font:500 10.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:6px}
.layer .op{grid-row:span 2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:600 18px var(--f-body);background:var(--cyan-soft);color:var(--cyan)}
.layer b{font:700 1.05rem var(--f-display)}
.layer span{font-size:13.5px;color:var(--muted)}
.layer.res{background:linear-gradient(120deg,var(--cyan-soft),var(--violet-soft)),var(--bg);border-color:transparent;box-shadow:0 0 0 1px var(--violet),0 30px 60px -30px var(--violet)}
.layer.res .op{background:var(--grad);color:var(--on-grad)}
.layer.res b{font-size:1.4rem}
@media (max-width:560px){.layer{width:100%}}
.dtable{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--bg);margin-top:24px}
.dtable table{width:100%;border-collapse:collapse;font-size:14.5px}
.dtable th,.dtable td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.dtable thead th{font:600 13px var(--f-body);background:var(--bg-3)}
.dtable thead th:nth-child(2){color:var(--cyan)}.dtable thead th:nth-child(3){color:var(--violet)}
.dtable tbody th{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:22%}
.dtable tr:last-child th,.dtable tr:last-child td{border-bottom:0}
@media (max-width:560px){.dtable th,.dtable td{padding:12px 10px;font-size:13px}}
.gen h3.t{font:700 clamp(1.5rem,2.6vw,2.1rem)/1.2 var(--f-display)}
.gen p.t{color:var(--muted);margin-top:14px}

/* escala de autonomía */
.scale-wrap{margin-top:90px}
.scale-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:26px}
.scale-head h3{font:700 clamp(1.5rem,2.6vw,2.1rem)/1.2 var(--f-display)}
.scale-head p{color:var(--muted);font-size:14.5px;max-width:48ch}
.scale{position:relative;height:250px;border-radius:24px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--line) calc(20% - 1px) 20%),var(--bg);overflow:hidden}
.scale::before{content:"";position:absolute;left:0;right:0;bottom:46px;height:2px;background:var(--grad);opacity:.8}
.ticks{position:absolute;left:0;right:0;bottom:0;height:46px;display:grid;grid-template-columns:repeat(5,1fr)}
.ticks span{display:grid;place-items:center;font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;padding-inline:4px}
.ticks span:last-child{color:var(--warn)}
.node{position:absolute;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);font:500 13.5px var(--f-body);cursor:pointer;white-space:nowrap;transition:transform .25s,border-color .25s,box-shadow .25s}
.node i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--cyan-soft);color:var(--cyan);font:600 11px var(--f-mono);font-style:normal}
.node:hover{transform:translateX(-50%) translateY(-3px);border-color:var(--cyan)}
.node[aria-selected="true"]{border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;box-shadow:0 14px 40px -14px var(--cyan)}
.node[aria-selected="true"] i{background:var(--grad);color:var(--on-grad)}
@media (max-width:820px){
  .scale{height:auto;display:flex;gap:8px;overflow-x:auto;padding:14px}
  .scale::before,.ticks{display:none}
  .node{position:static!important;transform:none;flex:none}
  .node:hover{transform:translateY(-2px)}
}
.panel{margin-top:16px;border-radius:26px;border:1px solid var(--line);background:radial-gradient(80% 60% at 100% 0%,var(--violet-soft),transparent 60%),radial-gradient(60% 50% at 0% 100%,var(--cyan-soft),transparent 60%),var(--bg);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1fr 1fr 200px;gap:32px;min-width:0}
@media (max-width:980px){.panel{grid-template-columns:1fr}.glyph{order:-1;width:130px!important;height:130px!important}}
.panel .num{font:500 12px var(--f-mono);color:var(--muted);letter-spacing:.12em}
.panel h3{font:700 clamp(1.9rem,3.6vw,2.8rem)/1.08 var(--f-display);margin-block:10px 16px}
.panel .def{font-size:1.02rem}
.io{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px}
.io span{font:500 12.5px var(--f-mono);padding:9px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--glass)}
.io .arr{border:0;background:none;color:var(--cyan);padding:0}
.ex{padding:16px 18px;border-radius:14px;background:var(--glass);border:1px solid var(--line);font-size:15px;margin-bottom:20px}
.ex b{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--violet);display:block;margin-bottom:6px}
.builds{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.builds li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:14.5px}
.builds li::before{content:"";width:12px;height:12px;margin-top:6px;transform:rotate(45deg);border-radius:3px;background:var(--grad)}
.glyph{width:200px;height:200px;color:var(--cyan);justify-self:center;align-self:center}
.glyph svg{width:100%;height:100%;overflow:visible}
.glyph .a{stroke:var(--violet)}
.fulltable{margin-top:22px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.fulltable summary{cursor:pointer;padding:18px 22px;font:600 15px var(--f-body);list-style:none;display:flex;justify-content:space-between;gap:12px}
.fulltable summary::-webkit-details-marker{display:none}
.fulltable summary::after{content:"Ver";font:500 12px var(--f-mono);color:var(--cyan);border:1px solid var(--cyan);padding:4px 10px;border-radius:999px}
.fulltable[open] summary::after{content:"Ocultar"}
.table-scroll{overflow-x:auto;border-top:1px solid var(--line)}
table.cmp{border-collapse:collapse;width:100%;min-width:1040px;font-size:14px}
table.cmp th,table.cmp td{padding:15px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.cmp thead th{font:600 13px var(--f-body);background:var(--bg-3)}
table.cmp tbody th{font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg);position:sticky;left:0}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:0}

/* cerebro */
.brain{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
@media (max-width:1000px){.brain{grid-template-columns:1fr}}
.wheel{position:relative;width:min(460px,100%);aspect-ratio:1;justify-self:center}
.wheel svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.seg{fill:none;stroke-width:26;stroke:var(--line);transition:stroke .4s;cursor:pointer}
.seg.on{stroke:url(#rg)}
.wcenter{position:absolute;inset:28%;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--bg-2);border:1px solid var(--line-2);padding:10px;box-shadow:0 0 60px -20px var(--cyan)}
.wcenter small{font:500 10px var(--f-mono);letter-spacing:.16em;color:var(--cyan)}
.wcenter b{display:block;font:700 clamp(1.1rem,2.2vw,1.5rem)/1.15 var(--f-display);margin-top:6px}
.wnum{font:700 15px var(--f-display);fill:var(--fg);pointer-events:none}
.phases{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.phase{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;transition:border-color .3s,background .3s}
.phase .n{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font:700 16px var(--f-display);background:var(--cyan-soft);color:var(--cyan)}
.phase h3{font:700 1.1rem var(--f-display)}
.phase p{font-size:14px;color:var(--muted);margin-top:2px}
.phase.on{border-color:var(--cyan);background:linear-gradient(120deg,var(--cyan-soft),transparent 70%),var(--bg-2)}
.phase.on .n{background:var(--grad);color:var(--on-grad)}
.brain-note{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.brain-note span{font:500 12px var(--f-mono);padding:8px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--glass)}

/* índice de servicios */
.sidx{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
@media (max-width:1000px){.sidx{grid-template-columns:1fr}.spv{display:none!important}}
.srows{display:grid;border-top:1px solid var(--line)}
.srow{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:start;padding:24px 6px;border-bottom:1px solid var(--line);cursor:pointer;position:relative}
.srow::before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--grad);transition:width .5s}
.srow.on::before{width:100%}
.srow .sn{font:500 13px var(--f-mono);color:var(--muted);padding-top:8px}
.srow h3{font:700 clamp(1.25rem,2.3vw,1.7rem)/1.2 var(--f-display);transition:color .3s}
.srow.on h3{color:var(--cyan)}
.srow p{color:var(--muted);font-size:14.5px;margin-top:8px;max-width:58ch}
.srow .chips{margin-top:12px}
.srow .go{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--muted);transition:all .3s}
.srow.on .go{background:var(--grad);border-color:transparent;color:var(--on-grad);transform:rotate(-45deg)}
@media (max-width:520px){.srow{grid-template-columns:36px 1fr}.srow .go{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 11.5px/1 var(--f-mono);padding:7px 9px;border-radius:7px;border:1px solid var(--line);color:var(--muted)}
.spv{position:sticky;top:100px;border-radius:28px;border:1px solid var(--line-2);background:radial-gradient(70% 60% at 100% 0%,var(--violet-soft),transparent 60%),var(--bg);padding:30px;min-height:440px;display:grid;box-shadow:var(--shadow)}
.pv{display:grid;gap:18px;align-content:start;animation:pvin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes pvin{from{opacity:0;transform:translateY(12px)}}
.pv .k{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.pv h4{font:700 1.5rem/1.2 var(--f-display)}
.rings{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ring{display:grid;justify-items:center;gap:8px;text-align:center}
.ring svg{width:100%;max-width:120px;aspect-ratio:1}
.ring circle{fill:none;stroke-width:9}
.ring .t{stroke:var(--line)}
.ring .v{stroke:url(#rg);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;stroke-dasharray:283;stroke-dashoffset:0;animation:ringin 1.6s cubic-bezier(.2,.7,.2,1)}
@keyframes ringin{from{stroke-dashoffset:283}}
.ring text{font:700 21px var(--f-display);fill:var(--fg)}
.ring b{font:600 14px var(--f-body)}
.ring small{display:block;font-size:12px;color:var(--muted)}
.serp{border-radius:14px;border:1px solid var(--line);background:var(--bg-3);padding:16px;display:grid;gap:8px;font-size:13.5px}
.serp .q{font:500 12px var(--f-mono);color:var(--muted)}
.serp mark{background:var(--cyan-soft);color:var(--cyan);padding:0 4px;border-radius:4px}
.monitor{display:grid;gap:6px;font:500 12px var(--f-mono)}
.monitor div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 13px;border-radius:10px;background:var(--glass);border:1px solid var(--line)}
.monitor .ok{color:var(--ok)}.monitor .wait{color:var(--violet)}
.bars{display:flex;align-items:flex-end;gap:8px;height:150px}
.bars i{flex:1;border-radius:6px 6px 2px 2px;background:var(--line-2);transform-origin:bottom;animation:grow 1.2s cubic-bezier(.2,.7,.2,1) both}
.bars i.hi{background:var(--grad)}
@keyframes grow{from{transform:scaleY(.05)}}
.chat{display:grid;gap:8px;font-size:14px}
.chat span{padding:11px 14px;border-radius:14px;max-width:86%;animation:pvin .5s both}
.chat .u{background:var(--bg-3);justify-self:end;border-bottom-right-radius:4px}
.chat .b{background:var(--cyan-soft);border-bottom-left-radius:4px}
.chat span:nth-child(2){animation-delay:.4s}.chat span:nth-child(3){animation-delay:.8s}.chat span:nth-child(4){animation-delay:1.2s}
.cam{position:relative;height:190px;border-radius:14px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 34px),var(--bg-3);overflow:hidden}
.bbox{position:absolute;border:1.5px solid var(--cyan);border-radius:4px;box-shadow:0 0 18px -4px var(--cyan)}
.bbox span{position:absolute;top:-20px;left:-1.5px;font:500 10px/1 var(--f-mono);padding:4px 6px;border-radius:3px;background:var(--cyan);color:#03202a;white-space:nowrap}
.bbox.v{border-color:var(--violet);box-shadow:0 0 22px -4px var(--violet)}
.bbox.v span{background:var(--violet);color:#fff}
@keyframes walk{0%,100%{left:10%}50%{left:42%}}
.scanl{position:absolute;left:0;right:0;height:30%;background:linear-gradient(180deg,transparent,rgba(0,240,255,.14),transparent);animation:scan 3.5s linear infinite}
@keyframes scan{from{top:-30%}to{top:100%}}
.net{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.net span{font:500 11.5px var(--f-mono);text-align:center;padding:12px 6px;border-radius:10px;border:1px solid var(--line);background:var(--glass);transition:all .3s}
.net span.on{border-color:var(--cyan);color:var(--cyan)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal span{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;font:500 11px var(--f-mono);color:var(--muted)}
.cal span.p{background:var(--cyan-soft);border-color:var(--cyan);color:var(--cyan)}
.cal span.a{background:var(--violet-soft);border-color:var(--violet);color:var(--violet)}

/* laboratorio */
.labfil{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.labfil button{font:500 13px var(--f-body);color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:10px 16px;cursor:pointer;transition:all .2s}
.labfil button:hover{color:var(--fg)}
.labfil button[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:var(--on-grad)}
.lab{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.case{grid-column:span 2;border-radius:24px;border:1px solid var(--line);background:var(--bg-2);overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0;transition:transform .35s,border-color .35s,opacity .35s}
.case.w{grid-column:span 3}
@media (max-width:1000px){.lab{grid-template-columns:repeat(2,1fr)}.case,.case.w{grid-column:span 1}}
@media (max-width:620px){.lab{grid-template-columns:1fr}}
.case:hover{transform:translateY(-5px);border-color:var(--cyan)}
.case.dim{opacity:.18;transform:scale(.98)}
.case.off{display:none}
.labfil button{white-space:nowrap}
.case.mini{grid-template-rows:1fr;border-top:3px solid transparent;border-image:var(--grad) 1;border-image-slice:1 0 0 0}
.case.mini .mx{font-size:13.5px;color:var(--fg);padding:12px 14px;border-radius:12px;background:var(--bg);border:1px dashed var(--line-2);margin:0}
.case.mini .mx b{display:block;font:500 10px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:4px}
.mock{position:relative;height:170px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(160deg,var(--bg-3),var(--bg))}
.case.w .mock{height:200px}
.cbody{padding:22px 24px 24px;display:grid;gap:10px;align-content:start}
.cbody .meta{display:flex;justify-content:space-between;gap:10px;font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.cbody .meta em{font-style:normal;color:var(--muted)}
.cbody h3{font:700 1.4rem/1.15 var(--f-display)}
.cbody h3 small{display:block;font:400 14px var(--f-body);text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px}
.cbody p{color:var(--muted);font-size:14px}
.cbody .ia{display:flex;flex-wrap:wrap;gap:6px}
.cbody .ia span{font:500 10.5px var(--f-mono);color:var(--violet);background:var(--violet-soft);padding:5px 8px;border-radius:6px}
.dem{justify-self:start;margin-top:6px;font:600 13px var(--f-body);color:var(--cyan);background:none;border:0;padding:0;cursor:pointer}
.dem:hover{text-decoration:underline}
.heat{position:absolute;inset:14px;display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.heat i{border-radius:3px;background:var(--cyan);opacity:.08;animation:heat 3s ease-in-out infinite}
@keyframes heat{50%{opacity:var(--o,.6)}}
.tiles{position:absolute;inset:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tiles div{position:relative;border-radius:6px;border:1px solid var(--line-2);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 18px),var(--bg-2);overflow:hidden}
.tiles div::after{content:"";position:absolute;left:0;right:0;height:40%;background:linear-gradient(180deg,transparent,rgba(0,240,255,.18),transparent);animation:scan 2.6s linear infinite;animation-delay:var(--d,0s)}
.tiles b{position:absolute;left:5px;top:4px;font:500 9px var(--f-mono);color:var(--muted)}
.tiles s{position:absolute;width:24%;height:42%;left:30%;top:36%;border:1.5px solid var(--cyan);border-radius:3px}
.lane{position:absolute;left:0;height:26px;display:flex;gap:10px;width:max-content;animation:lane 16s linear infinite}
.lane i{flex:none;width:58px;height:26px;border-radius:4px;background:linear-gradient(180deg,var(--c,var(--cyan)),color-mix(in srgb,var(--c,var(--cyan)) 45%,var(--bg)));opacity:.85}
@keyframes lane{to{transform:translateX(-50%)}}
.crane{position:absolute;right:18%;top:10px;width:4px;height:120px;background:var(--line-2)}
.crane::before{content:"";position:absolute;top:0;left:-60px;width:140px;height:4px;background:var(--line-2)}
.crane::after{content:"";position:absolute;top:4px;left:-40px;width:2px;height:40px;background:var(--violet);animation:hook 3s ease-in-out infinite}
@keyframes hook{50%{height:70px}}
.mock svg{position:absolute;inset:0;width:100%;height:100%}
.score{position:absolute;inset:18px;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.score svg{position:static;width:120px;height:120px}
.cands{display:grid;gap:8px}
.cands div{display:grid;grid-template-columns:1fr 20px;gap:8px;align-items:center;font:500 11px var(--f-mono);color:var(--muted)}
.cands i{display:block;height:7px;border-radius:4px;background:var(--grad);width:var(--w);animation:grow2 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow2{from{width:0}}
.trip{position:absolute;inset:26px 14px;display:grid;grid-template-columns:repeat(4,1fr);align-items:start}
.trip div{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;font:500 10.5px var(--f-mono);color:var(--muted)}
.trip div::before{content:"";position:absolute;top:13px;left:50%;width:100%;height:2px;background:var(--line-2)}
.trip div:last-child::before{display:none}
.trip span{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);border:2px solid var(--cyan);color:var(--cyan);font-weight:600;animation:pop 4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes pop{0%,100%{box-shadow:0 0 0 0 transparent}10%{box-shadow:0 0 0 7px var(--cyan-soft)}}
.trip em{font-style:normal;color:var(--fg)}
.radar{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--line-2);background:repeating-radial-gradient(circle,transparent 0 24px,var(--line) 24px 25px);overflow:hidden}
.case.w .radar{width:176px;height:176px}
.radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(0,240,255,.35),transparent 25%);animation:spin 3.2s linear infinite}
.radar i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet);animation:blink 2s infinite}
@keyframes blink{50%{opacity:.2}}
.more-sec{margin-top:26px;padding:24px 28px;border-radius:22px;border:1px dashed var(--line-2);display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.more-sec p{font:700 1.15rem var(--f-display)}
.more-sec p span{display:block;font:300 14px var(--f-body);color:var(--muted);margin-top:4px}

/* plataformas */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.prod{border-radius:22px;border:1px solid var(--line);background:var(--bg);padding:26px;display:grid;gap:12px;align-content:start;min-width:0;position:relative;overflow:hidden;transition:transform .3s,border-color .3s}
.prod:hover{transform:translateY(-4px);border-color:var(--line-2)}
.prod::after{content:"";position:absolute;inset:auto -30% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--violet-soft),transparent 70%);pointer-events:none}
.prod .cat{font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.prod h3{font:700 1.45rem/1.15 var(--f-display)}
.prod .tag{font:400 14.5px var(--f-body)}
.prod p{color:var(--muted);font-size:14px}
.prod ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px;font-size:13.5px}
.prod li{display:flex;gap:8px;align-items:baseline}
.prod li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--cyan);transform:translateY(-2px)}
.prod .badge{justify-self:start;font:500 10.5px var(--f-mono);letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:var(--cyan-soft);color:var(--cyan)}
.prod a.more{margin-top:6px;font:600 13.5px var(--f-body);color:var(--cyan);text-decoration:none;position:relative;z-index:1}
.prod a.more:hover{text-decoration:underline}
.custom{margin-top:16px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(120deg,var(--cyan-soft),var(--violet-soft)),var(--bg);padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center}
@media (max-width:900px){.custom{grid-template-columns:1fr}}
.custom h3{font:700 clamp(1.4rem,2.4vw,1.9rem)/1.2 var(--f-display);margin-top:12px}
.custom p{color:var(--muted);margin-top:10px}

/* clientes */
.clients{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.client{border-radius:22px;border:1px solid var(--line);background:var(--bg-2);padding:26px;display:grid;gap:12px;align-content:start;min-width:0;transition:transform .3s,border-color .3s}
.client:hover{transform:translateY(-4px);border-color:var(--cyan)}
.mono{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font:700 15px var(--f-display);color:var(--on-grad);background:var(--grad)}
.client .sec{font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.client h3{font:700 1.15rem/1.25 var(--f-display)}
.client p{color:var(--muted);font-size:14px}
.client .del{display:flex;flex-wrap:wrap;gap:6px}
.client .del span{font:500 10.5px var(--f-mono);padding:5px 8px;border-radius:6px;background:var(--violet-soft);color:var(--violet)}
.clinks{display:grid;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.clinks a{display:flex;justify-content:space-between;align-items:center;gap:8px;font:600 13px var(--f-body);color:var(--fg);text-decoration:none;padding:9px 12px;border-radius:10px;border:1px solid var(--line);transition:border-color .2s,color .2s}
.clinks a:hover{border-color:var(--cyan);color:var(--cyan)}
.clinks a.k{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border-color:transparent}
.clinks a small{font:500 10px var(--f-mono);letter-spacing:.1em;color:var(--muted)}
.proof{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:26px;padding:22px 28px;border-radius:20px;border:1px dashed var(--line-2);color:var(--muted);font-size:14.5px}
.proof b{color:var(--fg);font:700 1.7rem var(--f-display);margin-right:6px}

/* estimador por pasos */
.wiz{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}
@media (max-width:1040px){.wiz{grid-template-columns:1fr}}
.wform{border-radius:28px;border:1px solid var(--line);background:var(--bg);overflow:hidden}
.wsteps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.wsteps button{display:grid;gap:4px;text-align:left;padding:18px 22px;background:none;border:0;border-right:1px solid var(--line);color:var(--muted);cursor:pointer;font:500 13px var(--f-body);position:relative}
.wsteps button:last-child{border-right:0}
.wsteps button b{font:500 11px var(--f-mono);letter-spacing:.12em}
.wsteps button::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--grad);transition:width .4s}
.wsteps button[aria-current="step"]{color:var(--fg)}
.wsteps button[aria-current="step"]::after,.wsteps button.done::after{width:100%}
@media (max-width:560px){.wsteps button{padding:14px 12px;font-size:12px}}
.wbody{padding:clamp(22px,3vw,34px);display:grid;gap:24px}
fieldset{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}
legend{font:700 1.35rem var(--f-display);margin-bottom:14px;padding:0}
legend small{display:block;font:400 13.5px var(--f-body);color:var(--muted);margin-top:4px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt label{display:grid;grid-template-columns:22px 1fr;gap:4px 12px;padding:14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font:500 14px/1.3 var(--f-body);height:100%;background:var(--glass);transition:all .2s}
.opt label::before{content:"";grid-row:span 2;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);margin-top:1px;transition:all .2s}
.opt label small{color:var(--muted);font:500 11.5px var(--f-mono)}
.opt input:checked + label{border-color:var(--cyan);background:var(--cyan-soft)}
.opt input:checked + label::before{background:var(--grad);border-color:transparent;box-shadow:inset 0 0 0 4px var(--bg)}
.opt input:focus-visible + label{outline:2px solid var(--cyan);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.field{display:grid;gap:7px;min-width:0}
.field label{font:500 13.5px var(--f-body)}
.field input,.field select,.field textarea{font:400 15px var(--f-body);color:var(--fg);background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;padding:13px 14px;width:100%;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);outline:none}
.field textarea{resize:vertical;min-height:96px}
.range-row{display:flex;align-items:center;gap:14px}
.range-row input[type=range]{flex:1;accent-color:var(--cyan);padding:0;border:0;background:none}
.range-row output{font:700 18px var(--f-display);min-width:2.5ch;text-align:right;color:var(--cyan)}
.wnav{display:flex;justify-content:space-between;gap:12px;padding-top:6px}
.qresult{position:sticky;top:96px;border-radius:28px;padding:30px;display:grid;gap:22px;border:1px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--grad) border-box;box-shadow:0 30px 80px -40px rgba(0,240,255,.6)}
@media (max-width:1040px){.qresult{position:static}}
.qresult .lbl{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.big{font:700 clamp(1.9rem,3.2vw,2.6rem)/1.05 var(--f-display);margin-top:8px}
.big small{display:block;font:500 12.5px var(--f-mono);color:var(--muted);margin-top:8px}
.tier{display:flex;gap:6px;margin-top:14px}
.tier i{flex:1;height:8px;border-radius:4px;background:var(--line);transition:background .4s}
.tier i.f{background:var(--grad)}
.kv{display:grid;grid-template-columns:1fr auto;gap:12px 16px;font-size:14px;border-top:1px solid var(--line);padding-top:18px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font:500 13px var(--f-mono);text-align:right}
.lines{display:grid;gap:7px;font-size:13px}
.lines div{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}
.lines .lv{font:500 11px var(--f-mono);padding:4px 8px;border-radius:6px;background:var(--violet-soft);color:var(--violet);white-space:nowrap}
.fit{font-size:14px;padding:14px 16px;border-radius:14px;background:var(--cyan-soft);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent)}
.fine{font-size:12.5px;color:var(--muted)}

/* contacto */
.cta{border-radius:36px;padding:clamp(28px,5vw,64px);position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--line-2);background:var(--bg-2)}
.cta::before{content:"";position:absolute;z-index:-1;inset:-40%;background:conic-gradient(from 180deg at 70% 40%,var(--violet-soft),transparent 25%,var(--cyan-soft) 50%,transparent 75%,var(--violet-soft));animation:spin 30s linear infinite}
.cta-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px}
@media (max-width:980px){.cta-grid{grid-template-columns:1fr;gap:32px}}
.cta h2{font:800 clamp(2.4rem,5.2vw,4.2rem)/1 var(--f-display);text-transform:uppercase;margin-block:18px}
.cinfo{display:grid;gap:12px;margin-top:30px}
.ci{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-2);border-radius:18px;padding:16px 18px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(8px)}
.ci .k{font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ci .v{font:500 16px var(--f-body);user-select:all}
.ci .acts{display:flex;gap:8px}
.regform{display:grid;gap:16px;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line-2);border-radius:24px;padding:clamp(22px,3vw,30px);backdrop-filter:blur(10px)}
.regform h3{font:700 1.35rem var(--f-display)}
.okbox{display:grid;gap:12px;padding:18px;border-radius:14px;border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.err{color:#FF6B7A;font-size:13.5px;font-weight:500}

/* faq */
.faqgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
@media (max-width:980px){.faqgrid{grid-template-columns:1fr;gap:24px}}
.faq{display:grid;gap:10px}
.faq details{border:1px solid var(--line);border-radius:16px;background:var(--bg-2)}
.faq details[open]{border-color:var(--line-2)}
.faq summary{cursor:pointer;padding:20px 22px;font:500 15.5px var(--f-body);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 24px/1 var(--f-body);color:var(--cyan);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 22px;color:var(--muted)}

footer{border-top:1px solid var(--line);padding-block:48px;background:var(--bg-2)}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}
footer h4{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
footer a{text-decoration:none}
footer a:hover{color:var(--cyan)}
footer address{font-style:normal;color:var(--muted);font-size:14px;margin-top:14px}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* asistente */
.adv-btn{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);box-shadow:var(--shadow);cursor:pointer;font:600 14px var(--f-body)}
.av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font:700 14px var(--f-display);color:var(--on-grad);position:relative;flex:none}
.adv-btn .av::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--cyan);animation:ringp 2.2s ease-out infinite}
@keyframes ringp{from{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}
.adv{position:fixed;right:18px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:61;width:min(410px,calc(100vw - 32px));height:min(600px,calc(100vh - 150px));background:var(--bg-2);border:1px solid var(--line-2);border-radius:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.adv-head{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(120deg,var(--cyan-soft),var(--violet-soft)),var(--bg-3);border-bottom:1px solid var(--line)}
.adv-head b{display:block;font:600 14.5px var(--f-body)}
.adv-head small{color:var(--ok);font:500 12px var(--f-mono)}
.adv-head button{margin-left:auto;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.adv-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.55}
.msg.bot{background:var(--bg-3);border-top-left-radius:4px;align-self:flex-start}
.msg.me{background:var(--grad);color:var(--on-grad);border-top-right-radius:4px;align-self:flex-end;font-weight:500}
.msg .sum{font:12.5px/1.65 var(--f-mono);margin-top:8px;white-space:pre-line}
.quick{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}
.quick button{font:500 13px var(--f-body);color:var(--fg);background:transparent;border:1px solid var(--line-2);border-radius:999px;padding:8px 13px;cursor:pointer}
.quick button:hover{border-color:var(--cyan);color:var(--cyan)}
.adv-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.adv-in input{flex:1;min-width:0;font:400 15px var(--f-body);color:var(--fg);background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:12px}
.adv-in button{background:var(--grad);color:var(--on-grad);border:0;border-radius:12px;padding:0 16px;font-weight:600;cursor:pointer}
.slotgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-self:stretch}
.slotgrid button{font:500 12.5px var(--f-mono);background:var(--bg);color:var(--fg);border:1px solid var(--line-2);border-radius:10px;padding:10px 4px;cursor:pointer}
.slotgrid button:hover{border-color:var(--cyan)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pre{transform:none;opacity:1}}

/* brand */
.av{background:var(--bg-2) var(--logo) center/72% no-repeat!important;border:1px solid var(--line-2)}
.slogan{font:500 15px/1.4 var(--f-body);color:var(--fg);margin:16px 0 28px;letter-spacing:.01em}
.slogan span{color:var(--cyan)}
.manifesto{position:relative;overflow:hidden;background:radial-gradient(60% 80% at 18% 50%,var(--cyan-soft),transparent 70%),var(--bg-2);border-bottom:1px solid var(--line)}
.manifesto::before,.manifesto::after{content:"";position:absolute;width:56px;height:56px;border:2px solid var(--cyan);pointer-events:none}
.manifesto::before{top:22px;left:22px;border-right:0;border-bottom:0}
.manifesto::after{bottom:22px;right:22px;border-left:0;border-top:0}
.mf-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.mf-logo{position:relative;display:grid;place-items:center}
.mf-logo img{width:min(100%,340px);height:auto;position:relative;z-index:1;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5)) drop-shadow(0 0 40px rgba(0,240,255,.25));animation:hexfloat 6s ease-in-out infinite}
.mf-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,240,255,.28),transparent 65%);filter:blur(10px);animation:breathe 4s ease-in-out infinite}
.manifesto h2{font:800 clamp(2.4rem,5.2vw,4.4rem)/.98 var(--f-display);text-transform:uppercase;margin-top:16px}
.mf-sub{font:700 clamp(1rem,1.6vw,1.25rem)/1.3 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);margin:14px 0 18px}
.kw{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0;font:500 clamp(1rem,1.6vw,1.2rem) var(--f-body);color:var(--cyan)}
.kw li:not(:last-child)::after{content:"•";margin-inline:16px;color:var(--fg);opacity:.6}
@keyframes hexfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:820px){.mf-grid{grid-template-columns:1fr;gap:24px}.mf-logo img{width:200px}}
@media (prefers-reduced-motion:reduce){.mf-logo img,.mf-glow,.core-logo{animation:none}}
.rl{display:grid;gap:8px;padding:14px 14px 12px;border-radius:14px;background:var(--bg);border:1px dashed var(--line-2);margin-block:4px}
.rl>b{font:500 10.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg)}
.rl p{display:grid;grid-template-columns:62px 1fr;gap:10px;font-size:13.5px;line-height:1.5;color:var(--fg);margin:0}
.rl p span{align-self:start;font:600 10px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 0;border-radius:6px;text-align:center}
.rl .b4{background:color-mix(in srgb,#FF6B7A 14%,transparent);color:#FF8C97}
.rl .af{background:var(--cyan-soft);color:var(--cyan)}
:root[data-theme="light"] .rl .b4{color:#C2283A}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .rl .b4{color:#C2283A}}
.fnote{color:var(--muted);font-size:14px;margin-top:6px}
.chk{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:13.5px;color:var(--muted);line-height:1.5;cursor:pointer}
.chk input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--cyan)}
.lnk{all:unset;cursor:pointer;color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.lnk:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.captcha input{max-width:120px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.news{margin-top:36px;display:grid;grid-template-columns:1fr minmax(0,1.1fr);gap:12px 32px;align-items:center;padding:24px 26px;border-radius:20px;border:1px solid var(--line-2);background:var(--bg)}
.news b{display:block;font:700 1.2rem var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.news span{color:var(--muted);font-size:14px}
.news-in{display:flex;gap:10px}
.news-in input{flex:1;min-width:0;font:400 15px var(--f-body);color:var(--fg);background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;padding:11px 16px}
.news-in input:focus{outline:none;border-color:var(--cyan)}
.news-note{grid-column:1/-1;font-size:12.5px;color:var(--muted);margin:0}
.legal-links{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px}
.legal-links .lnk{color:var(--fg);text-decoration-color:var(--line-2)}
.legal-links .lnk:hover{color:var(--cyan)}
@media (max-width:760px){.news{grid-template-columns:1fr}.news-in{flex-direction:column}}
.ck{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;width:min(440px,calc(100vw - 36px));display:grid;gap:12px;padding:20px 22px;border-radius:20px;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow),0 0 0 1px rgba(0,240,255,.06);animation:ckin .5s cubic-bezier(.2,.8,.2,1)}
.ck b{font:700 1.15rem var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.ck p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}
.ck-acts{display:flex;gap:10px;justify-content:flex-end}
@keyframes ckin{from{transform:translateY(20px);opacity:0}}
@media (max-width:620px){.ck{left:12px;right:12px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.lg{width:min(760px,calc(100vw - 32px));max-height:min(84vh,860px);padding:0;border:1px solid var(--line-2);border-radius:24px;background:var(--bg-2);color:var(--fg);box-shadow:var(--shadow)}
.lg::backdrop{background:rgba(5,9,12,.7);backdrop-filter:blur(4px)}
.lg-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:18px 26px;background:var(--bg-2);border-bottom:1px solid var(--line);z-index:1}
.lg-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--glass);color:var(--fg);font-size:22px;line-height:1;cursor:pointer}
.lg h2{font:800 clamp(1.8rem,4vw,2.6rem)/1 var(--f-display);text-transform:uppercase;padding:24px 26px 0;margin:0}
.lg-body{padding:6px 26px 28px}
.lg-body h2{display:none}
.lg-body h3{font:700 1.1rem var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:var(--cyan);margin:22px 0 6px}
.lg-body p{color:var(--muted);font-size:14.5px;margin:0 0 10px}
.lg-src{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.hdr-r{display:flex;align-items:center;gap:10px}
.lang{display:flex;padding:4px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass)}
.lang button{all:unset;cursor:pointer;font:600 12px/1 var(--f-mono);letter-spacing:.08em;padding:8px 10px;border-radius:999px;color:var(--muted);transition:background .2s,color .2s}
.lang button[aria-pressed="true"]{background:var(--grad);color:var(--on-grad)}
.lang button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
@media (max-width:460px){.hdr-r .btn-sm{padding:10px 12px;font-size:12.5px}}
.labfil button .cnt{margin-left:6px;font:500 10.5px var(--f-mono);opacity:.65}
.labfil button[aria-pressed="true"] .cnt{opacity:.9}
@media (max-width:700px){.labfil{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.labfil button{flex:none}}
@media (max-width:440px){.brand b{font-size:14px;letter-spacing:.08em}.brand .logo-img{width:40px}.lang button{padding:7px 8px}.hdr-r{gap:6px}.hdr-r .btn-sm{padding:9px 11px;font-size:12px}}
