/* Shared editorial type scale. Bottom CTA typography is deliberately excluded. */
:root{--type-home-h1:clamp(40px,4.73vw,68px);--type-page-h1:clamp(36px,3.9vw,56px);--type-h2:clamp(30px,2.78vw,40px);--type-h3:clamp(24px,1.95vw,28px);--type-body:clamp(17px,1.25vw,18px);--type-label:12px;--type-label-tracking:.15em}
body[data-page] main h1{font-size:var(--type-page-h1)!important;font-weight:400!important;line-height:1.12!important;text-wrap:pretty}
body[data-page=home] main h1{font-size:var(--type-home-h1)!important}
body[data-page] main :is(h2,h3):not(.cta *){font-weight:400!important;text-wrap:pretty}
body[data-page] main h2:not(.cta *){font-size:var(--type-h2)!important}
body[data-page] main h3:not(.cta *):not(.style-facts *){font-size:var(--type-h3)!important}
body[data-page] main p:not(.cta *):not(.eyebrow):not(.location):not(.project-meta):not(.style-index-label):not(.style-facts *){font-size:var(--type-body)!important}
body[data-page] main .eyebrow:not(.cta *),body[data-page] main .style-index-label{font-size:var(--type-label)!important;letter-spacing:var(--type-label-tracking)!important}
body[data-page] .page-title .eyebrow{margin-bottom:20px}
body[data-page] .page-title h1{margin-bottom:24px}
body[data-page] .page-title h1:last-child{margin-bottom:0}
body[data-page] .page-title .page-intro{margin-top:0;margin-bottom:0;line-height:1.7}
@media(max-width:850px){:root{--type-home-h1:40px;--type-page-h1:36px;--type-h2:30px;--type-h3:24px;--type-body:17px}body[data-page] .page-title .eyebrow{margin-bottom:18px}}
