:root{--ink:#3a2f23;--ink-soft:#5d5240;--ink-mute:#8b7c61;--paper:#fcf4df;--card:#f4e6c4;--line:#e2d2a8;--blue:#61889c;--orange:#b27656;--green:#8c7a45;--red:#734c5f;--gold:#ccaa74;--teal:#679b82;--violet:#7e708f;--pink:#a5798c;--gray:#97896f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:Public Sans,system-ui,sans-serif;font-size:16px;line-height:1.65}.wrap{max-width:860px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:Archivo,sans-serif;line-height:1.1}a{color:var(--blue)}.dollar{border:1px solid var(--line);border-radius:8px;width:100%;height:34px;display:flex;overflow:hidden}.dollar div{height:100%}.dollar-legend{color:var(--ink-soft);flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:12.5px;display:flex}.dollar-legend span{align-items:center;gap:6px;display:flex}.sw{border-radius:3px;flex:none;width:11px;height:11px}header{border-bottom:1px solid var(--line);padding:64px 0 48px}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-family:Archivo;font-size:12px;font-weight:700}h1{letter-spacing:-.02em;margin:10px 0 6px;font-size:clamp(40px,7vw,72px);font-weight:900}.subtitle{color:var(--ink-soft);max-width:640px;margin-bottom:28px;font-size:clamp(17px,2.4vw,21px)}.byline{color:var(--ink-mute);margin-top:14px;font-size:13px}section{border-bottom:1px solid var(--line);padding:56px 0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px;font-family:Archivo;font-size:12px;font-weight:700}.eyebrow b{color:var(--orange)}h2{letter-spacing:-.015em;margin-bottom:14px;font-size:clamp(26px,4vw,38px);font-weight:900}h3{margin:34px 0 8px;font-size:18px;font-weight:700}p{max-width:720px;margin:12px 0}p.lede{color:var(--ink-soft);font-size:18px}.note{color:var(--ink-mute);border-left:3px solid var(--line);max-width:700px;margin:18px 0;padding:6px 0 6px 14px;font-size:13.5px}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:22px 0;display:grid}.card{background:var(--card);border-radius:12px;padding:16px 18px}.card .lbl{color:var(--ink-mute);font-size:12.5px}.card .val{margin:2px 0;font-family:Archivo;font-size:26px;font-weight:700}.card .sub{color:var(--ink-soft);font-size:12.5px}.chart{width:100%;margin:18px 0;position:relative}.chart-title{margin:26px 0 2px;font-size:15px;font-weight:600}.chart-sub{color:var(--ink-mute);margin-bottom:8px;font-size:13px}figure.viz{scroll-margin-top:24px}.viz-id{z-index:5;color:var(--ink-mute);border:1px dashed var(--line);border-radius:4px;margin:8px 0 -4px auto;padding:1px 7px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;text-decoration:none;display:table;position:relative}.viz-id:hover{color:var(--ink-soft);border-style:solid}figure{margin:0}figcaption{color:var(--ink-mute);margin-top:6px;font-size:12.5px}.viz-caption{max-width:700px;margin-top:8px;line-height:1.5}.viz-caption .vc-line{display:block}.viz-caption b{color:var(--ink-soft);font-weight:600}.detras{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:700px;margin:14px 0 26px}.detras-toggle{cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:10px;width:100%;padding:10px 2px;font-family:inherit;display:flex}.detras-arrow{color:var(--orange);font-size:13px;line-height:1;transition:transform .25s}.detras-toggle[aria-expanded=true] .detras-arrow{transform:rotate(90deg)}.detras-text{flex-wrap:wrap;gap:1px 10px;display:flex}.detras-title{color:var(--ink-soft);font-size:13.5px;font-weight:600}.detras-sub{color:var(--ink-mute);font-size:12.5px}.detras-toggle:hover .detras-title,.detras-toggle:focus-visible .detras-title{color:var(--ink)}.detras-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.detras-panel{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.detras-inner{visibility:hidden;min-height:0;transition:visibility 0s .3s;overflow:hidden}.detras-toggle[aria-expanded=true]+.detras-panel{grid-template-rows:1fr}.detras-toggle[aria-expanded=true]+.detras-panel .detras-inner{visibility:visible;transition:visibility}@media (prefers-reduced-motion:reduce){.detras-panel,.detras-arrow{transition:none}}.detras-inner h4{letter-spacing:.02em;margin:16px 0 4px;font-family:Archivo,sans-serif;font-size:13px}.detras-inner>:first-child{margin-top:4px}.detras-inner p{color:var(--ink-soft);max-width:640px;margin:0 0 10px;font-size:13.5px}.detras-inner>:last-child{margin-bottom:14px}.detras-placeholder{color:var(--ink-mute);font-style:italic}.detras-inner h5{color:var(--ink);margin:18px 0 4px;font-family:Public Sans,system-ui,sans-serif;font-size:13px;font-weight:600}.detras-inner .formula{color:var(--ink);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:8px;max-width:640px;margin:12px 0;padding:10px 14px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.detras-inner table{border-collapse:collapse;margin:8px 0 12px;font-size:12.5px}.detras-inner th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--line);padding:4px 22px 4px 0;font-size:10.5px;font-weight:700}.detras-inner td{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:6px 22px 6px 0}.detras-inner .calc-lines{color:var(--ink-soft);flex-direction:column;gap:6px;margin:10px 0;font-size:12.5px;display:flex}.detras-inner code{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.detras-inner code .cn{color:var(--blue)}.detras-inner code .co{color:var(--orange)}.detras-inner code .cr{color:var(--teal);font-weight:700}.detras-inner .calc-note{color:var(--ink-mute);font-size:12px;font-style:italic}.detras-inner ul,.detras-inner ol{color:var(--ink-soft);flex-direction:column;gap:5px;margin:8px 0 12px 18px;font-size:12.5px;display:flex}.compare{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0;display:grid}.compare .card .who{margin-bottom:2px;font-size:15px;font-weight:600}details.explainer,details.explainer[data-theme=light]{--ex-bg:var(--card);--ex-panel:var(--paper);--ex-line:var(--line);--ex-fg:var(--ink);--ex-soft:var(--ink-soft);--ex-comment:var(--ink-mute);--ex-accent:var(--orange);--ex-heading:var(--green);--ex-num:var(--blue);--ex-op:var(--orange);--ex-res:var(--teal);--ex-str:var(--ink);--ex-link:var(--blue)}details.explainer[data-theme=mono]{--ex-bg:#272822;--ex-panel:#1e1f1c;--ex-line:#3e3d32;--ex-fg:#f2f1ec;--ex-soft:#cfccc0;--ex-comment:#918d7d;--ex-accent:#f92672;--ex-heading:#a6e22e;--ex-num:#ae81ff;--ex-op:#f92672;--ex-res:#a6e22e;--ex-str:#e6db74;--ex-link:#66d9ef}details.explainer[data-theme=ocean]{--ex-bg:#1b2b34;--ex-panel:#142129;--ex-line:#2a3f4d;--ex-fg:#e6edf3;--ex-soft:#b3c2cc;--ex-comment:#6b8296;--ex-accent:#f78c6c;--ex-heading:#82aaff;--ex-num:#c792ea;--ex-op:#89ddff;--ex-res:#addb67;--ex-str:#ecc48d;--ex-link:#82aaff}details.explainer{background:var(--ex-bg);border:1px solid var(--ex-line);border-radius:12px;max-width:720px;margin:24px 0;overflow:hidden;box-shadow:0 12px 32px #1e1a1224}details.explainer summary{cursor:pointer;background:var(--card);color:var(--ink-soft);align-items:center;gap:10px;padding:12px 16px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;list-style:none;display:flex}details.explainer[open] summary{border-bottom:1px solid var(--line)}details.explainer summary::-webkit-details-marker{display:none}details.explainer summary:after{content:"▸";color:var(--orange);margin-left:auto;font-size:14px;transition:transform .2s}details.explainer[open] summary:after{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){details.explainer summary:after{transition:none}}.explainer-body{color:var(--ex-soft);padding:4px 18px 20px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.65}.explainer-themes{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 16px;display:flex}.explainer-themes .ex-themes-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ex-comment);font-size:11px}.ex-theme-btn{border:1px solid var(--ex-line);cursor:pointer;border-radius:8px;width:38px;height:38px;padding:0;transition:box-shadow .15s,transform .15s;display:inline-flex;overflow:hidden}.ex-theme-btn .sw{gap:0;width:100%;height:100%;display:flex}.ex-theme-btn .sw i{border-radius:0;flex:1;height:100%}.ex-theme-btn:hover{transform:translateY(-1px)}.ex-theme-btn.is-active{border-color:var(--ex-accent);box-shadow:0 0 0 2px var(--ex-accent)}@media (prefers-reduced-motion:reduce){.ex-theme-btn{transition:none}}.explainer-body p{max-width:660px;margin:12px 0}.explainer-body b{color:var(--ex-fg)}.explainer-body a{color:var(--ex-link)}.explainer-body h4{color:var(--ex-heading);margin:24px 0 4px;font-family:inherit;font-size:13px;font-weight:700}.explainer-body h4:before{content:"## ";color:var(--ex-comment);font-weight:400}.explainer-body .formula{color:var(--ex-str);background:var(--ex-panel);border:1px solid var(--ex-line);border-left:3px solid var(--ex-accent);border-radius:8px;margin:12px 0;padding:10px 14px;font-size:12.5px}.explainer-body table{border-collapse:collapse;margin:8px 0 12px;font-size:12.5px}.explainer-body th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ex-comment);border-bottom:1px solid var(--ex-line);padding:4px 22px 4px 0;font-size:10.5px;font-weight:700}.explainer-body td{border-bottom:1px solid var(--ex-line);color:var(--ex-fg);padding:6px 22px 6px 0}.explainer-body .calc-lines{flex-direction:column;gap:6px;margin:10px 0;font-size:12.5px;display:flex}.explainer-body code{background:var(--ex-panel);border:1px solid var(--ex-line);border-radius:6px;padding:2px 7px;font-family:inherit;font-size:12px}.explainer-body code .cn{color:var(--ex-num)}.explainer-body code .co{color:var(--ex-op)}.explainer-body code .cr{color:var(--ex-res);font-weight:700}.explainer-body .calc-note{color:var(--ex-comment);font-size:12px;font-style:italic}.explainer-body .calc-note:before{content:"// "}.explainer-body ul,.explainer-body ol{flex-direction:column;gap:5px;margin:8px 0 4px 18px;font-size:12.5px;display:flex}.explainer-body .chart,.explainer-body .ladder{background:var(--paper);border-radius:10px;padding:12px}.explainer-body .ladder{color:var(--ink-soft);font-family:Public Sans,system-ui,sans-serif}.ladder{grid-template-columns:1fr 236px;gap:8px 16px;max-width:760px;margin:18px 0 22px;display:grid}.ladder .step{background:var(--card);border-radius:10px;grid-column:1;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;display:flex}.ladder .lnum{background:var(--ink-mute);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-family:Archivo;font-size:12.5px;font-weight:700;display:flex}.ladder .step:first-child{background:#cca74e}.ladder .step:nth-child(2){background:#d5b463}.ladder .step:nth-child(3){background:#ddc177}.ladder .step:nth-child(4){background:#e4cd8b}.ladder .step:nth-child(5){background:#ebd9a1}.ladder .step:first-child .lnum{background:#2f5346}.ladder .step:nth-child(2) .lnum{background:#44705b}.ladder .step:nth-child(3) .lnum{background:#4f7d66}.ladder .step:nth-child(4) .lnum{background:#679b82}.ladder .step:nth-child(5) .lnum{color:var(--ink);background:#a9c9b4}.ladder .lcard{background:var(--card);color:var(--ink-soft);border-radius:10px;grid-column:2;align-self:center;padding:10px 12px;font-size:12px;line-height:1.5}.ladder .lcard b{color:var(--ink);margin-bottom:2px;font-family:Archivo;font-size:13.5px;display:block}.ladder .lcard.sg{border-left:4px solid var(--teal);grid-row:1/3}.ladder .lcard.ee{border-left:4px solid var(--teal);grid-row:3/4}.ladder .lcard.us{border-left:4px solid var(--blue);grid-row:4/5}.ladder .lcard.pr{border-left:4px solid var(--red);grid-row:5/6}@media (width<=640px){.ladder{grid-template-columns:1fr}.ladder .lcard{grid-column:1;grid-row:auto!important}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(20px)}.reveal.in{opacity:1;transform:none}.zoom .grow{width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}.zoom.in .grow{width:var(--w)}.houses{letter-spacing:4px;font-size:34px}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.zoom .grow{transition:none;width:var(--w)!important}}footer{color:var(--ink-soft);padding:48px 0 80px;font-size:13.5px}footer h2{font-size:22px}
