/* Four text tiers. This final layer overrides legacy component sizes.
   Logos, portrait initials, and decorative icons are artwork. */
:root{--type-label:14px;--type-body:16px;--type-heading:32px;--type-display:64px}
body{font-size:var(--type-body)!important}
body :where(.eyebrow,.tiny,.service-number,.service-tag,.step-number,.process-footer>span,.process-footer a,.header-links a,.site-header .nav-cta,.site-header .header-counter>span:nth-child(2),.brand-positioning,.palette-options button,.palette-options small,.palette-panel>.eyebrow,.announcement-bar,.round-link>span:first-child,.text-link,.review-audience,.review-person strong,.review-person div>span,.counter-label,#count-note,.founder>a,.email-note,footer>span,footer>a:not(.brand),.contact-dialog>p,.contact-dialog label,.contact-continue,.contact-done,.contact-check-status,#quote-position,.service-body p,.service-body p span){font-size:var(--type-label)!important}
body :where(.hero-bottom .hero-message p,.intro-grid p,.personal-service-detail p,.service-body,.impact p:not(#count-note),.people-grid>div>p,.founder p,.contact-bottom p,.process-step p,.process-heading>p,.contact-dialog input,.contact-dialog #contact-result-message){font-size:var(--type-body)!important}
body :where(.hero-bottom .hero-message .hero-promise,h2,h2 em,.process-step h3,.process-step h3 em,.personal-service h3,.personal-service h3 em,.service-list summary h3,.founder h3,.review-half blockquote,.contact-emails a,.contact-dialog h3,.site-header .header-counter-number,.contact-dialog h2,.contact-dialog h2 em){font-size:var(--type-heading)!important}
body :where(.hero h1,.hero h1 .serif,.contact h2,.contact h2 em,.counter){font-size:var(--type-display)!important}
body :is(h2,h2 em,.reviews-heading h2,.reviews-heading h2 em,.process-heading h2,.process-heading h2 em){letter-spacing:-.7px;line-height:1.15}
body :is(.contact h2,.contact h2 em){letter-spacing:-1.4px;line-height:1.1}.counter{letter-spacing:-1.4px;line-height:1.1}
.process-step h3,.process-step h3 em{letter-spacing:-.4px;line-height:1.1}.review-half blockquote{line-height:1.3}.hero-bottom .hero-message .hero-promise{line-height:1.2}
.site-header .header-counter{gap:7px}.brand-positioning{letter-spacing:.7px}.step-number,.service-tag,.personal-service-detail>span,.process-footer>span{letter-spacing:.3px}.process-heading{gap:20px}.personal-service-detail>span{font-size:var(--type-label)!important}
@media(max-width:1050px){:root{--type-heading:28px;--type-display:48px}}
@media(max-width:800px){.brand-positioning{text-transform:none;letter-spacing:0}.site-header{column-gap:7px}}
@media(max-width:700px){:root{--type-label:12px;--type-body:16px;--type-heading:22px;--type-display:32px}body :where(.hero h1,.hero h1 .serif){font-size:var(--type-heading)!important}.site-header .header-counter{gap:4px}.counter{letter-spacing:-.5px}body :is(.contact h2,.contact h2 em){letter-spacing:-.6px}}
@media(max-width:380px){:root{--type-heading:18px;--type-display:28px}.site-header{column-gap:3px}.site-header .nav-cta{padding-left:5px;padding-right:5px}.site-header .palette-menu>summary{width:32px}.brand-positioning{white-space:nowrap}.review-half{padding-left:22px;padding-right:22px}}
