:root{
  --bg:#040609;--bg-soft:#070a0f;--panel:#090d13;--panel-hi:#0e141d;
  --text:#f5f7fb;--muted:#8d96a4;--soft:#c3cad4;--line:rgba(255,255,255,.095);
  --line-hi:rgba(255,255,255,.17);--blue:#168cff;--blue-2:#6ccaff;--max:1480px;
  --radius:18px;--header-h:92px;--shadow:0 30px 90px rgba(0,0,0,.44)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px);background:var(--bg)}
body{margin:0;padding-top:var(--header-h);background:
  radial-gradient(circle at 73% 11%,rgba(0,105,255,.085),transparent 24%),
  radial-gradient(circle at 12% 42%,rgba(0,136,255,.025),transparent 19%),
  linear-gradient(180deg,#020408 0%,#06090f 54%,#040609 100%);
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img,video{max-width:100%}
::selection{background:#0b78f3;color:white}
[id]{scroll-margin-top:calc(var(--header-h) + 18px)}
.page-noise{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.011) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
.shell{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.section{padding:128px 0}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;line-height:1;letter-spacing:.25em;text-transform:uppercase;color:#b9c2cf}.eyebrow>span:first-child{width:5px;height:5px;background:var(--blue);transform:rotate(45deg);box-shadow:0 0 14px rgba(22,140,255,.78)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:50px;padding:0 25px;border:1px solid var(--line-hi);font-size:10px;font-weight:720;letter-spacing:.15em;text-transform:uppercase;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}
.button-primary{background:linear-gradient(135deg,#0d65df,#168cff 58%,#259eff);border-color:rgba(70,173,255,.72);box-shadow:0 16px 40px rgba(0,104,255,.18),inset 0 1px rgba(255,255,255,.20)}.button-primary:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(0,104,255,.25),inset 0 1px rgba(255,255,255,.24)}
.text-link{display:inline-flex;gap:14px;align-items:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#dce4ef}.text-link b,.section-link b{color:var(--blue)}
:focus-visible{outline:1px solid var(--blue-2);outline-offset:4px}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#040609}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#232b36 0 10%,#0e7bf4 34%,#58c2ff 52%,#0a70dc 76%,#202934 100%);border-radius:0;box-shadow:0 0 14px rgba(19,132,255,.48)}*{scrollbar-width:thin;scrollbar-color:#168cff #040609}

/* v14.7.1 viewport guard */
@supports (overflow:clip){html,body{overflow-x:clip}}


/* v14.8.1 — adaptive readable typography foundation */
:root{
  /* Fluid typography: gentle growth from laptop -> FHD -> 2K/4K. */
  --fs-micro:clamp(11.5px,calc(10.9px + .045vw),12.6px);
  --fs-label:clamp(12.2px,calc(11.35px + .060vw),13.7px);
  --fs-small:clamp(13.3px,calc(12.15px + .085vw),15.1px);
  --fs-body:clamp(15px,calc(13.55px + .125vw),17.6px);
  --fs-body-lg:clamp(15.8px,calc(14.25px + .135vw),18.4px);
  --fs-control:clamp(12.5px,calc(11.55px + .070vw),14.1px);
  --fs-nav:clamp(12px,calc(11.10px + .065vw),13.6px);
}
body{font-size:var(--fs-body)}
.eyebrow{font-size:var(--fs-label);line-height:1.15;letter-spacing:.19em}
.button{font-size:var(--fs-control);letter-spacing:.12em}
.text-link{font-size:var(--fs-control);letter-spacing:.11em}


/* v14.10.3 — stop decorative rendering while tab is hidden */
html.is-page-hidden .electric-impact,html.is-page-hidden .impact-spark-canvas{display:none!important}
