/* Shared visual hierarchy. Approved option C fonts and existing sections retained. */
:root{
 --empire-page-title:44px;--empire-section-title:36px;--empire-card-title:22px;
 --empire-subtitle:18px;--empire-body:16px;--empire-note:14px;--empire-label:13px;
}
html body main :is(h1,h2,h3,h4,h5,h6){letter-spacing:0!important;text-transform:none!important;overflow-wrap:break-word}
html body main h1{font-size:var(--empire-page-title)!important;line-height:1.12!important;font-weight:500!important}
html body main h2{font-size:var(--empire-section-title)!important;line-height:1.2!important;font-weight:500!important}
html body main h3{font-size:var(--empire-card-title)!important;line-height:1.3!important;font-weight:600!important}
html body main :is(h4,h5,h6){font-size:var(--empire-subtitle)!important;line-height:1.4!important;font-weight:600!important}
html body main :is(p,.feature-text){font-size:var(--empire-body)!important;line-height:1.75!important;letter-spacing:0!important}
html body main :is(.lead,.section-sub){font-size:var(--empire-subtitle)!important;line-height:1.7!important}
html body main :is(figcaption,small,.file-hint,.oem-program-footnote,.ft-stage-note,.visual-note),
html body main .cta-actions p{font-size:var(--empire-note)!important;line-height:1.6!important;letter-spacing:0!important;font-weight:400!important}
html body main :is(.eyebrow,.section-label,.pg-kicker,.ft-kicker){font-family:var(--font-aux)!important;font-size:var(--empire-label)!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.07em!important}
/* Compact labels and card headings stay subordinate to their section title. */
html body main .case-card h4,html body main .form-section-title{font-family:var(--font-aux)!important;font-size:var(--empire-note)!important;line-height:1.5!important;font-weight:600!important}
html body main :is(.family-body,.card,.role-card,.case-card) h2{font-size:var(--empire-card-title)!important;line-height:1.3!important;font-weight:600!important}
html body main :is(.step,.chain-node,.home-quality-copy) :is(h3,h4){font-size:var(--empire-subtitle)!important;line-height:1.35!important}
html body main :is(.btn,.nav-cta){font-family:var(--font-aux)!important;font-size:15px!important;line-height:1.4!important;font-weight:500!important;letter-spacing:0!important}
html body main :is(p,.feature-text,li) > :is(strong,b){font-weight:600}
/* Preserve the approved homepage hierarchy; the hero is a deliberate display exception. */
html body main .home-hero h1{font-size:clamp(40px,4vw,56px)!important;font-weight:400!important}
html body main .hero-content .hero-subline{font-size:28px!important;line-height:1.4!important;font-weight:500!important}
html body main .hero-content .lead{font-size:19px!important;line-height:1.8!important}
html body main .hero-content :is(.hero-cta-sub,.hero-trust-line){font-size:16px!important;line-height:1.8!important}
/* Tables retain the already approved technical type treatment. */
html body main table p{font-size:inherit!important;line-height:inherit!important}
/* A single image frame per content role; never crop product silhouettes. */
html body main .pg-card img{height:200px!important;padding:14px!important;background:#fff!important;object-fit:contain!important;object-position:center!important}
html body main .app-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
html body main .pg-card figcaption{font-family:var(--font)!important;font-size:var(--empire-note)!important;line-height:1.6!important}
/* Bring the older factory module into the same blue, readable type system. */
html body main .factory-tour{--ft-red:#2465a3}
html body main .factory-tour::before,html body main .ft-kicker::before{display:none}
html body main :is(.ft-stage-label,.ft-stage-key span,.ft-proof strong){font-family:var(--font-aux)!important;font-size:var(--empire-label)!important;line-height:1.5!important;font-weight:500!important;letter-spacing:.025em!important;text-transform:none!important}
html body main :is(.ft-proof span,.ft-proof-list span,.ft-note){font-family:var(--font)!important;font-size:var(--empire-note)!important;line-height:1.6!important}
html body main .ft-proof-list strong{font-size:var(--empire-body)!important;line-height:1.5!important;font-weight:600!important}
html body main .ft-proof-list{grid-template-columns:none!important;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}
/* The keyboard shortcut should appear only when it actually has focus. */
.empire-skip-link{visibility:hidden}
.empire-skip-link:focus{visibility:visible}
html body main :is(h1,h2,h3,h4){font-variant-numeric:lining-nums}
@media(max-width:760px){:root{--empire-page-title:34px;--empire-section-title:28px;--empire-card-title:20px}}
@media(max-width:600px){
 html body main .home-hero h1{font-size:40px!important}
 html body main .hero-content .hero-subline{font-size:24px!important}
 html body main .pg-card img{height:180px!important;padding:12px!important}
 html body main .ft-proof-list{grid-template-columns:1fr!important;grid-auto-flow:row}
}
