/* Approved program descriptors: scoped presentation layer, six languages. */
.program-descriptor{font-weight:500;line-height:1.5;text-wrap:pretty}
.descriptor-hero{font-size:clamp(22px,2.1vw,32px);margin:16px 0 20px;max-width:34em}
.inner-hero-copy .descriptor-hero,.completion-hero-copy .descriptor-hero,.enhance-hero-copy .descriptor-hero{color:inherit}
.descriptor-card{font-size:clamp(18px,1.45vw,23px);margin:12px 0 18px}
.descriptor-promo{font-size:clamp(24px,2.2vw,34px);line-height:1.35;margin:18px 0 24px}
.descriptor-service-heading{position:absolute;inset-inline:22px;top:48%;transform:translateY(-50%);transition:opacity .3s}
.service-card .descriptor-service-heading .service-title{position:static;transform:none;margin:0;line-height:1.08}
.service-card .descriptor-service{position:static;font-size:21px;line-height:1.5;margin:16px 0 0}
.service-card:hover .descriptor-service-heading,.service-card:focus-within .descriptor-service-heading{opacity:0;visibility:hidden}
.descriptor-card-label{display:block;font-size:.78em;font-weight:400;line-height:1.4;margin-top:3px}
.service-detail .descriptor-card-label{font-size:14px}
.service-card .service-detail{max-height:calc(100% - 90px);overflow:auto;font-size:18px}
.service-card .service-detail a{margin:12px 0}
.directory-copy .descriptor-card{min-height:0;font-size:23px;margin:14px 0 18px}
.directory-programs .descriptor-card-label{font-size:16px}
.descriptor-nav-label{display:block;font:inherit;line-height:1.45}
.descriptor-nav-brand{display:block;font-size:12px;font-weight:400;line-height:1.4;margin-top:3px;opacity:.72;unicode-bidi:isolate}
.mega-menu a,.mobile-nav details a{line-height:1.45}
.mega-menu strong>.descriptor-nav-label{font-size:20px}
.mega-menu strong>.descriptor-nav-brand{font-size:13px}
.site-header .navbar{gap:20px}
.site-header .desktop-nav{gap:12px}
@media(min-width:1200px) and (max-width:1499px){.site-header .navbar{padding-inline:24px;gap:18px}.site-header .desktop-nav{gap:10px}.site-header .search-open span{display:none}.site-header .search-open{padding-inline:4px}}
@media(max-width:1199px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:flex}.site-header .mobile-nav{position:absolute;top:100%;bottom:auto;left:0;right:0;max-height:calc(100dvh - 100px);overflow:auto}.site-header .mega-menu{display:none!important}}
@media(max-width:767px){.descriptor-hero{font-size:22px;line-height:1.5;margin:14px 0 18px}.descriptor-card{font-size:19px;line-height:1.5;margin:10px 0 16px}.descriptor-promo{font-size:26px;line-height:1.4}.service-card .descriptor-service{font-size:20px}.descriptor-nav-brand{font-size:13px}.mobile-nav .descriptor-nav-label{font-size:18px}.directory-copy .descriptor-card{font-size:22px}.descriptor-service-heading{inset-inline:20px}.program-related-card .descriptor-card,.enhance-related-card .descriptor-card{font-size:18px}}

@media(max-width:1199px){.site-header .mobile-nav:not([hidden]){display:block;background:var(--cream);padding:20px 28px;color:var(--brown)}.site-header .mobile-nav .nav-item{display:block;font-size:26px;padding:14px 0;border-bottom:1px solid #3a2e2430}.site-header .mobile-nav details{margin:20px 0}.site-header .mobile-nav summary{font-size:25px;cursor:pointer}.site-header .mobile-nav details>div{padding:10px 0}.site-header .mobile-nav details strong,.site-header .mobile-nav details a{display:block;margin:10px 0}.site-header .menu-toggle{flex-direction:column;gap:5px;background:none;border:0;padding:10px}.site-header .menu-toggle span{height:2px;width:25px;display:block;background:var(--brown)}}
.completion-directory-grid h3{font-size:clamp(23px,2vw,30px);line-height:1.2}.completion-directory-grid .descriptor-card{font-size:20px;line-height:1.5}

.descriptor-nowrap{white-space:nowrap}
main[data-funnel-version] .completion-hero-copy>p.program-descriptor:not(.editorial-kicker),main[data-funnel-version] .enhance-hero-copy>p.program-descriptor:not(.editorial-kicker){font-size:clamp(26px,2.1vw,32px);line-height:1.45;font-weight:500;text-wrap:balance}
main[data-funnel-version] .enhance-hero-copy>p:not(.editorial-kicker):not(.program-descriptor){font-size:24px;line-height:1.45;font-weight:400;max-width:30em}
@media(max-width:767px){main[data-funnel-version] .enhance-hero-copy>p:not(.editorial-kicker):not(.program-descriptor){font-size:22px;line-height:1.45}main[data-funnel-version] .completion-hero-copy>p.program-descriptor:not(.editorial-kicker),main[data-funnel-version] .enhance-hero-copy>p.program-descriptor:not(.editorial-kicker){font-size:26px;line-height:1.45}}
@media(min-width:1024px) and (max-width:1199px){.site-header .navbar .search-open{margin-inline-start:auto}.site-header .navbar .menu-toggle{flex:0 0 auto}}

/* Typography hierarchy — approved direction 19 October 2026.
   DB Helvethaica X Light is the available reading face; preserve bold headings. */
body{--spectrum-reading-weight:300;font-weight:var(--spectrum-reading-weight)}
html[lang="zh-Hans"] body,html[lang="ru"] body,html[lang="ja"] body,html[lang="ar"] body{--spectrum-reading-weight:400}
body main :is(p,li,dd,blockquote,figcaption){font-weight:var(--spectrum-reading-weight)!important}
body main :is(strong,b){font-weight:700}
body main :is(h1,h2,h3,h4,h5,h6){font-weight:700}
body main :is(.editorial-kicker,.program-eyebrow,.info-eyebrow,.care-kicker,.promo-eyebrow,.face-option-focus){font-weight:700!important}
body main :is(.descriptor-promo,.descriptor-service,.descriptor-category-card,.hero-descriptor){font-weight:700!important}
body main .philosophy-heading{font-weight:700}
body main .philosophy-text :is(p,small){font-weight:var(--spectrum-reading-weight)!important}
body main .philosophy-text strong,body main .service-story strong{font-weight:700}
body main .promo-story p{font-weight:var(--spectrum-reading-weight)!important}
/* Keep card titles and short programme definitions distinct from reading copy. */
body main .face-option-detail li>strong{font-weight:700}
