@font-face{font-family:'Hanken Fallback';src:local('Arial');font-display:swap;font-weight:400 600;size-adjust:98.1173%;ascent-override:101.9189%;descent-override:30.8814%;line-gap-override:0.0000%}
@font-face{font-family:'Spectral Fallback';src:local('Georgia');font-display:swap;font-weight:600;size-adjust:103.8172%;ascent-override:102.0062%;descent-override:44.5976%;line-gap-override:0.0000%}
/* Paint readable local text immediately; metric-adjusted fallbacks limit reflow when self-hosted faces swap in. */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/hanken-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/hanken-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/hanken-grotesk-600.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/spectral-600.woff2') format('woff2')}
/* Reading vertical: scoped, upright roles; no marketing hero scale or layout reset. */
.article-typography{--font-body:'Hanken Grotesk','Hanken Fallback',Arial,sans-serif;--font-head:'Spectral','Spectral Fallback',Georgia,serif;--reading-body:clamp(1.0625rem,1.039rem + .0953vw,1.125rem);--muted:#4b5967;--muted-2:#4b5967;font-family:var(--font-body);font-size:var(--reading-body);line-height:1.6;font-synthesis:none}
.article-typography h1,.article-typography .article-hero-card h1{font-family:var(--font-head);font-size:clamp(2.25rem,1.97rem + 1.15vw,3rem);font-weight:600;line-height:1.15;letter-spacing:-.015em;font-style:normal;text-wrap:balance}
.article-typography h2{font-family:var(--font-head);font-size:clamp(1.75rem,1.61rem + .57vw,2.125rem);font-weight:600;line-height:1.25;font-style:normal;text-wrap:balance}
.article-typography h3,.article-typography h4,.article-typography summary{font-family:var(--font-body);font-weight:600;line-height:1.3;font-style:normal;letter-spacing:0}
.article-typography p,.article-typography .prose p,.article-typography .article-prose p,.article-typography .article-deck,.article-typography .article-prose .lede,.article-typography .prose li,.article-typography .article-prose li{font-family:var(--font-body);font-size:var(--reading-body);font-weight:400;line-height:1.6;font-style:normal;letter-spacing:0;max-width:33.6em}
.article-typography b,.article-typography strong,.article-typography th,.article-typography em,.article-typography .related-card,.article-typography .article-kicker,.article-typography .sidebar-label,.article-typography .num{font-weight:600;font-style:normal}
.article-typography .text-gradient,.article-typography .step-num,.article-typography .lead-statement{font-style:normal;font-weight:600}
.article-typography .nav-links a,.article-typography .btn,.article-typography .cta-button,.article-typography button,.article-typography input,.article-typography select,.article-typography textarea{font-family:var(--font-body);font-size:1rem;line-height:1.4;font-weight:500;letter-spacing:0}
.article-typography .btn,.article-typography .cta-button{font-weight:600;white-space:normal}
.article-typography .article-meta,.article-typography .article-byline,.article-typography .breadcrumb,.article-typography .sidebar-card p,.article-typography .footer p,.article-typography .footer-links a{font-family:var(--font-body);font-size:.9375rem;line-height:1.5}
.article-typography .footer p,.article-typography .footer-bottom{color:#9fb3c8}

/* Reading tables retain every cell; narrow screens scroll the table, not the page. */
.article-typography .article-content table{display:block;max-width:100%;overflow-x:auto}
.article-typography .article-content{min-width:0;overflow-wrap:anywhere}
