@font-face{font-family:Archivo;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2)format("woff2");font-weight:500 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--font-display:"Archivo", system-ui, "Segoe UI", Arial, sans-serif;--font-body:"IBM Plex Sans", system-ui, "Segoe UI", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--ease:cubic-bezier(.22, .7, .18, 1);--radius:2px;--nav-h:72px;--bg:#f4f5f6;--bg-sunken:#e8ebee;--surface:#fbfcfc;--ink:#16222e;--ink-body:#3a4753;--ink-muted:#55626e;--line:#16222e1f;--accent:#2871be;--accent-strong:#1f5f9f;--accent-text:#1f68b0;--accent-tint:#dfe9f4;--on-accent:#f8fafc;--focus:#1f68b0;--shadow-tint:12 25 37;--logo-filter:none;--watermark-opacity:.06;--deep:#16222e;--deeper:#0c1925;--bp-1:#17406b;--bp-2:#0d2845;--hero-halo:77 166 255 / .3;--on-deep:#f3f6f9;--on-deep-2:#b4c1cc;--on-deep-3:#8d9ca9;--line-deep:#ffffff1a;--blue-soft:#7db8f2;--amber:#e8a33d;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1620;--bg-sunken:#0f1d29;--surface:#132433;--ink:#eef2f6;--ink-body:#b9c5cf;--ink-muted:#92a1ae;--line:#ffffff1a;--accent-text:#7db8f2;--accent-tint:#17314a;--focus:#7db8f2;--shadow-tint:0 0 0;--logo-filter:brightness(0) invert(1);--watermark-opacity:.05;--deep:#070f17;--deeper:#04090f;--bp-1:#0e2a47;--bp-2:#08182a;--hero-halo:77 166 255 / .22}}:root[data-theme=dark]{--bg:#0b1620;--bg-sunken:#0f1d29;--surface:#132433;--ink:#eef2f6;--ink-body:#b9c5cf;--ink-muted:#92a1ae;--line:#ffffff1a;--accent-text:#7db8f2;--accent-tint:#17314a;--focus:#7db8f2;--shadow-tint:0 0 0;--logo-filter:brightness(0) invert(1);--watermark-opacity:.05;--deep:#070f17;--deeper:#04090f;--bp-1:#0e2a47;--bp-2:#08182a;--hero-halo:77 166 255 / .22}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.theme-toggle .tt-sun{display:none}:root[data-theme=dark] .theme-toggle .tt-sun{display:inline-flex}:root[data-theme=dark] .theme-toggle .tt-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .tt-sun{display:inline-flex}:root:not([data-theme=light]) .theme-toggle .tt-moon{display:none}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5;overflow-x:clip}img,svg{max-width:100%;display:block}img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;user-select:none}a{color:inherit;text-decoration:none}ul{list-style:none}p{text-wrap:pretty}::selection{color:#fff;background:#2871be}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius)}.on-deep{--focus:var(--blue-soft)}.container{width:100%;max-width:min(1480px,92vw);padding-inline:max(40px, env(safe-area-inset-left)) max(40px, env(safe-area-inset-right));margin-inline:auto}@media (width<=880px){.container{padding-inline:max(24px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-right))}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius);background:var(--ink);color:var(--bg);padding:12px 18px;font-weight:600;position:fixed;top:12px;left:12px}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}html.lang-restore body{opacity:0;animation:10ms 1.5s forwards lang-restore-failsafe}@keyframes lang-restore-failsafe{to{opacity:1}}.h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;font-size:clamp(1.875rem,3.6vw,2.875rem);font-weight:800;line-height:1.05}.eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text);margin-bottom:18px;font-size:.75rem;font-weight:500;display:block}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.icon{flex:none;display:inline-flex}.btn{border-radius:var(--radius);white-space:nowrap;transition:background-color .25s ease, border-color .25s ease, transform .25s var(--ease);border:1px solid #0000;align-items:center;gap:.6rem;padding:.95rem 1.75rem;font-size:.9375rem;font-weight:600;line-height:1;display:inline-flex}.btn .icon{transition:transform .3s var(--ease)}.btn:active{transform:translateY(1px)scale(.985)}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--ghost{color:var(--on-deep);backdrop-filter:blur(6px);background:#ffffff1a;border-color:#ffffff4d}@media (hover:hover){.btn--primary:hover{background:var(--accent-strong)}.btn--ghost:hover{background:#ffffff2e}.btn:hover .icon{transform:translate(3px)}.btn:hover .btn__icon--tilt{transform:rotate(-14deg)scale(1.12)}}@media (prefers-reduced-transparency:reduce){.btn--ghost{backdrop-filter:none;background:#0c1925b3}}.tw-rest{color:#0000}.tw-cursor{width:0;height:1em;display:inline-block;position:relative}.tw-cursor:before{content:"_";color:var(--accent-text);font-weight:600;line-height:1;animation:1.05s step-end infinite tw-blink;position:absolute;bottom:-.05em;left:1px}.is-typing .tw-cursor:before{animation:none}@keyframes tw-blink{50%{opacity:0}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease) calc(var(--d,0) * 80ms), transform .8s var(--ease) calc(var(--d,0) * 80ms);transform:translateY(24px)}.js [data-reveal].is-in{opacity:1;transform:none}}
