/* 全站字体角色的唯一入口；布局、配色与交互样式分别留在各组件文件。 */
:root {
  --font-sans: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --font-editorial: Georgia, "Songti SC", "Noto Serif CJK SC", "SimSun", serif;
  --font-mono: "SFMono-Regular", Consolas, monospace;
  --type-body: 1rem;
  --type-ui: .875rem;
  --type-caption: .75rem;
  --type-lead: 1.125rem;
  --type-display: clamp(4.5rem, 2rem + 5vw, 6rem);
  --type-heading: clamp(2rem, 1.125rem + 2.4vw, 3.5rem);
  --type-subheading: clamp(1.5rem, .875rem + 1.4vw, 2.25rem);
  --copy-measure: 32em;
  --copy-leading: 1.85;
  font-family: var(--font-sans);
}

/* 中文按汉字宽度、英文按字符量限定行长；字号保留浏览器默认字体设置。 */
html[lang="en"] {
  --type-display: clamp(3.5rem, 2rem + 3.7vw, 5.75rem);
  --copy-measure: 62ch;
  --copy-leading: 1.75;
}
body { font-size: var(--type-body); line-height: var(--copy-leading); font-weight: 400; }
h1, h2, h3 { font-weight: 500; }
.eyebrow {
  font-size: var(--type-caption);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .08em;
}
.mono {
  font-family: var(--font-mono);
  font-size: var(--type-caption);
  line-height: 1.5;
  letter-spacing: .04em;
}

/* 大标题保留品牌的尺度对比，中文只做轻微紧排。 */
.hero h1 {
  font-size: var(--type-display);
  line-height: 1.1;
  letter-spacing: -.025em;
}
html[lang="en"] .hero h1 { line-height: 1.06; letter-spacing: -.035em; }
.section-head h2, .about-copy h2, .contact h2 {
  font-size: var(--type-heading);
  line-height: 1.3;
  letter-spacing: -.02em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
html[lang="en"] :is(.section-head h2, .about-copy h2, .contact h2) {
  line-height: 1.16;
  letter-spacing: -.03em;
}
.application h3 {
  font-size: var(--type-subheading);
  line-height: 1.3;
  letter-spacing: -.015em;
  text-wrap: balance;
}
html[lang="en"] .application h3 { letter-spacing: -.025em; }
.application-select { font: inherit; letter-spacing: inherit; }

.signal-intro p, .section-head > p,
.about-copy > p,
.contact-copy > p:not(.eyebrow) {
  font-size: var(--type-body);
  line-height: var(--copy-leading);
  max-width: var(--copy-measure);
  text-wrap: pretty;
}
.section-head > p { max-width: 24em; }
.application-label { font-size: var(--type-caption); line-height: 1.5; letter-spacing: .06em; }
.contact-details { font-size: var(--type-body); line-height: 1.6; }
.contact-status { font-size: var(--type-ui); line-height: 1.6; }

.brand-name { font-size: .8125rem; font-weight: 400; line-height: 1.4; letter-spacing: .01em; }
.desktop-nav, .language-link { font-size: var(--type-ui); font-weight: 500; line-height: 1.5; }
.mobile-nav { font-size: var(--type-body); font-weight: 500; line-height: 1.6; }
.theme-switch button { font-size: var(--type-caption); line-height: 1.5; }
.button, .signal-cta { font-size: var(--type-body); font-weight: 500; line-height: 1.5; }
.text-link, .copy-email {
  font-size: var(--type-ui);
  font-weight: 500;
  line-height: 1.6;
}
.motion-toggle { font-size: var(--type-caption); line-height: 1.5; }
.signal-bottom > .mono {
  font-family: var(--font-sans);
  font-size: var(--type-caption);
  line-height: 1.5;
  letter-spacing: 0;
}
.image-fallback::after { font-size: var(--type-body); line-height: 1.7; }

/* 这些字号是 SVG viewBox 内的绘图单位，随整幅示意图缩放。 */
.field-track text { font-family: var(--font-sans); font-size: 18px; letter-spacing: .04em; }

/* 页脚与正文共用阅读字体，品牌由原 Logo 承担。 */
.page-footer { font-size: var(--type-body); line-height: 1.8; }
.footer-colophon { font-size: var(--type-caption); line-height: 1.8; }
.footer-top { font-size: var(--type-ui); line-height: 1.5; }

@media (max-width: 1050px) and (min-width: 761px) {
  .field-track text { font-size: 22px; }
}
@media (max-width: 760px) {
  :root {
    --type-display: clamp(2.875rem, 1.25rem + 8.7vw, 4.25rem);
    --type-heading: clamp(2rem, 1.25rem + 3.6vw, 2.625rem);
    --type-subheading: 1.625rem;
  }
  html[lang="en"] { --type-display: clamp(2.25rem, 1.25rem + 5vw, 3.25rem); }
  .hero h1 { line-height: 1.15; }
  html[lang="en"] .hero h1 { line-height: 1.12; }
  .application h3 { font-size: 1.25rem; letter-spacing: 0; }
  html[lang="en"] .application h3 { font-size: 1.125rem; letter-spacing: -.015em; }
  .field-track text { font-size: 23px; }
}

.contact-phone, .contact-email { font-size: var(--type-body); line-height: 1.5; }
