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

/* Open-source fallback blackletter (UnifrakturMaguntia, SIL OFL 1.1). Sits
   behind the brand face so a missing/failed woff2 degrades to another real
   gothic face instead of a Windows-only system font or plain serif. */
@font-face {
  font-family: 'Unifraktur Maguntia';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./unifrakturmaguntia-400-normal.woff2') format('woff2');
}

/* CJK serif, subset to the ~1000 characters this site actually sets
   (Noto Serif SC, SIL OFL 1.1). Regenerate with:
     python scripts/subset-cjk-font.py <font-dir>
   Only 300/400 are needed: every 700 on the site is a blackletter wordmark. */
@font-face {
  font-family: 'Shizi Serif';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./shizi-serif-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Shizi Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./shizi-serif-400.woff2') format('woff2');
}

/* The four normal files are byte-identical; one ranged face covers 300–600. */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url('./cormorant-garamond-300-normal.woff2') format('woff2');
}

/* The two italic files are byte-identical. */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 400;
  font-display: swap;
  src: url('./cormorant-garamond-300-italic.woff2') format('woff2');
}
