.single{padding-bottom:0}.sp-bar{border-bottom:1px solid var(--line);background:var(--bg-soft)}.sp-bar-inner{max-width:var(--maxw);margin:0 auto;padding:12px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12.5px;color:var(--ink-3)}.bcrumb{display:flex;gap:8px;align-items:center}.bcrumb a{color:var(--ink-3)}.bcrumb a:hover{color:var(--accent)}.bcrumb-here{color:var(--ink);font-weight:500}.sp-bar-meta{color:var(--ink-4)}.sp-hero{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter) var(--sp-7)}.sp-hero-inner{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--sp-7);align-items:end}.sp-title{font-family:var(--f-serif);font-weight:400;font-size:clamp(40px, 5.5vw, 76px);line-height:1.02;letter-spacing:-.025em;margin:18px 0 18px;text-wrap:balance}.sp-title em{font-style:italic;color:var(--accent)}.sp-lede{font-size:18px;color:var(--ink-2);margin:0 0 24px;max-width:56ch;text-wrap:pretty}.sp-quick{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px;border-top:1px solid var(--line);padding-top:18px}.sp-quick li{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:8px 0;font-size:13.5px;border-bottom:1px solid var(--line)}.sp-quick li:nth-last-child(-n+2){border-bottom:0}.q-k{font-family:var(--f-mono);color:var(--ink-4);font-size:12px}.q-v{color:var(--ink)}.sp-hero-r{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--sh-1);overflow:hidden}.sp-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.sp-metrics li{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.sp-metrics li:nth-child(2n){border-right:0}.sp-metrics li:nth-last-child(-n+2){border-bottom:0}.sp-metrics .m-num{font-size:32px}@media (max-width:860px){.sp-hero-inner{grid-template-columns:1fr}}.sp-cover{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.sp-cover-art{position:relative;border-radius:var(--r-3);border:1px solid var(--line);background:var(--bg-elev);color:var(--accent);overflow:hidden;aspect-ratio:1200/480;box-shadow:var(--sh-1)}.sp-cover-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:grayscale(.4);pointer-events:none}.sp-cover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.sp-cover-cap{display:block;font-size:11px;color:var(--ink-4);margin-top:10px}.sp-body{max-width:var(--maxw);margin:0 auto;padding:var(--sp-9) var(--gutter);display:grid;grid-template-columns:220px 1fr;gap:var(--sp-7)}@media (max-width:900px){.sp-body{grid-template-columns:1fr}.sp-toc{position:static!important}}.sp-toc{position:sticky;top:92px;align-self:start;font-size:14px}.sp-toc .eyebrow{margin-bottom:14px;display:inline-block}.toc{display:grid;gap:4px;border-left:1px solid var(--line);padding-left:14px;counter-reset:toc}.toc li{counter-increment:toc}.toc a{display:block;padding:6px 0;color:var(--ink-3);font-size:14px}.toc a::before{content:counter(toc,decimal-leading-zero) "  ";font-family:var(--f-mono);color:var(--ink-4);font-size:11px}.toc a:hover{color:var(--accent)}.toc-share{margin-top:28px;font-size:12px}.toc-share .mono{color:var(--ink-4);display:block;margin-bottom:6px}.toc-share ul{display:grid;gap:4px}.toc-share a{color:var(--ink-2)}.toc-share a:hover{color:var(--accent)}.prose{max-width:720px}.sp-article .alignfull,.sp-article .alignwide{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}.prose section+section{margin-top:56px}.prose h2{font-family:var(--f-serif);font-weight:400;font-size:clamp(28px, 3.4vw, 40px);line-height:1.1;letter-spacing:-.02em;margin:0 0 18px;position:relative;padding-top:18px}.prose h2::before{content:"";position:absolute;top:0;left:0;width:32px;height:2px;background:var(--accent)}.prose p{font-size:17px;line-height:1.7;color:var(--ink-2);margin:0 0 16px;text-wrap:pretty}.prose strong{color:var(--ink);font-weight:600}.prose em{font-family:var(--f-serif);font-style:italic;font-size:1.04em}.prose-list{display:grid;gap:8px;margin:8px 0 16px;font-size:16px;color:var(--ink-2)}.prose-list li{position:relative;padding-left:22px;line-height:1.55}.prose-list li::before{content:"▸";position:absolute;left:0;top:0;color:var(--accent);font-family:var(--f-mono)}.prose-steps{display:grid;gap:14px;margin:16px 0}.prose-steps li{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:18px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-2)}.ps-n{font-family:var(--f-mono);font-size:12px;color:var(--accent);letter-spacing:.04em;padding-top:4px}.prose-steps h4{margin:0 0 4px;font-family:var(--f-sans);font-size:16px;font-weight:600;letter-spacing:-.005em}.prose-steps p{margin:0;font-size:14.5px;line-height:1.6}.diag{margin:24px 0 8px;padding:24px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-3);color:var(--ink-2);box-shadow:var(--sh-1)}.diag svg{width:100%;height:auto}.diag figcaption{margin-top:12px;font-size:11px;color:var(--ink-4)}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:16px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-grid li{padding:22px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.result-grid li:last-child{border-right:0}.rg-num{font-family:var(--f-serif);font-size:clamp(36px, 4vw, 48px);line-height:1;letter-spacing:-.02em}.rg-num small{font-family:var(--f-sans);font-size:.55em;color:var(--ink-3);margin-left:1px}.rg-l{font-size:12.5px;color:var(--ink-3);line-height:1.45;max-width:22ch}@media (max-width:760px){.result-grid{grid-template-columns:repeat(2,1fr)}.result-grid li:nth-child(2){border-right:0}.result-grid li:nth-child(-n+2){border-bottom:1px solid var(--line)}}.pull{margin:24px 0;padding:24px 28px;border-left:3px solid var(--accent);background:var(--accent-soft);font-family:var(--f-serif);font-size:22px;line-height:1.35;color:var(--ink);border-radius:0 var(--r-2) var(--r-2) 0}.pull cite{display:block;margin-top:12px;font-family:var(--f-mono);font-size:12px;font-style:normal;color:var(--ink-3);letter-spacing:.02em}.sp-stack{margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}.sp-stack .eyebrow{margin-bottom:14px;display:inline-block}.sp-stack-chips{margin-top:4px}.sp-next{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sp-next-inner{max-width:var(--maxw);margin:0 auto;padding:var(--sp-7) var(--gutter)}.sp-next .eyebrow{margin-bottom:16px;display:inline-block}.next-card{background:var(--bg-elev)}@media (max-width:760px){.sp-hero{padding:var(--sp-5) var(--gutter) var(--sp-6)}.sp-title{font-size:clamp(32px, 8vw, 48px)}.sp-lede{font-size:16px}.sp-quick{grid-template-columns:1fr}.sp-quick li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.sp-quick li:last-child{border-bottom:0}.sp-metrics .m-num{font-size:26px}.sp-metrics li{padding:14px}.sp-body{padding:var(--sp-6) var(--gutter)}.prose h2{font-size:clamp(24px, 5vw, 28px)}.prose p{font-size:16px}.prose-steps li{grid-template-columns:44px 1fr;gap:12px;padding:14px}.pull{padding:18px 20px;font-size:18px}.diag{padding:16px}.sp-next-inner{padding:var(--sp-5) var(--gutter)}}@media (max-width:480px){.sp-hero{padding:var(--sp-4) var(--gutter) var(--sp-5)}.sp-title{font-size:clamp(28px, 10vw, 36px)}.sp-lede{font-size:15px;margin-bottom:18px}.sp-quick{font-size:12.5px}.sp-quick li{grid-template-columns:70px 1fr;gap:8px;padding:6px 0}.sp-metrics{grid-template-columns:1fr}.sp-metrics li{border-right:0}.sp-metrics li:nth-child(2n){border-right:0}.sp-metrics li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.sp-metrics li:last-child{border-bottom:0}.sp-cover-art{border-radius:var(--r-2)}.sp-body{padding:var(--sp-5) var(--gutter)}.prose h2{font-size:clamp(22px, 6vw, 26px);padding-top:14px}.prose h2::before{width:24px}.prose p{font-size:15px}.prose-list{font-size:15px}.prose-steps li{grid-template-columns:1fr;gap:8px}.prose-steps h4{font-size:15px}.result-grid{grid-template-columns:1fr}.result-grid li{border-right:0;border-bottom:1px solid var(--line);padding:16px 14px}.result-grid li:last-child{border-bottom:0}.pull{padding:16px 18px;font-size:17px}.sp-next-inner{padding:var(--sp-5) var(--gutter)}}