/* Shared linear type scale, loaded after each page's layout styles. */
:root{--type-body:'DM Sans',Arial,Helvetica,sans-serif;--type-display:var(--type-body);--text-body:16px;--text-small:13px;--text-label:12px;--text-title:clamp(28px,2.8vw,34px);--text-section:clamp(23px,2.2vw,28px);--text-card:20px;--text-hero:clamp(32px,3.4vw,44px)}
html:root body{font-family:var(--type-body);font-size:var(--text-body);line-height:1.65}
html:root h1,html:root h2,html:root h3,html:root h4,html:root .hero-title{font-family:var(--type-body)!important;font-style:normal;font-weight:500!important;letter-spacing:-.025em!important;line-height:1.25!important;overflow-wrap:break-word}
html:root h1,html:root .service-intro h1{font-size:var(--text-title)!important}
html:root h2{font-size:var(--text-section)!important}
html:root h3,html:root h4{font-size:var(--text-card)!important}
html:root .hero .hero-title{font-size:var(--text-hero)!important;line-height:1.16!important;letter-spacing:-.03em!important;margin-bottom:22px}
html:root h1 em,html:root h2 em,html:root h3 em,html:root .hero-title em{font-family:inherit!important;font-style:normal!important;font-weight:inherit!important;letter-spacing:inherit!important}
html:root .hero .hero-service-title{font-size:20px!important;line-height:1.5!important;letter-spacing:-.01em!important}
html:root main p,html:root .hero-copy>p,html:root .section-top>p,html:root .story-teaser,html:root .answer-lead{font-size:var(--text-body)!important;line-height:1.7!important}
html:root .service-menu-copy>strong,html:root .more-categories>summary strong{font-size:16px!important;line-height:1.5!important}
html:root .service-menu-copy>span,html:root .service-menu-copy>small,html:root .package li,html:root .package small,html:root .offer-note{font-size:14px!important;line-height:1.65!important}
html:root .eyebrow,html:root .package-kicker,html:root .story-tag{font-size:var(--text-label)!important;line-height:1.6!important;letter-spacing:.08em!important;font-weight:500!important}
html:root .button,html:root a.btn,html:root button{font-family:var(--type-body);font-size:14px!important;line-height:1.5}
html:root .faq summary,html:root .service-detail-disclosure>summary{font-size:16px!important;line-height:1.6!important}
html:root .package-price,html:root .offer-price{font-family:var(--type-body);font-size:24px!important;line-height:1.4!important;font-weight:500}
html:root .price-row strong,html:root .price-row b{font-size:18px!important}
html:root label,html:root small,html:root .pill,html:root .form-note,html:root .time-hint,html:root .price-disclaimer{font-size:var(--text-small)!important;line-height:1.6!important}
html:root input,html:root select,html:root textarea{font-family:var(--type-body);font-size:16px!important;line-height:1.5}
html:root .bubble{font-size:18px;line-height:1.6}
html:root .logo{font-family:var(--type-body)!important;letter-spacing:-.04em!important}
@media(max-width:600px){:root{--text-title:28px;--text-section:24px;--text-card:19px;--text-hero:34px}html:root .hero .hero-service-title{font-size:19px!important}html:root .hero .hero-title{margin-bottom:20px}html:root .hero-copy .eyebrow{margin-bottom:20px}html:root .hero-copy>p{max-width:100%}}
@media print{:root{--text-title:28px;--text-section:24px;--text-hero:34px}}
