/* ============================================================
   CWCC 静态站 · 字体授权替换覆盖层
   ------------------------------------------------------------
   生成工具: tools/phase3_font_override.py  （可重复执行）
   作用: 把无独立授权的商业/Wix 字体替换为开源等效字体，
        家族名保持不变，因此 index.css 中原有引用无需任何改动。
   加载顺序: 必须在 index.css 之后（后声明的同名 @font-face 生效）。
   ============================================================ */

/* ---------- 1. Helvetica 系：优先使用系统字体 ----------
   Helvetica/Arial 度量与原商业字体一致，local() 引用系统已安装字体
   不构成字体分发，因此无授权风险且不产生视觉跳变。
   Montserrat 仅作为无 Helvetica/Arial 环境（如 Linux）的兜底。 ---------- */

@font-face {
  font-family: 'helvetica-w01-bold';
  /* 元素声明 weight=400，粗细由族名承担：local 直接取 Bold 字形 */
  src: local('Helvetica Neue Bold'), local('Helvetica Bold'),
       local('Arial Bold'), local('Arial'),
       url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('truetype');
  size-adjust: 99.96%;
  font-display: swap;
}

@font-face {
  font-family: 'helvetica-w01-light';
  src: local('Helvetica Neue'), local('Helvetica'), local('Arial'),
       url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('truetype');
  size-adjust: 99.41%;
  font-display: swap;
}

@font-face {
  font-family: 'helvetica-w01-roman';
  src: local('Helvetica Neue'), local('Helvetica'), local('Arial'),
       url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('truetype');
  font-display: swap;
}

/* ---------- 2. 几何无衬线系：统一替换为开源字体 ----------
   Heavy 族 → 原站自带 Poppins Bold（OFL，已随基线镜像），粗细由文件承担；
   其余族 → Montserrat 可变字体（默认 wght=400 实例，粗细为已知妥协）。
   实测：此处不能写 font-weight 描述符 —— 写 400 以外的值（含 100 900
   范围）都会让 latin 请求回落到 index.css 的原商业字体 face（授权红线）；
   不写描述符时同权重匹配后声明者胜，替换才能生效。
   size-adjust 按 canvas 实测宽度补偿，对齐换行位置与块高度。 ---------- */

@font-face {
  font-family: 'Madefor-Text';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 97.99%;
  font-display: swap;
}

@font-face {
  font-family: 'avenir-lt-w01_35-light1475496';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 91.49%;
  font-display: swap;
}

@font-face {
  font-family: 'avenir-lt-w01_85-heavy1475544';
  src: url(../fonts/aDjpMND83pDErGXlVEr-Sfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 95.37%;
  font-display: swap;
}

@font-face {
  font-family: 'din-next-w01-light';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 86.38%;
  font-display: swap;
}

@font-face {
  font-family: 'futura-lt-w01-book';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 92.55%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW01-35Thin';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 87.56%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW01-45Ligh';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 90.56%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW01-55Roma';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 93.71%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW01-65Medi';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 95.84%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW02-35Thin';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 87.56%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW02-45Ligh';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 90.56%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW02-55Roma';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 93.71%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW02-65Medi';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 95.84%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW10-35Thin';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 87.54%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW10-45Ligh';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 90.51%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW10-55Roma';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 93.63%;
  font-display: swap;
}

@font-face {
  font-family: 'wixFreemiumFontW10-65Medi';
  src: url(../fonts/9VWMTeb5jtXkNoTv949Npfk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  size-adjust: 95.77%;
  font-display: swap;
}

/* ---------- 3. 中文字形 ----------
   Montserrat 不含中文字形，简中页面会 fallback。此处显式声明
   中文优先使用各平台原生黑体，避免不同设备观感不一致。
   （原 Wix 字体同样不含中文，此行为与原站一致，非新增改动） ---------- */

@font-face {
  font-family: 'montserrat-fallback-cjk';
  src: local('PingFang SC'), local('Microsoft YaHei'),
       local('微软雅黑'), local('Noto Sans CJK SC'),
       local('Hiragino Sans GB'), local('Source Han Sans SC');
  unicode-range: U+2E80-303F, U+3040-30FF, U+3400-4DBF,
                 U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
  font-display: swap;
}
