/* ============================================================
   NCHM — Web fonts
   GT Walsheim, GT America and GT Pressura, subset to Latin and
   encoded as woff2 by scripts/build_brand_assets.py from the
   desktop originals archived in R2. NCHM's webfont licences cover
   every domain (DESIGN_SPEC D-O2, resolved 2026-09-11).

   font-display: swap, so text is never invisible while a face
   loads; the stacks in tokens/typography.css carry the fallbacks.
   ============================================================ */

@font-face {
  font-family: 'GT Walsheim';
  src: url('./fonts/gt-walsheim-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT America';
  src: url('./fonts/gt-america-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT America';
  src: url('./fonts/gt-america-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'GT America';
  src: url('./fonts/gt-america-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Pressura';
  src: url('./fonts/gt-pressura-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Size-matched fallbacks (scripts/fallback_metrics.py): the local Arial,
   scaled and given the brand faces' vertical metrics, so that when a brand
   face arrives the text changes shape but not size, and nothing on the page
   moves (Lighthouse layout shift, SPEC.md Section 8). */

@font-face {
  font-family: 'GT Walsheim Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 700;
  size-adjust: 101.28%;
  ascent-override: 88.86%;
  descent-override: 24.19%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'GT America Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 400;
  size-adjust: 103.04%;
  ascent-override: 97.05%;
  descent-override: 25.04%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'GT America Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 700;
  size-adjust: 100.7%;
  ascent-override: 99.3%;
  descent-override: 25.62%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'GT Pressura Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 400;
  size-adjust: 93.69%;
  ascent-override: 94.46%;
  descent-override: 22.95%;
  line-gap-override: 0%;
}
