@font-face{font-family:"IBM Plex Sans";src:url("assets/plex-latin.woff2?v=0b641182") format("woff2");font-display:swap;font-style:normal;font-weight:100 700}
@font-face{font-family:"Newsreader";src:url("assets/newsreader.woff2?v=51c5eebc") format("woff2");font-display:swap;font-style:normal;font-weight:200 800}

:root{
  --bg:#08090b;--bg-soft:#0d0f12;--panel:#111318;--panel-2:#151820;--line:rgba(255,255,255,.105);
  --line-hot:rgba(225,54,83,.38);--text:#f5f4f1;--muted:#a9acb3;--quiet:#717680;
  --red:#e13653;--red-deep:#8f1833;--red-bright:#ff5470;--ice:#a9d7e8;--green:#6ee7b7;
  /* LAS DOS FUENTES QUE SE SIRVEN SON SOLO LATINAS, así que el chino, el ruso, el coreano y el vietnamita
   caen en lo que tenga el sistema. Sin decir en qué, cada máquina elige por su cuenta y una página china
   sale con la fuente de sistema más fea que haya instalada. Detrás de las propias van las de cada sistema,
   por orden: Apple, Windows, Android/Linux. El ruso lo cubre Newsreader e IBM Plex, que traen cirílico. */
--serif:"Newsreader",Georgia,"Songti SC","Noto Serif CJK SC","Source Han Serif SC",serif;--sans:"IBM Plex Sans",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;--mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  --max:1240px;--radius:8px;--ease:cubic-bezier(.22,1,.36,1);--header:78px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;border:1px solid rgba(255,255,255,.03)}
::selection{background:rgba(225,54,83,.38);color:white}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ice);outline-offset:4px}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
/* `height:auto` es OBLIGATORIO en cuanto las imágenes llevan `width`/`height` en el HTML.
   Esos atributos están bien puestos: reservan el hueco y evitan que la página salte al cargar. Pero son
   ATRIBUTOS, y el CSS solo les gana en la propiedad que toca. `.brand-mark img` fija `width:31px` y no
   dice nada de la altura, así que mandaba el `height="104"` del atributo: el escudo salía a 31 × 104,
   estirado y desbordando su hueco de 35 × 41 por encima del hero. Les pasaba a las CINCO imágenes de la
   portada, cuatro de ellas clavadas en 104 px. Con `height:auto` el navegador recalcula la altura desde
   la anchura y la proporción real, y los atributos siguen haciendo su trabajo. 9 de septiembre de 2026. */
img{display:block;max-width:100%;height:auto}
.skip-link{position:fixed;left:16px;top:-60px;z-index:2000;background:white;color:#09090b;padding:10px 16px;border-radius:5px;transition:top .2s}
.skip-link:focus{top:16px}

.page-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
/* `will-change:transform` le pide al navegador una capa propia. Sin ella, un elemento con
   `filter:blur(100px)` que se mueve obliga a recalcular el desenfoque de 600x600 px en CADA fotograma,
   durante toda la vida de la página. Con capa, el desenfoque se calcula UNA vez y luego solo se desplaza
   la capa ya pintada. La animación siempre fue de `transform`, que es lo barato; lo caro era el desenfoque
   sin capa detrás. Medido el 9 de septiembre de 2026, buscando por qué iba lenta también en escritorio. */
.ambient{position:absolute;border-radius:50%;filter:blur(100px);opacity:.13;will-change:transform}
.ambient-one{width:600px;height:600px;background:#9c1533;top:-240px;right:-180px;animation:ambientFloat 14s ease-in-out infinite alternate}
.ambient-two{width:500px;height:500px;background:#183f58;left:-260px;top:47%;animation:ambientFloat 18s ease-in-out infinite alternate-reverse}
.grid-plane{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
/* `inset` estaba en -50%, que son CUATRO VECES la pantalla de superficie con una textura de turbulencia
   dentro, saltando 6,7 veces por segundo para siempre. El margen solo existe para que el salto de ±2% no
   enseñe el borde, y para eso basta un 5%: misma textura, mismo movimiento, y se pinta un 70% menos. */
.noise{position:absolute;inset:-5%;opacity:.035;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:noiseMove .3s steps(2) infinite}

.section{position:relative;padding:128px 24px}
.section-shell,.header-shell{width:min(var(--max),100%);margin:0 auto}
.kicker,.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:600;color:var(--red-bright)}
.section-heading{margin-bottom:60px}
.section-heading h2,.split-heading h2{font-family:var(--serif);font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.035em;font-weight:430;margin:18px 0 0;max-width:800px}
.section-heading p,.split-heading>p{color:var(--muted);max-width:560px;margin:22px 0 0;font-size:18px}
.centered{text-align:center;display:flex;align-items:center;flex-direction:column}
.centered p{max-width:660px}
.split-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:64px}
.split-heading>p{margin:0 0 2px}
em{font-weight:350;color:var(--red-bright)}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-visible{opacity:1;transform:none}

.site-header{position:fixed;z-index:100;left:0;right:0;top:0;height:var(--header);border-bottom:1px solid transparent;transition:background .35s,border-color .35s,transform .35s var(--ease)}
.site-header.is-scrolled{background:rgba(8,9,11,.82);backdrop-filter:blur(18px);border-color:var(--line)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-shell{height:100%;display:flex;align-items:center;gap:38px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{width:35px;height:41px;display:grid;place-items:center;position:relative}
.brand-mark::after{content:"";position:absolute;inset:20%;background:var(--red);filter:blur(12px);opacity:.5}
.brand-mark img{position:relative;z-index:1;width:31px;filter:saturate(1.1) contrast(1.1)}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy strong{font-size:14px;letter-spacing:.24em;font-weight:650}
.brand-copy small{font-family:var(--mono);font-size:8px;color:var(--quiet);letter-spacing:.08em;margin-top:5px;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.desktop-nav a{font-size:13px;color:#c6c8cc;transition:color .2s;position:relative;padding:28px 0}
.desktop-nav a::after{content:"";position:absolute;bottom:21px;left:0;width:0;height:1px;background:var(--red);transition:width .3s var(--ease)}
.desktop-nav a:hover,.desktop-nav a.is-active{color:white}
.desktop-nav a:hover::after,.desktop-nav a.is-active::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px}
.preview-pill{height:30px;border:1px solid rgba(169,215,232,.18);background:rgba(169,215,232,.06);padding:0 11px;display:flex;align-items:center;gap:7px;border-radius:100px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ice)}
.preview-pill i{width:5px;height:5px;border-radius:50%;background:var(--ice);box-shadow:0 0 10px var(--ice)}
.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:1px;background:white;margin:6px 0;transition:transform .3s,opacity .3s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:absolute;left:0;right:0;top:77px;background:rgba(8,9,11,.98);border-bottom:1px solid var(--line);padding:16px 24px 26px;display:grid;gap:2px}
.mobile-menu[hidden]{display:none}
.mobile-menu a{padding:12px;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px}

.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:4px;border:1px solid transparent;font-size:13px;font-weight:620;letter-spacing:.02em;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s var(--ease),background .25s,border-color .25s,color .25s,box-shadow .25s}
.button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.16),transparent 75%);transform:translateX(-140%);transition:transform .7s var(--ease)}
.button:hover::before{transform:translateX(140%)}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--red);color:white;border-color:var(--red);box-shadow:0 12px 34px rgba(225,54,83,.14)}
.button-primary:hover{background:var(--red-bright);border-color:var(--red-bright);box-shadow:0 16px 42px rgba(225,54,83,.22)}
.button-ghost{border-color:var(--line);background:rgba(255,255,255,.025);color:#ddd}
.button-ghost:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05)}
.button-light{background:#f4f1eb;color:#161214;border-color:#f4f1eb}
.button-light:hover{background:white;box-shadow:0 15px 45px rgba(255,255,255,.18)}
.button-small{height:38px;padding:0 18px}
.button-large{height:54px;padding:0 24px}
.button-block{height:52px;width:100%}
.button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}

.hero{min-height:930px;height:100vh;max-height:1080px;display:flex;align-items:center;padding-top:var(--header);overflow:hidden}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.hero-shell{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.hero-copy{padding-top:12px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.018);padding:8px 12px;border-radius:100px;color:#cdd0d5}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(225,54,83,.13),0 0 16px var(--red)}
.hero h1{font-family:var(--serif);font-size:clamp(68px,7.2vw,108px);font-weight:400;line-height:.84;letter-spacing:-.055em;margin:32px 0 30px;max-width:770px}
.hero h1 em{display:block}
.hero-lead{max-width:650px;color:#b8bac0;font-size:19px;line-height:1.65;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.hero-notes{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:27px;color:#898e97;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.hero-notes span{display:flex;align-items:center;gap:8px}
.hero-notes span:not(:first-child)::before{content:"";width:3px;height:3px;border-radius:50%;background:#4c5058;margin-right:5px}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px rgba(110,231,183,.65)}
.engine-visual{height:628px;border:1px solid var(--line);background:linear-gradient(150deg,rgba(255,255,255,.037),rgba(255,255,255,.008));position:relative;display:flex;flex-direction:column;box-shadow:0 60px 120px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.04);overflow:hidden}
.engine-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.032) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(255,255,255,.032) 50%,transparent 50.2%)}
.visual-caption,.visual-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-family:var(--mono);font-size:9px;letter-spacing:.13em;color:#858a93;position:relative;z-index:5}
.visual-caption{border-bottom:1px solid var(--line)}
.visual-footer{border-top:1px solid var(--line);margin-top:auto}
.visual-footer code{font-family:var(--mono);font-size:9px;color:#b2b5bb}
.signal{color:var(--green);display:flex;gap:7px;align-items:center}
.signal::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.radar-stage{position:relative;flex:1;transform-style:preserve-3d;transition:transform .25s ease-out}
.radar-ring{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.ring-one{width:70%;aspect-ratio:1}.ring-two{width:50%;aspect-ratio:1}.ring-three{width:29%;aspect-ratio:1;border-color:rgba(225,54,83,.25);box-shadow:0 0 60px rgba(225,54,83,.06)}
.radar-ring::before,.radar-ring::after{content:"";position:absolute;width:4px;height:4px;background:var(--red);border-radius:50%;box-shadow:0 0 10px var(--red)}
.ring-one::before{left:13%;top:19%}.ring-one::after{right:6%;bottom:29%}.ring-two::before{left:37%;top:-2%}.ring-two::after{right:9%;bottom:14%}
.radar-cross{position:absolute;background:rgba(255,255,255,.055);left:50%;top:50%}.radar-cross.x{width:78%;height:1px;transform:translate(-50%,-50%)}.radar-cross.y{height:78%;width:1px;transform:translate(-50%,-50%)}
.radar-sweep{position:absolute;left:50%;top:50%;width:35%;height:35%;transform-origin:0 0;background:conic-gradient(from 270deg,rgba(225,54,83,.2),transparent 46deg);clip-path:polygon(0 0,100% 0,0 100%);will-change:transform;animation:sweep 5s linear infinite}
.engine-core{position:absolute;left:50%;top:50%;width:126px;height:152px;transform:translate(-50%,-50%) translateZ(30px);display:grid;place-items:center}
.engine-core img{width:102px;position:relative;z-index:2;filter:saturate(1.3) contrast(1.05) drop-shadow(0 18px 22px rgba(0,0,0,.35))}
.core-glow{position:absolute;inset:12%;background:var(--red);filter:blur(38px);opacity:.25;will-change:transform,opacity;animation:corePulse 2.5s ease-in-out infinite}
.core-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(169,215,232,.15);border-radius:50%;transform-style:preserve-3d}
.orbit-a{width:230px;height:115px;margin:-57px 0 0 -115px;transform:rotate(-18deg);animation:orbit 12s linear infinite}.orbit-b{width:180px;height:260px;margin:-130px 0 0 -90px;transform:rotate(50deg);animation:orbit 16s linear infinite reverse}
.radar-node{position:absolute;font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:#a0a4ab}
.radar-node::before{content:"";position:absolute;width:5px;height:5px;border:1px solid var(--ice);box-shadow:0 0 8px rgba(169,215,232,.5)}
.node-a{left:17%;top:30%}.node-a::before{right:-17px;top:7px}.node-b{right:14%;top:34%}.node-b::before{left:-17px;top:7px}.node-c{left:22%;bottom:22%}.node-c::before{right:-17px;top:7px}
.scan-readout{position:absolute;padding:9px 11px;background:rgba(8,9,11,.72);border:1px solid var(--line);backdrop-filter:blur(8px);min-width:88px}
.scan-readout b{font-family:var(--serif);font-size:25px;line-height:1;font-weight:420}.scan-readout small{display:block;font-family:var(--mono);font-size:7px;letter-spacing:.1em;color:#777c85;margin-top:4px}.readout-a{right:7%;bottom:15%}.readout-b{left:6%;top:15%}
.hero-scroll{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);font-family:var(--mono);font-size:8px;letter-spacing:.16em;color:#666c75;display:flex;align-items:center;gap:10px}
.hero-scroll span{height:27px;width:1px;background:linear-gradient(var(--red),transparent);animation:scrollLine 1.8s ease-in-out infinite}

.telemetry{padding:0 24px;background:rgba(255,255,255,.015);border-bottom:1px solid var(--line)}
.telemetry-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.telemetry article{padding:38px 32px;border-left:1px solid var(--line);position:relative;overflow:hidden}
.telemetry article:last-child{border-right:1px solid var(--line)}
.telemetry article::before{content:"";position:absolute;left:0;right:100%;top:0;height:1px;background:var(--red);transition:right .6s var(--ease)}
.telemetry article:hover::before{right:0}
.telemetry strong{font-family:var(--serif);font-weight:380;font-size:50px;line-height:1;color:white;display:block}
.telemetry span{font-size:13px;font-weight:600;display:block;margin-top:10px}
.telemetry small{font-family:var(--mono);font-size:8px;letter-spacing:.05em;color:#6f747d;text-transform:uppercase;display:block;margin-top:5px}

.process-section{background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pipeline-line{position:absolute;left:0;right:0;top:-1px;height:1px;overflow:hidden}.pipeline-line span{display:block;height:100%;width:20%;background:var(--red);box-shadow:0 0 18px var(--red);transition:width .65s var(--ease)}
.pipeline-step{min-height:322px;padding:30px 24px;border-left:1px solid var(--line);position:relative;outline:none;transition:background .35s;cursor:default;overflow:hidden}
.pipeline-step:last-child{border-right:1px solid var(--line)}
.pipeline-step::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(225,54,83,.1),transparent 72%);opacity:0;transition:opacity .35s}
.pipeline-step.is-active::before,.pipeline-step:hover::before,.pipeline-step:focus::before{opacity:1}
.step-number{font-family:var(--mono);font-size:9px;color:#747983;letter-spacing:.12em;position:relative}
.step-icon{height:90px;display:flex;align-items:center;font-family:var(--serif);font-size:43px;color:#666b73;position:relative;transition:color .35s,transform .35s var(--ease)}
.pipeline-step.is-active .step-icon,.pipeline-step:hover .step-icon{color:var(--red-bright);transform:translateY(-3px)}
.pipeline-step h3{font-size:16px;margin:6px 0 12px;position:relative}.pipeline-step p{font-size:13px;line-height:1.65;color:#9599a1;margin:0;position:relative}.pipeline-step small{font-family:var(--mono);font-size:8px;color:#686d76;text-transform:uppercase;position:absolute;bottom:25px;letter-spacing:.08em}

.preflight-section{background:#0b0c0f;border-block:1px solid var(--line);overflow:hidden}
.preflight-section::before{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(225,54,83,.1);border-radius:50%;left:-350px;top:-250px;box-shadow:0 0 0 100px rgba(225,54,83,.018),0 0 0 200px rgba(225,54,83,.012)}
.preflight-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}
.preflight-copy h2{font-family:var(--serif);font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.04em;font-weight:420;margin:18px 0 26px}.preflight-copy>p{color:#a6aab1;font-size:17px;max-width:510px}
.check-list{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:13px}.check-list li{display:flex;align-items:center;gap:12px;color:#cccfd4;font-size:14px}.check-list span{width:21px;height:21px;border:1px solid rgba(110,231,183,.28);background:rgba(110,231,183,.06);color:var(--green);font-size:11px;display:grid;place-items:center;border-radius:50%}
.terminal-card{border:1px solid rgba(255,255,255,.16);background:#0c0e12;min-height:470px;box-shadow:0 45px 100px rgba(0,0,0,.4);position:relative;overflow:hidden}
.terminal-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.018) 50%,transparent 50%);background-size:100% 4px;opacity:.2}
.terminal-top{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 16px;font-family:var(--mono);font-size:8px;letter-spacing:.11em;color:#747982;position:relative;z-index:1}.terminal-top>span{margin:auto}.terminal-top>b{font-weight:500;color:var(--ice)}
.terminal-dots{display:flex;gap:6px}.terminal-dots i{width:6px;height:6px;border-radius:50%;background:#383c43}.terminal-dots i:first-child{background:var(--red-deep)}
.preflight-form{padding:42px 44px;position:relative;z-index:2}.preflight-form label{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8a8f98;display:block;margin-bottom:10px}
.input-shell{height:60px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.15);background:#090a0d;position:relative;transition:border-color .25s,box-shadow .25s;overflow:hidden}.input-shell:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(225,54,83,.08)}.input-shell>span{font-family:var(--mono);font-size:11px;color:var(--red-bright);padding-left:17px}.input-shell input{height:100%;width:100%;border:0;background:none;outline:0;color:white;padding:0 16px;font-family:var(--mono);font-size:11px}.input-shell input::placeholder{color:#50545d}.input-scan{position:absolute;top:0;bottom:0;width:70px;background:linear-gradient(90deg,transparent,rgba(225,54,83,.09),transparent);left:-100px;opacity:0}.input-shell:focus-within .input-scan{opacity:1;animation:inputScan 1.7s linear infinite}
.form-row{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);margin-bottom:26px;font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase}.form-row span{color:#737881}.form-row strong{color:#d8dade;font-weight:500;text-align:right}.form-disclaimer{text-align:center;font-size:10px;color:#636872;margin:13px 0 0}.button-loader{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.is-loading .button-label{display:none}.is-loading .button-loader{display:block}
.preflight-result{position:absolute;inset:48px 0 0;background:#0c0e12;padding:28px 34px;z-index:4}.preflight-result[hidden]{display:none}.result-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--green)}.result-head span{display:flex;align-items:center;gap:9px}.result-head button{border:0;background:none;font-size:23px;color:#747982;cursor:pointer}.result-repo{padding:21px 0 18px;border-bottom:1px solid var(--line)}.result-repo small,.result-grid small{font-family:var(--mono);font-size:7px;letter-spacing:.12em;color:#6f747d;display:block}.result-repo strong{font-size:14px;display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0}.result-repo code{font-family:var(--mono);font-size:9px;color:var(--ice)}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 0}.result-grid>div{padding:0 14px;border-left:1px solid var(--line)}.result-grid>div:first-child{padding-left:0;border:0}.result-grid b{font-family:var(--serif);font-size:23px;font-weight:430;display:block;margin-top:3px}.scope-meter{margin-bottom:20px}.scope-meter>span{display:block;height:3px;background:#252830;margin-bottom:7px}.scope-meter i{display:block;width:0;height:100%;background:var(--green);box-shadow:0 0 9px var(--green);transition:width .8s var(--ease)}.scope-meter small{font-family:var(--mono);font-size:8px;color:#777c85}

.catalog-section{overflow:hidden}.catalog-section::after{content:"SCORPIO";position:absolute;right:-70px;top:70px;font-family:var(--serif);font-size:220px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.022);pointer-events:none}
.featured-product{position:relative;display:grid;grid-template-columns:1.2fr .8fr;border:1px solid rgba(225,54,83,.37);background:linear-gradient(135deg,rgba(225,54,83,.095),rgba(255,255,255,.018) 45%,rgba(169,215,232,.028));box-shadow:0 40px 100px rgba(0,0,0,.25);overflow:hidden}
.featured-product::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--red);filter:blur(110px);opacity:.12;left:-70px;top:-80px}
.product-main{padding:51px 55px;position:relative}.product-state,.soon{font-family:var(--mono);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:9px}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);position:relative}.live-pulse::after{content:"";position:absolute;inset:-5px;border:1px solid var(--green);border-radius:50%;animation:pulseRing 1.8s ease-out infinite}
.product-title-row{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:25px 0 19px}.product-title-row small{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#757a83}.product-title-row h3{font-family:var(--serif);font-size:51px;line-height:1;font-weight:430;margin:8px 0 0}.price{display:flex;align-items:end;gap:10px}.price strong{font-family:var(--serif);font-size:67px;line-height:.8;font-weight:370;color:#fff}.price span{font-family:var(--mono);font-size:8px;line-height:1.5;color:#868b94;letter-spacing:.07em;text-transform:uppercase}.product-main>p{font-size:16px;color:#adb0b6;max-width:670px}.product-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 31px}.product-tags span{border:1px solid var(--line);background:rgba(255,255,255,.025);padding:7px 10px;font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:#969aa2;text-transform:uppercase}
.product-specs{padding:51px 47px;border-left:1px solid var(--line);background:rgba(8,9,11,.34)}.product-specs h4{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7f848d;margin:0 0 23px}.product-specs ul{list-style:none;padding:0;margin:0}.product-specs li{display:flex;align-items:baseline;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);color:#aeb1b7;font-size:13px}.product-specs li span{font-family:var(--serif);font-size:24px;color:white;min-width:58px}.scope-note{display:flex;gap:13px;margin-top:23px}.scope-note i{font-style:normal;flex:0 0 23px;width:23px;height:23px;border:1px solid rgba(169,215,232,.25);border-radius:50%;display:grid;place-items:center;color:var(--ice);font-family:var(--mono);font-size:9px}.scope-note p{font-size:11px;line-height:1.6;color:#747983;margin:1px 0}
.roadmap-heading{display:flex;justify-content:space-between;align-items:end;margin:94px 0 30px}.roadmap-heading h3{font-family:var(--serif);font-size:37px;font-weight:430;margin:8px 0 0}.roadmap-heading>p{font-size:13px;color:#777c85;margin:0;max-width:370px;text-align:right}.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.roadmap-card{padding:30px 25px 34px;border-left:1px solid var(--line);min-height:380px;position:relative;transition:background .3s,transform .3s var(--ease)}.roadmap-card:last-child{border-right:1px solid var(--line)}.roadmap-card:hover{background:rgba(255,255,255,.025);transform:translateY(-4px)}.roadmap-card .soon{color:#a0a5ad;margin-bottom:29px}.roadmap-card>small{font-family:var(--mono);font-size:8px;color:#676c74;letter-spacing:.09em}.roadmap-card h3{font-family:var(--serif);font-size:30px;font-weight:430;line-height:1;margin:10px 0 14px}.roadmap-card>p{font-size:12px;color:#858a93;line-height:1.6;min-height:59px}.roadmap-price{font-family:var(--mono);font-size:9px;color:#777c85;margin:22px 0}.roadmap-price b{font-family:var(--serif);font-size:34px;font-weight:420;color:#d6d8dc;margin-right:5px}.roadmap-card ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.roadmap-card li{font-size:10px;color:#757a83;display:flex;align-items:center;gap:8px}.roadmap-card li::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--red)}

.benchmark-section{background:#0c0e11;border-block:1px solid var(--line);overflow:hidden}.benchmark-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 50%,rgba(169,215,232,.07),transparent 32%)}
.benchmark-shell{display:grid;grid-template-columns:.74fr 1.26fr;gap:90px;align-items:center}.benchmark-copy h2{font-family:var(--serif);font-size:clamp(44px,5vw,67px);font-weight:420;line-height:1;letter-spacing:-.04em;margin:18px 0 26px}.benchmark-copy>p{color:#a2a6ae;font-size:16px}.benchmark-stamp{display:flex;align-items:center;margin:35px 0 25px;border:1px solid var(--line);width:max-content;padding:10px 14px}.benchmark-stamp i{font-family:var(--serif);font-size:34px;line-height:1;color:var(--red-bright);font-style:normal;border-right:1px solid var(--line);padding-right:12px}.benchmark-stamp span{font-family:var(--mono);font-size:8px;line-height:1.45;letter-spacing:.1em;padding-left:12px;color:#aeb2b8}.benchmark-stamp small{font-family:var(--mono);font-size:7px;color:#5f646d;margin-left:25px;letter-spacing:.08em}.evidence-note{display:flex;gap:12px;max-width:500px}.evidence-note span{flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(169,215,232,.22);border-radius:50%;color:var(--ice);font-family:var(--mono);font-size:9px;display:grid;place-items:center}.evidence-note p{font-size:10px;color:#6f747d;line-height:1.65;margin:0}
.benchmark-panel{border:1px solid var(--line);background:rgba(8,9,11,.55);padding:0 42px 31px;box-shadow:0 40px 100px rgba(0,0,0,.3)}.benchmark-tabs{height:67px;display:flex;gap:28px;border-bottom:1px solid var(--line)}.benchmark-tabs button{height:100%;padding:0;background:none;border:0;font-size:11px;color:#70757e;cursor:pointer;position:relative}.benchmark-tabs button::after{content:"";position:absolute;height:2px;background:var(--red);left:0;right:100%;bottom:-1px;transition:right .35s}.benchmark-tabs button.is-active{color:white}.benchmark-tabs button.is-active::after{right:0}.metric-display{padding:37px 0 28px;display:grid;gap:34px}.metric-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.metric-label>span{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600}.metric-label img{width:20px;height:24px;object-fit:contain}.slither-mark{width:21px;height:21px;border:1px solid #60656e;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--serif);font-size:12px}.metric-label b{font-family:var(--serif);font-size:34px;font-weight:430}.metric-track{height:8px;background:#24272d;overflow:hidden}.metric-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red-deep),var(--red-bright));box-shadow:0 0 12px rgba(225,54,83,.45);transition:width 1.2s var(--ease)}.benchmark-panel.is-animated .metric-track i{width:var(--target)}.slither .metric-track i{background:#5c626c;box-shadow:none}.metric-row>small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.09em;color:#727780;margin-top:8px}.benchmark-foot{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:20px}.benchmark-foot span{font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:#6f747d;text-align:center;border-left:1px solid var(--line)}.benchmark-foot span:first-child{text-align:left;border:0}.benchmark-foot span:last-child{text-align:right}

.proof-section{padding-bottom:96px}.proof-grid{margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-grid article{padding:34px 30px;border-left:1px solid var(--line);position:relative;overflow:hidden}.proof-grid article:last-child{border-right:1px solid var(--line)}.proof-grid article::before{content:"";position:absolute;left:0;right:100%;top:0;height:1px;background:var(--red);transition:right .6s var(--ease)}.proof-grid article:hover::before{right:0}.proof-grid strong{font-family:var(--serif);font-weight:380;font-size:46px;line-height:1;color:white;display:block}.proof-grid span{font-size:13px;font-weight:600;display:block;margin-top:10px}.proof-grid small{font-family:var(--mono);font-size:8px;letter-spacing:.05em;color:#6f747d;text-transform:uppercase;display:block;margin-top:5px}
.proof-note{display:flex;gap:12px;max-width:760px;margin-top:26px}.proof-note span{flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(169,215,232,.22);border-radius:50%;color:var(--ice);font-family:var(--mono);font-size:9px;display:grid;place-items:center}.proof-note p{font-size:11px;color:#7e838c;line-height:1.7;margin:0}
.roadmap-note{margin:26px 0 0;font-size:11px;line-height:1.75;color:#7e838c;max-width:860px}

.coverage-section{overflow:hidden}.coverage-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.coverage-card{min-height:284px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 22px;position:relative;overflow:hidden;transition:background .35s,transform .35s var(--ease)}.coverage-card::before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:var(--red);filter:blur(60px);opacity:0;left:-40px;top:-40px;transition:opacity .35s}.coverage-card:hover{background:rgba(255,255,255,.027);transform:translateY(-3px)}.coverage-card:hover::before{opacity:.13}.coverage-card>span{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:#5d626a;position:absolute;right:16px;top:15px}.coverage-glyph{height:80px;font-family:var(--serif);font-size:39px;color:#7a7f88;display:flex;align-items:center;position:relative;transition:color .3s,transform .3s var(--ease)}.coverage-card:hover .coverage-glyph{color:var(--red-bright);transform:translateX(4px)}.coverage-card h3{font-size:14px;margin:8px 0 9px;position:relative}.coverage-card p{font-size:11px;line-height:1.6;color:#7e838c;margin:0;position:relative}.coverage-card b{position:absolute;bottom:20px;font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:#a0a4ab;font-weight:500;text-transform:uppercase}

.deliverable-section{background:linear-gradient(180deg,#0b0d10,#090a0c)}.deliverable-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center;margin-top:40px}.report-preview{position:relative;perspective:1000px;transform-style:preserve-3d;transition:transform .25s ease-out;padding:32px 24px 40px}.report-window{background:#e9e8e4;color:#1a1a1d;min-height:425px;box-shadow:0 45px 90px rgba(0,0,0,.5);transform:rotateY(2deg) rotateX(1deg);overflow:hidden}.report-toolbar{height:40px;background:#17181c;color:#8b9098;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-family:var(--mono);font-size:7px;letter-spacing:.1em}.report-toolbar>div{display:flex;gap:5px}.report-toolbar i{width:5px;height:5px;border-radius:50%;background:#4a4e55}.report-body{display:grid;grid-template-columns:84px 1fr;min-height:385px}.report-body aside{background:#202126;padding:25px 17px;display:flex;flex-direction:column;gap:15px}.report-body aside img{width:25px;margin-bottom:18px}.report-body aside span{height:4px;background:#3a3c42;border-radius:2px}.report-body aside span:nth-of-type(3){width:70%}.report-content{padding:36px 40px}.report-content small{font-family:var(--mono);font-size:7px;letter-spacing:.12em;color:#8c273c}.report-content h3{font-family:var(--serif);font-size:29px;line-height:1.05;margin:12px 0}.report-severity{display:flex;gap:10px;margin-bottom:28px}.report-severity b,.report-severity span{font-family:var(--mono);font-size:6px;letter-spacing:.1em;padding:5px 7px;background:#94243a;color:white}.report-severity span{background:#d5d4cf;color:#55575c}.report-content>p{height:6px;background:#c9c8c4;margin:10px 0;width:100%}.report-content>p.short{width:65%}.code-lines{background:#25262a;padding:18px;margin-top:27px;display:grid;gap:8px}.code-lines i{height:4px;background:#5c5f65;width:86%}.code-lines i:nth-child(2){background:#9c3b4e;width:63%}.code-lines i:nth-child(3){width:76%}.code-lines i:nth-child(4){width:49%}.file-chip{position:absolute;background:#121419;border:1px solid var(--line);padding:10px 12px;font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:#a1a5ad;box-shadow:0 15px 30px rgba(0,0,0,.35);transform:translateZ(40px)}.file-chip span{color:var(--green);margin-left:9px}.chip-a{left:0;top:105px}.chip-b{right:-9px;bottom:75px}.chip-c{left:85px;bottom:12px}
.deliverable-list{border-top:1px solid var(--line)}.deliverable-list article{display:flex;gap:22px;padding:28px 0;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease)}.deliverable-list article:hover{padding-left:9px}.deliverable-list article>span{font-family:var(--mono);font-size:8px;color:var(--red-bright);padding-top:5px}.deliverable-list h3{font-size:15px;margin:0 0 5px}.deliverable-list p{font-size:12px;color:#80858e;line-height:1.55;margin:0}

.limits-section{background:#e7e5df;color:#151519}.limits-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.limits-section .kicker{color:#8f1833}.limits-section h2{font-family:var(--serif);font-size:clamp(47px,5vw,70px);font-weight:430;line-height:1;letter-spacing:-.04em;margin:20px 0}.limits-section h2 em{color:#8f1833}.limits-columns{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(0,0,0,.16)}.limits-columns article{padding:38px 34px}.limits-columns article+article{border-left:1px solid rgba(0,0,0,.16)}.limits-columns h3{display:flex;gap:10px;align-items:center;margin:0 0 25px;font-size:15px}.limits-columns h3 span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:11px}.claim-column h3 span{background:#174e3d;color:#d7fff0}.no-claim-column h3 span{background:#81243a;color:#ffe7ec}.limits-columns ul{padding:0;margin:0;list-style:none}.limits-columns li{font-size:13px;color:#44464a;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.12)}.limits-columns li:last-child{border:0}

.faq-section{background:#0b0c0f}.faq-shell{display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-intro h2{font-family:var(--serif);font-size:clamp(43px,4.5vw,63px);font-weight:420;line-height:1;letter-spacing:-.04em;margin:18px 0 24px}.faq-intro p{font-size:15px;color:#8f949c;max-width:380px}.faq-intro>a{font-family:var(--mono);font-size:9px;letter-spacing:.09em;color:var(--red-bright);text-transform:uppercase;display:inline-flex;gap:14px;margin-top:17px}.accordion{border-top:1px solid var(--line)}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;padding:26px 52px 26px 0;font-size:15px;font-weight:570;position:relative;transition:color .25s}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{position:absolute;right:4px;top:50%;width:20px;height:20px;transform:translateY(-50%)}.accordion summary span::before,.accordion summary span::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:1px;background:#8a8e96;transition:transform .3s,background .3s}.accordion summary span::after{transform:rotate(90deg)}.accordion details[open] summary{color:var(--red-bright)}.accordion details[open] summary span::after{transform:rotate(0)}.accordion details[open] summary span::before,.accordion details[open] summary span::after{background:var(--red)}.accordion details>div{overflow:hidden}.accordion p{font-size:13px;color:#8a8f98;line-height:1.7;margin:-4px 50px 25px 0;max-width:690px}

.final-cta{padding:100px 24px;background:#0b0c0f}.cta-panel{min-height:475px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;background:linear-gradient(135deg,#7b142c,#c72f4d);overflow:hidden;position:relative;box-shadow:0 55px 100px rgba(0,0,0,.35)}.cta-panel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(circle,black,transparent 68%)}.cta-panel .kicker{color:rgba(255,255,255,.72);position:relative}.cta-panel h2{font-family:var(--serif);font-size:clamp(52px,6vw,78px);font-weight:420;line-height:.92;letter-spacing:-.04em;margin:19px 0;position:relative}.cta-panel p{color:rgba(255,255,255,.68);font-size:14px;position:relative;margin:0 0 28px}.cta-panel .button{position:relative}.cta-radar{position:absolute;width:700px;height:700px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.cta-radar i{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;inset:15%}.cta-radar i:nth-child(2){inset:30%}.cta-radar i:nth-child(3){inset:44%;background:rgba(255,255,255,.025);animation:corePulse 3s ease-in-out infinite}

.site-footer{background:#07080a;border-top:1px solid var(--line);padding:64px 24px 25px}.footer-top{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;padding-bottom:55px}.footer-brand p{font-size:12px;color:#70757d;max-width:320px;margin-top:22px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.footer-links h3{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#696e77;margin:0 0 17px}.footer-links a{display:block;font-size:12px;color:#a0a4ab;margin:9px 0;transition:color .2s,transform .2s}.footer-links a:hover{color:white;transform:translateX(3px)}.footer-links .footer-correo{word-break:break-all}.footer-links .footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:14px 0 4px;padding:0;border:0}
/* Los puntos entre perfiles los dibuja el CSS: no son texto y no hay nada que traducir. */
.footer-links .footer-social a{display:inline-block;font-size:11px;color:#767b83;margin:0;padding:7px 0}.footer-links .footer-social a+a::before{content:"·";margin:0 9px;color:#484d55}.footer-links .footer-social a:hover{color:white;transform:none}/* EL SELECTOR DE IDIOMA SON ENLACES, Y NADA MÁS. Cada lengua lleva a la MISMA página en esa lengua, así
   que el texto ya viene escrito y el navegador no descarga ningún catálogo. El de la lengua que se está
   leyendo va marcado con `aria-current` y se pinta en blanco, sin subrayado ni enlace muerto: quien ya
   está ahí no necesita un enlace a donde está. */
.footer-idiomas{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
/* Separación por hueco y NO por puntos, al revés que la fila de perfiles. Los perfiles son tres y nunca
   parten de línea; los idiomas van a ser once y sí. Con el punto dibujado como `::before` del enlace, la
   línea siguiente empieza por un punto suelto en cuanto la fila se parte, y eso pasa en cualquier teléfono. */
.lang-switch{display:flex;flex-wrap:wrap;align-items:center;gap:2px 20px}
.lang-switch a{display:inline-block;font-size:11px;color:#767b83;padding:7px 0;transition:color .2s}
.lang-switch a:hover{color:white}
.lang-switch a[aria-current]{color:#e8eaee}
/* La raya la pone el selector, así que la de abajo sobra: dos rayas seguidas son una raya mal puesta. */
.footer-idiomas+.footer-bottom{border-top:0;padding-top:16px}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:25px;font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:#555a63;text-transform:uppercase}.footer-bottom code{font-family:var(--mono);color:#737881}.preview-footer{color:var(--ice)}
.cursor-glow{position:fixed;left:0;top:0;z-index:999;pointer-events:none;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(225,54,83,.055),transparent 68%);will-change:transform;opacity:0;transition:opacity .4s}
body:hover .cursor-glow{opacity:1}
.scroll-progress{position:fixed;z-index:130;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--red-deep),var(--red-bright),var(--ice));box-shadow:0 0 14px rgba(225,54,83,.55);pointer-events:none}
.legal-hero{position:relative}

/* Legal pages */
.legal-page{background:#0a0b0e}.legal-hero{padding:166px 24px 82px;border-bottom:1px solid var(--line);overflow:hidden}.legal-hero::after{content:"LEGAL";position:absolute;right:-25px;bottom:-49px;font-family:var(--serif);font-size:190px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035)}.legal-hero-shell{display:grid;grid-template-columns:1fr .45fr;gap:70px;align-items:end}.legal-hero h1{font-family:var(--serif);font-size:clamp(61px,8vw,105px);font-weight:400;line-height:.85;letter-spacing:-.055em;margin:28px 0 0}.legal-hero p{color:#9398a0;font-size:14px;margin:0 0 5px}.draft-banner{background:rgba(169,215,232,.08);border:1px solid rgba(169,215,232,.25);padding:16px 18px;color:#b8dce9;font-size:11px;line-height:1.6;margin-top:25px;max-width:700px}.legal-layout{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:270px 1fr;gap:100px;padding:85px 0 130px}.legal-nav{position:sticky;top:110px;align-self:start;border-left:1px solid var(--line);padding-left:20px}.legal-nav small{font-family:var(--mono);font-size:8px;letter-spacing:.13em;color:#646973}.legal-nav a{display:block;font-size:11px;color:#858a93;margin:12px 0;transition:color .2s,transform .2s}.legal-nav a:hover,.legal-nav a.is-active{color:white;transform:translateX(4px)}.legal-content{max-width:780px}.legal-section{padding:0 0 54px;margin-bottom:54px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.legal-section:last-child{border-bottom:0}.legal-section>span{font-family:var(--mono);font-size:8px;color:var(--red-bright);letter-spacing:.12em}.legal-section h2{font-family:var(--serif);font-size:38px;font-weight:430;line-height:1.08;margin:10px 0 24px}.legal-section h3{font-size:14px;margin:27px 0 9px}.legal-section p,.legal-section li{font-size:13px;line-height:1.8;color:#9ca0a8}.legal-section ul,.legal-section ol{padding-left:20px}.legal-section li{padding:4px 0}.legal-callout{border-left:2px solid var(--red);background:rgba(225,54,83,.055);padding:15px 18px;margin:22px 0;color:#b6b9bf;font-size:12px;line-height:1.7}.operator-needed{border-color:#d5a44e;background:rgba(213,164,78,.07);color:#d7bf95}.legal-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}.legal-meta span{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:#777c85;border:1px solid var(--line);padding:8px 10px}.legal-footer-note{font-size:10px;color:#676c75;margin-top:25px}

@keyframes ambientFloat{to{transform:translate3d(45px,35px,0) scale(1.08)}}
@keyframes noiseMove{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(0,0)}}
@keyframes sweep{to{transform:rotate(360deg)}}
@keyframes corePulse{0%,100%{opacity:.18;transform:scale(.92)}50%{opacity:.36;transform:scale(1.1)}}
@keyframes orbit{to{rotate:360deg}}
@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
@keyframes inputScan{to{left:110%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulseRing{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}

@media (max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}.header-actions>.button{display:none}
  .hero{height:auto;max-height:none;min-height:0;padding-top:145px;padding-bottom:100px}.hero-shell{grid-template-columns:1fr}.hero-copy{max-width:810px}.engine-visual{height:570px;max-width:700px;width:100%;justify-self:center}.hero-scroll{display:none}
  .pipeline{grid-template-columns:repeat(3,1fr)}.pipeline-step:nth-of-type(3){border-right:1px solid var(--line)}.pipeline-step:nth-of-type(n+4){border-top:1px solid var(--line)}.pipeline-line{display:none}
  .preflight-layout,.benchmark-shell,.limits-shell,.faq-shell{gap:55px}.roadmap-grid{grid-template-columns:repeat(2,1fr)}.roadmap-card:nth-child(2){border-right:1px solid var(--line)}.roadmap-card:nth-child(n+3){border-top:1px solid var(--line)}
  .coverage-grid{grid-template-columns:repeat(3,1fr)}.deliverable-stage{gap:55px}.legal-layout{padding-inline:24px}
}

@media (max-width:820px){
  :root{--header:70px}.section{padding:90px 20px}.header-shell{padding:0 18px}.preview-pill{display:none}
  .hero{padding:125px 20px 80px}.hero h1{font-size:clamp(58px,16vw,85px)}.hero-lead{font-size:16px}.engine-visual{height:500px}.readout-a{right:4%}.readout-b{left:4%}
  .telemetry{padding:0 20px}.telemetry-grid{grid-template-columns:1fr 1fr}.telemetry article:nth-child(2){border-right:1px solid var(--line)}.telemetry article:nth-child(n+3){border-top:1px solid var(--line)}
  .proof-grid article:nth-child(2){border-right:1px solid var(--line)}.proof-grid article:nth-child(n+3){border-top:1px solid var(--line)}.proof-grid strong{font-size:38px}
  .split-heading{grid-template-columns:1fr;gap:25px}.split-heading>p{margin:0}.pipeline{grid-template-columns:1fr 1fr}.pipeline-step:nth-of-type(3){border-right:0}.pipeline-step:nth-of-type(2n){border-right:1px solid var(--line)}.pipeline-step:nth-of-type(n+3){border-top:1px solid var(--line)}
  .preflight-layout,.benchmark-shell,.deliverable-stage,.limits-shell,.faq-shell,.footer-top,.legal-hero-shell{grid-template-columns:1fr}.preflight-layout{gap:55px}.terminal-card{min-height:470px}.featured-product{grid-template-columns:1fr}.product-specs{border-left:0;border-top:1px solid var(--line)}.product-main{padding:42px 35px}.product-specs{padding:35px}.product-title-row{align-items:start}.product-title-row h3{font-size:43px}.price strong{font-size:55px}
  .benchmark-shell{gap:50px}.coverage-grid{grid-template-columns:1fr 1fr}.deliverable-stage{gap:40px}.faq-intro{position:relative;top:auto}.limits-columns{max-width:650px}.footer-top{gap:45px}.legal-hero{padding:135px 20px 70px}.legal-layout{grid-template-columns:1fr;padding-top:55px;gap:45px}.legal-nav{display:none}.legal-hero::after{font-size:120px}
}

@media (max-width:560px){
  .section{padding:76px 16px}.brand-copy small{display:none}.hero{padding:116px 16px 70px}.hero h1{font-size:58px;margin-top:26px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-notes{display:grid}.hero-notes span:not(:first-child)::before{display:none}.engine-visual{height:420px}.ring-one{width:82%}.scan-readout{min-width:74px}.scan-readout b{font-size:20px}.radar-node{display:none}.engine-core{width:100px;height:120px}.engine-core img{width:78px}
  .telemetry{padding:0 16px}.telemetry article{padding:27px 20px}.telemetry strong{font-size:41px}.telemetry span{font-size:11px}.telemetry small{font-size:7px}
  .section-heading h2,.split-heading h2{font-size:42px}.pipeline{grid-template-columns:1fr}.pipeline-step{min-height:250px;border-right:1px solid var(--line)!important;border-top:1px solid var(--line)}.pipeline-step:first-of-type{border-top:0}.step-icon{height:62px}.pipeline-step small{bottom:18px}
  .preflight-copy h2,.benchmark-copy h2,.faq-intro h2{font-size:43px}.preflight-form{padding:30px 20px}.form-row{display:grid;gap:5px}.preflight-result{padding:23px 20px}.result-grid{grid-template-columns:1fr 1fr;gap:18px 0}.result-grid>div:nth-child(3){border-left:0;padding-left:0}.terminal-card{min-height:515px}
  .product-main,.product-specs{padding:31px 22px}.product-title-row{display:block}.price{margin-top:28px}.product-main .button{width:100%}.product-tags{margin-bottom:25px}.roadmap-heading{display:block}.roadmap-heading>p{text-align:left;margin-top:12px}.roadmap-grid{grid-template-columns:1fr}.roadmap-card{border-right:1px solid var(--line);border-top:1px solid var(--line)}.roadmap-card:first-child{border-top:0}
  .benchmark-panel{padding:0 20px 25px}.benchmark-tabs{gap:19px}.benchmark-foot{gap:10px}.benchmark-foot span{font-size:6px}.benchmark-stamp small{display:none}.coverage-grid{grid-template-columns:1fr}.coverage-card{min-height:235px}.report-preview{padding:10px 6px 40px}.report-body{grid-template-columns:53px 1fr}.report-content{padding:27px 20px}.report-content h3{font-size:24px}.file-chip{font-size:6px}.chip-b{right:-5px}.chip-c{left:30px}
  .limits-columns{grid-template-columns:1fr}.limits-columns article+article{border-left:0;border-top:1px solid rgba(0,0,0,.16)}.limits-columns article{padding:30px 24px}.cta-panel{min-height:440px;padding:0 20px}.cta-panel h2{font-size:53px}.final-cta{padding:70px 16px}.footer-links{grid-template-columns:1fr 1fr;gap:35px}.footer-bottom{display:grid}.footer-bottom span:last-child{display:none}.legal-hero h1{font-size:62px}.legal-section h2{font-size:32px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cursor-glow{display:none}[data-reveal]{opacity:1;transform:none}.metric-track i{width:var(--target)}
}
.legal-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:12px}
.legal-table th{text-align:left;font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#777c85;font-weight:500;padding:0 14px 9px 0;border-bottom:1px solid var(--line)}
.legal-table td{padding:12px 14px 12px 0;color:#9ca0a8;line-height:1.7;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
.legal-table td:first-child{color:#d0d3d8;white-space:nowrap;padding-right:22px}
.legal-table tr:last-child td{border-bottom:0}
.legal-table code{font-family:var(--mono);font-size:11px;color:#b8dce9}
@media (max-width:560px){.legal-table td:first-child{white-space:normal}}

/* ------------------------------------------------------------------------------------------------
   MÓVIL: LO QUE SE TOCA CON EL DEDO.
   Medido el 9 de septiembre de 2026 sobre el dominio con un ancho de 375: doce controles tenían menos
   de 32 px en alguna dimensión, y diez eran los enlaces del pie, de 19 px de alto y apilados. Un dedo
   no acierta en 19 px, y en el pie es donde viven términos, privacidad y el correo de contacto, que
   es justo lo que alguien busca cuando quiere reclamar algo. Se les da altura de toque sin tocar el
   tamaño de letra ni el diseño del escritorio.
   ------------------------------------------------------------------------------------------------ */
@media (max-width:820px){
  .footer-links a{margin:0;padding:12px 0;line-height:1.35}
  .footer-links a:hover{transform:none}
  /* Los perfiles van en fila y con más peso de selector, así que la regla de arriba no les llega sola. */
  .footer-links .footer-social a{padding:12px 0}
  /* El selector de idioma vive fuera de `.footer-links`, así que no le llegaba ninguna de las dos. */
  .lang-switch a{padding:12px 0}
  .form-disclaimer a,.legal-footer-note a,.faq-intro a{display:inline-block;padding:10px 0}
  /* Las pestañas del benchmark medían 30 px de ancho porque la palabra es corta; el alto ya era bueno. */
  .benchmark-tabs{gap:14px}
  .benchmark-tabs button{padding:0 12px}
}

/* Un dedo no tiene puntero: lo que solo aparece al pasar por encima no aparece nunca en un móvil. */
@media (hover:none){
  .footer-links a:hover{transform:none}
}

/* ------------------------------------------------------------------------------------------------
   LO QUE HACÍA QUE LA PÁGINA FUERA LENTA EN UN TELÉFONO, Y NO ERA EL PESO.
   Medido el 9 de septiembre de 2026. Después de bajar la página de 406 KB a 220 seguía yendo mal, y
   la causa no era la descarga sino el PINTADO. Tres cosas, en orden de daño:

   1. `.noise` ocupa `inset:-50%`, o sea CUATRO VECES la pantalla, lleva dentro una textura generada
      con un filtro de turbulencia SVG, y se anima con `.3s steps(2) infinite`: unas siete
      repintadas por segundo de esa superficie, para siempre, con una opacidad de 0,035 que casi no
      se ve. Es el que más cuesta con diferencia y el que menos aporta.
   2. Los dos `.ambient` son círculos de 500 y 600 px con `blur(100px)` y animación infinita. Cada
      fotograma vuelve a desenfocar una superficie enorme.
   3. La cabecera fija lleva `backdrop-filter:blur(18px)`, que se recalcula en CADA fotograma de
      scroll. Es la causa clásica de que «el scroll va a tirones».

   En un móvil se quedan los colores y la textura, quietos. El diseño de escritorio no se toca.
   ------------------------------------------------------------------------------------------------ */
@media (max-width:820px), (hover:none){
  .noise{animation:none}
  .ambient-one,.ambient-two{animation:none}
  /* El desenfoque baja de 100 a 60: sigue siendo una mancha de color y cuesta bastante menos. */
  .ambient{filter:blur(60px)}
  /* Sin `backdrop-filter`, con el mismo color pero más opaco para que el texto de debajo no se lea
     a través de la cabecera. */
  .site-header.is-scrolled{backdrop-filter:none;background:rgba(8,9,11,.94)}
  .scan-readout{backdrop-filter:none}
  /* Los halos grandes de las tarjetas también son desenfoques de 60 y 110 px. Quietos no molestan,
     pero se recortan porque en un móvil se apilan y se solapan. */
  .featured-product::before,.coverage-card::before{filter:blur(40px);opacity:.5}
}

/* Y lo mismo cuando alguien pide menos movimiento: el bloque de arriba acorta las animaciones a
   0,001 ms, que las para, pero NO quita los desenfoques, que siguen costando en cada scroll. */
@media (prefers-reduced-motion:reduce){
  .site-header.is-scrolled{backdrop-filter:none;background:rgba(8,9,11,.94)}
  .ambient{filter:blur(60px)}
}

/* RENDIMIENTO 2026-09-09
   La estética permanece, pero las superficies costosas dejan de repintarse durante toda la visita. */
.page-atmosphere{position:absolute;inset:0 0 auto;height:min(100vh,900px)}
.noise{animation:none;will-change:auto}
.ambient{animation:none;filter:blur(68px);will-change:auto}
.site-header.is-scrolled{backdrop-filter:none;background:rgba(8,9,11,.94)}
.scan-readout{backdrop-filter:none}

/* Las piezas continuas se activan desde app.js solo cuando el bloque está cerca de la pantalla. */
.radar-sweep,.core-orbit,.core-glow,.hero-scroll span,.live-pulse::after,.cta-radar i:nth-child(3){animation-play-state:paused}
.hero.is-visual-active .radar-sweep,
.hero.is-visual-active .core-orbit,
.hero.is-visual-active .core-glow,
.hero.is-visual-active .hero-scroll span,
.featured-product.is-visual-active .live-pulse::after,
.final-cta.is-visual-active .cta-radar i:nth-child(3){animation-play-state:running}

/* El progreso se mueve en el compositor, sin recalcular el ancho del documento en cada frame. */
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left center;will-change:transform}

/* El halo del cursor y el tilt por JavaScript mantenían una capa grande en movimiento constante. */
.cursor-glow{display:none}
[data-tilt]{transition:transform .28s ease,border-color .28s ease}
@media (hover:hover) and (pointer:fine){[data-tilt]:hover{transform:translateY(-2px)}}

/* El aviso de qué versión obliga. Va en la cabecera de las dos legales, debajo de la fecha, y en las
   traducciones dice lo mismo en su lengua: el castellano es el texto vinculante. Es la convención que ya
   siguen Colony y Nebula, y evita que una frase mal traducida cambie una obligación. */
.legal-vinculante{font-size:11px;line-height:1.6;color:var(--quiet);margin:14px 0 0;max-width:38ch}
