/* THE ATLAS 擎海 — 字体与字号体系（对齐目标网站 theatlas.hk）
   字体文件为官方 webfont，本地化后以相对路径引用。 */

/* ---------- Webfonts (local) ---------- */
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/noto-sans-tc.woff2") format("woff2");
  unicode-range: u+2e80-2eff, u+3000-303f, u+3200-33ff, u+3400-4dbf, u+4e00-9fff, u+f900-faff, u+fe30-fe4f, u+ff00-ffef;
}
@font-face {
  font-family: "Noto Sans SC";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/noto-sans-sc.woff2") format("woff2");
  unicode-range: u+2e80-2eff, u+3000-303f, u+3200-33ff, u+3400-4dbf, u+4e00-9fff, u+f900-faff, u+fe30-fe4f, u+ff00-ffef;
}
@font-face {
  font-family: "Noto Serif TC";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/noto-serif-tc.woff2") format("woff2");
  unicode-range: u+2e80-2eff, u+3000-303f, u+3200-33ff, u+3400-4dbf, u+4e00-9fff, u+f900-faff, u+fe30-fe4f, u+ff00-ffef;
}
@font-face {
  font-family: "Noto Serif SC";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/noto-serif-sc.woff2") format("woff2");
  unicode-range: u+2e80-2eff, u+3000-303f, u+3200-33ff, u+3400-4dbf, u+4e00-9fff, u+f900-faff, u+fe30-fe4f, u+ff00-ffef;
}
/* 数字使用衬线数字（对应官网 YX Numerals 做法） */
@font-face {
  font-family: "YX Numerals";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/noto-serif-tc.woff2") format("woff2");
  unicode-range: u+0030-0039;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: u+00??, 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;
}

/* ---------- Type scale ----------
   基准值取自目标网站 theatlas.hk，再整体放大 1.5 倍（用户要求 +150%）。
   --fs-scale 可统一微调全站字号。 */
:root {
  --fs-scale: 1.5;
  --fs-h1: calc(var(--fs-scale) * clamp(24.0px, calc(24.0px + 5.1 * (100vw - 428px) / 938), 29.1px));
  --fs-h2: calc(var(--fs-scale) * clamp(1.375rem, calc(1.375rem + 0.125 * ((100vw - 480px) / 800)), 1.5rem));
  --fs-h3: calc(var(--fs-scale) * 1.25rem);
  --fs-h4: calc(var(--fs-scale) * 1.125rem);
  --fs-body: calc(var(--fs-scale) * clamp(11.5px, 2vw, 14.4px));
  --fs-small: calc(var(--fs-scale) * clamp(9.0px, calc(9.0px + 3.0 * (100vw - 428px) / 938), 12.0px));
  --fs-caption: calc(var(--fs-scale) * clamp(8.0px, calc(8.0px + 0.9 * (100vw - 428px) / 938), 8.9px));
  --fs-display: calc(var(--fs-scale) * clamp(28.04px, calc(28.04px + 7.96 * (100vw - 428px) / 938), 36px));
  --fs-subhead: calc(var(--fs-scale) * clamp(18.0px, calc(18.0px + 2.3 * (100vw - 428px) / 938), 20.3px));
  --fs-lead: calc(var(--fs-scale) * clamp(14.02px, calc(14.02px + 3.94 * (100vw - 428px) / 938), 17.96px));
}