/* 中文页面排版（仅 /zh/ 页面加载）。拉丁字体负责数字和英文，中文回退到系统黑体。 */
:root {
  --font: "Geist", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", ui-sans-serif, system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", monospace;
  --fs-display: clamp(38px, 6vw, 104px);
  --fs-h2: clamp(30px, 4vw, 64px);
}
body { line-height: 1.75; }
.display, .h2, .h3, .manifesto__text, .sentence, .menu a.m, .pindex .t { letter-spacing: 0.01em; }
.display { line-height: 1.12; }
.h2 { line-height: 1.18; }
.h3, .manifesto__text { line-height: 1.32; }
.lede, .body { max-width: 30em; letter-spacing: 0.02em; }
/* 标题按词组断行：翻译里用零宽空格标出可断处（tools/i18n/zh.json 中的 “|”） */
.zh-ph { word-break: keep-all; overflow-wrap: break-word; }
/* 英文版用 ch 限宽；中文一个字约 1em，按字数重设 */
.h-hero h1 { max-width: 7.2em; }
.sentence { max-width: 9em; }
.band .display { max-width: 8em; }
.manifesto__text { max-width: 15em; }
.cta-orb span { max-width: 5em; }
.seal b { max-width: 7em; }
.seal small { max-width: 9em; }
.h-plan__head .body, .flow__now p, .fab__now, .cat-intro, .gate p, .tl__item p { max-width: 26em; }
