/* Shared hierarchy for page sections. Hero and animated process keep their own roles. */
:root{--teams-section-title:clamp(34px,4.1vw,52px);--teams-section-leading:1.1;--teams-section-space:64px;--teams-card-title:20px}
#opportunity h2,#managed-service h2,#enquiries h2,#comparison h2,#system h2,#responsibilities h2,#how h2,#portal h2,#faq h2,#apply h2{
 font-size:var(--teams-section-title);line-height:var(--teams-section-leading);font-weight:800;letter-spacing:-.035em;text-wrap:balance;
}
#managed-service,#enquiries,#comparison,#responsibilities,#how,#faq{padding-block:var(--teams-section-space)}
#responsibilities h2,#how .section-intro h2,#comparison h2,#enquiries h2{margin-top:0;margin-bottom:28px;max-width:850px}
#responsibilities .sourced-icon-grid,#how .sourced-icon-grid{margin-top:0}
.sourced-icon-grid h3,.sourced-timeline h3,#apply h3{font-size:var(--teams-card-title);line-height:1.3;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
#system .benefit-card h3{font-size:32px;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
#enquiries .lead-definition{max-width:72ch;line-height:1.7}
#faq .faq-grid{padding-top:0}
#responsibilities .sourced-icon-grid li,#how .sourced-icon-grid li{min-width:0}
@media(max-width:600px){:root{--teams-section-space:44px}#system .benefit-card h3{font-size:28px}#responsibilities h2,#how .section-intro h2,#comparison h2,#enquiries h2{margin-bottom:24px}}
/* Later fixed-height stage rules must not clip the static accessibility layout. */
@media(prefers-reduced-motion:reduce){
 #listening.narrative-track,#listening .narrative-stage.sc-stage,#listening .narrative-layout{height:auto!important;max-height:none!important;min-height:0}
 #listening .narrative-layout{display:block}
 #listening .narrative-chapters{height:auto}
 #listening .narrative-scene{height:auto;max-height:none}
}
