/* ============================================================
   Self-hosted fonts — 2 families, latin subset, ~200KB total
   ============================================================ */

/* Montserrat 300-700 */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/montserrat-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/montserrat-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-700.woff2') format('woff2');
}

/* Playfair Display — italic 400 only (used by .serif accent word) */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/playfair-display-400-italic.woff2') format('woff2');
}

/* ------------------------------------------------------------
   Display faces — used ONLY by the partner-brand wordmark strip.
   Browsers lazy-load @font-face files, so pages that don't render
   the strip never download these.
   ------------------------------------------------------------ */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/barlow-800-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/playfair-display-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/playfair-display-900-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/oswald-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/archivo-black-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/rubik-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/bebas-neue-400.woff2') format('woff2');
}

/* ------------------------------------------------------------
   Metric-matched fallbacks — eliminate CLS when custom font loads
   Values from the Fontsource/Fontaine calibrations for Arial→Montserrat
   and Georgia→Playfair Display.
   ------------------------------------------------------------ */
@font-face {
  font-family: 'Montserrat-Fallback';
  src: local('Arial'), local('Helvetica'), local('sans-serif');
  size-adjust: 100.15%;
  ascent-override: 92.5%;
  descent-override: 24.02%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Playfair-Fallback';
  src: local('Georgia'), local('Times New Roman'), local('serif');
  size-adjust: 111.19%;
  ascent-override: 91.99%;
  descent-override: 23.31%;
  line-gap-override: 0%;
}
