/* 首屏关键字体（同步加载，先于 fonts.css）。
   目标：hero 标题/副标题在慢网下也不出现「先系统字、后真字体」的字宽跳动（CLS）。
   - Geist 700：拉丁标题（含英文标题），preload + 命中 hero 拉丁字形。
   - Hero SC：仅含首页 hero 标题/副标题用到的简中字形（~5KB，scripts/build-hero-subset.py 生成、已提交），
     preload + 独立字族名，故不与 fonts.css 里的 Noto Sans SC 级联冲突；命中标题字时直接用真字体。
   - *Fallback：metric-matched 系统字栈，swap 窗口内占位尺寸与真字体一致，进一步压低位移。 */

@font-face {
  font-family: 'Geist Fallback';
  font-style: normal;
  font-weight: 400 700;
  src: local('Segoe UI'), local('Arial'), local('Helvetica Neue');
  ascent-override: 90.2%;
  descent-override: 22.5%;
  line-gap-override: 0%;
  size-adjust: 107.6%;
}

@font-face {
  font-family: 'Noto Sans SC Fallback';
  font-style: normal;
  font-weight: 400 700;
  src: local('PingFang SC'), local('Microsoft YaHei'), local('Source Han Sans SC');
  ascent-override: 88%;
  descent-override: 12%;
  line-gap-override: 0%;
  size-adjust: 100%;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/geist/geist-700-4.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* hero 标题/副标题专用简中子集（仅 ~28 字形）：preload 于 index.html，慢网下也几乎首屏即达。
   仅含 hero 字形，其它字符自动回退到 fonts.css 的 Noto Sans SC（改文案忘了重生成也不会崩）。 */
@font-face {
  font-family: 'Hero SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/hero/hero-sc-700.woff2') format('woff2');
}
