/* One semantic heading scale across every public template. */
body h1:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body h2:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body h3:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body h4:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* Keep the shared CTA comfortably readable. */
.cta-visual-copy,
.cta-visual-button,
.cta-visual-phone p {
  font-size: 16px !important;
}

/* Explanatory copy always follows its section heading vertically. */
.split-copy,
.content-section.split-copy,
.home-process-heading,
.capability-methods-head,
.capabilities-evidence-head,
.recruit-message {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: clamp(22px, 3vw, 36px) !important;
}

.split-copy > :last-child,
.home-process-heading > :last-child,
.capability-methods-head > p,
.capabilities-evidence-head > p,
.recruit-message > :last-child {
  width: 100%;
  max-width: 50em;
  margin-left: 0;
}

.recruit-message > div:last-child {
  padding-top: 0 !important;
}

@media (max-width: 767px) {
  body h1:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
    font-size: 32px !important;
  }

  body h2:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
    font-size: 27px !important;
  }

  body h3:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
    font-size: 22px !important;
  }

  body h4:not(#web-engine-heading-size):not(#web-engine-heading-lock):not(#web-engine-heading-fixed) {
    font-size: 18px !important;
  }
}
