:root{--color-bone:#f6f6f3;--color-black:#0b0b0b;--color-blue:#06f;--color-blue-light:#4d94ff;--color-concrete:#e5e5e5;--color-muted:#717171;--color-muted-on-dark:#9b9b97;--bg:var(--color-bone);--bg-subtle:var(--color-concrete);--fg:var(--color-black);--fg-muted:var(--color-muted);--line:#0b0b0b24;--line-strong:#0b0b0b52;--accent:var(--color-blue);--accent-fg:var(--color-bone);--focus-ring:var(--color-blue);--danger:#c4282d;--font-display:var(--font-inter-tight), "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:clamp(1.0625rem, .98rem + .3vw, 1.1875rem);--text-lg:clamp(1.1875rem, 1.05rem + .55vw, 1.5rem);--text-xl:clamp(1.5rem, 1.25rem + 1vw, 2.125rem);--display-s:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--display-m:clamp(2.5rem, 1.6rem + 4vw, 5.5rem);--display-l:clamp(2.875rem, 1.5rem + 6.2vw, 8.5rem);--display-xl:clamp(2.75rem, 11.6vw, 4.75rem);--leading-tight:.9;--leading-snug:1.08;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-display:-.045em;--tracking-tight:-.025em;--tracking-label:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--section-y:clamp(5.5rem, 3rem + 10vw, 13rem);--section-y-s:clamp(4rem, 2.5rem + 6vw, 8rem);--gutter:clamp(1.25rem, .6rem + 3vw, 4rem);--grid-gap:clamp(1rem, .6rem + 1.4vw, 2rem);--container-max:1680px;--container-prose:40rem;--header-h:4rem;--radius-xs:2px;--radius-s:4px;--radius-pill:999px;--z-base:0;--z-raised:10;--z-header:100;--z-overlay:200;--z-skip:300;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-in:cubic-bezier(.5, 0, .75, 0);--dur-instant:.12s;--dur-fast:.2s;--dur-base:.32s;--dur-slow:.64s;--dur-intro:1s}@media (min-width:768px){:root{--display-xl:min(7vw, 9.5rem);--header-h:4.5rem}}.theme-dark{--bg:var(--color-black);--bg-subtle:#161616;--fg:var(--color-bone);--fg-muted:var(--color-muted-on-dark);--line:#f6f6f329;--line-strong:#f6f6f366;--accent:var(--color-blue-light);--accent-fg:var(--color-black);--focus-ring:var(--color-blue-light);--danger:#ff9b9b;background-color:var(--bg);color:var(--fg)}.theme-concrete{--bg:var(--color-concrete);--bg-subtle:#d9d9d6;--fg-muted:#595959;--line:#0b0b0b29;background-color:var(--bg);color:var(--fg)}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-intro:0s}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:calc(var(--header-h) + var(--space-4))}:root:has(dialog[open]){overflow:hidden}body{background-color:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:clip}img,svg,video,canvas,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);text-wrap:balance;overflow-wrap:break-word}p{text-wrap:pretty;overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}::selection{background-color:var(--color-blue);color:var(--color-bone)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}.container{width:100%;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.grid{column-gap:var(--grid-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (min-width:768px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);line-height:1.3}.tabular{font-variant-numeric:tabular-nums}.text-link{transition:background-size var(--dur-base) var(--ease-out), color var(--dur-fast) linear;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:.08em}.text-link:hover{color:var(--accent)}.skip-link{top:var(--space-3);left:var(--space-3);z-index:var(--z-skip);padding:var(--space-3) var(--space-4);background:var(--color-black);color:var(--color-bone);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:transform var(--dur-fast) var(--ease-out);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.intro-mask{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:clip}.intro-mask>span{animation:intro-rise var(--dur-intro) var(--ease-out) both;animation-delay:calc(80ms + var(--i,0) * 90ms);display:block}.intro-fade{animation:intro-fade .9s var(--ease-out) both;animation-delay:calc(80ms + var(--i,0) * 90ms)}@keyframes intro-rise{0%{transform:translateY(106%)}}@keyframes intro-fade{0%{opacity:0;transform:translateY(14px)}}::view-transition{pointer-events:none}::view-transition-old(.page-exit){animation:.16s var(--ease-in) both vt-fade-out}::view-transition-new(.page-enter){animation:.34s var(--ease-out) 80ms both vt-rise-in}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-group(*){animation:none!important}}
