/* ==========================================================================
   FONTS.CSS - Font Face Declarations
   ========================================================================== */

/* ── FALLBACK FONTS WITH METRIC OVERRIDES ──────────────────────────────────
   Overrides make fallback fonts match Montserrat/Open Sans metrics exactly,
   eliminating layout shift (CLS) even when font-display: swap is used.
   ────────────────────────────────────────────────────────────────────────── */

@font-face {
  font-family: montserrat-fallback;
  src: local('Arial');
  ascent-override: 85%;
  descent-override: 21.8%;
  line-gap-override: 0%;
  size-adjust: 112.5%;
}

@font-face {
  font-family: opensans-fallback;
  src: local('Arial');
  ascent-override: 90.5%;
  descent-override: 22.6%;
  line-gap-override: 0%;
  size-adjust: 105%;
}

/* ── MONTSERRAT ─────────────────────────────────────────────────────────── */

/* Montserrat Medium (500) */
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./Montserrat-500.woff2') format('woff2');
}

/* Montserrat SemiBold (600) */
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./Montserrat-600.woff2') format('woff2');
}

/* Montserrat Bold (700) */
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./Montserrat-700.woff2') format('woff2');
}

/* ── OPEN SANS ──────────────────────────────────────────────────────────── */

/* Open Sans Regular (400) */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./OpenSans-400.woff2') format('woff2');
}

/* Open Sans SemiBold (600) */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./OpenSans-600.woff2') format('woff2');
}
