/* All fixed font sizes use rem, so one scale also covers MudBlazor and CMS pages. */
:root{--cdm-default-text-scale:1.26;--cdm-text-scale:var(--cdm-default-text-scale)}
html{font-size:calc(100% * var(--cdm-text-scale))}
/* Keep the opening section at its original size; A+/A- still work within it. */
.cdm-landing .hero{font-size:calc(.9375rem / var(--cdm-default-text-scale))}
.cdm-landing :is(h1,h2,h3,h4,p,li,a,label){overflow-wrap:anywhere}
.cdm-landing .button{white-space:normal;text-align:center;min-width:0}
.cdm-landing .navigation{max-height:calc(100dvh - var(--site-chrome-height) - var(--contact-bar-height));overflow-y:auto}
.cdm-landing .contact-prompt__inner{flex-wrap:wrap}
.cdm-landing .contact-prompt p :is(strong,span){max-width:100%}
.cdm-landing .contact-section__layout>*{min-width:0}
.cdm-landing .contact-section__details span{overflow-wrap:anywhere}
/* Compact contact bar, matching the reference independently of the body scale. */
.cdm-landing .contact-prompt__inner{width:min(1152px,calc(100% - 36px))}
.cdm-landing .contact-prompt__intro{gap:14px}
.cdm-landing .contact-prompt__symbol{width:42px;height:42px;border-radius:12px}
.cdm-landing .contact-prompt__symbol svg{width:23px;height:23px}
.cdm-landing .contact-prompt p{font-size:calc(.7875rem / var(--cdm-default-text-scale));gap:3px}
.cdm-landing .contact-prompt p strong{font-size:calc(.95625rem / var(--cdm-default-text-scale))}
.cdm-landing .contact-prompt p span{font-size:calc(.73125rem / var(--cdm-default-text-scale))}
.cdm-landing .contact-prompt .button{font-size:calc(.7875rem / var(--cdm-default-text-scale));min-height:44px;padding:11px 19px;gap:16px;border-radius:11px}
.cdm-landing .contact-prompt .button .icon{width:20px;height:20px}
/* Desktop proportions from the original opening-section reference. */
@media(min-width:768px){
    .cdm-landing .hero{padding-top:40px}
    .cdm-landing .hero-copy{max-width:920px}
    .cdm-landing .hero h1{font-size:clamp(calc(2.25rem / var(--cdm-default-text-scale)),calc(4.7vw * var(--cdm-text-scale) / var(--cdm-default-text-scale)),calc(4rem / var(--cdm-default-text-scale)));margin-bottom:22px}
    .cdm-landing .hero-tagline{font-size:calc(1.375rem / var(--cdm-default-text-scale));margin:18px 0}
    .cdm-landing .hero-description{font-size:calc(.875rem / var(--cdm-default-text-scale));max-width:600px;margin-bottom:25px}
    .cdm-landing .hero-actions .button{font-size:calc(.75rem / var(--cdm-default-text-scale));min-height:50px;padding:14px 22px;gap:13px}
    .cdm-landing .hero-actions .button .icon{width:20px;height:20px}
    .cdm-landing .hero-actions .text-link{font-size:calc(.75rem / var(--cdm-default-text-scale))}
    .cdm-landing .hero-audience{margin-top:19px;gap:7px 22px}
    .cdm-landing .hero-audience li{font-size:calc(.5625rem / var(--cdm-default-text-scale))}
    .cdm-landing .hero-grid{gap:46px}
    .cdm-landing .hero-preview{max-width:1008px}
    .cdm-landing .hero-preview-bar{font-size:calc(.5rem / var(--cdm-default-text-scale));min-height:35px;padding:9px 15px}
}
@media(max-width:767px){
    .cdm-landing .contact-prompt__inner{width:calc(100% - 32px)}
    .cdm-landing .contact-prompt p{font-size:calc(.75rem / var(--cdm-default-text-scale))}
    .cdm-landing .contact-prompt p strong{font-size:calc(.8125rem / var(--cdm-default-text-scale))}
    .cdm-landing .contact-prompt .button{font-size:calc(.75rem / var(--cdm-default-text-scale));padding:10px 12px;gap:7px}
    .cdm-landing .contact-prompt .button .icon{width:15px;height:15px}
    .cdm-landing .accessibility-controls button{width:32px;padding-inline:0}
    .cdm-landing .header-inner{gap:8px}
    .cdm-landing .site-header .brand{flex-shrink:1;min-width:0}
    .cdm-landing .site-header .brand>span{min-width:0}
    .cdm-landing .site-header .brand img{flex-shrink:0}
}
