@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");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}:root{--color-background:#f3f0e7;--color-surface:#faf8f2;--color-ink:#161815;--color-muted:#4e5348;--color-line:#16181521;--color-olive:#75845b;--color-olive-soft:#d9dec8;--color-olive-bright:#a9bd8a;--color-sand:#d8b16e;--color-dark:#191b17;--color-hero:#f3efe6;--color-hero-muted:#f3efe6b0;--color-accent-primary:#75845b;--color-accent-secondary:#161815;--color-dark-surface:#11130f;--color-on-accent:#eef1e6;--color-focus:#75845b;--color-strip:#ebe7dd;--color-lab-stage:#cfd7bd;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:1rem;--font-size-lg:1.1875rem;--font-size-xl:1.875rem;--font-size-2xl:2.875rem;--font-size-3xl:4.75rem;--line-height-tight:.88;--line-height-snug:.96;--line-height-body:1.65;--line-height-caption:1.5;--font-display:Inter, ui-sans-serif, system-ui, sans-serif;--font-body:Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3.25rem;--space-3xl:5.5rem;--space-4xl:7.375rem;--radius-none:0;--radius-sm:.5rem;--radius-md:1.25rem;--radius-lg:1.5rem;--radius-pill:999px;--width-content:40rem;--width-shell:76.25rem;--width-wide:90rem;--focus-ring-width:.125rem;--focus-ring-offset:.1875rem;--header-height:4.625rem}html{font-family:var(--font-body);font-size:100%;line-height:var(--line-height-body);color:var(--color-ink);text-rendering:optimizelegibility}body{font-size:var(--font-size-base);font-weight:450}h1,h2,h3,.display{font-family:var(--font-display);color:var(--color-ink);text-wrap:balance;font-weight:800}h1,.display{font-size:clamp(2.75rem, 7vw, var(--font-size-3xl));line-height:var(--line-height-tight);letter-spacing:-.078em}h2{font-size:clamp(2.5rem,5.3vw,4.75rem);line-height:var(--line-height-snug);letter-spacing:-.058em}h3{letter-spacing:-.042em;font-size:1.875rem;line-height:1.05}.page p,.page li{max-width:var(--width-content)}.lede,.muted{color:var(--color-muted)}.lede{font-size:var(--font-size-lg);line-height:var(--line-height-body)}.eyebrow,.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:800}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}pre{font-family:var(--font-mono);max-width:100%;overflow-x:auto}*,:before,:after{box-sizing:border-box}html{background:var(--color-background)}body{background:var(--color-background);min-height:100dvh;color:var(--color-ink);flex-direction:column;margin:0;display:flex}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-md);top:var(--space-md);z-index:40;padding:var(--space-xs) var(--space-sm);background:var(--color-on-accent);color:var(--color-ink);border-radius:var(--radius-pill);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{transform:none}.shell{width:min(var(--width-shell), calc(100% - 42px));margin-inline:auto}.page{padding-block:calc(var(--header-height) + var(--space-2xl)) var(--space-4xl);flex:1}.page-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-line)}.site-header{z-index:30;height:var(--header-height);backdrop-filter:blur(16px);color:var(--color-hero);background:linear-gradient(#0f110ec2,#0f110e2e);border-bottom:1px solid #ffffff14;position:fixed;inset:0 0 auto}.nav{height:var(--header-height);justify-content:space-between;align-items:center;gap:1.75rem;display:flex}.brand{letter-spacing:-.03em;color:inherit;align-items:center;gap:.625rem;font-weight:800;display:inline-flex}.brand-mark{border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff52;place-items:center;width:2rem;height:2rem;font-size:.875rem;display:grid}.site-nav--desktop{gap:1.7rem;font-size:.8125rem;display:flex}.site-nav--desktop a{opacity:.9}.site-nav--desktop a:hover,.site-nav--desktop a[aria-current=page]{opacity:1}.site-header__tools{align-items:center;gap:1rem;display:flex}.site-header__cta{border-radius:var(--radius-pill);color:inherit;background:#ffffff0d;border:1px solid #ffffff61;padding:.625rem 1rem;font-size:.75rem;font-weight:800}.lang-switch{font-family:var(--font-mono);letter-spacing:.08em;align-items:baseline;gap:.35rem;font-size:.6875rem;display:flex}.lang-switch a,.lang-switch span{color:inherit;opacity:.85;border-bottom:.12em solid #0000;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.35rem .4rem;display:inline-flex}.lang-switch a:hover,.lang-switch [aria-current=true]{opacity:1}.lang-switch [aria-current=true]{border-bottom-color:currentColor;font-weight:700}.nav-toggle{display:none}.nav-toggle summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.35rem .6rem;font-size:.75rem;font-weight:800;list-style:none;display:inline-flex}.nav-toggle summary::-webkit-details-marker{display:none}.site-footer{background:var(--color-dark-surface);color:var(--color-hero);margin-top:auto}.site-footer a{color:inherit}.site-footer__inner{grid-template-columns:1fr 1fr auto;align-items:center;gap:1.25rem;min-height:7.375rem;font-size:.75rem;display:grid}.site-footer p{color:#f3efe6c7;margin:0}.site-footer__brand{gap:.5rem;display:grid}.site-footer__list{flex-wrap:wrap;gap:.75rem 1rem;margin:0;padding:0;list-style:none;display:flex}.lang-chooser{min-height:100dvh;padding:var(--space-xl);background:var(--color-dark);color:var(--color-hero);place-items:center;display:grid}.lang-chooser__panel{border-radius:var(--radius-md);width:min(100%,36rem);padding:var(--space-xl);background:#ffffff0a;border:1px solid #ffffff1f}.lang-chooser .kicker{color:var(--color-olive-bright)}.lang-chooser h1{color:var(--color-hero)}.lang-chooser .lede{color:var(--color-hero-muted)}.lang-chooser__list{gap:var(--space-sm);margin:var(--space-lg) 0 0;padding:0;list-style:none;display:grid}.lang-chooser__list a{padding:var(--space-sm) 0;font-size:var(--font-size-lg);letter-spacing:-.04em;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;font-weight:800;display:flex}.lang-chooser__code{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.08em;opacity:.6}.button{border-radius:var(--radius-pill);cursor:pointer;border:0;justify-content:center;align-items:center;min-height:2.875rem;padding:0 1.25rem;font-size:.8125rem;font-weight:800;display:inline-flex}.button.primary{background:var(--color-on-accent);color:#171915}.button.ghost{color:var(--color-hero);background:#ffffff0a;border:1px solid #ffffff40}.button.dark{background:var(--color-ink);color:#fff}@media (width<=57.5rem){.site-nav--desktop,.site-header__tools--desktop{display:none}.nav-toggle{display:block;position:relative}.nav-toggle[open]{border-radius:0 0 0 var(--radius-md);background:#141612;min-width:min(18rem,80vw);padding:1.25rem;position:absolute;inset:0 0 auto auto}.nav-toggle[open] .site-nav,.nav-toggle[open] .site-header__tools{flex-direction:column;align-items:flex-start;gap:.85rem;margin-top:1rem;display:flex}.site-footer__inner{grid-template-columns:1fr;padding-block:2.125rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
