:root{--paper: #f6f3ec;--paper-warm: #efe9d9;--ink: #1a1a1a;--muted: #6f6a62;--subtle: #8a8378;--rule: #e2dccb;--track: #e6dfc9;--placeholder: #bdb7a9;--accent: oklch(.62 .05 145);--accent-soft: oklch(.62 .05 145 / .35);--accent-faint: oklch(.62 .05 145 / .12);--fg1: var(--ink);--fg2: var(--muted);--fg3: var(--subtle);--bg: var(--paper);--bg-2: var(--paper-warm);--hairline: var(--rule);--font-serif: "Newsreader", "Iowan Old Style", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-script: "Caveat", "Bradley Hand", cursive;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 22px;--s-6: 28px;--s-7: 40px;--s-8: 60px;--s-9: 80px;--s-10: 120px;--t-fast: .12s;--t-normal: .25s;--t-slow: .35s;--ease: cubic-bezier(.4,0,.2,1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #15140f;--paper-warm: #1c1a14;--ink: #e8e4d8;--muted: #807a6f;--subtle: #807a6f;--rule: #3a382e;--track: #2a2820;--placeholder: #5a544a}}[data-theme=dark]{--paper: #15140f;--paper-warm: #1c1a14;--ink: #e8e4d8;--muted: #807a6f;--subtle: #807a6f;--rule: #3a382e;--track: #2a2820;--placeholder: #5a544a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-serif)}body{min-height:100vh}a{color:inherit}a:hover{text-decoration-color:var(--accent)!important}::selection{background:#748f7440}h1,h2,h3,h4{margin:0;font-weight:inherit}p{margin:0}.container{max-width:1280px;margin:0 auto;padding-left:64px;padding-right:64px}section{position:relative}.dot{display:inline-block;border-radius:50%;background:var(--accent);flex-shrink:0}.dot-sm{width:6px;height:6px}.dot-md{width:8px;height:8px}.dot-lg{width:10px;height:10px}.dot-xl{width:14px;height:14px}.dot-abs{position:absolute;border-radius:50%;background:var(--accent)}.section-mark{position:absolute;top:10px;right:136px;width:14px;height:14px;border-radius:50%;background:var(--accent)}@media(max-width:900px){.section-mark{top:14px;right:14px}}.hairline{height:1px;background:var(--rule)}.sage-rule{height:1px;background:var(--accent)}.label{font:500 10px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.kicker{font:500 10px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.wordmark{font:500 12px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.section-pad{padding-top:120px;padding-bottom:120px}.section-warm{background:var(--paper-warm)}.section-head h2{font:italic 300 clamp(36px,4.4vw,56px)/1.1 var(--font-serif);max-width:800px;letter-spacing:-.005em}.section-sub{margin-top:36px;padding-left:80px;max-width:540px;font:400 18px/1.7 var(--font-serif);color:var(--ink)}.section-body{margin-top:72px}header.site-header{position:sticky;top:0;z-index:50;padding:18px 0;background:var(--paper);border-bottom:1px solid var(--rule)}header.site-header .inner{display:flex;align-items:center;justify-content:space-between}section[id]{scroll-margin-top:72px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}nav.site-nav{display:flex;gap:22px}nav.site-nav a{font:500 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color var(--t-fast) var(--ease)}nav.site-nav a:hover{color:var(--ink)}footer.site-footer{border-top:1px solid var(--rule)}footer.site-footer .inner{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;padding-top:40px;padding-bottom:80px}.footer-brand{display:flex;align-items:center;gap:10px;font:500 11px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none}.footer-links{display:flex;gap:24px;font:400 11px/1 var(--font-mono);color:var(--muted)}.footer-links a{color:inherit;text-decoration:none;transition:color var(--t-fast) var(--ease)}.footer-links a:hover{color:var(--ink)}.footer-made{font:400 14px/1.15 var(--font-script);color:var(--muted)}@media(max-width:900px){.container{padding-left:28px;padding-right:28px}.section-sub{padding-left:0}.section-body{margin-top:48px}}@media(max-width:600px){nav.site-nav{gap:14px}nav.site-nav a:first-child{display:none}.section-head h2{font-size:32px}.section-pad{padding-top:80px;padding-bottom:80px}}
