@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-size:1.125rem;line-height:1.65;font-optical-sizing:auto}body:before{content:"";position:fixed;inset:0;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")}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gap)}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.01em}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);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.lede{font-size:1.3rem;color:var(--ink-soft);font-style:italic}.rule{border:0;border-top:1px solid var(--rule);margin-block:var(--gap)}.section{padding-block:clamp(3rem,7vw,5.5rem);position:relative;z-index:2}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}.section-head:after{content:"";flex:1;border-top:1px solid var(--rule)}.btn{display:inline-block;font-family:var(--mono);font-size:.8rem;letter-spacing:.05em;padding:.7em 1.4em;border:1px solid var(--ink);color:var(--ink);text-decoration:none;transition:background .18s,color .18s}.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{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:1rem}.brand{font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}.nav{display:flex;gap:1.4rem;flex-wrap:wrap}.nav a{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--ink-soft);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.header-right{display:flex;align-items:center;gap:1.4rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;transition:color .18s,border-color .18s,background .18s;-webkit-tap-highlight-color:transparent}.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);padding-block:2.5rem;font-family:var(--mono);font-size:.78rem;color:var(--ink-faint);position:relative;z-index:2}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rise{animation:rise .6s cubic-bezier(.2,.7,.2,1) backwards}@media(prefers-reduced-motion:reduce){.rise{animation:none}}@media(prefers-reduced-motion:no-preference){body{transition:background .3s ease,color .3s ease}}
