/* ==========================================================================
   type.css — 全站字号 / 字重 / 行高统一层（最后加载，覆盖前面各层的零散设置）

   问题（改前实测）：
   - 全站 38 种字号，同一角色在不同页面字号不同（如 h2 有 28/34/37/40/44px）。
   - 字重 400/500/600/700/800 混用；本机没有 MiSans 时回落到微软雅黑，
     雅黑只有 400 与 700 两档，600/800 与 700 长得一样，粗细自然看起来乱。

   规则：
   - 字号只用令牌取值，桌面档位为 12 / 13 / 14 / 16 / 18 / 20 / 32 / 40 / 56（大数字与装饰除外），
     平板、手机各有一档收小的整数字号，不用 vw 流体值。
   - 字重只用 400（正文）与 700（标题、按钮、强调）。源文件里的 500/600/800 已统一替换。
   - 字体栈去掉 MiSans / HarmonyOS 等本机通常没有的字体，避免不同设备渲染不一致。
   - 卡片标题里的 span 统一继承父级字号，不再各自定义。
   ========================================================================== */

:root {
  /* --- 字体栈：只保留常见中文字体，渲染结果在 Mac / Windows / 安卓上尽量一致 --- */
  --body: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
  --font-sans: var(--body);

  /* --- 字重：只用两档 --- */
  --fw-regular: 400;
  --fw-strong: 700;

  /* --- 字号令牌：桌面 / 平板(≤1199) / 手机(≤720) 三档整数字号，不用 vw 流体值 --- */
  --fs-display: 56px;   /* 首页主标题 */
  --fs-hero: 48px;      /* 行业页主标题 */
  --fs-h1: 40px;        /* 内页标题 */
  --fs-h2: 32px;        /* 区块标题 */
  --fs-h3: 20px;        /* 子标题、大卡片标题 */
  --fs-h4: 18px;        /* 小卡片标题、问答、侧栏标题 */
  --fs-h5: 16px;        /* 页脚栏目标题 */
  --fs-lead: 18px;      /* 导语、区块副标题 */
  --fs-body: 16px;      /* 正文 */
  --fs-small: 14px;     /* 卡片描述、列表说明 */
  --fs-caption: 13px;   /* 日期、页码、备注 */
  --fs-micro: 12px;     /* 小标签、眉题 */
  --fs-stat: 56px;      /* 数据大字 */
  --fs-stat-sm: 32px;   /* 首屏数字 */

  /* --- 行高 --- */
  --lh-tight: 1.3;
  --lh-snug: 1.5;
  --lh-body: 1.8;
  --lh-small: 1.7;
}

@media (max-width: 1199px) {
  :root {
    --fs-display: 48px;
    --fs-hero: 40px;
    --fs-h1: 36px;
    --fs-h2: 28px;
    --fs-lead: 17px;
    --fs-stat: 48px;
  }
}
@media (max-width: 720px) {
  :root {
    --fs-display: 36px;
    --fs-hero: 34px;
    --fs-h1: 28px;
    --fs-h2: 24px;
    --fs-h3: 18px;
    --fs-h4: 17px;
    --fs-lead: 16px;
    --fs-body: 15px;
    --fs-small: 13px;
    --fs-stat: 40px;
  }
}

/* ---------- 基础 ---------- */
body {
  font-family: var(--body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

/* ---------- 标题：按层级统一 ---------- */
h1 { font-size: var(--fs-h1) !important; font-weight: var(--fw-strong) !important; line-height: var(--lh-tight) !important; letter-spacing: -.01em !important; }
h2 { font-size: var(--fs-h2) !important; font-weight: var(--fw-strong) !important; line-height: 1.35 !important; letter-spacing: 0 !important; }
h3 { font-size: var(--fs-h3) !important; font-weight: var(--fw-strong) !important; line-height: var(--lh-snug) !important; letter-spacing: 0 !important; }
h4 { font-size: var(--fs-h4) !important; font-weight: var(--fw-strong) !important; line-height: var(--lh-snug) !important; letter-spacing: 0 !important; }

/* 首页主标题 / 行业页主标题 */
.suction-hero-copy h1 { font-size: var(--fs-display) !important; line-height: 1.2 !important; letter-spacing: -.02em !important; }
.suction-hero-copy h1 span,
.sector-hero-copy h1 span { font-size: inherit !important; font-weight: inherit !important; }
.sector-hero-copy h1 { font-size: var(--fs-hero) !important; line-height: 1.25 !important; }
.banner-title { font-size: var(--fs-h1) !important; font-weight: var(--fw-strong) !important; line-height: var(--lh-tight) !important; }

/* 侧栏 / 局部区块的 h2 按小标题处理 */
.aside-block h2,
.article-related h2 { font-size: var(--fs-h4) !important; }
.article-related h2 { font-size: var(--fs-h3) !important; }
.pd-inquiry h2 { font-size: var(--fs-h3) !important; }
.sector-content h3 { font-size: var(--fs-h2) !important; }

/* 正文内标题（文章 / 产品详情 / 行业内容） */
.entry-content h2 { font-size: var(--fs-h3) !important; }
.entry-content h3 { font-size: var(--fs-h4) !important; }

/* 卡片标题：span 继承父级，不再各自定义字号 */
.card-heading-text { font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; }
.archive-title,
.hm-product-body h3,
.hm-news-item h3,
.sector-product strong { font-size: var(--fs-h4) !important; font-weight: var(--fw-strong) !important; }

/* 页脚栏目标题 */
.site-footer h3 { font-size: var(--fs-h5) !important; letter-spacing: 0 !important; }

/* 问答（FAQ 问题） */
summary { font-size: var(--fs-h4) !important; font-weight: var(--fw-strong) !important; line-height: var(--lh-snug) !important; }

/* ---------- 段落 ---------- */
p,
li { font-size: var(--fs-body) !important; font-weight: var(--fw-regular) !important; line-height: var(--lh-body) !important; }

/* 区块副标题、导语 */
.section-title > p,
.section-heading > p,
.hm-head p,
.detail-banner p,
.sector-hero-copy > p,
.suction-hero-copy > p,
.story-lead { font-size: var(--fs-lead) !important; line-height: 1.75 !important; }
.about-lead { font-size: var(--fs-lead) !important; font-weight: var(--fw-strong) !important; }
.hero-overline { font-size: var(--fs-body) !important; font-weight: var(--fw-regular) !important; letter-spacing: .12em !important; }

/* 卡片内的描述文字：比正文小一档 */
.product-caption p,
.suction-industry p,
.process-item p,
.culture-card p,
.service-card p,
.case-card p,
.info-panel p,
.home-support-list p,
.hm-product-body p,
.hm-news-item p,
.archive-desc,
.archive-body p,
.sector-products p,
.related-grid p,
.empty-state p,
.search-results p,
.industry-method-grid p { font-size: var(--fs-small) !important; line-height: var(--lh-small) !important; }

/* 眉题 / 小标签 */
.hm-eyebrow,
.section-kicker,
.story-kicker,
.industry-section-number,
.sector-index-title { font-size: var(--fs-micro) !important; font-weight: var(--fw-strong) !important; letter-spacing: .14em !important; line-height: 1.4 !important; }

/* 说明文字：日期、页码、面包屑、备注 */
small,
time,
.archive-meta,
.article-meta,
.pagination-meta,
.copy-status,
.rail-qr-note,
.filter-result,
.breadcrumb,
.breadcrumb *,
.article-updated,
.topbar,
.topbar * { font-size: var(--fs-caption) !important; font-weight: var(--fw-regular) !important; line-height: 1.6 !important; }
.hero-facts dt small,
.about-facts strong small { font-size: 14px !important; font-weight: var(--fw-strong) !important; }
.sector-products small,
.sector-product small { font-size: var(--fs-micro) !important; }
.sector-product span { font-size: var(--fs-caption) !important; }

/* 侧边浮栏文字 */
.rail-button span { font-size: var(--fs-micro) !important; font-weight: var(--fw-regular) !important; }
.rail-panel p { font-size: var(--fs-small) !important; }

/* 页脚 */
.site-footer p,
.site-footer li,
.site-footer a { font-size: var(--fs-small) !important; }
.site-footer .footer-bottom,
.site-footer .footer-bottom * { font-size: var(--fs-caption) !important; }

/* ---------- 按钮与链接 ---------- */
.primary-nav a { font-size: 15px !important; font-weight: var(--fw-regular) !important; letter-spacing: .02em !important; }
.mobile-nav a { font-size: 16px !important; font-weight: var(--fw-regular) !important; }
.mobile-nav a[aria-current="page"] { font-weight: var(--fw-strong) !important; }
.hero-button,
.light-button,
.text-button,
.text-link,
.archive-more,
.sector-consult,
.sector-secondary,
.suction-secondary,
.copy-wechat,
.pd-call,
.pd-mail,
.hm-more,
.mobile-nav-cta { font-size: 15px !important; font-weight: var(--fw-strong) !important; }
.article-tags a,
.tag-cloud a,
.aside-block .tag-cloud a { font-size: 14px !important; font-weight: var(--fw-regular) !important; }
.page-item { font-size: 14px !important; font-weight: var(--fw-regular) !important; }
.page-item.is-current { font-weight: var(--fw-strong) !important; }

/* ---------- 数据与键值 ---------- */
.about-facts strong { font-size: var(--fs-stat) !important; font-weight: var(--fw-strong) !important; line-height: 1.1 !important; }
.about-facts strong i { font-size: .5em !important; font-weight: var(--fw-strong) !important; }
.about-side span { font-weight: var(--fw-strong) !important; }
.hero-facts dt { font-size: var(--fs-stat-sm) !important; font-weight: var(--fw-strong) !important; line-height: 1.1 !important; }
.hero-facts dd { font-size: var(--fs-small) !important; font-weight: var(--fw-regular) !important; }
.home-support-list article > span { font-size: var(--fs-h4) !important; font-weight: var(--fw-strong) !important; }
.pd-facts dt { font-size: var(--fs-caption) !important; font-weight: var(--fw-regular) !important; }
.pd-facts dd { font-size: var(--fs-body) !important; font-weight: var(--fw-strong) !important; }
strong,
b { font-weight: var(--fw-strong) !important; }

/* ---------- 零散元素收尾（改前实测残留的非标准字号） ---------- */
.rail-panel strong { font-size: var(--fs-h5) !important; font-weight: var(--fw-strong) !important; }
.band-copy .plinks a { font-size: var(--fs-small) !important; font-weight: var(--fw-regular) !important; }
.industry-method-grid article > span { font-size: var(--fs-h3) !important; font-weight: var(--fw-strong) !important; }
.about-facts strong i { font-size: var(--fs-h2) !important; }
.about-facts strong + span { font-size: var(--fs-body) !important; font-weight: var(--fw-regular) !important; }
.study-conditions span,
.sector-process span { font-size: var(--fs-caption) !important; font-weight: var(--fw-regular) !important; }
.page-width > nav > a { font-size: var(--fs-caption) !important; font-weight: var(--fw-regular) !important; }

/* ---------- 断行：标题与短句均衡换行；面包屑前几级不拆字 ---------- */
h1, h2, h3, h4,
.hero-facts dd,
.card-heading-text,
.section-title > p,
.section-heading > p { text-wrap: balance; }
.breadcrumb a,
.breadcrumb > span:not([aria-current]) { white-space: nowrap; }
h1, h2, h3, h4, .card-heading-text { word-break: keep-all; overflow-wrap: break-word; }
