*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;font-family:var(--font-body,system-ui, sans-serif);color:var(--color-text,#111);background:var(--color-bg,#fff)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden]),textarea,select){background:var(--color-bg,#fff);border:1px solid var(--color-muted,currentColor)}:where(button,input[type=submit],input[type=button],input[type=reset]){background:var(--color-surface,var(--color-bg,#fff));border:1px solid var(--color-accent,currentColor)}:where(a){color:var(--color-link,var(--color-text,inherit))}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4{text-wrap:balance;line-height:1.15;font-family:var(--font-display,var(--font-body,system-ui, sans-serif))}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}:focus-visible{outline:3px solid var(--color-focus,var(--color-accent,#06c));outline-offset:2px;border-radius:2px}.skip-link{background:var(--color-accent,#06c);color:var(--color-accent-contrast,#fff);z-index:999;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}a,button,[role=button]{touch-action:manipulation}:root{--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:9rem;--measure:65ch;--container:1200px;--container-narrow:760px}.container{width:min(100% - var(--space-m) * 2, var(--container));margin-inline:auto}.container-narrow{width:min(100% - var(--space-m) * 2, var(--container-narrow));margin-inline:auto}.flow>*+*{margin-block-start:var(--flow-space,var(--space-s))}.prose{max-width:var(--measure)}@media print{.skip-link,nav,footer{display:none}body{color:#000;background:#fff}}:root{--color-bg:#fafaf7;--color-surface:#f0efe9;--color-border:#d6d3c8;--color-text:#1b1d1f;--color-muted:#4a4f55;--color-accent:#0f5c6e;--color-accent-hover:#0a4452;--color-accent-contrast:#fff;--color-focus:#0f5c6e;--font-display:"Segoe UI Semibold", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:Consolas, "Courier New", monospace;--color-link:#0f5c6e;--size-h1:clamp(2.1rem, 1.5rem + 3vw, 3.6rem);--size-h2:clamp(1.9rem, 1.35rem + 2.4vw, 3rem);--size-h3:clamp(1.25rem, 1.1rem + .7vw, 1.6rem);--size-body:clamp(1rem, .95rem + .25vw, 1.125rem);--size-lede:clamp(1.125rem, 1.05rem + .4vw, 1.3rem);--size-small:.9rem;--radius:2px;--rule:1px solid var(--color-border)}body{font-size:var(--size-body)}.site-header{border-bottom:var(--rule);background:var(--color-bg)}.site-header .container-narrow{min-height:4rem;padding-block:var(--space-s);align-items:center;display:flex}.wordmark{font-family:var(--font-display);font-size:var(--size-h3);letter-spacing:.01em;color:var(--color-text);font-weight:700;text-decoration:none}.wordmark:hover{color:var(--color-accent)}.home{padding-block:var(--space-xl) var(--space-2xl)}.home>section+section{margin-block-start:var(--space-xl)}.home section>*+*{margin-block-start:var(--space-s)}.home h1{font-size:var(--size-h1);max-width:20ch}.home h2{font-size:var(--size-h2)}.home p,.home li{max-width:var(--measure)}.home-intro p{font-size:var(--size-lede);color:var(--color-muted)}.home ul{padding-inline-start:1.25em}.site-footer{border-top:var(--rule);padding-block:var(--space-l);font-size:var(--size-small)}.site-footer a{margin-inline-end:var(--space-2xs)}
