/* 统一字体层级：在 v3.css 之后加载，参考江仪站点的字号、字重与行距。 */
:root {
  --font-body: "Microsoft YaHei", "PingFang SC", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --font-latin: Arial, "Helvetica Neue", "Microsoft YaHei", "PingFang SC", sans-serif;
  --type-display: clamp(36px, 3.7vw, 52px);
  --type-page: clamp(36px, 3.4vw, 48px);
  --type-section: 36px;
  --type-subsection: 24px;
  --type-product: 30px;
  --type-card: 18px;
  --type-body: 16px;
  --type-card-body: 15px;
  --type-small: 14px;
  --type-caption: 12px;
  --type-control: 16px;
  --type-nav: 16px;
  --leading-body: 1.8;
  --leading-heading: 1.5;
  --weight-heading: 400;
  --weight-emphasis: 500;
}
body {
  font-family: var(--font-body);
  font-size: var(--type-body);
  font-weight: 400;
  line-height: var(--leading-body);
}
html[lang="en"] body { font-family: var(--font-latin); }
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  overflow-wrap: break-word;
}
b, strong { font-weight: 600; }
button, input, textarea, select { font-family: inherit; }

/* 一级、二级导航 */
.menu-link { font-size: var(--type-nav); font-weight: 600; line-height: 1.6; letter-spacing: 0; }
.menu-link.on { font-weight: 600; }
.submenu-link { font-size: 15px; font-weight: 400; line-height: 1.6; letter-spacing: 0; }
.nav-phone, .nav-email { font-family: var(--font-latin); font-size: 12.5px; line-height: 1.6; }
.lang { font-family: var(--font-latin); font-size: var(--type-small); font-weight: 400; }
.nav-cta .btn-quote { font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: .5px; }

/* 首屏、内页与章节标题 */
.hero h1 { font-size: var(--type-display); font-weight: var(--weight-emphasis); line-height: 1.4;
  letter-spacing: .5px; text-wrap: balance; }
.pagehero h1 { font-size: var(--type-page); font-weight: var(--weight-emphasis); line-height: 1.4; letter-spacing: 0; }
.sec-head h2 { font-size: var(--type-section); font-weight: var(--weight-heading); line-height: 1.5; letter-spacing: 0; }
.hero .kicker, .pagehero .en, .sec-head .en {
  font-family: var(--font-latin); font-weight: 400; line-height: 1.6; letter-spacing: 2px;
}
.hero .kicker { font-size: var(--type-small); }
.pagehero .en { font-size: 24px; }
.sec-head .en { font-size: var(--type-small); }
.hero .sub, .pagehero .h1sub { font-size: 18px; line-height: var(--leading-body); letter-spacing: 0; }
.pagehero p, .sec-head p { font-size: var(--type-body); line-height: var(--leading-body); }

.pzone-h h3, .pd-section-title, .stage-h h4,
.zoneintro h2, .about-lead .txt h3, .form h3, .trackform h3,
.contact-inquiry .form h3, .dimtbl h4 {
  font-size: var(--type-subsection); font-weight: var(--weight-heading); line-height: 1.5; letter-spacing: 0;
}
.pd .right h1 { font-size: var(--type-product); font-weight: var(--weight-heading); line-height: 1.5; letter-spacing: 0; }
.svcblk-h h2 { font-size: var(--type-section); font-weight: var(--weight-heading); line-height: 1.5; }
.about-lead .txt h3 small, .pzone-h h3 small, .svcblk-h h2 small,
.zone h3 small, .zcard h3 small {
  font-family: var(--font-latin); font-size: var(--type-caption); font-weight: 400; line-height: 1.6; letter-spacing: 1px;
}

/* 卡片标题与内容 */
.zone h3, .zcard h3, .adv h4, .pcard h4, .case h4,
.cert h5, .rel h5, .ccard h4, .dept h5, .sysnode h5,
.dl h5, .fgroup h4, .sidecard h4, .hl-side .hsc h5, .prep h5 {
  font-size: var(--type-card); font-weight: var(--weight-emphasis); line-height: 1.6; letter-spacing: 0;
}
.zone p, .pcard p, .adv .pos, .adv li, .case p, .zcard .pain,
.dl p, .sysnode p, .dept p, .faq-help p, .dimtbl > p {
  font-size: var(--type-card-body); line-height: var(--leading-body);
}
.about-lead .txt p, .aboutstrip .alead, .zoneintro .zi-l > p,
.stage-b .txt p, .pd .desc, .static-content p, .static-content li {
  font-size: var(--type-body); line-height: var(--leading-body);
}
.aboutstrip .alead { font-weight: 400; }
.cert p, .fgroup details p, .note, .contact-line p, .hl-side .hsc .s {
  font-size: var(--type-small); line-height: var(--leading-body);
}
.adv li::before { line-height: 15px; }
.adv .ft a, .adv .ft .detail, .pcard .meta a, .pcard .meta .card-link, .zone .more, .zcard .ft a, .zcard .ft .card-link,
.pzone-h .lnk, .aboutstrip .amore, .alllink a {
  font-size: var(--type-small); font-weight: var(--weight-emphasis); line-height: 1.6;
}
.adv .ft .tag, .zone .chips span, .zcard .chips span, .pcard .meta .tag {
  font-size: var(--type-caption); font-weight: 400; line-height: 1.6;
}

/* 按钮、表单与参数表 */
.btn-main, .btn-ghost, .btn-xl, .btn-line, .cta-band a,
.sticky-cta a, .faq-help .a1, .faq-help .a2, .fsubmit button,
.trackform .fsubmit button, .cta-btn {
  font-size: var(--type-control); font-weight: var(--weight-emphasis); line-height: 1.5; letter-spacing: .5px;
}
.fld label, .form .hint, .trackform .hint, .fsubmit span {
  font-size: var(--type-small); line-height: 1.7;
}
.fld .in { font-family: inherit; font-size: 16px; line-height: 1.6; }
.selgroup h5, .respanel .hd b, .resitem h5 {
  font-size: var(--type-body); font-weight: var(--weight-emphasis); line-height: 1.6; letter-spacing: 0;
}
.opt, .pill, .step .lbl { font-size: var(--type-small); line-height: 1.7; }
.opt.on, .pill.on { font-weight: var(--weight-emphasis); }
.opt small, .step .lbl small, .respanel .hd span { font-size: var(--type-caption); line-height: 1.6; }
.kv, .ptable { font-size: var(--type-small); line-height: 1.7; }
.pd .right .model, .pd .promise { font-size: var(--type-small); line-height: 1.7; letter-spacing: 0; }
.fgroup summary { font-size: var(--type-card-body); font-weight: var(--weight-emphasis); line-height: 1.7; }
.faq-help h4, .needbar h3, .cta-band h3, .sticky-cta .t {
  font-size: var(--type-subsection); font-weight: var(--weight-heading); line-height: 1.5; letter-spacing: 0;
}
.needbar p, .cta-band p { font-size: var(--type-card-body); line-height: var(--leading-body); }
.crumb .row, .nums .k, .trust .k { font-size: var(--type-small); line-height: 1.7; letter-spacing: 0; }

/* 英文、数字与辅助信息 */
.nums .v, .trust .v, .zone .no, .ccard .cval, .p48 .num, .hl-main .hl-num {
  font-family: var(--font-latin); font-weight: var(--weight-heading); font-variant-numeric: tabular-nums; letter-spacing: 0;
}
.nums .v, .zone .no { font-size: 40px; }
.trust .v, .ccard .cval { font-size: 22px; }
.nums .v span, .trust .v span, .p48 .num small { font-size: var(--type-small); font-weight: 400; }
.ccard > p { font-size: var(--type-small); line-height: var(--leading-body); }
.ccard .cmail b { font-family: var(--font-latin); font-size: var(--type-small); font-weight: var(--weight-emphasis); }
.ccard .cmail span, .ccard .ctag { font-size: var(--type-caption); line-height: 1.7; font-weight: 400; }
.company-map-label { font-size: var(--type-small); font-weight: var(--weight-emphasis); }
footer h6 { font-size: var(--type-body); font-weight: var(--weight-emphasis); line-height: 1.6; letter-spacing: 0; }
footer a, footer .contact span { font-size: var(--type-small); line-height: 1.8; }
footer .base .row { font-size: var(--type-caption); line-height: 1.8; }

/* 小屏字体层级 */
@media (max-width: 720px) {
  :root {
    --type-display: 32px;
    --type-page: 32px;
    --type-section: 28px;
    --type-subsection: 22px;
    --type-product: 26px;
    --type-card: 17px;
    --type-body: 15px;
    --type-control: 15px;
    --type-nav: 14px;
  }
  .hero h1 { line-height: 1.45; letter-spacing: 0; }
  .pagehero .en { font-size: var(--type-small); letter-spacing: 1px; }
  .hero .sub, .pagehero .h1sub { font-size: var(--type-body); }
  .menu-link { line-height: 1.5; }
  .submenu-link { font-size: var(--type-small); }
  .nav-phone, .nav-email { font-size: 12px; }
  .nav-cta .btn-quote, .lang { font-size: 13px; }
  .nums .v { font-size: 30px; }
  .nums.trio-nums .v { font-size: clamp(20px, 6vw, 28px); line-height: 1.2; }
  .trust .v { font-size: 18px; }
  .trust .k, .nums.trio-nums .k { font-size: var(--type-caption); line-height: 1.5; }
  .pzone-h h3 small, .about-lead .txt h3 small, .svcblk-h h2 small { letter-spacing: .5px; }
}
