@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Newsreader:ital,opsz@0,6..72;1,6..72&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--paper:#faf8f3;--paper-2:#f1ede3;--ink:#1a1a1a;--ink-soft:#4a4845;--ink-faint:#8a8780;--rule:#d8d3c6;--accent:#1d4e89;--accent-soft:#e7edf4;--display:"Fraunces", Georgia, serif;--body:"Newsreader", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--maxw:60rem;--gap:clamp(1.5rem, 4vw, 3rem);color-scheme:light}:root[data-theme=dark]{--paper:#14130f;--paper-2:#1e1c16;--ink:#ece9e1;--ink-soft:#b4b0a5;--ink-faint:#7e7a70;--rule:#34322b;--accent:#6ea8e0;--accent-soft:#1c2a3a;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-optical-sizing:auto;font-size:1.125rem;line-height:1.65}body:before{content:"";pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.wrap{max-width:var(--maxw);padding-inline:var(--gap);margin-inline:auto}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,6vw,3.8rem)}h2{font-size:clamp(1.6rem,4vw,2.3rem)}h3{font-size:1.3rem}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--ink)}p{margin-block:.8em}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.lede{color:var(--ink-soft);font-size:1.3rem;font-style:italic}.rule{border:0;border-top:1px solid var(--rule);margin-block:var(--gap)}.section{z-index:2;padding-block:clamp(3rem,7vw,5.5rem);position:relative}.section-head{align-items:baseline;gap:1rem;margin-bottom:2rem;display:flex}.section-head:after{content:"";border-top:1px solid var(--rule);flex:1}.btn{font-family:var(--mono);letter-spacing:.05em;border:1px solid var(--ink);color:var(--ink);padding:.7em 1.4em;font-size:.8rem;text-decoration:none;transition:background .18s,color .18s;display:inline-block}.btn:hover{background:var(--ink);color:var(--paper)}.btn--accent{border-color:var(--accent);color:var(--accent)}.btn--accent:hover{background:var(--accent);color:var(--paper)}.site-header{z-index:50;background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;padding-block:1rem;display:flex}.brand{font-family:var(--display);color:var(--ink);font-size:1.15rem;font-weight:600;text-decoration:none}.brand span{color:var(--accent)}.nav{flex-wrap:wrap;gap:1.4rem;display:flex}.nav a{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);font-size:.78rem;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.header-right{align-items:center;gap:1.4rem;display:flex}.theme-toggle{border:1px solid var(--rule);width:2rem;height:2rem;color:var(--ink-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle svg{width:1rem;height:1rem;display:block}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}.site-footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-faint);z-index:2;padding-block:2.5rem;font-size:.78rem;position:relative}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rise{animation:.6s cubic-bezier(.2,.7,.2,1) backwards rise}@media (prefers-reduced-motion:reduce){.rise{animation:none}}@media (prefers-reduced-motion:no-preference){body{transition:background .3s,color .3s}}
