:root{--blue:#06f;--blue-hi:#4d94ff;--blue-deep:#0a2a6b;--blue-glow:#0066ff8c;--bg:#0f131a;--bg-deep:#090c11;--panel:#141922;--anthracite:#1e2430;--line:#aab2bd24;--line-strong:#aab2bd47;--grey:#aab2bd;--grey-dim:#6b7482;--white:#f7f9fc;--font-display:var(--font-oxanium), "Oxanium", system-ui, sans-serif;--font-body:var(--font-montserrat), "Montserrat", system-ui, sans-serif;--gutter:clamp(16px, 4vw, 64px);--maxw:1600px;--nav-h:76px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--mx:50vw;--my:40vh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg-deep)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--bg);min-height:100svh;color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;font-weight:400;line-height:1.6;overflow-x:clip}body.is-loading{overflow:hidden}img,svg,canvas,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}::selection{background:var(--blue);color:var(--white)}:focus-visible{outline:2px solid var(--blue-hi);outline-offset:3px;border-radius:2px}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--grey);font-size:11px;font-weight:600;line-height:1.4}.kicker{flex-direction:column;gap:12px;display:inline-flex}.kicker:after{content:"";background:var(--blue);width:44px;height:2px;box-shadow:0 0 12px var(--blue-glow)}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;font-weight:700;line-height:.92}.blue{color:var(--blue)}.led{background:var(--blue);height:2px;box-shadow:0 0 6px #0066ffe6,0 0 22px #0066ff8c,0 0 60px #0066ff4d}.btn{--h:54px;height:var(--h);font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));transition:background-color .35s var(--ease-out), color .35s var(--ease-out), box-shadow .35s var(--ease-out);isolation:isolate;align-items:center;gap:14px;padding:0 26px;font-size:12px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn svg{width:16px;height:16px;transition:transform .45s var(--ease-out);flex:none}.btn:hover svg{transform:translate(4px)}.btn--blue{background:var(--blue);color:var(--white)}.btn--blue:before{content:"";z-index:-1;transition:transform .8s var(--ease-out);background:linear-gradient(105deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn--blue:hover:before{transform:translate(120%)}.btn--blue:hover{box-shadow:0 0 40px #0066ff8c}.btn--ghost{color:var(--white);box-shadow:inset 0 0 0 1px var(--line-strong);background:#f7f9fc0a}.btn--ghost:hover{background:#f7f9fc17}.btn--white{background:var(--white);color:var(--bg)}.stripes{pointer-events:none;background:linear-gradient(135deg, transparent 0 46%, var(--blue) 46% 52%, transparent 52% 60%, #0066ff8c 60% 64%, transparent 64%);opacity:.9;width:180px;height:180px;position:absolute}.grain{z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{display:none}}
