/* Outfit font family — WOFF2 primary, TTF fallback for ancient browsers.
 * WOFF2 saves ~63% over TTF (e.g. Outfit-400 47.8 KB → 18.1 KB) and is
 * universally supported in 2026 browsers. font-display: swap renders the
 * fallback font immediately so FOIT does not delay LCP — once Outfit loads,
 * glyphs swap in place.
 *
 * "Outfit Fallback" — metric-matched Arial face that occupies the SAME
 * vertical and horizontal space as Outfit while the real font downloads.
 * Modern browsers (Chrome 87+, Safari 17.4+, Firefox 89+) honour
 * size-adjust + ascent-override + descent-override on @font-face;
 * browsers without support silently fall back to plain Arial sans-serif.
 *
 * Override values computed from Outfit-400.ttf at deploy/resize-logos.py
 * sibling time using fontTools:
 *   Outfit: unitsPerEm=1000, ascent=1000, descent=-260, xAvgCharWidth=572
 *   Arial:  unitsPerEm=2048, ascent=1854, descent=-434, xAvgCharWidth=904
 *
 *   size-adjust       = (572 × 2048) / (904 × 1000) × 100 = 129.59 %
 *   ascent-override   = 1000 / 1000 × 100             = 100.00 %
 *   descent-override  = 260  / 1000 × 100             = 26.00 %
 *   line-gap-override = 0    / 1000 × 100             = 0.00 %
 *
 * If these are off and you observe text-flow CLS in PageSpeed, re-run
 * the fontTools calc on the deployed Outfit-400.ttf — Google Fonts may
 * update Outfit's metrics in future releases.
 */
@font-face {
  font-family: 'Outfit Fallback';
  src: local('Arial');
  size-adjust: 129.59%;
  ascent-override: 100%;
  descent-override: 26%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('Outfit-100.woff2') format('woff2'),
       url('Outfit-100.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('Outfit-200.woff2') format('woff2'),
       url('Outfit-200.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('Outfit-300.woff2') format('woff2'),
       url('Outfit-300.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('Outfit-400.woff2') format('woff2'),
       url('Outfit-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('Outfit-500.woff2') format('woff2'),
       url('Outfit-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('Outfit-600.woff2') format('woff2'),
       url('Outfit-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('Outfit-700.woff2') format('woff2'),
       url('Outfit-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('Outfit-800.woff2') format('woff2'),
       url('Outfit-800.ttf') format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('Outfit-900.woff2') format('woff2'),
       url('Outfit-900.ttf') format('truetype');
}
