/* ==========================================================================
   鼎捷峰精密 · 站点样式
   设计语言：浅色工业风 / 精密感 / 细线网格 / 克制留白
   目标：移动优先、零外部字体依赖、首屏 LCP 优先
   ========================================================================== */

/* ---------- 1. 变量与重置 ---------- */
:root {
  --ink: #0d1b26;
  --ink-soft: #26394a;
  --muted: #5f7385;
  --line: #e3e9ef;
  --line-strong: #ccd8e2;
  --bg: #f5f7f9;
  --card: #ffffff;
  --brand: #0b5f8a;
  --brand-deep: #073b56;
  --brand-soft: #e8f2f8;
  --accent: #e2711d;
  --ok: #1f7a5a;
  --radius: 3px;
  --radius-lg: 6px;
  --gutter: clamp(16px, 4vw, 32px);
  --wrap: 1200px;
  --fs-h1: clamp(1.9rem, 4.4vw, 3.5rem);
  --fs-h2: clamp(1.45rem, 2.5vw, 2.15rem);
  --fs-h3: clamp(1.05rem, 1.4vw, 1.2rem);
  --fs-body: clamp(0.95rem, 1.05vw, 1.02rem);
  --shadow-sm: 0 1px 2px rgba(13, 27, 38, .05), 0 8px 24px -16px rgba(13, 27, 38, .25);
  --shadow-md: 0 2px 6px rgba(13, 27, 38, .06), 0 24px 48px -28px rgba(13, 27, 38, .35);
  --t: .35s cubic-bezier(.22, .61, .36, 1);
  --header-h: 68px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;
  font-size: var(--fs-body);
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img,
video,
svg { display: block; max-width: 100%; }
img { height: auto; }

a { color: var(--brand); text-decoration: none; transition: color var(--t); }
a:hover { color: var(--accent); }

h1, h2, h3, h4 {
  margin: 0 0 .6em;
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -.01em;
  color: var(--ink);
  text-wrap: balance;
}

p { margin: 0 0 1.1em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.25em; }
li { margin-bottom: .4em; }

button { font: inherit; color: inherit; }

/* hidden 属性优先级高于组件 display，保证筛选/隐藏逻辑生效 */
[hidden] { display: none !important; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}

::selection { background: #cfe6f4; color: var(--ink); }

/* ---------- 2. 布局工具 ---------- */
.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section { padding-block: clamp(52px, 7vw, 96px); position: relative; }
.section--tight { padding-block: clamp(36px, 5vw, 60px); }
.section--paper { background: var(--card); }
.section--ink { background: var(--brand-deep); color: #dfeaf2; }
.section--ink h2, .section--ink h3 { color: #fff; }
.section--ink p { color: #b8cbd9; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 200;
  background: var(--ink);
  color: #fff;
  padding: 10px 16px;
  border-radius: var(--radius);
}
.skip-link:focus { left: 8px; color: #fff; }

/* 章节标题：编号 + 细线 */
.sec-head { margin-bottom: clamp(28px, 4vw, 44px); }
.sec-head__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .74rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 600;
  margin-bottom: 12px;
}
.sec-head__label::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: .7;
}
.sec-head h2 { margin-bottom: .35em; }
.sec-head p {
  max-width: 62ch;
  color: var(--muted);
  margin: 0;
}
.section--ink .sec-head p { color: #a8bfd0; }
.sec-head--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

/* ---------- 3. 按钮 ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent; /* <button> 自带灰色底色，必须重置 */
  font-size: .94rem;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background var(--t), color var(--t), border-color var(--t), transform var(--t);
  text-align: center;
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--brand); color: #fff; }
.btn--primary:hover { background: var(--brand-deep); color: #fff; }
.btn--accent { background: var(--accent); color: #fff; }
.btn--accent:hover { background: #c85f12; color: #fff; }
.btn--ghost { border-color: rgba(255, 255, 255, .45); color: #fff; }
.btn--ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }
.btn--line { border-color: var(--line-strong); color: var(--ink); background: transparent; }
.btn--line:hover { border-color: var(--brand); color: var(--brand); }
.btn__arrow { transition: transform var(--t); }
.btn:hover .btn__arrow { transform: translateX(3px); }

/* 箭头文字链接 */
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  font-size: .92rem;
}
.link-arrow::after {
  content: "→";
  transition: transform var(--t);
}
.link-arrow:hover::after { transform: translateX(4px); }

/* ---------- 4. 顶部导航 ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow var(--t);
}
.site-header.is-scrolled { box-shadow: 0 8px 24px -20px rgba(13, 27, 38, .6); }
.site-header__bar {
  height: var(--header-h);
  display: flex;
  align-items: center;
  gap: 20px;
}

.logo { display: flex; align-items: center; gap: 10px; flex: none; }
.logo__mark {
  width: 34px;
  height: 34px;
  flex: none;
}
.logo__text { display: flex; flex-direction: column; line-height: 1.15; }
.logo__name {
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--ink);
}
.logo__sub {
  font-size: .62rem;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--muted);
}

.nav { margin-left: auto; }
.nav__list {
  display: flex;
  align-items: center;
  gap: clamp(6px, 1.6vw, 22px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__list li { margin: 0; }
.nav__link {
  position: relative;
  display: block;
  padding: 8px 2px;
  font-size: .93rem;
  font-weight: 500;
  color: var(--ink-soft);
  white-space: nowrap;
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--brand);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}
.nav__link:hover { color: var(--brand); }
.nav__link:hover::after,
.nav__link[aria-current="page"]::after { transform: scaleX(1); }
.nav__link[aria-current="page"] { color: var(--brand); font-weight: 650; }

.header__cta { flex: none; padding: 10px 18px; font-size: .86rem; }

/* 桌面端只保留右上角一个 CTA，避免与导航内按钮重复 */
@media (min-width: 901px) {
  .nav__item--cta { display: none; }
}

/* 中文标题按语义断行，避免断在词中间 */
.nowrap { white-space: nowrap; }

.nav-toggle {
  display: none;
  margin-left: auto;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: #fff;
  cursor: pointer;
  padding: 0;
  position: relative;
  flex: none;
}
.nav-toggle span {
  position: absolute;
  left: 50%;
  width: 18px;
  height: 1.5px;
  margin: 0;
  background: var(--ink);
  border-radius: 1px;
  transform: translateX(-50%);
  transition: transform var(--t), opacity var(--t), top var(--t);
}
.nav-toggle span:nth-child(1) { top: 13px; }
.nav-toggle span:nth-child(2) { top: 19.5px; }
.nav-toggle span:nth-child(3) { top: 26px; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { top: 19.5px; transform: translateX(-50%) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { top: 19.5px; transform: translateX(-50%) rotate(-45deg); }

@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .header__cta { display: none; }
  .nav {
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    margin: 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-md);
    padding: 8px var(--gutter) 20px;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--t), transform var(--t), visibility var(--t);
  }
  .nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__link {
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
  }
  .nav__link::after { display: none; }
  .nav__item--cta { padding-top: 16px; }
  .nav__item--cta .btn { width: 100%; }
}

/* ---------- 5. 首屏视频 Banner ---------- */
.hero {
  position: relative;
  min-height: 560px;
  height: 100vh;
  height: 100svh;
  max-height: 860px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #071722;
  isolation: isolate;
}

/* 海报层：既是 LCP 元素，也是视频加载前的静态兜底 */
.hero__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  /* 硬编码尺寸占位，避免 CLS */
  aspect-ratio: 16 / 9;
}
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  opacity: 0;
  transition: opacity 1.1s ease;
  pointer-events: none;
}
.hero.is-video-ready .hero__video { opacity: 1; }

/* 上下渐变 + 左侧压暗，保证文字对比度 ≥ 7:1 */
.hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(6, 20, 30, .72) 0%, rgba(6, 20, 30, .18) 34%, rgba(6, 20, 30, .55) 72%, rgba(6, 20, 30, .92) 100%),
    linear-gradient(90deg, rgba(6, 20, 30, .78) 0%, rgba(6, 20, 30, .25) 55%, rgba(6, 20, 30, .05) 100%);
}

.hero__inner {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-bottom: clamp(40px, 6vw, 76px);
  padding-top: calc(var(--header-h) + 40px);
  color: #fff;
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 40px;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #d7e7f2;
  background: rgba(7, 30, 44, .35);
  backdrop-filter: blur(6px);
  margin-bottom: clamp(16px, 2.4vw, 26px);
}
.hero__eyebrow b {
  color: #fff;
  font-weight: 600;
  letter-spacing: .16em;
}
.hero__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4fd1a5;
  box-shadow: 0 0 0 4px rgba(79, 209, 165, .18);
  flex: none;
}

.hero h1 {
  color: #fff;
  font-size: var(--fs-h1);
  line-height: 1.14;
  letter-spacing: -.02em;
  margin-bottom: .5em;
  max-width: 20ch;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .35);
}
.hero h1 em {
  font-style: normal;
  display: block;
  font-size: .52em;
  font-weight: 400;
  letter-spacing: .02em;
  color: #cfe3f0;
  margin-top: .55em;
  line-height: 1.5;
  max-width: 34ch;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(20px, 3vw, 32px);
}

/* 核心规格条 */
.hero__specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(28px, 4vw, 52px);
  border-top: 1px solid rgba(255, 255, 255, .22);
  padding-top: 20px;
  max-width: 780px;
}
.hero__spec { padding-right: 14px; }
.hero__spec dt {
  font-size: .72rem;
  letter-spacing: .1em;
  color: #9db9cc;
  margin-bottom: 2px;
}
.hero__spec dd {
  margin: 0;
  font-size: clamp(1.1rem, 1.9vw, 1.5rem);
  font-weight: 650;
  color: #fff;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.hero__spec dd span { font-size: .6em; font-weight: 400; color: #b9cfdd; margin-left: 2px; }

/* 视频控制：静音提示 / 播放暂停 */
.hero__video-ctrl {
  position: absolute;
  right: var(--gutter);
  bottom: clamp(40px, 6vw, 76px);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 40px;
  background: rgba(7, 26, 38, .45);
  backdrop-filter: blur(10px);
  color: #e6f0f6;
  font-size: .78rem;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background var(--t), border-color var(--t);
}
.hero__video-ctrl:hover { background: rgba(7, 26, 38, .72); border-color: #fff; }
.hero__video-ctrl svg { width: 14px; height: 14px; flex: none; }

@media (max-width: 760px) {
  .hero { min-height: 520px; max-height: none; }
  .hero__specs { grid-template-columns: repeat(2, 1fr); gap: 14px 1px; }
  .hero__video-ctrl { right: 50%; transform: translateX(50%); bottom: 14px; }
  .hero__inner { padding-bottom: 64px; }
}

/* ---------- 6. 数据条 ---------- */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.stat {
  background: var(--card);
  padding: clamp(20px, 3vw, 32px);
}
.stat__num {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--brand);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 3px;
}
.stat__num small { font-size: .42em; font-weight: 600; letter-spacing: 0; }
.stat__label {
  margin: 10px 0 0;
  font-size: .86rem;
  color: var(--muted);
  line-height: 1.5;
}
@media (max-width: 760px) { .stats { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 7. 能力卡片 ---------- */
.cap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(258px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.cap {
  position: relative;
  background: var(--card);
  padding: clamp(24px, 3vw, 34px);
  transition: background var(--t);
}
.cap:hover { background: #fbfdfe; }
.cap__idx {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--brand);
  font-variant-numeric: tabular-nums;
}
.cap h3 { margin: 14px 0 8px; font-size: 1.14rem; }
.cap p { margin: 0 0 14px; color: var(--muted); font-size: .92rem; }
.cap ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: .86rem;
  color: var(--ink-soft);
  border-top: 1px dashed var(--line-strong);
  padding-top: 12px;
}
.cap ul li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 5px;
  line-height: 1.6;
}
.cap ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 4px;
  height: 4px;
  background: var(--accent);
  border-radius: 50%;
}

/* ---------- 8. 产品 / 应用卡片 ---------- */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(14px, 2vw, 22px);
}
.pcard {
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.pcard:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--line-strong);
}
.pcard__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9eef2;
}
/* 绝对定位：父级高度由 aspect-ratio 决定，避免百分比高度失效导致图片不显示 */
.pcard__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, .61, .36, 1);
}
.pcard:hover .pcard__media img { transform: scale(1.045); }
.pcard__body { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; }
.pcard__body h3 { font-size: 1.02rem; margin-bottom: 6px; }
.pcard__body p { margin: 0 0 12px; color: var(--muted); font-size: .86rem; line-height: 1.65; }
.pcard__specs {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
}
.pcard__specs li {
  font-size: .72rem;
  margin: 0;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--muted);
  background: #fafcfd;
}

/* 应用领域：图上叠字 */
.app-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(10px, 1.6vw, 16px);
}
.app {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  color: #fff;
  isolation: isolate;
}
.app img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.22, .61, .36, 1);
  z-index: -2;
}
.app::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(6, 20, 30, 0) 42%, rgba(6, 20, 30, .82) 100%);
}
.app:hover img { transform: scale(1.06); }
.app__body { padding: 16px 16px 18px; }
.app__body h3 { color: #fff; font-size: 1rem; margin-bottom: 2px; }
.app__body p { margin: 0; font-size: .76rem; color: #c6d6e2; line-height: 1.5; }
@media (max-width: 900px) { .app-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 9. 视频卡片（新闻） ---------- */
.vgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}
.vcard {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--t), border-color var(--t), transform var(--t);
}
.vcard:hover { box-shadow: var(--shadow-md); border-color: var(--line-strong); transform: translateY(-2px); }

.vcard__media {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #0b1a24;
  overflow: hidden;
  display: block;
}
.vcard__poster,
.vcard__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vcard__poster { z-index: 0; transition: transform .8s cubic-bezier(.22, .61, .36, 1); }
.vcard:hover .vcard__poster { transform: scale(1.03); }
.vcard__video {
  z-index: 1;
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}
.vcard.is-playing .vcard__video { opacity: 1; }
.vcard.is-playing .vcard__poster { transform: none; }
.vcard.is-playing .vcard__play { opacity: 0; }

.vcard__play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(9, 26, 37, .42);
  backdrop-filter: blur(8px);
  display: grid;
  place-items: center;
  transition: background var(--t), transform var(--t), opacity var(--t);
}
.vcard__play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 3px;
  border-left: 11px solid #fff;
  border-block: 7px solid transparent;
}
.vcard:hover .vcard__play { background: rgba(226, 113, 29, .92); border-color: transparent; transform: translate(-50%, -50%) scale(1.06); }

.vcard__dur {
  position: absolute;
  z-index: 3;
  right: 10px;
  bottom: 10px;
  padding: 2px 7px;
  font-size: .7rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
  color: #fff;
  background: rgba(6, 18, 26, .72);
  border-radius: 2px;
}
.vcard__badge {
  position: absolute;
  z-index: 3;
  left: 10px;
  top: 10px;
  padding: 3px 9px;
  font-size: .7rem;
  letter-spacing: .06em;
  color: #fff;
  background: var(--accent);
  border-radius: 2px;
}
.vcard__body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.vcard__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .74rem;
  color: var(--muted);
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}
.vcard__meta .tag {
  color: var(--brand);
  background: var(--brand-soft);
  padding: 1px 7px;
  border-radius: 2px;
  font-weight: 500;
}
.vcard__body h3 { font-size: 1rem; line-height: 1.45; margin-bottom: 8px; }
.vcard__body h3 a { color: var(--ink); }
.vcard__body h3 a:hover { color: var(--brand); }
.vcard__body p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vcard__foot {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .78rem;
  color: var(--muted);
}

/* 精选视频（新闻页顶部） */
.vfeature {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.vfeature__media {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #08161f;
  overflow: hidden;
}
.vfeature__media > a {
  position: absolute;
  inset: 0;
  display: block;
}
.vfeature__media video,
.vfeature__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vfeature__poster { z-index: 0; }
.vfeature__media video { z-index: 1; opacity: 0; transition: opacity .6s ease; }
.vfeature.is-playing .vfeature__media video { opacity: 1; }
.vfeature__body { padding: clamp(20px, 3vw, 38px) clamp(20px, 3vw, 38px) clamp(20px, 3vw, 38px) 0; }
.vfeature h2 { font-size: clamp(1.2rem, 2vw, 1.6rem); }
.vfeature p { color: var(--muted); }
@media (max-width: 860px) {
  .vfeature { grid-template-columns: 1fr; }
  .vfeature__body { padding: 0 20px 24px; }
  .vgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) { .vgrid { grid-template-columns: 1fr; } }

/* 分类筛选 */
.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.filter {
  padding: 7px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 40px;
  background: transparent;
  font-size: .84rem;
  color: var(--ink-soft);
  cursor: pointer;
  transition: all var(--t);
}
.filter:hover { border-color: var(--brand); color: var(--brand); }
.filter[aria-pressed="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

/* ---------- 10. 设备表格 ---------- */
.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--card);
}
table.spec {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  min-width: 620px;
}
table.spec caption {
  caption-side: top;
  text-align: left;
  padding: 16px 20px 0;
  font-weight: 650;
  color: var(--ink);
}
table.spec th,
table.spec td {
  padding: 12px 20px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
table.spec thead th {
  background: #f2f6f9;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  border-bottom: 1px solid var(--line-strong);
}
table.spec tbody tr:last-child th,
table.spec tbody tr:last-child td { border-bottom: 0; }
table.spec tbody th { font-weight: 600; color: var(--ink); width: 26%; }
table.spec tbody tr:hover { background: #fbfdfe; }
table.spec td.num { font-variant-numeric: tabular-nums; color: var(--ink-soft); }

/* ---------- 11. 流程时间线 ---------- */
.flow {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: step;
}
.flow li {
  position: relative;
  padding: 0 12px 0 0;
  margin: 0;
  font-size: .86rem;
}
.flow li::before {
  counter-increment: step;
  content: "0" counter(step);
  display: block;
  font-size: .74rem;
  font-weight: 700;
  color: var(--brand);
  letter-spacing: .1em;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--brand);
}
.flow li b { display: block; font-size: .95rem; margin-bottom: 4px; }
.flow li span { color: var(--muted); font-size: .8rem; line-height: 1.55; display: block; }
@media (max-width: 860px) {
  .flow { grid-template-columns: repeat(3, 1fr); gap: 22px 0; }
}
@media (max-width: 520px) { .flow { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 12. 内页头部 ---------- */
.page-head {
  background: var(--brand-deep);
  color: #e3eef5;
  padding-top: clamp(40px, 6vw, 72px);
  padding-bottom: clamp(36px, 5vw, 60px);
  position: relative;
  overflow: hidden;
}
.page-head::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  mask-image: linear-gradient(180deg, #000, transparent 85%);
}
.page-head .wrap { position: relative; z-index: 1; }
.page-head h1 { color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.6rem); margin-bottom: .4em; }
.page-head p { color: #b6cbd9; max-width: 66ch; margin: 0; }

.crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  font-size: .78rem;
  color: #9db9cc;
}
.crumb li { margin: 0; }
.crumb li + li::before { content: "/"; margin-right: 8px; color: #5d8098; }
.crumb a { color: #c5dae8; }
.crumb a:hover { color: #fff; }
.crumb [aria-current="page"] { color: #8fa9bb; }

/* ---------- 13. 文章正文 ---------- */
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 288px;
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
@media (max-width: 940px) { .article-layout { grid-template-columns: 1fr; } }

.article-head h1 { font-size: clamp(1.5rem, 2.8vw, 2.1rem); }
.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: .82rem;
  color: var(--muted);
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
}
.article-meta .tag {
  color: var(--brand);
  background: var(--brand-soft);
  padding: 2px 9px;
  border-radius: 2px;
}

.player {
  position: relative;
  background: #08161f;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin-bottom: 26px;
}
.player video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #08161f;
}
.player__note {
  font-size: .78rem;
  color: var(--muted);
  margin: -16px 0 26px;
}

.prose { font-size: 1.02rem; color: var(--ink-soft); }
.prose h2 {
  font-size: 1.32rem;
  margin: 2em 0 .7em;
  padding-left: 12px;
  border-left: 3px solid var(--brand);
  scroll-margin-top: calc(var(--header-h) + 16px);
}
.prose h3 { font-size: 1.1rem; margin: 1.7em 0 .5em; }
.prose p { margin: 0 0 1.15em; }
.prose ul, .prose ol { padding-left: 1.3em; margin-bottom: 1.15em; }
.prose li { margin-bottom: .45em; }
.prose li::marker { color: var(--brand); }
.prose strong { color: var(--ink); font-weight: 650; }
.prose a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose blockquote {
  margin: 1.6em 0;
  padding: 16px 20px;
  background: var(--brand-soft);
  border-left: 3px solid var(--brand);
  color: var(--ink-soft);
  border-radius: 0 var(--radius) var(--radius) 0;
}
.prose blockquote p:last-child { margin-bottom: 0; }
.prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .88em;
  background: #eef3f6;
  padding: 2px 5px;
  border-radius: 2px;
}
.prose pre {
  background: #0e1f2b;
  color: #d7e6ef;
  padding: 16px 18px;
  border-radius: var(--radius);
  overflow-x: auto;
  font-size: .84rem;
  line-height: 1.6;
}
.prose pre code { background: none; padding: 0; color: inherit; }
.prose img { border-radius: var(--radius); }
.prose table { width: 100%; border-collapse: collapse; font-size: .92rem; margin-bottom: 1.2em; }
.prose th, .prose td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; }
.prose th { background: #f2f6f9; font-weight: 600; }

.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.article-tags span {
  font-size: .78rem;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 3px 11px;
}

/* 侧栏 */
.aside { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 18px; }
.aside__box {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.aside__box h2 {
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.aside__list { list-style: none; padding: 0; margin: 0; }
.aside__list li {
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px dashed var(--line);
  font-size: .88rem;
  line-height: 1.5;
}
.aside__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.aside__list a { color: var(--ink-soft); display: block; }
.aside__list a:hover { color: var(--brand); }
.aside__list time { display: block; font-size: .72rem; color: var(--muted); margin-top: 3px; }
.aside__cta { background: var(--brand-deep); border-color: transparent; }
.aside__cta h2 { color: #93b3c7; border-color: rgba(255, 255, 255, .16); }
.aside__cta p { color: #b9cfdd; font-size: .88rem; }
.aside__cta strong { color: #fff; display: block; font-size: 1.15rem; margin-bottom: 4px; }

/* ---------- 14. 报价 CTA ---------- */
.cta-band {
  background: var(--brand-deep);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: clamp(28px, 4vw, 52px);
  display: grid;
  grid-template-columns: 1.35fr auto;
  gap: 28px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.cta-band::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 320px;
  height: 320px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(255, 255, 255, .03), 0 0 0 90px rgba(255, 255, 255, .02);
  pointer-events: none;
}
.cta-band h2 { color: #fff; font-size: clamp(1.3rem, 2.4vw, 1.9rem); margin-bottom: .35em; }
.cta-band p { color: #b3cadb; margin: 0; font-size: .95rem; }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1; }
@media (max-width: 760px) { .cta-band { grid-template-columns: 1fr; } }

/* ---------- 15. 表单 ---------- */
.form { display: grid; gap: 16px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 620px) { .form__row { grid-template-columns: 1fr; } }
.field { display: grid; gap: 6px; }
.field > label { font-size: .84rem; font-weight: 600; color: var(--ink-soft); }
.field > label .req { color: var(--accent); }
.field input,
.field textarea,
.field select {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: #fff;
  font: inherit;
  font-size: 1rem; /* 16px：低于此值 iOS / iPadOS 聚焦时会放大整页 */
  color: var(--ink);
  transition: border-color var(--t), box-shadow var(--t);
}
.field input:focus,
.field textarea:focus,
.field select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(11, 95, 138, .12);
}
.field textarea { min-height: 116px; resize: vertical; }
.field__hint { font-size: .76rem; color: var(--muted); }
.form__status {
  font-size: .88rem;
  padding: 11px 14px;
  border-radius: var(--radius);
  display: none;
}
.form__status.is-ok { display: block; background: #e9f6f0; color: #16624a; border: 1px solid #bfe3d5; }
.form__status.is-err { display: block; background: #fdf0e8; color: #9b4a12; border: 1px solid #f3d3bd; }

/* 联系信息块 */
.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.info {
  background: var(--card);
  padding: 22px 24px;
}
.info dt {
  font-size: .74rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
.info dd { margin: 0; font-weight: 600; font-size: 1rem; color: var(--ink); word-break: break-all; }
.info dd a { color: var(--ink); }
.info dd a:hover { color: var(--brand); }
.info small { display: block; font-weight: 400; font-size: .78rem; color: var(--muted); margin-top: 3px; }

/* ---------- 16. 页脚 ---------- */
.site-footer {
  background: #071722;
  color: #90a8b8;
  padding-top: clamp(44px, 6vw, 68px);
  font-size: .88rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: clamp(24px, 4vw, 48px);
  padding-bottom: 40px;
}
.footer-brand .logo__name { color: #fff; }
.footer-brand .logo__sub { color: #6d879a; }
.footer-brand p { margin: 16px 0 0; color: #8ba3b4; font-size: .86rem; line-height: 1.7; max-width: 34ch; }
.footer-col h3 {
  color: #fff;
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 9px; }
.footer-col a { color: #90a8b8; }
.footer-col a:hover { color: #fff; }
.footer-contact li { display: flex; gap: 8px; line-height: 1.55; margin-bottom: 10px; }
.footer-contact b { color: #cddde8; font-weight: 600; flex: none; }
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding: 18px 0 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: space-between;
  font-size: .78rem;
  color: #6d879a;
}
.footer-bottom a { color: #6d879a; }
.footer-bottom a:hover { color: #fff; }
@media (max-width: 860px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }

/* ---------- 17. 灯箱 ---------- */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: clamp(12px, 4vw, 48px);
  background: rgba(4, 14, 20, .92);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--t), visibility var(--t);
}
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox__inner { width: min(1080px, 100%); }
.lightbox video {
  width: 100%;
  max-height: 76vh;
  background: #000;
  border-radius: var(--radius);
}
.lightbox__title { color: #fff; font-size: .95rem; margin: 14px 0 0; font-weight: 500; }
.lightbox__close {
  position: absolute;
  top: clamp(10px, 2vw, 22px);
  right: clamp(10px, 2vw, 22px);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.lightbox__close:hover { background: rgba(255, 255, 255, .2); }

/* ---------- 18. 动效（尊重 reduced-motion） ----------
   仅在 JS 可用时才隐藏待入场元素，保证禁用脚本时内容依然可见 */
.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
  will-change: opacity, transform;
}
.js .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* ---------- 19. 通用分栏 / 清单 ---------- */
.split {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: clamp(24px, 4.5vw, 60px);
  align-items: center;
}
.split--reverse .split__media { order: -1; }
.split__media { position: relative; }
.split__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
}
.split__media--sticky { align-self: start; }
.split__caption {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 6px 12px;
  font-size: .74rem;
  letter-spacing: .06em;
  color: #fff;
  background: rgba(6, 20, 30, .62);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 30px;
  backdrop-filter: blur(6px);
}
@media (max-width: 860px) {
  .split { grid-template-columns: 1fr; }
  .split--reverse .split__media { order: 0; }
}

.checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  gap: 16px;
}
.checklist li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin: 0;
}
.checklist .ck {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  display: grid;
  place-items: center;
  font-size: .68rem;
  font-weight: 700;
  flex: none;
}
.checklist b {
  display: block;
  font-size: .96rem;
  color: var(--ink);
  font-weight: 650;
  margin-bottom: 2px;
}
.checklist span {
  display: block;
  color: var(--muted);
  font-size: .87rem;
  line-height: 1.62;
}
.section--ink .checklist b { color: #fff; }
.section--ink .checklist span { color: #a7bfd0; }
.section--ink .checklist .ck { background: rgba(255, 255, 255, .12); color: #8ecdf0; }

/* 高亮提示条 */
.note {
  display: flex;
  gap: 10px;
  padding: 14px 16px;
  background: var(--brand-soft);
  border-left: 3px solid var(--brand);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: .86rem;
  color: var(--ink-soft);
  margin: 0 0 22px;
}
.note b { color: var(--brand); }

/* 两步小卡片（如「3 步下单」） */
.mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px;
}
.mini {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 20px 22px;
}
.mini h3 { font-size: .98rem; margin-bottom: 6px; }
.mini p { margin: 0; font-size: .85rem; color: var(--muted); }
.mini__num {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-size: .74rem;
  font-weight: 700;
  margin-bottom: 12px;
}

/* 联系页双栏 */
.contact-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } }

.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(22px, 3vw, 34px);
}
.panel h2 { font-size: 1.15rem; margin-bottom: 6px; }
.panel > p { color: var(--muted); font-size: .88rem; margin-bottom: 20px; }

/* 带边框的深色信息卡 */
.dark-card {
  background: var(--brand-deep);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  padding: clamp(22px, 3vw, 30px);
  color: #d5e5ef;
}
.dark-card h2 { color: #fff; font-size: 1.05rem; margin-bottom: 14px; }
.dark-card p { color: #adc5d6; font-size: .88rem; }
.dark-card strong { color: #fff; }

/* ==========================================================================
   21. 自适应：手机 / 平板
   设计原则：
   1) 手机上一切都应是单列可读宽度，不做横向滚动
   2) 宽表格在窄屏改为「表头 + 值」堆叠卡片，而不是切掉一半
   3) 表单控件字号 ≥16px，避免 iOS 聚焦页面自动放大
   4) 触控目标 ≥40px，去掉只在鼠标下成立的 hover 位移
   ========================================================================== */

/* ---------- 21.1 正文内表格基础样式 ---------- */
.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.6em 0;
  font-size: .92rem;
  line-height: 1.62;
  background: var(--card);
}
.prose th,
.prose td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--line);
}
.prose thead th {
  background: #f2f6f9;
  font-size: .84rem;
  font-weight: 600;
  color: var(--ink);
}
.prose tbody tr:nth-child(even) { background: #fbfdfe; }
.prose .table-wrap { margin: 1.6em 0; }
.prose .table-wrap table { margin: 0; border: 0; }
.prose { overflow-wrap: break-word; }
.prose a { word-break: break-all; }

/* ---------- 21.2 触屏设备：取消依赖 hover 的位移/放大 ---------- */
@media (hover: none) {
  .pcard:hover .pcard__media img,
  .app:hover img,
  .vcard:hover .vcard__poster { transform: none; }
  .vcard:hover { transform: none; }
  .cap:hover,
  table.spec tbody tr:hover { background: var(--card); }
  .btn:hover .btn__arrow,
  .link-arrow:hover::after { transform: none; }
  .vcard:hover .vcard__play { transform: translate(-50%, -50%); }
}

/* ---------- 21.3 刘海屏 / 手势条安全区 ---------- */
.wrap {
  padding-left: max(var(--gutter), env(safe-area-inset-left));
  padding-right: max(var(--gutter), env(safe-area-inset-right));
}
.footer-bottom { padding-bottom: max(20px, env(safe-area-inset-bottom)); }

/* ---------- 21.4 平板（≤900px） ---------- */
@media (max-width: 900px) {
  .nav-toggle { margin-left: auto; }
  /* 展开的移动菜单限制高度，菜单过长时可滚动而不是被裁掉 */
  .nav {
    max-height: calc(100vh - var(--header-h));
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .nav__link { display: flex; align-items: center; min-height: 48px; }
  .nav__item--cta .btn { min-height: 46px; }
}

/* 平板下顶栏保留报价按钮（手机才收起），放在汉堡左侧 */
@media (max-width: 900px) and (min-width: 641px) {
  .header__cta { display: inline-flex; margin-right: 10px; }
}

/* 没有导航菜单的页面（如 404），右上按钮必须保留 */
@media (max-width: 900px) {
  .header__cta--always { display: inline-flex; }
}

/* ---------- 21.5 手机（≤760px） ---------- */
@media (max-width: 760px) {
  /* 首屏：高度随内容自适应，避免小屏把内容裁掉 */
  .hero {
    height: auto;
    min-height: min(88svh, 700px);
    max-height: none;
  }
  .hero__poster { object-position: 52% 46%; }
  .hero__inner { padding-top: calc(var(--header-h) + 26px); padding-bottom: 36px; }
  .hero h1 { margin-bottom: .45em; }
  .hero h1 em { max-width: none; }
  .hero__actions { gap: 10px; margin-top: 20px; }
  .hero__specs { margin-top: 26px; padding-top: 16px; gap: 14px 8px; }
  .hero__eyebrow { font-size: .7rem; letter-spacing: .1em; padding: 6px 12px; }
  .hero__eyebrow-text { display: block; }
  .hero__eyebrow-sub { white-space: nowrap; }

  /* 暂停按钮移到右上，避免和最底部规格条撞在一起 */
  .hero__video-ctrl {
    top: 14px;
    right: var(--gutter);
    bottom: auto;
    left: auto;
    transform: none;
    padding: 8px 12px;
  }

  /* 文字可读性下限 */
  .logo__sub { font-size: .68rem; letter-spacing: .12em; }
  .stat__num small { font-size: .5em; }
  .hero__spec dd span { font-size: .62em; }
  .hero__spec dt { font-size: .76rem; }
  .vcard__dur,
  .vcard__badge,
  .tag { font-size: .74rem; }
  .field__hint { font-size: .8rem; }
  .sec-head__label { font-size: .78rem; }

  /* 表单：16px 是 iOS 不自动放大的临界值 */
  .field input,
  .field textarea,
  .field select { font-size: 16px; padding: 12px 13px; }
  .field > label { font-size: .9rem; }

  /* 触控目标 */
  .footer-col a,
  .footer-bottom a { display: inline-flex; align-items: center; min-height: 38px; }
  .aside__list a { display: flex; align-items: center; min-height: 44px; }
  .info dd a { display: inline-flex; align-items: center; min-height: 36px; }
  .link-arrow { min-height: 40px; }
  .dark-card a[href^="tel:"],
  .dark-card a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: 40px; }
  .crumbs a { display: inline-flex; align-items: center; min-height: 34px; }
  .filter { min-height: 40px; }
  .btn { min-height: 46px; }
  .lightbox__close { width: 44px; height: 44px; }

  /* 版式节奏 */
  .section { padding-block: clamp(44px, 9vw, 64px); }
  .sec-head { margin-bottom: 26px; }
  .split { gap: 22px; }
  .split__caption { left: 10px; bottom: 10px; font-size: .74rem; }
  .panel { padding: 20px; }
  .article-layout { gap: 28px; }
  .prose { font-size: 1rem; }
  .prose h2 { font-size: 1.2rem; margin-top: 1.8em; }
  .prose h3 { font-size: 1.06rem; }

  /* 页脚：单列时给每组之间留出呼吸 */
  .footer-grid { gap: 22px; padding-bottom: 28px; }
}

/* 触屏设备（手机 + iPad 横竖屏）：表单字号固定 16px，
   低于 16px 时 iOS 会在聚焦瞬间放大整个页面 */
@media (pointer: coarse) {
  .field input,
  .field textarea,
  .field select { font-size: 16px; }
  .hero__video-ctrl,
  .filter { min-height: 40px; }
}

/* ---------- 21.6 窄屏表格：改为「标题 + 表头:值」卡片 ---------- */
@media (max-width: 700px) {
  .table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
    border-radius: 0;
  }
  :is(table.spec, .prose table) {
    display: block;
    min-width: 0;
    width: 100%;
    font-size: .92rem;
    margin: 0;
    background: transparent;
  }
  :is(table.spec, .prose table) caption {
    display: block;
    padding: 0 0 12px;
    font-size: 1rem;
    font-weight: 650;
    color: var(--ink);
    text-align: left;
  }
  /* 表头视觉隐藏，但保留给屏幕阅读器 */
  :is(table.spec, .prose table) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  :is(table.spec, .prose table) tbody { display: block; }
  :is(table.spec, .prose table) tbody tr {
    display: block;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    margin-bottom: 10px;
  }
  :is(table.spec, .prose table) tbody tr:last-child { margin-bottom: 0; }
  :is(table.spec, .prose table) tbody th,
  :is(table.spec, .prose table) tbody td {
    display: block;
    width: auto;
    border: 0;
    padding: 0;
    text-align: left;
  }
  /* 行标题：整条卡片的主标题 */
  :is(table.spec, .prose table) tbody th {
    font-size: 1rem;
    font-weight: 650;
    color: var(--ink);
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 1px dashed var(--line);
  }
  :is(table.spec, .prose table) tbody td {
    display: grid;
    grid-template-columns: 5.4em minmax(0, 1fr);
    gap: 10px;
    padding: 5px 0;
    font-size: .9rem;
    color: var(--ink-soft);
    line-height: 1.62;
  }
  :is(table.spec, .prose table) tbody td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .84rem;
    line-height: 1.62;
    white-space: nowrap;
  }
  /* 没有 data-label 时不要留一个空列 */
  :is(table.spec, .prose table) tbody td:not([data-label]) { grid-template-columns: 1fr; }
  :is(table.spec, .prose table) tbody td:not([data-label])::before { content: none; }

  /* 正文表格没有行标题，用第一列当卡片标题 */
  .prose table tbody td:first-child {
    grid-template-columns: 1fr;
    font-size: .98rem;
    font-weight: 650;
    color: var(--ink);
    padding-bottom: 9px;
    margin-bottom: 6px;
    border-bottom: 1px dashed var(--line);
  }
  .prose table tbody td:first-child::before { content: none; }
}

/* ---------- 21.7 小屏（≤480px） ---------- */
@media (max-width: 480px) {
  .hero h1 { font-size: clamp(1.72rem, 8.2vw, 2.1rem); }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .hero__video-ctrl { padding: 8px; }
  .hero__video-ctrl-label { display: none; }
  .hero__spec dd { font-size: 1.16rem; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat { padding: 18px 16px; }
  .cta-band { padding: 24px 20px; }
  .cta-band .btn { width: 100%; justify-content: center; }
  .article-meta { font-size: .82rem; }
  .crumbs { font-size: .8rem; }
}

/* 极窄屏（≤420px）：顶部标签改两行，避免"加工"被拆行 */
@media (max-width: 420px) {
  .hero__eyebrow { align-items: flex-start; max-width: 100%; }
  .hero__eyebrow-sub { display: block; white-space: normal; }
  .hero__dot { margin-top: 6px; }
  /* 320px 级别：压缩顶栏，避免 logo + 按钮撑出屏幕 */
  .site-header__bar { gap: 12px; }
  .logo__name { font-size: .96rem; }
  .header__cta--always { padding: 9px 14px; font-size: .8rem; }
}

/* 超窄屏（≤360px）：英文副标太占宽度，让位给按钮 */
@media (max-width: 360px) {
  .logo__sub { display: none; }
  .logo__mark { width: 30px; height: 30px; }
}

/* ---------- 21.8 横屏矮视口 ---------- */
@media (max-height: 520px) and (orientation: landscape) {
  .hero { min-height: 0; }
  .hero__inner { padding-top: 24px; padding-bottom: 24px; }
  .hero__specs { margin-top: 18px; padding-top: 14px; }
  .hero__eyebrow { display: none; }
}

/* ---------- 22. 打印 ---------- */
@media print {
  .site-header, .site-footer, .hero__video, .hero__video-ctrl, .cta-band, .aside { display: none; }
  body { background: #fff; color: #000; }
  .hero { height: auto; min-height: 0; }
  .hero__scrim { background: none; }
  .hero__inner, .hero h1, .hero h1 em { color: #000 !important; }
}


/* ---------- 23. 工艺问答 / GEO 内容模块 (v3) ---------- */
.page-head__lead { font-size: 1.02rem; max-width: 76ch; }
.section-head { margin-bottom: 22px; }
.section-head h2 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); margin: 0 0 6px; }
.section-head p { color: var(--muted); margin: 0; }

.qa-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.qa-principles__item { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); padding: 14px 16px; }
.qa-principles__item b { display: block; color: #fff; margin-bottom: 4px; }
.qa-principles__item span { font-size: .86rem; color: #b6cbd9; line-height: 1.6; }

.qa-group { margin-bottom: 34px; }
.qa-group__title { font-size: 1.12rem; margin: 0 0 14px; padding-bottom: 9px; border-bottom: 1px solid var(--line-strong); }
.qa-group__title span { font-size: .8rem; color: var(--muted); font-weight: 400; margin-left: 6px; }
.qa-grid, .qa-teaser-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.qa-card, .qa-teaser { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px 20px; transition: border-color .2s, box-shadow .2s; }
.qa-card:hover, .qa-teaser:hover { border-color: var(--brand); box-shadow: 0 6px 22px rgba(11,95,138,.09); }
.qa-card__link { text-decoration: none; color: inherit; }
.qa-card h4 { font-size: 1.02rem; line-height: 1.55; margin: 0 0 10px; color: var(--ink); }
.qa-card__link:hover h4 { color: var(--brand); }
.qa-card p { margin: 0 0 14px; font-size: .9rem; line-height: 1.7; color: var(--ink-soft); }
.qa-card__meta { display: flex; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); font-size: .78rem; color: var(--muted); }

.qa-eyebrow { display: inline-block; margin-bottom: 10px; font-size: .78rem; font-weight: 600; letter-spacing: .05em; color: var(--accent); }
.qa-key { margin: 22px 0 26px; padding: 18px 22px; background: var(--brand-soft); border-left: 4px solid var(--brand); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; }
.qa-key h2 { font-size: 1rem; margin: 0 0 8px; color: var(--brand-deep); }
.qa-key p { margin: 0; line-height: 1.85; color: var(--ink); }
.qa-source { margin-top: 32px; padding: 16px 20px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-lg); font-size: .88rem; color: var(--ink-soft); }
.qa-source h2 { font-size: .98rem; margin: 0 0 8px; }
.qa-source ul { margin: 0; padding-left: 18px; }
.qa-source li { margin: 5px 0; }

.qa-teaser__cat { font-size: .75rem; font-weight: 600; color: var(--accent); }
.qa-teaser h3 { font-size: 1.02rem; line-height: 1.55; margin: 8px 0; }
.qa-teaser h3 a { color: var(--ink); text-decoration: none; }
.qa-teaser h3 a:hover { color: var(--brand); }
.qa-teaser p { margin: 0 0 10px; font-size: .87rem; line-height: 1.7; color: var(--muted); }

@media (max-width: 760px) {
  .qa-principles, .qa-grid, .qa-teaser-grid { grid-template-columns: 1fr; }
  .qa-card__meta { flex-direction: column; gap: 4px; }
}




/* QUOTE:BEGIN —— 在线报价预设层 */
.quote-status{display:flex;gap:14px;align-items:flex-start;background:var(--brand-soft);border:1px solid var(--line);border-left:3px solid var(--accent);padding:16px 18px;border-radius:var(--radius-lg);margin-bottom:24px}
.quote-status p{margin:0;color:var(--ink-soft);line-height:1.75}
.quote-status__tag{flex:0 0 auto;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em}
.quote-placeholder{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--card);padding:40px clamp(20px,4vw,48px);text-align:center}
.quote-placeholder__icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:1.6rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.quote-placeholder h2{font-size:var(--fs-h2);margin-bottom:8px}
.quote-placeholder>p{color:var(--muted);margin:0 0 22px}
.quote-steps{list-style:none;counter-reset:qs;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0;margin:0 0 28px;text-align:left}
.quote-steps li{counter-increment:qs;position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 16px 16px 46px}
.quote-steps li::before{content:counter(qs);position:absolute;left:14px;top:17px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.quote-steps b{display:block;margin-bottom:4px}
.quote-steps span{display:block;color:var(--muted);font-size:.9rem;line-height:1.6}
.quote-now{border-top:1px solid var(--line);padding-top:22px}
.quote-now h3{font-size:var(--fs-h3);margin-bottom:6px}
.quote-now p{color:var(--muted);margin:0 0 16px}
.quote-now__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.quote-notice{margin-top:16px;padding:12px 16px;border-radius:var(--radius);background:#fffaeb;color:#8a5200;border:1px solid #f2d9a8}
.quote-notice--warn{background:#fffaeb;color:#8a5200}
.quote-notice--ok{background:#eafaf1;color:#12603f}
.quote-frame{display:block;width:100%;min-height:640px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.quote-result{margin-top:22px;border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:var(--radius-lg);background:var(--card);padding:22px}
.quote-result__head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between}
.quote-result__head h3{margin:0;font-size:var(--fs-h3)}
.quote-result__id{font-family:ui-monospace,Consolas,monospace;font-size:.88rem;color:var(--muted)}
.quote-result__price{font-size:2rem;font-weight:800;color:var(--accent);margin:10px 0 2px}
.quote-result__hint,.quote-result__summary{color:var(--muted);margin:6px 0}
.quote-result__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.quote-teaser{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,4vw,48px);align-items:center}
.quote-teaser__body p{color:var(--muted);line-height:1.8}
.quote-teaser__body ul{margin:12px 0 20px;padding-left:20px;color:var(--ink-soft);line-height:1.9}
.quote-teaser__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:0 8px 30px rgba(13,27,38,.06)}
.quote-teaser__card b{display:block;font-size:1.05rem;margin-bottom:8px}
.quote-teaser__card p{color:var(--muted);font-size:.92rem;margin:0 0 18px}
.quote-teaser__card .btn{width:100%;justify-content:center}
.quote-fineprint{margin:20px 0 0;padding:14px 16px;background:var(--brand-soft);border-left:3px solid var(--brand);border-radius:0 var(--radius) var(--radius) 0;font-size:.88rem;color:var(--ink-soft);line-height:1.8}
.quote-fineprint b{color:var(--brand)}
@media(max-width:900px){
  .quote-steps{grid-template-columns:1fr}
  .quote-teaser{grid-template-columns:1fr}
  .quote-placeholder{padding:28px 18px}
}
/* QUOTE:END */

/* PRODUCTS:BEGIN */
.px-head{margin-bottom:28px}
.px-eyebrow{display:inline-block;font-size:.82rem;letter-spacing:.08em;color:var(--brand);margin-bottom:10px}
.px-head h1{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.3;margin:0 0 12px}
.px-lead{font-size:1.04rem;color:var(--muted);line-height:1.8;max-width:780px;margin:0}
.px-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}
.px-body h2{font-size:1.24rem;margin:34px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.px-body h2:first-child{margin-top:0}
.px-body p,.px-body li{line-height:1.85;color:var(--ink-soft)}
.px-body ul,.px-body ol{padding-left:22px;margin:0}
.px-body li{margin:7px 0}
.px-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px}
.px-cat{display:block;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);text-decoration:none;color:inherit;transition:border-color .2s}
.px-cat:hover{border-color:var(--brand)}
.px-cat h3{margin:0 0 9px;font-size:1.06rem}
.px-cat h3 a{color:inherit;text-decoration:none}
.px-cat h3 a:hover{color:var(--brand)}
.px-cat p{margin:0 0 12px;font-size:.9rem;color:var(--muted);line-height:1.7}
.px-tags{display:flex;flex-wrap:wrap;gap:7px}
.px-tag{font-size:.81rem;padding:4px 10px;border-radius:999px;background:var(--bg);color:var(--ink-soft);text-decoration:none;border:1px solid var(--line)}
a.px-tag:hover{border-color:var(--brand);color:var(--brand)}
.px-more{font-size:.86rem;color:var(--brand)}
.px-side{position:sticky;top:88px;display:grid;gap:16px}
.px-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card)}
.px-card h3{margin:0 0 10px;font-size:1rem}
.px-card ul{list-style:none;padding:0;margin:0}
.px-card li{margin:9px 0;font-size:.91rem;line-height:1.6}
.px-card a:not(.btn){color:var(--brand)}
.px-card .btn{color:#fff}
.px-card .btn:hover{color:#fff}
.px-note{margin-top:36px;padding:16px 18px;border-left:3px solid var(--brand);background:var(--bg);font-size:.9rem;line-height:1.8;color:var(--muted)}
.px-note a{color:var(--brand)}
.px-faq__item{padding:14px 0;border-bottom:1px solid var(--line)}
.px-faq__item h3{font-size:1rem;margin:0 0 7px}
.px-faq__item p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.8}
.px-route{list-style:none;padding:0;display:grid;gap:8px;counter-reset:pxstep}
.px-route li{padding:10px 14px;background:var(--bg);border-radius:var(--radius);font-size:.93rem;color:var(--ink-soft);border:1px solid var(--line)}
.px-empty{padding:20px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);line-height:1.9;font-size:.94rem}
.px-empty a{color:var(--brand)}
@media(max-width:900px){
  .px-layout{grid-template-columns:1fr}
  .px-side{position:static}
  .px-grid{grid-template-columns:1fr}
}
/* PRODUCTS:END */

/* ==========================================================================
   旧官网真实资料展示（2026-11-13 导入）
   零件实拍 + 「技术参数」灰表：还原旧站详情页的蓝标题 / 灰参数表视觉
   ========================================================================== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.px-cat__thumb{display:block;width:100%;height:148px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px;margin:0 0 14px}
.legacy-spec{margin:0 0 34px;padding:22px 24px 26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card)}
.legacy-spec__title{margin:0 0 14px;text-align:center;color:var(--brand);font-size:1.4rem;letter-spacing:.16em;line-height:1.3}
.legacy-spec__title span{display:block;margin-top:5px;font-size:.7rem;font-weight:500;letter-spacing:.24em;color:var(--muted)}
.legacy-spec__note{margin:0 0 20px;padding:11px 14px;border-left:3px solid var(--accent);background:var(--bg);font-size:.86rem;line-height:1.8;color:var(--muted)}
.legacy-spec__note b{color:var(--ink-soft)}
.legacy-spec__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.legacy-spec__photo{margin:0;text-align:center}
.legacy-spec__photo img{display:block;width:100%;max-height:290px;object-fit:contain;background:#fff}
.legacy-spec__photo figcaption{margin-top:8px;font-size:.8rem;color:var(--muted)}
.spec-table{width:100%;border-collapse:separate;border-spacing:0;background:#e9e9e9;border-radius:var(--radius);overflow:hidden;font-size:.9rem}
.spec-table th,.spec-table td{padding:9px 13px;border-bottom:1px dotted #9aa3ad;text-align:left;line-height:1.65;vertical-align:top}
.spec-table th{width:35%;font-weight:600;color:#3c4650;white-space:nowrap}
.spec-table td{color:#1f2a33;word-break:break-word}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
@media(max-width:760px){
  .legacy-spec{padding:18px 16px 22px}
  .legacy-spec__grid{grid-template-columns:1fr;gap:16px}
  .legacy-spec__photo img{max-height:220px}
  .spec-table th{width:38%}
}
/* LEGACY-PRODUCTS:END */

/* LEGACY-COMPANY:BEGIN —— 公司实拍图集与工商登记信息 */
.legacy-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 36px}
.legacy-gallery--2{grid-template-columns:repeat(2,1fr);margin-bottom:18px}
.legacy-gallery figure{margin:0;background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(20,40,60,.04)}
.legacy-gallery img{display:block;width:100%;height:196px;object-fit:cover;background:#f4f7f9}
.legacy-gallery--2 img{height:270px}
.legacy-gallery figcaption{padding:9px 13px;font-size:.86rem;color:var(--ink-soft);border-top:1px solid var(--line)}
.legal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,3vw,36px);align-items:start}
.legal-grid h3{font-size:1.22rem;margin:0 0 14px}
.legal-grid .table-wrap{margin:0 0 14px}
.legal-grid .spec{font-size:.92rem}
.legal-grid .spec td{word-break:break-word}
.legal-note{font-size:.88rem;line-height:1.8;color:var(--ink-soft);margin:0}
.legal-note a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.legal-lic{margin:0}
.legal-lic a{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.legal-lic img{display:block;width:100%;height:auto}
.legal-lic figcaption{margin-top:8px;font-size:.85rem;color:var(--ink-soft);text-align:center}
@media(max-width:900px){
  .legal-grid{grid-template-columns:1fr}
  .legacy-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .legacy-gallery,.legacy-gallery--2{grid-template-columns:1fr}
  .legacy-gallery img,.legacy-gallery--2 img{height:210px}
}
/* LEGACY-COMPANY:END */

/* 旧站详情页原版横幅：默认隐藏，仅在经典工业风主题下显示 */
.classic-banner{display:none}
