/* ==========================================================================
   Brand typography — Inter (Thunderbird brand guidelines, pages 21-22)
   Headline: Inter Bold. Subheading: Inter SemiBold. Body: Inter Regular.
   Button: Inter SemiBold. Applied to every page except the Services pages and the home
   page's Services section, which keep their existing type. The font files are self-hosted
   (Latin subset, ~25 KB per weight) so nothing is fetched from a third party.
   ========================================================================== */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300; font-display: swap; src: url("../assets/fonts/inter-Light.woff") format("woff"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("../assets/fonts/inter-Regular.woff") format("woff"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("../assets/fonts/inter-Medium.woff") format("woff"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("../assets/fonts/inter-SemiBold.woff") format("woff"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("../assets/fonts/inter-Bold.woff") format("woff"); }

:root { --font-inter: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* Where Inter applies: the whole site, the navigation and the footer everywhere, but not the Services content */
.page:not(.page--services):not(.page--service),
.nav, .nav-m, .footer, .footer-m, .mobile-menu { font-family: var(--font-inter); font-optical-sizing: auto; font-feature-settings: "calt", "kern"; }
.page:not(.page--services):not(.page--service) :is(button, input, textarea, select) { font-family: inherit; }
.page--home .services { font-family: var(--font-sans); font-feature-settings: normal; }   /* Services section: unchanged */

/* Headlines — Inter SemiBold/Bold family, set at 600 with slightly tightened tracking: bold enough to lead, light enough to feel refined at large sizes */
:is(.page--about-us, .page--about, .page--careers, .page--contact, .page--legal, .page--home) :is(.banner__title, .contact__lead, h2.about-us__heading, .closing__heading, .section-title) { font-weight: 600; letter-spacing: -.012em; }
.page--legal h1, .page--legal h2 { font-weight: 600; letter-spacing: -.01em; }

/* Subheadings — Inter SemiBold */
.page:not(.page--services):not(.page--service) :is(.hero__statement, .contact__pitch, .info-card__title, .job__title, .pillar-step__title, .pillar-step__pill, .eyebrow, .legal-contents__title, .legal-contact__company, h3, dd) { font-weight: 600; }
.ft__heading { font-weight: 600; }
.pillar__title { font-weight: 500; letter-spacing: -.02em; }   /* card titles: Medium keeps the two-line Figma layout in the narrow cards */

/* Body — Inter Regular (the lighter 300 weight gives way to Regular for readability) */
.pillar__desc, .footer__link, .footer-m__item, .ft__link, .ft__copyright, .ft__license { font-weight: 400; }

/* Buttons — Inter SemiBold */
.page:not(.page--services):not(.page--service) :is(.btn, .nav__contact, .legal-contents__toggle) { font-weight: 600; }
.page--home .services .btn { font-weight: 500; }
.nav__contact, .nav-m .btn { font-weight: 600; }

/* --------------------------------------------------------------------------
   Home page: the opening statement — calm and confident rather than loud. Medium weight, a
   comfortable measure, generous line spacing and balanced line breaks.
   -------------------------------------------------------------------------- */
.page--home .hero__statement {
  left: 250px; width: 940px;
  font-size: 23px; line-height: 1.55; font-weight: 500; letter-spacing: .004em;
  white-space: normal; text-wrap: balance; text-shadow: 0 1px 16px rgba(8,21,56,.55);
}
@media (max-width: 899px) {
  .page--home .hero__statement {
    left: 50%; width: 336px; bottom: calc(var(--hero-h) - var(--frame-h) + 50px);
    font-size: 15px; line-height: 1.6; letter-spacing: .005em; text-align: left;
    text-wrap: pretty; text-shadow: 0 1px 12px rgba(8,21,56,.6);
  }
}

/* Corporate Security introduction: a touch larger on phones, same colours and layout */
@media (max-width: 899px) {
  .page--home .corporate__copy { font-size: 15px; line-height: 22px; }
}
.hero__nobreak { white-space: nowrap; }
