@font-face{font-family:Gambarino;src:url('/assets/gambarino.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:General;src:url('/assets/general-0.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:General;src:url('/assets/general-1.woff2') format('woff2');font-display:swap;font-weight:500}
:root{--bg:#fafbfc;--surface:#f0f1ed;--ink:#20251f;--paper:#e7eade;--muted:#5b625a;--accent:#234be0;--accent-ink:#ffffff;--small:.875rem;--body:1.0625rem;--lead:clamp(1.2rem,1.1rem + .7vw,1.625rem);--head:clamp(2rem,1.2rem + 3vw,4rem);--gutter:clamp(22px,4vw,72px);--display:Gambarino,Georgia,serif;--text:General,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--body)/1.6 var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a:hover{color:var(--paper)}a,button{transition:color .18s ease,background-color .18s ease,transform .18s ease}button:active,.button:active{transform:translateY(2px)}:focus-visible{outline:3px solid currentColor;outline-offset:6px}::selection{color:var(--bg);background:var(--ink)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}h3{font-weight:500;line-height:1.35;font-size:var(--lead);margin:32px 0 12px}p{max-width:75ch}img{max-width:100%;height:auto}ul{padding-left:1.25em}pre{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}p code,li code{background:var(--surface);padding:2px 5px;overflow-wrap:anywhere}pre{padding:28px;background:var(--surface);font-size:16px;line-height:1.7;margin:28px 0 38px}pre code{font-size:inherit}button{border:0;border-radius:0}.small{font-size:var(--small);line-height:1.55}.page-pad{padding-left:var(--gutter);padding-right:var(--gutter)}.skip{position:fixed;left:20px;top:-100px;padding:12px 20px;background:var(--ink);color:var(--bg);z-index:50}.skip:focus{top:10px}.site-header{padding:24px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:32px}.brand{font-family:var(--display);font-size:38px;line-height:1;text-decoration:none;letter-spacing:-.06em}.site-header nav{display:flex;align-items:center;gap:clamp(20px,3vw,48px)}.site-header nav a,.search-trigger{font-size:16px;text-decoration:none;min-height:44px;display:flex;align-items:center}.search-trigger{background:transparent;color:var(--ink);padding:0;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;line-height:1.3;padding:15px 24px;background:var(--ink);color:var(--bg);font-size:16px;text-decoration:none;font-weight:500}.button:hover{background:var(--paper);color:var(--bg)}.button.ink{background:var(--bg);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px}.hero{padding:28px var(--gutter) 54px;min-height:calc(100svh - 92px);display:flex;flex-direction:column;justify-content:space-between;max-height:1050px}.hero-name{font-size:clamp(110px,21.4vw,340px);line-height:.77;letter-spacing:-.065em;padding-top:10px}.hero-name span{display:block;transform-origin:left}.hero-name span+span{color:var(--paper);margin-left:20%;margin-top:12px}.hero-bottom{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-top:48px}.hero-bottom p{font-size:var(--lead);line-height:1.45;max-width:36ch}.featured{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:var(--surface);padding-top:100px;padding-bottom:100px}.featured h2{font-size:var(--head);max-width:12ch;margin-bottom:30px}.featured p{margin-bottom:24px}.featured-copy>p{max-width:46ch}.code-specimen p{font-size:var(--small)}.code-specimen pre{padding:0;margin:20px 0 28px;background:transparent;font-size:clamp(16px,1.7vw,26px);line-height:1.6;color:var(--paper)}.code-specimen code span{color:var(--ink)}.archive{padding-top:118px;padding-bottom:110px}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;margin-bottom:60px}.section-intro h2{font-size:var(--head)}.section-intro p{max-width:46ch}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;color:var(--ink);padding:12px 18px;min-height:48px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.article-row{display:grid;grid-template-columns:1.05fr 1fr .4fr;column-gap:5vw;padding:32px 0;align-items:start}.article-row:nth-child(even){background:var(--surface);margin:0 calc(var(--gutter)*-1);padding-left:var(--gutter);padding-right:var(--gutter)}.row-title{font-size:clamp(23px,2.1vw,32px);line-height:1.25;letter-spacing:-.025em;font-family:var(--display);text-decoration:none;text-wrap:balance}.row-title:hover{text-decoration:underline}.article-row>p{font-size:16px;line-height:1.6}.row-meta{font-size:var(--small);display:flex;flex-direction:column;gap:8px}.row-meta a{text-decoration:none}.row-meta span{color:var(--muted)}[hidden]{display:none!important}.archive>.text-link{margin-top:32px}.cost-band{background:var(--ink);color:var(--bg);padding-top:96px;padding-bottom:84px}.cost-band a:hover{color:var(--bg)}.calculator{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:start}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calc-fields label{font-size:var(--small);display:flex;flex-direction:column;gap:8px}.calc-fields label:first-child{grid-column:1/-1}.calc-fields input{border:0;border-radius:0;background:var(--paper);color:var(--bg);width:100%;padding:12px 16px;min-height:50px;font-size:20px}.calculator .button{margin:28px 0}.calc-result>span{font-size:var(--small)}.calc-result output{display:block;font-family:var(--display);font-size:clamp(60px,8.2vw,130px);letter-spacing:-.05em;line-height:1.2;overflow-wrap:anywhere}.calc-result p{margin:16px 0 24px}.cost-band>.small{margin-top:24px}.editorial{display:grid;grid-template-columns:1fr 1.6fr;gap:8vw;padding-top:120px;padding-bottom:120px}.editorial h2{font-size:var(--head);max-width:10ch}.statement{font-size:clamp(24px,2.5vw,36px);line-height:1.35;letter-spacing:-.025em;margin-bottom:32px}.editorial .text-link{margin-top:24px}.footer{padding:72px var(--gutter) 0;background:var(--paper);color:var(--bg);overflow:hidden}.footer a:hover{color:var(--bg)}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-invite{font:400 clamp(38px,4.7vw,72px)/1.1 var(--display);letter-spacing:-.025em}.footer-top>div{display:flex;flex-direction:column;gap:12px;min-width:180px}.footer-top a{min-height:32px}.footer-credit{margin-top:70px;font-size:var(--small)}.footer-name{font:400 19.7vw/.9 var(--display);letter-spacing:-.06em;white-space:nowrap;margin-top:35px;transform:translateY(22%);margin-bottom:-.02em;margin-left:-.025em}.archive-main{padding-top:80px;padding-bottom:110px}.archive-main h1,.info-page h1,.tool-page h1{font-size:clamp(48px,7vw,110px);max-width:14ch;margin-bottom:36px}.page-lead{font-size:var(--lead);line-height:1.5;margin-bottom:56px;max-width:48ch}.archive-main .article-list{margin-top:64px}.back-link{display:inline-flex;min-height:44px;align-items:center;margin-bottom:26px;font-size:16px}.article-header{padding-top:55px;padding-bottom:74px;max-width:1400px;margin:auto}.article-header h1{font-size:clamp(46px,6.5vw,98px);max-width:17ch;line-height:1.03;margin-bottom:36px}.article-deck{font-size:var(--lead);max-width:61ch;line-height:1.5}.byline{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:var(--small);margin-top:36px}.reading-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);column-gap:8vw;max-width:1400px;margin:0 auto;padding-bottom:80px}.toc{position:sticky;top:30px;align-self:start;font-size:var(--small)}.toc summary{font-weight:500;padding-bottom:18px;cursor:pointer}.toc nav{display:flex;flex-direction:column;gap:12px}.toc nav a{text-decoration:none;line-height:1.45;padding:4px 0}.toc nav a:hover{text-decoration:underline}.prose{max-width:760px;width:100%}.prose section{margin-bottom:64px}.prose h2{font-size:clamp(30px,3vw,42px);line-height:1.18;margin-bottom:28px;max-width:26ch}.prose p{margin-bottom:22px;font-size:18px;line-height:1.8}.prose li{margin-bottom:12px;font-size:18px;line-height:1.7}.prose strong{font-weight:500;color:var(--ink)}.table-wrap{overflow:auto;margin:28px 0 32px}table{border-collapse:collapse;min-width:100%;font-size:16px}caption{text-align:left;padding-bottom:16px;font-size:var(--small)}th,td{text-align:left;padding:16px;vertical-align:top}th{font-weight:500}thead{background:var(--ink);color:var(--bg)}tbody tr:nth-child(even){background:var(--surface)}.sources{background:var(--surface);padding:32px;margin-top:70px}.sources p,.sources li{font-size:16px}.sources h2{font-size:32px}.share-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}.share-row button{background:var(--ink);color:var(--bg);min-height:48px;padding:10px 20px}.related{padding-top:70px;padding-bottom:90px;background:var(--surface)}.related h2{font-size:var(--head);margin-bottom:40px}.related .article-row:nth-child(even){background:var(--bg)}.info-page,.tool-page{padding-top:80px;padding-bottom:120px;max-width:1400px;margin:auto}.info-page>.prose{margin-left:25%;max-width:760px}.info-page .prose>h2{margin-top:50px}.tool-page .calculator{padding:44px;background:var(--ink);color:var(--bg);margin:60px 0 72px}.tool-page>.prose{margin-left:auto;margin-right:auto}.tool-page .prose h2{margin-top:50px}.search-dialog{position:fixed;inset:0;max-width:800px;width:calc(100% - 32px);max-height:85svh;overflow:auto;border:0;padding:40px;background:var(--paper);color:var(--bg)}.search-dialog::backdrop{background:rgb(13 17 34 / 82%)}.search-top{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:32px}.search-top h2{font-size:36px}.search-top button{font-size:16px;min-height:44px;background:transparent;color:var(--bg)}.search-dialog label{display:block;font-size:16px}.search-dialog input{width:100%;border:0;background:white;padding:14px;font-size:18px;margin:12px 0 24px;min-height:52px}.search-dialog ul{list-style:none;padding:0}.search-dialog li{margin:24px 0}.search-dialog li a{font-size:24px;font-family:var(--display);text-decoration:none}.search-dialog li p{font-size:16px;margin-top:6px}.search-dialog a:hover{color:var(--bg);text-decoration:underline}#search-status{font-size:var(--small)}.toast{position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);background:var(--paper);color:var(--bg);padding:0;z-index:50;font-size:16px}.toast:not(:empty){padding:14px 22px}
@media(prefers-reduced-motion:no-preference){.hero-name span{animation:rise .75s cubic-bezier(.22,1,.36,1) both}.hero-name span+span{animation-delay:.1s}.hero-bottom{animation:appear .6s .25s both}.article-row:hover .row-title{transform:translateX(4px)}@keyframes rise{from{opacity:.5;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
@media(min-width:1600px){.hero-name{font-size:330px}.hero{max-width:1600px;margin:auto}.article-row{column-gap:70px}}
@media(max-width:900px){.hero{min-height:720px}.hero-name{font-size:24vw}.hero-name span+span{margin-left:8%}.featured{gap:4vw}.featured h2{font-size:42px}.article-row{grid-template-columns:1fr 1fr;gap:20px 30px}.row-meta{grid-column:1/-1;flex-direction:row}.section-intro{gap:32px}.calculator{gap:36px;grid-template-columns:1.2fr 1fr}.calc-fields{gap:18px}.calc-result output{font-size:66px}.reading-layout{gap:36px;grid-template-columns:180px minmax(0,1fr)}.info-page>.prose{margin-left:15%;width:85%}}
@media(max-width:600px){:root{--gutter:22px}.site-header{padding-top:18px;padding-bottom:18px;gap:18px}.brand{font-size:34px}.site-header nav{gap:18px}.site-header nav a,.search-trigger{font-size:14px}.site-header nav a:nth-child(3){display:none}.search-trigger span{display:none}.hero{padding-top:38px;padding-bottom:38px;min-height:calc(90svh - 80px);max-height:none}.hero-name{font-size:clamp(100px,27vw,180px);line-height:.86;letter-spacing:-.055em}.hero-name span+span{margin-left:0;margin-top:4px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:28px;margin-top:44px}.hero-bottom p{font-size:19px;max-width:28ch}.button{min-height:52px}.featured{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;gap:40px}.featured h2{font-size:35px;max-width:16ch;margin-bottom:26px}.featured-copy>p{font-size:16px}.code-specimen pre{font-size:17px;margin-top:22px}.code-specimen p{font-size:14px}.archive{padding-top:64px;padding-bottom:64px}.section-intro{display:block;margin-bottom:34px}.section-intro h2{font-size:36px;margin-bottom:24px}.section-intro p{font-size:16px;max-width:33ch}.filters{gap:2px;margin-bottom:8px}.filters button{font-size:14px;padding:12px 11px}.article-row{display:flex;flex-direction:column;gap:16px;padding:26px 0}.row-title{font-size:27px;max-width:24ch}.article-row>p{font-size:16px}.row-meta{display:flex;flex-direction:row;gap:16px;font-size:13px}.cost-band{padding-top:56px;padding-bottom:56px}.calculator{grid-template-columns:1fr;gap:16px}.calc-fields{gap:20px 14px}.calc-fields label{font-size:13px}.calc-fields input{padding:12px;font-size:19px}.calc-result output{font-size:74px}.calc-result p{max-width:34ch}.editorial{grid-template-columns:1fr;gap:30px;padding-top:64px;padding-bottom:64px}.editorial h2{font-size:36px;max-width:none}.statement{font-size:24px}.editorial p:not(.statement){font-size:16px}.footer{padding-top:48px}.footer-top{flex-direction:column;gap:36px}.footer-invite{font-size:42px}.footer-top>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px}.footer-credit{font-size:13px;margin-top:44px;max-width:29ch}.footer-name{font-size:21vw;margin-top:26px;margin-bottom:0;letter-spacing:-.07em}.archive-main,.info-page,.tool-page{padding-top:48px;padding-bottom:64px}.archive-main h1,.info-page h1,.tool-page h1{font-size:46px;margin-bottom:26px}.page-lead{font-size:20px;margin-bottom:36px}.archive-main .article-list{margin-top:30px}.article-header{padding-top:26px;padding-bottom:42px}.article-header h1{font-size:38px;max-width:18ch;margin-bottom:28px;overflow-wrap:break-word}.article-deck{font-size:19px}.byline{gap:8px 20px;font-size:13px;margin-top:28px}.reading-layout{display:flex;flex-direction:column;gap:40px;padding-bottom:46px}.toc{position:static;width:100%;padding:22px;background:var(--surface)}.toc nav{gap:8px}.toc summary{font-size:16px}.prose p,.prose li{font-size:17px;line-height:1.8}.prose h2{font-size:30px;max-width:24ch;margin-bottom:24px}.prose section{margin-bottom:44px}.prose h3{font-size:20px}pre{font-size:14px;padding:18px;margin:24px 0 32px}.sources{padding:22px;margin-top:44px}.sources h2{font-size:28px}.sources p,.sources li{font-size:15px}.related{padding-top:46px;padding-bottom:46px}.related h2{font-size:34px;margin-bottom:26px}.info-page>.prose{margin-left:0;width:100%}.tool-page .calculator{padding:24px;margin:40px calc(var(--gutter)*-1) 50px}.search-dialog{padding:24px}.search-top h2{font-size:30px}.search-top button{font-size:14px}.search-dialog li a{font-size:23px}.search-dialog input{font-size:16px}.table-wrap{max-width:100%}th,td{padding:12px}table{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.copy-code{display:block;background:var(--ink);color:var(--bg);padding:10px 18px;min-height:44px;font-size:14px;margin-top:-22px;margin-bottom:34px}.code-specimen+.copy-code{margin-top:0}
/* Editorial revision: a light reading surface, dark ink and a single blue action. */
a:hover{color:var(--accent)}.site-header{padding-top:22px;padding-bottom:14px}.brand{font-size:40px}.site-header nav a:hover,.search-trigger:hover{color:var(--accent)}.hero{padding-top:24px;padding-bottom:56px;min-height:0;max-height:none;max-width:none}.hero-name{font-size:clamp(74px,15.8vw,270px);line-height:.91;letter-spacing:-.055em;padding:0;white-space:nowrap}.hero-bottom{margin-top:30px;align-items:center}.hero-bottom p{font-size:18px;line-height:1.5;max-width:52ch}.button{background:var(--accent);color:var(--accent-ink)}.button:hover{background:var(--ink);color:var(--bg)}.featured{padding-top:64px;padding-bottom:64px;gap:7vw;grid-template-columns:1.1fr 1fr}.featured h2{max-width:17ch;font-size:clamp(36px,4.1vw,62px)}.featured-copy>p{font-size:17px;line-height:1.7;max-width:48ch}.code-specimen{background:#1c2b24;color:#f0f4e9;padding:36px 40px;min-height:330px}.code-specimen pre{font-size:clamp(16px,1.6vw,24px);color:#f0f4e9;line-height:1.7;margin:30px 0}.code-specimen code span{color:#aad8a7}.code-specimen .copy-code{background:#dbe8cf;color:#1c2b24;margin:0 0 20px}.code-specimen>p:last-child{margin:0}.archive{padding-top:84px;padding-bottom:84px}.section-intro{margin-bottom:40px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.article-row{padding-top:36px;padding-bottom:36px}.row-title{font-size:clamp(24px,2.2vw,34px);max-width:26ch}.cost-band{background:#dfe7d5;color:var(--ink)}.cost-band .button.ink{background:var(--ink);color:var(--bg)}.calc-fields input{background:var(--bg);color:var(--ink)}.calc-result output{font-size:clamp(60px,8vw,120px)}.editorial{padding-top:90px;padding-bottom:90px}.footer{background:var(--ink);color:var(--bg);padding-top:62px}.footer a:hover{color:#c4d4ff}.footer-name{font-size:18.6vw}.footer-credit{color:#d5dbd2}.search-dialog{background:var(--bg);color:var(--ink)}.search-dialog input{background:var(--surface);color:var(--ink)}.search-top button{color:var(--ink)}.search-dialog a:hover{color:var(--accent)}.prose strong{color:var(--ink)}.tool-page .calculator{background:#dfe7d5;color:var(--ink)}.sources{background:var(--surface)}.toast{background:var(--ink);color:var(--bg)}.article-header h1{font-size:clamp(42px,5.7vw,84px)}
@media(max-width:900px){.hero{min-height:0}.hero-name{font-size:15.5vw}.featured{gap:4vw}.code-specimen{padding:28px;min-height:300px}.code-specimen pre{font-size:16px}.featured h2{font-size:38px}}
@media(max-width:600px){.hero{min-height:0;padding-top:24px;padding-bottom:38px}.hero-name{font-size:16vw;line-height:1.1;letter-spacing:-.05em}.hero-bottom{margin-top:22px;gap:20px;align-items:flex-start}.hero-bottom p{font-size:16px;max-width:32ch}.hero-bottom .button{font-size:14px;min-height:46px;padding:12px 18px}.site-header{padding-top:14px;padding-bottom:14px}.site-header nav{gap:17px}.featured{padding-top:38px;padding-bottom:38px;grid-template-columns:1fr;gap:28px}.featured h2{font-size:35px;max-width:20ch;margin-bottom:22px}.featured-copy>p{font-size:16px}.code-specimen{padding:24px;min-height:0}.code-specimen pre{font-size:15px;line-height:1.7}.archive{padding-top:48px;padding-bottom:48px}.section-intro h2{font-size:34px}.article-row{padding-top:28px;padding-bottom:28px;gap:14px}.row-title{font-size:26px;max-width:25ch}.section-intro{margin-bottom:30px}.filters button{font-size:13px;padding:12px 9px}.cost-band{padding-top:48px;padding-bottom:48px}.editorial{padding-top:56px;padding-bottom:56px}.footer-name{font-size:20vw}.article-header h1{font-size:36px;max-width:19ch}.article-deck{font-size:18px}.article-header{padding-bottom:34px}}

@media(max-width:600px){.hero-bottom p{font-size:18px}}
