@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4084ce120da2621a-s.2x4a0-syw-9dj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/16d91c780434f2ce-s.p.0shchh0jtv0ui.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ef79401ea952b7f0-s.3t69pc-7h-e66.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8800dfc60902df36-s.p.3nasnllvo8ig4.woff2)format("woff2");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:Onest Fallback;src:local(Arial);ascent-override:92.2%;descent-override:28.99%;line-gap-override:0.0%;size-adjust:105.2%}.onest_f7e64b0c-module__jT37qW__className{font-family:Onest,Onest Fallback;font-style:normal}.onest_f7e64b0c-module__jT37qW__variable{--font-onest:"Onest", "Onest Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.p.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.p.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.p.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_47c354d2-module__ShSWla__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_47c354d2-module__ShSWla__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
.theme-toggle-module__KNGn7q__toggle{width:3rem;height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.theme-toggle-module__KNGn7q__toggle:active{transform:scale(.98)}.theme-toggle-module__KNGn7q__track{border:1px solid var(--line-strong);background:var(--surface-raised);width:2.55rem;height:1.55rem;transition:background-color var(--motion-fast) var(--ease-interface), border-color var(--motion-fast) var(--ease-interface);border-radius:999px;display:block;position:relative}.theme-toggle-module__KNGn7q__thumb{background:var(--ink);width:1.05rem;height:1.05rem;color:var(--paper);transition:color var(--motion-fast) var(--ease-interface), background-color var(--motion-fast) var(--ease-interface);border-radius:50%;place-items:center;display:grid;position:absolute;top:.18rem;left:.18rem}.theme-toggle-module__KNGn7q__thumb svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:.7rem;height:.7rem;transition:opacity var(--motion-fast) var(--ease-interface);position:absolute}.theme-toggle-module__KNGn7q__thumb svg path{fill:currentColor}.theme-toggle-module__KNGn7q__moon{opacity:0}html[data-theme=dark] .theme-toggle-module__KNGn7q__sun{opacity:0}html[data-theme=dark] .theme-toggle-module__KNGn7q__moon{opacity:1}@media (prefers-reduced-motion:reduce){.theme-toggle-module__KNGn7q__track,.theme-toggle-module__KNGn7q__thumb{transition:none}}
.site-header-module__XFbqWa__header{z-index:100;width:100%;padding-inline:var(--page-gutter);pointer-events:none;position:fixed;top:.75rem;left:0}.site-header-module__XFbqWa__shell{border:1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);background:color-mix(in srgb, var(--paper-solid) 76%, transparent);width:min(100%,88rem);height:3.75rem;box-shadow:0 .75rem 2.5rem color-mix(in srgb, var(--shadow) 11%, transparent);-webkit-backdrop-filter:blur(1.35rem)saturate(110%);backdrop-filter:blur(1.35rem)saturate(110%);pointer-events:auto;border-radius:1.1rem;grid-template-columns:auto 1fr auto;align-items:center;margin-inline:auto;padding-inline:1rem;display:grid;position:relative}.site-header-module__XFbqWa__brand{z-index:2;color:var(--ink);font-family:var(--font-display);letter-spacing:-.06em;align-items:center;min-width:2.75rem;min-height:2.75rem;font-size:1rem;font-weight:780;text-decoration:none;display:inline-flex;position:relative}.site-header-module__XFbqWa__brand span{color:var(--action)}.site-header-module__XFbqWa__navigation{justify-self:center}.site-header-module__XFbqWa__navLinks{align-items:center;gap:clamp(.85rem,2vw,1.6rem);display:flex}.site-header-module__XFbqWa__navLinks a,.site-header-module__XFbqWa__locale{color:var(--ink-muted);transition:color var(--motion-fast) var(--ease-interface);font-size:.78rem;font-weight:590;text-decoration:none}.site-header-module__XFbqWa__navLinks a{position:relative}.site-header-module__XFbqWa__navLinks a:hover,.site-header-module__XFbqWa__locale:hover,.site-header-module__XFbqWa__navLinks a[aria-current=location]{color:var(--action)}.site-header-module__XFbqWa__navLinks a[aria-current=location]:after{content:"";background:currentColor;border-radius:999px;height:2px;position:absolute;bottom:-.55rem;left:0;right:0}.site-header-module__XFbqWa__mobileNavigation{display:none}.site-header-module__XFbqWa__controls{z-index:2;align-items:center;gap:.35rem;display:flex;position:relative}.site-header-module__XFbqWa__locale{place-items:center;width:2.75rem;height:2.75rem;display:grid}.site-header-module__XFbqWa__contact,.site-header-module__XFbqWa__mobileContact a{background:var(--action);min-height:2.75rem;color:var(--paper-solid);transition:background-color var(--motion-fast) var(--ease-interface);border-radius:999px;align-items:center;padding:.1rem .85rem;font-size:.75rem;font-weight:660;text-decoration:none;display:inline-flex}.site-header-module__XFbqWa__contact:hover,.site-header-module__XFbqWa__mobileContact a:hover{background:var(--accent-coral)}.site-header-module__XFbqWa__brand:active,.site-header-module__XFbqWa__navLinks a:active,.site-header-module__XFbqWa__locale:active,.site-header-module__XFbqWa__contact:active,.site-header-module__XFbqWa__mobileContact a:active,.site-header-module__XFbqWa__menuButton:active{transform:scale(.98)}.site-header-module__XFbqWa__menuButton,.site-header-module__XFbqWa__mobileContact{display:none}@media (max-width:56rem){.site-header-module__XFbqWa__shell{grid-template-columns:auto 1fr}.site-header-module__XFbqWa__navigation{display:none}.site-header-module__XFbqWa__mobileNavigation{border:1px solid var(--line);background:var(--paper);box-shadow:0 1.2rem 3rem color-mix(in srgb, var(--shadow) 14%, transparent);transform-origin:100% 0;border-radius:1.25rem;gap:1.5rem;padding:1.25rem;display:grid;position:absolute;top:calc(100% + .5rem);left:0;right:0}.site-header-module__XFbqWa__navLinks{flex-direction:column;align-items:stretch;gap:0}.site-header-module__XFbqWa__navLinks a{border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:-.04em;padding:.8rem 0;font-size:clamp(1.25rem,5vw,1.7rem)}.site-header-module__XFbqWa__navLinks a[aria-current=location]:after{width:2.5rem;bottom:.35rem;right:auto}.site-header-module__XFbqWa__controls{justify-self:end}.site-header-module__XFbqWa__contact{display:none}.site-header-module__XFbqWa__mobileContact,.site-header-module__XFbqWa__mobileContact a{justify-content:center;width:100%;display:flex}.site-header-module__XFbqWa__menuButton{cursor:pointer;background:0 0;border:0;place-content:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.site-header-module__XFbqWa__menuButton span{background:var(--ink);width:1.15rem;height:1px;transition:transform var(--motion-fast) var(--ease-interface);margin:.16rem;display:block}.site-header-module__XFbqWa__header[data-menu-open=true] .site-header-module__XFbqWa__menuButton span:first-child{transform:translateY(.24rem)rotate(45deg)}.site-header-module__XFbqWa__header[data-menu-open=true] .site-header-module__XFbqWa__menuButton span:last-child{transform:translateY(-.24rem)rotate(-45deg)}}@media (prefers-reduced-motion:no-preference){.site-header-module__XFbqWa__shell{animation:site-header-module__XFbqWa__headerSignalEnter .62s var(--ease-signal) both}}@keyframes site-header-module__XFbqWa__headerSignalEnter{0%{opacity:0;transform:translateY(-.7rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-transparency:reduce){.site-header-module__XFbqWa__shell,.site-header-module__XFbqWa__mobileNavigation{background:var(--paper-solid);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.site-header-module__XFbqWa__shell,.site-header-module__XFbqWa__mobileNavigation{background:color-mix(in srgb, var(--paper-solid) 96%, transparent);border-color:var(--line-strong)}.site-header-module__XFbqWa__navLinks a[aria-current=location]:after{height:3px}}@media (prefers-reduced-motion:reduce){.site-header-module__XFbqWa__menuButton span{transition:none}}
:root{--font-sans:var(--font-onest), "Arial", sans-serif;--font-display:var(--font-onest), "Arial", sans-serif;--font-mono:var(--font-ibm-plex-mono), "Consolas", monospace;--ease-signal:cubic-bezier(.16, 1, .3, 1);--ease-interface:cubic-bezier(.4, 0, .2, 1);--motion-fast:.18s;--motion-medium:.52s;--motion-slow:.76s;--paper:#f5f5f7;--paper-solid:#fff;--ink:#1d1d1f;--ink-muted:#6e6e73;--ink-faint:#86868b;--surface-soft:#e8e8ed;--surface-raised:#fff;--line:#00000014;--line-strong:#00000029;--shadow:#0000000f;--action:#0071e3;--metal:#86868b;--accent-violet:#0071e3;--accent-blue:#2997ff;--accent-coral:#ff3b30;--accent-sun:#ff9500;--accent-lime:#34c759;--accent-teal:#30b0c7;--focus-ring:#0071e3;--page-gutter:clamp(1rem, 4vw, 4.5rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--paper:#000;--paper-solid:#161617;--ink:#f5f5f7;--ink-muted:#86868b;--ink-faint:#6e6e73;--surface-soft:#1c1c1e;--surface-raised:#2c2c2e;--line:#ffffff1f;--line-strong:#ffffff38;--shadow:#00000080;--action:#2997ff;--metal:#86868b;--accent-violet:#2997ff;--accent-blue:#0077ed;--accent-coral:#ff453a;--accent-sun:#ff9f0a;--accent-lime:#30d158;--accent-teal:#40c8e0;--focus-ring:#2997ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;text-rendering:optimizelegibility;min-width:20rem}body{background:radial-gradient(circle at 84% -10%, color-mix(in srgb, var(--accent-violet) 15%, transparent), transparent 32rem), radial-gradient(circle at 4% 42rem, color-mix(in srgb, var(--accent-coral) 9%, transparent), transparent 28rem), var(--paper);min-width:20rem;min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,h4{font-family:var(--font-display)}code,kbd,samp{font-family:var(--font-mono)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 76%, transparent);outline-offset:3px}::selection{background:color-mix(in srgb, var(--accent-violet) 28%, transparent)}::view-transition-old(root){animation-duration:.18s;animation-timing-function:ease-out}::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}[id]{scroll-margin-top:6rem}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);transition:transform var(--motion-fast) var(--ease-interface);border-radius:999px;padding:.7rem 1rem;font-size:.8rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:.01ms}::view-transition-new(root){animation-duration:.01ms}html{scroll-behavior:auto}.skip-link{transition:none}a:active,button:active{transform:none!important}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--ink-muted:#454547;--ink-faint:#5e5e62;--line:#00000038;--line-strong:#0000006b}html[data-theme=dark]{--ink-muted:#c7c7cc;--ink-faint:#aeaeb2;--line:#ffffff47;--line-strong:#ffffff7a}a:focus-visible,button:focus-visible{outline-width:4px}}
