/* YME Website Typography Hierarchy — shared role-based scale.
   Loaded last to supersede legacy page and inline typography declarations. */
:root {
 --type-display-xl:clamp(120px,11vw,176px);
 --type-h1:clamp(88px,7vw,120px);
 --type-h2:clamp(64px,5vw,80px);
 --type-h3:clamp(44px,3.5vw,56px);
 --type-h4:clamp(30px,2.5vw,40px);
 --type-lead:clamp(24px,2vw,30px);
 --type-body-lg:20px; --type-body:18px;
 --type-nav:15px; --type-label:14px; --type-meta:13px;
 --text-body:var(--type-body); --text-body-sm:var(--type-body);
 --text-subheading:var(--type-lead); --text-heading-sm:var(--type-h4);
 --text-heading:var(--type-h3); --text-heading-lg:var(--type-h2);
 --text-display:var(--type-display-xl); --text-display-sm:var(--type-h1);
}
html:root body[class][class] { font-family:var(--font-body); font-size:var(--type-body); }
html:root body[class][class] h1,html:root body[class][class] h2,html:root body[class][class] h3,html:root body[class][class] h4 { font-family:var(--font-display)!important; font-weight:800; text-transform:uppercase; letter-spacing:-.02em; text-wrap:balance; }
html:root body[class][class] h1 { font-size:var(--type-h1)!important; line-height:.94!important; }
html:root body[class][class] h2 { font-size:var(--type-h2)!important; line-height:1!important; }
html:root body[class][class] h3 { font-size:var(--type-h3)!important; line-height:1.03!important; }
html:root body[class][class] h4 { font-size:var(--type-h4)!important; line-height:1.08!important; }
html:root body[class][class] p,html:root body[class][class] li { font-family:var(--font-body)!important; font-size:var(--type-body)!important; line-height:1.65!important; }
html:root body[class][class] .lede,html:root body[class][class] .rm-lead,html:root body[class][class] .counter-tagline,html:root body[class][class] .culture-artist-hero__text>p,html:root body[class][class] .rm-hero__bottom>p:not(.rm-hero__description) { font-size:var(--type-lead)!important; line-height:1.45!important; }
html:root body[class][class] .house-copy,html:root body[class][class] .rm-copy { max-width:720px; }
html:root body[class][class] .house-copy p,html:root body[class][class] .rm-copy p,html:root body[class][class] .flow-editorial__html:root body[class][class] p { max-width:720px; }
html:root body[class][class] .verse,html:root body[class][class] .rm-truth__verse { font-size:var(--type-body-lg)!important; line-height:1.65!important; }
html:root body[class][class] .eyebrow,html:root body[class][class] .hero__eyebrow,html:root body[class][class] .rm-kicker { font-family:var(--font-body)!important; font-size:var(--type-label)!important; font-weight:600; letter-spacing:.1em!important; line-height:1.5; }
html:root body[class][class] .nav-links a,html:root body[class][class] .btn,html:root body[class][class] .filter-pill,html:root body[class][class] .culture-link,html:root body[class][class] .rm-action,html:root body[class][class] .rm-read,html:root body[class][class] .rm-back { font-family:var(--font-body)!important; font-size:var(--type-nav)!important; line-height:1.45; letter-spacing:.05em; }
html:root body[class][class] figcaption,html:root body[class][class] .culture-meta,html:root body[class][class] .rm-meta,html:root body[class][class] .counter-platforms,html:root body[class][class] .tag,html:root body[class][class] .player__track-platform,html:root body[class][class] .footer-bottom,html:root body[class][class] .brand__name { font-family:var(--font-body)!important; font-size:var(--type-meta)!important; line-height:1.5!important; }
html:root body[class][class] summary { font-family:var(--font-body)!important; font-size:var(--type-body-lg)!important; line-height:1.5!important; }
html:root body[class][class] .world-card h3,html:root body[class][class] .feature-card h3,html:root body[class][class] .step h3,html:root body[class][class] .counter-worlds h3,html:root body[class][class] .pillars h3 { font-size:var(--type-h4)!important; line-height:1.08!important; }
html:root body[class][class] .counter-project h2,html:root body[class][class] .phg-news-card h2,html:root body[class][class] .culture-feature h2,html:root body[class][class] .culture-release h2,html:root body[class][class] .rm-brief h3 { font-size:var(--type-h3)!important; line-height:1.03!important; }
html:root body[class][class] .culture-feature p,html:root body[class][class] .counter-project p,html:root body[class][class] .phg-news-card p { font-size:var(--type-body)!important; }
html:root body[class][class] .culture-feature .counter-tagline,html:root body[class][class] .counter-project .counter-tagline { font-size:var(--type-lead)!important; }
html:root body.culture-index[class][class] .hero h1,html:root body[class][class] .rm-hero h1 { font-size:var(--type-display-xl)!important; line-height:.88!important; letter-spacing:-.03em; }
html:root body[class][class] .rm-pull { font-family:var(--font-display)!important; font-size:var(--type-h3)!important; line-height:1.05!important; }
html:root body[class][class] .rm-disciplines { font-family:var(--font-body)!important; font-size:var(--type-body-lg)!important; }
@media(min-width:701px) and (max-width:1023px) {
 :root { --type-h1:clamp(68px,8.5vw,88px); --type-h2:clamp(52px,6.3vw,64px); --type-display-xl:clamp(88px,11vw,120px); }
}
@media(max-width:700px) {
 :root { --type-display-xl:clamp(64px,11vw,88px); --type-h1:clamp(52px,9vw,72px); --type-h2:clamp(40px,7vw,52px); --type-h3:clamp(32px,5.5vw,40px); --type-h4:clamp(26px,4.5vw,32px); --type-lead:clamp(20px,3.5vw,24px); --type-body-lg:18px; --type-body:17px; --type-label:13px; --type-meta:12px; }
}
/* In long narratives, only the opening paragraph carries lead emphasis. */
html:root body[class][class] .space-story__body p.lede~p.lede,
html:root body[class][class] .flow-editorial__body p.lede~p.lede,
html:root body[class][class] .space-photo-copy p.lede~p.lede,
html:root body[class][class] .bl-copy p.lede~p.lede { font-size:var(--type-body)!important; line-height:1.65!important; }
