:root{--ink:#0a0a0a;--graphite:#141414;--carbon:#1c1c1c;--smoke:#2a2a2a;--slate:#6b6b6b;--ash:#8a8a8a;--fog:#bdbdbd;--bone:#ececec;--paper:#f6f6f4;--fs-label:clamp(.625rem, .59rem + .12vw, .75rem);--fs-small:clamp(.8125rem, .79rem + .1vw, .875rem);--fs-body:clamp(.9375rem, .9rem + .16vw, 1.0625rem);--fs-lede:clamp(1.125rem, 1rem + .55vw, 1.5rem);--fs-h3:clamp(1.25rem, 1.05rem + .8vw, 1.75rem);--fs-h2:clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);--fs-display:clamp(2.75rem, 1.6rem + 4.6vw, 6.5rem);--s-1:.5rem;--s-2:1rem;--s-3:1.5rem;--s-4:2rem;--s-5:3rem;--s-6:4rem;--s-7:6rem;--section-y:clamp(3.5rem, 1.6rem + 6vw, 7rem);--pad-x:clamp(1.25rem, 4.2vw, 5rem);--gutter:clamp(1rem, .6rem + 1.4vw, 2rem);--measure:62ch;--radius:2px;--nav-h:4rem;--tap:44px}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--ink);--bg-raised:var(--graphite);--surface:var(--carbon);--line:var(--smoke);--line-strong:var(--slate);--text-strong:var(--bone);--text:var(--fog);--text-muted:var(--ash);--btn-bg:var(--bone);--btn-fg:var(--ink);--btn-bg-hover:var(--paper);--focus:var(--bone);--error:var(--bone)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--paper);--bg-raised:var(--bone);--surface:var(--bone);--line:var(--fog);--line-strong:var(--ash);--text-strong:var(--ink);--text:var(--carbon);--text-muted:var(--smoke);--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bg-hover:var(--carbon);--focus:var(--ink);--error:var(--ink)}[data-theme]{background:var(--bg);color:var(--text)}*,:before,:after{box-sizing:border-box}html{background:var(--ink);-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 1.5rem)}body{min-height:100dvh;font-family:var(--font-body), system-ui, sans-serif;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.7;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-display), system-ui, sans-serif;color:var(--text-strong);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:600;line-height:1.08}p{text-wrap:pretty;margin:0}a{color:inherit}img,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--text-strong);color:var(--bg)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius)}.wrap{width:100%;max-width:160rem;padding-inline:max(var(--pad-x), env(safe-area-inset-left)) max(var(--pad-x), env(safe-area-inset-right));margin-inline:auto}.grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section-y)}.rule{border:0;border-top:1px solid var(--line);margin:0}.label{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:400;line-height:1.5}.mono{font-family:var(--font-mono), ui-monospace, monospace}.prose{max-width:var(--measure)}.lede{font-size:var(--fs-lede);color:var(--text-strong);letter-spacing:-.01em;max-width:34ch;line-height:1.5}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--bone);color:var(--ink);transition:transform var(--dur-feedback) var(--ease-out);border-radius:999px;padding:.75rem 1rem;font-weight:600;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.grain{position:relative}.grain:after{content:"";pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.js [data-reveal]{clip-path:inset(0 0 100%);transition:clip-path var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);transform:translateY(.35em)}.js [data-reveal][data-in]{clip-path:inset(0 0 -.2em);transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal]{clip-path:none;opacity:0;transition:opacity .2s linear;transform:none}.js [data-reveal][data-in]{opacity:1}}@media (prefers-reduced-motion:no-preference){.load-reveal{animation:load-reveal var(--dur-reveal) var(--ease-out) 60ms both}}@keyframes load-reveal{0%{clip-path:inset(0 0 100%);transform:translateY(.35em)}to{clip-path:inset(0 0 -.2em);transform:none}}::view-transition-old(root){animation-duration:.26s;animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:.26s;animation-timing-function:var(--ease-out)}::view-transition-group(.morph){animation-duration:.52s;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:.12s!important}::view-transition-old(*){animation-duration:.12s!important}::view-transition-new(*){animation-duration:.12s!important}}.flush-top{padding-top:0}.broken-mark{color:var(--text-strong);margin:0 0 1rem}.hp{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;top:auto;left:-10000px;overflow:hidden;position:absolute!important}a{position:relative}a:before{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
@property --glass-angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--glass-radius:18px}:where(.glass){--g-tone:#ffffff0d;--g-fg:var(--bone);--g-halo:#0a0a0ab3;--g-hi:#ffffffbf;--g-lo:#ffffff38;--g-glow:#ffffff1a;--g-spec:#ffffff29;--g-blur:3px;--g-filter:blur(var(--g-blur)) saturate(170%) brightness(1.08) contrast(1.04);--g-shadow:0 10px 40px #00000059;--glass-fg:var(--g-fg);--text-strong:var(--g-fg);--text:var(--g-fg);--text-muted:var(--g-fg);--line:#ececec38;--line-strong:#ececec80;--btn-bg:var(--bone);--btn-fg:var(--ink);--btn-bg-hover:var(--paper);--focus:var(--bone);isolation:isolate;color:var(--g-fg);background-color:var(--g-tone);-webkit-backdrop-filter:var(--g-filter);backdrop-filter:var(--g-filter);border-radius:var(--glass-radius);box-shadow:inset 1px 1px 0 var(--g-hi), inset 0 1px 6px -2px var(--g-hi), inset -1px -1px 0 var(--g-lo), inset 0 0 24px var(--g-glow);text-shadow:0 0 1px var(--g-halo), 0 0 14px var(--g-halo);transition:background-color .25s var(--ease-out), color .25s var(--ease-out), box-shadow .25s var(--ease-out);font-weight:500;position:relative;overflow:clip}.glass[data-tint=light]{--g-tone:#ffffff59;--g-fg:var(--ink);--g-halo:#f6f6f4b3;--g-hi:#fffffff2;--g-lo:#0a0a0a1a;--g-glow:#ffffff59;--g-spec:#ffffffb3;--g-shadow:0 10px 40px #0a0a0a29;--line:#0a0a0a2e;--line-strong:#0a0a0a80;--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bg-hover:var(--carbon);--focus:var(--ink)}.glass[data-mixed]{--g-halo:#0a0a0ae6}.glass[data-mixed][data-tint=light]{--g-halo:#f6f6f4f2}.glass[data-variant=clear]{--g-tone:#ffffff05;--g-blur:3px}.glass[data-variant=clear][data-tint=light]{--g-tone:#ffffff2e}.glass[data-floating]{box-shadow:inset 1px 1px 0 var(--g-hi), inset 0 1px 6px -2px var(--g-hi), inset -1px -1px 0 var(--g-lo), inset 0 0 24px var(--g-glow), var(--g-shadow)}:root[data-scrolling] .glass[data-floating]{--g-shadow:0 16px 56px #00000073}:root[data-refract=on]:not([data-glass=solid]) .glass[data-lens]{-webkit-backdrop-filter:var(--g-lens) blur(3px) saturate(170%) brightness(1.08) contrast(1.04);backdrop-filter:var(--g-lens) blur(3px) saturate(170%) brightness(1.08) contrast(1.04)}.glass-rim{z-index:1;border-radius:inherit;pointer-events:none;background:conic-gradient(from calc(var(--glass-angle) + var(--rim-shift,0deg)), #ffffffd9, #ffffff1f 18%, #ffffff0a 42%, #ffffff52 58%, #ffffff14 80%, #ffffffd9);-webkit-mask-composite:xor;padding:1px;animation:14s linear infinite glass-rim;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}:root[data-glass-idle=off] .glass-rim,[data-glass-paused] .glass-rim,.glass-rim[data-glass-paused]{animation-play-state:paused}@keyframes glass-rim{to{--glass-angle:360deg}}.glass-spec{z-index:0;background:radial-gradient(closest-side, var(--g-spec), #fff0);opacity:0;pointer-events:none;width:280px;height:280px;transition:opacity .25s var(--ease-out);will-change:transform;border-radius:50%;margin:-140px 0 0 -140px;position:absolute;top:0;left:0}.glass[data-hover] .glass-spec{opacity:1}.glass[data-pressed] .glass-spec{opacity:1;filter:brightness(1.6)}:where(.glass)>*{z-index:2;position:relative}.glass[data-pressed]>:not([data-glass-deco]){transform:scale(1.02)}:where(.glass)>:not([data-glass-deco]){transition:transform var(--spring-press-dur) var(--spring-press)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:where(.glass){--g-tone:#141414f0}.glass[data-tint=light]{--g-tone:#f6f6f4f2}}:root[data-glass=solid] .glass,.glass[data-solid]{background-color:var(--graphite);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--smoke);text-shadow:none}:root[data-glass=solid] .glass[data-tint=light]{background-color:var(--paper);box-shadow:inset 0 0 0 1px var(--fog)}:root[data-glass=solid] .glass-rim,:root[data-glass=solid] .glass-spec{display:none}@media (prefers-reduced-transparency:reduce){.glass{background-color:var(--carbon);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--ash);text-shadow:none}.glass[data-tint=light]{background-color:var(--paper);box-shadow:inset 0 0 0 1px var(--smoke)}.glass-rim,.glass-spec{display:none}}@media (prefers-contrast:more){.glass{background-color:var(--carbon);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--ash);text-shadow:none}.glass[data-tint=light]{background-color:var(--paper);box-shadow:inset 0 0 0 1px var(--smoke)}.glass-rim,.glass-spec{display:none}}@media (forced-colors:active){.glass{background:canvas;border:1px solid canvastext}}@media (prefers-reduced-motion:reduce){.glass,:where(.glass)>:not([data-glass-deco]){transition:background-color .15s linear,color .15s linear}.glass-rim{animation:none}.glass-spec{display:none}.glass[data-pressed]>:not([data-glass-deco]){transform:none}}
