:root {
  --navy: #101433;
  --navy-deep: #070a1c;
  --blue: #4a5cf5;
  --blue-light: #6d7cff;
  --gold: #4dd8e8;
  --ink: #141828;
  --muted: #4c5468;
  --line: #e3e6f0;
  --soft: #f4f5fa;
  --white: #ffffff;
  --container: 1200px;
  --nav-h: 80px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }

body {
  font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.75;
  font-size: 16px;
  overflow-x: clip;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

/* ---------- header ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: var(--nav-h);
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 var(--line);
  transition: box-shadow .35s ease, height .35s ease;
}
.site-header.is-solid {
  height: 68px;
  box-shadow: 0 2px 18px rgba(16,20,51,.09);
}
.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.logo { display: flex; align-items: center; gap: 12px; }
.logo-mark {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 6px 12px;
  border: 2px solid var(--navy);
  line-height: 1;
  transition: color .3s, border-color .3s;
}
.logo-text {
  color: var(--navy);
  font-size: 17px;
  letter-spacing: 3px;
  transition: color .3s;
}
.logo:hover .logo-mark { color: var(--blue); border-color: var(--blue); }
.logo:hover .logo-text { color: var(--blue); }

.nav { display: flex; gap: 36px; }
.nav a {
  color: var(--ink);
  font-size: 15px;
  letter-spacing: 1px;
  position: relative;
  padding: 6px 0;
  transition: color .3s;
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 2px;
  background: var(--blue);
  transition: width .3s;
}
.nav a:hover { color: var(--blue); }
.nav a:hover::after { width: 100%; }

.header-cta {
  color: var(--white);
  background: var(--navy);
  border: 1px solid var(--navy);
  padding: 9px 22px;
  font-size: 14px;
  letter-spacing: 1px;
  transition: all .3s;
  white-space: nowrap;
}
.header-cta:hover { background: var(--blue); border-color: var(--blue); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.nav-toggle span {
  display: block; width: 24px; height: 2px;
  background: var(--white); transition: all .3s;
}
.site-header.is-solid .nav-toggle span { background: var(--navy); }

/* ---------- hero ---------- */
.hero {
  position: relative;
  height: 100dvh;
  min-height: 620px;
  overflow: hidden;
  background: var(--navy);
}
.hero-slides { position: absolute; inset: 0; }
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 1.2s ease, transform 7s ease;
}
.hero-slide.is-active { opacity: 1; transform: scale(1); }
.hero-mask {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 72% 42%, rgba(74,92,245,.22), transparent 58%),
    linear-gradient(100deg, rgba(7,10,28,.94) 0%, rgba(16,20,51,.82) 44%, rgba(20,24,60,.52) 100%);
}
.hero-slide { filter: saturate(.82) brightness(.9); }
.hero-inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.hero-copy {
  position: absolute;
  max-width: 760px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease .2s, transform .8s ease .2s;
  pointer-events: none;
}
.hero-copy.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.hero-brand {
  font-size: clamp(54px, 7.4vw, 104px);
  font-weight: 900;
  letter-spacing: 10px;
  color: var(--white);
  line-height: 1;
  margin-bottom: 22px;
  text-shadow: 0 0 40px rgba(109,124,255,.45);
}
.hero-eyebrow {
  color: var(--gold);
  font-size: 13px;
  letter-spacing: 4px;
  margin-bottom: 22px;
}
.hero-copy h1 {
  color: var(--white);
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: 2px;
}
.hero-sub {
  color: rgba(255,255,255,.82);
  font-size: clamp(15px, 1.3vw, 18px);
  letter-spacing: 1px;
  margin-top: 26px;
  padding-left: 18px;
  border-left: 2px solid var(--gold);
}
.hero-foot {
  position: absolute;
  left: 0; right: 0;
  bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero-dots { display: flex; gap: 10px; }
.hero-dots button {
  width: 34px; height: 2px;
  background: rgba(255,255,255,.35);
  transition: background .3s, width .3s;
}
.hero-dots button.is-active { background: var(--white); width: 52px; }
.hero-scroll {
  color: rgba(255,255,255,.7);
  font-size: 13px;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-scroll span {
  display: block; width: 1px; height: 34px;
  background: linear-gradient(to bottom, rgba(255,255,255,.7), transparent);
  animation: scrollHint 2s infinite;
}
@keyframes scrollHint {
  0%, 100% { opacity: .3; transform: translateY(-4px); }
  50% { opacity: 1; transform: translateY(4px); }
}

/* ---------- stats ---------- */
.stats {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(109,124,255,.28), transparent 55%),
    linear-gradient(135deg, #070a1c 0%, #101433 58%, #2a3170 100%);
}
.stats::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 90px);
  pointer-events: none;
}
.stats::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -200px;
  width: 620px;
  height: 620px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(109,124,255,.26), transparent 65%);
  filter: blur(40px);
  pointer-events: none;
  animation: statGlow 18s ease-in-out infinite alternate;
}
@keyframes statGlow {
  from { transform: translateX(-50%) translate3d(-60px, 0, 0) scale(1); opacity: .65; }
  to { transform: translateX(-50%) translate3d(60px, -24px, 0) scale(1.22); opacity: 1; }
}
.stats-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 0 32px;
}
.stat {
  padding: 62px 0 56px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.09);
  transition: background .45s ease;
}
.stat:last-child { border-right: none; }
.stat:hover { background: rgba(109,124,255,.09); }
.stat strong {
  display: block;
  font-size: 52px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.05;
  letter-spacing: 0;
  text-shadow: 0 0 26px rgba(109,124,255,.35);
  transition: text-shadow .45s ease;
}
.stat:hover strong { text-shadow: 0 0 38px rgba(140,150,255,.72); }
.stat .num {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}
.stat .unit {
  font-size: 18px;
  font-weight: 500;
  margin-left: 4px;
  color: rgba(255,255,255,.58);
  letter-spacing: 0;
}
.stat > span {
  display: block;
  margin-top: 16px;
  font-size: 13px;
  color: rgba(255,255,255,.5);
  letter-spacing: 3px;
}
.stat > span::before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: var(--gold);
  margin: 0 auto 14px;
}

/* ---------- shared ---------- */
.section-eyebrow {
  font-size: 12px;
  letter-spacing: 4px;
  color: var(--blue);
  margin-bottom: 14px;
  font-weight: 600;
}
.section-eyebrow.is-light { color: var(--gold); }
.section-title {
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 2px;
  line-height: 1.3;
}
.section-title.is-light { color: var(--white); }
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 56px;
}
.section-desc {
  max-width: 400px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
  text-align: right;
}
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1px;
}
.link-arrow span {
  display: block; width: 22px; height: 1px;
  background: currentColor;
  position: relative;
  transition: width .3s;
}
.link-arrow span::after {
  content: "";
  position: absolute; right: 0; top: -3px;
  width: 7px; height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.link-arrow:hover span { width: 34px; }
.link-arrow.is-light { color: rgba(255,255,255,.85); }

/* ---------- about ---------- */
.about { padding: 130px 0; background: var(--white); }
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.about-media { position: relative; }
.about-media img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  filter: saturate(.9);
}
.about-badge {
  position: absolute;
  right: -28px;
  bottom: 44px;
  background: var(--navy);
  color: var(--white);
  padding: 22px 30px;
  border-left: 3px solid var(--gold);
}
.about-badge strong { display: block; font-size: 16px; letter-spacing: 1px; }
.about-badge span {
  display: block;
  font-size: 11px;
  letter-spacing: 1px;
  color: rgba(255,255,255,.55);
  margin-top: 4px;
}
.about-copy p {
  color: var(--muted);
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}
.about-copy .link-arrow { margin-top: 36px; }

/* ---------- products ---------- */
.products {
  padding: 84px 0 88px;
  background: var(--soft);
  position: relative;
  overflow: hidden;
}
.products::before {
  content: "";
  position: absolute;
  top: -160px; right: -160px;
  width: 520px; height: 520px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 50%;
}
.products .section-desc { color: var(--muted); }
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
}
.product-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.1);
  transition: border-color .4s, transform .4s, background .4s;
}
.product-card:hover {
  border-color: rgba(77,216,232,.55);
  background: rgba(255,255,255,.05);
  transform: translateY(-6px);
}
.product-visual {
  height: 260px;
  position: relative;
  overflow: hidden;
}
.visual-optical {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.07) 0 1px, transparent 1px 26px),
    linear-gradient(135deg, #141a3d 0%, #2c3470 55%, #4a5cf5 100%);
}
.visual-semi {
  background:
    radial-gradient(circle at 72% 38%, rgba(77,216,232,.45) 0%, transparent 42%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 30px),
    linear-gradient(135deg, #0d1130 0%, #232a5e 60%, #3b46a8 100%);
}
.product-no {
  position: absolute;
  right: 26px;
  bottom: 10px;
  font-size: 86px;
  font-weight: 800;
  color: rgba(255,255,255,.09);
  line-height: 1;
  letter-spacing: -2px;
}
.product-body { padding: 34px 28px 38px; }
.product-body h3 {
  color: var(--white);
  font-size: 21px;
  letter-spacing: 1px;
  font-weight: 600;
}
.product-en {
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 3px;
  margin: 8px 0 18px;
}
.product-body > p {
  color: rgba(255,255,255,.66);
  font-size: 15px;
  line-height: 1.95;
}
.product-body .link-arrow { margin-top: 28px; }

/* ---------- apps ---------- */
.apps { padding: 130px 0; background: var(--soft); }
.app-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.app-item {
  background: var(--white);
  padding: 52px 32px 46px;
  transition: background .35s, transform .35s;
}
.app-item:hover { background: var(--navy); }
.app-item:hover h3, .app-item:hover p { color: var(--white); }
.app-item:hover .app-icon svg { stroke: var(--gold); }
.app-icon { margin-bottom: 26px; }
.app-icon svg {
  width: 44px; height: 44px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .35s;
}
.app-item h3 {
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 1px;
  transition: color .35s;
}
.app-item p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.9;
  margin-top: 12px;
  transition: color .35s;
}
.app-item:hover p { color: rgba(255,255,255,.7); }

/* ---------- craft ---------- */
.craft { padding: 130px 0; background: var(--white); }
.craft-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.craft-item {
  border-top: 2px solid var(--navy);
  padding-top: 26px;
}
.craft-no {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
}
.craft-item h3 {
  font-size: 21px;
  color: var(--navy);
  margin: 12px 0 14px;
  letter-spacing: 1px;
}
.craft-item p {
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.95;
}

/* ---------- news ---------- */
.news { padding: 0 0 130px; background: var(--white); }
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.news-card { cursor: pointer; }
.news-thumb {
  height: 210px;
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
}
.news-thumb span {
  position: absolute;
  left: 0; bottom: 0;
  background: rgba(16,20,51,.92);
  color: var(--white);
  font-size: 13px;
  letter-spacing: 1px;
  padding: 7px 16px;
}
.thumb-1 {
  background:
    linear-gradient(115deg, rgba(16,20,51,.55), rgba(16,20,51,.15)),
    repeating-linear-gradient(45deg, #2c3470 0 2px, #1d2450 2px 18px);
}
.thumb-2 {
  background:
    linear-gradient(135deg, rgba(16,20,51,.5), rgba(109,124,255,.35)),
    repeating-linear-gradient(90deg, #161c45 0 1px, #232a5e 1px 24px);
}
.thumb-3 {
  background:
    linear-gradient(160deg, rgba(77,216,232,.35), rgba(16,20,51,.85)),
    repeating-linear-gradient(-20deg, #101433 0 2px, #1c2352 2px 20px);
}
.news-card h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.6;
  letter-spacing: .5px;
  transition: color .3s;
}
.news-card:hover h3 { color: var(--blue); }
.news-card p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 10px;
  line-height: 1.85;
}

/* ---------- contact ---------- */
.contact {
  padding: 120px 0;
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 60%, #2a3170 100%);
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: start;
}
.contact-lead {
  color: rgba(255,255,255,.7);
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.9;
}
.contact-list { margin-top: 44px; display: grid; gap: 24px; }
.contact-list div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.contact-list dt {
  color: rgba(255,255,255,.45);
  font-size: 13px;
  letter-spacing: 2px;
}
.contact-list dd { color: var(--white); font-size: 15.5px; }

/* 浅色区块里的地址列表 */
.page-section .contact-list dt { color: var(--muted); }
.page-section .contact-list dd { color: var(--navy); }
.page-section .contact-list div { border-bottom-color: var(--line); }

.contact-form {
  background: var(--white);
  padding: 48px 44px;
}
.contact-form h3 {
  font-size: 22px;
  color: var(--navy);
  margin-bottom: 30px;
  letter-spacing: 1px;
}
.field { margin-bottom: 20px; }
.field label {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 8px;
  letter-spacing: 1px;
}
.field input, .field textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--soft);
  padding: 12px 14px;
  font-family: inherit;
  font-size: 15px;
  color: var(--ink);
  transition: border-color .3s, background .3s;
  resize: vertical;
}
.field input:focus, .field textarea:focus {
  outline: none;
  border-color: var(--blue);
  background: var(--white);
}
.btn-submit {
  width: 100%;
  background: var(--navy);
  color: var(--white);
  padding: 15px;
  font-size: 15px;
  letter-spacing: 3px;
  margin-top: 8px;
  transition: background .3s;
}
.btn-submit:hover { background: var(--blue); }
.form-tip {
  font-size: 14px;
  color: var(--blue);
  margin-top: 14px;
  min-height: 22px;
}

/* ---------- 关于我们（合并数据条） ---------- */
.intro {
  position: relative;
  padding: 108px 0 96px;
  background: rgba(255, 255, 255, .6);
  overflow: hidden;
}
.intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 52%;
  height: 100%;
  background-image:
    repeating-linear-gradient(45deg, rgba(16, 20, 51, .055) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(-45deg, rgba(16, 20, 51, .055) 0 1px, transparent 1px 64px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 88%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 88%);
  pointer-events: none;
}
.intro-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: stretch;
  padding-bottom: 80px;
}
.intro-title {
  font-size: 42px;
  color: var(--navy);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.2;
  margin: 14px 0 26px;
}
.intro-copy p {
  color: var(--muted);
  font-size: 15.5px;
  line-height: 2;
  margin-bottom: 15px;
}
.intro-copy .link-arrow { margin-top: 16px; }

.intro-media {
  position: relative;
  min-height: 460px;
  overflow: hidden;
}
.intro-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.intro-stats {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: -80px;
}
.intro-stat {
  position: relative;
  background: var(--white);
  padding: 26px 26px 24px;
  box-shadow: 0 10px 34px rgba(16, 20, 51, .08);
  transition: transform .35s, box-shadow .35s;
}
.intro-stat:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 42px rgba(16, 20, 51, .13);
}
.intro-stat strong {
  display: block;
  font-size: 34px;
  color: var(--blue);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.5px;
}
.intro-stat .unit { font-size: 18px; margin-left: 2px; }
.intro-stat p {
  font-size: 13px;
  color: var(--muted);
  margin-top: 8px;
  letter-spacing: .5px;
}
.stat-ico {
  position: absolute;
  top: 20px;
  right: 22px;
}
.stat-ico svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .45;
}

@media (max-width: 1080px) {
  .intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .intro-media { height: 380px; }
  .intro-stats { grid-template-columns: repeat(2, 1fr); margin-top: 40px; }
}

@media (max-width: 820px) {
  .intro { padding: 76px 0 66px; }
  .intro-title { font-size: 29px; }
  .intro-copy p { font-size: 15px; }
  .intro-stats { grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; }
  .intro-stat { padding: 20px 18px 18px; }
  .intro-stat strong { font-size: 26px; }
  .stat-ico { top: 16px; right: 16px; }
}

/* ================= 整屏翻页（桌面端） ================= */
@media (min-width: 1025px) {
  .intro,
  .products,
  .apps,
  .craft,
  .news {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* ================= 检测能力（浅色玻璃卡） ================= */
.section-dark {
  background: rgba(255, 255, 255, .55) !important;
  position: relative;
  overflow: hidden;
}
.section-dark::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(620px circle at 18% 25%, rgba(74, 92, 245, .13), transparent 62%),
    radial-gradient(680px circle at 82% 75%, rgba(77, 216, 232, .1), transparent 62%);
  animation: darkGlow 14s ease-in-out infinite alternate;
  pointer-events: none;
}
.section-dark::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(16, 20, 51, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 20, 51, .04) 1px, transparent 1px);
  background-size: 58px 58px;
  -webkit-mask-image: radial-gradient(ellipse 82% 92% at 50% 50%, #000 0%, transparent 78%);
  mask-image: radial-gradient(ellipse 82% 92% at 50% 50%, #000 0%, transparent 78%);
  pointer-events: none;
}
@keyframes darkGlow {
  from { opacity: .5; transform: scale(1); }
  to { opacity: 1; transform: scale(1.08); }
}
.section-dark .container { position: relative; z-index: 2; }
.section-dark .section-title { color: var(--navy); }
.section-dark .section-desc { color: var(--muted); }
.section-dark .section-eyebrow { color: var(--blue); }

.section-dark .equip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  background: transparent;
  border: none;
}
.section-dark .equip-item {
  position: relative;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .09);
  border-radius: 3px;
  padding: 30px 26px 28px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(16, 20, 51, .05);
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), border-color .4s, box-shadow .4s;
}
.section-dark .equip-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4a5cf5 35%, #4dd8e8 65%, transparent);
  opacity: .45;
  transition: opacity .4s;
}
.section-dark .equip-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(210px circle at var(--mx, 50%) var(--my, 50%), rgba(74, 92, 245, .1), transparent 70%);
  opacity: 0;
  transition: opacity .4s;
  pointer-events: none;
}
.section-dark .equip-item:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 92, 245, .35);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .12);
}
.section-dark .equip-item:hover::before,
.section-dark .equip-item:hover::after { opacity: 1; }
.section-dark .equip-item h4 { color: var(--navy); }
.section-dark .equip-item p { color: var(--muted); }
.section-dark .equip-item .dot {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  font-size: 12px;
  font-weight: 600;
  background: rgba(74, 92, 245, .08);
  border: 1px solid rgba(74, 92, 245, .28);
  color: var(--blue);
  box-shadow: none;
}

/* ---------- footer ---------- */
.footer-cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 34px;
  margin-bottom: 46px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.footer-cta p {
  color: rgba(255, 255, 255, .72);
  font-size: 16px;
  letter-spacing: .5px;
  line-height: 1.8;
}
.footer-cta .btn-light { flex: 0 0 auto; }

.site-footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #05071a 0%, #0a0f2e 45%, #141b48 100%);
  padding: 76px 0 0;
}
.footer-map {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(120, 150, 255, .55) 1px, transparent 1px);
  background-size: 16px 16px;
  -webkit-mask-image: radial-gradient(ellipse 68% 100% at 52% 52%, #000 0%, transparent 76%);
  mask-image: radial-gradient(ellipse 68% 100% at 52% 52%, #000 0%, transparent 76%);
  opacity: .55;
  pointer-events: none;
}
.footer-map::after {
  content: "";
  position: absolute;
  left: 18%;
  top: 34%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6dd3ff;
  box-shadow:
    0 0 14px 4px rgba(109, 211, 255, .55),
    160px -40px 0 -2px rgba(109, 211, 255, .5),
    160px -40px 12px 0 rgba(109, 211, 255, .22),
    300px 30px 0 -2px rgba(109, 211, 255, .45),
    300px 30px 10px 0 rgba(109, 211, 255, .18),
    470px -20px 0 -2px rgba(109, 211, 255, .4),
    470px -20px 10px 0 rgba(109, 211, 255, .16);
}
.footer-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 190px 1fr 220px;
  gap: 52px;
  padding-bottom: 56px;
}
.footer-brand .logo-mark {
  display: inline-block;
  color: var(--white);
  border-color: rgba(255,255,255,.5);
}
.footer-name {
  color: var(--white);
  font-size: 19px;
  letter-spacing: 3px;
  margin-top: 18px;
}
.footer-en {
  color: rgba(255,255,255,.3);
  font-size: 10.5px;
  letter-spacing: 1px;
  margin-top: 6px;
  line-height: 1.6;
}
.footer-links {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 26px;
}
.footer-col h4 {
  color: var(--white);
  font-size: 13.5px;
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-weight: 600;
}
.footer-col a {
  display: block;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  margin-bottom: 11px;
  transition: color .3s;
}
.footer-col a:hover { color: var(--white); }

.footer-contact { font-size: 12.5px; }
.qr-label {
  color: rgba(255,255,255,.6);
  font-size: 12.5px;
  margin-bottom: 12px;
}
.qr-box {
  width: 104px;
  height: 104px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8b90a8;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 20px;
  overflow: hidden;
}
.qr-box img { width: 100%; height: 100%; object-fit: cover; display: block; }
.footer-contact p {
  color: rgba(255,255,255,.52);
  font-size: 12.5px;
  line-height: 2;
}

.back-top {
  position: fixed;
  right: 30px;
  bottom: 36px;
  width: 50px;
  height: 50px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.22);
  color: var(--white);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .35s ease;
  z-index: 90;
}
.back-top.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-top:hover {
  background: var(--blue);
  border-color: var(--blue);
}

.footer-bottom {
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 26px;
  padding-bottom: 30px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.footer-bottom p { color: rgba(255,255,255,.38); font-size: 13px; }

@media (max-width: 1080px) {
  .footer-main { grid-template-columns: 1fr; gap: 40px; }
  .footer-links { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .footer-links { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .footer-main { padding-bottom: 40px; }
  .footer-cta { flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 26px; margin-bottom: 34px; }
  .back-top { right: 16px; bottom: 20px; width: 44px; height: 44px; font-size: 16px; }
}

/* ================= 右侧悬浮联系条 ================= */
.side-bar {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 95;
  width: 58px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  box-shadow: -2px 0 22px rgba(16, 20, 51, .14);
  animation: sideIn .5s cubic-bezier(.16, 1, .3, 1) .3s both;
}
@keyframes sideIn {
  from { transform: translate(115%, -50%); opacity: 0; }
  to { transform: translate(0, -50%); opacity: 1; }
}
.side-title {
  width: 58px;
  height: 170px;
  background: #1a2450;
  transition: background .35s ease;
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.side-title svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.side-title span {
  writing-mode: vertical-rl;
  font-size: 14px;
  letter-spacing: 4px;
}
.side-item {
  position: relative;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  background: var(--blue);
  color: var(--white);
  border-top: 2px solid rgba(255, 255, 255, .5);
  cursor: pointer;
  transition: width .62s cubic-bezier(.16, 1, .3, 1), background .35s ease;
  text-decoration: none;
  overflow: hidden;
}
.side-item:hover {
  width: 300px;
  background: linear-gradient(to right, var(--blue) 0 58px, #1a2450 58px);
}
.side-item > svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 58px;
  height: 58px;
  padding: 17px;
  box-sizing: border-box;
  fill: none;
  stroke: #fff;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* 展开后出现在图标右侧的文字 */
.side-info {
  position: absolute;
  left: 58px;
  top: 0;
  bottom: 0;
  width: 242px;
  display: flex;
  align-items: center;
  padding: 0 22px;
  color: #fff;
  font-size: 14px;
  letter-spacing: .5px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .34s ease .1s;
  pointer-events: none;
}
.side-item:hover .side-info {
  opacity: 1;
}

.side-wechat { overflow: visible; }

#backTop:hover {
  width: 58px;
  background: #3a4bd8;
}

/* 微信二维码：挂在展开条正下方，与条同宽 */
.side-qr {
  position: absolute;
  left: 0;
  top: 58px;
  width: 300px;
  background: #2b2b2b;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .22s cubic-bezier(.16, 1, .3, 1), visibility .18s;
  z-index: 10;
}
.side-wechat:hover .side-qr {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.side-qr img {
  width: 132px;
  height: 132px;
  background: #fff;
  padding: 4px;
  display: block;
}

.side-panel {
  display: none;
}

@media (max-width: 820px) {
  .side-bar { display: none; }
}

/* ---------- reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 1.05s cubic-bezier(.22,.61,.36,1), transform 1.05s cubic-bezier(.22,.61,.36,1);
}
.reveal.is-in { opacity: 1; transform: translateY(0); }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .nav { gap: 24px; }
  .nav a { font-size: 14px; }
  .about-grid, .contact-grid { gap: 56px; }
  .app-grid { grid-template-columns: repeat(2, 1fr); }
  .craft-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}

@media (max-width: 820px) {
  :root { --nav-h: 64px; }
  .container { padding: 0 22px; }

  .nav {
    position: fixed;
    top: 0; right: -100%;
    width: 74%;
    max-width: 320px;
    height: 100dvh;
    background: var(--navy);
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    padding: 0 40px;
    transition: right .4s ease;
    z-index: 110;
  }
  .nav.is-open { right: 0; }
  .nav a { color: var(--white) !important; font-size: 18px; }
  .header-cta { display: none; }
  .nav-toggle { display: flex; z-index: 120; }
  .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
  .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-toggle.is-open span { background: var(--white) !important; }

  .hero { min-height: 560px; }
  .hero-copy h1 { letter-spacing: 1px; }
  .hero-foot { bottom: 26px; }
  .hero-scroll { display: none; }

  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat { padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
  .stat:nth-child(2n) { border-right: none; }
  .stat strong { font-size: 40px; }

  .about { padding: 80px 0; }
  .about-grid { grid-template-columns: 1fr; gap: 44px; }
  .about-media img { height: 320px; }
  .about-badge { right: 0; bottom: -22px; padding: 18px 22px; }
  .about-badge strong { font-size: 14px; }

  .products { padding: 80px 0 90px; }
  .product-grid { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 40px; }
  .section-desc { text-align: left; }

  .apps, .craft { padding: 80px 0; }
  .app-grid { grid-template-columns: 1fr; }
  .app-item { padding: 38px 28px 34px; }
  .craft-grid { grid-template-columns: 1fr; gap: 30px; }

  .news { padding-bottom: 80px; }
  .news-grid { grid-template-columns: 1fr; gap: 36px; }

  .contact { padding: 80px 0; }
  .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .contact-form { padding: 34px 24px; }
  .contact-list div { grid-template-columns: 76px 1fr; }

  .site-footer { padding-top: 56px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 480px) {
  .hero-copy h1 { font-size: 36px; }
  .section-title { font-size: 27px; }
  .product-body { padding: 30px 24px 34px; }
}

/* ================= 内页 ================= */
.page-hero {
  position: relative;
  min-height: 460px;
  background: linear-gradient(115deg, #070b20 0%, #121a44 55%, #0c112e 100%);
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: var(--nav-h);
  padding-bottom: 40px;
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--hero-img, none);
  background-color: rgba(7, 11, 32, .45);
  background-blend-mode: multiply;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .6;
  filter: saturate(.55) contrast(1.05) brightness(1.05);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 28%, #000 72%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 28%, #000 72%);
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(620px circle at 82% 28%, rgba(74, 92, 245, .26), transparent 62%),
    radial-gradient(520px circle at 8% 92%, rgba(77, 216, 232, .14), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 72px);
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero .en {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 5px;
  margin-bottom: 18px;
  font-weight: 600;
}
.page-hero h1 {
  color: var(--white);
  font-size: clamp(38px, 5vw, 66px);
  letter-spacing: 4px;
  line-height: 1.2;
  text-shadow: 0 0 46px rgba(90, 110, 255, .35);
}
.page-hero h1::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 26px;
  background: linear-gradient(90deg, #4a5cf5, #4dd8e8);
}.breadcrumb {
  margin-top: 20px;
  font-size: 13px;
  color: rgba(255,255,255,.45);
  letter-spacing: 1px;
}
.breadcrumb a { transition: color .3s; }
.breadcrumb a:hover { color: var(--white); }
.breadcrumb span { margin: 0 10px; color: rgba(255,255,255,.25); }

.page-section { padding: 110px 0; }
.page-section.alt { background: var(--soft); }
.page-section.tight { padding: 80px 0; }

.lead-text {
  font-size: 17px;
  color: var(--muted);
  line-height: 2.1;
  max-width: 860px;
}

.block-title {
  font-size: 26px;
  color: var(--navy);
  letter-spacing: 1px;
  margin-bottom: 26px;
  font-weight: 600;
}
.block-title::after {
  content: "";
  display: block;
  width: 40px; height: 2px;
  background: var(--gold);
  margin-top: 14px;
}

/* 双栏 */
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.split-media img { width: 100%; height: 460px; object-fit: cover; }
.split-copy p { color: var(--muted); margin-bottom: 18px; line-height: 2; }

/* 时间轴 */
.timeline { position: relative; padding-left: 30px; }
.timeline::before {
  content: "";
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 1px;
  background: var(--line);
}
.tl-item { position: relative; padding-bottom: 46px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before {
  content: "";
  position: absolute;
  left: -34px; top: 10px;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 4px rgba(74,92,245,.12);
}
.tl-year {
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 1px;
}
.tl-item h4 { font-size: 17px; color: var(--ink); margin: 6px 0 8px; }
.tl-item p { font-size: 14.5px; color: var(--muted); line-height: 1.9; }

/* 荣誉 */
.honor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.honor-item {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 38px 24px;
  text-align: center;
  transition: border-color .3s, transform .3s;
}
.honor-item:hover { border-color: var(--blue); transform: translateY(-4px); }
.honor-item strong { display: block; font-size: 16px; color: var(--navy); }
.honor-item span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
  letter-spacing: 1px;
}

/* 产品详情行 */
.product-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  padding: 72px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.product-row:first-of-type { padding-top: 0; }
.product-row:last-child { border-bottom: none; padding-bottom: 0; }
.product-row.reverse .row-media { order: 2; }
.row-media { height: 380px; position: relative; overflow: hidden; }
.row-media .product-no {
  position: absolute;
  right: 22px; bottom: 4px;
  font-size: 76px;
  font-weight: 800;
  color: rgba(255,255,255,.12);
  line-height: 1;
}
.row-copy .tag {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--blue);
  border: 1px solid rgba(74,92,245,.3);
  padding: 4px 12px;
  margin-bottom: 18px;
}
.row-copy h3 { font-size: 28px; color: var(--navy); letter-spacing: 1px; }
.row-copy .en {
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--gold);
  margin: 8px 0 20px;
}
.row-copy > p { color: var(--muted); line-height: 2; }

.spec-list { margin-top: 26px; }
.spec-list li {
  display: flex;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 15px;
  color: var(--muted);
}
.spec-list li::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--blue);
  margin-top: 12px;
  flex: 0 0 auto;
}

/* 流程 */
.process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 46px;
}
.process-step {
  padding: 36px 28px;
  border: 1px solid var(--line);
  border-right: none;
  background: var(--white);
}
.process-step:last-child { border-right: 1px solid var(--line); }
.process-step span {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
}
.process-step h4 { font-size: 18px; color: var(--navy); margin: 12px 0 10px; }
.process-step p { font-size: 14px; color: var(--muted); line-height: 1.85; }

/* 新闻列表 */
.news-list { border-top: 1px solid var(--line); }
.news-row {
  display: grid;
  grid-template-columns: 220px 1fr 110px;
  gap: 36px;
  align-items: center;
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
  transition: background .3s, padding .3s;
}
.news-row:hover { background: var(--soft); }
.news-row .thumb { height: 130px; }
.news-row h3 {
  font-size: 19px;
  color: var(--navy);
  margin-bottom: 10px;
  transition: color .3s;
}
.news-row:hover h3 { color: var(--blue); }
.news-row p { font-size: 14px; color: var(--muted); }
.news-row time { font-size: 13px; color: var(--muted); text-align: right; letter-spacing: 1px; }

/* 联系 */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.contact-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 40px 32px;
}
.contact-card h4 {
  font-size: 13px;
  letter-spacing: 3px;
  color: var(--blue);
  margin-bottom: 16px;
  font-weight: 600;
}
.contact-card p { color: var(--navy); font-size: 15.5px; line-height: 1.9; }
.contact-card .small { font-size: 13px; color: var(--muted); margin-top: 8px; }

.map-box {
  height: 380px;
  background:
    repeating-linear-gradient(0deg, rgba(16,20,51,.04) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(90deg, rgba(16,20,51,.04) 0 1px, transparent 1px 40px),
    var(--soft);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 14px;
  letter-spacing: 3px;
}

/* CTA 条 */
.cta-band { background: var(--navy); padding: 76px 0; }
.cta-band .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.cta-band h3 { color: var(--white); font-size: 28px; letter-spacing: 1px; }
.cta-band p { color: rgba(255,255,255,.6); font-size: 15px; margin-top: 10px; }

/* 分页 */
.pagination { display: flex; gap: 8px; margin-top: 50px; justify-content: center; }
.pagination a {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  font-size: 14px;
  color: var(--muted);
  transition: all .3s;
}
.pagination a.is-active,
.pagination a:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

@media (max-width: 1080px) {
  .honor-grid { grid-template-columns: repeat(2, 1fr); }
  .news-row { grid-template-columns: 180px 1fr 90px; gap: 24px; }
}

@media (max-width: 820px) {
  .page-hero { height: 320px; }
  .page-section { padding: 70px 0; }
  .split, .product-row { grid-template-columns: 1fr; gap: 36px; }
  .product-row.reverse .row-media { order: 0; }
  .split-media img, .row-media { height: 300px; }
  .honor-grid, .process, .contact-cards { grid-template-columns: 1fr; }
  .process-step { border-right: 1px solid var(--line); border-bottom: none; }
  .process-step:last-child { border-bottom: 1px solid var(--line); }
  .news-row { grid-template-columns: 1fr; gap: 16px; }
  .news-row .thumb { height: 180px; }
  .news-row time { text-align: left; }
  .cta-band .container { flex-direction: column; align-items: flex-start; }
  .map-box { height: 280px; }
}

/* 参数表 */
.table-wrap { overflow-x: auto; margin-top: 26px; }
.spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 560px;
}
.spec-table caption {
  text-align: left;
  font-size: 13px;
  color: var(--muted);
  padding-bottom: 10px;
  letter-spacing: 1px;
}
.spec-table th {
  background: var(--navy);
  color: var(--white);
  padding: 12px 12px;
  text-align: left;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .5px;
  white-space: nowrap;
}
.spec-table td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.spec-table tbody tr:hover td { background: var(--soft); }
.spec-table .model { color: var(--navy); font-weight: 600; }

/* 客户合作 */
.client-band { background: var(--white); border: 1px solid var(--line); padding: 44px 40px; }
.client-band h3 { font-size: 18px; color: var(--navy); margin-bottom: 10px; letter-spacing: 1px; }
.client-band p { font-size: 14px; color: var(--muted); line-height: 1.9; }
.client-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.client-list span {
  border: 1px solid var(--line);
  padding: 10px 22px;
  font-size: 14.5px;
  color: var(--navy);
  letter-spacing: 1px;
  transition: all .3s;
}
.client-list span:hover { border-color: var(--blue); color: var(--blue); }

/* ================= 动效 ================= */

/* 首屏粒子层与层级 */
.hero-mask { z-index: 0; }
.hero-canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: .9;
}
.hero-inner, .hero-foot { z-index: 3; }

/* 首屏光晕 */
.hero::after {
  content: "";
  position: absolute;
  right: -8%;
  top: -18%;
  width: 720px;
  height: 720px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(109,124,255,.5) 0%, rgba(109,124,255,0) 65%);
  filter: blur(30px);
  z-index: 1;
  pointer-events: none;
  animation: orbA 16s ease-in-out infinite alternate;
}
@keyframes orbA {
  from { transform: translate3d(0,0,0) scale(1); opacity: .4; }
  to { transform: translate3d(-8%, 10%, 0) scale(1.18); opacity: .8; }
}

/* 深色区块光晕 */
.products { position: relative; }
.products::after {
  content: "";
  position: absolute;
  left: -12%;
  bottom: -35%;
  width: 640px;
  height: 640px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(109,124,255,.3) 0%, rgba(109,124,255,0) 68%);
  filter: blur(40px);
  pointer-events: none;
  animation: orbB 22s ease-in-out infinite alternate;
}
@keyframes orbB {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(10%, -12%, 0) scale(1.25); }
}

.contact { position: relative; overflow: hidden; }
.contact::after {
  content: "";
  position: absolute;
  right: -10%;
  top: -25%;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(77,216,232,.22) 0%, rgba(77,216,232,0) 68%);
  filter: blur(50px);
  pointer-events: none;
  animation: orbA 20s ease-in-out infinite alternate-reverse;
}
.contact .container { position: relative; z-index: 2; }

/* 内页头部入场 */
.page-hero::before { animation: heroZoom 1.9s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes heroZoom {
  from { transform: scale(1.09); }
  to { transform: scale(1); }
}
.page-hero .en {
  animation: heroUp .7s cubic-bezier(.16, 1, .3, 1) .12s both;
}
.page-hero h1 {
  animation: heroUp .95s cubic-bezier(.16, 1, .3, 1) .3s both;
}
.page-hero h1::after {
  animation: heroLine .8s cubic-bezier(.16, 1, .3, 1) .9s both;
}
.page-hero .breadcrumb {
  animation: heroUp .7s cubic-bezier(.16, 1, .3, 1) .7s both;
}
@keyframes heroUp {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes heroLine {
  from { transform: scaleX(0); transform-origin: left center; }
  to { transform: scaleX(1); transform-origin: left center; }
}

/* 数字 */
.stat .num {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* 产品卡光斑跟随 */
.product-card { position: relative; overflow: hidden; }
.product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(109,124,255,.2), transparent 60%);
  opacity: 0;
  transition: opacity .4s;
  pointer-events: none;
}
.product-card:hover::after { opacity: 1; }

/* 按钮流光 */
.btn-submit { position: relative; overflow: hidden; }
.btn-submit::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.3), transparent);
  transform: skewX(-18deg);
  transition: left .65s ease;
}
.btn-submit:hover::after { left: 130%; }

/* 首屏滚动提示光点 */
.hero-dots button.is-active {
  box-shadow: 0 0 12px rgba(255,255,255,.6);
}

/* 应用卡图标动效 */
.app-item:hover .app-icon svg { transform: translateY(-4px) scale(1.06); }
.app-icon svg { transition: stroke .35s, transform .4s cubic-bezier(.22,.61,.36,1); }

@media (prefers-reduced-motion: reduce) {
  .hero::after,
  .products::after,
  .contact::after,
  .page-hero::before { animation: none; }
  .hero-slide { transition: opacity .3s; transform: none; }
}

/* ================= 工序卡 / 小卡网格 ================= */
.work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}
.work-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  padding: 34px 28px 30px;
  transition: transform .4s, box-shadow .4s;
}
.work-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(16,20,51,.1);
}
.work-card .no {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--blue);
  font-weight: 700;
}
.work-card h4 {
  font-size: 19px;
  color: var(--navy);
  margin: 10px 0 4px;
  letter-spacing: .5px;
}
.work-card .en {
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--muted);
  margin-bottom: 18px;
  text-transform: uppercase;
}
.work-card h5 {
  font-size: 13px;
  color: var(--navy);
  margin: 18px 0 10px;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.work-card h5::before {
  content: "";
  width: 3px;
  height: 12px;
  background: var(--blue);
}
.work-card .pain h5::before { background: #d97706; }
.work-card ul li {
  position: relative;
  padding-left: 14px;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.9;
}
.work-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
}
.work-card .pain ul li::before { background: #d97706; }

.mini-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 36px;
}
.mini-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 32px 26px;
  transition: border-color .35s, transform .35s;
}
.mini-card:hover { border-color: var(--blue); transform: translateY(-4px); }
.mini-card .idx {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
}
.mini-card h4 {
  font-size: 17px;
  color: var(--navy);
  margin: 10px 0 8px;
}
.mini-card p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.9;
}

/* 设备能力 */
.equip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 36px;
}
.equip-item {
  background: var(--white);
  padding: 30px 26px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.equip-item .dot {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(74,92,245,.35);
  color: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
}
.equip-item h4 {
  font-size: 15.5px;
  color: var(--navy);
  margin-bottom: 6px;
}
.equip-item p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
}

/* 数据小标 */
.metric-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.metric {
  border-left: 2px solid var(--blue);
  padding-left: 18px;
}
.metric strong {
  display: block;
  font-size: 30px;
  color: var(--navy);
  font-weight: 700;
  line-height: 1.2;
}
.metric span {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
}

@media (max-width: 1080px) {
  .work-grid, .equip-grid { grid-template-columns: repeat(2, 1fr); }
  .mini-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .work-grid, .equip-grid, .mini-grid, .metric-row { grid-template-columns: 1fr; }
  .equip-grid { gap: 1px; }
}

.rec {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
  font-size: 14px;
  color: var(--blue);
  letter-spacing: .5px;
}

/* ================= 合作伙伴 ================= */
.partner {
  position: relative;
  background: #0b0d14;
  padding: 76px 0 64px;
  overflow: hidden;
}
.partner-word {
  position: absolute;
  top: 12px;
  left: 5%;
  font-size: clamp(64px, 10.5vw, 148px);
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  color: rgba(255, 255, 255, .04);
  pointer-events: none;
  user-select: none;
}
.partner-head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 44px;
}
.partner-head h2 {
  color: var(--white);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 2px;
  padding-bottom: 16px;
  position: relative;
}
.partner-head h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46px;
  height: 3px;
  background: var(--blue);
}
.partner-more {
  color: rgba(255, 255, 255, .7);
  border: 1px solid rgba(255, 255, 255, .25);
  padding: 9px 22px;
  font-size: 13px;
  letter-spacing: 1px;
  transition: all .3s;
  white-space: nowrap;
}
.partner-more:hover {
  color: var(--white);
  border-color: rgba(255, 255, 255, .8);
  background: rgba(255, 255, 255, .06);
}

.marquee-wrap {
  overflow: hidden;
  padding: 9px 0;
}
.marquee {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: marquee 42s linear infinite;
}
.marquee.reverse { animation-direction: reverse; animation-delay: -14s; }
.marquee-wrap:hover .marquee { animation-play-state: paused; }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-33.3333%); }
}
.partner-logo {
  flex: 0 0 auto;
  width: 178px;
  height: 70px;
  background: #fff;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #17181c;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1.5px;
  transition: transform .3s;
}
.partner-logo:nth-child(5n + 1) { color: #003f8f; }
.partner-logo:nth-child(5n + 2) { color: #0057a8; }
.partner-logo:nth-child(5n + 3) { color: #c8102e; }
.partner-logo:nth-child(5n + 4) { color: #2b3240; }
.partner-logo:nth-child(5n) { color: #2b3240; }
.partner-logo:hover { transform: translateY(-3px); }
.partner-logo img {
  max-width: 138px;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  mix-blend-mode: multiply;
}

.partner-logo small {
  display: block;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 1.8px;
  color: #8a8f9a;
  text-align: center;
  margin-top: 5px;
}
.partner-logo.inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}

@media (max-width: 820px) {
  .partner-head { flex-direction: column; align-items: flex-start; gap: 18px; }
  .partner-head h2 { font-size: 24px; }
  .partner-logo { width: 148px; height: 60px; font-size: 14px; }
}

/* ================= 产品墙 ================= */
.product-wall {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 26px;
  margin-top: 0;
  padding-bottom: 20px;
}
.wall-card {
  position: relative;
  display: block;
  width: 200px;
  height: 430px;
  overflow: hidden;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s ease;
}
.wall-card:hover {
  transform: translateY(-12px) scale(1.04);
  box-shadow: 0 28px 60px rgba(16, 20, 51, .32);
  z-index: 2;
}
.wall-card:nth-child(even) { margin-top: 42px; }
.wall-bg {
  position: absolute;
  inset: 0;
  transition: transform .9s cubic-bezier(.22,.61,.36,1);
}
.wall-card:hover .wall-bg { transform: scale(1.1); }
.wall-mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,10,28,.95) 0%, rgba(7,10,28,.55) 38%, rgba(7,10,28,.08) 72%);
}
.wall-no {
  position: absolute;
  top: 18px;
  right: 20px;
  color: rgba(255,255,255,.42);
  font-size: 11px;
  letter-spacing: 2px;
  z-index: 3;
}
.wall-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 22px 26px;
  z-index: 3;
}
.wall-body svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: rgba(255,255,255,.9);
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 16px;
  transition: transform .5s, stroke .4s;
}
.wall-card:hover .wall-body svg {
  transform: translateY(-4px);
  stroke: var(--gold);
}
.wall-body h3 {
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
}
.wall-body p {
  color: rgba(255,255,255,.5);
  font-size: 9.5px;
  letter-spacing: .8px;
  margin-top: 7px;
  text-transform: uppercase;
  white-space: nowrap;
}


@media (max-width: 1080px) {
  .product-wall {
    justify-content: flex-start;
    overflow-x: auto;
    padding-left: 22px;
    padding-right: 22px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .wall-card { flex: 0 0 auto; scroll-snap-align: start; }
}

@media (max-width: 820px) {
  .wall-card { width: 168px; height: 350px; }
}

/* ================= 依次浮现 ================= */
.work-grid > .reveal:nth-child(2),
.mini-grid > .reveal:nth-child(2),
.equip-grid > .reveal:nth-child(2),
.news-grid > .reveal:nth-child(2),
.app-grid > .reveal:nth-child(2),
.honor-grid > .reveal:nth-child(2),
.craft-grid > .reveal:nth-child(2),
.process > .reveal:nth-child(2),
.timeline > .reveal:nth-child(2) { transition-delay: .1s; }

.work-grid > .reveal:nth-child(3),
.mini-grid > .reveal:nth-child(3),
.equip-grid > .reveal:nth-child(3),
.news-grid > .reveal:nth-child(3),
.app-grid > .reveal:nth-child(3),
.honor-grid > .reveal:nth-child(3),
.craft-grid > .reveal:nth-child(3),
.process > .reveal:nth-child(3),
.timeline > .reveal:nth-child(3) { transition-delay: .2s; }

.work-grid > .reveal:nth-child(4),
.mini-grid > .reveal:nth-child(4),
.equip-grid > .reveal:nth-child(4),
.news-grid > .reveal:nth-child(4),
.app-grid > .reveal:nth-child(4),
.honor-grid > .reveal:nth-child(4),
.craft-grid > .reveal:nth-child(4),
.process > .reveal:nth-child(4),
.timeline > .reveal:nth-child(4) { transition-delay: .3s; }

.equip-grid > .reveal:nth-child(5) { transition-delay: .4s; }
.equip-grid > .reveal:nth-child(6) { transition-delay: .5s; }

/* 产品墙：卡片逐个浮现，内容再上浮 */
.product-wall.reveal {
  opacity: 1;
  transform: none;
}
.product-wall .wall-card {
  opacity: 0;
  transition: opacity .95s ease, transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s ease;
}
.product-wall.is-in .wall-card { opacity: 1; }

.product-wall .wall-body,
.product-wall .wall-no {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .85s ease, transform .85s cubic-bezier(.22,.61,.36,1);
}
.product-wall.is-in .wall-body,
.product-wall.is-in .wall-no {
  opacity: 1;
  transform: none;
}

.wall-card:nth-child(1) .wall-body,
.wall-card:nth-child(1) .wall-no { transition-delay: .12s; }
.wall-card:nth-child(2) .wall-body,
.wall-card:nth-child(2) .wall-no { transition-delay: .24s; }
.wall-card:nth-child(3) .wall-body,
.wall-card:nth-child(3) .wall-no { transition-delay: .36s; }
.wall-card:nth-child(4) .wall-body,
.wall-card:nth-child(4) .wall-no { transition-delay: .48s; }
.wall-card:nth-child(5) .wall-body,
.wall-card:nth-child(5) .wall-no { transition-delay: .6s; }

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
  .page-hero::before,
  .page-hero .en,
  .page-hero h1,
  .page-hero h1::after,
  .page-hero .breadcrumb { animation: none; }
  .reveal,
  .product-wall .wall-card,
  .product-wall .wall-body,
  .product-wall .wall-no {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ================= 全站固定大图背景 ================= */
body { background: transparent; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: none;
  filter: blur(4px) saturate(.7) brightness(1.04);
  transform: scale(1.06);
  animation: bgDrift 26s ease-in-out infinite alternate;
  will-change: transform;
  z-index: -2;
}
@keyframes bgDrift {
  0% {
    transform: scale(1.06) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.16) translate3d(-46px, -30px, 0);
  }
}
body::after {
  content: "";
  position: fixed;
  inset: -12%;
  background:
    radial-gradient(560px circle at 18% 26%, rgba(74, 92, 245, .16), transparent 62%),
    radial-gradient(640px circle at 82% 74%, rgba(77, 216, 232, .12), transparent 62%),
    radial-gradient(420px circle at 55% 12%, rgba(120, 90, 230, .1), transparent 65%),
    rgba(255, 255, 255, .55);
  animation: aurora 26s ease-in-out infinite alternate;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: -1;
}
@keyframes aurora {
  0% { transform: translate3d(-2%, 1%, 0) scale(1); opacity: .5; }
  50% { opacity: 1; }
  100% { transform: translate3d(3%, -2%, 0) scale(1.16); opacity: .68; }
}

/* 浅色区统一透明度：主体 0.6，交替区 0.7 */
.about,
.apps,
.craft,
.news,
.products { background: rgba(255, 255, 255, .6); }

.products { background: rgba(255, 255, 255, .76); }
.products .section-head { margin-bottom: 30px; }
.page-section { background: rgba(255, 255, 255, .6); }
.page-section.alt { background: rgba(255, 255, 255, .7); }

/* 卡片语言统一：白卡 + 细边 + 轻阴影 */
.work-card,
.mini-card,
.honor-item,
.equip-item,
.app-item,
.client-band,
.contact-card {
  background: rgba(255, 255, 255, .92);
  border-color: rgba(16, 20, 51, .08);
}
.work-card,
.mini-card,
.honor-item,
.equip-item,
.client-band,
.contact-card {
  box-shadow: 0 1px 3px rgba(16, 20, 51, .04);
}
.app-item { box-shadow: none; }

/* 分隔线统一 */
.app-grid { background: rgba(16, 20, 51, .08); border-color: rgba(16, 20, 51, .08); }
.equip-grid { background: rgba(16, 20, 51, .08); border-color: rgba(16, 20, 51, .08); }
.news-list { border-top-color: rgba(16, 20, 51, .08); }
.news-row { border-bottom-color: rgba(16, 20, 51, .08); }
.news-row:hover { background: rgba(255, 255, 255, .7); }
.spec-table td { border-bottom-color: rgba(16, 20, 51, .08); }
.spec-table tbody tr:hover td { background: rgba(255, 255, 255, .6); }

/* 深色区与浅色区的交界加一道细光 */
.stats,
.contact,
.site-footer { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); }

@media (max-width: 820px) {
  body::before,
  body::after { display: none; }
  .about,
  .apps,
  .craft,
  .news { background: var(--white); }
  .products { background: var(--soft); }
  .page-section { background: var(--white); }
  .page-section.alt { background: var(--soft); }
}

/* ================= 首页补充配图 ================= */
.app-item { padding: 0 32px 44px; }
.app-photo {
  height: 152px;
  margin: 0 -32px 28px;
  overflow: hidden;
}
.app-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s cubic-bezier(.16, 1, .3, 1);
}
.app-item:hover .app-photo img { transform: scale(1.07); }
.app-icon { margin-bottom: 20px; }

.thumb-1 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/line-hands.jpg") center/cover no-repeat !important;
}
.thumb-2 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/hero-expo.jpg") center/cover no-repeat !important;
}
.thumb-3 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/equip-lab.jpg") center/cover no-repeat !important;
}


/* 新闻缩略图扩展，避免同一批图循环 */
.thumb-4 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/lab-sample.jpg") center/cover no-repeat !important;
}
.thumb-5 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/office-blue.jpg") center/cover no-repeat !important;
}
.thumb-6 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/lab-glass.jpg") center/cover no-repeat !important;
}
.thumb-7 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/job-campus.jpg") center/cover no-repeat !important;
}
.thumb-8 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/bg-line.jpg") center/cover no-repeat !important;
}
.thumb-9 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/lab-balance.jpg") center/cover no-repeat !important;
}

.thumb-10 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/lab-tester.jpg") center/cover no-repeat !important;
}
.thumb-11 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/prod-uv.jpg") center/cover no-repeat !important;
}
.thumb-12 {
  background: linear-gradient(rgba(10, 14, 38, .32), rgba(10, 14, 38, .66)), url("../images/hero-chip.jpg") center/cover no-repeat !important;
}

.craft-photo {
  height: 290px;
  margin-top: 42px;
  overflow: hidden;
}
.craft-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.16, 1, .3, 1);
}
.craft-photo:hover img { transform: scale(1.04); }
.craft-grid { margin-top: 24px !important; }

/* 内页头部背景图 */
.page-hero.hero-about::before { background-image: url("../images/hero-office.jpg"); }
.page-hero.hero-products::before { background-image: url("../images/hero-clean.jpg"); }
.page-hero.hero-apps::before { background-image: url("../images/app-cleanroom.jpg"); }
.page-hero.hero-news::before { background-image: url("../images/hero-expo.jpg"); }
.page-hero.hero-contact::before { background-image: url("../images/hero-tower.jpg"); }

/* 应用领域页：右侧场景配图 */
.row-media { background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.product-row:nth-of-type(1) .row-media { background-image: linear-gradient(rgba(10, 14, 38, .16), rgba(10, 14, 38, .34)), url("../images/app-mobile.jpg") !important; }
.product-row:nth-of-type(2) .row-media { background-image: linear-gradient(rgba(10, 14, 38, .16), rgba(10, 14, 38, .34)), url("../images/card-display.jpg") !important; }
.product-row:nth-of-type(3) .row-media { background-image: linear-gradient(rgba(10, 14, 38, .16), rgba(10, 14, 38, .34)), url("../images/app-cleanroom.jpg") !important; }
.product-row:nth-of-type(4) .row-media { background-image: linear-gradient(rgba(10, 14, 38, .16), rgba(10, 14, 38, .34)), url("../images/app-optics.jpg") !important; }

/* 产品详情卡配图 */
.work-photo {
  height: 148px;
  margin: -34px -28px 26px;
  overflow: hidden;
}
.work-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s cubic-bezier(.16, 1, .3, 1);
}
.work-card:hover .work-photo img { transform: scale(1.05); }

/* ================= 内页头部差异化元素 ================= */
.hero-lead {
  position: relative;
  z-index: 3;
  max-width: 540px;
  margin-top: 26px;
  color: rgba(255, 255, 255, .62);
  font-size: 15px;
  line-height: 1.9;
  animation: heroUp .9s cubic-bezier(.16, 1, .3, 1) .55s both;
}

.hero-strip {
  position: absolute;
  right: 0;
  bottom: -6px;
  display: flex;
  gap: 12px;
  z-index: 3;
  animation: heroUp 1s cubic-bezier(.16, 1, .3, 1) .5s both;
}
.hero-strip img {
  width: 108px;
  height: 148px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .4);
  opacity: .95;
}
.hero-strip img:nth-child(1) { margin-top: 30px; }
.hero-strip img:nth-child(2) { margin-top: 0; }
.hero-strip img:nth-child(3) { margin-top: 46px; }

.hero-mosaic {
  position: absolute;
  right: 0;
  bottom: 6px;
  display: grid;
  grid-template-columns: repeat(2, 98px);
  gap: 10px;
  z-index: 3;
  animation: heroUp 1s cubic-bezier(.16, 1, .3, 1) .5s both;
}
.hero-mosaic img {
  width: 98px;
  height: 98px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, .15);
  opacity: .95;
}

.hero-year {
  position: absolute;
  right: 10px;
  bottom: -34px;
  z-index: 1;
  font-size: 172px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 8px;
  color: rgba(255, 255, 255, .07);
  pointer-events: none;
  animation: heroUp 1.2s cubic-bezier(.16, 1, .3, 1) .4s both;
}

.hero-contact-info {
  position: absolute;
  right: 0;
  bottom: 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  z-index: 3;
  animation: heroUp 1s cubic-bezier(.16, 1, .3, 1) .5s both;
}
.hero-contact-info a {
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  letter-spacing: 1px;
  text-decoration: none;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  transition: color .3s, border-color .3s;
}
.hero-contact-info a:hover { color: #fff; border-color: rgba(255, 255, 255, .5); }

@media (max-width: 1080px) {
  .hero-strip,
  .hero-mosaic,
  .hero-contact-info { display: none; }
  .hero-year { font-size: 110px; bottom: -20px; }
}

/* ================= 内页头部五套不同布局 ================= */

/* 1. 关于我们：整体居中 */
.page-hero.hero-about { text-align: center; }
.page-hero.hero-about h1::after { margin-left: auto; margin-right: auto; }
.page-hero.hero-about .hero-lead { margin-left: auto; margin-right: auto; }

/* 2. 产品中心：斜切分屏，右半为清晰实景 */
.page-hero.hero-products::before {
  -webkit-mask-image: none;
  mask-image: none;
  clip-path: polygon(50% 0, 100% 0, 100% 100%, 42% 100%);
  opacity: .62;
}
.page-hero.hero-products::after {
  background:
    radial-gradient(520px circle at 20% 40%, rgba(74, 92, 245, .34), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 72px);
}

/* 3. 应用领域：底部整条图片带 */
.page-hero.hero-apps {
  padding-bottom: 128px;
  min-height: 480px;
}
.page-hero.hero-apps .hero-mosaic {
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}
.page-hero.hero-apps .hero-mosaic img {
  width: 100%;
  height: 92px;
  border: none;
  opacity: .8;
  transition: opacity .35s, transform .5s;
}
.page-hero.hero-apps .hero-mosaic img:hover { opacity: 1; transform: translateY(-4px); }

/* 4. 新闻资讯：右下最新资讯卡 */
.hero-news-card {
  position: absolute;
  right: 0;
  bottom: 8px;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 320px;
  padding: 12px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(12, 16, 40, .55);
  z-index: 3;
  animation: heroUp 1s cubic-bezier(.16, 1, .3, 1) .5s both;
}
.hero-news-card img {
  width: 86px;
  height: 66px;
  object-fit: cover;
  flex: 0 0 auto;
}
.hnc-date {
  font-size: 11px;
  letter-spacing: 1.5px;
  color: var(--gold);
}
.hnc-body strong {
  display: block;
  margin-top: 7px;
  color: var(--white);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 500;
}

/* 5. 联系我们：标题下方三入口横排 */
.hero-contacts {
  position: relative;
  z-index: 3;
  display: flex;
  margin-top: 36px;
  animation: heroUp 1s cubic-bezier(.16, 1, .3, 1) .5s both;
}
.hc-item {
  padding: 0 34px;
  border-left: 1px solid rgba(255, 255, 255, .16);
}
.hc-item:first-child { padding-left: 0; border-left: none; }
.hc-item span {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: 2.5px;
  color: rgba(255, 255, 255, .42);
}
.hc-item a,
.hc-item p {
  color: var(--white);
  font-size: 15px;
  letter-spacing: .5px;
  text-decoration: none;
  transition: color .3s;
}
.hc-item a:hover { color: var(--gold); }

@media (max-width: 1080px) {
  .hero-news-card { position: static; width: auto; margin-top: 28px; }
  .hero-contacts { flex-direction: column; gap: 20px; margin-top: 28px; }
  .hc-item { padding: 0; border-left: none; }
  .page-hero.hero-products::before { clip-path: none; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 28%, #000 72%); mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 28%, #000 72%); }
}

/* ================= 内页头部五套色调 ================= */
.page-hero.hero-about {
  background: linear-gradient(115deg, #070b20 0%, #182153 55%, #0c112e 100%);
}
.page-hero.hero-products {
  background: linear-gradient(115deg, #04121c 0%, #0a2c3e 55%, #05141e 100%);
}
.page-hero.hero-products::after {
  background:
    radial-gradient(560px circle at 78% 32%, rgba(46, 190, 205, .24), transparent 62%),
    radial-gradient(480px circle at 12% 88%, rgba(74, 92, 245, .12), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 72px);
}
.page-hero.hero-apps {
  background: linear-gradient(115deg, #051518 0%, #0d2e2c 55%, #04100f 100%);
}
.page-hero.hero-apps::after {
  background:
    radial-gradient(560px circle at 76% 30%, rgba(60, 200, 160, .2), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 72px);
}
.page-hero.hero-news {
  background: linear-gradient(115deg, #0e1018 0%, #1d2232 55%, #0a0c12 100%);
}
.page-hero.hero-news::after {
  background:
    radial-gradient(560px circle at 80% 30%, rgba(120, 140, 200, .16), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 72px);
}
.page-hero.hero-contact {
  background: linear-gradient(115deg, #100a22 0%, #2a1c4e 55%, #0d0819 100%);
}
.page-hero.hero-contact::after {
  background:
    radial-gradient(560px circle at 78% 30%, rgba(130, 90, 220, .26), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 72px);
}

/* ================= 联系卡片美化 ================= */
.contact-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .08);
  border-radius: 4px;
  padding: 36px 30px 32px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(16, 20, 51, .05);
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #4a5cf5, #4dd8e8);
  opacity: .5;
  transition: opacity .4s;
}
.contact-card:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 92, 245, .3);
  box-shadow: 0 20px 44px rgba(16, 20, 51, .1);
}
.contact-card:hover::before { opacity: 1; }
.cc-icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(74, 92, 245, .08);
  margin-bottom: 20px;
  transition: background .35s, transform .35s;
}
.cc-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact-card:hover .cc-icon {
  background: rgba(74, 92, 245, .14);
  transform: scale(1.06);
}
.contact-card h4 { margin-bottom: 12px; }
.contact-card p { font-size: 15.5px; line-height: 1.85; }
.contact-card p.small { margin-top: 8px; font-size: 13px; color: var(--muted); font-weight: 400; }

/* ================= 联系面板（整体深色） ================= */
.contact-cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: linear-gradient(135deg, #0c0a1e 0%, #1b1445 55%, #090715 100%);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 34px 80px rgba(16, 20, 51, .22);
  isolation: isolate;
}
.contact-cards::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(420px circle at 12% 10%, rgba(120, 90, 230, .3), transparent 62%),
    radial-gradient(460px circle at 88% 92%, rgba(74, 92, 245, .22), transparent 62%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 58px);
  z-index: -1;
  pointer-events: none;
}
.contact-card {
  position: relative;
  background: transparent;
  border: none;
  border-left: 1px solid rgba(255, 255, 255, .1);
  border-radius: 0;
  box-shadow: none;
  padding: 52px 40px 48px;
  overflow: visible;
  transition: background .4s;
}
.contact-card:first-child { border-left: none; }
.contact-card::before { display: none; }
.contact-card:hover {
  background: rgba(255, 255, 255, .045);
  transform: none;
  border-color: rgba(255, 255, 255, .1);
  box-shadow: none;
}
.cc-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .14);
  margin-bottom: 26px;
}
.cc-icon svg {
  width: 24px;
  height: 24px;
  stroke: #9fb0ff;
  stroke-width: 1.4;
}
.contact-card:hover .cc-icon {
  background: rgba(120, 140, 255, .14);
  border-color: rgba(120, 140, 255, .4);
  transform: none;
}
.contact-card h4 {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 3.5px;
  margin-bottom: 16px;
}
.contact-card p {
  color: var(--white);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .3px;
}
.contact-card p.small {
  margin-top: 10px;
  color: rgba(255, 255, 255, .42);
  font-size: 13px;
}

/* 导航 Logo 图片 */
.logo-img { height: 38px; width: auto; display: block; }

/* ================= 联系面板（浅色整体） ================= */
.contact-cards {
  background: linear-gradient(135deg, #ffffff 0%, #f7f9ff 58%, #f0f4ff 100%);
  border: 1px solid rgba(16, 20, 51, .07);
  border-radius: 8px;
  box-shadow: 0 22px 60px rgba(16, 20, 51, .08);
}
.contact-cards::before {
  background:
    radial-gradient(420px circle at 10% 8%, rgba(74, 92, 245, .05), transparent 62%),
    radial-gradient(440px circle at 90% 94%, rgba(77, 216, 232, .05), transparent 62%);
}
.contact-card {
  border-left: 1px solid rgba(16, 20, 51, .07);
  padding: 46px 38px 42px;
  transition: background .4s;
}
.contact-card:hover { background: rgba(74, 92, 245, .035); }
.cc-icon {
  background: rgba(74, 92, 245, .07);
  border: 1px solid rgba(74, 92, 245, .14);
}
.cc-icon svg { stroke: var(--blue); }
.contact-card:hover .cc-icon {
  background: rgba(74, 92, 245, .13);
  border-color: rgba(74, 92, 245, .3);
}
.contact-card h4 { color: var(--blue); }
.contact-card p { color: var(--navy); }
.contact-card p.small { color: var(--muted); }

.footer-logo-img { height: 38px; width: auto; margin-bottom: 18px; display: block; }

/* 联系面板可见性兜底 */
.contact-cards .contact-card {
  color: var(--navy);
  opacity: 1 !important;
  transform: none !important;
}
.contact-cards .contact-card h4 { color: var(--blue) !important; }
.contact-cards .contact-card p { color: var(--navy) !important; }
.contact-cards .contact-card p.small { color: var(--muted) !important; }
.contact-cards .cc-icon svg { stroke: var(--blue) !important; }

/* ================= 招聘 ================= */
.jobs-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
}
.jobs-note {
  max-width: 420px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.jobs-note a { color: var(--blue); text-decoration: none; border-bottom: 1px solid rgba(74, 92, 245, .35); }
.jobs-note a:hover { border-bottom-color: var(--blue); }

.job-list {
  display: grid;
  gap: 12px;
  margin-top: 42px;
}
.job-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 30px;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .08);
  border-radius: 4px;
  text-decoration: none;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), border-color .35s, box-shadow .35s;
}
.job-row:hover {
  transform: translateX(6px);
  border-color: rgba(74, 92, 245, .4);
  box-shadow: 0 14px 34px rgba(16, 20, 51, .08);
}
.job-main h3 {
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: .5px;
}
.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 9px;
}
.job-meta span {
  position: relative;
  padding-left: 12px;
  font-size: 13px;
  color: var(--muted);
}
.job-meta span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(74, 92, 245, .5);
}
.job-apply {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 14px;
  letter-spacing: .5px;
  white-space: nowrap;
}

@media (max-width: 820px) {
  .jobs-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .job-row { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; }
}

/* 侧栏联系我们标题：悬停变品牌蓝 */
.side-title:hover { background: #4a5cf5; }

/* ================= 招聘（重做） ================= */
.job-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.job-tab {
  position: relative;
  display: block;
  padding: 34px 30px 30px;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .08);
  border-radius: 4px;
  text-decoration: none;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), border-color .4s, box-shadow .4s;
}
.job-tab::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #4a5cf5, #4dd8e8);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1);
}
.job-tab:hover::before { transform: scaleY(1); }
.job-tab:hover {
  transform: translateY(-5px);
  border-color: rgba(74, 92, 245, .3);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .1);
}
.jt-no {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 700;
  color: var(--gold);
}
.job-tab h3 {
  margin: 14px 0 10px;
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
}
.job-tab p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.8;
}
.jt-link {
  display: inline-block;
  margin-top: 22px;
  font-size: 13.5px;
  color: var(--blue);
}

.job-table {
  margin-top: 22px;
  border-top: 1px solid rgba(16, 20, 51, .1);
}
.job-tr {
  display: grid;
  grid-template-columns: 1.7fr 1fr .8fr 40px;
  align-items: center;
  gap: 20px;
  padding: 26px 8px;
  border-bottom: 1px solid rgba(16, 20, 51, .08);
  text-decoration: none;
  transition: background .3s, padding-left .35s cubic-bezier(.16, 1, .3, 1);
}
.job-tr:hover { background: rgba(74, 92, 245, .035); padding-left: 20px; }
.jt-name {
  font-size: 16.5px;
  font-weight: 600;
  color: var(--navy);
}
.jt-meta,
.jt-exp { font-size: 13.5px; color: var(--muted); }
.jt-arrow {
  justify-self: end;
  font-size: 16px;
  color: var(--blue);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.job-tr:hover .jt-arrow { transform: translateX(6px); }

.job-perks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 62px;
}
.perk-img {
  height: 168px;
  overflow: hidden;
  margin-bottom: 20px;
}
.perk-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.perk:hover .perk-img img { transform: scale(1.05); }
.perk h4 {
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
}
.perk p { font-size: 14px; color: var(--muted); line-height: 1.9; }

@media (max-width: 900px) {
  .job-tabs,
  .job-perks { grid-template-columns: 1fr; }
  .job-tr { grid-template-columns: 1fr; gap: 8px; }
  .jt-arrow { display: none; }
}

/* ================= 顶部透明导航 ================= */
.site-header {
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.site-header.is-solid {
  background: rgba(255, 255, 255, .6);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  backdrop-filter: blur(16px) saturate(180%);
  box-shadow: 0 1px 0 rgba(16, 20, 51, .06), 0 10px 34px rgba(16, 20, 51, .07);
}
.site-header .nav a { color: rgba(255, 255, 255, .84); }
.site-header .nav a:hover { color: #fff; }
.site-header.is-solid .nav a { color: var(--navy); }
.site-header.is-solid .nav a.is-active,
.site-header.is-solid .nav a:hover { color: var(--blue); }
.site-header.is-solid .nav a:hover { color: var(--blue); }
.site-header .header-cta {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
}
.site-header .header-cta:hover { background: rgba(255, 255, 255, .14); }
.site-header.is-solid .header-cta {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.site-header .logo-dark { display: none; }
.site-header.is-solid .logo-dark { display: block; }
.site-header.is-solid .logo-light { display: none; }
.site-header .nav-toggle span { background: #fff; }
.site-header.is-solid .nav-toggle span { background: var(--navy); }

/* ================= 首屏调整 ================= */
.hero-copy h1 {
  font-size: clamp(38px, 4.4vw, 58px) !important;
  line-height: 1.28 !important;
  letter-spacing: 2px !important;
}
.hero-actions {
  display: flex;
  gap: 14px;
  margin-top: 38px;
}
.btn-hero {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 34px;
  font-size: 14px;
  letter-spacing: 1.5px;
  color: var(--white);
  background: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 2px;
  text-decoration: none;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), background .3s, border-color .3s, box-shadow .35s;
}
.btn-hero:hover {
  transform: translateY(-3px);
  background: #3b4be0;
  border-color: #3b4be0;
  box-shadow: 0 14px 32px rgba(74, 92, 245, .35);
}
.btn-hero.ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, .45);
}
.btn-hero.ghost:hover {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .8);
  box-shadow: none;
}

.h1-brand {
  display: block;
  font-size: .46em;
  font-weight: 500;
  letter-spacing: 3px;
  opacity: .82;
  margin-bottom: 16px;
  line-height: 1.4;
}

/* 轮播分页：扩大触碰热区 */
.hero-dots button {
  position: relative;
  cursor: pointer;
}
.hero-dots button::after {
  content: "";
  position: absolute;
  inset: -16px -8px;
}

/* ================= 导航下拉分类 ================= */
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
}
.dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  min-width: 172px;
  padding: 8px 0;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .08);
  border-radius: 3px;
  box-shadow: 0 20px 44px rgba(16, 20, 51, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(6px);
  transition: opacity .28s ease, transform .28s cubic-bezier(.16, 1, .3, 1), visibility .28s;
  z-index: 120;
}
.dropdown::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}
.nav-item:hover .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dropdown a {
  display: block;
  padding: 11px 24px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--navy) !important;
  white-space: nowrap;
  text-decoration: none;
  transition: background .22s, color .22s, padding-left .22s;
}
.dropdown a:hover {
  background: rgba(74, 92, 245, .06);
  color: var(--blue) !important;
  padding-left: 29px;
}

@media (max-width: 1024px) {
  .nav-item { display: block; }
  .dropdown { display: none; }
}

/* ================= 产品型号墙 ================= */
.prod-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.prod-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .08);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.pc-top {
  position: relative;
  height: 116px;
  padding: 0 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(135deg, #0e1330 0%, #1c2757 100%);
  overflow: hidden;
}
.pc-top::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -46px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74, 92, 245, .38), transparent 70%);
  pointer-events: none;
}
.pc-cat {
  position: relative;
  font-size: 11px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, .5);
}
.pc-model {
  position: relative;
  margin-top: 8px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #fff;
  transition: color .3s;
}
.pc-body { padding: 20px 22px 22px; }
.pc-body h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
}
.pc-body p {
  margin-top: 7px;
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.7;
}
.pc-more {
  display: inline-block;
  margin-top: 14px;
  font-size: 12.5px;
  color: var(--blue);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .3s, transform .3s;
}
.prod-card:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 92, 245, .35);
  box-shadow: 0 20px 44px rgba(16, 20, 51, .12);
}
.prod-card:hover .pc-more { opacity: 1; transform: none; }
.prod-card:hover .pc-model { color: #b3c0ff; }

@media (max-width: 1080px) {
  .prod-wall { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .prod-wall { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pc-top { height: 96px; padding: 0 16px; }
  .pc-model { font-size: 19px; }
  .pc-body { padding: 16px; }
}

/* ================= 产品分类图墙 ================= */
.prod-group { margin-bottom: 62px; }
.prod-group:last-child { margin-bottom: 0; }
.pg-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.pg-head h3 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--navy);
}
.pg-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  border-radius: 999px;
  background: #101433;
  color: #fff;
  font-size: 13.5px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s, transform .3s cubic-bezier(.16, 1, .3, 1);
}
.pg-link svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pg-link:hover { background: #2a3a7a; transform: translateY(-2px); }

.pg-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.pg-card {
  position: relative;
  display: block;
  height: 278px;
  overflow: hidden;
  text-decoration: none;
}
.pg-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.pg-card:hover img { transform: scale(1.06); }
.pg-name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 56px 24px 22px;
  background: linear-gradient(to top, rgba(8, 10, 25, .8), transparent);
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 1px;
}
.pg-name em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1.6px;
  color: rgba(255, 255, 255, .62);
}

@media (max-width: 820px) {
  .pg-row { grid-template-columns: 1fr; }
  .pg-card { height: 220px; }
  .pg-head h3 { font-size: 21px; }
}

/* ================= 产品分类导航 + 卡片网格 ================= */
.prod-tabs {
  position: sticky;
  top: 70px;
  z-index: 50;
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 8px 0 0;
  margin-bottom: 44px;
  background: rgba(255, 255, 255, .93);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(16, 20, 51, .08);
}
.prod-tabs a {
  position: relative;
  padding: 15px 24px;
  font-size: 14.5px;
  color: var(--muted);
  text-decoration: none;
  transition: color .25s;
  white-space: nowrap;
}
.prod-tabs a::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.prod-tabs a:hover { color: var(--navy); }
.prod-tabs a.is-active { color: var(--blue); }
.prod-tabs a.is-active::after { transform: scaleX(1); }

.prod-block { margin-bottom: 58px; }
.prod-block:last-child { margin-bottom: 0; }
.prod-block-title {
  position: relative;
  margin-bottom: 22px;
  padding-left: 14px;
  font-size: 20px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: .5px;
  scroll-margin-top: 110px;
}
.prod-block-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 18px;
  background: linear-gradient(180deg, #4a5cf5, #4dd8e8);
}

.prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.p-card {
  display: block;
  padding: 16px 16px 22px;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  text-align: center;
  text-decoration: none;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.p-card img {
  width: 100%;
  height: 148px;
  object-fit: cover;
  display: block;
  margin-bottom: 18px;
}
.p-card strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
}
.p-card span {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: 1.4px;
  color: var(--muted);
}
.p-card:hover {
  transform: translateY(-5px);
  border-color: rgba(74, 92, 245, .35);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .1);
}

@media (max-width: 1080px) {
  .prod-grid { grid-template-columns: repeat(3, 1fr); }
  .prod-tabs { justify-content: flex-start; overflow-x: auto; padding-left: 12px; }
}
@media (max-width: 820px) {
  .prod-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .p-card img { height: 110px; }
}

/* 分类面板切换 */
.prod-panel { display: none; }
.prod-panel.is-active {
  display: block;
  animation: panelIn .45s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes panelIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

/* ================= 产品面板视觉（参考 hgfilm） ================= */
.prod-panel {
  position: relative;
  padding-bottom: 30px;
}
.prod-panel::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(16, 20, 51, .1);
}
.prod-panel::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 92px;
  height: 3px;
  background: linear-gradient(90deg, #4a5cf5, #4dd8e8);
  z-index: 1;
}

.prod-panel .work-card {
  border: 1px solid rgba(16, 20, 51, .07);
  background: #fff;
  padding: 0 0 30px;
  box-shadow: 0 6px 24px rgba(16, 20, 51, .05);
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s, border-color .45s;
}
.prod-panel .work-card:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 92, 245, .3);
  box-shadow: 0 22px 50px rgba(16, 20, 51, .13);
}
.prod-panel .work-photo {
  height: 210px;
  margin: 0 0 26px;
}
.prod-panel .work-card .no {
  display: inline-block;
  margin: 0 0 14px 24px;
}
.prod-panel .work-card h4,
.prod-panel .work-card .en,
.prod-panel .work-card .feat,
.prod-panel .work-card .pain {
  margin-left: 24px;
  margin-right: 24px;
}
.prod-panel .work-card h4 {
  margin-top: 0;
  font-size: 19px;
}
.prod-panel .work-card .en {
  margin-top: 4px;
  margin-bottom: 18px;
}
.prod-panel .work-card .feat h5,
.prod-panel .work-card .pain h5 {
  font-size: 13px;
}
.prod-panel .work-card .feat ul li,
.prod-panel .work-card .pain ul li {
  font-size: 13px;
  line-height: 1.85;
}

/* ================= 产品详情页 ================= */
.pd-hero {
  padding: calc(var(--nav-h) + 56px) 0 52px;
  background: linear-gradient(135deg, #070b20 0%, #121a44 60%, #0c112e 100%);
}
.pd-hero .breadcrumb { color: rgba(255, 255, 255, .45); font-size: 13px; }
.pd-hero .breadcrumb a { color: rgba(255, 255, 255, .7); text-decoration: none; }
.pd-hero .breadcrumb span { margin: 0 8px; }
.pd-hero h1 {
  margin-top: 16px;
  font-size: clamp(28px, 3.6vw, 44px);
  color: #fff;
  letter-spacing: 2px;
}

.pd-main { padding: 72px 0 10px; }
.pd-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: start;
}
.pd-media img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}
.pd-cat {
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--blue);
  font-weight: 600;
}
.pd-info h2 {
  margin-top: 12px;
  font-size: 34px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 1px;
}
.pd-en {
  margin-top: 8px;
  font-size: 12px;
  letter-spacing: 2.5px;
  color: var(--muted);
}
.pd-intro {
  margin-top: 22px;
  font-size: 15.5px;
  line-height: 2;
  color: var(--muted);
}
.pd-info .btn-hero {
  display: inline-flex;
  margin-top: 26px;
  background: var(--blue);
  border-color: var(--blue);
}

.pd-detail { padding: 26px 0 90px; }
.pd-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 42px;
}
.pd-block h3 {
  margin-bottom: 18px;
  padding-left: 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  border-left: 3px solid var(--blue);
}
.pd-block ul li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--muted);
}
.pd-block ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(74, 92, 245, .5);
}
.pd-spec {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px 18px;
  font-size: 14px;
}
.pd-spec dt { color: var(--muted); }
.pd-spec dd { color: var(--navy); }
.pd-back { margin-top: 48px; }

@media (max-width: 1024px) {
  .pd-grid { grid-template-columns: 1fr; gap: 32px; }
  .pd-media img { height: 300px; }
  .pd-cols { grid-template-columns: 1fr; gap: 30px; }
}

/* 产品列表卡（点击进详情） */
.pcard {
  display: block;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  text-decoration: none;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s, border-color .45s;
}
.pcard-img {
  position: relative;
  height: 240px;
  overflow: hidden;
}
.pcard-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.pcard-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8, 10, 25, .55), transparent 55%);
}
.pcard-name {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 18px;
  z-index: 2;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 1px;
}
.pcard-name em {
  display: block;
  margin-top: 5px;
  font-style: normal;
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 1.8px;
  color: rgba(255, 255, 255, .7);
}
.pcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  font-size: 13px;
  color: var(--muted);
}
.pcard-foot span:last-child { color: var(--blue); }
.pcard:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 92, 245, .3);
  box-shadow: 0 22px 50px rgba(16, 20, 51, .13);
}
.pcard:hover .pcard-img img { transform: scale(1.06); }
.prod-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 1024px) {
  .prod-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .prod-grid { grid-template-columns: 1fr; }
}

/* ================= 各页背景区分 ================= */

/* 侧栏回到顶部：仅在滚动后出现 */
.side-bar #backTop {
  display: none;
  opacity: 0;
}
.side-bar #backTop.is-show {
  display: flex;
  opacity: 1;
  animation: sideBtnIn .35s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes sideBtnIn {
  from { transform: translateY(-6px); opacity: 0; }
  to { transform: none; opacity: 1; }
}

/* 同类产品图错位裁切，避免完全一致 */
.prod-panel .pcard:nth-child(1) .pcard-img img { object-position: 28% center; }
.prod-panel .pcard:nth-child(2) .pcard-img img { object-position: 50% center; }
.prod-panel .pcard:nth-child(3) .pcard-img img { object-position: 72% center; }
.prod-panel .pcard:nth-child(4) .pcard-img img { object-position: 40% center; }

/* 产品卡：型号为主、名称为辅 */
.pcard-name strong {
  display: block;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #fff;
  line-height: 1.25;
}
.pcard-name em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: .6px;
  color: rgba(255, 255, 255, .78);
}

/* 产品网格按数量自适应列数，避免 4 个时落单 */
.prod-panel .prod-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(258px, 1fr));
  gap: 22px;
}
@media (max-width: 640px) {
  .prod-panel .prod-grid { grid-template-columns: 1fr; }
}

/* 产品卡图片按比例自适应宽度 */
.prod-panel .pcard-img {
  height: auto;
  aspect-ratio: 4 / 3;
}

/* 统一三列 */
.prod-panel .prod-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .prod-panel .prod-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .prod-panel .prod-grid { grid-template-columns: 1fr; }
}

/* ================= 产品页：横幅 + 分类 + 子分类 ================= */
.kp-section { padding: 62px 0 90px; }

.kp-banner {
  display: grid;
  grid-template-columns: 1fr 1.55fr 1fr;
  gap: 5px;
  height: 330px;
}
.kb-item { overflow: hidden; }
.kb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kb-center { position: relative; }
.kb-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px 10px;
  background: #1b3a8f;
  color: #fff;
  text-align: center;
  font-size: 21px;
  letter-spacing: 3px;
}

.kp-tabs {
  display: flex;
  gap: 5px;
  margin-top: 5px;
}
.kp-tab {
  flex: 1;
  padding: 17px 8px;
  border: none;
  background: #f2f4f9;
  color: var(--navy);
  font-size: 15px;
  letter-spacing: .5px;
  font-family: inherit;
  cursor: pointer;
  transition: background .3s, color .3s;
}
.kp-tab:hover { background: #e5ebf8; }
.kp-tab.is-active { background: #1b3a8f; color: #fff; }

.kp-panel { display: none; }
.kp-panel.is-active { display: block; animation: kpIn .45s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes kpIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

.kp-sub { margin-top: 62px; }
.kp-sub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}
.kp-sub-head h3 {
  font-size: 25px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--navy);
}
.kp-contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 999px;
  background: #2b2f45;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s, transform .3s;
}
.kp-contact svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kp-contact:hover { background: #1b3a8f; transform: translateY(-2px); }

.kp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.kp-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .06);
  text-decoration: none;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.kp-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.kp-card-body { padding: 18px 20px 20px; }
.kp-card-body strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .5px;
  color: var(--navy);
}
.kp-card-body span {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--muted);
}
.kp-card:hover {
  transform: translateY(-5px);
  border-color: rgba(27, 58, 143, .25);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .1);
}

@media (max-width: 900px) {
  .kp-banner { grid-template-columns: 1fr; height: 220px; }
  .kb-item:nth-child(1),
  .kb-item:nth-child(3) { display: none; }
  .kp-grid { grid-template-columns: repeat(2, 1fr); }
  .kp-tabs { overflow-x: auto; }
  .kp-tab { flex: 0 0 auto; padding: 15px 22px; }
}
@media (max-width: 600px) {
  .kp-grid { grid-template-columns: 1fr; }
  .kp-sub-head { flex-direction: column; align-items: flex-start; }
}

/* 横幅左右切换箭头 */
.kp-banner { position: relative; }
.kb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, .82);
  color: #1b3a8f;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
  transition: background .3s, color .3s, transform .3s;
}
.kb-prev { left: 18px; }
.kb-next { right: 18px; }
.kb-nav:hover {
  background: #1b3a8f;
  color: #fff;
}
.kb-prev:hover { transform: translateY(-50%) translateX(-3px); }
.kb-next:hover { transform: translateY(-50%) translateX(3px); }
.kb-item { cursor: pointer; }

/* 箭头在浅色图上也要看得见 */
.kb-nav {
  background: rgba(17, 24, 51, .55);
  color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
}
.kb-nav:hover { background: #1b3a8f; color: #fff; }

/* 横幅箭头：细线玻璃圆 */
.kb-nav {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 50%;
  color: #fff;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  box-shadow: none;
  font-size: 0;
}
.kb-nav svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kb-nav:hover {
  background: #fff;
  border-color: #fff;
  color: #1b3a8f;
}

/* 箭头最终样式：白底深蓝箭头 */
.kb-nav {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, .92);
  border: none;
  color: #1b3a8f;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 6px 18px rgba(10, 16, 40, .18);
}
.kb-nav svg { stroke-width: 1.6; }
.kb-nav:hover {
  background: #1b3a8f;
  color: #fff;
  box-shadow: 0 8px 22px rgba(27, 58, 143, .35);
}

/* 产品卡入场：从右滑入 + 依次出现 */
.kp-panel.is-active .kp-card {
  animation: kpCardIn .78s cubic-bezier(.16, 1, .3, 1) backwards;
}
.kp-panel.is-active .kp-card:nth-child(1) { animation-delay: .08s; }
.kp-panel.is-active .kp-card:nth-child(2) { animation-delay: .2s; }
.kp-panel.is-active .kp-card:nth-child(3) { animation-delay: .32s; }
.kp-panel.is-active .kp-card:nth-child(4) { animation-delay: .44s; }
@keyframes kpCardIn {
  from { opacity: 0; transform: translateX(96px); }
  to { opacity: 1; transform: translateX(0); }
}

/* 悬停：当前卡放大，旁边的让位缩小 */
.kp-grid .kp-card {
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s, opacity .45s;
}
.kp-grid .kp-card:hover {
  position: relative;
  z-index: 2;
  transform: scale(1.035) translateY(-4px);
  box-shadow: 0 26px 54px rgba(16, 20, 51, .16);
}
.kp-grid:hover .kp-card:not(:hover) {
  transform: scale(.965);
  opacity: .9;
}

/* ================= 产品卡：横向滚动 + 挤压 ================= */
.kp-grid {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  padding-bottom: 16px;
  scrollbar-width: thin;
  scrollbar-color: rgba(27, 58, 143, .28) transparent;
}
.kp-grid::-webkit-scrollbar { height: 6px; }
.kp-grid::-webkit-scrollbar-track { background: rgba(16, 20, 51, .05); }
.kp-grid::-webkit-scrollbar-thumb {
  background: rgba(27, 58, 143, .28);
  border-radius: 3px;
}
.kp-grid::-webkit-scrollbar-thumb:hover { background: rgba(27, 58, 143, .5); }

.kp-card {
  flex: 0 0 calc((100% - 32px) / 3);
  min-width: 240px;
  transition: flex-basis .62s cubic-bezier(.16, 1, .3, 1), box-shadow .6s;
}
.kp-card img {
  height: 100%;
  aspect-ratio: auto;
}
.kp-grid:hover .kp-card { opacity: .94; }
.kp-grid .kp-card:hover {
  flex-basis: calc((100% - 32px) / 2.1);
  opacity: 1;
}
.kp-grid .kp-card:hover { z-index: 2; }

/* 入场放慢，从右侧长距离滑入 */
.kp-panel.is-active .kp-card {
  animation: kpCardIn 1.15s cubic-bezier(.16, 1, .3, 1) backwards;
}
.kp-panel.is-active .kp-card:nth-child(1) { animation-delay: .15s; }
.kp-panel.is-active .kp-card:nth-child(2) { animation-delay: .32s; }
.kp-panel.is-active .kp-card:nth-child(3) { animation-delay: .49s; }
.kp-panel.is-active .kp-card:nth-child(4) { animation-delay: .66s; }
@keyframes kpCardIn {
  from { opacity: 0; transform: translateX(160px); }
  to { opacity: 1; transform: translateX(0); }
}

/* 修正：卡片图随宽度等比变化 */
.kp-card img {
  height: auto;
  aspect-ratio: 4 / 3;
}

/* 悬停不再放大自己，只让两侧收窄 */
.kp-grid .kp-card:hover {
  flex-basis: calc((100% - 32px) / 3);
  opacity: 1;
  box-shadow: 0 18px 40px rgba(16, 20, 51, .12);
  border-color: rgba(27, 58, 143, .25);
}
.kp-grid:hover .kp-card:not(:hover) {
  flex-basis: calc((100% - 32px) / 3.4);
  opacity: .95;
}

/* 卡片悬停：横向延伸，高度不变 */
.kp-card img {
  height: 250px;
  aspect-ratio: auto;
  object-fit: cover;
}
.kp-card {
  transition: flex-basis .65s cubic-bezier(.16, 1, .3, 1), box-shadow .6s, border-color .6s;
}
.kp-grid .kp-card:hover {
  flex-basis: calc((100% - 32px) / 1.95);
  box-shadow: 0 20px 44px rgba(16, 20, 51, .14);
  border-color: rgba(27, 58, 143, .28);
}
.kp-grid:hover .kp-card:not(:hover) {
  flex-basis: calc((100% - 32px) / 3.55);
  opacity: .95;
}

/* 微调：悬停卡约 45%、其余约 27%，三张合计不超一屏，避免横向跳动 */
.kp-grid .kp-card:hover {
  flex-basis: calc((100% - 32px) / 2.22);
}
.kp-grid:hover .kp-card:not(:hover) {
  flex-basis: calc((100% - 32px) / 3.7);
}

/* 卡片延伸改柔和：用 flex-grow 比例分配，幅度收小 */
.kp-grid .kp-card {
  flex: 1 1 0;
  min-width: 0;
  transition: flex-grow .75s cubic-bezier(.4, 0, .2, 1), box-shadow .6s, border-color .6s, opacity .6s;
}
.kp-grid .kp-card:hover {
  flex-grow: 1.42;
  flex-basis: 0;
  box-shadow: 0 18px 40px rgba(16, 20, 51, .12);
  border-color: rgba(27, 58, 143, .22);
  opacity: 1;
}
.kp-grid:hover .kp-card:not(:hover) {
  flex-grow: 1;
  flex-basis: 0;
  opacity: .96;
}

/* 横幅图片悬停反馈 + 分类按钮 hover 加强 */
.kb-item img {
  transition: transform .8s cubic-bezier(.16, 1, .3, 1), filter .5s ease;
}
.kb-item:hover img {
  transform: scale(1.055);
  filter: brightness(1.06) saturate(1.05);
}
.kp-tab {
  transition: background .32s, color .32s;
}
.kp-tab:hover {
  background: #dfe7f7;
  color: #1b3a8f;
}
.kp-tab.is-active:hover {
  background: #16307a;
  color: #fff;
}

/* 横幅改为：每分类一张图，当前分类展开 */
.kp-banner {
  display: flex;
  gap: 5px;
  height: 330px;
  position: relative;
}
.kp-banner .kb-item {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: flex-grow .85s cubic-bezier(.4, 0, .2, 1);
}
.kp-banner .kb-item.is-active { flex-grow: 2.7; }
.kp-banner .kb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .85s cubic-bezier(.4, 0, .2, 1), filter .5s;
  filter: brightness(.72) saturate(.85);
}
.kp-banner .kb-item.is-active img { filter: brightness(1) saturate(1); }
.kp-banner .kb-item:hover img { filter: brightness(1.02) saturate(1); }
.kp-banner .kb-item.is-active:hover img { filter: brightness(1.04) saturate(1.02); }

/* 当前分类的图始终居中 */
.kp-banner .kb-item { order: 1; }
.kp-banner .kb-item.is-active {
  order: 2;
  flex-grow: 2.7;
}

/* 横幅改为三位置轮播：左 / 中 / 右 */
.kp-banner {
  position: relative;
  height: 330px;
  display: block;
}
.kp-banner .kb-item {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: hidden;
  cursor: pointer;
  transition: left .85s cubic-bezier(.4, 0, .2, 1), width .85s cubic-bezier(.4, 0, .2, 1);
}
.kp-banner .kb-item.pos-left { left: 0; width: 21%; }
.kp-banner .kb-item.pos-center { left: 21.6%; width: 56.8%; }
.kp-banner .kb-item.pos-right { left: 79%; width: 21%; }
.kp-banner .kb-item img {
  filter: brightness(.68) saturate(.85);
  transition: filter .5s ease;
}
.kp-banner .kb-item.pos-center img {
  filter: brightness(1) saturate(1);
}
.kp-banner .kb-item:hover img { filter: brightness(.95) saturate(1); }
.kp-banner .kb-item.pos-center:hover img { filter: brightness(1.03) saturate(1.02); }

/* 横幅布局兜底 */
.kp-banner {
  display: block !important;
  position: relative !important;
  height: 330px;
}
.kp-banner .kb-item {
  position: absolute !important;
  top: 0;
  bottom: 0;
  overflow: hidden;
}
.kp-banner .kb-item img { width: 100%; height: 100%; object-fit: cover; }

/* 切换时降低移动中图片的存在感，避免穿透感 */
.kp-banner .kb-item { opacity: .92; }
.kp-banner .kb-item:hover { opacity: 1; }

/* 恢复不透明，层次靠亮度与位置区分 */
.kp-banner .kb-item { opacity: 1; }

/* 分类按钮：蓝色底块滑动跟随 */
.kp-tabs {
  position: relative;
  display: flex;
  gap: 5px;
}
.kp-indicator {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  background: #1b3a8f;
  transition: left .5s cubic-bezier(.4, 0, .2, 1), width .5s cubic-bezier(.4, 0, .2, 1);
  z-index: 0;
  pointer-events: none;
}
.kp-tab {
  position: relative;
  z-index: 1;
  background: transparent;
  color: var(--navy);
}
.kp-tab:hover { background: rgba(27, 58, 143, .07); color: #1b3a8f; }
.kp-tab.is-active,
.kp-tab.is-active:hover {
  background: transparent;
  color: #fff;
}

/* 产品卡：滚动到位才播入场，时长放慢 */
.kp-card {
  opacity: 0;
}
.kp-card.in-view {
  animation: kpCardInSlow 1.45s cubic-bezier(.16, 1, .3, 1) forwards;
}
@keyframes kpCardInSlow {
  from { opacity: 0; transform: translateX(150px); }
  to { opacity: 1; transform: translateX(0); }
}
.kp-card.no-anim { opacity: 1; animation: none; }

/* 覆盖旧的立即播放规则，改由 .in-view 控制 */
.kp-panel.is-active .kp-card { animation: none; }
.kp-panel.is-active .kp-card.in-view {
  animation: kpCardInSlow 1.45s cubic-bezier(.16, 1, .3, 1) forwards;
}
.kp-card.no-anim { opacity: 1 !important; animation: none !important; }

/* 入场触发更容易命中 */
.kp-grid { --kp-seen: 0; }

/* 产品卡改为纯图卡：文字压图，无白底边框 */
.kp-card {
  background: transparent;
  border: none;
  position: relative;
  overflow: hidden;
  box-shadow: none;
}
.kp-card img {
  height: 300px;
  aspect-ratio: auto;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.16, 1, .3, 1);
}
.kp-card:hover img { transform: scale(1.045); }
.kp-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 52px 22px 20px;
  background: linear-gradient(to top, rgba(6, 9, 24, .78), rgba(6, 9, 24, .28) 55%, transparent);
  pointer-events: none;
}
.kp-card-body strong {
  display: block;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .8px;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
.kp-card-body span {
  display: block;
  margin-top: 5px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .78);
  letter-spacing: .5px;
}
.kp-grid .kp-card:hover {
  border: none;
  box-shadow: 0 18px 40px rgba(6, 9, 24, .28);
}

/* 分类按钮条：恢复白底与分隔 */
.kp-tabs {
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  box-shadow: 0 4px 18px rgba(16, 20, 51, .06);
  min-height: 56px;
}
.kp-tab {
  color: #2a3150;
  background: transparent;
  font-size: 15px;
  letter-spacing: .5px;
}
.kp-tab:hover { background: rgba(27, 58, 143, .06); color: #1b3a8f; }
.kp-tab.is-active,
.kp-tab.is-active:hover { color: #fff; background: transparent; }
.kp-indicator { background: #1b3a8f; }

/* ================= 背景大改：去掉虚化照片，改干净浅色渐变 ================= */
body::before {
  background: linear-gradient(180deg, #f7f9fd 0%, #eef3fa 55%, #f4f7fc 100%) !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}
body.page-about::before {
  background: linear-gradient(180deg, #f8f9fc 0%, #f0f3f9 60%, #f6f7fb 100%) !important;
}
body.page-products::before {
  background: linear-gradient(180deg, #f6f8fd 0%, #ecf1fa 60%, #f5f8fd 100%) !important;
}
body.page-apps::before {
  background: linear-gradient(180deg, #f5f8f8 0%, #ebf2f1 60%, #f4f8f7 100%) !important;
}
body.page-news::before {
  background: linear-gradient(180deg, #f8f8fa 0%, #f0f1f6 60%, #f7f7fa 100%) !important;
}
body.page-contact::before {
  background: linear-gradient(180deg, #f7f7fc 0%, #f0eff8 60%, #f6f5fb 100%) !important;
}
body.page-detail::before {
  background: linear-gradient(180deg, #f6f8fd 0%, #edf1f8 60%, #f6f8fc 100%) !important;
}

body::after {
  background:
    radial-gradient(620px circle at 15% 20%, rgba(74, 92, 245, .07), transparent 62%),
    radial-gradient(700px circle at 85% 75%, rgba(77, 216, 232, .05), transparent 62%),
    rgba(255, 255, 255, .5) !important;
  animation: aurora 30s ease-in-out infinite alternate !important;
}

/* 内容区改为纯白卡片感 */
.page-section { background: transparent; }
.page-section.alt { background: rgba(255, 255, 255, .55); }
.kp-section { background: transparent; }

/* 各页背景纹理：干净但有辨识度 */
body.page-home::before {
  background:
    radial-gradient(620px circle at 82% 8%, rgba(74, 92, 245, .09), transparent 62%),
    repeating-linear-gradient(112deg, rgba(74, 92, 245, .032) 0 1px, transparent 1px 96px),
    linear-gradient(180deg, #f7f9fd 0%, #eef3fa 55%, #f4f7fc 100%) !important;
}
body.page-about::before {
  background:
    repeating-linear-gradient(90deg, rgba(74, 92, 245, .038) 0 1px, transparent 1px 96px),
    linear-gradient(180deg, #f8f9fc 0%, #eff2f9 60%, #f6f7fb 100%) !important;
}
body.page-products::before {
  background:
    linear-gradient(rgba(27, 58, 143, .035) 1px, transparent 1px) 0 0 / 100% 88px,
    linear-gradient(90deg, rgba(27, 58, 143, .035) 1px, transparent 1px) 0 0 / 88px 100%,
    linear-gradient(180deg, #f6f8fd 0%, #eaf0fa 60%, #f5f8fd 100%) !important;
}
body.page-apps::before {
  background:
    radial-gradient(rgba(46, 160, 150, .13) 1.2px, transparent 1.2px) 0 0 / 28px 28px,
    linear-gradient(180deg, #f5f8f8 0%, #e9f1f0 60%, #f4f8f7 100%) !important;
}
body.page-news::before {
  background:
    repeating-linear-gradient(0deg, rgba(16, 20, 51, .034) 0 1px, transparent 1px 62px),
    linear-gradient(180deg, #f8f8fa 0%, #eff0f5 60%, #f7f7fa 100%) !important;
}
body.page-contact::before {
  background:
    repeating-linear-gradient(54deg, rgba(110, 85, 210, .04) 0 1px, transparent 1px 76px),
    linear-gradient(180deg, #f7f7fc 0%, #efedf8 60%, #f6f5fb 100%) !important;
}
body.page-detail::before {
  background:
    radial-gradient(circle at 88% 12%, rgba(74, 92, 245, .08), transparent 40%),
    repeating-linear-gradient(0deg, rgba(16, 20, 51, .03) 0 1px, transparent 1px 72px),
    linear-gradient(180deg, #f6f8fd 0%, #edf1f8 60%, #f6f8fc 100%) !important;
}

/* 收窄留白：加宽容器、压缩上下间距 */
:root { --container: 1360px; }
.container { max-width: 1360px; padding: 0 24px; }
.page-section { padding-top: 62px; padding-bottom: 62px; }
.kp-section { padding: 46px 0 70px; }
.kp-sub { margin-top: 52px; }

/* 地图嵌入 */
.map-box {
  position: relative;
  height: 420px;
  background: #eef2f8;
  border: 1px solid rgba(16, 20, 51, .07);
  overflow: hidden;
}
.map-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(.9);
}
.map-link {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 10px 20px;
  background: rgba(255, 255, 255, .95);
  color: #1b3a8f;
  font-size: 13px;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(10, 16, 40, .12);
  transition: background .3s, color .3s;
}
.map-link:hover { background: #1b3a8f; color: #fff; }

/* 地图区：静态示意 + 跳转真实地图 */
.map-box {
  position: relative;
  height: 400px;
  overflow: hidden;
  background: #eef3fa;
  border: 1px solid rgba(16, 20, 51, .07);
}
.map-grid {
  position: absolute;
  inset: -40px;
  background:
    linear-gradient(rgba(27, 58, 143, .07) 1px, transparent 1px) 0 0 / 100% 52px,
    linear-gradient(90deg, rgba(27, 58, 143, .07) 1px, transparent 1px) 0 0 / 52px 100%,
    linear-gradient(112deg, transparent 46%, rgba(27, 58, 143, .12) 46.3%, rgba(27, 58, 143, .12) 46.9%, transparent 47.2%),
    linear-gradient(18deg, transparent 62%, rgba(27, 58, 143, .1) 62.3%, rgba(27, 58, 143, .1) 62.9%, transparent 63.2%),
    linear-gradient(160deg, transparent 28%, rgba(60, 160, 220, .10) 28.2%, rgba(60, 160, 220, .10) 29.4%, transparent 29.6%);
  transform: rotate(-1.5deg);
}
.map-pin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.pin-dot {
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #1b3a8f;
  box-shadow: 0 0 0 6px rgba(27, 58, 143, .16), 0 0 0 14px rgba(27, 58, 143, .08);
}
.pin-dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  border-radius: 50%;
  border: 1px solid rgba(27, 58, 143, .35);
  animation: pinPulse 2.6s ease-out infinite;
}
@keyframes pinPulse {
  0% { transform: scale(.5); opacity: .8; }
  100% { transform: scale(1.8); opacity: 0; }
}
.pin-card {
  background: #fff;
  padding: 14px 20px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(10, 16, 40, .14);
  border-radius: 2px;
}
.pin-card strong {
  display: block;
  font-size: 14.5px;
  color: var(--navy);
  margin-bottom: 5px;
}
.pin-card span { font-size: 12.5px; color: var(--muted); }
.map-link {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 11px 20px;
  background: #1b3a8f;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  transition: background .3s;
}
.map-link:hover { background: #122a66; }

/* 首页板块导览 */
.sitemap { background: rgba(255, 255, 255, .55); }
.sitemap-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.sitemap-card {
  position: relative;
  display: block;
  padding: 30px 28px 34px;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  text-decoration: none;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.sm-no {
  font-size: 11.5px;
  letter-spacing: 2px;
  font-weight: 700;
  color: var(--gold);
}
.sitemap-card h3 {
  margin: 12px 0 10px;
  font-size: 20px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: .5px;
}
.sitemap-card p {
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--muted);
}
.sm-arrow {
  position: absolute;
  right: 26px;
  bottom: 24px;
  font-size: 17px;
  color: var(--blue);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.sitemap-card:hover {
  transform: translateY(-4px);
  border-color: rgba(74, 92, 245, .3);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .1);
}
.sitemap-card:hover .sm-arrow { transform: translateX(5px); }
@media (max-width: 1024px) {
  .sitemap-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .sitemap-grid { grid-template-columns: 1fr; }
}

/* ================= 首页栏目区块 ================= */
.home-sections { padding-top: 20px; }
.home-block {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 62px;
  align-items: center;
  padding: 64px 0;
  border-bottom: 1px solid rgba(16, 20, 51, .07);
}
.home-block:last-child { border-bottom: none; }
.home-block.reverse .hb-media { order: 2; }
.hb-media img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}
.hb-en {
  font-size: 11.5px;
  letter-spacing: 4px;
  font-weight: 600;
  color: var(--gold);
}
.hb-body h2 {
  margin: 14px 0 16px;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--navy);
}
.hb-text {
  font-size: 15px;
  line-height: 2;
  color: var(--muted);
}
.hb-list {
  margin-top: 22px;
  display: grid;
  gap: 9px;
}
.hb-list li {
  position: relative;
  padding-left: 16px;
  font-size: 13.5px;
  line-height: 1.8;
  color: #55607a;
}
.hb-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(74, 92, 245, .5);
}
.hb-meta {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
}
.hb-cell strong {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: .5px;
}
.hb-cell span {
  display: block;
  margin-top: 4px;
  font-size: 12.5px;
  color: var(--muted);
}
.hb-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  font-size: 14px;
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid rgba(74, 92, 245, .3);
  padding-bottom: 3px;
  transition: gap .3s, border-color .3s;
}
.hb-link:hover { gap: 14px; border-bottom-color: var(--blue); }
@media (max-width: 900px) {
  .home-block { grid-template-columns: 1fr; gap: 26px; padding: 44px 0; }
  .home-block.reverse .hb-media { order: 0; }
  .hb-media img { height: 240px; }
}

/* 交错卡片区 */
.zigzag {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 30px;
}
.zz-card {
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  overflow: hidden;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s;
}
.zigzag .zz-card:nth-child(even) { margin-top: 52px; }
.zz-img { height: 250px; overflow: hidden; }
.zz-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.zz-body { padding: 22px 24px 24px; }
.zz-body h3 {
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: .5px;
}
.zz-body p {
  margin-top: 8px;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--muted);
}
.zz-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 44px rgba(16, 20, 51, .11);
}
.zz-card:hover .zz-img img { transform: scale(1.05); }
.zz-more { margin-top: 44px; text-align: center; }
@media (max-width: 820px) {
  .zigzag { grid-template-columns: 1fr; }
  .zigzag .zz-card:nth-child(even) { margin-top: 0; }
}

/* 图文区块：图片跟随文档，不做吸附 */
.home-block {
  align-items: start;
  min-height: 86vh;
  padding: 56px 0;
}
.hb-media {
  position: relative;
  top: auto;
}
.hb-body {
  padding-top: 24px;
}
@media (max-width: 900px) {
  .home-block { min-height: 0; }
  .hb-media { position: static; }
  .hb-body { padding-top: 0; }
}

/* ================= 首页整页吸附（重写） ================= */
@media (min-width: 901px) {
  html:has(body.page-home) {
    scroll-snap-type: none;
    scroll-behavior: auto;
  }
  body.page-home .hero,
  body.page-home .home-block,
  body.page-home .zigzag-section {
    height: 100vh;
    min-height: 100vh;
  }
  body.page-home .home-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(36px, 5vw, 76px);
    align-items: center;
    padding: clamp(76px, 9vh, 100px) 0;
  }
  body.page-home .hero { padding: 0; display: block; }
}

/* 通用：块内标题更大 */
.home-block .hb-body h2 { font-size: clamp(28px, 2.6vw, 40px); }
.home-block .hb-text { font-size: 15.5px; line-height: 1.95; }
.home-block .hb-list li { font-size: 14.5px; }

/* ---------- A 关于我们：左文右图 ---------- */
.v-a .hb-media img { height: clamp(260px, 52vh, 470px); }

/* ---------- B 企业文化：左图右文 + 编号列表 ---------- */
.v-b .hb-media { order: -1; }
.v-b .hb-media img { height: clamp(280px, 62vh, 540px); }
.hb-steps { list-style: none; margin-top: 30px; border-top: 1px solid var(--line); }
.hb-steps li {
  display: flex;
  gap: 18px;
  align-items: baseline;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.7;
}
.hb-steps li span {
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--blue);
  font-weight: 700;
  min-width: 22px;
}

/* ---------- C 品质创新：深色通栏 ---------- */
.v-c {
  background: linear-gradient(118deg, #0b1130 0%, #1b2a5e 62%, #101a3c 100%);
  padding-left: clamp(28px, 4vw, 60px) !important;
  padding-right: clamp(28px, 4vw, 60px) !important;
  position: relative;
}
.v-c::after {
  content: "";
  position: absolute;
  right: -8%;
  top: -30%;
  width: 46%;
  height: 160%;
  background: radial-gradient(circle, rgba(90, 124, 255, .28), transparent 62%);
  pointer-events: none;
}
.v-c .hb-media { order: 2; position: relative; z-index: 1; }
.v-c .hb-media img {
  height: clamp(250px, 46vh, 400px);
  clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
}
.v-c .hb-body { position: relative; z-index: 1; }
.v-c .hb-en { color: #7ea6ff; }
.v-c .hb-body h2 { color: #fff; }
.v-c .hb-text { color: rgba(255, 255, 255, .74); }
.v-c .hb-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 26px;
  margin-top: 26px;
}
.v-c .hb-list li { color: rgba(255, 255, 255, .8); }
.v-c .hb-list li::before { background: rgba(126, 166, 255, .85); }
.v-c .hb-link { color: #9fb8ff; border-bottom-color: rgba(159, 184, 255, .4); }

/* ---------- D 产品中心：上方标题 + 三张图平铺 ---------- */
.v-d {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 0;
}
.vd-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 76px);
  align-items: end;
  margin-bottom: clamp(26px, 4vh, 44px);
}
.vd-top .hb-text { margin-top: 0; }
.vd-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.vd-item {
  display: block;
  text-decoration: none;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
}
.vd-img { overflow: hidden; height: clamp(150px, 26vh, 250px); }
.vd-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.vd-item:hover .vd-img img { transform: scale(1.06); }
.vd-txt { padding: 16px 18px 18px; }
.vd-txt strong {
  display: block;
  font-size: 16.5px;
  font-weight: 600;
  color: var(--navy);
}
.vd-txt span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: var(--muted);
}
.vd-more { margin-top: clamp(20px, 3vh, 34px); align-self: flex-start; }

/* ---------- E 应用案例：通栏图 + 居中 ---------- */
.v-e {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.ve-img {
  width: 100%;
  height: clamp(180px, 34vh, 300px);
  overflow: hidden;
  margin-bottom: clamp(24px, 4vh, 42px);
}
.ve-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ve-body { max-width: 900px; margin: 0 auto; }
.ve-body .hb-en { letter-spacing: 6px; }
.ve-body .hb-text { max-width: 660px; margin: 18px auto 0; }
.ve-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: clamp(24px, 4vh, 40px);
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ve-row a {
  background: rgba(255, 255, 255, .72);
  padding: 20px 14px;
  text-decoration: none;
  text-align: left;
  transition: background .35s;
}
.ve-row a:hover { background: #fff; }
.ve-row strong { display: block; font-size: 15.5px; color: var(--navy); font-weight: 600; }
.ve-row em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.7;
}

/* ---------- F 新闻资讯：窄图 + 右侧条目 ---------- */
.v-f { grid-template-columns: .78fr 1.22fr !important; align-items: center; }
.vf-side .vf-img {
  height: clamp(150px, 24vh, 230px);
  overflow: hidden;
  margin-bottom: 22px;
}
.vf-side .vf-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vf-list { border-top: 1px solid var(--line); }
.vf-item {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 4px 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: padding-left .35s;
}
.vf-item:hover { padding-left: 8px; }
.vf-item time {
  font-size: 12.5px;
  color: var(--blue);
  letter-spacing: .5px;
  padding-top: 3px;
}
.vf-item strong { display: block; font-size: 16px; font-weight: 600; color: var(--navy); }
.vf-item span {
  display: block;
  grid-column: 2;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}

/* ---------- G 人才招聘：深色左块 + 岗位行 ---------- */
.v-g {
  grid-template-columns: .82fr 1.18fr !important;
  gap: 0 !important;
  padding: 0 !important;
  align-items: stretch;
}
.vg-left {
  background: linear-gradient(150deg, #0e1433 0%, #22306b 100%);
  padding: clamp(48px, 7vh, 80px) clamp(34px, 4vw, 58px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.vg-left .hb-en { color: #7ea6ff; }
.vg-left h2 { color: #fff; font-size: clamp(28px, 2.6vw, 40px); margin-top: 10px; }
.vg-left .hb-text { color: rgba(255, 255, 255, .74); margin-top: 16px; }
.vg-left .hb-link { color: #9fb8ff; border-bottom-color: rgba(159, 184, 255, .4); }
.vg-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 6vh, 68px) clamp(34px, 4vw, 58px);
  background: #fff;
}
.vg-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 16px;
  padding: 20px 4px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: padding-left .35s, background .35s;
}
.vg-row:first-child { border-top: 1px solid var(--line); }
.vg-row:hover { padding-left: 12px; background: rgba(74, 92, 245, .04); }
.vg-row strong { font-size: 16px; font-weight: 600; color: var(--navy); }
.vg-row span { font-size: 13px; color: var(--muted); }
.vg-row em {
  font-style: normal;
  font-size: 11.5px;
  color: var(--blue);
  border: 1px solid rgba(74, 92, 245, .35);
  padding: 3px 9px;
  white-space: nowrap;
}

/* ---------- H 联系我们：四格信息 ---------- */
.v-h {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.vh-head { max-width: 700px; margin: 0 auto; }
.vh-head .hb-en { letter-spacing: 6px; }
.vh-head .hb-text { margin-top: 18px; }
.vh-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: clamp(30px, 5vh, 52px);
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.vh-cell { background: rgba(255, 255, 255, .76); padding: 26px 18px; }
.vh-cell span {
  display: block;
  font-size: 12.5px;
  color: var(--muted);
  letter-spacing: 1px;
}
.vh-cell strong {
  display: block;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.5;
}
.vh-btn {
  display: inline-block;
  align-self: center;
  margin-top: clamp(28px, 5vh, 48px);
  padding: 16px 54px;
  background: var(--navy);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 2px;
  transition: background .35s, transform .35s;
}
.vh-btn:hover { background: var(--blue); transform: translateY(-2px); }

@media (max-width: 900px) {
  body.page-home .hero,
  body.page-home .home-block,
  body.page-home .zigzag-section { height: auto; min-height: 0; }
  .v-a .hb-media img,
  .v-b .hb-media img,
  .v-c .hb-media img { height: 240px; }
  .vd-top { grid-template-columns: 1fr; align-items: start; }
  .vd-row { grid-template-columns: 1fr; }
  .ve-row, .vh-grid { grid-template-columns: 1fr 1fr; }
  .vf-item { grid-template-columns: 1fr; }
  .vf-item span { grid-column: 1; }
  .vg-left, .vg-right { padding: 40px 26px; }
  .vg-row { grid-template-columns: 1fr auto; }
  .vg-row span { display: none; }
  .v-g { grid-template-columns: 1fr !important; }
  .c-title { font-size: 26px; }
}

/* ============ 细节修正：通栏深色块 / 招聘分割 / 应用案例补充 ============ */
.v-c {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50% + 52px) !important;
  padding-right: calc(50vw - 50% + 52px) !important;
}
@media (max-width: 900px) {
  .v-c { margin-left: 0; margin-right: 0; padding-left: 0 !important; padding-right: 0 !important; }
}
body.page-home .home-block.v-g { align-items: stretch; }
.patchnote { display: none; }
.ve-link {
  display: inline-block;
  margin-top: clamp(22px, 3.4vh, 36px);
  font-size: 14px;
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid rgba(74, 92, 245, .3);
  padding-bottom: 3px;
}
.ve-link:hover { border-bottom-color: var(--blue); }
.v-c { overflow: hidden; }

/* ============ 一屏内容放大 ============ */
.home-block h2 {
  font-size: clamp(30px, 2.9vw, 44px);
  font-weight: 600;
  letter-spacing: .5px;
  color: var(--navy);
  line-height: 1.25;
}
.home-block .hb-body h2 { margin: 14px 0 18px; }
.home-block .hb-text { font-size: clamp(15px, 1.05vw, 16.5px); }
.home-block .hb-en { font-size: 12.5px; letter-spacing: 4.5px; }
.vd-top h2 { margin-top: 12px; }
.ve-img { height: clamp(200px, 40vh, 340px); }
.ve-body h2 { margin-top: 12px; }
.ve-row a { padding: 24px 16px; }
.ve-row strong { font-size: 16.5px; }
.ve-row em { font-size: 13px; }
.vh-cell { padding: 32px 18px; }
.vh-cell strong { font-size: 17px; }
.vg-left h2 { font-size: clamp(30px, 2.9vw, 42px); }
.vf-item { padding: 22px 0; }
.vf-item strong { font-size: 17px; }
.vd-txt strong { font-size: 17px; }
@media (min-width: 901px) {
  body.page-home .home-sections { padding-top: 0; padding-bottom: 0; }
  body.page-home .zigzag-section { padding: 40px 0; }
  body.page-home .zigzag-section > .container { width: 100%; }
  body.page-home .zz-img { height: clamp(150px, 30vh, 260px); }
}

/* ===== 品质创新：改成深色左右分栏，右半整幅照片 ===== */
body.page-home .home-block.v-c {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: linear-gradient(90deg, #0a102e 0%, #121c46 100%) !important;
  overflow: hidden;
}
.v-c::after { display: none !important; }
body.page-home .v-c .hb-body {
  order: 0;
  padding-top: clamp(44px, 6vh, 76px);
  padding-bottom: clamp(44px, 6vh, 76px);
  padding-right: clamp(30px, 3.4vw, 64px);
  padding-left: max(24px, calc((100vw - 1360px) / 2 + 24px)) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.page-home .v-c .hb-media {
  order: 1;
  position: relative;
  height: 100%;
  min-height: 100%;
}
body.page-home .v-c .hb-media img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  clip-path: none !important;
  display: block;
}
.v-c .hb-text { max-width: 520px; }
.v-c .hb-list { max-width: 560px; }

@media (max-width: 900px) {
  body.page-home .home-block.v-c { grid-template-columns: 1fr !important; margin-left: 0 !important; margin-right: 0 !important; }
  body.page-home .v-c .hb-body { padding: 40px 24px !important; }
  body.page-home .v-c .hb-media { min-height: 220px; height: 220px; }
}

/* 品质创新右侧四格 */
body.page-home .v-c .vc-grid {
  order: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 100%;
  border-left: 1px solid rgba(255, 255, 255, .1);
}
.vc-cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: clamp(20px, 3vh, 40px) clamp(20px, 2.4vw, 40px);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  border-right: 1px solid rgba(255, 255, 255, .1);
}
.vc-cell:nth-child(odd) { border-right: 1px solid rgba(255, 255, 255, .1); }
.vc-cell:nth-child(-n+2) { border-top: none; }
.vc-cell span {
  font-size: 12px;
  letter-spacing: 2px;
  color: rgba(126, 166, 255, .85);
}
.vc-cell strong {
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
}
.vc-cell em {
  font-style: normal;
  font-size: 13px;
  color: rgba(255, 255, 255, .55);
}
@media (max-width: 900px) {
  body.page-home .v-c .vc-grid { height: auto; border-left: none; }
}

/* 品质创新四格：字号与悬停 */
.vc-cell strong { font-size: clamp(18px, 1.35vw, 22px); }
.vc-cell em { font-size: 13.5px; }
.vc-cell { transition: background .4s; }
.vc-cell:hover { background: rgba(255, 255, 255, .04); }
.vc-cell span { font-weight: 600; }

/* 品质创新：右侧改成四行指标表 */
body.page-home .v-c .vc-grid {
  order: 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, 1fr);
  height: 100%;
  border-left: 1px solid rgba(255, 255, 255, .1);
  padding: clamp(16px, 3vh, 48px) clamp(24px, 3.6vw, 56px);
}
body.page-home .v-c .vc-cell {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 0;
  border-right: none;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  transition: padding-left .4s;
}
body.page-home .v-c .vc-cell:last-child { border-bottom: none; }
body.page-home .v-c .vc-cell:hover { padding-left: 10px; background: none; }
.vc-cell em { text-align: right; }
@media (max-width: 900px) {
  body.page-home .v-c .vc-grid { grid-template-rows: auto; padding: 8px 24px 24px; border-left: none; }
  body.page-home .v-c .vc-cell { grid-template-columns: 40px 1fr; padding: 14px 0; }
  .vc-cell em { display: none; }
}

/* 四行指标表：整组居中，行高收紧 */
body.page-home .v-c .vc-grid {
  grid-template-rows: none;
  grid-auto-rows: auto;
  align-content: center;
  padding-top: clamp(24px, 4vh, 56px);
  padding-bottom: clamp(24px, 4vh, 56px);
}
body.page-home .v-c .vc-cell {
  padding-top: clamp(20px, 3.2vh, 34px);
  padding-bottom: clamp(20px, 3.2vh, 34px);
}

/* 指标表右边缘与容器对齐 */
body.page-home .v-c .vc-grid {
  padding-right: max(24px, calc((100vw - 1360px) / 2 + 24px));
  padding-left: clamp(24px, 3.2vw, 52px);
}

/* ===== 关于我们：把字号和信息量撑起来 ===== */
body.page-home .v-a .hb-en { font-size: 13px; letter-spacing: 6px; }
body.page-home .v-a .hb-body h2 {
  font-size: clamp(46px, 4.8vw, 74px);
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin: 18px 0 24px;
}
body.page-home .v-a .hb-text {
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.95;
  max-width: 540px;
}
body.page-home .v-a .hb-meta {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  gap: 26px 32px;
}
body.page-home .v-a .hb-cell strong {
  font-size: clamp(32px, 2.9vw, 44px);
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
body.page-home .v-a .hb-cell span { margin-top: 8px; font-size: 13px; letter-spacing: .5px; }
body.page-home .v-a .hb-link { margin-top: 32px; font-size: 15px; }
body.page-home .v-a .hb-media img { height: clamp(320px, 64vh, 600px); }

/* 关于我们：右图做成通栏，顶到屏幕右边 */
body.page-home .home-block.v-a {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
}
body.page-home .v-a .hb-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(48px, 7vh, 92px);
  padding-bottom: clamp(48px, 7vh, 92px);
  padding-right: clamp(32px, 3.6vw, 72px);
  padding-left: max(24px, calc((100vw - 1360px) / 2 + 24px));
}
body.page-home .v-a .hb-media {
  order: 1;
  height: 100%;
  min-height: 100%;
  position: relative;
}
body.page-home .v-a .hb-media img {
  width: 100%;
  height: 100% !important;
  min-height: 100%;
  object-fit: cover;
}

/* ===== 首页各块统一放大字号 ===== */
.home-block h2 { font-size: clamp(34px, 3.6vw, 56px); letter-spacing: -.5px; }
.home-block .hb-text { font-size: clamp(16px, 1.1vw, 17.5px); line-height: 1.95; }
.hb-steps li { font-size: 15.5px; padding: 17px 0; }
.hb-steps li span { font-size: 12.5px; }
.vd-top .hb-text { font-size: clamp(15.5px, 1.05vw, 17px); }
.vd-txt strong { font-size: 18px; }
.vd-txt span { font-size: 13.5px; }
.ve-row strong { font-size: 18px; }
.ve-row em { font-size: 13.5px; }
.vf-item strong { font-size: 18px; }
.vf-item time { font-size: 13px; }
.vf-item span { font-size: 13.5px; }
.vg-row strong { font-size: 17.5px; }
.vg-row span { font-size: 13.5px; }
.vh-cell strong { font-size: 18px; }
.vc-cell strong { font-size: clamp(19px, 1.45vw, 24px); }
.vc-cell span { font-size: 12.5px; }

/* 修：position:relative 时继承了 sticky 的 top 偏移 */
body.page-home .v-a .hb-media,
body.page-home .v-c .hb-media { top: 0; left: auto; right: auto; bottom: auto; }

.v-c .hb-text { max-width: 600px; }
.v-c .hb-body h2 { font-size: clamp(38px, 4vw, 60px); letter-spacing: -1px; }

/* ===== 收窄左右留白：容器加宽到接近满屏 ===== */
:root {
  --content-w: min(1680px, calc(100vw - 96px));
  --edge: calc((100vw - var(--content-w)) / 2);
}
.container {
  max-width: var(--content-w);
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 900px) {
  .container { max-width: 100%; padding-left: 20px; padding-right: 20px; }
}

/* 通栏块的内容重新对齐新容器边距 */
body.page-home .v-a .hb-body { padding-left: var(--edge); }
body.page-home .v-c .hb-body { padding-left: var(--edge) !important; }
body.page-home .v-c .vc-grid { padding-right: var(--edge); }

/* 关于我们：文字铺满左列 */
body.page-home .v-a .hb-text { max-width: 640px; }
body.page-home .v-a .hb-meta { max-width: 660px; }

/* 右侧给固定工具栏让位，避免文字被压住 */
:root { --side-gap: 66px; --edge-l: calc((100vw - var(--content-w)) / 2); }
@media (min-width: 901px) {
  .container { padding-right: var(--side-gap); }
}

/* 通栏块用固定公式贴到视口两边 */
body.page-home .home-block.v-a,
body.page-home .home-block.v-c {
  width: 100vw;
  margin-left: calc(-1 * var(--edge-l)) !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
body.page-home .v-a .hb-body { padding-left: var(--edge-l); }
body.page-home .v-c .hb-body { padding-left: var(--edge-l) !important; }
body.page-home .v-c .vc-grid { padding-right: calc(var(--edge-l) + var(--side-gap)); }

/* ===== 产品中心：错落竖版图卡 ===== */
body.page-home .home-block.v-p {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px, 8vh, 92px) 0;
}
.vp-head { text-align: center; margin-bottom: clamp(24px, 3.6vh, 44px); }
.vp-head .hb-en { letter-spacing: 5px; font-size: 11.5px; }
.vp-head h2 { margin-top: 10px; }
.vp-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(14px, 1.5vw, 26px);
  align-items: start;
}
.vp-card {
  position: relative;
  display: block;
  height: clamp(270px, 43vh, 420px);
  overflow: hidden;
  text-decoration: none;
  background: #0c1230;
}
.vp-card:nth-child(even) { margin-top: clamp(24px, 4vh, 48px); }
.vp-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1);
}
.vp-card:hover img { transform: scale(1.07); }
.vp-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5, 8, 22, .88) 0%, rgba(5, 8, 22, .34) 42%, rgba(5, 8, 22, 0) 70%);
  transition: opacity .5s;
}
.vp-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 0 clamp(14px, 1.3vw, 22px) clamp(18px, 2.4vh, 28px);
}
.vp-body svg {
  width: 22px;
  height: 22px;
  stroke: rgba(255, 255, 255, .92);
  fill: none;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 12px;
}
.vp-body strong {
  display: block;
  font-size: clamp(15px, 1.15vw, 19px);
  font-weight: 600;
  letter-spacing: .5px;
  color: #fff;
}
.vp-body em {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-size: 10.5px;
  letter-spacing: 1.6px;
  color: rgba(255, 255, 255, .6);
}
.vp-more { align-self: center; margin-top: clamp(22px, 3.4vh, 40px); }

@media (max-width: 900px) {
  .vp-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .vp-card { height: 210px; }
  .vp-card:nth-child(even) { margin-top: 0; }
  .vp-card:last-child { grid-column: 1 / -1; height: 170px; }
}

/* 产品竖卡：用比例定高，统一压暗 */
.vp-card {
  height: auto !important;
  aspect-ratio: 3 / 4.3;
  max-height: clamp(320px, 50vh, 470px);
}
.vp-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(170deg, rgba(9, 14, 36, .42) 0%, rgba(9, 14, 36, .18) 45%, rgba(9, 14, 36, .5) 100%);
  pointer-events: none;
}
.vp-card::after { z-index: 1; }
.vp-body { z-index: 2; }
.vp-body svg { width: 25px; height: 25px; margin-bottom: 14px; }
.vp-body strong { font-size: clamp(17px, 1.25vw, 21px); }
.vp-body em { font-size: 10.5px; margin-top: 8px; }
.vp-head h2 { font-size: clamp(40px, 4.2vw, 62px); }
@media (max-width: 900px) {
  .vp-card { max-height: none; }
}

/* 竖卡再收窄一点，比例更瘦长 */
body.page-home .home-block.v-p { padding: clamp(44px, 6vh, 72px) 0; }
.vp-row { gap: clamp(18px, 1.8vw, 34px); }
.vp-card {
  aspect-ratio: 3 / 5 !important;
  max-height: clamp(340px, 52vh, 460px) !important;
}
.vp-card img { filter: brightness(.84) saturate(1.06); }
.vp-card:hover img { filter: brightness(.95) saturate(1.06); }

/* ===== 产品中心：装饰 + 编号 + CTA 卡 ===== */
body.page-home .home-block.v-p { position: relative; overflow: hidden; }
body.page-home .home-block.v-p::before {
  content: "";
  position: absolute;
  right: -10%;
  top: -24%;
  width: 46vw;
  height: 46vw;
  background: radial-gradient(circle, rgba(74, 92, 245, .10), rgba(74, 92, 245, 0) 62%);
  pointer-events: none;
  z-index: 0;
}
body.page-home .home-block.v-p::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(16, 20, 51, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 20, 51, .045) 1px, transparent 1px);
  background-size: 92px 92px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
  pointer-events: none;
  z-index: 0;
}
.vp-head, .vp-row { position: relative; z-index: 2; }
.vp-sub {
  margin-top: 16px;
  font-size: 14.5px;
  letter-spacing: .5px;
  color: var(--muted);
}
.vp-no {
  position: absolute;
  top: clamp(12px, 1.6vh, 20px);
  left: clamp(12px, 1.3vw, 20px);
  z-index: 3;
  font-size: 11.5px;
  letter-spacing: 2px;
  font-weight: 600;
  color: rgba(255, 255, 255, .55);
}
.vp-card::before { z-index: 1; }
.vp-card .vp-body { z-index: 3; }

/* 全部产品卡 */
.vp-card.vp-cta {
  background: linear-gradient(165deg, #101a44 0%, #1d2a63 52%, #0c1330 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, .08);
}
.vp-card.vp-cta::before,
.vp-card.vp-cta::after { display: none; }
.vp-cta-in { padding: 0 18px; }
.vp-cta-in span {
  display: block;
  font-size: clamp(20px, 1.5vw, 25px);
  font-weight: 600;
  letter-spacing: 2px;
  color: #fff;
}
.vp-cta-in em {
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-size: 10.5px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, .5);
}
.vp-arrow {
  width: 30px;
  height: 30px;
  margin-top: 26px;
  stroke: rgba(255, 255, 255, .85);
  fill: none;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}
.vp-card.vp-cta:hover .vp-arrow { transform: translateX(9px); }

/* ===== 入场动画：快到这一屏时依次出现 ===== */
.vp-head, .vp-sub, .vp-card {
  opacity: 0;
  transform: translateY(46px);
  transition:
    opacity 1.05s cubic-bezier(.16, 1, .3, 1),
    transform 1.05s cubic-bezier(.16, 1, .3, 1);
}
.vp-head { transform: translateY(26px); transition-duration: .9s; }
.vp-sub { transform: translateY(26px); transition-duration: .9s; transition-delay: .12s; }
.vp-card { transition-delay: var(--d, 0s); }

.v-p.in-view .vp-head,
.v-p.in-view .vp-sub,
.v-p.in-view .vp-card {
  opacity: 1;
  transform: translateY(0);
}
.v-p.in-view .vp-card { transition-delay: calc(var(--d, 0s) + .18s); }
.v-p.in-view .vp-head { transition-delay: 0s; }
.v-p.in-view .vp-sub { transition-delay: .12s; }

@media (prefers-reduced-motion: reduce) {
  .vp-head, .vp-sub, .vp-card { opacity: 1 !important; transform: none !important; }
}

/* ===== 其余板块的入场（滚动到位时出现） ===== */
body.page-home .home-block:not(.v-p) .hb-body,
body.page-home .home-block:not(.v-p) .vd-top,
body.page-home .home-block:not(.v-p) .vd-row,
body.page-home .home-block:not(.v-p) .ve-img,
body.page-home .home-block:not(.v-p) .vf-side,
body.page-home .home-block:not(.v-p) .vg-left,
body.page-home .home-block:not(.v-p) .vh-head,
body.page-home .home-block:not(.v-p) .vh-grid,
body.page-home .home-block:not(.v-p) .vc-grid {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .95s cubic-bezier(.16, 1, .3, 1), transform .95s cubic-bezier(.16, 1, .3, 1);
}
body.page-home .home-block:not(.v-p) .hb-media,
body.page-home .home-block:not(.v-p) .ve-body,
body.page-home .home-block:not(.v-p) .vf-list,
body.page-home .home-block:not(.v-p) .vg-right,
body.page-home .home-block:not(.v-p) .vh-btn,
body.page-home .home-block:not(.v-p) .hb-link {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .95s cubic-bezier(.16, 1, .3, 1), transform .95s cubic-bezier(.16, 1, .3, 1);
  transition-delay: .14s;
}
body.page-home .home-block.in-view .hb-body,
body.page-home .home-block.in-view .hb-media,
body.page-home .home-block.in-view .vd-top,
body.page-home .home-block.in-view .vd-row,
body.page-home .home-block.in-view .ve-img,
body.page-home .home-block.in-view .ve-body,
body.page-home .home-block.in-view .vf-side,
body.page-home .home-block.in-view .vf-list,
body.page-home .home-block.in-view .vg-left,
body.page-home .home-block.in-view .vg-right,
body.page-home .home-block.in-view .vh-head,
body.page-home .home-block.in-view .vh-grid,
body.page-home .home-block.in-view .vh-btn,
body.page-home .home-block.in-view .vc-grid,
body.page-home .home-block.in-view .hb-link {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .home-block * { opacity: 1 !important; transform: none !important; }
}

/* CTA 卡补纹理，避免一块死蓝 */
.vp-card.vp-cta::before {
  display: block !important;
  background:
    radial-gradient(circle at 50% 34%, rgba(120, 150, 255, .34), rgba(120, 150, 255, 0) 60%),
    linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 45%);
}
.vp-card.vp-cta::after {
  display: block !important;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 42px);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 38%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent, #000 38%, #000 100%);
}
.vp-cta-in { position: relative; z-index: 3; }

/* ===== 品质创新：浅色版式（替换原深色块） ===== */
body.page-home .home-block.v-q {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: clamp(60px, 8vh, 96px) 0;
  background: none !important;
  width: auto !important;
  margin: 0 !important;
  overflow: visible !important;
}
.vq-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 76px);
  align-items: end;
  margin-bottom: clamp(34px, 5vh, 56px);
}
.vq-head .hb-text { max-width: 560px; margin: 0; }
.vq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(16, 20, 51, .09);
  border-top: 1px solid rgba(16, 20, 51, .09);
  border-bottom: 1px solid rgba(16, 20, 51, .09);
}
.vq-cell {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(26px, 4vh, 40px) clamp(18px, 1.8vw, 30px);
  background: rgba(255, 255, 255, .72);
  transition: background .4s, transform .4s cubic-bezier(.16, 1, .3, 1);
}
.vq-cell:hover { background: #fff; transform: translateY(-3px); }
.vq-cell span {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 600;
  color: var(--blue);
}
.vq-cell strong {
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
}
.vq-cell em {
  font-style: normal;
  font-size: 13.5px;
  color: var(--muted);
}
.vq-more { margin-top: clamp(28px, 4vh, 46px); align-self: flex-start; }

@media (max-width: 900px) {
  .vq-head { grid-template-columns: 1fr; align-items: start; }
  .vq-grid { grid-template-columns: 1fr 1fr; }
}

/* ===== 全部产品卡改成白底 ===== */
.vp-card.vp-cta {
  background: #fff !important;
  border: 1px solid rgba(16, 20, 51, .12) !important;
}
.vp-card.vp-cta::before,
.vp-card.vp-cta::after { display: none !important; }
.vp-cta-in span { color: var(--navy) !important; }
.vp-cta-in em { color: var(--muted) !important; }
.vp-arrow { stroke: var(--blue) !important; }
.vp-card.vp-cta:hover {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
}
.vp-card.vp-cta:hover span { color: #fff !important; }
.vp-card.vp-cta:hover em { color: rgba(255, 255, 255, .6) !important; }
.vp-card.vp-cta:hover .vp-arrow { stroke: #fff !important; }

/* 品质创新块也参与入场 */
body.page-home .home-block:not(.v-p) .vq-head,
body.page-home .home-block:not(.v-p) .vq-grid {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .95s cubic-bezier(.16, 1, .3, 1), transform .95s cubic-bezier(.16, 1, .3, 1);
}
body.page-home .home-block:not(.v-p) .vq-grid { transition-delay: .14s; }
body.page-home .home-block.in-view .vq-head,
body.page-home .home-block.in-view .vq-grid {
  opacity: 1;
  transform: translateY(0);
}

/* flex 列布局下子项要铺满，别被 align-items:center 缩成内容宽 */
body.page-home .home-block.v-q,
body.page-home .home-block.v-p { align-items: stretch !important; }
body.page-home .home-block.v-q .vq-head,
body.page-home .home-block.v-q .vq-grid,
body.page-home .home-block.v-p .vp-head,
body.page-home .home-block.v-p .vp-row { width: 100%; }
.vq-more, .vp-more { align-self: flex-start; }
.vp-more { align-self: center; }

/* ===== 品质创新：图 + 三点能力 ===== */
body.page-home .home-block.v-q { gap: 0; }
.vq-media {
  width: 100%;
  height: clamp(190px, 28vh, 280px);
  overflow: hidden;
}
.vq-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.02);
}
.vq-body {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(40px, 5vw, 84px);
  align-items: start;
  margin-top: clamp(30px, 4.4vh, 52px);
}
.vq-left .hb-en { font-size: 11.5px; letter-spacing: 4.5px; }
.vq-left h2 { margin: 12px 0 18px; }
.vq-left .hb-text { max-width: 430px; }
.vq-left .hb-link { margin-top: 24px; }
.vq-list { list-style: none; border-top: 1px solid var(--line); }
.vq-list li {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  align-items: start;
  padding: clamp(16px, 2.3vh, 24px) 0;
  border-bottom: 1px solid var(--line);
}
.vq-list li > span {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 600;
  color: var(--blue);
  padding-top: 4px;
}
.vq-list strong {
  display: block;
  font-size: clamp(16px, 1.15vw, 19px);
  font-weight: 600;
  color: var(--navy);
}
.vq-list em {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--muted);
}

@media (max-width: 900px) {
  .vq-body { grid-template-columns: 1fr; gap: 22px; }
  .vq-list li { grid-template-columns: 40px 1fr; gap: 12px; }
}

/* 品质创新配图微调 */
.vq-media { height: clamp(180px, 26vh, 260px); position: relative; }
.vq-media::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 90px rgba(16, 20, 51, .10);
  pointer-events: none;
}
.vq-media img { filter: saturate(.94) contrast(1.02); }
/* 图片也参与入场 */
body.page-home .home-block:not(.v-p) .vq-media,
body.page-home .home-block:not(.v-p) .vq-body {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .95s cubic-bezier(.16, 1, .3, 1), transform .95s cubic-bezier(.16, 1, .3, 1);
}
body.page-home .home-block:not(.v-p) .vq-body { transition-delay: .12s; }
body.page-home .home-block.in-view .vq-media,
body.page-home .home-block.in-view .vq-body { opacity: 1; transform: translateY(0); }

/* 品质创新配图改成双联，避免单图构图太空 */
.vq-media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.vq-media img { height: 100%; object-fit: cover; }
.vq-media::after { display: none; }
.vq-media img:nth-child(1) { object-position: 34% center; }
.vq-media img:nth-child(2) { object-position: 50% center; }
@media (max-width: 900px) {
  .vq-media { grid-template-columns: 1fr; gap: 0; }
  .vq-media img:nth-child(2) { display: none; }
}

/* 单图版本 */
.vq-media { grid-template-columns: 1fr; height: clamp(200px, 30vh, 290px); }
.vq-media img { width: 100%; height: 100%; object-position: 50% 42% !important; }
.vq-media img:nth-child(2) { display: none; }

/* ===== 品质创新：左文右竖图（最终版） ===== */
body.page-home .home-block.v-q {
  display: grid !important;
  grid-template-columns: 1.16fr .84fr;
  gap: clamp(38px, 4.4vw, 78px);
  align-items: center;
  padding: clamp(56px, 7vh, 86px) 0;
}
.vq-left { position: relative; z-index: 2; }
.vq-left h2 { margin: 12px 0 18px; }
.vq-left .hb-text { max-width: 470px; }
.vq-list {
  margin-top: clamp(24px, 3.4vh, 38px);
  border-top: 1px solid var(--line);
}
.vq-list li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(14px, 2vh, 22px) 0;
  border-bottom: 1px solid var(--line);
}
.vq-left .hb-link { margin-top: clamp(20px, 2.8vh, 30px); }
.vq-media {
  order: 2;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: clamp(320px, 58vh, 520px);
  overflow: hidden;
  display: block;
}
.vq-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  display: block;
  filter: saturate(.96) contrast(1.02);
}
.vq-media::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 110px rgba(16, 20, 51, .16);
  pointer-events: none;
}
@media (max-width: 900px) {
  body.page-home .home-block.v-q { grid-template-columns: 1fr; padding: 44px 0; }
  .vq-media { order: -1; min-height: 220px; height: 220px; }
  .vq-list li { grid-template-columns: 40px 1fr; gap: 12px; }
}

/* 品质创新：新结构的入场 */
body.page-home .home-block:not(.v-p) .vq-left,
body.page-home .home-block:not(.v-p) .vq-media {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .95s cubic-bezier(.16, 1, .3, 1), transform .95s cubic-bezier(.16, 1, .3, 1);
}
body.page-home .home-block:not(.v-p) .vq-media { transition-delay: .14s; }
body.page-home .home-block.in-view .vq-left,
body.page-home .home-block.in-view .vq-media { opacity: 1; transform: translateY(0); }

/* 彻底取消图片跟随滚动 */
.hb-media,
.home-block .hb-media { position: static !important; top: auto !important; bottom: auto !important; }

/* 产品竖卡：列宽严格等分，别被图片自然宽度撑开 */
.vp-row { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.vp-card { min-width: 0; }
.vp-card img { max-width: 100%; }

/* 左右留白改成一致（右侧工具栏浮在留白里，不再单独让位） */
:root {
  --edge-l: calc((100vw - var(--content-w)) / 2 + 40px);
}
@media (min-width: 901px) {
  .container { padding-left: 40px; padding-right: 40px; }
}

/* 产品中心的网格纹要铺到屏幕两边，不能只到容器边缘 */
body.page-home .home-block.v-p::after {
  left: 50%;
  right: auto;
  width: 100vw;
  transform: translateX(-50%);
}
body.page-home .home-block.v-p::before {
  right: -18vw;
}

/* 光晕也铺满整屏，避免在块边界被裁出硬边 */
body.page-home .home-block.v-p::before {
  left: 50%;
  right: auto;
  top: -20vh;
  width: 100vw;
  height: 62vw;
  border-radius: 50%;
  background: radial-gradient(circle at 74% 30%, rgba(74, 92, 245, .09), rgba(74, 92, 245, 0) 58%);
  transform: translateX(-50%);
}

body.page-home .home-block.v-p::before { border-radius: 0; }

/* 产品中心整块拉到通栏，背景才能真正铺满屏幕 */
body.page-home .home-block.v-p {
  width: 100vw;
  margin-left: calc(-1 * var(--edge-l)) !important;
  margin-right: 0 !important;
  padding-left: var(--edge-l);
  padding-right: var(--edge-l);
  box-sizing: border-box;
  overflow: hidden;
}
body.page-home .home-block.v-p::after,
body.page-home .home-block.v-p::before {
  left: 0;
  right: 0;
  width: auto;
  transform: none;
}

/* ===== 新闻资讯：三列卡片 ===== */
body.page-home .home-block.v-f {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px, 7vh, 88px) 0;
  gap: 0;
  position: relative;
}
.vf-head {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: clamp(26px, 3.6vh, 40px);
  border-bottom: 1px solid var(--line);
}
.vf-watermark {
  position: absolute;
  left: -6px;
  top: -50px;
  font-size: clamp(90px, 9vw, 140px);
  font-weight: 800;
  letter-spacing: 4px;
  line-height: 1;
  color: rgba(16, 20, 51, .045);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}
.vf-title { position: relative; z-index: 2; }
.vf-title h2 { margin: 0; }
.vf-title i {
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 14px;
  background: var(--blue);
}
.vf-more {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border: 1px solid rgba(16, 20, 51, .18);
  font-size: 13.5px;
  color: var(--navy);
  text-decoration: none;
  transition: background .35s, color .35s, border-color .35s, gap .35s;
}
.vf-more:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
  gap: 16px;
}
.vf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 34px);
  margin-top: clamp(26px, 3.6vh, 42px);
}
.vf-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(16, 20, 51, .07);
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s;
  overflow: hidden;
}
.vf-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(16, 20, 51, .12);
}
.vf-img {
  height: clamp(150px, 22vh, 210px);
  overflow: hidden;
}
.vf-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.16, 1, .3, 1);
}
.vf-card:hover .vf-img img { transform: scale(1.05); }
.vf-card time {
  display: block;
  padding: 18px 22px 0;
  font-size: 12.5px;
  letter-spacing: .5px;
  color: var(--muted);
}
.vf-card strong {
  display: block;
  padding: 8px 22px 0;
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.5;
}
.vf-card p {
  padding: 10px 22px 22px;
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 900px) {
  .vf-grid { grid-template-columns: 1fr; }
  .vf-watermark { font-size: 72px; top: -26px; }
  .vf-head { align-items: center; }
}

/* 新闻块：子项铺满，标题左右分布 */
body.page-home .home-block.v-f { align-items: stretch !important; }
body.page-home .home-block.v-f .vf-head,
body.page-home .home-block.v-f .vf-grid { width: 100%; }
.vf-watermark { left: 0; top: -58px; }

.vf-watermark { top: -74px; color: rgba(16, 20, 51, .055); }
.vf-card p { -webkit-line-clamp: 1; }

/* ===== 人才招聘：浅色列表版式 ===== */
body.page-home .home-block.v-g {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch !important;
  gap: 0;
  grid-template-columns: none !important;
  padding: clamp(56px, 7vh, 88px) 0 !important;
  background: none !important;
  position: relative;
}
.vg-lead {
  margin: clamp(22px, 3vh, 32px) 0 0;
  max-width: 760px;
  font-size: clamp(15px, 1.05vw, 16.5px);
  line-height: 1.95;
  color: var(--muted);
}
.vg-list { margin-top: clamp(26px, 3.6vh, 40px); border-top: 1px solid var(--line); }
body.page-home .home-block.v-g .vg-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 24px;
  align-items: center;
  padding: clamp(18px, 2.6vh, 26px) 16px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: background .35s, padding-left .35s;
}
body.page-home .home-block.v-g .vg-row:hover {
  background: rgba(74, 92, 245, .05);
  padding-left: 26px;
}
body.page-home .home-block.v-g .vg-row:first-child { border-top: none; }
.vg-row strong {
  font-size: clamp(16px, 1.15vw, 18.5px);
  font-weight: 600;
  color: var(--navy);
}
.vg-row span { font-size: 13.5px; color: var(--muted); }
.vg-row em {
  font-style: normal;
  font-size: 11.5px;
  letter-spacing: .5px;
  color: var(--blue);
  border: 1px solid rgba(74, 92, 245, .32);
  padding: 3px 10px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  body.page-home .home-block.v-g .vg-row { grid-template-columns: 1fr auto; }
  .vg-row span { display: none; }
}

/* ===== 应用案例：四宫格图卡 ===== */
body.page-home .home-block.v-e {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch !important;
  text-align: left;
  gap: 0;
  padding: clamp(56px, 7vh, 88px) 0;
}
.ve-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 1.6vw, 22px);
  margin-top: clamp(26px, 3.6vh, 40px);
}
.ve-card {
  position: relative;
  display: block;
  height: clamp(170px, 23vh, 236px);
  overflow: hidden;
  text-decoration: none;
  background: #0c1230;
}
.ve-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(.9);
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), filter .6s;
}
.ve-card:hover img { transform: scale(1.06); filter: brightness(1); }
.ve-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5, 8, 22, .82) 0%, rgba(5, 8, 22, .3) 46%, rgba(5, 8, 22, 0) 76%);
  pointer-events: none;
}
.ve-cap {
  position: absolute;
  left: clamp(18px, 1.6vw, 28px);
  bottom: clamp(16px, 2.2vh, 24px);
  z-index: 2;
  color: #fff;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}
.ve-card:hover .ve-cap { transform: translateY(-4px); }
.ve-cap span {
  display: block;
  font-size: 11.5px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, .6);
  margin-bottom: 8px;
}
.ve-cap strong {
  display: block;
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 600;
  letter-spacing: .5px;
}
.ve-cap em {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-size: 13px;
  color: rgba(255, 255, 255, .68);
}
@media (max-width: 900px) {
  .ve-grid { grid-template-columns: 1fr; }
  .ve-card { height: 180px; }
}

.ve-card { height: clamp(180px, 25vh, 250px); }
.ve-card:nth-child(1) img { object-position: 50% 45%; }
.ve-card:nth-child(2) img { object-position: 42% center; }
.ve-card:nth-child(3) img { object-position: 50% 62%; }
.ve-card:nth-child(4) img { object-position: 50% center; }

/* ===== 应用案例：全幅图 + 底部四格 ===== */
body.page-home .home-block.v-e {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch !important;
  text-align: left;
  gap: 0;
  padding: clamp(56px, 7vh, 88px) 0;
}
.ve-hero {
  position: relative;
  height: clamp(230px, 40vh, 400px);
  overflow: hidden;
  background: #0c1230;
}
.ve-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 46%;
  display: block;
}
.ve-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5, 8, 22, .82) 0%, rgba(5, 8, 22, .34) 40%, rgba(5, 8, 22, .06) 72%);
}
.ve-hero-text {
  position: absolute;
  left: clamp(24px, 3vw, 56px);
  bottom: clamp(24px, 4vh, 46px);
  z-index: 2;
  color: #fff;
}
.ve-hero-text .hb-en { color: rgba(255, 255, 255, .62); letter-spacing: 5px; }
.ve-hero-text h2 {
  margin: 12px 0 0;
  color: #fff;
  font-size: clamp(34px, 3.2vw, 52px);
}
.ve-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}
.ve-bar a {
  display: block;
  padding: clamp(18px, 2.6vh, 26px) clamp(16px, 1.6vw, 26px);
  border-right: 1px solid var(--line);
  text-decoration: none;
  transition: background .35s, padding-left .35s;
}
.ve-bar a:last-child { border-right: none; }
.ve-bar a:hover { background: rgba(74, 92, 245, .05); padding-left: calc(clamp(16px, 1.6vw, 26px) + 8px); }
.ve-bar span {
  display: block;
  font-size: 11.5px;
  letter-spacing: 2px;
  color: var(--blue);
  font-weight: 600;
}
.ve-bar strong {
  display: block;
  margin-top: 10px;
  font-size: clamp(16px, 1.15vw, 18.5px);
  font-weight: 600;
  color: var(--navy);
}
.ve-bar em {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--muted);
}
@media (max-width: 900px) {
  .ve-bar { grid-template-columns: 1fr 1fr; }
  .ve-bar a { border-bottom: 1px solid var(--line); }
  .ve-hero { height: 200px; }
}

/* ===== 字体层次：英文与数字用衬线，中文标题加重 ===== */
:root {
  --font-serif: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;
  --font-sans: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* 英文小标题：衬线 + 更开的字距，和中文黑体拉开 */
.hb-en,
.vp-head .hb-en,
.ve-hero-text .hb-en,
.vq-left .hb-en {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: .18em;
}

/* 超大底纹字：衬线，更薄更疏 */
.vf-watermark {
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: italic;
  letter-spacing: .06em;
}

/* 数字与编号：衬线数字，比黑体数字更耐看 */
.hb-cell strong,
.ve-bar span,
.vp-no,
.vq-list li > span,
.ve-cap span,
.ve-hero-text .hb-en + h2 {
  font-family: var(--font-serif);
  font-variant-numeric: lining-nums;
}

/* 中文大标题：字重和字距都加重一档 */
.home-block h2,
.ve-hero-text h2,
.vf-title h2 {
  font-weight: 700;
  letter-spacing: .02em;
}
body.page-home .v-a .hb-body h2 { letter-spacing: -.01em; }

/* 英文副名（型号、分类英文）保持无衬线，但更细更长 */
.vp-body em,
.ve-bar em,
.vf-card time,
.vc-cell em {
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: .12em;
}

/* 正文稍收一点字重，衬托标题 */
.home-block .hb-text,
.vg-lead,
.ve-bar em {
  font-weight: 400;
  letter-spacing: .01em;
}

/* 板块标题里的小短线更细长 */
.vf-title i { width: 56px; height: 2px; }

/* 产品卡：大号英文底纹字 */
.vp-word {
  position: absolute;
  right: clamp(10px, 1.2vw, 20px);
  top: 42%;
  z-index: 2;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(38px, 3.2vw, 56px);
  line-height: 1;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .10);
  pointer-events: none;
  user-select: none;
}

.vp-word { display: none !important; }

/* 关于我们数据条：数字回到无衬线，四格一行带竖线 */
body.page-home .v-a .hb-cell strong {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
body.page-home .v-a .hb-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  max-width: 100%;
  margin-top: 32px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
body.page-home .v-a .hb-cell {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}
body.page-home .v-a .hb-cell:first-child {
  padding-left: 0;
  border-left: none;
}
body.page-home .v-a .hb-cell strong {
  font-size: clamp(24px, 2.1vw, 32px);
  line-height: 1.15;
}
body.page-home .v-a .hb-cell span {
  margin-top: 8px;
  font-size: 12.5px;
  letter-spacing: .06em;
}
@media (max-width: 900px) {
  body.page-home .v-a .hb-meta { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
  body.page-home .v-a .hb-cell:nth-child(3) { padding-left: 0; border-left: none; }
}

/* ===== 人才招聘：左侧列表 + 右侧竖图 ===== */
.vg-cols {
  display: grid;
  grid-template-columns: 1.55fr .8fr;
  gap: clamp(36px, 4.5vw, 80px);
  align-items: center;
  margin-top: clamp(22px, 3vh, 32px);
}
.vg-main { min-width: 0; }
.vg-main .vg-lead { margin-top: 0; }
body.page-home .home-block.v-g .vg-media {
  height: clamp(300px, 50vh, 440px);
  overflow: hidden;
  position: relative;
}
.vg-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
  display: block;
}
.vg-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9,14,36,0) 58%, rgba(9,14,36,.26) 100%);
  pointer-events: none;
}
@media (max-width: 900px) {
  .vg-cols { grid-template-columns: 1fr; gap: 24px; }
  body.page-home .home-block.v-g .vg-media { height: 220px; }
}

/* ===== 应用案例页：交错卡推荐产品行 + 锚点偏移 ===== */
.zz-rec {
  margin-top: 12px;
  font-size: 12.5px;
  letter-spacing: .3px;
  color: var(--blue);
  border-top: 1px dashed rgba(74, 92, 245, .28);
  padding-top: 10px;
}
#consumer, #display, #semi, #optics { scroll-margin-top: 92px; }

/* ===== 首页应用案例：改为交错卡片版式 ===== */
body.page-home .home-block.v-e .ve-zigzag {
  margin-top: clamp(26px, 3.6vh, 42px);
}
body.page-home .home-block.v-e .zz-img {
  height: clamp(180px, 30vh, 280px);
}
body.page-home .home-block.v-e .zz-card {
  text-decoration: none;
}
body.page-home .home-block.v-e .zz-body p {
  font-size: 13.5px;
}
body.page-home .home-block.v-e .vf-watermark { top: -74px; }

/* ===== 交错卡优化：去边框、衬线编号、标题箭头 ===== */
.zigzag {
  gap: clamp(30px, 3vw, 54px) clamp(28px, 3.4vw, 64px);
  counter-reset: zzno;
}
.zigzag .zz-card {
  background: none;
  border: none;
  transition: none;
}
.zigzag .zz-card:hover {
  transform: none;
  box-shadow: none;
}
.zigzag .zz-card:nth-child(even) { margin-top: 72px; }
.zigzag .zz-img { height: 280px; }
.zz-body { padding: 22px 0 0; }
.zz-body::before {
  counter-increment: zzno;
  content: "0" counter(zzno);
  display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 14px;
  letter-spacing: 3px;
  color: rgba(16, 20, 51, .34);
  margin-bottom: 8px;
}
.zz-body h3 {
  font-size: 21px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  transition: color .35s;
}
.zz-body h3::after {
  content: "\2192";
  font-weight: 400;
  font-size: 16px;
  color: var(--blue);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .35s, transform .35s;
}
.zz-card:hover .zz-body h3 { color: var(--blue); }
.zz-card:hover .zz-body h3::after { opacity: 1; transform: none; }
.zz-body p {
  font-size: 14px;
  margin-top: 10px;
  max-width: 94%;
}
@media (max-width: 820px) {
  .zigzag .zz-card:nth-child(even) { margin-top: 0; }
  .zigzag .zz-img { height: 220px; }
}

/* 首页应用案例：压进一屏 */
body.page-home .home-block.v-e .ve-zigzag { margin-top: clamp(20px, 2.8vh, 32px); }
body.page-home .home-block.v-e .zz-img { height: clamp(150px, 19vh, 205px); }
body.page-home .home-block.v-e .ve-zigzag .zz-card:nth-child(even) { margin-top: 48px; }
body.page-home .home-block.v-e .zz-body { padding-top: 16px; }
body.page-home .home-block.v-e .zz-body h3 { font-size: clamp(18px, 1.15vw, 20px); }
body.page-home .home-block.v-e .zz-body p { margin-top: 7px; font-size: 13.5px; }

/* ===== 修正：板块内容太高导致顶部被导航压住 ===== */
/* 关于我们：整块不撑满，图文居中留白 */
body.page-home .home-block.v-a {
  align-items: center !important;
  align-content: center;
}
body.page-home .home-block.v-a .hb-media {
  height: clamp(420px, 62vh, 640px);
}
body.page-home .home-block.v-a .hb-media img { height: 100%; }
body.page-home .v-a .hb-body {
  padding-top: clamp(40px, 5vh, 70px);
  padding-bottom: clamp(40px, 5vh, 70px);
}
/* 应用案例：顶部固定留出导航空间，卡片相应收缩 */
body.page-home .home-block.v-e {
  justify-content: flex-start;
  padding: clamp(88px, 10vh, 124px) 0 clamp(36px, 5vh, 64px);
}
body.page-home .home-block.v-e .zz-img {
  height: clamp(130px, 16vh, 178px);
}

/* ===== 品质创新 / 应用案例：顶部单独留足空间 ===== */
body.page-home .home-block.v-q {
  padding-top: clamp(110px, 12.5vh, 150px);
}
body.page-home .home-block.v-q .vq-media {
  height: clamp(180px, 25vh, 250px);
}
body.page-home .home-block.v-e .vf-watermark {
  top: -30px;
}

/* ===== 品质创新：整块垂直居中，上下留白均分 ===== */
body.page-home .home-block.v-q {
  align-content: center;
  padding-top: clamp(90px, 11vh, 130px);
  padding-bottom: clamp(80px, 10vh, 120px);
}
body.page-home .home-block.v-q .vq-media {
  height: clamp(280px, 40vh, 460px);
}
body.page-home .home-block.v-q .vq-left {
  align-self: center;
}

/* ===== 首页应用案例：缓解拥挤 ===== */
body.page-home .home-block.v-e .ve-zigzag {
  gap: 40px 48px;
}
body.page-home .home-block.v-e .zz-img {
  height: clamp(150px, 17.5vh, 190px);
}
body.page-home .home-block.v-e .ve-zigzag .zz-card:nth-child(even) { margin-top: 76px; }
body.page-home .home-block.v-e .zz-body { padding-top: 20px; }
body.page-home .home-block.v-e .zz-body h3 { font-size: 19px; }
body.page-home .home-block.v-e .zz-body p { margin-top: 8px; font-size: 13.5px; line-height: 1.75; }

/* ===== 首页应用案例：整块按视口高度等比缩放，保证一屏放下 ===== */
body.page-home .home-block.v-e {
  padding: 9.5vh 0 4vh;
}
body.page-home .home-block.v-e .vf-head { margin-bottom: 0; }
body.page-home .home-block.v-e .vf-title h2 {
  font-size: clamp(30px, 3.2vw, 44px);
}
body.page-home .home-block.v-e .ve-zigzag {
  margin-top: 2.6vh;
  gap: 2.6vh 44px;
}
body.page-home .home-block.v-e .zz-img {
  height: 15.5vh;
}
body.page-home .home-block.v-e .ve-zigzag .zz-card:nth-child(even) { margin-top: 6vh; }
body.page-home .home-block.v-e .zz-body { padding-top: 1.8vh; }
body.page-home .home-block.v-e .zz-body h3 {
  font-size: clamp(16px, 1.15vw, 19px);
}
body.page-home .home-block.v-e .zz-body p { margin-top: .6vh; font-size: 13.5px; line-height: 1.7; }

/* 应用案例：整块垂直居中 */
body.page-home .home-block.v-e {
  justify-content: center;
  padding: 12vh 0;
}

/* ===== 交错卡图片统一色调：淡蓝罩层 ===== */
.zigzag .zz-img { position: relative; }
.zigzag .zz-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 20, 48, .16), rgba(13, 20, 48, .3));
  pointer-events: none;
}
.zigzag .zz-img img { filter: brightness(.94) saturate(.96); }

/* 应用案例：去掉说明后整体下沉，顶部留白对齐新闻块 */
body.page-home .home-block.v-e {
  padding: 13vh 0 8vh;
}
body.page-home .home-block.v-e .zz-body h3 {
  font-size: clamp(17px, 1.25vw, 20px);
}

/* 应用案例：补回一行说明 + 图片 hover 动效（20261026u） */
body.page-home .home-block.v-e .zz-body p {
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}
body.page-home .home-block.v-e .zz-img img {
  transition: transform .7s cubic-bezier(.22,.61,.36,1);
}
body.page-home .home-block.v-e .zz-card:hover .zz-img img {
  transform: scale(1.05);
}
body.page-home .home-block.v-e {
  padding: 11.5vh 0 7vh;
}
body.page-home .home-block.v-e .zz-img {
  height: 16.5vh;
}

/* 招聘三卡加配图（20261023a） */
.job-tab {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.jt-media {
  position: relative;
  height: 168px;
  overflow: hidden;
  background: #0d1430;
}
.jt-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(.96) saturate(.9);
  transition: transform .8s cubic-bezier(.22,.61,.36,1);
}
.jt-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 20, 48, .12), rgba(13, 20, 48, .38));
  pointer-events: none;
}
.job-tab:hover .jt-media img { transform: scale(1.05); }
.jt-media .jt-no {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 6px 14px;
  background: rgba(13, 20, 48, .55);
  color: #dfe3ff;
  font-size: 11px;
  letter-spacing: 2px;
  backdrop-filter: blur(4px);
}
.jt-body {
  padding: 24px 30px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.jt-body h3 { margin: 0 0 10px; }
.jt-body .jt-link { margin-top: auto; padding-top: 20px; }

/* 招聘页 hero 补内容（20261023b） */
.page-hero.hero-jobs {
  min-height: 520px;
}
.page-hero.hero-jobs::before {
  background-image: url("../images/hero-office.jpg");
}
.hero-jobs-panel {
  position: absolute;
  right: 40px;
  bottom: 54px;
  z-index: 3;
  width: 300px;
  padding: 22px 24px;
  background: rgba(9, 14, 38, .55);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(10px);
}
.hjp-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  font-size: 13px;
}
.hjp-row:last-child { border-bottom: none; padding-bottom: 0; }
.hjp-row:first-child { padding-top: 0; }
.hjp-row span {
  color: rgba(255, 255, 255, .5);
  letter-spacing: 1px;
  white-space: nowrap;
}
.hjp-row strong {
  color: #eef1ff;
  font-weight: 500;
  font-size: 13.5px;
  text-align: right;
}
@media (max-width: 900px) {
  .hero-jobs-panel { position: static; width: 100%; margin-top: 26px; }
  .page-hero.hero-jobs { min-height: 0; }
}

/* 品质创新 / 企业文化 hero 补背景（20261023c） */
.page-hero.hero-quality { min-height: 500px; }
.page-hero.hero-quality::before { background-image: url("../images/hero-quality.jpg"); }
.page-hero.hero-culture { min-height: 500px; }
.page-hero.hero-culture::before { background-image: url("../images/hero-culture.jpg"); }

/* 品质页：检测能力 / 品质管控 左文右图（20261023d） */
.page-quality .qual-split {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  gap: 56px;
  align-items: start;
}
.page-quality .qual-split.is-rev {
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
}
.page-quality .qual-split.is-rev .qual-media { order: -1; }
.page-quality .qual-note {
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--muted);
  margin: 14px 0 26px;
  max-width: 520px;
}
.page-quality .qual-copy .equip-grid { grid-template-columns: repeat(2, 1fr); }
.page-quality .qual-copy .honor-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.page-quality .qual-copy .honor-item { padding: 30px 20px; }
.page-quality .qual-media {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 4 / 5;
  background: #0d1430;
}
.page-quality .qual-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.22,.61,.36,1);
}
.page-quality .qual-media:hover img { transform: scale(1.04); }
.page-quality .qm-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 46px 18px 16px;
  font-size: 12.5px;
  letter-spacing: .6px;
  color: #eef1ff;
  background: linear-gradient(180deg, rgba(9, 14, 38, 0), rgba(9, 14, 38, .85));
}
@media (max-width: 900px) {
  .page-quality .qual-split,
  .page-quality .qual-split.is-rev { grid-template-columns: 1fr; gap: 30px; }
  .page-quality .qual-split.is-rev .qual-media { order: 0; }
  .page-quality .qual-media { aspect-ratio: 16 / 10; }
  .page-quality .qual-copy .equip-grid,
  .page-quality .qual-copy .honor-grid { grid-template-columns: 1fr; }
}

/* 品质页：图与文字列等高（20261023e） */
.page-quality .qual-split {
  align-items: stretch;
  margin-top: 34px;
}
.page-quality .qual-media {
  aspect-ratio: auto;
  height: 100%;
  min-height: 380px;
}
.page-quality .qual-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 900px) {
  .page-quality .qual-media { aspect-ratio: 16 / 10; height: auto; min-height: 0; }
  .page-quality .qual-media img { position: absolute; }
  .page-quality .qual-media { position: relative; padding-top: 60%; }
  .page-quality .qual-media img { height: 100%; }
}

/* 检测能力卡片：图标化 + 悬停（20261023f） */
.page-quality .equip-grid {
  gap: 12px;
  background: transparent;
  border: none;
  margin-top: 30px;
}
.page-quality .equip-item {
  position: relative;
  flex-direction: column;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 26px 24px 24px;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s, border-color .4s;
}
.page-quality .equip-item::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 2px;
  width: 0;
  background: linear-gradient(90deg, #4a5cf5, #4dd8e8);
  transition: width .5s cubic-bezier(.16, 1, .3, 1);
}
.page-quality .equip-item:hover {
  transform: translateY(-3px);
  border-color: rgba(74, 92, 245, .28);
  box-shadow: 0 16px 34px rgba(16, 20, 51, .08);
}
.page-quality .equip-item:hover::after { width: 100%; }
.page-quality .equip-ico {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(74, 92, 245, .07);
  color: #4a5cf5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .35s, color .35s;
}
.page-quality .equip-ico svg { width: 22px; height: 22px; }
.page-quality .equip-item:hover .equip-ico { background: #4a5cf5; color: #fff; }
.page-quality .equip-body { position: relative; }
.page-quality .equip-no {
  position: absolute;
  top: 2px;
  right: 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 12px;
  letter-spacing: 1px;
  color: rgba(16, 20, 51, .2);
}

/* 检测能力卡片：图标强化（20261023g） */
.page-quality .equip-ico {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(74, 92, 245, .1);
  border: 1px solid rgba(74, 92, 245, .12);
}
.page-quality .equip-ico svg {
  width: 23px;
  height: 23px;
  stroke-width: 1.7;
}
.page-quality .equip-item { min-height: 158px; }
.page-quality .equip-no { color: rgba(16, 20, 51, .3); }

/* 检测能力卡片：编号归位 + 图标加深（20261023h） */
.page-quality .equip-ico { color: #3a49d6; }
.page-quality .equip-ico svg { stroke-width: 2; }
.page-quality .equip-body { position: static; }
.page-quality .equip-no {
  position: absolute;
  top: 28px;
  right: 22px;
  font-size: 12px;
  color: rgba(16, 20, 51, .26);
}

/* 品质管控卡片：加序号（20261023i） */
.page-quality .honor-grid { counter-reset: hno; }
.page-quality .honor-item {
  position: relative;
  counter-increment: hno;
  text-align: left;
  padding: 30px 22px 28px;
}
.page-quality .honor-item::before {
  content: "0" counter(hno);
  position: absolute;
  top: 18px;
  right: 20px;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 12px;
  letter-spacing: 1px;
  color: rgba(16, 20, 51, .24);
}

/* 品质管控卡片补图标（20261023j） */
.page-quality .honor-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
.page-quality .honor-ico {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(74, 92, 245, .08);
  border: 1px solid rgba(74, 92, 245, .12);
  color: #3a49d6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background .35s, color .35s;
}
.page-quality .honor-ico svg { width: 21px; height: 21px; stroke-width: 2; }
.page-quality .honor-item:hover .honor-ico { background: #4a5cf5; color: #fff; }
.page-quality .honor-item strong { font-size: 16px; }
.page-quality .honor-item span { margin-top: 8px; font-size: 12.5px; letter-spacing: .3px; }


/* ---------- 企业文化页（简洁版）：主张 + 图片拼贴四格 ---------- */
.page-culture .cul-tabs {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 2px;
  background: rgba(7, 11, 32, .28);
  backdrop-filter: blur(6px);
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.page-culture .cul-tabs a {
  padding: 15px 34px;
  font-size: 13.5px;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
  transition: background .35s, color .35s;
}
.page-culture .cul-tabs a:hover,
.page-culture .cul-tabs a:focus { background: var(--blue); color: #fff; }

.page-culture .cul-wrap {
  background: #fff;
  padding: 96px 0 100px;
}
.page-culture .cul-head { max-width: 720px; }
.page-culture .cul-eyebrow {
  font-size: 11px;
  letter-spacing: 4px;
  color: #9a7b3f;
}
.page-culture .cul-slogan {
  margin: 16px 0 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.3;
  letter-spacing: 1px;
  color: var(--navy);
  font-weight: 600;
}
.page-culture .cul-sub {
  margin: 18px 0 0;
  max-width: 560px;
  font-size: 14.5px;
  line-height: 2;
  color: var(--muted);
}

.page-culture .cul-mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 56px;
}
.page-culture .cul-tile {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #0d1430;
}
.page-culture .cul-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.72) contrast(1.04) brightness(.94);
  transition: transform .9s cubic-bezier(.22, .61, .36, 1);
}
.page-culture .cul-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 32, .5) 0%, rgba(8, 12, 32, .06) 38%, rgba(8, 12, 32, .84) 100%);
}
.page-culture .cul-tile:hover img { transform: scale(1.05); }
.page-culture .cul-tile-no {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, .72);
}
.page-culture .cul-tile-body {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 22px;
  z-index: 2;
}
.page-culture .cul-tile-body h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 4px;
  color: #fff;
}
.page-culture .cul-tile-body p {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .74);
}
@media (max-width: 1100px) {
  .page-culture .cul-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .page-culture .cul-tabs {
    position: static;
    background: none;
    border-top: none;
    backdrop-filter: none;
    flex-wrap: wrap;
  }
  .page-culture .cul-tabs a { padding: 10px 16px; font-size: 12.5px; }
  .page-culture .cul-wrap { padding: 56px 0 60px; }
  .page-culture .cul-mosaic { margin-top: 32px; gap: 10px; }
  .page-culture .cul-tile { aspect-ratio: 4 / 5; }
  .page-culture .cul-tile-no { top: 14px; left: 14px; font-size: 12px; }
  .page-culture .cul-tile-body { left: 16px; right: 16px; bottom: 16px; }
  .page-culture .cul-tile-body h3 { font-size: 15px; letter-spacing: 3px; }
  .page-culture .cul-tile-body p { font-size: 12.5px; }
}

/* 企业文化：四格改英文小标 + 口号体例（20261026m） */
.page-culture .cul-tile-en {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
}
.page-culture .cul-tile-body h3 {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .5px;
  line-height: 1.5;
  color: #fff;
}
.page-culture .cul-tile-body p {
  font-size: 12.5px;
  line-height: 1.85;
  color: rgba(255, 255, 255, .68);
}
@media (max-width: 900px) {
  .page-culture .cul-tile-en { top: 14px; left: 16px; font-size: 10px; }
  .page-culture .cul-tile-body h3 { font-size: 15.5px; }
  .page-culture .cul-tile-body p { font-size: 12px; }
}

/* 企业文化：四格遮罩加深，保证白字可读（20261026n） */
.page-culture .cul-tile::after {
  background: linear-gradient(180deg,
    rgba(6, 10, 26, .66) 0%,
    rgba(6, 10, 26, .1) 26%,
    rgba(6, 10, 26, .5) 56%,
    rgba(6, 10, 26, .93) 100%);
}
.page-culture .cul-tile img { filter: saturate(.78) contrast(1.02) brightness(.88); }
.page-culture .cul-tile-body { bottom: 24px; }

/* 企业文化：四格文字块去掉默认外边距（20261026o） */
.page-culture .cul-tile-body h3 { margin: 0 0 8px; }
.page-culture .cul-tile-body p { margin: 0; font-size: 12px; line-height: 1.8; }
.page-culture .cul-tile-body { bottom: 22px; }

/* 企业文化：照鼎龙版式——浅灰底 + 居中标题 + 三张白卡（20261026p） */
.page-culture .cul-culture {
  background: #f5f6f9;
  padding: 86px 0 96px;
}
.page-culture .cul-culture-head { text-align: center; }
.page-culture .cul-culture-head h2 {
  position: relative;
  padding-top: 28px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 5px;
  color: #1a2246;
}
.page-culture .cul-culture-head h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 2px;
  background: #3f5bd0;
}
.page-culture .cul-culture-head p {
  margin-top: 12px;
  font-size: 10px;
  letter-spacing: 5px;
  color: #9aa3b8;
}
.page-culture .cul-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 52px;
}
.page-culture .cul-card {
  background: #fff;
  padding: 54px 40px 50px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(20, 26, 60, .05);
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s;
}
.page-culture .cul-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(20, 26, 60, .1);
}
.page-culture .cul-card-ico {
  width: 56px;
  height: 56px;
  margin: 0 auto 26px;
  color: #3f5bd0;
}
.page-culture .cul-card-ico svg { width: 100%; height: 100%; display: block; }
.page-culture .cul-card h3 {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #1a2246;
}
.page-culture .cul-card p {
  margin-top: 14px;
  font-size: 13.5px;
  line-height: 1.95;
  color: #6b7386;
}
@media (max-width: 900px) {
  .page-culture .cul-culture { padding: 56px 0 60px; }
  .page-culture .cul-culture-head h2 { font-size: 24px; letter-spacing: 3px; }
  .page-culture .cul-cards { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }
  .page-culture .cul-card { padding: 34px 24px 32px; }
  .page-culture .cul-card-ico { width: 46px; height: 46px; margin-bottom: 18px; }
}

/* 企业文化：三卡比例与图标加重（20261026q） */
.page-culture .cul-card { padding: 60px 44px 56px; min-height: 300px; }
.page-culture .cul-card-ico { width: 60px; height: 60px; color: #3550c8; }
.page-culture .cul-card-ico svg { stroke-width: 1.9; }
.page-culture .cul-card h3 { font-size: 18px; letter-spacing: 3px; margin: 0; }
.page-culture .cul-card p { margin-top: 16px; font-size: 13.5px; line-height: 2; max-width: 280px; margin-left: auto; margin-right: auto; }

/* 企业文化：三卡细节对齐鼎龙（20261026r） */
.page-culture .cul-wrap { padding-bottom: 64px; }
.page-culture .cul-culture { padding: 80px 0 92px; }
.page-culture .cul-culture-head h2 { font-size: 32px; font-weight: 500; letter-spacing: 6px; }
.page-culture .cul-card { padding: 56px 40px 52px; }
.page-culture .cul-card-ico { width: 64px; height: 64px; margin-bottom: 28px; }
.page-culture .cul-card-ico svg { stroke-width: 1.75; }

/* 企业文化：移动端隐藏锚点标签，避免挤在 hero 里（20261026s） */
@media (max-width: 900px) {
  .page-culture .cul-tabs { display: none; }
}

/* 企业文化：全页补图（20261026t） */
.page-hero.hero-culture::before {
  background-image: url("../images/qual-lab.jpg");
  background-size: cover;
  background-position: center 55%;
  transform: scale(1.06);
}

/* 主张区：左文右图 */
.page-culture .cul-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .82fr);
  gap: 64px;
  align-items: center;
}
.page-culture .cul-head { max-width: none; }
.page-culture .cul-split-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9edf4;
}
.page-culture .cul-split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.22, .61, .36, 1);
}
.page-culture .cul-split-media:hover img { transform: scale(1.04); }

/* 三卡：卡顶配图 */
.page-culture .cul-card {
  padding: 0 0 40px;
  text-align: left;
  overflow: hidden;
}
.page-culture .cul-card-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e9edf4;
}
.page-culture .cul-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.22, .61, .36, 1);
}
.page-culture .cul-card:hover .cul-card-media img { transform: scale(1.05); }
.page-culture .cul-card-body { padding: 28px 32px 0; }
.page-culture .cul-card h3 { font-size: 17px; letter-spacing: 2px; }
.page-culture .cul-card p { margin-top: 12px; max-width: none; font-size: 13.5px; line-height: 1.95; }

/* 对人的要求：左图右列表 */
.page-culture .cul-people {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
.page-culture .cul-people-media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e9edf4;
}
.page-culture .cul-people-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-culture .cul-people-copy .block-title { margin-top: 0; }
.page-culture .cul-people-list { margin-top: 30px; }
.page-culture .cul-people-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 0;
  border-top: 1px solid rgba(16, 20, 51, .1);
}
.page-culture .cul-people-item:last-child { border-bottom: 1px solid rgba(16, 20, 51, .1); }
.page-culture .cul-people-no {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 1px;
  color: rgba(16, 20, 51, .3);
  padding-top: 3px;
}
.page-culture .cul-people-item strong {
  display: block;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--navy);
}
.page-culture .cul-people-item p {
  margin-top: 7px;
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--muted);
}
@media (max-width: 1000px) {
  .page-culture .cul-split,
  .page-culture .cul-people { grid-template-columns: 1fr; gap: 32px; }
  .page-culture .cul-split-media { aspect-ratio: 16 / 10; }
  .page-culture .cul-people-media { aspect-ratio: 16 / 10; order: -1; }
  .page-culture .cul-card { padding-bottom: 30px; }
  .page-culture .cul-card-body { padding: 22px 24px 0; }
}

/* 企业文化：hero 换实验室特写，主张区车间图裁边（20261026u） */
.page-hero.hero-culture::before {
  background-image: url("../images/hero-quality.jpg");
  background-position: center 45%;
  transform: scale(1);
}
.page-culture .cul-split-media img { transform: scale(1.09); }
.page-culture .cul-split-media:hover img { transform: scale(1.13); }

/* 企业文化：三卡改深底整图压字（20261026w） */
.page-culture .cul-culture {
  background: linear-gradient(150deg, #080d24 0%, #111a44 55%, #0a1030 100%);
  padding: 92px 0 100px;
}
.page-culture .cul-culture-head h2 { color: #fff; }
.page-culture .cul-culture-head h2::before { background: #6f8bff; }
.page-culture .cul-culture-head p { color: rgba(255, 255, 255, .4); }
.page-culture .cul-cards { gap: 18px; margin-top: 56px; }
.page-culture .cul-card {
  background: none;
  box-shadow: none;
  padding: 0;
  min-height: 0;
  overflow: hidden;
  transform: none;
}
.page-culture .cul-card:hover { transform: translateY(-5px); box-shadow: 0 22px 46px rgba(0, 0, 0, .38); }
.page-culture .cul-card-media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.page-culture .cul-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(6, 10, 26, .28) 0%, rgba(6, 10, 26, .12) 40%, rgba(6, 10, 26, .9) 100%);
}
.page-culture .cul-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.85) contrast(1.03) brightness(.92);
}
.page-culture .cul-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 0 30px 32px;
  text-align: left;
}
.page-culture .cul-card h3 {
  color: #fff;
  font-size: 18px;
  letter-spacing: 2px;
}
.page-culture .cul-card p {
  margin-top: 12px;
  color: rgba(255, 255, 255, .74);
  font-size: 13px;
  line-height: 1.9;
}
@media (max-width: 900px) {
  .page-culture .cul-culture { padding: 56px 0 60px; }
  .page-culture .cul-card-media { aspect-ratio: 3 / 2; }
  .page-culture .cul-card-body { padding: 0 22px 22px; }
}

/* 企业文化：明暗节奏与图片亮度（20261026x） */
.page-hero.hero-culture::after {
  background: linear-gradient(90deg, rgba(6, 10, 28, .86) 0%, rgba(6, 10, 28, .62) 46%, rgba(6, 10, 28, .3) 100%);
}
.page-culture .cul-card-media img { filter: saturate(.9) contrast(1.02) brightness(1); }
.page-culture #delivery { background: #f4f6fa; }
.page-culture #people { background: #fff; }

/* 企业文化：对交付的理解改满幅图带（20261026y） */
.page-culture .cul-delivery { background: #fff; }
.page-culture .cul-delivery-media {
  position: relative;
  height: clamp(300px, 30vw, 420px);
  overflow: hidden;
  background: #0d1430;
}
.page-culture .cul-delivery-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.85) contrast(1.02) brightness(.86);
}
.page-culture .cul-delivery-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 10, 28, .82) 0%, rgba(6, 10, 28, .5) 48%, rgba(6, 10, 28, .1) 100%);
}
.page-culture .cul-delivery-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(28px, 4vw, 52px);
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.page-culture .cul-delivery-en {
  font-size: 10px;
  letter-spacing: 5px;
  color: rgba(255, 255, 255, .55);
  text-transform: uppercase;
}
.page-culture .cul-delivery-cap h2 {
  margin-top: 14px;
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: 600;
  letter-spacing: 3px;
  color: #fff;
}
.page-culture .cul-delivery-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  padding-top: 56px;
  padding-bottom: 80px;
}
.page-culture .cul-delivery-body p {
  font-size: 14.5px;
  line-height: 2.05;
  color: var(--muted);
}
@media (max-width: 900px) {
  .page-culture .cul-delivery-media { height: 240px; }
  .page-culture .cul-delivery-body { grid-template-columns: 1fr; gap: 20px; padding-top: 36px; padding-bottom: 48px; }
}

/* 企业文化：hero 提亮 + 图片分工（20261026z） */
.page-hero.hero-culture::before { filter: brightness(1.2) saturate(1.05); }
.page-culture .cul-people-media img { transform: scale(1.06); }

/* 企业文化：人的要求图裁掉原图蓝边（20261026za） */
.page-culture .cul-people-media img { transform: scale(1.14); }

/* 企业文化：人的要求图再放大一档，彻底裁掉原图边框（20261026zb） */
.page-culture .cul-people-media { overflow: hidden; }
.page-culture .cul-people-media img { transform: scale(1.24); }

/* 企业文化：两块改图片铺底（20261026zc） */
.page-culture .cul-culture {
  position: relative;
  background: #08102a;
  background-image: url("../images/bg-cleanroom.jpg");
  background-size: cover;
  background-position: center 40%;
  background-attachment: scroll;
  overflow: hidden;
}
.page-culture .cul-culture::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(6, 10, 26, .93) 0%, rgba(8, 13, 36, .82) 46%, rgba(8, 13, 36, .9) 100%);
}
.page-culture .cul-culture .container { position: relative; z-index: 2; }

.page-culture #people {
  position: relative;
  background-image: url("../images/page-soft.jpg");
  background-size: cover;
  background-position: center;
  overflow: hidden;
  padding: 100px 0;
}
.page-culture #people::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(6, 10, 26, .95) 0%, rgba(8, 13, 36, .86) 52%, rgba(8, 13, 36, .78) 100%);
}
.page-culture #people .container { position: relative; z-index: 2; }
.page-culture .cul-people {
  grid-template-columns: minmax(0, .62fr) minmax(0, 1fr);
  gap: 72px;
}
.page-culture .cul-people-media { display: none; }
.page-culture .cul-people-copy .block-title { color: #fff; }
.page-culture .cul-people-copy .block-title::after { background: #6f8bff; }
.page-culture .cul-people-item { border-top-color: rgba(255, 255, 255, .16); }
.page-culture .cul-people-item:last-child { border-bottom-color: rgba(255, 255, 255, .16); }
.page-culture .cul-people-no { color: rgba(255, 255, 255, .4); }
.page-culture .cul-people-item strong { color: #fff; }
.page-culture .cul-people-item p { color: rgba(255, 255, 255, .66); }
@media (max-width: 1000px) {
  .page-culture .cul-people { grid-template-columns: 1fr; gap: 0; }
  .page-culture #people { padding: 64px 0; }
}

/* 企业文化：背景图透出来一点（20261026zd） */
.page-culture .cul-culture::before {
  background: linear-gradient(160deg, rgba(6, 10, 26, .86) 0%, rgba(8, 13, 36, .7) 48%, rgba(8, 13, 36, .84) 100%);
}
.page-culture #people::before {
  background: linear-gradient(100deg, rgba(6, 10, 26, .88) 0%, rgba(8, 13, 36, .76) 55%, rgba(8, 13, 36, .7) 100%);
}

/* 企业文化：人的要求回到白底左图（20261026ze） */
.page-culture #people {
  background-image: none;
  background: #fff;
  padding: 96px 0 104px;
}
.page-culture #people::before { display: none; }
.page-culture .cul-people {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
.page-culture .cul-people-media { display: block; }
.page-culture .cul-people-copy .block-title { color: var(--navy); }
.page-culture .cul-people-copy .block-title::after { background: var(--blue); }
.page-culture .cul-people-item { border-top-color: rgba(16, 20, 51, .1); }
.page-culture .cul-people-item:last-child { border-bottom-color: rgba(16, 20, 51, .1); }
.page-culture .cul-people-no { color: rgba(16, 20, 51, .3); }
.page-culture .cul-people-item strong { color: var(--navy); }
.page-culture .cul-people-item p { color: var(--muted); }
