/* Consistent editorial page headings
   Align each inner-page header to the HOME hero content edge, without
   carrying over legacy 1160px containers or ad-hoc left padding.
   The landing carousel, page body layouts and card headings are unchanged. */
:root{
  --pnc-page-heading-max:1480px;
  --pnc-page-heading-horizontal-space:80px;
  --pnc-page-title-size:clamp(38px,5.4vw,74px);
}
body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro) > .wrap,
body main .about-brand-header .about-brand-header-inner{
  width:min(var(--pnc-page-heading-max),calc(100% - var(--pnc-page-heading-horizontal-space)))!important;
  max-width:var(--pnc-page-heading-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box;
}
/* Copy containers should not introduce a second horizontal inset. */
body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro)
 :is(.page-hero-copy,.inner-hero-grid,.about-brand-copy,.request-manpower-heading){
  padding-left:0!important;
  margin-left:0!important;
  text-align:left!important;
}
/* Same title type as the landing-page photo hero: calm Google Sans,
   generous line height, balanced wrapping, consistent weight. */
body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro) h1,
body main .job-position-head h1{
  font-family:inherit!important;
  font-size:var(--pnc-page-title-size)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.048em!important;
  max-width:900px;
  overflow-wrap:break-word;
  text-wrap:balance;
  text-align:left!important;
  margin-left:0!important;
}
body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro) p{
  font-family:inherit;
  font-size:clamp(14px,1.25vw,17px)!important;
  font-weight:400!important;
  line-height:1.6!important;
  max-width:760px;
  margin-left:0!important;
  text-align:left!important;
}
body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.request-manpower-intro)
 :is(.page-kicker,.kicker,.resource-eyebrow,.section-heading>span),
body main .about-brand-copy>span{
  font-size:clamp(10px,.9vw,12px)!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}
/* Older page-specific !important rules should not make media heroes or
   the manpower form title heavier/smaller than the landing hero. */
body[data-route="request-manpower"] main .request-manpower-heading h1,
body:has(.navlinks a[href$="/services/"].active) main .page-hero.page-hero--media h1{
  font-size:var(--pnc-page-title-size)!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:-.048em!important;
}
@media(max-width:720px){
  :root{--pnc-page-heading-horizontal-space:44px;--pnc-page-title-size:clamp(30px,8.2vw,46px)}
  body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro) h1,
  body main .job-position-head h1{
    font-size:var(--pnc-page-title-size)!important;
    line-height:1.12!important;
  }
  body main :is(.page-hero,.inner-hero,.compact-page-header,.about-brand-header,.resource-header,.resource-detail-header,.request-manpower-intro) p{
    font-size:14px!important;
    line-height:1.53!important;
  }
  body main .about-brand-header .about-brand-header-inner{gap:16px!important}
}


/* Section-level hierarchy: use the same lighter editorial type weight as
   the homepage hero without changing page H1s, navigation, card names or copy. */
body main section h2,
body main .section-heading h2,
body main .service-intro h2,
body main .split-head h2,
body main .impact-title h2,
body main .about-company-page h2,
body main .resource-content h2{
  font-weight:400!important;
}
/* Operational steps use H3 as headings. Keep these readable while lighter
   than the older bold style; ordinary card headlines remain unchanged. */
body main :is(.operating-phases,.work-timeline,.process-list,.scenario-grid) h3{
  font-weight:500!important;
}
/* Small uppercase section labels should not compete with the main title. */
body main section :is(.kicker,.about-kicker),
body main .section-heading > span,
body main .section-heading > .kicker{
  font-weight:500!important;
}
