/* ══ 中文版 — Chinese edition overrides ═════════════════════════
   Loaded only by index-zh.html, after every other stylesheet.

   Conthrax and Alexandria carry no CJK glyphs, so a Latin-only display face
   would silently fall back per-character and the headings would come out in
   a mismatched system font anyway. Instead the tokens point at a CJK stack
   outright: PingFang on Apple, Microsoft YaHei on Windows, Noto on Linux —
   all present on the platform, so nothing extra is downloaded and there is
   no flash of unstyled Chinese.                                          */

:root {
  --f-display: "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC",
               "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;
  --f-body:    "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC",
               "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;
  --f-alt:     "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC",
               "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;
}

/* Conthrax is a wide, letter-spaced display face; CJK glyphs are already
   full-width squares, so the tracking that suits Latin caps makes Chinese
   headings look sparse. Pull it back and lean on weight instead. */
.h-section,
.hero__title,
.about__title,
.pillar-cap h3,
.eyebrow,
.zone__t,
.feat__title,
.spk__name,
.ftr__head,
.obj__t,
.hall__cap,
.nums__cap,
.aud-cap {
  letter-spacing: 0;
  font-weight: 700;
  text-transform: none;   /* uppercase does nothing to CJK but breaks any Latin run inside */
}

/* CJK has no word spaces to break at, so long strings need character-level
   wrapping and a little more leading to stay readable */
body {
  line-break: strict;
  overflow-wrap: anywhere;
  word-break: normal;
}
.zone__body p,
.obj__p,
.pillar-cap p,
.feat__face--back p,
.about__p,
.hall__cap,
.nums__cap,
.aud-cap,
.ftr__line,
.ftr__links {
  line-height: 1.85;
}

/* the display face was sized for Conthrax's narrow caps; CJK runs wider per
   glyph, so the largest headings come down a step to hold their lines */
.h-section { font-size: clamp(26px, 3.2vw, 50px); }
.hero__title { font-size: clamp(24px, 2.9vw, 44px); }

/* Latin fragments inside Chinese copy — YCSF, MoU, B2B, EPC, AI — keep the
   site's own face so brand and acronyms still read as they do in English */
.lat {
  font-family: 'Conthrax', var(--f-display);
  letter-spacing: .01em;
}

/* Zone titles run as continuous phrases (AYSHA review) but CJK wraps between
   ANY two characters by default, which split 控制 across lines. keep-all
   forbids intra-term breaks; the <wbr> marks in the titles are the only
   places a line may turn. overflow-wrap is reset because the body sets
   `anywhere` for long strings, which would override keep-all in a squeeze. */
.zone__t {
  word-break: keep-all;
  overflow-wrap: normal;
}
