/* ════════════════════════════════════════════════════════════════════
   Self-hosted Playfair Display + DM Sans — latin subset (FR + EN)
   ────────────────────────────────────────────────────────────────────
   Replaces the cross-origin fetch to fonts.googleapis.com that was
   doing a render-blocking handshake before any text could paint.
   The 4 WOFF2 files are Google's variable-font builds covering all
   weights (400/600/700 for Playfair, 400/600 for DM Sans).

   ZH locale (/cn/*) keeps loading ZCOOL XiaoWei from Google Fonts
   inline in header.php — self-hosting that family is not justified
   at current ZH traffic volume.
   ════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/css/fonts/playfair-display-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/css/fonts/playfair-display-italic-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/css/fonts/dm-sans-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/css/fonts/dm-sans-italic-variable.woff2') format('woff2');
}
