/* ============================================
   ICONIC VOICES — Self-hosted fonts (@font-face)
   Replaces Google Fonts CDN per D-22 (CNIL GDPR compliance).
   Loaded with <link rel="stylesheet"> in each page head (S10-12); style.css
   still @imports it until WP-S13 removes that line (same URL, served once).
   ============================================ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('inter-latin-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('inter-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('inter-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('inter-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('playfair-latin-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('playfair-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('playfair-latin-400-italic.woff2') format('woff2');
}

/* --------------------------------------------
   Metric-matched fallbacks (S08-13): while a webfont is still loading
   (font-display: swap) the text is set in a local Georgia / Arial scaled to the
   webfont's advance widths and vertical metrics, so the swap no longer moves
   the layout. Stacks name them right after the webfont, e.g.
   'Playfair Display', 'Playfair Display Fallback', Georgia, serif.
   Values: hhea ascender/descender of the shipped woff2 over size-adjust;
   size-adjust = letter-frequency-weighted average advance (webfont / local).
   Browsers without the override descriptors simply use the plain local face.
   -------------------------------------------- */
@font-face {
  font-family: 'Playfair Display Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Georgia');
  size-adjust: 102.36%;
  ascent-override: 105.71%;
  descent-override: 24.52%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Playfair Display Fallback';
  font-style: italic;
  font-weight: 400;
  src: local('Georgia Italic'), local('Georgia-Italic');
  size-adjust: 93.95%;
  ascent-override: 115.17%;
  descent-override: 26.72%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Playfair Display Fallback';
  font-style: normal;
  font-weight: 700;
  src: local('Georgia Bold'), local('Georgia-Bold');
  size-adjust: 89.63%;
  ascent-override: 120.71%;
  descent-override: 28.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Arial'), local('ArialMT');
  size-adjust: 107.48%;
  ascent-override: 90.14%;
  descent-override: 22.44%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  font-style: normal;
  font-weight: 500;
  src: local('Arial'), local('ArialMT');
  size-adjust: 108.61%;
  ascent-override: 89.20%;
  descent-override: 22.21%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  font-style: normal;
  font-weight: 600;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 101.32%;
  ascent-override: 95.61%;
  descent-override: 23.81%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  font-style: normal;
  font-weight: 700;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 102.35%;
  ascent-override: 94.65%;
  descent-override: 23.57%;
  line-gap-override: 0%;
}
