@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#0d0d0d;--surface:#141414;--surface-warm:#161616;--fg:#ededed;--fg-2:#c9c9c9;--muted:#a0a0a0;--meta:#7a7a7a;--border:#ffffff14;--border-strong:#ffffff24;--fg-soft:color-mix(in oklab, var(--fg) 6%, transparent);--accent:#18e299;--accent-hover:#3ee9ac;--accent-soft:color-mix(in oklab, var(--accent) 18%, transparent);--success:var(--accent);--success-soft:var(--accent-soft);--warning:oklch(80% .15 80);--warning-soft:color-mix(in oklab, var(--warning) 18%, transparent);--danger:oklch(70% .19 25);--danger-soft:color-mix(in oklab, var(--danger) 18%, transparent);--elev-raised:0 2px 4px #0006}[data-theme=light]{--bg:#fff;--surface:#fff;--surface-warm:#fafafa;--fg:#0d0d0d;--fg-2:#333;--muted:#666;--meta:#888;--border:#0000000d;--border-strong:#00000014;--fg-soft:color-mix(in oklab, var(--fg) 4%, transparent);--accent-hover:#0fa76e;--warning:oklch(62% .14 80);--danger:oklch(56% .19 25);--elev-raised:0 2px 4px #00000008}[data-theme=rose-pine]{--bg:#191724;--surface:#1f1d2e;--surface-warm:#211f31;--fg:#e0def4;--fg-2:#c5c3e0;--muted:#908caa;--meta:#6e6a86;--border:#e0def414;--border-strong:#e0def424;--fg-soft:color-mix(in oklab, var(--fg) 6%, transparent);--accent:#9ccfd8;--accent-hover:#b6dee5;--accent-soft:color-mix(in oklab, var(--accent) 22%, transparent)}[data-theme=rose-pine][data-accent=iris]{--accent:#c4a7e7;--accent-hover:#d5bff0}[data-theme=rose-pine][data-accent=love]{--accent:#eb6f92;--accent-hover:#f8859f}[data-theme=rose-pine][data-accent=orchid]{--accent:#d98cc4;--accent-hover:#e7a2d3}[data-theme=rose-pine][data-accent=gold]{--accent:#f6c177;--accent-hover:#fad19a}[data-theme=rose-pine-dawn]{--bg:#faf4ed;--surface:#fffaf3;--surface-warm:#f2e9e1;--fg:#575279;--fg-2:#797593;--muted:#797593;--meta:#9893a5;--border:#dfdad9;--border-strong:#cecacd;--fg-soft:#f4ede8;--accent:#56949f;--accent-hover:#286983;--accent-soft:color-mix(in oklab, var(--accent) 16%, transparent)}[data-theme=rose-pine-dawn][data-accent=iris]{--accent:#907aa9;--accent-hover:#575279}[data-theme=rose-pine-dawn][data-accent=love]{--accent:#b4637a;--accent-hover:#d7827e}[data-theme=rose-pine-dawn][data-accent=orchid]{--accent:#d7827e;--accent-hover:#b4637a}[data-theme=rose-pine-dawn][data-accent=gold]{--accent:#ea9d34;--accent-hover:#d7827e}:root{--font-display:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:40px;--text-4xl:64px;--leading-body:1.5;--leading-tight:1.15;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--section-y:72px;--container-max:1200px;--container-gutter:32px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--focus-ring:0 0 0 2px var(--accent)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;transition:background .2s,color .2s}img,svg{max-width:100%;display:block}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}p{text-wrap:pretty;margin:0}h1,h2,h3,h4{text-wrap:balance;font-family:var(--font-display);margin:0}::selection{background:var(--accent-soft);color:var(--fg)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section+.section{border-top:1px solid var(--border)}.row-between{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.eyebrow{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500;display:inline-flex}.eyebrow svg{flex:none;width:14px;height:14px}.eyebrow--accent{color:var(--accent)}.meta{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.lead{max-width:60ch;color:var(--muted);font-size:var(--text-lg);line-height:var(--leading-body)}.btn{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);min-height:44px;font-size:var(--text-base);white-space:nowrap;border:1px solid #0000;padding:9px 22px;font-weight:500;line-height:1.4;transition:opacity .15s,background .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--surface-warm);border-color:var(--border-strong);color:var(--fg)}.btn-primary:hover{border-color:var(--fg);opacity:1}.btn-secondary{background:var(--bg);border-color:var(--border-strong);color:var(--fg)}.btn-secondary:hover{color:var(--fg);opacity:.9}.btn-ghost{padding-inline:var(--space-2);color:var(--fg)}.btn-arrow:after{content:"→";margin-left:2px;transition:transform .15s}.btn-arrow:hover:after{transform:translate(3px)}.tag{background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:3px 10px;display:inline-flex}.topnav{z-index:20;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.topnav-inner{justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-4);display:flex}.brandmark{color:var(--fg);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;font-weight:600}.topnav nav{align-items:center;gap:var(--space-4);display:flex}.topnav nav a{min-height:44px;color:var(--fg-2);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:10px 4px;font-weight:500;display:inline-flex}.topnav nav a:hover,.topnav nav a[aria-current=page]{color:var(--fg)}.nav-lead{align-items:center;gap:var(--space-5);min-width:0;display:flex}.nav-lead .brandmark{font-size:var(--text-base)}.nav-rule{background:var(--border);align-self:stretch;width:1px;margin-block:10px}.topnav nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.nav-actions{align-items:center;gap:var(--space-3);display:flex}.icon-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--fg);place-items:center;display:grid}.icon-btn:hover{background:var(--fg-soft)}.icon-btn svg{width:18px;height:18px}.pagefoot{border-top:1px solid var(--border);color:var(--muted);font-size:var(--text-sm);padding-block:clamp(40px,5vw,64px)}.post-card{gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex}.post-card:hover{border-color:var(--border-strong);box-shadow:var(--elev-raised)}.post-card h3{font-size:var(--text-xl);line-height:1.3}.post-card h3 a:hover{color:var(--accent-hover)}.post-card p{color:var(--muted);font-size:var(--text-sm);line-height:1.55}.post-date{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.tag-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.work-card{gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex}.work-card:hover{border-color:var(--border-strong);box-shadow:var(--elev-raised)}.work-card-meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.work-year{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.work-card h3{font-size:var(--text-xl);line-height:1.3}.tradeoff{max-width:62ch;color:var(--fg-2);font-size:var(--text-sm)}.work-link{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;align-self:flex-start}.work-link:after{content:" →"}.work-link:hover{color:var(--accent-hover)}.now-line{align-items:center;gap:var(--space-3);padding-top:var(--space-6);margin-top:var(--space-12);border-top:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.now-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);border-radius:50%;flex:0 0 8px}.now-label{color:var(--fg);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.status-pill{align-items:center;gap:var(--space-2);background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.case-status{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-warm);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;display:inline-flex}.case-status svg{flex:none;width:12px;height:12px}.case-status[data-status=ongoing]{color:var(--accent)}.case-status[data-status=retired]{color:var(--meta)}.prose{color:var(--fg-2);font-size:var(--text-base);line-height:1.75}.prose>*+*{margin-top:var(--space-6)}.prose h2{margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--fg);font-size:var(--text-2xl);line-height:1.2}.prose h3{margin-top:var(--space-6);margin-bottom:var(--space-2);color:var(--fg);font-size:var(--text-lg)}.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.prose a:hover{color:var(--accent-hover)}.prose code{background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-mono);padding:1px 6px;font-size:.86em}.codeblock pre{padding:var(--space-6);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-sm);tab-size:2;margin:0;line-height:1.65;overflow-x:auto}.tok-com{color:var(--meta)}.tok-kw{color:var(--accent-hover)}.sec-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.sec-head h2{font-size:var(--text-2xl)}.meta-link{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.archive-hero{padding-block:var(--section-y)}.archive-hero h1{margin-bottom:var(--space-5);font-size:var(--text-3xl);line-height:1.1}.archive-hero .lead{margin-bottom:var(--space-6)}.archive-meta{align-items:center;gap:var(--space-3);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;display:flex}.archive-meta .count{color:var(--fg);font-weight:500}.archive-meta .sep{color:var(--meta)}.archive-jump{gap:var(--space-3);margin-top:var(--space-6);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;display:flex}.archive-jump a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px}.archive-jump a:hover{color:var(--fg)}.writing-list{gap:var(--space-12);flex-direction:column;display:flex}.year-group{scroll-margin-top:88px}.year-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.year-head .year{letter-spacing:-.02em;font-size:clamp(28px,4vw,36px);font-weight:600}.year-count{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.post-row{align-items:baseline;gap:var(--space-6);padding:var(--space-5) var(--space-3);margin-inline:calc(-1 * var(--space-3));border-bottom:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:112px 1fr auto;display:grid}.post-row:last-child{border-bottom:0}.post-row:hover{background:var(--fg-soft)}.post-body h3{margin-bottom:var(--space-2);font-size:var(--text-xl);line-height:1.3}.empty-state{padding:var(--space-12) var(--space-8);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.empty-label{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;display:flex}.empty-label:before{content:"";background:var(--accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.empty-copy{max-width:52ch;color:var(--meta);font-size:var(--text-base);line-height:var(--leading-body);margin-inline:auto}.case-list{gap:var(--space-5);flex-direction:column;display:flex}.case-row{gap:var(--space-8);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:132px 1fr;display:grid;position:relative}.case-row:hover{background:var(--surface-warm)}.case-row--featured{background:var(--surface-warm);box-shadow:var(--elev-raised)}.case-feature-label,.case-stage{margin-bottom:var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;display:block}.case-feature-label{color:var(--fg);font-weight:600}.case-meta{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;line-height:1.6}.case-meta .year{margin-bottom:var(--space-2);color:var(--fg);font-weight:500;display:block}.case-body h3{margin-bottom:var(--space-3);font-size:var(--text-xl);line-height:1.3}.case-tradeoff{max-width:68ch;margin-bottom:var(--space-5);color:var(--fg-2);line-height:1.6}.case-tradeoff strong{color:var(--fg);font-weight:500}.case-tradeoff-chips{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.case-chip{min-width:200px;padding:var(--space-3) var(--space-4);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:220px;gap:2px;display:flex}.case-chip-label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.case-chip:first-child .case-chip-label{color:var(--accent)}.case-chip-value{color:var(--fg-2);font-size:var(--text-sm);line-height:1.5}.case-outcome{align-items:baseline;gap:var(--space-3);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.case-outcome .metric{color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600}.case-outcome .label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.case-foot{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.case-read{min-height:44px;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;align-items:center;display:inline-flex}.case-read:after{content:" →"}.case-read:hover{color:var(--accent-hover)}.read-note{max-width:68ch;margin-top:var(--space-12);padding:var(--space-6) var(--space-8);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md)}.read-note p{color:var(--muted);font-size:var(--text-sm)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.input,.textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--fg);font:inherit;font-size:var(--text-base);padding:11px 16px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:120px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--meta)}.input:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus-visible,.textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.field-hint{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.field-error .input,.field-error .textarea{border-color:var(--danger)}.field-error .field-hint{color:var(--danger)}.search-input{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);min-height:44px;padding-inline:16px;transition:border-color .15s,box-shadow .15s;display:flex}.search-input svg{width:16px;height:16px;color:var(--muted);flex:none}.search-input input{min-width:0;color:var(--fg);font:inherit;font-size:var(--text-sm);background:0 0;border:0;flex:1}.search-input input::placeholder{color:var(--meta)}.search-input:focus-within{border-color:var(--border-strong);box-shadow:var(--focus-ring)}.article{padding-block:var(--section-y)}.article-inner{width:100%}.article-inner>*{max-width:720px}.article-meta{align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.article h1{max-width:22ch;margin-bottom:var(--space-5);font-size:var(--text-3xl);line-height:1.1}.article .lede{max-width:60ch;margin-bottom:var(--space-8);color:var(--fg-2);font-size:var(--text-lg);line-height:1.6}.prose p,.prose ul,.prose ol{max-width:75ch}.prose strong{color:var(--fg)}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:var(--space-2)}.codeblock{margin-top:var(--space-5)}.code-caption{margin-top:var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.decision-log{padding:var(--space-6);margin-top:var(--space-5);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-lg)}.dl-label{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600;display:flex}.dl-label:before{content:"";background:var(--fg);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.decision-log dl{gap:var(--space-3);margin:0;display:grid}.decision-log dt{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.decision-log dd{color:var(--fg-2);font-size:var(--text-sm);margin:0;line-height:1.6}.pullquote{margin:var(--space-8) 0}.pullquote .qmark{height:40px;color:var(--accent);font-family:var(--font-display);opacity:.5;font-size:96px;line-height:.6}.pullquote blockquote{max-width:30ch;color:var(--fg);font-family:var(--font-display);font-size:var(--text-2xl);margin:0;line-height:1.35}.pullquote cite{margin-top:var(--space-4);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;display:block}.read-next{padding-top:var(--space-6);margin-top:var(--space-12);border-top:1px solid var(--border)}.rn-label{margin-bottom:var(--space-3);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.rn-link{justify-content:space-between;align-items:baseline;gap:var(--space-4);min-height:44px;padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);margin-inline:-8px;display:flex}.rn-link:hover{background:var(--fg-soft)}.rn-link h3{font-size:var(--text-xl)}.about-inner{grid-template-columns:224px minmax(0,680px);align-items:start;gap:clamp(40px,6vw,72px);display:grid}.about-identity{gap:var(--space-5);padding-right:var(--space-8);border-right:1px solid var(--border);flex-direction:column;display:flex}.about-photo{aspect-ratio:4/5;background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:192px;overflow:hidden}.about-photo img{object-fit:cover;object-position:center top;width:100%;height:100%}.about-caption{color:var(--meta);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5}.about-caption strong{color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;display:block}.about-facts{gap:var(--space-2);margin-top:var(--space-3);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;display:grid}.hero-copy{max-width:680px;padding-top:var(--space-2)}.hero h1{max-width:20ch;margin-top:var(--space-4);margin-bottom:var(--space-5);font-size:var(--text-4xl);line-height:1.05}.hero .lead{margin-bottom:var(--space-6)}.hero-cta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.about-map{gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-8);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;display:flex}.about-map a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px}.skill-card{gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.skill-label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.skill-card h3{font-size:var(--text-lg)}.skill-list{gap:var(--space-2);padding-top:var(--space-1);flex-wrap:wrap;margin-top:auto;display:flex}.timeline{flex-direction:column;display:flex}.tl-row{gap:var(--space-6);padding:var(--space-6) 0;border-top:1px solid var(--border);grid-template-columns:132px 1fr;align-items:baseline;display:grid}.tl-row:first-child{border-top:0;padding-top:0}.tl-when{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.tl-role{color:var(--fg);font-size:var(--text-lg);font-weight:600}.tl-org{margin-left:var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm)}.tl-out{max-width:62ch;margin-top:var(--space-2);color:var(--fg-2);font-size:var(--text-sm);line-height:1.6}.principles,.contact-panel{background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-lg)}.principles{gap:var(--space-6);padding:var(--space-8);display:grid}.pr-label{color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.principles ol{gap:var(--space-4);max-width:65ch;margin:0;padding-left:1.25em;display:grid}.principles li{color:var(--fg-2);line-height:1.65}.principles li strong{color:var(--fg)}.contact-panel{box-shadow:var(--elev-raised);grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:start;gap:clamp(32px,7vw,96px);padding:clamp(32px,5vw,56px);display:grid}.contact-copy h2{max-width:18ch}.contact-copy .lead{margin-top:var(--space-5)}.contact-copy .hero-cta{margin-top:var(--space-6)}.contact-side{gap:var(--space-6);flex-direction:column;display:flex}.contact-status{align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;line-height:1.5;display:flex}.contact-status:before{content:"";background:var(--accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:5px}.contact-channels{gap:var(--space-1);margin:0 calc(-1 * var(--space-3));display:grid}.channel-placeholder,.channel{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);grid-template-columns:16px 9ch minmax(0,1fr);display:grid}.channel-placeholder{color:var(--muted);opacity:.72}.channel{color:var(--fg-2);text-decoration:none;transition:color .15s,background-color .15s}.channel:hover,.channel:focus-visible{background:var(--fg-soft);color:var(--accent-hover)}.channel:hover .ch-label,.channel:focus-visible .ch-label{color:var(--accent-hover)}.channel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.channel-placeholder svg,.channel svg{flex:none;width:16px;height:16px}.ch-label{color:var(--meta);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.ch-value{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=920px){:root{--container-gutter:24px}.grid-3,.grid-4{grid-template-columns:1fr}.about-inner{gap:var(--space-8);grid-template-columns:1fr}.about-identity{border-right:0;padding-right:0}.about-photo{max-width:220px}.hero-copy{padding-top:0}.work-card{gap:var(--space-2);grid-template-columns:1fr}.contact-panel{grid-template-columns:1fr}.tl-row{gap:var(--space-2);grid-template-columns:1fr}}@media (width<=720px){.post-row,.case-row{gap:var(--space-2);grid-template-columns:1fr}.post-date{order:-1}.post-tags{align-self:flex-start}.case-row{padding:var(--space-6)}.case-row--featured{padding:var(--space-6);margin-bottom:var(--space-6)}.case-meta{align-items:center;gap:var(--space-3);display:flex}.case-meta .year{margin-bottom:0;display:inline}.case-feature-label{margin-bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.grid-3{align-items:stretch}.grid-3>*{display:flex}.post-card,.work-card{box-sizing:border-box;width:100%;height:100%}.post-card h3 a,.work-card h3 a,.case-row h3 a,.writing-list .post-row h3 a{color:var(--fg)}.post-card h3 a:hover,.work-card h3 a:hover,.case-row h3 a:hover,.writing-list .post-row h3 a:hover{color:var(--fg);opacity:.8}.writing-list .post-row{align-items:center}.writing-list .post-row h3{font-size:var(--text-2xl)}.writing-list .post-date{align-items:center;display:flex}.case-list .case-row h3{font-size:var(--text-2xl)}.meta-link{color:var(--accent);font-size:var(--text-sm)}.meta-link:hover{color:var(--accent-hover)}.rn-link{align-items:center}.rn-link h3,.rn-link .meta{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;line-height:1}.rn-link .meta{font-size:22px}.rn-link:hover h3,.rn-link:hover .meta{color:var(--fg)}.case-chip{justify-content:center}.case-tradeoff-chips{margin-top:var(--space-5)}.hero,.archive-hero .container{position:relative}.hero{overflow:hidden}.hero-wash{background:linear-gradient(to bottom, var(--accent-soft), transparent 72%);opacity:.6;pointer-events:none;height:220px;position:absolute;inset:-60% -10% auto}.hero>.container{position:relative}.home-inner{align-items:center;gap:var(--space-8);grid-template-columns:260px minmax(0,1fr);display:grid}.home-inner .about-photo{margin-bottom:var(--space-4)}.home-inner .now-line{margin-top:var(--space-6)}.hero-wash--tall{height:260px}@media (width<=920px){.home-inner{gap:var(--space-8);grid-template-columns:1fr}.home-inner .about-photo{max-width:220px}}.timeline{position:relative}.timeline-rule{background:var(--border);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline .writing-list{margin-left:40px}.timeline-entry{align-items:center;display:flex;position:relative}.timeline-entry>.timeline-dot{justify-content:center;width:16px;display:flex;position:absolute;left:-40px}.timeline-dot span{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%}.timeline-entry>.post-row{flex:1;min-width:0}.post-card,.work-card,.post-row{position:relative}.post-card h3 a:after,.work-card h3 a:after,.post-row h3 a:after,.case-row h3 a:after{content:"";border-radius:inherit;position:absolute;inset:0}.work-link,.case-read{z-index:1;position:relative}.read-next{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.read-next .rn-link{justify-content:flex-start;gap:var(--space-3)}.prose pre.astro-code{padding:var(--space-6);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);tab-size:2;margin:0;line-height:1.65;overflow-x:auto}.prose pre.astro-code code{font-size:inherit;background:0 0;border:0;padding:0}.theme-icon-sun,[data-theme=light] .theme-icon-moon,[data-theme=rose-pine-dawn] .theme-icon-moon{display:none}[data-theme=light] .theme-icon-sun,[data-theme=rose-pine-dawn] .theme-icon-sun{display:block}.hero h1.hero-h1{font-size:var(--text-3xl);line-height:1.1}
