/* Chinese-only typography. Latin event identities and the wordmark retain their
   original faces; system CJK glyphs require no additional download. */
:root { --f-cjk: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif; }
.cn-copy, .cn-ui { font-family: "Montserrat", var(--f-cjk); letter-spacing: 0; word-break: normal; overflow-wrap: break-word; }
.cn-copy, p.cn-ui, li.cn-ui, figcaption.cn-ui, .wl--para .wl__p, .wl--cap .wl__cap { line-height: 1.65; }
.cn-heading { font-family: var(--f-cjk); line-height: 1.2; letter-spacing: 0; font-weight: 500; max-width: 100%; }
.cn-heading.story__lead { max-width: 20ch; }
.cn-heading.head__title { max-width: 22ch; }
.btn.cn-ui, .go.cn-ui, .hdr__menu-t.cn-ui, .intro__cue .cn-ui { font-family: var(--f-cjk); line-height: 1.35; }
.btn.cn-ui { padding-block: .8rem; text-align: center; justify-content: center; }
.menu__nav a.cn-ui, .menu__g.cn-ui { font-family: var(--f-cjk); line-height: 1.3; letter-spacing: 0; }
.wl--para .wl__p, .wl--cap .wl__cap { font-family: var(--f-cjk); letter-spacing: 0; }
.cn-copy .ln, .cn-ui .ln { line-height: inherit; }
@media (max-width: 760px) {
  .cn-heading.hero__title { font-size: clamp(2.15rem, 8.5vw, 3rem); }
  .cn-heading.po__t, .cn-heading.qt__t { line-height: 1.3; }
  .menu__nav a.cn-ui, .menu__g.cn-ui { font-size: clamp(1.5rem, 6.8vw, 2rem); }
}

/* Chinese typography corrections only. No scene or scrolling changes. */
.cn-heading { line-break: strict; overflow-wrap: normal; }
.cn-term { display: inline-block; white-space: nowrap; }
.hero__title.cn-heading .cn-hero-phrase {
  display: block;
  white-space: nowrap;
  letter-spacing: 0;
  word-spacing: 0;
}
/* The mobile scene stylesheet's more specific 1.02 leading is Latin-oriented. */
html.world .ch[data-world] .cn-heading,
.wl .cn-heading { line-height: 1.2; letter-spacing: 0; }
.qt__q.cn-ui { line-height: 1.25; line-break: strict; }
/* Email addresses must not spill out of narrow two-column roster cards. */
.tm__e { display: inline-block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
/* Keep the email domain intact even in a 320px two-column roster. */
@media (max-width: 359px) {
  .tm__e { font-size: .75rem; }
}
