/* Simplified Chinese pages (/zh/): loaded only there, after site.css (and polish.css when present).
   Latin glyphs (names, numbers, 6069.HK) keep the site's fonts; Chinese glyphs fall through to the self-hosted
   Noto Serif SC subset in headings (fonts-zh.css) and to the system CJK fonts in body text (no web font needed:
   PingFang SC on Apple, Microsoft YaHei on Windows, Noto Sans CJK SC on Android/Linux). */
.lang-zh {
  --font-display: "Instrument Serif", "Noto Serif SC", "Songti SC", serif;
  --font-body: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-mono: "JetBrains Mono", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", ui-monospace, monospace;
}
.lang-zh body, .lang-zh { line-height: 1.75; }
/* CJK fonts have no italic: never fake one (Latin italics such as "Lua" keep their real italic face) */
.lang-zh { font-synthesis: none; }

/* Chinese has no case and wide tracking breaks it into loose characters */
.lang-zh :is(.eyebrow, .section-head__index, .label-mono, .tags li, .chip, .ledger__tag, .tl-card__now, .edu__award,
  .badge-now, .press-card__tag, .press-card__meta, .press-card__more, .deal__eyebrow, .beyond__label, .honours__kicker,
  .dossier__year, .dossier__group-title, .mandate__context, .tl-card__context, .tl-item__tenure, .contact-card__label,
  .stat__label, .edu__year, .edu__open, .scroll-cue, .hero__meta, .footer__clock, .marquee__group li) {
  text-transform: none;
  letter-spacing: 0.06em;
}

/* Display headings: serif CJK, a touch smaller (CJK glyphs are visually larger), no italic synthesis */
.lang-zh :is(h1, h2, h3, h4, .hero__title, .section-head__title, .talk__title, .deal__title, .dossier__title) {
  font-family: var(--font-display);
  letter-spacing: 0.02em;
  font-synthesis: none;
}
/* CJK glyphs read larger than Latin at the same size: step the display sizes down ~14% (explicit, not em) */
.lang-zh .section-head__title { font-size: clamp(2.6rem, 6.3vw, 6rem); line-height: 1.12; }
.lang-zh .talk__title { font-size: clamp(3.6rem, 11.5vw, 10.5rem); line-height: 1.08; }
.lang-zh .deal__title { font-size: clamp(2.3rem, 4.4vw, 3.8rem); line-height: 1.1; }
.lang-zh .honours__title { font-size: clamp(1.8rem, 3.1vw, 2.6rem); line-height: 1.15; }
/* the gold accent stays; the slant goes (it can only be faked on CJK) */
.lang-zh :is(.marquee__group li, .about__lede em, .honours__title em, .reader__quote p, .section-head__title em, .talk__title em) { font-style: normal; }
.lang-zh .hero__title { letter-spacing: -0.015em; } /* the name stays Latin */

/* Body copy: comfortable CJK line length and spacing */
.lang-zh :is(p, li) { line-break: strict; word-break: normal; overflow-wrap: anywhere; }
.lang-zh .about__prose p, .lang-zh .tl-card__points li, .lang-zh .reader__points li { line-height: 1.85; }

/* Language switch (both languages) is styled in site.css; this keeps the Chinese label compact */
.lang-zh [data-lang-switch] { letter-spacing: 0.04em; }

/* ── Final mobile pass (2026-10-19) ── */
/* CJK punctuation from a CJK font even where Latin fonts also have the glyph (“” ‘’ … —) */
@font-face { font-family: "ZH Punct Sans"; src: local("PingFang SC"), local("PingFangSC-Regular"), local("Noto Sans CJK SC"), local("NotoSansCJKsc-Regular"), local("Source Han Sans SC"), local("Microsoft YaHei"); unicode-range: U+2014, U+2018-2019, U+201C-201D, U+2026; }
@font-face { font-family: "ZH Punct Serif"; src: local("Songti SC"), local("STSongti-SC-Regular"), local("Noto Serif CJK SC"), local("NotoSerifCJKsc-Regular"), local("Source Han Serif SC"), local("SimSun"); unicode-range: U+2014, U+2018-2019, U+201C-201D, U+2026; }
.lang-zh {
  --font-body: "ZH Punct Sans", "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-display: "ZH Punct Serif", "Instrument Serif", "Noto Serif SC", "Songti SC", serif;
}
.lang-zh .edu--featured .edu__degree { max-width: 7.5em; text-wrap: wrap; }
.lang-zh :is(.tl-card__also p, .dossier__mod-name, .dossier__score-note, .dossier__school) { text-wrap: pretty; }
.lang-zh :is(.edu__degree, .beyond__title, .press-card__title, .ledger__what, .dossier__title, .edu__award, .dossier__link .src-link) { word-break: keep-all; overflow-wrap: anywhere; }
.lang-zh :is(.pg-facts dt, .pg-loader__text, .pg-alt__label, .pg-back, .pg-foot__time, .portrait__caption, .portrait__caption span,
  .footer__role, .footer__role span, .to-top, .footer__links a, .footer__copy, .footer__copy span, .dossier__mod-when,
  .reader__quote cite, .tl-card__also-label, .menu__meta, .menu__meta span) { text-transform: none; letter-spacing: 0.06em; }
@media (max-width: 640px) { .lang-zh .tl-card__points li { text-wrap: pretty; } }

/* ── Phone pass (2026-10-19, audit) ── */
/* meta lines break at their spaces / 、 instead of inside words (魁/北克, 资/产, 顾/问) */
.lang-zh :is(.tl-card__context, .mandate__context) { word-break: keep-all; }
@media (max-width: 640px) {
  /* small mono labels: 12px for Chinese (11px was tuned for uppercase Latin) */
  .lang-zh :is(.stat__label, .tl-card__context, .mandate__context, .tl-item__tenure, .tags li, .label-mono, .section-head__index) { font-size: 0.75rem; }
  /* the Seviora pill may wrap instead of running past the card edge */
  .lang-zh .tl-card__org .tl-card__now {
    display: block; width: fit-content; max-width: 100%; height: auto; min-height: var(--pill-xs);
    padding-block: 2px; line-height: 1.3; white-space: normal; border-radius: var(--r-sm);
  }
  /* the About lede gets CJK line spacing */
  .lang-zh .about__lede { font-size: clamp(1.5rem, 6.6vw, 1.75rem); line-height: 1.4; }
  /* the talk paragraph breaks at punctuation, not inside 选择 */
  .lang-zh .talk__text { word-break: keep-all; overflow-wrap: anywhere; }
}
/* field headers in the sheets are mono labels in Chinese too (the display-heading rule above took them) */
.lang-zh .dossier__group-title { font-family: var(--font-mono); }
@media (max-width: 640px) {
  /* sheet header lines break at " · ", not inside 香港会议展览中心 / 理学硕士 */
  .lang-zh .dossier__school { word-break: keep-all; overflow-wrap: anywhere; }
  /* the remaining small labels match the 12px Chinese labels above */
  .lang-zh :is(.press-card__meta, .press-card__tag, .press-card__more, .ledger__tag, .edu__award, .deal__eyebrow),
  .lang-zh .edu--featured button.edu__award { font-size: 0.75rem; }
}
@media (max-width: 900px) {
  /* booking labels and footer at 12px */
  .lang-zh :is(.pg-alt__label, .pg-facts dt, .pg-foot) { font-size: 0.75rem; }
}
