@font-face{font-family:sans;src:url(/_next/static/media/e10ba5e1187d4228-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:sans;src:url(/_next/static/media/79113aa447021756-s.p.woff2) format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.00%;size-adjust:101.13%}.__className_53d6ac{font-family:sans,sans Fallback,system-ui,Helvetica Neue,Arial,sans-serif}.__variable_53d6ac{--font-sans:"sans","sans Fallback",system-ui,Helvetica Neue,Arial,sans-serif}@font-face{font-family:mono;src:url(/_next/static/media/85193435a02d88ed.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}.__className_2eba72{font-family:mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:400;font-style:normal}.__variable_2eba72{--font-mono:"mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@font-face{font-family:"serif";src:url(/_next/static/media/b57314e97314b53d-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:"serif";src:url(/_next/static/media/75c2d351543dbc00-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:"serif Fallback";src:local("Times New Roman");ascent-override:88.00%;descent-override:23.61%;line-gap-override:0.00%;size-adjust:116.47%}.__className_919323{font-family:"serif","serif Fallback",Georgia,Times New Roman,serif}.__variable_919323{--font-serif:"serif","serif Fallback",Georgia,Times New Roman,serif}:root{color-scheme:light;--ink:#111111;--paper:#f6f5f1;--rule:#d9d6ce;--muted:#5e5c57;--accent:#2b3fe0;--on-accent:#ffffff;--accent-text:#2b3fe0;--field:#ecebe5;--band:#0f1115;--band-ink:#ecebe6;--band-muted:#9c9a93;--band-accent:#8c9bff;--window:#15171b;--window-ink:#d8d8d2;--window-dim:#8a8c87;--window-rule:#2a2d33;--window-accent:#8c9bff;--ok:#7bd88f;--sans:var(--font-sans),system-ui,sans-serif;--serif:var(--font-serif),Georgia,serif;--mono:var(--font-mono),ui-monospace,monospace;--ease-draw:cubic-bezier(0.2,0.7,0.2,1);--t-fade:200ms;--t-hover:120ms;--occluded:#fe6c02;--gutter:16px;--max:1200px;--col-gap:24px;--t-xs:0.75rem;--t-sm:0.875rem;--t-base:1.0625rem;--t-lg:1.3125rem;--t-xl:clamp(1.5rem,1.2rem + 1.2vw,1.75rem);--t-h2:clamp(2rem,1.4rem + 2.2vw,3.25rem);--t-hero:clamp(2.75rem,1.6rem + 6vw,6.5rem);--section:clamp(72px,4rem + 4vw,112px);--band-pad:clamp(64px,3rem + 4vw,96px);--scrim-light:0.8;--scrim-dark:0.86;--overlap:clamp(56px,2rem + 4vw,96px)}:root:has(#theme:checked),:root[data-theme=dark]{color-scheme:dark;--ink:#ecebe6;--paper:#121212;--rule:#2a2a28;--muted:#9c9a93;--accent-text:#8c9bff;--field:#1a1a1a;--band:#0b0c0e}@media (min-width:768px){:root{--gutter:32px}}*,:after,:before{box-sizing:border-box}:root{--bar-top:0px;--bar-bottom:calc(56px + env(safe-area-inset-bottom))}@media (min-width:960px){:root{--bar-top:68px;--bar-bottom:0px}}html{text-size-adjust:100%;scroll-padding-top:calc(var(--bar-top) + 16px);scroll-padding-bottom:var(--bar-bottom)}html:has(#site-menu:popover-open){overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;padding-bottom:var(--bar-bottom)}body,figure,h1,h2,h3,p,pre{margin:0}a{color:var(--accent-text);text-underline-offset:.2em}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.mono{font-family:var(--mono)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;animation-timeline:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.section{margin-top:var(--section)}.eyebrow{font-family:var(--mono);font-size:var(--t-sm);color:var(--muted);margin-bottom:20px}.eyebrow-num{color:var(--accent-text)}.h2{font-family:var(--serif);font-size:var(--t-h2);font-weight:400;line-height:1.08;letter-spacing:-.01em;max-width:20ch;text-wrap:balance}.h1 em,.h2 em{font-style:italic;color:var(--accent-text)}.lede{color:var(--muted);max-width:52ch;margin-top:24px}.prose>*+*{margin-top:.9em}code{font-family:var(--mono);font-size:.9em}.btn{display:inline-block;font:inherit;font-size:1rem;font-weight:600;line-height:1.25;padding:13px 20px;border:1px solid transparent;border-radius:0;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover{background:#1f30b8}.btn-outline{color:var(--ink);border-color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--paper)}.btn-on-accent{background:var(--on-accent);color:var(--accent)}.btn-on-accent:hover{background:#e4e7ff}.btn-on-accent-outline{color:var(--on-accent);border-color:var(--on-accent)}.btn-on-accent-outline:hover{background:rgb(255 255 255/.12)}.consent{position:fixed;bottom:calc(var(--bar-bottom) + var(--gutter));left:var(--gutter);z-index:10;width:min(360px,calc(100% - 2 * var(--gutter)));padding:16px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);font-size:var(--t-sm)}.consent[hidden]{display:none}.consent p{margin:0 0 16px}.consent a{color:var(--accent-text)}.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.consent-actions .btn:hover{background:var(--ink)}.consent-actions .btn{flex:1 1 120px;background:transparent;font-size:var(--t-sm);padding:10px 16px}.skip{position:absolute;left:16px;top:-100px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 14px;font-family:var(--mono);font-size:var(--t-sm)}.skip:focus{top:16px}@supports (animation-timeline:view()){.reveal,.reveal-2,.reveal-3{animation:reveal linear both;animation-timeline:view();animation-range:entry 0 entry 60%}.reveal-2{animation-range:entry 10% entry 75%}.reveal-3{animation-range:entry 20% entry 90%}}@media (prefers-reduced-motion:no-preference){.motion-time :is(.reveal,.reveal-2,.reveal-3){opacity:0}.motion-time :is(.reveal,.reveal-2,.reveal-3).in{animation:reveal .6s var(--ease-draw) both}.motion-time .reveal-2.in{animation-delay:80ms}.motion-time .reveal-3.in{animation-delay:.16s}}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}}