/*
 * fluid-type.css —— 桌面端流体字号（自动生成，请勿手改）
 * 生成脚本: tools/gen-fluid-type.py   重跑即可调整幅度
 *
 * 锚点 2560px：该宽度处字号 = 原设计值（客户屏观感不变）
 * 1920px：标题收至 75%，正文收至 90%（不低于 14px）
 * <=1200px：完全不生效，手机/平板保持原样
 */

@media (min-width: 1201px) {
  /* ---- 未定义的设计令牌：在此统一给出流体值 ---- */
  :root {
    --ab-base-label-size: clamp(18px, 0.9375vw, 24px);
    --ab-base-value-size: clamp(21px, 1.0938vw, 28px);
    --ab-caps-cta-size: clamp(16px, 0.7031vw, 18px);
    --ab-caps-desc-size: clamp(21px, 1.0938vw, 28px);
    --ab-caps-name-size: clamp(27px, 1.4063vw, 36px);
    --ab-certs-abbr-size: clamp(18px, 0.9375vw, 24px);
    --ab-certs-code-size: clamp(14px, 0.625vw, 16px);
    --ab-history-label-size: clamp(16px, 0.7031vw, 18px);
    --ab-history-note-size: clamp(16px, 0.7031vw, 18px);
    --ab-history-year-size: clamp(72px, 3.75vw, 96px);
    --ab-intro-desc-size: clamp(21px, 1.0938vw, 28px);
    --ab-sub-size: clamp(18px, 0.9375vw, 24px);
    --ab-title-size: clamp(36px, 1.875vw, 48px);
    --ct-card-title-size: clamp(36px, 1.875vw, 48px);
    --ct-field-size: clamp(16px, 0.7031vw, 18px);
    --ct-info-detail-size: clamp(18px, 0.9375vw, 24px);
    --ct-info-name-size: clamp(21px, 1.0938vw, 28px);
    --ct-info-sub-size: clamp(21px, 1.0938vw, 28px);
    --ct-info-title-size: clamp(36px, 1.875vw, 48px);
    --ct-label-size: clamp(18px, 0.9375vw, 24px);
    --ct-map-title-size: clamp(42px, 2.1875vw, 56px);
    --ct-prod-cta-size: clamp(14px, 0.625vw, 16px);
    --ct-prod-more-size: clamp(16px, 0.7031vw, 18px);
    --ct-prod-name-size: clamp(18px, 0.9375vw, 24px);
    --ct-prod-title-size: clamp(36px, 1.875vw, 48px);
    --ct-qr-label-size: clamp(18px, 0.9375vw, 24px);
    --ct-submit-size: clamp(16px, 0.7031vw, 18px);
    --cul-card-name-size: clamp(30px, 1.5625vw, 40px);
    --cul-card-text-size: clamp(18px, 0.9375vw, 24px);
    --cul-cards-sub-size: clamp(18px, 0.9375vw, 24px);
    --cul-cards-title-size: clamp(36px, 1.875vw, 48px);
    --cul-msg-desc-size: clamp(21px, 1.0938vw, 28px);
    --cul-msg-title-size: clamp(36px, 1.875vw, 48px);
    --cul-stat-note-size: clamp(16px, 0.7031vw, 18px);
    --cul-stat-value-size: clamp(27px, 1.4063vw, 36px);
    --cul-values-desc-size: clamp(18px, 0.9375vw, 24px);
    --cul-values-title-size: clamp(36px, 1.875vw, 48px);
    --dl-acc-size: clamp(18px, 0.9375vw, 24px);
    --dl-cat-size: clamp(16px, 0.7031vw, 18px);
    --dl-row-size: clamp(14px, 0.625vw, 16px);
    --faq-a-size: clamp(16px, 0.7031vw, 18px);
    --faq-filter-size: clamp(16px, 0.7031vw, 18px);
    --faq-label-size: clamp(27px, 1.4063vw, 36px);
    --faq-q-size: clamp(18px, 0.9375vw, 24px);
    --ht-search-size: clamp(14px, 0.625vw, 16px);
    --jn-cta-size: clamp(30px, 1.5625vw, 40px);
    --jn-desc-size: clamp(30px, 1.5625vw, 40px);
    --jn-eyebrow-size: clamp(21px, 1.0938vw, 28px);
    --jn-stmt-size: clamp(42px, 2.1875vw, 56px);
    --jn-title-size: clamp(48px, 2.5vw, 64px);
    --lg-h2-size: clamp(21px, 1.0938vw, 28px);
    --lg-h3-size: clamp(15px, 0.7813vw, 20px);
    --lg-size: clamp(14px, 0.625vw, 16px);
    --pd-hero-desc-size: clamp(18px, 0.9375vw, 24px);
    --pd-hero-name-size: clamp(36px, 1.875vw, 48px);
    --pd-highlight-item-size: clamp(21px, 1.0938vw, 28px);
    --pd-showcase-block-size: clamp(27px, 1.4063vw, 36px);
    --pd-sub-size: clamp(18px, 0.9375vw, 24px);
    --pd-title-size: clamp(36px, 1.875vw, 48px);
    --pjd-brief-size: clamp(18px, 0.9375vw, 24px);
    --pjd-impact-desc-size: clamp(21px, 1.0938vw, 28px);
    --pjd-impact-value-size: clamp(42px, 2.1875vw, 56px);
    --pjd-outcome-sub-size: clamp(18px, 0.9375vw, 24px);
    --pjd-point-desc-size: clamp(16px, 0.7031vw, 18px);
    --pjd-point-title-size: clamp(18px, 0.9375vw, 24px);
    --pjd-stat-size: clamp(16px, 0.7031vw, 18px);
    --pjd-stats-title-size: clamp(18px, 0.9375vw, 24px);
    --pjd-title-size: clamp(36px, 1.875vw, 48px);
    --prj-meta-size: clamp(16px, 0.7031vw, 18px);
    --prj-spec-label-size: clamp(16px, 0.7031vw, 18px);
    --prj-spec-value-size: clamp(14px, 0.625vw, 16px);
    --prj-tab-size: clamp(16px, 0.7031vw, 18px);
    --prj-title-size: clamp(24px, 1.25vw, 32px);
    --sd-gallery-title-size: clamp(27px, 1.4063vw, 36px);
    --sd-point-size: clamp(21px, 1.0938vw, 28px);
    --sd-sub-size: clamp(18px, 0.9375vw, 24px);
    --sd-title-size: clamp(36px, 1.875vw, 48px);
    --sr-name-size: clamp(18px, 0.9375vw, 24px);
    --sr-title-size: clamp(36px, 1.875vw, 48px);
    --sup-band-desc-size: clamp(27px, 1.4063vw, 36px);
    --sup-band-eyebrow-size: clamp(24px, 1.25vw, 32px);
    --sup-band-name-size: clamp(42px, 2.1875vw, 56px);
    --sup-feature-desc-size: clamp(18px, 0.9375vw, 24px);
    --sup-feature-name-size: clamp(24px, 1.25vw, 32px);
    --sup-step-desc-size: clamp(16px, 0.7031vw, 18px);
    --sup-step-name-size: clamp(27px, 1.4063vw, 36px);
    --sup-sub-size: clamp(18px, 0.9375vw, 24px);
    --sup-title-size: clamp(36px, 1.875vw, 48px);
    --svc-hl-desc-size: clamp(21px, 1.0938vw, 28px);
    --svc-hl-name-size: clamp(36px, 1.875vw, 48px);
    --svc-slide-desc-size: clamp(21px, 1.0938vw, 28px);
    --svc-slide-name-size: clamp(42px, 2.1875vw, 56px);
    --svc-stages-desc-size: clamp(18px, 0.9375vw, 24px);
    --svc-stages-label-size: clamp(16px, 0.7031vw, 18px);
    --svc-stages-name-size: clamp(24px, 1.25vw, 32px);
    --svc-stats-label-size: clamp(18px, 0.9375vw, 24px);
    --svc-stats-value-size: clamp(36px, 1.875vw, 48px);
    --svc-sub-size: clamp(18px, 0.9375vw, 24px);
    --svc-tabs-btn-size: clamp(21px, 1.0938vw, 28px);
    --svc-team-duty-size: clamp(18px, 0.9375vw, 24px);
    --svc-team-role-size: clamp(24px, 1.25vw, 32px);
    --svc-title-size: clamp(36px, 1.875vw, 48px);
    --syd-apart-desc-size: clamp(14px, 0.625vw, 16px);
    --syd-apart-name-size: clamp(21px, 1.0938vw, 28px);
    --syd-apps-desc-size: clamp(16px, 0.7031vw, 18px);
    --syd-apps-name-size: clamp(24px, 1.25vw, 32px);
    --syd-arch-tab-size: clamp(21px, 1.0938vw, 28px);
    --syd-comp-name-size: clamp(18px, 0.9375vw, 24px);
    --syd-cta-desc-size: clamp(18px, 0.9375vw, 24px);
    --syd-cta-name-size: clamp(27px, 1.4063vw, 36px);
    --syd-pack-name-size: clamp(21px, 1.0938vw, 28px);
    --syd-spec-text-size: clamp(16px, 0.7031vw, 18px);
    --syd-spec-title-size: clamp(27px, 1.4063vw, 36px);
    --syd-sub-size: clamp(18px, 0.9375vw, 24px);
    --syd-title-size: clamp(36px, 1.875vw, 48px);
    --sys-card-sub-size: clamp(18px, 0.9375vw, 24px);
    --sys-card-title-size: clamp(24px, 1.25vw, 32px);
    --sys-feature-title-size: clamp(21px, 1.0938vw, 28px);
    --sys-story-size: clamp(18px, 0.9375vw, 24px);
    --sys-sub-size: clamp(18px, 0.9375vw, 24px);
    --sys-title-size: clamp(36px, 1.875vw, 48px);
  }

  /* ---- 组件内已定义的令牌：同名选择器 + html 提权覆盖 ---- */
  html .astra-banner {
    --banner-desc-size: clamp(18px, 0.9375vw, 24px);
    --banner-title-size: clamp(42px, 2.1875vw, 56px);
  }
  html .astra-cathero {
    --cathero-point-size: clamp(18px, 0.9375vw, 24px);
    --cathero-title-size: clamp(36px, 1.875vw, 48px);
  }
  html .astra-catlist {
    --catlist-desc-size: clamp(14px, 0.625vw, 16px);
    --catlist-point-size: clamp(16px, 0.7031vw, 18px);
    --catlist-series-size: clamp(16px, 0.7031vw, 18px);
    --catlist-title-size: clamp(24px, 1.25vw, 32px);
  }
  html .astra-sd-hero {
    --sd-hero-sub-size: clamp(16px, 0.7031vw, 18px);
    --sd-hero-title-size: clamp(36px, 1.875vw, 48px);
  }
  html .astra-sol {
    --sol-body-size: clamp(16px, 0.7031vw, 18px);
    --sol-title-size: clamp(27px, 1.4063vw, 36px);
  }
  html .astra-sol-hero {
    --sol-hero-desc-size: clamp(16px, 0.7031vw, 18px);
    --sol-hero-title-size: clamp(36px, 1.875vw, 48px);
  }

  /* ---- 直接写死的 font-size ---- */
  html .astra-ab__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* about.css  原 18 */
  html .astra-ab-certs__zone-name { font-size: clamp(14px, 0.625vw, 16px); }  /* about.css  原 16 */
  html .astra-cathero__stat-value { font-size: clamp(16px, 0.7031vw, 18px); }  /* category-hero.css  原 18 */
  html .astra-catlist__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* category-list.css  原 18 */
  html .astra-ct__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* contact.css  原 18 */
  html .astra-ct-card .elementor-message { font-size: clamp(14px, 0.625vw, 16px); }  /* contact.css  原 16 */
  html .astra-cul__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* culture.css  原 18 */
  html .astra-dl__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* download.css  原 18 */
  html .astra-faq__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* faq.css  原 18 */
  html .afc__pop--label { font-size: clamp(14px, 0.625vw, 16px); }  /* floating-contact.css  原 16 */
  html .index_banner_content h1, html .index_banner_content h2 { font-size: clamp(48px, 2.5vw, 64px); }  /* index-banner.css  原 64 */
  html .index_banner_content p { font-size: clamp(18px, 0.9375vw, 24px); }  /* index-banner.css  原 24 */
  html .astra-jn__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* join.css  原 18 */
  html .astra-legal .astra-legal__body table { font-size: clamp(14px, 0.5859vw, 15px); }  /* legal.css  原 15 */
  html .astra-legal .astra-legal__note p { font-size: clamp(14px, 0.5859vw, 15px); }  /* legal.css  原 15 */
  html .amm__top-link { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__item-text { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__card-title { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__tab > a { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__syshead { font-size: clamp(16px, 0.7031vw, 18px); }  /* mega-menu.css  原 18 */
  html .amm__syscard-title { font-size: clamp(16px, 0.7031vw, 18px); }  /* mega-menu.css  原 18 */
  html .amm__syscard-sub { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__pane-eyebrow { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__pane-title { font-size: clamp(18px, 0.9375vw, 24px); }  /* mega-menu.css  原 24 */
  html .amm__pane-body { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .amm__pane-cta { font-size: clamp(14px, 0.625vw, 16px); }  /* mega-menu.css  原 16 */
  html .astra-msg__head .elementor-widget-heading .elementor-heading-title { font-size: clamp(14px, 0.625vw, 16px); }  /* message-popup.css  原 16 */
  html .astra-pcat__title { font-size: clamp(27px, 1.4063vw, 36px); }  /* product-catalog.css  原 36 */
  html .astra-pcat__desc { font-size: clamp(18px, 0.9375vw, 24px); }  /* product-catalog.css  原 24 */
  html .astra-pcat__tab { font-size: clamp(14px, 0.625vw, 16px); }  /* product-catalog.css  原 16 */
  html .astra-pcat__range-toggle { font-size: clamp(14px, 0.625vw, 16px); }  /* product-catalog.css  原 16 */
  html .astra-pcat__card-title { font-size: clamp(18px, 0.9375vw, 24px); }  /* product-catalog.css  原 24 */
  html .astra-pcat__card-more { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-catalog.css  原 18 */
  html .astra-pcat__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-catalog.css  原 18 */
  html .astra-pcat__nav-item { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-catalog.css  原 18 */
  html .astra-pd-features__card-title { font-size: clamp(21px, 1.0938vw, 28px); }  /* product-detail.css  原 28 */
  html .astra-pd-features__card-desc { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-detail.css  原 18 */
  html .astra-pd-showcase__block-desc { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-detail.css  原 18 */
  html .astra-pd-specs__label, html .astra-pd-specs__value { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-detail.css  原 18 */
  html .astra-pd-related__card-title { font-size: clamp(24px, 1.25vw, 32px); }  /* product-detail.css  原 32 */
  html .astra-pd-related__card-sub { font-size: clamp(18px, 0.9375vw, 24px); }  /* product-detail.css  原 24 */
  html .astra-pd-related__more { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-detail.css  原 18 */
  html .astra-pd__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* product-detail.css  原 18 */
  html .astra-pjd__btn { font-size: clamp(14px, 0.625vw, 16px); }  /* project-detail.css  原 16 */
  html .astra-pjd__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* project-detail.css  原 18 */
  html .astra-prj__more { font-size: clamp(14px, 0.625vw, 16px); }  /* project.css  原 16 */
  html .astra-prj__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* project.css  原 18 */
  html .astra-sr__count { font-size: clamp(16px, 0.7031vw, 18px); }  /* search.css  原 18 */
  html .astra-sr__input { font-size: clamp(14px, 0.625vw, 16px); }  /* search.css  原 16 */
  html .astra-sr__excerpt { font-size: clamp(14px, 0.625vw, 16px); }  /* search.css  原 16 */
  html .astra-sr__pager a, html .astra-sr__pager span { font-size: clamp(14px, 0.5859vw, 15px); }  /* search.css  原 15 */
  html .astra-sr__empty-title { font-size: clamp(21px, 1.0938vw, 28px); }  /* search.css  原 28 */
  html .astra-sr__empty-text { font-size: clamp(16px, 0.7031vw, 18px); }  /* search.css  原 18 */
  html .astra-sr__link { font-size: clamp(14px, 0.5859vw, 15px); }  /* search.css  原 15 */
  html .astra-svc__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* service.css  原 18 */
  html .astra-sd__btn { font-size: clamp(14px, 0.625vw, 16px); }  /* solution-detail.css  原 16 */
  html .astra-sd__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* solution-detail.css  原 18 */
  html .astra-sd-gallery__cap-desc { font-size: clamp(18px, 0.9375vw, 24px); }  /* solution-detail.css  原 24 */
  html .astra-sd-banner__card-title { font-size: clamp(21px, 1.0938vw, 28px); }  /* solution-detail.css  原 28 */
  html .astra-sd-banner__card-desc { font-size: clamp(16px, 0.7031vw, 18px); }  /* solution-detail.css  原 18 */
  html .astra-sd-adv__card-title { font-size: clamp(21px, 1.0938vw, 28px); }  /* solution-detail.css  原 28 */
  html .astra-sd-adv__card-desc { font-size: clamp(16px, 0.7031vw, 18px); }  /* solution-detail.css  原 18 */
  html .astra-sol-list__btn { font-size: clamp(14px, 0.625vw, 16px); }  /* solution.css  原 16 */
  html .astra-sol__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* solution.css  原 18 */
  html .astra-sup__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* support.css  原 18 */
  html .astra-sup-steps__badge { font-size: clamp(27px, 1.4063vw, 36px); }  /* support.css  原 36 */
  html .astra-syd__btn { font-size: clamp(14px, 0.625vw, 16px); }  /* system-detail.css  原 16 */
  html .astra-syd-comp__more { font-size: clamp(16px, 0.7031vw, 18px); }  /* system-detail.css  原 18 */
  html .astra-syd-apps__more { font-size: clamp(16px, 0.7031vw, 18px); }  /* system-detail.css  原 18 */
  html .astra-syd__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* system-detail.css  原 18 */
  html .astra-sys__empty { font-size: clamp(16px, 0.7031vw, 18px); }  /* system.css  原 18 */
  html .astra-sys-features__desc { font-size: clamp(16px, 0.7031vw, 18px); }  /* system.css  原 18 */
  html .astra-sys-grid__tab { font-size: clamp(16px, 0.7031vw, 18px); }  /* system.css  原 18 */
  html .astra-sys-grid__chip { font-size: clamp(14px, 0.5859vw, 15px); }  /* system.css  原 15 */
  html .astra-sys-grid__more { font-size: clamp(16px, 0.7031vw, 18px); }  /* system.css  原 18 */
}

/* 保留原有 1400px 档位，使其在 1201~1400 区间仍然生效 */
@media (min-width: 1201px) and (max-width: 1400px) {
  :root .astra-pcat__title { font-size: clamp(24px, 1.25vw, 32px); }  /* product-catalog.css  原 32 */
  :root .astra-pcat__desc { font-size: clamp(15px, 0.7813vw, 20px); }  /* product-catalog.css  原 20 */
  :root .astra-pd-features__card-title { font-size: clamp(18px, 0.9375vw, 24px); }  /* product-detail.css  原 24 */
  :root .astra-pd-highlight__item-text { font-size: clamp(17px, 0.8594vw, 22px); }  /* product-detail.css  原 22 */
}
