/* Chinese overrides on top of ../com-mb/assets/mb.css: CJK font stacks, looser leading and one type scale for every page */
:root {
  --serif: "Crimson Pro", "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "PingFang SC", "Microsoft YaHei", serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  /* type scale: display / section title / item title / figure / lead / body / small / label */
  --t-h1: 56px; --t-h2: 40px; --t-h3: 24px; --t-fig: 28px;
  --t-lead: 18px; --t-body: 16px; --t-small: 14px; --t-label: 13px;
}
@media (max-width: 1100px) { :root { --t-h1: 48px; --t-h2: 36px; } }
@media (max-width: 560px) {
  :root { --t-h1: 34px; --t-h2: 28px; --t-h3: 20px; --t-fig: 22px; --t-lead: 16px; --t-body: 15px; --t-small: 13px; --t-label: 12px; }
}

body { line-height: 1.8; }
h1, h2, h3 { line-height: 1.3; letter-spacing: .02em; }
.label { letter-spacing: .04em; font-size: var(--t-label); }
.nav a { letter-spacing: .14em; }

/* display and section titles: one size each, wherever they appear */
.hero h1, .phero h1 { font-size: var(--t-h1); line-height: 1.25; }
.h2, .statement .h2, .band .h2, .ind-card .h2 { font-size: var(--t-h2); line-height: 1.3; }
.h3, .prod h3, .cert b, .loc-main .h3 { font-size: var(--t-h3); line-height: 1.35; }
.figures b { font-size: var(--t-fig); }
.contact-big a, .contact-big span.v { font-size: var(--t-h3); line-height: 1.45; }

/* text */
.lead { font-size: var(--t-lead); line-height: 1.85; }
.hero p, .phero p, .band p, .ind-card p, .prod p, .edit-item p, .lines li, .ind-card .lines li, .cols3 p, .statement p:not(.lead) { font-size: var(--t-body); }
.cert span, .thumb span, .figures span, .loc p, .ftr p, .ftr a { font-size: var(--t-small); }

/* Global presence: China division featured, other offices as a short list */
.locs-zh { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: start; }
.loc-main { border-top: 2px solid var(--ink); padding-top: 28px; }
.loc-main .h3 { margin-bottom: 20px; }
.loc-main ul, .loc-others ul { list-style: none; margin: 0; padding: 0; }
.loc-main li { display: grid; grid-template-columns: 88px 1fr; align-items: baseline; padding: 12px 0; border-top: 1px solid var(--grey-8); font-size: var(--t-body); }
.loc-main li .label { margin: 0; }
.loc-others { border-top: 1px solid var(--grey-5); padding-top: 28px; }
.loc-others li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-top: 1px solid var(--grey-8); }
.loc-others li b { font-weight: 400; font-size: var(--t-body); }
.loc-others li span { color: var(--grey-5); font-size: var(--t-small); }
@media (max-width: 860px) { .locs-zh { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 560px) { .loc-main li { grid-template-columns: 72px 1fr; } }
