:root{--bg: #fafaf7;--bg-soft: #f3f1ec;--surface: #ffffff;--ink: #0f0e0d;--ink-soft: #2b2823;--muted: #6f6a62;--rule: #e2dfd6;--rule-soft: #ecebe4;--accent: #6b1d18;--accent-hi: #b82213;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--serif: "Spectral", "Source Serif 4", Georgia, serif;--body: var(--sans);--display: var(--serif);--ui: var(--sans);--step--2: clamp(.78rem, .76rem + .1vw, .82rem);--step--1: clamp(.88rem, .85rem + .15vw, .95rem);--step-0: clamp(1rem, .96rem + .2vw, 1.08rem);--step-1: clamp(1.18rem, 1.1rem + .4vw, 1.35rem);--step-2: clamp(1.45rem, 1.3rem + .7vw, 1.78rem);--step-3: clamp(1.85rem, 1.6rem + 1.2vw, 2.5rem);--step-4: clamp(2.4rem, 2rem + 2vw, 3.5rem);--step-5: clamp(3rem, 2.4rem + 3.5vw, 5.2rem);--col-prose: 38rem;--col-wide: 72rem;--col-grid: 78rem;--pad-x: clamp(1.25rem, 4vw, 2.5rem);--header-h: 64px}*{box-sizing:border-box;margin:0;padding:0}*::selection{background:var(--ink);color:var(--bg)}html{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-size:var(--step-0);line-height:1.65;font-feature-settings:"kern","ss01","cv11"}body.no-scroll{overflow:hidden}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem 1rem;z-index:100;font-family:var(--ui)}.skip:focus{left:0}.site-header{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20;background:#fafaf7d9;backdrop-filter:saturate(140%) blur(10px)}.bar{max-width:var(--col-grid);margin:0 auto;padding:0 var(--pad-x);height:var(--header-h);display:flex;justify-content:space-between;align-items:center;gap:2rem}.brand{font-family:var(--display);font-weight:500;font-size:1.18rem;letter-spacing:-.005em;color:var(--ink);text-decoration:none}.nav-desktop{display:flex;gap:2rem;font-family:var(--ui);font-size:.92rem;font-weight:500}.nav-desktop a{color:var(--ink-soft);text-decoration:none;transition:color .15s;position:relative}.nav-desktop a:hover{color:var(--ink)}.nav-desktop a:after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav-desktop a:hover:after{transform:scaleX(1)}.hamburger{display:none;background:transparent;border:0;padding:8px;cursor:pointer;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.drawer{position:fixed;inset:0;z-index:30;pointer-events:none;visibility:hidden}.drawer.open{pointer-events:auto;visibility:visible}.drawer-backdrop{position:absolute;inset:0;background:#0f0e0d66;opacity:0;transition:opacity .25s ease}.drawer.open .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(420px,88vw);background:var(--bg);border-left:1px solid var(--rule);transform:translate(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;padding:1.25rem 1.75rem 2rem}.drawer.open .drawer-panel{transform:translate(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:2rem;border-bottom:1px solid var(--rule)}.drawer-mark{font-family:var(--display);font-size:1.05rem;font-weight:500}.drawer-close{background:transparent;border:0;cursor:pointer;padding:6px;color:var(--ink);transition:color .15s;margin:-6px}.drawer-close:hover{color:var(--accent)}.drawer-nav{display:flex;flex-direction:column;gap:.25rem;padding-top:2rem;flex:1}.drawer-nav a{font-family:var(--display);font-size:1.85rem;font-weight:500;letter-spacing:-.015em;color:var(--ink);text-decoration:none;padding:.5rem 0;transition:color .15s,padding-left .2s;border-bottom:1px solid transparent}.drawer-nav a:hover{color:var(--accent);padding-left:.4rem}.drawer-foot{font-family:var(--ui);font-size:.75rem;color:var(--muted);padding-top:1.5rem;border-top:1px solid var(--rule)}@media(max-width:768px){.nav-desktop{display:none}.hamburger{display:flex}}main{min-height:60vh}.site-footer{margin-top:8rem;border-top:1px solid var(--rule);background:var(--bg-soft)}.footer-inner{max-width:var(--col-grid);margin:0 auto;padding:4rem var(--pad-x);text-align:center}.footer-mark{font-family:var(--display);font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.footer-tag{font-family:var(--ui);font-size:.85rem;color:var(--muted)}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;color:var(--ink);letter-spacing:-.015em}h4{font-family:var(--ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);margin-top:2.5rem;margin-bottom:.75rem}p{margin-bottom:1rem}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}a:hover{text-decoration-color:var(--accent);color:var(--accent)}hr{border:none;border-top:1px solid var(--rule);margin:3rem 0}.prose{max-width:var(--col-prose);margin:0 auto;padding:4rem var(--pad-x)}.wide{max-width:var(--col-wide);margin:0 auto;padding:4rem var(--pad-x)}.grid-wrap{max-width:var(--col-grid);margin:0 auto;padding:4rem var(--pad-x)}.eyebrow{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--muted);font-weight:600}.meta-row{font-family:var(--ui);font-size:.85rem;color:var(--muted)}.smallcaps{font-family:var(--ui);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--muted);font-weight:500}.lede{font-size:var(--step-1);line-height:1.5;color:var(--ink-soft);margin-bottom:2rem}[data-fade]{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}[data-fade].in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-fade]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
