.site-header[data-astro-cid-fzpbxy5g]{z-index:var(--z-header);background-color:var(--surface);border-block-end:var(--hairline) solid var(--rule);position:sticky;inset-block-start:0}.site-header__inner[data-astro-cid-fzpbxy5g]{align-items:flex-start;gap:var(--space-2);padding-block:var(--space-3);min-height:var(--header-height);flex-direction:column;display:flex}.lockup[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-3);color:var(--text);min-height:var(--touch-target);text-decoration:none;display:flex}.lockup__mark[data-astro-cid-fzpbxy5g]{flex:none;display:flex}.lockup__mark[data-astro-cid-fzpbxy5g] svg{width:auto;height:28px;display:block}.lockup__wordmark[data-astro-cid-fzpbxy5g]{height:calc(var(--step-0) * .77707);flex:none;width:auto}.site-nav__list[data-astro-cid-fzpbxy5g]{gap:var(--space-2) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{min-height:var(--touch-target);color:var(--text-secondary);font-size:var(--step-0);transition:color var(--dur-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover{color:var(--text);text-decoration:underline;text-decoration-thickness:var(--hairline);text-underline-offset:var(--space-1)}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--text)}@media (width>=768px){.site-header__inner[data-astro-cid-fzpbxy5g]{justify-content:space-between;align-items:center;gap:var(--space-8);flex-direction:row;padding-block:0}.site-nav__list[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-6);display:flex}}.site-footer[data-astro-cid-nns7i3if]{background-color:var(--surface-sunken);border-block-start:var(--hairline) solid var(--rule);color:var(--text-secondary);margin-block-start:auto}.site-footer__inner[data-astro-cid-nns7i3if]{padding-block:var(--space-12);gap:var(--space-8);flex-direction:column;display:flex}.site-footer__columns[data-astro-cid-nns7i3if]{gap:var(--space-8);flex-direction:column;display:flex}.company[data-astro-cid-nns7i3if]{font-style:normal;font-size:var(--step--1);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure)}.footer-nav__list[data-astro-cid-nns7i3if]{gap:var(--space-2);flex-direction:column;margin:0;padding:0;display:flex}.footer-nav[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if],.contact[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{min-height:var(--touch-target);color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:var(--hairline);text-underline-offset:var(--space-1);font-size:var(--step--1);transition:color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.footer-nav[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover,.contact[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--text);text-decoration-color:var(--accent-hover);text-decoration-thickness:var(--focus-width)}.colophon[data-astro-cid-nns7i3if]{font-size:var(--step--1);color:var(--text-secondary);max-width:none;margin:0}@media (width>=768px){.site-footer__columns[data-astro-cid-nns7i3if]{gap:var(--gutter);grid-template-columns:2fr 1fr 1fr;align-items:start;display:grid}.footer-nav__list[data-astro-cid-nns7i3if]{gap:0}}*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%;line-height:1.6}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,pre{margin:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}h1,h2,h3,h4{text-wrap:balance}p,li{text-wrap:pretty}img,svg,video,canvas,picture{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}table{border-collapse:collapse;border-spacing:0}:root{--surface:#0f172a;--surface-raised:#1a2337;--surface-sunken:#0a0f1c;--rule:#253048;--rule-strong:#35425e;--text:#fff;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#085eff;--accent-text:#3c92ff;--accent-hover:#297fff;--live:#38bdf8;--light-surface:#fff;--light-surface-alt:#f5f7fa;--light-text:#374151;--light-rule:#e2e8f0;--focus:var(--live);--font-sans:"Inter Variable", Inter, "Inter fallback Segoe UI", "Inter fallback Arial", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--step--1:.833rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.563rem;--step-3:1.953rem;--step-4:2.441rem;--step-5:3.052rem;--step-6:3.815rem;--step-4-fluid:clamp(1.953rem, calc(1.6602rem + .976vw), 2.441rem);--step-5-fluid:clamp(2.441rem, calc(2.0744rem + 1.222vw), 3.052rem);--step-6-fluid:clamp(3.052rem, calc(2.5942rem + 1.526vw), 3.815rem);--leading-display:1.1;--leading-body:1.6;--measure:42.766em;--tracking-mono:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-base:.3s;--dur-slow:.6s;--max-width:1280px;--frame-width:1440px;--gutter:24px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--hairline:1px;--focus-width:2px;--touch-target:44px;--z-header:10;--header-height:calc((var(--touch-target) * 3) + (var(--space-2) * 2) + (var(--space-3) * 2))}@media (width>=768px){:root{--header-height:var(--space-16)}}[data-theme=light],.theme-light{--surface:#fff;--surface-raised:#f5f7fa;--surface-sunken:#f5f7fa;--rule:#e2e8f0;--rule-strong:#94a3b8;--text:#374151;--text-secondary:#5b6878;--text-muted:#64748b;--accent:#085eff;--accent-text:#085eff;--accent-hover:#085eff;--live:#085eff;--focus:#085eff}@font-face{font-family:Inter fallback Segoe UI;src:local(Segoe UI);size-adjust:105.797%;ascent-override:91.591%;descent-override:22.78%;line-gap-override:0%}@font-face{font-family:Inter fallback Arial;src:local(Arial);size-adjust:106.57%;ascent-override:90.926%;descent-override:22.614%;line-gap-override:0%}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-normal.BwkfbSeq.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@view-transition{navigation:auto}html{line-height:var(--leading-body);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-8))}body{background-color:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-optical-sizing:auto;font-weight:400;line-height:var(--leading-body);flex-direction:column;min-height:100vh;display:flex}.theme-light{background-color:var(--surface);color:var(--text)}h1,h2,h3,h4{overflow-wrap:break-word}h1{font-size:var(--step-5-fluid);font-weight:700;line-height:var(--leading-display);letter-spacing:-.02em}h2{font-size:var(--step-4-fluid);font-weight:600;line-height:var(--leading-display);letter-spacing:-.015em}h3{font-size:var(--step-2);font-weight:500;line-height:1.25}h4{font-size:var(--step-1);font-weight:500;line-height:1.3}p,li,dd,blockquote{max-width:var(--measure)}a{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:var(--hairline);text-underline-offset:var(--space-1);transition:color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out)}a:hover{color:var(--accent-hover);text-decoration-color:var(--accent);text-decoration-thickness:var(--focus-width)}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--space-1);border-radius:0}header,footer,main,section,nav,ul,li{overflow:visible}.u-mono{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:400;line-height:1.4}.u-tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.u-visually-hidden{width:var(--hairline);height:var(--hairline);margin:calc(var(--hairline) * -1);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.page-stack{gap:var(--space-16);padding-block:var(--space-16) var(--space-24);flex-direction:column;display:flex}.prose{gap:var(--space-6);flex-direction:column;display:flex}.grid{gap:var(--gutter);width:100%;max-width:calc(var(--max-width) + var(--gutter) + var(--gutter));padding-inline:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));margin-inline:auto;display:grid}.container{width:100%;max-width:calc(var(--max-width) + var(--gutter) + var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--frame{max-width:calc(var(--frame-width) + var(--gutter) + var(--gutter))}.rule{border:0;border-block-start:var(--hairline) solid var(--rule);width:100%;margin:0}.rule--strong{border-block-start-color:var(--rule-strong)}.panel{background-color:var(--surface-raised);border:var(--hairline) solid var(--rule);padding:var(--space-6)}.well{background-color:var(--surface-sunken);border:var(--hairline) solid var(--rule);padding:var(--space-6)}.skip-link{z-index:calc(var(--z-header) + 1);padding:var(--space-3) var(--space-4);background-color:var(--surface-raised);color:var(--text);border:var(--hairline) solid var(--rule-strong);transition:transform var(--dur-fast) var(--ease-out);text-decoration:none;position:fixed;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}@media (width>=768px){.page-stack{gap:var(--space-24);padding-block:var(--space-24) var(--space-32)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
