/*
 * 5UWebsite.com — Self-hosted webfonts
 *
 * IMPORTANT: this file references /fonts/<file>.woff2 — those files DO NOT
 * yet exist in this repo. They must be placed by integration step:
 *   - Backend Claude rsyncs the /fonts/ directory to public_html, OR
 *   - shared/ folder gets a /fonts/ subdirectory that is symlinked/copied to
 *     /home/j65uweb/public_html/fonts/.
 *
 * Required files (download from Google Fonts > Self-host > "Download family"):
 *   /fonts/noto-sans-sc-400.woff2     (zh-CN body — Subset: Chinese, Latin)
 *   /fonts/noto-sans-sc-500.woff2
 *   /fonts/noto-sans-sc-700.woff2
 *   /fonts/noto-sans-tc-400.woff2     (zh-TW body)
 *   /fonts/noto-sans-tc-500.woff2
 *   /fonts/noto-sans-tc-700.woff2
 *   /fonts/montserrat-400.woff2       (Latin headings)
 *   /fonts/montserrat-500.woff2
 *   /fonts/montserrat-700.woff2
 *
 * Until placed, system fallbacks declared in tokens.css will render. This
 * causes a ~3-5% visual diff at smoke-test stage which is expected.
 *
 * Why woff2 only: ~30% smaller than woff, full coverage on browsers ≥2017,
 * matches PageSpeed-95 budget.
 *
 * font-display: swap → render with fallback first, swap when font ready.
 *   No FOIT, no layout shift if metrics-override applied (future hardening).
 */

@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-sc-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}
@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/noto-sans-sc-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}
@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-sc-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}

@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-tc-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/noto-sans-tc-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-tc-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+4E00-9FFF, U+3000-303F, U+FF00-FFEF;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/montserrat-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/montserrat-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/montserrat-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
