/* One Services-style introduction and its inverse footer. */
.site-header {
  border: 2px solid var(--navy);
  border-bottom: 1px solid var(--line);
}
.menu-toggle { border-color: var(--navy); }
.page-intro-frame {
  padding: 48px 0 43px;
  border: 2px solid var(--navy);
  border-top: 0;
  background: var(--soft);
  color: var(--ink);
}
.page-intro-frame h1 {
  max-width: 850px;
  margin: 0 0 10px;
  color: var(--navy);
  font-size: clamp(2rem, 3.1vw, 2.65rem);
  line-height: 1.15;
}
.page-intro-frame p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.52;
}
.page-intro-frame .eyebrow { color: var(--accent-silver); }
.home-hero.page-intro-frame,
.sector-lead.page-intro-frame,
.simple-page.page-intro-frame { background: var(--soft); }
.sector-lead.page-intro-frame h1 { color: var(--navy); }
.sector-lead.page-intro-frame .lead-copy { color: var(--muted); }
.sector-lead.page-intro-frame .eyebrow { color: var(--accent-silver); }
.legacy-about-intro.page-intro-frame {
  max-width: none;
  margin: 0 calc((min(100vw - 64px, var(--max)) - 100vw)/2) 0;
  padding: 48px max(32px, calc((100vw - var(--max))/2)) 43px;
  border: 2px solid var(--navy);
  border-top: 0;
  background: var(--soft);
}
.legacy-about-intro.page-intro-frame p { color: var(--muted) !important; }
.careers-page, .contact-page { min-height: 0; padding: 0 0 57px; }
.careers-page .careers-layout, .contact-page .contact-layout { padding-top: 38px; }
.careers-layout > div:first-child h2:first-child { margin-top: 0; }
.contact-layout .button { margin-top: 0; }
.simple-page.page-intro-frame { min-height: 0; flex: 0 0 auto; }
.simple-page.page-intro-frame .simple-inner p:not(.eyebrow) { color: var(--muted); }
/* Match the framed light header with a dark, light-text footer. */
.site-footer {
  border: 2px solid var(--accent-silver-light);
  background: var(--navy);
  color: #f4f6f8;
}
.site-footer a, .site-footer p, .site-footer address,
.site-footer .footer-column strong, .site-footer .footer-bottom { color: #f4f6f8; }
.site-footer .footer-identity .brand img { filter: brightness(0) invert(1); }
.site-footer .footer-bottom { border-top-color: rgba(255, 255, 255, .35); }
.site-footer a:hover { color: var(--accent-silver-light); }
.site-footer :focus-visible { outline-color: var(--accent-silver-light); }
/* Keep CTA arrows close to the label and visually compact. */
.button, .text-link, .inline-arrow, .light-link {
  justify-content: flex-start;
  gap: 7px;
}
.button > span[aria-hidden], .text-link > span[aria-hidden],
.inline-arrow > span[aria-hidden], .light-link > span[aria-hidden] {
  display: inline-block;
  flex: none;
  font-size: .9em;
  line-height: 1;
  transform: scaleX(.8);
  transform-origin: left center;
}
@media (max-width: 720px) {
  .page-intro-frame { padding: 32px 0 30px; }
  .page-intro-frame h1 { font-size: 1.75rem; }
  .page-intro-frame p:not(.eyebrow) { font-size: .97rem; line-height: 1.5; }
  .legacy-about-intro.page-intro-frame { margin: 0 -20px; padding: 32px 20px 30px; }
  .careers-page, .contact-page { padding: 0 0 38px; }
  .careers-page .careers-layout, .contact-page .contact-layout { padding-top: 27px; }
}
@media (max-width: 440px) {
  .legacy-about-intro.page-intro-frame { margin: 0 -18px; padding-left: 18px; padding-right: 18px; }
  .site-footer .footer-identity { display: block; }
}
