/* ==========================================================================
   中文版排版覆写 —— 只由 /zh/ 加载

   三件事要改，缺一项中文就会散：
   ① 负字距。整站为拉丁大标题设的 -0.02em ~ -0.035em，落到方块字上会挤成一团。
   ② 行高。lh 0.9~1.0 是拉丁大标题的特征值，中文多行标题会粘在一起。
   ③ 字号。同一 px 下汉字的视觉体量比拉丁大一圈，巨标题会顶破容器。

   西文字体的 @font-face 都带 unicode-range，汉字自然落到下一级中文字库，
   所以字体栈只需补齐各平台的中文字库，不必替换整条栈。
   ========================================================================== */

:root {
  --font-display: "Inter Tight", "IT Fallback", "PingFang SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", "Hiragino Sans GB", sans-serif;
  --font-sans: "Inter", "IT Fallback", "PingFang SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", "Hiragino Sans GB", sans-serif;

  /* PingFang SC 只有 400/500/600 是真字重，450 会被合成，换成 400 免得发虚 */
  --fw-book: 400;

  --ls-title: 0;
  --ls-body: 0;
  --ls-small: 0.02em;
  --ls-eyebrow: 0.08em;
}

/* 中文按标点断行，避免把「，」「。」甩到行首 */
html[lang^="zh"] body {
  line-break: strict;
  overflow-wrap: break-word;
}

/* 数字与参数仍然走等宽 —— 机制数在滚动中不能跳宽 */
html[lang^="zh"] .num,
html[lang^="zh"] .ucard__amt,
html[lang^="zh"] .fx-field__input,
html[lang^="zh"] output {
  font-family: var(--font-mono);
  letter-spacing: 0;
}

/* ---------- 巨标题：去负字距、放行高、收字号 ---------- */

html[lang^="zh"] .hero__title {
  font-size: clamp(38px, calc(1.75rem + 3vw), 78px);
  line-height: 1.16;
  letter-spacing: 0;
}

html[lang^="zh"] .unify__title {
  font-size: clamp(48px, 12.4vw, 216px);
  line-height: 1.06;
  letter-spacing: 0;
}

html[lang^="zh"] .uact {
  font-size: clamp(40px, 6.2vw, 138px);
  line-height: 1.1;
  letter-spacing: 0;
}

html[lang^="zh"] .walkthrough__intro {
  font-size: clamp(30px, 4.6vw, 80px);
  line-height: 1.12;
  letter-spacing: 0;
}

html[lang^="zh"] .wt-caption__title {
  font-size: clamp(18px, 1.78vw, 30px);
  line-height: 1.32;
  letter-spacing: 0;
}

html[lang^="zh"] .wt-caption__word {
  font-size: clamp(22px, 3.2vw, 54px);
  letter-spacing: 0;
}

html[lang^="zh"] .app-hero__title {
  font-size: clamp(30px, 4.3vw, 70px);
  line-height: 1.24;
  letter-spacing: 0;
}

html[lang^="zh"] .card-overview__title {
  font-size: clamp(23px, 3.1vw, 45px);
  line-height: 1.34;
  letter-spacing: 0;
}

html[lang^="zh"] .card-detail__title {
  font-size: clamp(25px, 4.1vw, 68px);
  line-height: 1.24;
  letter-spacing: 0;
}

html[lang^="zh"] .fx__title {
  font-size: clamp(27px, 4.3vw, 70px);
  line-height: 1.12;
  letter-spacing: 0;
}

html[lang^="zh"] .closing__title {
  font-size: clamp(38px, 7.2vw, 104px);
  line-height: 1.14;
  letter-spacing: 0;
}

/* ---------- 正文与小件 ---------- */

html[lang^="zh"] .hero__lede,
html[lang^="zh"] .app-hero__sub,
html[lang^="zh"] .card-detail__sub,
html[lang^="zh"] .wt-caption__body,
html[lang^="zh"] .fx__note {
  line-height: 1.72;
  letter-spacing: 0;
}

html[lang^="zh"] .footer-legal { line-height: 1.8; }

/* 中文没有大小写，uppercase 只会让字距看着更松 */
html[lang^="zh"] .ucard__head,
html[lang^="zh"] .app-hero__eyebrow,
html[lang^="zh"] .pill-tag,
html[lang^="zh"] .footer-col h3 {
  text-transform: none;
}

/* 期限按钮里「30天」比「30d」宽一格，给回一点内边距余量 */
html[lang^="zh"] .fx-term { padding-inline: 0.55em; }

/* ---------- 窄屏 ---------- */
@media (max-width: 743px) {
  html[lang^="zh"] .hero__title { font-size: clamp(28px, 7.6vw, 46px); line-height: 1.2; }
  html[lang^="zh"] .unify__title { font-size: clamp(38px, 13vw, 92px); }
  html[lang^="zh"] .uact { font-size: clamp(34px, 10.4vw, 76px); }
  html[lang^="zh"] .wt-caption__title { font-size: clamp(17px, 4.8vw, 25px); }
  html[lang^="zh"] .app-hero__title { font-size: clamp(24px, 7vw, 38px); }
  html[lang^="zh"] .card-detail__title { font-size: clamp(23px, 6.6vw, 38px); }
  html[lang^="zh"] .fx__title { font-size: clamp(24px, 7.2vw, 38px); }
  html[lang^="zh"] .closing__title { font-size: clamp(26px, 7.4vw, 42px); }
}
