/* Chinese typography (Figma "Font Hierarchy: ZH"). Loaded only on Chinese pages, English is untouched.
   Font: Noto Sans SC, letter-spacing 0%.
   Descriptor / Body: Regular · Header: Medium, line-height 115–120% · Subtitle: Medium, 130–135% · Body line-height 150% · Button: Medium. */

:root:lang(zh) {
    --ls-tight:    0;
    --ls-base:     0;
    --lh-tight:    1.1;   /* Header: a little tighter than the 115–120% of the spec */
    --lh-subtitle: 1.32;  /* Subtitle 130–135% */
    --line-height: 1.5;   /* Body 150% */
}

/* Header: Medium */
:lang(zh) h1,
:lang(zh) h2,
:lang(zh) h3,
:lang(zh) .t-display-xl,
:lang(zh) .t-display-l,
:lang(zh) .t-display-m,
:lang(zh) .t-h3 {
    font-weight:    var(--fw-medium);
    line-height:    var(--lh-tight);
    letter-spacing: .02em;  /* Headers: 2% */
}

/* Header-level titles that are not h1–h3 or have their own letter-spacing */
:lang(zh) .contact__title,
:lang(zh) .t-display-xl,
:lang(zh) .t-display-l,
:lang(zh) .t-display-m {
    line-height:    var(--lh-tight);
    letter-spacing: .02em;
}

/* Subtitle: Medium, 130–135% */
:lang(zh) .t-title,
:lang(zh) .t-lead,
:lang(zh) .ab-name,
:lang(zh) .ab-tab__title button,
:lang(zh) .ac-direction__text,
:lang(zh) .ac-learn__name,
:lang(zh) .ac-orgs__goals li,
:lang(zh) .ac-paths__name,
:lang(zh) .ac-programmes__name,
:lang(zh) .ac-skills__row dt,
:lang(zh) .adv-name,
:lang(zh) .afac-areas__lead,
:lang(zh) .afac-card__name,
:lang(zh) .eco__name,
:lang(zh) .fac-programmes__name,
:lang(zh) .faq-item__toggle,
:lang(zh) .fd-about__lead,
:lang(zh) .fd-card__name,
:lang(zh) .fd-filters__title,
:lang(zh) .fm-card__name,
:lang(zh) .fm-facts dd,
:lang(zh) .fs-card__name,
:lang(zh) .help__item-title,
:lang(zh) .insight__title,
:lang(zh) .nav-tab__title,
:lang(zh) .pg-facts dd,
:lang(zh) .pg-lead,
:lang(zh) .pg-module__toggle,
:lang(zh) .pg-name,
:lang(zh) .places__city,
:lang(zh) .site-footer__title,
:lang(zh) .site-menu__lang-current,
:lang(zh) .site-menu__list--lg a {
    line-height: var(--lh-subtitle);
}

/* Components with a hard-coded negative letter-spacing in the English design */
:lang(zh) .ab-practice__strip-item,
:lang(zh) .eco__name,
:lang(zh) .eco__tab,
:lang(zh) .fac-overview__facts dd,
:lang(zh) .fm-facts dd,
:lang(zh) .hero__note,
:lang(zh) .nav-tab__title,
:lang(zh) .navigate__nav-item,
:lang(zh) .pg-facts dd,
:lang(zh) .pg-table__row dd,
:lang(zh) .places__motto,
:lang(zh) .site-menu__lang-current,
:lang(zh) .site-menu__list--lg a,
:lang(zh) .work__table td,
:lang(zh) .work__table th {
    letter-spacing: 0;
}

/* Button: Medium */
:lang(zh) .btn {
    font-weight:    var(--fw-medium);
    letter-spacing: 0;
}
