html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Satoshi;--mat-sys-body-large-font: Satoshi;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Satoshi;--mat-sys-body-medium-font: Satoshi;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Satoshi;--mat-sys-body-small-font: Satoshi;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Satoshi;--mat-sys-display-large-font: Satoshi;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Satoshi;--mat-sys-display-medium-font: Satoshi;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Satoshi;--mat-sys-display-small-font: Satoshi;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Satoshi;--mat-sys-headline-large-font: Satoshi;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Satoshi;--mat-sys-headline-medium-font: Satoshi;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Satoshi;--mat-sys-headline-small-font: Satoshi;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Satoshi;--mat-sys-label-large-font: Satoshi;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Satoshi;--mat-sys-label-medium-font: Satoshi;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Satoshi;--mat-sys-label-small-font: Satoshi;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Satoshi;--mat-sys-title-large-font: Satoshi;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Satoshi;--mat-sys-title-medium-font: Satoshi;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Satoshi;--mat-sys-title-small-font: Satoshi;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--bp-bg: #0a0e17;--bp-surface: #0f1523;--bp-card: #121a2b;--bp-ink: #e8edf7;--bp-muted: #9aa6bd;--bp-faint: #6b7690;--bp-line: rgba(230, 238, 250, .1);--bp-line-strong: rgba(230, 238, 250, .18);--bp-accent: #4c82f7;--bp-accent-ink: #06122b;--bp-cyan: #34d3ee;--bp-glow: rgba(76, 130, 247, .4);--bp-grid: rgba(230, 238, 250, .035);--bp-radius: 4px;--bp-ember: #ff8a3d;--bp-ember-dim: rgba(255, 138, 61, .14);--bp-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--bp-display: "Clash Display", "Satoshi", system-ui, sans-serif;--fs-d1: clamp(3rem, 8.5vw, 7rem);--fs-d2: clamp(2.25rem, 5vw, 4rem);--fs-d3: clamp(1.5rem, 2.6vw, 2.25rem);--fs-lead: clamp(1.05rem, 1.5vw, 1.3rem);--fs-body: 1rem;--fs-sm: .875rem;--fs-mono: .72rem;--sp-section: clamp(5rem, 10vw, 9rem);--sp-gutter: clamp(1.25rem, 5vw, 4rem);--w-max: 1240px;--w-prose: 68ch;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur: .32s;--dur-slow: .7s;--grid-size: 46px;color-scheme:dark;--mat-sys-primary: #4c82f7;--mat-sys-on-primary: #06122b;--mat-sys-primary-container: #16233f;--mat-sys-on-primary-container: #cfe0ff;--mat-sys-tertiary: #34d3ee;--mat-sys-on-tertiary: #05161b;--mat-sys-surface: #0a0e17;--mat-sys-on-surface: #e8edf7;--mat-sys-on-surface-variant: #9aa6bd;--mat-sys-surface-container-low: #0f1523;--mat-sys-surface-container: #121a2b;--mat-sys-surface-container-high: #0d1220;--mat-sys-outline: rgba(230, 238, 250, .24);--mat-sys-outline-variant: rgba(230, 238, 250, .12)}html:not(.lenis){scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{color-scheme:dark;margin:0;min-height:100%;background-color:var(--bp-bg);color:var(--bp-ink);font-family:Satoshi,system-ui,-apple-system,sans-serif;font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 12% -5%,color-mix(in srgb,var(--bp-accent) 16%,transparent),transparent 42%),radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--bp-cyan) 9%,transparent),transparent 38%),linear-gradient(var(--bp-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bp-grid) 1px,transparent 1px);background-size:100% 100%,100% 100%,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size);background-position:0 0,0 0,center top,center top}*{box-sizing:border-box}::selection{background:color-mix(in srgb,var(--bp-accent) 40%,transparent);color:#fff}:where(section[id],a[id]){scroll-margin-top:92px}h1,h2,h3,h4{font-family:var(--bp-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;color:var(--bp-ink);margin:0}h1{font-size:var(--fs-d1);letter-spacing:-.035em;line-height:.94}h2{font-size:var(--fs-d2);letter-spacing:-.03em;line-height:1.02}h3{font-size:var(--fs-d3)}h1,h2{text-wrap:balance}p{text-wrap:pretty}a{color:inherit}.shell{width:100%;max-width:var(--w-max);margin-inline:auto;padding-inline:var(--sp-gutter)}.band{padding-block:var(--sp-section);position:relative}.band--alt{background:linear-gradient(180deg,transparent,var(--bp-surface) 12% 88%,transparent)}.kicker{display:inline-block;font-family:var(--bp-mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--bp-cyan)}.kicker:before{content:"// ";color:color-mix(in srgb,var(--bp-cyan) 55%,transparent)}.section-num{font-family:var(--bp-mono);font-size:var(--fs-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--bp-faint)}.grad{background:linear-gradient(100deg,var(--bp-accent),var(--bp-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.measure{max-width:var(--w-prose)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,var(--bp-line-strong) 18% 82%,transparent)}.btn-lg{height:50px;padding:0 1.7rem;font-size:.98rem;font-weight:500;border-radius:var(--bp-radius);letter-spacing:.01em}.btn-lg mat-icon{margin-left:.4rem}mat-icon{overflow:visible}.js-motion [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.js-motion [data-reveal].is-revealed{opacity:1;transform:none;will-change:auto}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .18s var(--ease-out) both}::view-transition-new(root){animation:vt-in .32s var(--ease-out) 80ms both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translate3d(0,10px,0)}}app-header{view-transition-name:site-header}::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.platform-menu.mat-mdc-menu-panel{min-width:17rem;border:1px solid var(--bp-line-strong);border-radius:var(--bp-radius);background:color-mix(in srgb,var(--bp-card) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 60px -24px #000000e6}.platform-menu.mat-mdc-menu-panel .mat-mdc-menu-item{height:auto;min-height:0;padding-block:.75rem}.platform-menu.mat-mdc-menu-panel .mat-mdc-menu-item-text{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;line-height:1.35}.platform-menu__name{display:block;font-family:var(--bp-display);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--bp-ink)}.platform-menu__caption{display:block;font-family:var(--bp-mono);font-size:.64rem;letter-spacing:.05em;line-height:1.3;color:var(--bp-faint);white-space:normal}.platform-menu__all,.mobile-menu__divide{border-top:1px solid var(--bp-line);margin-top:.35rem}:focus-visible{outline:2px solid var(--bp-accent);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:50%;top:0;translate:-50% -150%;z-index:200;padding:.75rem 1.25rem;background:var(--bp-accent);color:var(--bp-accent-ink);font-weight:600;border-radius:0 0 var(--bp-radius) var(--bp-radius);transition:translate var(--dur) var(--ease-out)}.skip-link:focus-visible{translate:-50% 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.js-motion [data-reveal]{opacity:1;transform:none}}
