/* ===== tokens.css ===== */
/* ============================================================
   设计令牌（Design Tokens）
   Industrial Blue · B2B 制造业官网
   ============================================================ */
:root {
  /* 品牌色 */
  --ink-900: #0B1F3A;
  --brand-700: #123E6B;
  --brand-600: #1A5A96;
  --brand-500: #1E6FB8;
  --brand-100: #DCE9F6;
  --brand-50: #EAF2FA;

  /* 中性 */
  --bg-0: #FFFFFF;
  --bg-1: #F7F8FA;
  --line: #D8DEE6;
  --line-soft: #E8ECF1;
  --text-1: #1F2733;
  --text-2: #5A6672;
  --text-3: #8B95A1;

  /* 语义 */
  --ok: #1B8A5A;
  --warn: #B7791F;
  --err: #C0392B;

  /* 形态 */
  --r-tag: 4px;
  --r-input: 6px;
  --r-card: 8px;
  --r-media: 10px;
  --shadow-hover: 0 8px 24px rgba(11, 31, 58, .08);
  --shadow-header: 0 1px 0 var(--line-soft);

  /* 排版 */
  --font-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --fs-display: clamp(1.9rem, 3.4vw, 2.75rem);
  --fs-h2: clamp(1.4rem, 2.2vw, 1.875rem);
  --fs-h3: 1.125rem;
  --fs-lead: 1.0625rem;
  --fs-body: 1rem;
  --fs-sm: .8125rem;

  /* 间距与栅格 */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;
  --wrap: 1240px;
  --wrap-wide: 1320px;
  --gutter: 24px;
  --section-y: clamp(48px, 6vw, 88px);

  /* 动效 */
  --t-fast: 150ms ease;
  --t-base: 220ms ease;
  --t-enter: 360ms cubic-bezier(.22,.61,.36,1);
}


/* ===== base.css ===== */
/* ============================================================
   基础层：重置 / 排版 / 布局 / 按钮 / 工具条 / 页头
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--text-1);
  background: var(--bg-0);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; line-height: 1.28; color: var(--ink-900); font-weight: 700; }
p { margin: 0; }
dl, dd { margin: 0; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 2px; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--section-y) 0; }
.section-alt { background: var(--bg-1); }
.section + .section { border-top: 1px solid var(--line-soft); }
.note { margin-top: var(--sp-4); color: var(--text-3); font-size: var(--fs-sm); }
.grid { display: grid; gap: var(--sp-5); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--ink-900); color: #fff; padding: 10px 16px; }
.skip-link:focus { left: 8px; top: 8px; }

.eyebrow {
  font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--brand-600); margin-bottom: var(--sp-3);
}
.lead { color: var(--text-2); font-size: var(--fs-lead); }
.mini-title { font-size: var(--fs-h3); margin-bottom: var(--sp-4); }

/* ---------- 按钮系统 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border: 1px solid transparent; border-radius: var(--r-input);
  font-size: .9375rem; font-weight: 600; line-height: 1.2;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.btn-sm { padding: 9px 16px; font-size: .875rem; }
.btn-primary { background: var(--brand-500); color: #fff; border-color: var(--brand-500); }
.btn-primary:hover { background: var(--brand-600); border-color: var(--brand-600); }
.btn-outline { background: #fff; color: var(--brand-700); border-color: var(--line); }
.btn-outline:hover { border-color: var(--brand-500); color: var(--brand-500); }
.btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.btn-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }

/* ---------- 顶部工具条 ---------- */
.utility { background: var(--ink-900); color: rgba(255,255,255,.72); font-size: var(--fs-sm); }
.utility-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); min-height: 38px; }
.utility-right { display: flex; align-items: center; gap: 10px; }
a.utility-link:hover { color: #fff; }   /* 只给真正的链接悬停反馈（2026-09-17 顶部电话/邮箱改为纯文本） */
.utility-sep { color: rgba(255,255,255,.25); }
.lang-switch { position: relative; display: flex; gap: 6px; }
.lang-btn { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid rgba(255,255,255,.28); border-radius: var(--r-tag); background: transparent; color: rgba(255,255,255,.86); font-size: var(--fs-sm); }
.lang-btn:hover { border-color: #fff; color: #fff; }
.lang-caret { font-size: .7rem; opacity: .7; }
.lang-menu {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 148px; z-index: 60;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-card);
  box-shadow: var(--shadow-hover); padding: 6px 0; display: none;
}
.lang-switch.open .lang-menu { display: block; }
.lang-switch[open] .lang-menu { display: block; }
.lang-switch > summary { list-style: none; cursor: pointer; }
.lang-switch > summary::-webkit-details-marker { display: none; }
.lang-switch { position: relative; }
.lang-menu button, .lang-menu a { display: block; text-decoration: none; width: 100%; text-align: left; padding: 8px 16px; border: none; background: transparent; color: var(--text-1); font-size: .875rem; }
.lang-menu button:hover, .lang-menu a:hover { background: var(--brand-50); color: var(--brand-600); }
.lang-menu button.true, .lang-menu a.true { color: var(--brand-600); font-weight: 600; }
.lang-menu button.true::after, .lang-menu a.true::after { content: ' ✓'; }

/* ---------- 页头 ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--line-soft); }
.header-inner { display: flex; align-items: center; gap: var(--sp-5); min-height: 72px; }
.brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.brand-logo { width: 38px; height: 38px; object-fit: contain; }
.brand-text { display: flex; flex-direction: column; }
.brand-text strong { font-size: 1.0625rem; color: var(--ink-900); line-height: 1.2; }
.brand-text small { font-size: .6875rem; color: var(--text-3); }

/* ---------- 主导航 ---------- */
.site-nav { margin-left: auto; }
.site-nav > ul { display: flex; align-items: center; gap: 2px; }
.site-nav > ul > li { position: relative; }
.site-nav > ul > li > a {
  display: block; padding: 12px; font-size: .9375rem; color: var(--text-1);
  border-bottom: 2px solid transparent; transition: color var(--t-fast), border-color var(--t-fast);
}
.site-nav > ul > li > a:hover { color: var(--brand-500); border-color: var(--brand-500); }
.nav-cta-item { margin-left: var(--sp-3); }
.nav-cta-item > a { border-bottom: none; }
.site-nav .sub {
  position: absolute; left: 0; top: 100%; min-width: 230px; padding: var(--sp-3) 0;
  background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--brand-500);
  border-radius: 0 0 var(--r-card) var(--r-card); box-shadow: var(--shadow-hover);
  opacity: 0; visibility: hidden; transform: translateY(4px); transition: all var(--t-base);
}
.site-nav li.has-sub:hover .sub,
.site-nav li.has-sub:focus-within .sub { opacity: 1; visibility: visible; transform: none; }
.site-nav .sub a { display: block; padding: 8px 18px; font-size: .9rem; color: var(--text-2); }
.site-nav .sub a:hover { background: var(--brand-50); color: var(--brand-600); }

.nav-toggle {
  display: none; width: 42px; height: 42px; margin-left: auto;
  border: 1px solid var(--line); border-radius: var(--r-input); background: #fff;
}
.nav-toggle span { display: block; width: 18px; height: 2px; margin: 3px auto; background: var(--ink-900); }

/* ---------- 页脚 ---------- */
.site-footer { background: var(--ink-900); color: rgba(255,255,255,.72); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--sp-6); padding: var(--sp-8) 0 var(--sp-6); }
.footer-col h3 { color: #fff; font-size: .9375rem; margin-bottom: var(--sp-3); }
.footer-col ul li { margin-bottom: 8px; font-size: .875rem; }
.footer-col a:hover { color: #fff; }
.footer-brand strong { color: #fff; font-size: 1rem; }
.footer-brand p { color: rgba(255,255,255,.6); font-size: .875rem; }
.footer-note { margin-top: var(--sp-3); font-size: .75rem; color: rgba(255,255,255,.42); }
.footer-contact li { display: flex; gap: 10px; }
.footer-contact span:first-child { min-width: 58px; color: rgba(255,255,255,.45); font-size: .8125rem; }   /* 只作用于 Tel/Email/Fax 标签列；值列已由链接改为 span（2026-09-17） */
.footer-legal {
  display: flex; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap;
  padding: var(--sp-4) 0; border-top: 1px solid rgba(255,255,255,.12);
  font-size: .75rem; color: rgba(255,255,255,.45);
}

/* ---------- 图片占位（无真实素材时使用，绝不伪造） ---------- */
.ph {
  display: flex; align-items: center; justify-content: center;
  background: var(--bg-1); border: 1px dashed var(--line); border-radius: var(--r-media);
  color: var(--text-3); font-size: var(--fs-sm); text-align: center; padding: var(--sp-4);
}
.ph-4x3 { aspect-ratio: 4 / 3; }
.ph-16x9 { aspect-ratio: 16 / 9; }

/* ---------- 入场动画（克制：fade + 12px 上滑） ---------- */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity var(--t-enter), transform var(--t-enter); }
.reveal.is-in { opacity: 1; transform: none; }

/* ---------- 响应式（基础） ---------- */
@media (max-width: 1023px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; left: 0; right: 0; top: 100%; margin: 0;
    background: #fff; border-bottom: 1px solid var(--line);
    max-height: 0; overflow: hidden; transition: max-height var(--t-base);
  }
  .site-nav.is-open { max-height: 78vh; overflow-y: auto; }
  .site-nav > ul { flex-direction: column; align-items: stretch; gap: 0; padding: var(--sp-2) 0; }
  .site-nav > ul > li > a { border-bottom: 1px solid var(--line-soft); padding: 14px var(--gutter); }
  .site-nav .sub {
    position: static; opacity: 1; visibility: visible; transform: none;
    border: none; box-shadow: none; padding: 0; border-radius: 0; background: var(--bg-1);
  }
  .nav-cta-item { margin: var(--sp-3) var(--gutter); }
}
@media (max-width: 767px) {
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--sp-5); }
  .utility-item { display: none; }
  .header-inner { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ==== 页头品牌放大与延伸（公司名 + LOGO）==== */
.header-inner { min-height: 92px; gap: var(--sp-3); }
.brand { gap: 14px; padding: 4px 0; min-width: 0; }
.brand-logo { width: 56px; height: 56px; flex: 0 0 auto; transition: transform .2s ease; }
.brand:hover .brand-logo { transform: scale(1.05); }
.brand-text strong { font-size: 1.4rem; font-weight: 800; letter-spacing: .01em; }
.brand-text small { font-size: .82rem; line-height: 1.35; margin-top: 3px; max-width: 32ch; }
@media (max-width: 1280px) {
  .brand-text small { max-width: 20ch; }
}
@media (max-width: 1200px) {
  .header-inner { min-height: 84px; }
  .brand-logo { width: 48px; height: 48px; }
  .brand-text strong { font-size: 1.22rem; }
  .brand-text small { font-size: .76rem; max-width: 28ch; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 74px; }
  .brand-logo { width: 44px; height: 44px; }
  .brand-text strong { font-size: 1.08rem; }
  .brand-text small { font-size: .7rem; max-width: none; }
}
@media (max-width: 480px) {
  .brand-logo { width: 40px; height: 40px; }
  .brand-text strong { font-size: 1rem; }
}

/* ==== 页头品牌：完整公司名 + 更大 LOGO + 滚动收缩 ==== */
.header-inner { min-height: 96px; }
.brand-logo { width: 72px; height: 72px; }
.brand-text strong { font-size: 1.28rem; font-weight: 800; line-height: 1.2; }
.brand-text small { font-size: .8rem; margin-top: 3px; }
@media (max-width: 1500px) { .header-inner { min-height: 90px; } .brand-logo { width: 64px; height: 64px; } .brand-text strong { font-size: 1.16rem; } }
@media (max-width: 1200px) { .header-inner { min-height: 82px; } .brand-logo { width: 54px; height: 54px; } .brand-text strong { font-size: 1.02rem; } .brand-text small { max-width: 22ch; } }
@media (max-width: 900px) { .header-inner { min-height: 72px; } .brand-logo { width: 48px; height: 48px; } .brand-text strong { font-size: .95rem; } .brand-text small { max-width: none; } }
@media (max-width: 480px) { .brand-logo { width: 42px; height: 42px; } .brand-text strong { font-size: .86rem; } .brand-text small { display: none; } }
/* 平滑过渡 */
.site-header .header-inner, .site-header .brand-logo, .site-header .brand-text strong, .site-header .brand-text small, .site-header .site-nav > ul > li > a { transition: min-height .22s ease, width .22s ease, height .22s ease, font-size .22s ease, padding .22s ease, opacity .18s ease; }
/* 滚动后收缩（.is-compact 由 site.js 切换）*/
.site-header.is-compact .header-inner { min-height: 64px; }
.site-header.is-compact .brand-logo { width: 44px; height: 44px; }
.site-header.is-compact .brand-text strong { font-size: 1.02rem; }
.site-header.is-compact .brand-text small { opacity: 0; max-height: 0; margin: 0; overflow: hidden; }
@media (max-width: 900px) { .site-header.is-compact .header-inner { min-height: 58px; } .site-header.is-compact .brand-logo { width: 38px; height: 38px; } .site-header.is-compact .brand-text strong { font-size: .92rem; } }
@media (prefers-reduced-motion: reduce) { .site-header .header-inner, .site-header .brand-logo, .site-header .brand-text strong, .site-header .brand-text small { transition: none; } }

/* ==== 页头适配：中屏导航压缩 + 品牌超长安全截断 ==== */
.brand { min-width: 0; }
.brand-text { min-width: 0; }
.brand-text strong { display: block; max-width: 26ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1280px) {
  .site-nav > ul > li > a { padding: 10px 8px; font-size: .875rem; }
}
@media (max-width: 1080px) {
  .site-nav > ul > li > a { padding: 9px 6px; font-size: .84rem; }
  .brand-text strong { max-width: 20ch; }
}


/* ===== components.css ===== */
/* ============================================================
   组件层 1/3：Hero / 区块头 / 分类卡 / 产品卡
   ============================================================ */

/* ---------- Hero：左文右图 ---------- */
.hero { padding: clamp(40px, 6vw, 80px) 0; border-bottom: 1px solid var(--line-soft); }
.hero-inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 4vw, 64px); align-items: center; }
.hero-text h1 { font-size: var(--fs-display); letter-spacing: -.01em; margin-bottom: var(--sp-4); }
.hero-text .lead { margin-bottom: var(--sp-6); max-width: 46ch; }
.hero-actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.hero-badges { display: flex; gap: var(--sp-4); flex-wrap: wrap; margin-top: var(--sp-6); }
.hero-badges li { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--text-2); }
.hero-badges li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-500); }
.hero-media img { width: 100%; border-radius: var(--r-media); }

/* ---------- 区块头 ---------- */
.section-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-5);
  margin-bottom: var(--sp-6); padding-bottom: var(--sp-4); border-bottom: 1px solid var(--line-soft);
}
.section-head h2 { font-size: var(--fs-h2); margin-bottom: 6px; }
.section-head p { color: var(--text-2); font-size: .9375rem; max-width: 62ch; }
.section-link { flex-shrink: 0; font-size: .875rem; font-weight: 600; color: var(--brand-600); }
.section-link:hover { color: var(--brand-500); text-decoration: underline; }

/* ---------- 分类卡 ---------- */
.cat-card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-card); overflow: hidden;
  transition: border-color var(--t-base), box-shadow var(--t-base);
}
.cat-card:hover { border-color: var(--brand-500); box-shadow: var(--shadow-hover); }
.cat-card-media { display: block; overflow: hidden; }
.cat-card-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform var(--t-enter); }
.cat-card:hover .cat-card-media img { transform: scale(1.03); }
.cat-card-media .ph { border: none; border-radius: 0; }
.cat-card-body { padding: var(--sp-5); }
.cat-card-num { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .08em; color: var(--brand-500); margin-bottom: 6px; }
.cat-card-body h3 { font-size: var(--fs-h3); margin-bottom: 8px; }
.cat-card-body h3 a:hover { color: var(--brand-500); }
.cat-card-body p { color: var(--text-2); font-size: .9rem; margin-bottom: var(--sp-3); }
.cat-card-more { font-size: .8125rem; font-weight: 600; color: var(--brand-600); }

/* ---------- 产品卡 ---------- */
.product-card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-card); overflow: hidden;
  transition: border-color var(--t-base), box-shadow var(--t-base);
}
.product-card:hover { border-color: var(--brand-500); box-shadow: var(--shadow-hover); }
.product-card-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.product-card-body { padding: var(--sp-5); display: flex; flex-direction: column; gap: 8px; }
.product-card-body h3 { font-size: var(--fs-h3); }
.product-card-body h3 a:hover { color: var(--brand-500); }
.product-card-meta { display: flex; gap: 8px; font-size: .8125rem; color: var(--text-3); }
.product-card-meta dd { color: var(--text-2); }
.product-card-short { color: var(--text-2); font-size: .875rem; }
.product-card-link { margin-top: auto; font-size: .875rem; font-weight: 600; color: var(--brand-600); }
.product-card-link:hover { text-decoration: underline; }

/* ============================================================
   组件层 2/3：应用卡 / 数据带 / 优势 / 认证
   ============================================================ */

/* ---------- 应用卡 ---------- */
.app-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; transition: border-color var(--t-base), box-shadow var(--t-base); }
.app-card:hover { border-color: var(--brand-500); box-shadow: var(--shadow-hover); }
.app-card-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.app-card-media .ph { border: none; border-radius: 0; }
.app-card-body { padding: var(--sp-5); }
.app-card-body h3 { font-size: 1.0625rem; margin-bottom: 6px; }
.app-card-body p { color: var(--text-2); font-size: .875rem; }

/* ---------- 数据带 ---------- */
.stats { background: var(--ink-900); color: #fff; padding: var(--sp-6) 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
.stat { border-left: 2px solid rgba(255,255,255,.18); padding-left: var(--sp-4); }
.stat-num { display: block; font-size: clamp(1.4rem, 2vw, 1.75rem); font-weight: 700; letter-spacing: -.01em; }
.stat-label { font-size: .8125rem; color: rgba(255,255,255,.62); }

/* ---------- 为什么选择我们 ---------- */
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
.why-item { padding: var(--sp-5); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--brand-500); border-radius: var(--r-card); }
.why-item h3 { font-size: 1.0625rem; margin-bottom: 8px; }
.why-item p { color: var(--text-2); font-size: .875rem; }

/* ---------- 认证 ---------- */
.cert-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
.cert-item { padding: var(--sp-5); background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--brand-600); border-radius: var(--r-card); }
.cert-item.pending { border-left-color: var(--line); background: var(--bg-1); }
.cert-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); }
.cert-name { font-weight: 600; color: var(--ink-900); }
.cert-flag { display: none; font-size: .6875rem; padding: 2px 8px; border-radius: var(--r-tag); background: #fff; border: 1px dashed var(--line); color: var(--text-3); }
.cert-item.pending .cert-flag { display: inline-block; }
.cert-meta { margin-top: 8px; display: flex; gap: var(--sp-3); font-size: .8125rem; color: var(--text-3); }
.cert-note { margin-top: var(--sp-4); font-size: var(--fs-sm); color: var(--text-3); }

/* ============================================================
   组件层 3/3：流程 / 图文分栏 / 行业条 / 直联带 / 语言入口 / 响应式
   ============================================================ */

/* ---------- 流程 ---------- */
.process-list {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; margin-top: var(--sp-6);
  border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;
}
.process-item { padding: var(--sp-4); background: #fff; border-right: 1px solid var(--line-soft); }
.process-item:last-child { border-right: none; }
.process-step { display: block; font-size: .75rem; font-weight: 700; color: var(--brand-500); margin-bottom: 6px; }
.process-item h3 { font-size: .9375rem; margin-bottom: 4px; }
.process-item p { font-size: .8125rem; color: var(--text-2); }

/* ---------- 图文分栏 ---------- */
.media-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(24px, 3vw, 48px); align-items: start; }
.media-split-reverse .media-split-media { order: 2; }
.capability-list li { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-4) 0; border-bottom: 1px solid var(--line-soft); }
.capability-list li:first-child { padding-top: 0; }
.capability-list strong { color: var(--ink-900); }
.capability-list span { color: var(--text-2); font-size: .875rem; }

/* ---------- 行业条（占位结构，不虚构客户 logo） ---------- */
.industry-strip { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.industry-strip span {
  padding: 10px 18px; border: 1px solid var(--line); border-radius: var(--r-tag);
  background: #fff; font-size: .9375rem; color: var(--text-1);
}

/* ---------- 直联转化带 ---------- */
.quote-band { background: var(--brand-700); color: #fff; padding: clamp(32px, 4vw, 52px) 0; }
.quote-band-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap; }
.quote-band h2 { color: #fff; font-size: var(--fs-h2); margin-bottom: 8px; }
.quote-band p { color: rgba(255,255,255,.78); }
.quote-band-actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; }

/* ---------- 语言入口页 ---------- */
.gateway { min-height: 100vh; display: flex; align-items: center; }
.gateway-inner { width: 100%; max-width: 760px; text-align: center; }
.gateway-brand img { margin: 0 auto var(--sp-3); }
.gateway-brand h1 { font-size: 1.5rem; margin-bottom: 6px; }
.gateway-brand p { color: var(--text-2); font-size: .9375rem; }
.gateway-choice { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); margin-top: var(--sp-7); }
.gateway-card {
  display: flex; flex-direction: column; gap: 6px; padding: var(--sp-6);
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-card);
  transition: border-color var(--t-base), box-shadow var(--t-base);
}
.gateway-card:hover { border-color: var(--brand-500); box-shadow: var(--shadow-hover); }
.gateway-card strong { font-size: 1.125rem; color: var(--ink-900); }
.gateway-card span { font-size: .875rem; color: var(--text-2); }
.gateway-note { margin-top: var(--sp-5); font-size: var(--fs-sm); color: var(--text-3); }

/* ============================================================
   组件层 4/4：面包屑 / 筛选条 / 参数表 / 特性 / 询价表单 / 产品详情
   ============================================================ */
.crumb { background: var(--bg-1); border-bottom: 1px solid var(--line-soft); font-size: .8125rem; color: var(--text-2); }
.crumb-inner { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 42px; }
.crumb a { color: var(--text-2); }
.crumb a:hover { color: var(--brand-500); }
.crumb-sep { color: var(--line); }
.crumb-cur { color: var(--ink-900); font-weight: 600; }
.page-title { font-size: var(--fs-h2); }

/* ---------- 筛选条 ---------- */
.filterbar { border: 1px solid var(--line); border-radius: var(--r-card); background: #fff; padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-6); }
.filter-row { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; padding: 6px 0; }
.filter-row + .filter-row { border-top: 1px dashed var(--line-soft); }
.filter-label { min-width: 76px; font-size: .8125rem; color: var(--text-3); }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { padding: 6px 14px; border: 1px solid var(--line); border-radius: var(--r-tag); background: #fff; color: var(--text-2); font-size: .8125rem; }
.chip:hover { border-color: var(--brand-500); color: var(--brand-500); }
.chip.is-on { background: var(--brand-500); border-color: var(--brand-500); color: #fff; }
.filter-select, .filter-search input {
  padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--r-input);
  font-size: .875rem; color: var(--text-1); background: #fff; min-width: 180px;
}
.filter-search input { min-width: 240px; }
.filter-count { margin-left: auto; font-size: .8125rem; color: var(--text-3); }
.empty { padding: var(--sp-6); text-align: center; color: var(--text-3); border: 1px dashed var(--line); border-radius: var(--r-card); }

/* ---------- 参数表 ---------- */
.spec-wrap { border: 1px solid var(--line); border-radius: var(--r-card); overflow-x: auto; background: #fff; }
.spec-table { width: 100%; border-collapse: collapse; min-width: 420px; }
.spec-table th, .spec-table td { padding: 12px 16px; text-align: left; font-size: .875rem; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.spec-table thead th { background: var(--bg-1); color: var(--ink-900); font-size: .8125rem; letter-spacing: .02em; }
.spec-table tbody th { width: 38%; font-weight: 600; color: var(--text-1); background: #fcfcfd; }
.spec-table tbody tr:last-child th, .spec-table tbody tr:last-child td { border-bottom: none; }
.sub-title { font-size: 1rem; margin: var(--sp-6) 0 var(--sp-3); }
.notice { margin-top: var(--sp-4); padding: 10px 14px; background: var(--brand-50); border-left: 3px solid var(--brand-500); color: var(--text-2); font-size: .8125rem; border-radius: 0 var(--r-input) var(--r-input) 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- 产品详情 ---------- */
.detail-hero { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.detail-media img { width: 100%; border-radius: var(--r-media); border: 1px solid var(--line); }
.detail-info h1 { font-size: var(--fs-display); margin-bottom: var(--sp-3); }
.detail-info .lead { margin-bottom: var(--sp-5); }
.detail-actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-5); }
.tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: var(--sp-3); }
.tag { padding: 5px 12px; border: 1px solid var(--line); border-radius: var(--r-tag); background: var(--bg-1); font-size: .8125rem; color: var(--text-2); }
.tag:hover { border-color: var(--brand-500); color: var(--brand-500); }

/* ---------- 特性列表 ---------- */
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px var(--sp-5); }
.feature-item { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--text-1); }
.feature-mark { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; border: 1px solid var(--brand-500); border-radius: 50%; position: relative; }
.feature-mark::after { content: ''; position: absolute; left: 4px; top: 4px; width: 6px; height: 3px; border-left: 2px solid var(--brand-500); border-bottom: 2px solid var(--brand-500); transform: rotate(-45deg); }

/* ---------- 询价 / 技术咨询 表单样式（已下架） ----------
   .rfq / .rfq-grid / .fld* / .fld-wide / .rfq-consent / .rfq-actions / .rfq-msg*
   共 16 条规则随表单板块于 2026-10-16 一并删除；需要恢复表单时见 README 更新记录 */

@media (max-width: 1023px) {
  .detail-hero { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; }
}

  .hero-inner { grid-template-columns: 1fr; }
  .hero-media { order: -1; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .cert-list { grid-template-columns: repeat(2, 1fr); }
  .process-list { grid-template-columns: repeat(3, 1fr); }
  .media-split { grid-template-columns: 1fr; }
  .media-split-reverse .media-split-media { order: 0; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 767px) {
  .why-grid, .cert-list, .stats-grid { grid-template-columns: 1fr; }
  .process-list { grid-template-columns: 1fr; }
  .process-item { border-right: none; border-bottom: 1px solid var(--line-soft); }
  .section-head { flex-direction: column; align-items: flex-start; }
  .gateway-choice { grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
}


/* ---- 实拍图（企业资料原图）：工厂 / 产线 / 实验室 ---- */
.media-split-media img{width:100%;height:100%;display:block;object-fit:cover;border-radius:10px}
figure.shot{margin:0}
figure.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px;background:#eef1f5}
figure.shot figcaption{margin-top:10px;font-size:.85rem;color:#6b7280;line-height:1.5}

/* ---- 应用领域：车标模糊遮罩（实拍照片用，位置由 catalog.json 的 mask 控制） ---- */
.app-card-media{position:relative}
.app-card-media .logo-mask{position:absolute;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(244,248,253,.10);border-radius:8px;pointer-events:none}

/* ---- 合作伙伴区块 ---- */
.partner-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.partner-group{background:var(--card,#fff);border:1px solid var(--line-soft,#e5eaf2);border-radius:10px;padding:16px 18px}
.partner-group-title{margin:0 0 8px;font-size:1rem;color:var(--ink-900,#0f2544)}
.partner-group-items{margin:0;font-size:.9rem;line-height:1.75;color:var(--text-2,#5b6b82)}

/* ---- 关于我们：页内锚点条 ---- */
.subnav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line-soft,#e5eaf2)}
.subnav-inner{display:flex;gap:8px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.subnav-inner a{white-space:nowrap;font-size:.9rem;color:var(--text-2,#5b6b82);padding:6px 12px;border-radius:999px;border:1px solid var(--line-soft,#e5eaf2);text-decoration:none}
.subnav-inner a:hover{color:var(--ink-900,#0f2544);border-color:var(--ink-900,#0f2544);background:#f6f9fd}

/* ==== 关于我们：参考站布局 ==== */
.sub-banner{background:linear-gradient(120deg,#0f2544 0%,#1a3c6e 55%,#2f6bb0 100%);color:#fff;padding:56px 0 30px}
.sub-banner-inner{text-align:center}
.sub-banner h1{margin:0 0 10px;font-size:2rem;color:#fff;letter-spacing:.02em}
.sub-banner p{margin:0 0 18px;color:rgba(255,255,255,.86);font-size:1.02rem}
.sub-banner .crumb{background:transparent;border:0;padding:0}
.sub-banner .crumb-inner{justify-content:center}
.sub-banner .crumb a,.sub-banner .crumb-cur,.sub-banner .crumb-sep{color:rgba(255,255,255,.8)}
.about-top{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center}
@media(max-width:900px){.about-top{grid-template-columns:1fr}}
.about-top h2{margin:0 0 14px;font-size:1.5rem;color:var(--ink-900,#0f2544)}
.about-top p{margin:0 0 12px;line-height:1.85;color:var(--text-2,#5b6b82)}
.about-top img{width:100%;display:block;border-radius:12px;object-fit:cover;background:#eef2f8}
.img-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.img-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;background:#eef2f8}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cert-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block;background:#fff;border:1px solid var(--line-soft,#e5eaf2)}
.cert-grid img:first-child{grid-column:span 1}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
.prod-range{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.prod-range{grid-template-columns:1fr 1fr}}
.prod-range-card{position:relative;display:block;border-radius:12px;overflow:hidden;min-height:180px}
.prod-range-card img{width:100%;height:100%;min-height:180px;object-fit:cover;display:block}
.prod-range-overlay{position:absolute;inset:auto 0 0 0;padding:14px 16px;background:linear-gradient(transparent,rgba(6,20,40,.82));color:#fff}
.prod-range-overlay h3{margin:0 0 4px;font-size:1.02rem;color:#fff}
.prod-range-overlay span{font-size:.85rem;color:rgba(255,255,255,.85)}

/* 4 张图条：第 4 张跨两列，避免单图单挂（参考站为 3 图一行） */
.img-strip img:nth-child(4){grid-column:span 2;aspect-ratio:8/3}

/* ---- 合作伙伴：客户 logo 墙 ---- */
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.logo-wall-item{display:flex;align-items:center;justify-content:center;height:92px;padding:10px;background:#fff;border:1px solid var(--line-soft,#e5eaf2);border-radius:10px}
.logo-wall-item img{max-width:100%;max-height:100%;object-fit:contain}

/* ---- 合作伙伴：分组内逐条名单 ---- */
.partner-groups{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.partner-group-list{list-style:none;margin:0;padding:0;columns:2;column-gap:22px}
@media(max-width:560px){.partner-group-list{columns:1}}
.partner-group-list li{position:relative;padding:2px 0 2px 14px;font-size:.9rem;line-height:1.95;color:var(--text-2,#5b6b82);break-inside:avoid}
.partner-group-list li::before{content:"";position:absolute;left:2px;top:14px;width:5px;height:5px;border-radius:50%;background:var(--brand,#1a3c6e);opacity:.6}

/* ---- 合作伙伴：客户 logo 滚动展示墙（彩色） ---- */
.logo-marquee{position:relative;overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-marquee-inner{display:flex;align-items:center;gap:14px;width:max-content;animation:logoScroll 48s linear infinite;animation-play-state:paused}
.logo-marquee.is-ready .logo-marquee-inner{animation-play-state:running}
.logo-marquee:hover .logo-marquee-inner{animation-play-state:paused}
@keyframes logoScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-card{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:172px;height:94px;padding:12px;position:relative;background:#fff;border:1px solid var(--line-soft,#e5eaf2);border-radius:10px}
.logo-card img{max-width:100%;max-height:100%;object-fit:contain;display:block}
@media(max-width:560px){.logo-card{width:140px;height:80px}}
@media(prefers-reduced-motion: reduce){.logo-marquee{-webkit-mask-image:none;mask-image:none}.logo-marquee-inner{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* ---- 客户 logo 栏：与文本同宽 + 分隔 ---- */
.logo-marquee-box{margin:30px 0;padding:26px 0;border-top:1px solid var(--line-soft,#e5eaf2);border-bottom:1px solid var(--line-soft,#e5eaf2);max-width:100%}
.logo-marquee-box .logo-marquee{padding:0}

/* ==== 荣誉陈列柜（资质证书 / 政府荣誉 / 客户荣誉）==== */
.cabinet{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}
.cabinet-group{background:linear-gradient(180deg,#fbfdff,#f4f8fd);border:1px solid var(--line-soft,#e2e8f2);border-radius:14px;padding:22px 22px 26px;box-shadow:0 8px 24px rgba(15,37,68,.05)}
.cabinet-group-title{margin:0 0 6px;font-size:1.06rem;color:var(--ink-900,#0f2544);display:flex;align-items:center;gap:8px}
.cabinet-group-title::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--brand,#1a3c6e)}
.cabinet-group-lead{margin:0 0 18px;font-size:.86rem;color:var(--text-2,#5b6b82)}
.cabinet-shelf{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.cabinet-shelf{grid-template-columns:1fr}}
.cabinet-plate{position:relative;background:#fff;border:1px solid #e6ecf5;border-left:4px solid var(--brand,#1a3c6e);border-radius:10px;padding:12px;display:flex;gap:12px;align-items:center;box-shadow:0 2px 8px rgba(15,37,68,.05);transition:transform .18s,box-shadow .18s}
.cabinet-plate:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,37,68,.12)}
.cabinet-plate .plate-img{flex:0 0 auto;width:78px;height:78px;object-fit:cover;border-radius:8px;background:#f1f5fa;display:block}
.cabinet-plate .plate-img-ph{display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;background:var(--brand,#1a3c6e)}
.cabinet-plate .plate-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.cabinet-group[data-kind="gov"] .cabinet-plate{border-left-color:#b7791f}
.cabinet-group[data-kind="gov"] .plate-badge{background:#b7791f}
.cabinet-group[data-kind="cup"] .cabinet-plate{border-left-color:#16a34a}
.cabinet-group[data-kind="cup"] .plate-badge{background:#16a34a}
.cabinet-plate .plate-name{font-size:.9rem;line-height:1.55;color:var(--ink-900,#0f2544);font-weight:600}
.cabinet-plate .plate-tag{font-size:.72rem;letter-spacing:.04em;color:var(--text-3,#93a1b5)}
.cabinet-originals{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
.cabinet-originals figure{margin:0;background:#fff;border:1px solid var(--line-soft,#e2e8f2);border-radius:12px;padding:10px;box-shadow:0 4px 14px rgba(15,37,68,.06)}
.cabinet-originals img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block;background:#f4f8fd}
.cabinet-originals figcaption{margin-top:8px;font-size:.76rem;color:var(--text-3,#93a1b5);text-align:center}

/* ==== 基地布局（企业介绍 P4）==== */
.bases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.base-card{background:#fff;border:1px solid var(--line-soft,#e2e8f2);border-radius:12px;padding:18px;box-shadow:0 4px 14px rgba(15,37,68,.05)}
.base-card h3{margin:0 0 8px;font-size:.98rem;color:var(--ink-900,#0f2544)}
.base-card p{margin:0;font-size:.85rem;line-height:1.8;color:var(--text-2,#5b6b82)}

/* ==== 研发能力（企业介绍 P19–P26）==== */
.rnd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.rnd-card{background:#fff;border:1px solid var(--line-soft,#e2e8f2);border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(15,37,68,.06);display:flex;flex-direction:column}
.rnd-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#eef3fa}
.rnd-card-body{padding:16px 18px 18px}
.rnd-card-body h3{margin:0 0 8px;font-size:1rem;color:var(--ink-900,#0f2544)}
.rnd-card-body p{margin:0;font-size:.85rem;line-height:1.8;color:var(--text-2,#5b6b82)}

/* 陈列柜排版优化：分组整行铺开 + 铭牌自适应列宽，避免拥挤 */
.cabinet{grid-template-columns:1fr;gap:28px}
.cabinet-group{padding:26px 26px 30px}
.cabinet-group-title{font-size:1.12rem;margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid var(--line-soft,#e8eef6)}
.cabinet-group-lead{margin:12px 0 22px}
.cabinet-shelf{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.cabinet-plate{padding:16px 18px;gap:16px;align-items:flex-start}
.cabinet-plate .plate-img{width:96px;height:112px;object-fit:contain;background:#f7fafd;border:1px solid #eef2f8;border-radius:8px}
.cabinet-plate .plate-img-ph{object-fit:cover;background:var(--brand,#1a3c6e);color:#fff;font-weight:600;font-size:1.15rem;align-items:center;justify-content:center;border:0}
.cabinet-plate .plate-body{gap:10px;padding-top:2px}
.cabinet-plate .plate-name{font-size:.93rem;line-height:1.7;word-break:break-word}
.cabinet-plate .plate-tag{font-size:.72rem;opacity:.9}
@media(max-width:1100px){.cabinet-shelf{grid-template-columns:1fr}.cabinet-group{padding:20px 18px 22px}}

/* 陈列柜图片：悬停放大 + 点击全屏 */
.cabinet-plate{cursor:default}
.cabinet-plate .plate-img{cursor:zoom-in;transition:transform .22s ease,box-shadow .22s ease;transform-origin:center center;background:#fff}
.cabinet-plate:hover .plate-img{transform:scale(1.06);box-shadow:0 6px 18px rgba(15,37,68,.18)}
.cabinet-plate .plate-img:hover{transform:scale(var(--zoom,2.5));position:relative;z-index:60;box-shadow:0 20px 44px rgba(15,37,68,.38);border-color:#dbe6f3}
.cabinet-plate:hover{position:relative;z-index:50}
.cabinet-shelf{position:relative}

/* 全屏查看：滚轮缩放 + 拖拽平移 */
.cabinet-zoom{overflow:auto;display:block;padding:24px;cursor:default}
.cabinet-zoom img{cursor:grab}
.cabinet-zoom .zoom-hint{color:#cbd5e1;font-size:.82rem}

/* 全屏查看 v2：指针定位缩放 / 平滑缓动 / 25%–400% */
.cabinet-zoom{position:fixed;inset:0;z-index:999;background:rgba(8,18,34,.92);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;padding:0 0 18px;overflow:hidden}
.cabinet-zoom[hidden]{display:none}
.cabinet-zoom .zoom-stage{position:absolute;inset:0;overflow:hidden;cursor:grab}
.cabinet-zoom .zoom-stage.is-dragging{cursor:grabbing}
.cabinet-zoom .zoom-stage img{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:0 0;will-change:transform;user-select:none;-webkit-user-drag:none;background:#fff;border-radius:6px;box-shadow:0 26px 64px rgba(0,0,0,.5)}
.cabinet-zoom .zoom-bar{position:relative;z-index:3;display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:999px;background:rgba(13,26,47,.92);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px rgba(0,0,0,.42)}
.cabinet-zoom .zoom-btn{appearance:none;border:0;background:transparent;color:#e6edf7;font:inherit;font-size:.86rem;line-height:1;padding:9px 13px;border-radius:999px;cursor:pointer;transition:background .18s}
.cabinet-zoom .zoom-btn:hover{background:rgba(255,255,255,.15)}
.cabinet-zoom .zoom-level{min-width:68px;text-align:center;font-variant-numeric:tabular-nums;color:#fff}
.cabinet-zoom .zoom-hint{position:relative;z-index:3;color:#c7d3e2;font-size:.8rem;letter-spacing:.02em;max-width:92vw;text-align:center}
@media(max-width:600px){.cabinet-zoom .zoom-bar{gap:2px;padding:5px 6px}.cabinet-zoom .zoom-btn{padding:8px 10px;font-size:.8rem}}

/* ==== 关于我们：左侧分节导航（≥1360px 竖排 · 当前部分放大）==== */
.about-shell{max-width:calc(var(--wrap,1200px) + 300px);margin:0 auto;padding:0 var(--gutter,20px);display:block}
.about-main{min-width:0}
.subnav{top:var(--header-h,72px)}
.subnav-title{margin:0 0 10px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3,#93a1b5)}
.about-shell .section{scroll-margin-top:calc(var(--header-h,72px) + 16px)}
@media (max-width:1359px){
  .subnav-title{display:none}
  .subnav-inner a.is-active{background:var(--brand,#1a3c6e);border-color:var(--brand,#1a3c6e);color:#fff;font-weight:600}
}
@media (min-width:1360px){
  .about-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}
  .subnav{position:sticky;top:calc(var(--header-h,72px) + 20px);background:transparent;border:0;z-index:20;padding:0}
  .subnav .wrap{max-width:none;margin:0;padding:0}
  .subnav-inner{display:flex;flex-direction:column;gap:3px;overflow:visible;padding:0;border-left:1px solid var(--line-soft,#e5eaf2)}
  .subnav-inner a{position:relative;border:0;border-radius:0 999px 999px 0;padding:9px 12px 9px 16px;font-size:.9rem;line-height:1.45;white-space:normal;color:var(--text-2,#5b6b82);transition:font-size .18s ease,color .18s ease,padding-left .18s ease,background .18s ease}
  .subnav-inner a:hover{color:var(--brand,#1a3c6e);background:#f5f8fd}
  .subnav-inner a.is-active{font-size:1.12rem;font-weight:700;color:var(--brand,#1a3c6e);padding-left:20px;background:linear-gradient(90deg,rgba(26,60,110,.1),rgba(26,60,110,0) 85%)}
  .subnav-inner a.is-active::before{content:"";position:absolute;left:-1px;top:14%;width:3px;height:72%;background:var(--brand,#1a3c6e);border-radius:3px}
}


/* ==== 研发能力：按能力分行（图文交替 · 主图 + 多张辅图 · 要点清单）==== */
.rnd-rows{display:flex;flex-direction:column;gap:30px}
.rnd-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:32px;align-items:start;background:#fff;border:1px solid var(--line-soft,#e6ecf5);border-radius:16px;padding:26px;box-shadow:0 6px 22px rgba(15,37,68,.05)}
.rnd-row:nth-child(even) .rnd-media{order:2}
.rnd-media{min-width:0}
.rnd-fig-main{margin:0}
.rnd-fig-main img{width:100%;aspect-ratio:16/10;object-fit:contain;border-radius:12px;background:#f6f9fd;border:1px solid #eef2f8;display:block;transition:box-shadow .2s ease}
.rnd-fig-main:hover img{box-shadow:0 12px 28px rgba(15,37,68,.16)}
.rnd-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin-top:12px}
.rnd-figs figure{margin:0;overflow:hidden;border-radius:8px;border:1px solid #eef2f8;background:#eef3fa;transition:transform .18s ease,box-shadow .18s ease}
.rnd-figs figure:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,37,68,.14)}
.rnd-figs img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:#f6f9fd}
.rnd-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.rnd-cat{background:#f7fafd;border:1px solid #e8eef6;border-radius:12px;padding:14px 16px}
.rnd-cat h4{margin:0 0 10px;font-size:.86rem;color:var(--brand,#1a3c6e)}
.rnd-cat ul{display:flex;flex-direction:column;gap:5px}
.rnd-cat li{position:relative;padding-left:12px;font-size:.8rem;line-height:1.6;color:var(--text-2,#5b6b82)}
.rnd-cat li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--brand,#1a3c6e);opacity:.5}
.rnd-body{min-width:0}
.rnd-no{display:inline-block;font-size:.72rem;letter-spacing:.1em;color:var(--brand,#1a3c6e);background:rgba(26,60,110,.08);border-radius:999px;padding:4px 12px}
.rnd-name{margin:12px 0;font-size:1.34rem}
.rnd-desc{margin:0 0 16px;font-size:.92rem;line-height:1.9;color:var(--text-2,#5b6b82)}
.rnd-points{display:flex;flex-direction:column;gap:9px}
.rnd-points li{position:relative;padding-left:20px;font-size:.87rem;line-height:1.8;color:var(--text-1,#33415a)}
.rnd-points li::before{content:"";position:absolute;left:2px;top:.6em;width:9px;height:9px;border-radius:2px;background:linear-gradient(135deg,var(--brand,#1a3c6e),#4a7ac2)}
.rnd-topic{margin-top:30px;background:#fff;border:1px solid var(--line-soft,#e6ecf5);border-left:4px solid var(--brand,#1a3c6e);border-radius:14px;padding:24px 26px;box-shadow:0 6px 20px rgba(15,37,68,.05)}
.rnd-topic h3{margin:0 0 12px;font-size:1.06rem}
.rnd-topic p{margin:0;font-size:.9rem;line-height:1.9;color:var(--text-2,#5b6b82)}
@media(max-width:960px){.rnd-row{grid-template-columns:1fr;gap:20px;padding:20px}.rnd-row:nth-child(even) .rnd-media{order:0}}

/* ==== 全站图片：悬停放大（.zoomable，倍数由脚本按显示尺寸给到 --z）==== */
.zoomable{cursor:zoom-in;transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease;transform-origin:center center}
.zoomable.is-zooming{transform:scale(var(--z,2.5));position:relative;z-index:60;box-shadow:0 20px 44px rgba(15,37,68,.38)}
@media (prefers-reduced-motion: reduce){.zoomable{transition:none}}
@media (hover: none){.zoomable{cursor:default}.zoomable.is-zooming{transform:none;box-shadow:none}}

/* 产品页图片：仅点击查看（无悬停放大）*/
.viewable{cursor:zoom-in}




/* 工厂展示（企业介绍 P37–P38）*/
.factory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.factory-item{margin:0;background:#fff;border:1px solid var(--line-soft,#e6ecf5);border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(15,37,68,.05);transition:transform .18s ease,box-shadow .18s ease}
.factory-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,37,68,.14)}
.factory-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eef3fa}
.factory-item figcaption{padding:12px 14px;font-size:.88rem;color:var(--ink-900,#0f2544);text-align:center;border-top:1px solid #eef2f8}
@media(max-width:1000px){.factory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.factory-grid{grid-template-columns:1fr}}

/* 发展历程：时间轴折线连点 */
.ms-chart{margin-top:6px}
.ms-scroll{position:relative;overflow:visible;padding:0}
.ms-track{position:relative;z-index:1;display:flex;width:100%;margin:0;padding:14px 0 20px;list-style:none}
.ms-node{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 6px}
.ms-year{font-weight:800;font-size:1rem;color:var(--brand,#1a3c6e);letter-spacing:.02em}
.ms-dot{width:12px;height:12px;border-radius:50%;background:var(--brand,#1a3c6e);box-shadow:0 0 0 4px rgba(26,60,110,.14);margin:10px 0}
.ms-desc{font-size:.78rem;line-height:1.6;color:var(--text-2,#5b6b82);max-width:100%;word-break:break-word}
.ms-line{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
@media(max-width:760px){
  .ms-scroll{overflow:visible}
  .ms-track{flex-direction:column;min-width:0;padding:6px 0 6px 4px}
  .ms-node,.ms-node:nth-child(even){flex:0 0 auto;width:100%;flex-direction:row;align-items:flex-start;text-align:left;padding:0 0 16px 0}
  .ms-node .ms-year{flex:0 0 auto;width:56px;text-align:right;padding-top:1px}
  .ms-node .ms-dot{flex:0 0 auto;margin:5px 10px 0}
  .ms-node .ms-desc{max-width:none;text-align:left}
}

/* 现有客户：上下两条横向滚动 */

/* 现有客户：滚动带上下各一条横线（去掉区块自带分隔线，避免两条挤在标题下）*/
#customers{border-top:0}
.logo-marquee-box .logo-marquee{padding:0}


/* 现有客户：去掉标题下划线，避免与滚动带上边线叠成"两条" */
#customers .section-head{border-bottom:0}

/* ---------- 联系页「联系方式」区块（2026-09-17 甲方追加要求；2026-10-16 起为页内唯一内容） ----------
   · 「询价 / 技术咨询」表单板块已于 2026-10-16 整块下架，本区块成为联系页仅剩的正文内容
   · 标题「联系方式」字号 var(--fs-h2)（与站内其它页 h2 同级）；原先把表单包了独立一层 .wrap
     导致标题右移一个 gutter，那一层同批删掉，现在标题与页内其它内容左对齐
   · 内容改表格：表头「项目 / 内容」+ 电话 / 邮箱 / 传真 / 地址 四行，直观对照
   · 电话与邮箱只是文字，不再可点击（无 tel: / mailto:）
   · 放这里而不是 catalog.css：本文件打进 assets/site.css?v=…（版本号随内容自动变），
     不会被浏览器缓存耽误；catalog.css 由 footer-settings.js 注入，后加载时表格会先无样式一下 */
.ct-info-title { font-size: var(--fs-h2); margin: 44px 0 var(--sp-4); }
.ct-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; border-top: 1px solid var(--line); }
.ct-table th, .ct-table td { text-align: left; vertical-align: top; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.ct-table thead th { background: var(--bg-1); color: var(--text-3); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; }
.ct-table tbody th { width: 170px; font-size: 1.125rem; font-weight: 700; color: var(--ink-900); }
.ct-table tbody td { font-size: 1.125rem; color: var(--text-2); word-break: break-word; }
@media (max-width: 860px) {
    .ct-table th, .ct-table td { padding: 12px 12px; }
    .ct-table tbody th { width: 96px; }
}

/* ---- 产品目录（本站首页，/ 由后端转到本页）：页头色块 + 目录区 ---- */
/* ① 页头改用与「关于我们 / 合作伙伴」同一套 .sub-banner 深蓝渐变块（甲方 2026-09-17：
      「产品目录 + 覆盖…」放进色块，和关于我们一样）；灰色「首页 / 产品中心」面包屑条已删 */
/* ② 色块大小与「关于我们 / 合作伙伴」逐像素一致：它们的页头在引言下面还有一行面包屑
      （.crumb-inner 的 min-height:42px），本页按甲方要求不放面包屑 → 用 42px 等高占位补齐，
      于是三页色块总高都是 56 + 标题 + 10 + 引言 + 18 + 42 + 30（内距 / 行距完全没动） */
.sub-banner-catalog .sub-banner-gap{display:block;height:42px}
/* ③ 色块下面紧接筛选条 + 产品栅格 → 顶部内距收紧（否则色块 30px 与 .section 的 88px 叠加） */
.section-catalog{padding-top:44px}
