/* A calmer corporate voice, using each visitor's native text fonts.
   No remote font request, proprietary font file, or content transformation. */
:root {
  --font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans CJK SC", "Noto Sans SC", sans-serif;
  --font-heading: var(--font-body);
  font-family: var(--font-body);
}
body { line-height: 1.75; }
h1, h2, .brief-card h2 {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -.015em;
}
h3, h4, .course-copy h3, .research-copy h3 {
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -.012em;
  line-height: 1.45;
}
.corporate-hero h1 { font-weight: 400; line-height: 1.3; }
.section-heading h2 { line-height: 1.35; }
.course-copy h3, .research-copy h3 { line-height: 1.4; }
.eyebrow, .text-link, .button, .assistant-fab,
.assistant-dialog-header h2 { font-weight: 500; }
.eyebrow { letter-spacing: .12em; }
.button { line-height: 1.55; }
.text-link { line-height: 1.6; }
.nav>a:not(.button) { font-weight: 400; }
.nav>a[aria-current] { font-weight: 500; }

/* Give substantive copy room to read, rather than enlarging small metadata. */
.corporate-hero .hero-copy>p:not(.eyebrow), .page-intro .intro-lead {
  font-size: 16px;
  line-height: 1.85;
  text-wrap: pretty;
}
.section-heading>p, .heading-aside p, .editorial-grid p,
.business-detail-grid p, .proof-grid p, .person-card p {
  font-size: 15px;
  line-height: 1.85;
}
.audience-copy>p, .workspace-card>p, .tech-card>p,
.curriculum-card p, .academy-pillar-grid p, .career-journey p,
.roadmap-grid p, .global-channel-grid p, .work-copy p,
.partner-value-grid p, .flagship-points p {
  font-size: 14px;
  line-height: 1.85;
}
.person-card .person-spotlight { font-weight: 400; line-height: 1.85; }
.credentials li, .mode-workflow { line-height: 1.85; }
.person-card h4 { font-weight: 500; }
.brief-card label, .credentials strong, .person-heading strong { font-weight: 500; }

/* CJK needs open spacing; Latin headings benefit from modest tightening. */
html[lang=zh-CN] h1, html[lang=zh-CN] h2,
html[lang=zh-CN] .brief-card h2 { letter-spacing: .01em; }
html[lang=zh-CN] h3, html[lang=zh-CN] h4,
html[lang=zh-CN] .course-copy h3,
html[lang=zh-CN] .research-copy h3 { letter-spacing: .005em; }
html[lang=zh-CN] .corporate-hero h1 { line-height: 1.35; }
html[lang=zh-CN] .eyebrow { letter-spacing: .07em; }
html[lang=zh-CN] .person-card p { letter-spacing: .012em; }
html[lang=en-US] h1, html[lang=en-US] h2 { font-weight: 450; }
html[lang=en-US] .corporate-hero .hero-copy>p:not(.eyebrow),
html[lang=en-US] .page-intro .intro-lead { max-width: 62ch; }
html[lang=en-US] .person-card p { letter-spacing: 0; }

@media(max-width:680px) {
  .corporate-hero .hero-copy>p:not(.eyebrow), .page-intro .intro-lead {
    font-size: 15px;
    line-height: 1.85;
  }
  .section-heading>p, .heading-aside p, .editorial-grid p,
  .business-detail-grid p, .proof-grid p, .person-card p {
    font-size: 14px;
  }
  .corporate-hero h1 { line-height: 1.3; }
  html[lang=zh-CN] .corporate-hero h1 { line-height: 1.4; }
}
