/* ================================================================
   HX TOOLS — TCT Circular Saw Blades
   Industrial B2B Design System
   ================================================================ */

:root {
  /* Brand palette — industrial steel + signal orange */
  --navy-900: #0b1b2b;
  --navy-800: #102a41;
  --navy-700: #173d5c;
  --navy-600: #1f5177;
  --steel-500: #3d6a8f;
  --steel-300: #8aa8c0;
  --steel-100: #dbe6ef;
  --steel-50: #f2f6f9;

  --orange-600: #c2410c;
  --orange-500: #e2570f;
  --orange-400: #f97316;
  --orange-100: #ffedd5;

  --ink-900: #10161c;
  --ink-700: #34424f;
  --ink-500: #5d6b78;
  --ink-300: #97a3ae;
  --line: #e2e8ee;
  --bg: #ffffff;
  --bg-alt: #f7f9fb;

  --radius: 4px;
  --radius-lg: 8px;
  --shadow-sm: 0 1px 2px rgba(16, 22, 28, .06);
  --shadow: 0 2px 10px rgba(16, 22, 28, .08);
  --shadow-lg: 0 14px 40px rgba(16, 22, 28, .14);

  --container: 1240px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue",
          "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ---------------- Reset ---------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-900);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--navy-600); text-decoration: none; }
a:hover { color: var(--orange-500); }
h1, h2, h3, h4 { margin: 0 0 .6em; line-height: 1.22; font-weight: 700; letter-spacing: -.015em; }
h1 { font-size: clamp(1.9rem, 4vw, 3rem); }
h2 { font-size: clamp(1.5rem, 2.8vw, 2.15rem); }
h3 { font-size: clamp(1.12rem, 1.8vw, 1.4rem); }
h4 { font-size: 1.02rem; font-weight: 650; }
p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 1.25rem; }
li { margin-bottom: .4rem; }
table { border-collapse: collapse; width: 100%; }
strong { font-weight: 650; }

/* ---------------- Layout ---------------- */
.container { max-width: var(--container); margin: 0 auto; padding: 0 22px; }
.section { padding: 22px 0 60px; }
.section--tight { padding: 52px 0; }
.section--alt { background: var(--bg-alt); }
.section--navy {
  background: linear-gradient(160deg, var(--navy-900) 0%, var(--navy-700) 100%);
  color: #fff;
}
.section--navy h2, .section--navy h3 { color: #fff; }
.section--navy p { color: rgba(255,255,255,.82); }

.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.split--wide-left { grid-template-columns: 1.3fr .7fr; }

.section-head { max-width: 760px; margin-bottom: 26px; }
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.eyebrow {
  display: inline-block; font-size: .74rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--orange-500); margin-bottom: 3px;
}
.section-head h2 { line-height: 1.08; margin-top: 0; }
.section--navy .eyebrow { color: var(--orange-400); }
.lead { font-size: 1.075rem; color: var(--ink-500); }
.section--navy .lead { color: rgba(255,255,255,.8); }

/* ---------------- Top bar ---------------- */
.topbar {
  background: var(--navy-900); color: rgba(255,255,255,.75);
  font-size: .8rem; padding: 7px 0;
}
.topbar .container { display: flex; justify-content: space-between; gap: 16px; flex-wrap: nowrap; align-items: center; }
.topbar a { color: rgba(255,255,255,.75); }
.topbar a:hover { color: #fff; }
.topbar__meta { display: flex; gap: 20px; flex-wrap: nowrap; align-items: center; white-space: nowrap; }

/* ---------------- Header / nav ---------------- */
.site-header {
  position: sticky; top: 0; z-index: 900;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; min-height: 74px;
}
.logo { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }
.logo__mark {
  width: 40px; height: 40px; border-radius: 6px; flex-shrink: 0;
  background: linear-gradient(140deg, var(--navy-700), var(--navy-900));
  display: grid; place-items: center; color: #fff;
}
.logo__text { line-height: 1.1; }
.logo__name { font-weight: 800; font-size: 1.16rem; letter-spacing: -.02em; color: var(--navy-900); }
.logo__tag { font-size: .66rem; letter-spacing: .11em; text-transform: uppercase; color: var(--ink-300); font-weight: 600; }

.nav { display: flex; align-items: center; gap: 2px; }
.nav__link {
  padding: 9px 13px; font-size: .76rem; font-weight: 550;
  color: var(--ink-700); border-radius: var(--radius); white-space: nowrap;
}
.nav__link:hover { background: var(--steel-50); color: var(--navy-700); }
.nav__link--active { color: var(--navy-700); font-weight: 700; }

.header__actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* Language switcher */
.lang { position: relative; }
.lang__btn {
  display: flex; align-items: center; gap: 6px;
  background: none; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 8px 11px; font: inherit; font-size: .83rem; font-weight: 600;
  color: var(--ink-700); cursor: pointer;
}
.lang__btn:hover { border-color: var(--steel-300); background: var(--steel-50); }
.lang__menu {
  position: absolute; right: 0; top: calc(100% + 8px);
  width: min(372px, calc(100vw - 20px));
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg); padding: 8px; z-index: 950;
  display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px;
}
.lang__menu[data-open="true"] { display: grid; }
.lang__item {
  display: flex; align-items: center; justify-content: flex-start; gap: 8px;
  padding: 8px 10px; border-radius: var(--radius); font-size: .85rem; color: var(--ink-700);
  white-space: nowrap; min-width: 0;
}
.lang__item:hover { background: var(--steel-50); color: var(--navy-700); }
.lang__item[aria-current="true"] { background: var(--steel-50); font-weight: 700; color: var(--navy-700); }
@media (min-width: 1180px) {
  .lang__menu { width: min(560px, calc(100vw - 20px)); grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Burger */
.burger {
  display: none; width: 42px; height: 42px; border: 1px solid var(--line);
  background: #fff; border-radius: var(--radius); cursor: pointer;
  align-items: center; justify-content: center;
}
.burger span {
  display: block; width: 19px; height: 2px; background: var(--ink-700);
  position: relative; transition: .2s;
}
.burger span::before, .burger span::after {
  content: ""; position: absolute; left: 0; width: 19px; height: 2px; background: var(--ink-700); transition: .2s;
}
.burger span::before { top: -6px; }
.burger span::after { top: 6px; }

/* ---------------- Buttons ---------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border-radius: var(--radius); border: 1px solid transparent;
  font-weight: 650; font-size: .92rem; cursor: pointer; font-family: inherit;
  transition: .16s ease; text-align: center; line-height: 1.2;
}
.btn--primary { background: var(--orange-500); color: #fff; box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: var(--orange-600); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow); }
.btn--navy { background: var(--navy-700); color: #fff; }
.btn--navy:hover { background: var(--navy-900); color: #fff; }
.btn--outline { border-color: var(--steel-300); color: var(--navy-700); background: #fff; }
.btn--outline:hover { border-color: var(--navy-700); background: var(--steel-50); color: var(--navy-900); }
.btn--ghost-light { border-color: rgba(255,255,255,.34); color: #fff; }
.btn--ghost-light:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.6); color: #fff; }
.btn--sm { padding: 9px 15px; font-size: .84rem; }
.btn--block { width: 100%; }

/* ---------------- Hero (ref cncparker.com dark carousel) ---------------- */
.hero { position: relative; overflow: hidden; }
.hero__carousel {
  position: relative; height: clamp(320px, 24.5vw, 470px); color: var(--navy-900);
  background: #fff; overflow: hidden;
}
.hslide {
  position: absolute; inset: 0; opacity: 0;
  animation: hslide 18s linear infinite;
}
.hslide__bg { position: absolute; inset: 0; display: block; }
.hslide__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hslide:nth-child(1) { animation-delay: 0s; }
.hslide:nth-child(2) { animation-delay: 3s; }
.hslide:nth-child(3) { animation-delay: 6s; }
.hslide:nth-child(4) { animation-delay: 9s; }
.hslide:nth-child(5) { animation-delay: 12s; }
.hslide:nth-child(6) { animation-delay: 15s; }
@keyframes hslide {
  0%, 17.9% { opacity: 1; }
  20%, 97.9% { opacity: 0; }
  100% { opacity: 1; }
}
.hslide__txt { position: absolute; left: 64px; top: 56px; text-align: left; z-index: 2; }
.hslide__txt h2 {
  color: #e2570f; font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  font-weight: 800; letter-spacing: .04em; line-height: 1.25;
}
.hslide__txt h2 em { display: block; font-style: normal; font-weight: 300; letter-spacing: .08em; margin-top: 6px; }
.hslide__txt p {
  margin-top: 10px; color: #98a3ad;
  font-size: .82rem; letter-spacing: .18em; text-transform: uppercase;
}

.hslide__kw {
  position: absolute; left: 0; right: 0; bottom: 28px; z-index: 2;
  text-align: center; color: #6b7683;
  font-size: clamp(.95rem, 1.4vw, 1.2rem); letter-spacing: .28em;
}
.hslide__kw i { font-style: normal; color: #c3cad2; margin: 0 1.1em; }
.hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  background: none; border: none; color: #c3cad2;
  font-size: 3rem; line-height: 1; cursor: default; padding: 10px 14px;
}
.hero__arrow--l { left: 8px; } .hero__arrow--r { right: 8px; }
.hero__dots {
  position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%);
  display: flex; gap: 10px; z-index: 5;
}
.hero__dots span {
  width: 9px; height: 9px; border-radius: 50%;
  background: #d5dade; animation: hdot 18s linear infinite;
}
.hero__dots span:nth-child(1) { animation-delay: 0s; }
.hero__dots span:nth-child(2) { animation-delay: 3s; }
.hero__dots span:nth-child(3) { animation-delay: 6s; }
.hero__dots span:nth-child(4) { animation-delay: 9s; }
.hero__dots span:nth-child(5) { animation-delay: 12s; }
.hero__dots span:nth-child(6) { animation-delay: 15s; }
@keyframes hdot {
  0%, 17.9% { background: #e2570f; }
  20%, 100% { background: #d5dade; }
}
@media (max-width: 860px) {
  .hero__carousel { height: 46vw; }
  .hslide__txt { left: 24px; top: 24px; }
  .hslide__kw { bottom: 18px; font-size: .85rem; }
}
.hero__actions { display: flex; gap: 13px; flex-wrap: wrap; margin-bottom: 0; }
.hero__points { display: flex; flex-wrap: wrap; gap: 10px 26px; font-size: .87rem; color: rgba(255,255,255,.8); }
.hero__points span { display: flex; align-items: center; gap: 7px; }
.hero__visual { display: grid; place-items: center; }
.hero__visual svg { width: 100%; max-width: 470px; filter: drop-shadow(0 22px 46px rgba(0,0,0,.42)); }

/* Page hero (inner pages) */
.page-hero {
  background: linear-gradient(155deg, var(--navy-900) 0%, var(--navy-700) 100%);
  color: #fff; padding: 54px 0 58px;
}
.page-hero h1 { color: #fff; margin-bottom: .35em; }
.page-hero__lead { color: rgba(255,255,255,.82); max-width: 720px; font-size: 1.06rem; margin: 0; }

/* Breadcrumbs */
.crumbs { font-size: .82rem; color: var(--ink-300); padding: 14px 0; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.crumbs li { margin: 0; display: flex; align-items: center; gap: 8px; }
.crumbs li:not(:last-child)::after { content: "/"; color: var(--line); }
.crumbs a { color: var(--ink-500); }
.crumbs a:hover { color: var(--orange-500); }
.crumbs [aria-current] { color: var(--ink-700); font-weight: 600; }
.page-hero .crumbs { color: rgba(255,255,255,.5); padding: 0 0 16px; }
.page-hero .crumbs a { color: rgba(255,255,255,.7); }
.page-hero .crumbs a:hover { color: #fff; }
.page-hero .crumbs li:not(:last-child)::after { color: rgba(255,255,255,.3); }
.page-hero .crumbs [aria-current] { color: #fff; }

/* ---------------- Trust bar ---------------- */
.trustbar { background: var(--navy-800); border-top: 1px solid rgba(255,255,255,.08); padding: 14px 0; }
.trustbar__inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.trustbar__item { display: flex; align-items: center; gap: 13px; color: #fff; }
.trustbar__icon {
  width: 42px; height: 42px; flex-shrink: 0; border-radius: var(--radius);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  display: grid; place-items: center; color: var(--orange-400);
}
.trustbar__label { font-weight: 700; font-size: .9rem; line-height: 1.3; }
.trustbar__sub { font-size: .775rem; color: rgba(255,255,255,.62); line-height: 1.35; }

/* ---------------- Cards ---------------- */
.card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 28px 26px; transition: .18s ease; height: 100%;
  display: flex; flex-direction: column;
}
.card:hover { border-color: var(--steel-300); box-shadow: var(--shadow); transform: translateY(-2px); }
.card h3 { margin-bottom: .45em; }
.card p:last-child { margin-bottom: 0; }
.card__icon {
  width: 50px; height: 50px; border-radius: var(--radius-lg); margin-bottom: 18px;
  background: var(--steel-50); border: 1px solid var(--steel-100);
  display: grid; place-items: center; color: var(--navy-700);
}
.card__link { margin-top: auto; padding-top: 16px; font-weight: 650; font-size: .88rem; color: var(--orange-500); display: inline-flex; align-items: center; gap: 6px; }
.card:hover .card__link { gap: 10px; }
.card--flat { background: var(--bg-alt); border-color: transparent; }
.card--flat:hover { background: #fff; border-color: var(--line); }

/* Product card */
.pcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  overflow: hidden; display: flex; flex-direction: column; transition: .18s ease;
}
.pcard:hover { border-color: var(--steel-300); box-shadow: var(--shadow); transform: translateY(-2px); }
.pcard__media {
  background: linear-gradient(150deg, var(--steel-50), var(--steel-100));
  padding: 26px; display: grid; place-items: center; border-bottom: 1px solid var(--line);
}
.pcard__media svg { width: 150px; height: 150px; }
.pcard__body { padding: 24px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.pcard__tag {
  font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: var(--orange-500); margin-bottom: 8px;
}
.pcard__specs { list-style: none; padding: 0; margin: 14px 0 0; font-size: .845rem; color: var(--ink-500); }
.pcard__specs li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px dashed var(--line); margin: 0; }
.pcard__specs li:last-child { border-bottom: 0; }
.pcard__specs b { color: var(--ink-900); font-weight: 650; }

/* ---------------- Spec table ---------------- */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
table.spec { font-size: .875rem; min-width: 640px; }
table.spec thead th {
  background: var(--navy-800); color: #fff; font-weight: 650; font-size: .79rem;
  letter-spacing: .04em; text-transform: uppercase; padding: 13px 15px; text-align: left;
  white-space: nowrap;
}
table.spec tbody td { padding: 11px 15px; border-bottom: 1px solid var(--line); vertical-align: top; }
table.spec tbody tr:nth-child(even) { background: var(--steel-50); }
table.spec tbody tr:hover { background: var(--orange-100); }
table.spec tbody tr:last-child td { border-bottom: 0; }
table.spec td strong { color: var(--navy-700); }
.table-note { font-size: .8rem; color: var(--ink-300); margin-top: 12px; }

/* ---------------- Feature list ---------------- */
.flist { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.flist li { display: flex; gap: 12px; margin: 0; font-size: .93rem; color: var(--ink-700); }
.flist svg { flex-shrink: 0; margin-top: 3px; color: var(--orange-500); }
.section--navy .flist li { color: rgba(255,255,255,.86); }

/* ---------------- Stat blocks ---------------- */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.stat { text-align: center; padding: 22px 14px; }
.stat__num { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 800; color: var(--navy-700); letter-spacing: -.03em; line-height: 1; }
.section--navy .stat__num { color: var(--orange-400); }
.stat__label { font-size: .845rem; color: var(--ink-500); margin-top: 9px; }
.section--navy .stat__label { color: rgba(255,255,255,.7); }

/* ---------------- Process steps ---------------- */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: step; }
.step { position: relative; padding-top: 34px; }
.step::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  position: absolute; top: 0; left: 0;
  font-size: 1.5rem; font-weight: 800; color: var(--orange-500); letter-spacing: -.03em;
}
.step h3 { font-size: 1.06rem; }
.step p { font-size: .89rem; color: var(--ink-500); margin: 0; }

/* ---------------- FAQ / accordion ---------------- */
.faq { border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__q {
  width: 100%; text-align: left; background: none; border: 0; font: inherit;
  font-weight: 650; font-size: 1rem; color: var(--ink-900); padding: 19px 44px 19px 0;
  position: relative; cursor: pointer; line-height: 1.45;
}
.faq__q:hover { color: var(--navy-700); }
.faq__q::after {
  content: ""; position: absolute; right: 8px; top: 50%; width: 9px; height: 9px;
  border-right: 2px solid var(--orange-500); border-bottom: 2px solid var(--orange-500);
  transform: translateY(-70%) rotate(45deg); transition: .2s;
}
.faq__q[aria-expanded="true"]::after { transform: translateY(-30%) rotate(-135deg); }
.faq__a { display: none; padding: 0 40px 20px 0; color: var(--ink-700); font-size: .935rem; }
.faq__a[data-open="true"] { display: block; }
.faq__a p:last-child, .faq__a ul:last-child { margin-bottom: 0; }

/* ---------------- CTA band ---------------- */
.cta-band {
  background: linear-gradient(140deg, var(--navy-800), var(--navy-600));
  border-radius: var(--radius-lg); padding: 46px 48px; color: #fff;
  display: flex; align-items: center; justify-content: space-between; gap: 34px; flex-wrap: wrap;
}
.cta-band h2 { color: #fff; margin-bottom: .3em; }
.cta-band p { color: rgba(255,255,255,.8); margin: 0; max-width: 620px; }
.cta-band__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------------- Forms ---------------- */
.form { display: grid; gap: 17px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { display: grid; gap: 6px; }
.field label { font-size: .815rem; font-weight: 650; color: var(--ink-700); }
.field label .req { color: var(--orange-500); }
.field input, .field select, .field textarea {
  font-family: inherit; font-size: .92rem; color: var(--ink-900);
  padding: 11px 13px; border: 1px solid var(--line); border-radius: var(--radius);
  background: #fff; width: 100%; transition: .15s;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--steel-500); box-shadow: 0 0 0 3px rgba(61,106,143,.13);
}
.field textarea { resize: vertical; min-height: 116px; }
.field__hint { font-size: .765rem; color: var(--ink-300); }
.form__note { font-size: .79rem; color: var(--ink-300); }
.form__ok {
  display: none; background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46;
  padding: 14px 16px; border-radius: var(--radius); font-size: .9rem;
}
.form__ok[data-open="true"] { display: block; }

/* ---------------- Contact blocks ---------------- */
.contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.contact-list li { display: flex; gap: 14px; margin: 0; }
.contact-list__icon {
  width: 42px; height: 42px; flex-shrink: 0; border-radius: var(--radius);
  background: var(--steel-50); border: 1px solid var(--steel-100);
  display: grid; place-items: center; color: var(--navy-700);
}
.contact-list__label { font-size: .765rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-300); font-weight: 650; }
.contact-list__value { font-weight: 600; color: var(--ink-900); font-size: .95rem; }

/* ---------------- Certification badges ---------------- */
.certs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cert {
  border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px 22px;
  background: #fff; display: flex; gap: 16px; align-items: flex-start;
}
.cert__badge {
  width: 52px; height: 52px; flex-shrink: 0; border-radius: var(--radius);
  border: 1.5px solid var(--navy-700); display: grid; place-items: center;
  font-weight: 800; font-size: .68rem; color: var(--navy-700); text-align: center;
  line-height: 1.1; letter-spacing: -.01em; background: var(--steel-50);
}
.cert h3 { font-size: 1rem; margin-bottom: .3em; }
.cert p { font-size: .855rem; color: var(--ink-500); margin: 0; }

/* ---------------- Info strip / note box ---------------- */
.notebox {
  border-left: 3px solid var(--orange-500); background: var(--orange-100);
  padding: 16px 20px; border-radius: 0 var(--radius) var(--radius) 0;
  font-size: .9rem; color: #7c2d12;
}
.notebox strong { color: #7c2d12; }
.infobox {
  border: 1px solid var(--line); border-left: 3px solid var(--navy-700);
  background: var(--steel-50); padding: 18px 22px; border-radius: 0 var(--radius) var(--radius) 0;
  font-size: .91rem; color: var(--ink-700);
}

/* ---------------- Logo strip ---------------- */
.logostrip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 40px; }
.logostrip span {
  font-weight: 700; font-size: .98rem; color: var(--ink-300);
  letter-spacing: .01em; transition: .18s;
}
.logostrip span:hover { color: var(--navy-700); }

/* ---------------- Footer ---------------- */
.site-footer { background: var(--navy-900); color: rgba(255,255,255,.68); padding: 62px 0 0; font-size: .885rem; }
.site-footer a { color: rgba(255,255,255,.68); }
.site-footer a:hover { color: #fff; }
.footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; padding-bottom: 42px; }
.footer__col h4 {
  color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 16px; font-weight: 700;
}
.footer__col ul { list-style: none; padding: 0; margin: 0; }
.footer__col li { margin-bottom: 10px; }
.footer__brand .logo__name { color: #fff; }
.footer__brand p { margin: 16px 0 0; font-size: .865rem; line-height: 1.7; }
.footer__bottom {
  border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .8rem;
}
.footer__bottom-links { display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------------- Floating actions ---------------- */
.floatbar { position: fixed; right: 20px; bottom: 130px; z-index: 880; display: flex; flex-direction: column; gap: 10px; }
.floatbtn {
  width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
  box-shadow: var(--shadow-lg); color: #fff; transition: .18s;
}
.floatbtn:hover { transform: scale(1.07); color: #fff; }
.floatbtn--wa { background: #25d366; }
.floatbtn--mail { background: var(--navy-700); }
.floatbtn--top { background: var(--ink-300); opacity: 0; pointer-events: none; }
.floatbtn--top[data-show="true"] { opacity: 1; pointer-events: auto; }

/* ---------------- Utilities ---------------- */
.mt-0 { margin-top: 0; } .mb-0 { margin-bottom: 0; }
.mt-1 { margin-top: 10px; } .mt-2 { margin-top: 20px; } .mt-3 { margin-top: 30px; } .mt-4 { margin-top: 44px; }
.mb-1 { margin-bottom: 10px; } .mb-2 { margin-bottom: 20px; } .mb-3 { margin-bottom: 30px; }
.text-center { text-align: center; }
.muted { color: var(--ink-500); }
.small { font-size: .855rem; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; background: var(--navy-900); color: #fff;
  padding: 12px 18px; z-index: 9999; border-radius: 0 0 var(--radius) 0;
}
.skip-link:focus { left: 0; color: #fff; }

/* ================================================================
   Responsive
   ================================================================ */
@media (max-width: 1080px) {
  .nav { display: none; }
  .burger { display: flex; }
  .nav[data-open="true"] {
    display: flex; flex-direction: column; align-items: stretch;
    position: absolute; left: 0; right: 0; top: 100%;
    background: #fff; border-bottom: 1px solid var(--line);
    padding: 10px 16px 18px; box-shadow: var(--shadow-lg);
    max-height: 74vh; overflow-y: auto; gap: 1px;
  }
  .nav[data-open="true"] .nav__link { padding: 12px 14px; border-bottom: 1px solid var(--steel-50); }
  .site-header__inner { position: relative; }
  .hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .hero__visual { order: -1; }
  .hero__visual svg { max-width: 300px; }
  .split, .split--wide-left { grid-template-columns: 1fr; gap: 36px; }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .trustbar__inner { grid-template-columns: repeat(2, 1fr); }
  .certs { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 760px) {
  .section { padding: 56px 0; }
  .topbar__meta { display: none; }
  .hero { padding: 56px 0 62px; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .certs { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .cta-band { padding: 34px 26px; }
  .footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .trustbar__inner { grid-template-columns: 1fr; gap: 16px; }
  .floatbar { right: 14px; bottom: 110px; }
  .floatbtn { width: 48px; height: 48px; }
  .section-head { margin-bottom: 32px; }
  table.spec { font-size: .82rem; }
}

/* ================================================================
   OMAC brand override — industrial blue
   ================================================================ */
:root {
  --navy-900: #081a30;
  --navy-800: #0d2b4d;
  --navy-700: #123a68;
  --navy-600: #175089;
  --steel-500: #2e6da4;
  --steel-300: #7fa8cc;
  --steel-100: #d9e6f2;
  --steel-50: #eef4fa;
  --orange-600: #1d4ed8;
  --orange-500: #2563eb;
  --orange-400: #3b82f6;
  --orange-100: #dbeafe;
}

/* ================================================================
   OMAC components — spec table, quote form, breadcrumb, faq details
   ================================================================ */
.crumb { font-size: .84rem; color: var(--ink-500); padding: 18px 0 0; }
.crumb a { color: var(--ink-500); }
.crumb a:hover { color: var(--orange-500); }

.spec-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: .92rem; }
.spec-table th, .spec-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.spec-table th { background: var(--steel-50); color: var(--navy-800); font-weight: 600; width: 46%; white-space: nowrap; }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: 0; }
.spec-table tbody tr:hover { background: var(--steel-50); }

.qform { display: grid; gap: 12px; margin-top: 18px; }
.qform input, .qform textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius);
  font: inherit; color: var(--ink-900); background: #fff; box-sizing: border-box;
}
.qform input:focus, .qform textarea:focus { outline: 2px solid var(--orange-400); outline-offset: -1px; border-color: var(--orange-400); }
.qform textarea { resize: vertical; }

.faq__item { border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; background: #fff; overflow: hidden; }
.faq__q { padding: 16px 20px; font-weight: 600; color: var(--navy-800); cursor: pointer; list-style: none; position: relative; padding-right: 46px; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.3rem; color: var(--orange-500); }
.faq__item[open] .faq__q::after { content: "−"; }
.faq__a { padding: 0 20px 18px; color: var(--ink-700); }
.faq__a p { margin: 0; }

.card img { width: 100%; height: 190px; object-fit: contain; background: transparent; border-radius: var(--radius); padding: 10px; box-sizing: border-box; }
.grid--3 .card { display: block; }
@media (max-width: 900px) {
  .split { grid-template-columns: 1fr; gap: 30px; }
  .spec-table th { width: 50%; }
}

/* OMAC logo image in header/footer */
.logo > img { flex-shrink: 0; }
.site-footer .logo { margin-bottom: 14px; }

/* Float buttons — icon-only, tooltip on hover */
.floatbtn { position: relative; }
.floatbtn span {
  position: absolute; right: 62px; top: 50%; transform: translateY(-50%);
  background: var(--navy-800); color: #fff; font-size: .78rem; font-weight: 600;
  padding: 6px 12px; border-radius: 4px; white-space: nowrap;
  opacity: 0; pointer-events: none; transition: opacity .15s;
}
.floatbtn:hover span { opacity: 1; }
.floatbtn span::after {
  content: ""; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  border: 5px solid transparent; border-left-color: var(--navy-800);
}

/* ================================================================
   Header 2× enlargement (desktop only, topbar + header)
   ================================================================ */
@media (min-width: 1180px) {
  .topbar { font-size: 1rem; padding: 9px 0; }
  .topbar__meta { gap: 22px; }

  .site-header__inner { min-height: 96px; gap: 16px; justify-content: flex-start; }
  .logo { gap: 18px; }
  .logo > img { height: 104px; }
  .logo__name { font-size: 2.3rem; }
  .logo__tag { font-size: 1.25rem; }
  .nav { flex: 1 1 auto; justify-content: space-between; gap: 0; margin: 0 12px; }
  .nav__link { font-size: .92rem; padding: 9px 8px; text-align: center; }

  .lang__btn { font-size: .92rem; padding: 9px 14px; }
  .header__actions { gap: 10px; }
  .site-header .btn--sm { font-size: .92rem; padding: 9px 18px; }
  .site-header .lang__btn svg { width: 17px; height: 17px; }
}

/* ---------- 首页产品中心·系列分组 ---------- */
.catblock { margin-top: 42px; }
.catblock > h3 {
  font-size: 1.5rem; font-weight: 800; color: var(--navy-800);
  padding-left: 16px; border-left: 5px solid var(--orange-500);
  margin-bottom: 20px; line-height: 1.2;
}
.catblock .grid { margin-top: 0; }
.catblock .card--flat img { height: 210px; }
.link-more {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; color: var(--navy-600); text-decoration: none;
  font-size: 1rem; border-bottom: 2px solid transparent; transition: .15s;
}
.link-more:hover { color: var(--orange-500); border-bottom-color: var(--orange-500); }
@media (min-width: 1180px) {
  .catblock > h3 { font-size: 1.9rem; }
  .link-more { font-size: 1.3rem; }
  .catblock .card--flat img { height: 260px; }
}

/* ---------- 首页产品中心：垂直 Tab 布局 ---------- */
.ptabs {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 0;
  margin-top: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.ptabs__nav { display: flex; flex-direction: column; background: #f5f7fa; border-right: 1px solid var(--line); }
.ptabs__tab {
  appearance: none; background: transparent; border: 0; text-align: left;
  padding: 26px 26px; font: inherit; font-size: 1.08rem; font-weight: 700;
  color: #334155; cursor: pointer; border-bottom: 1px solid var(--line);
  border-left: 4px solid transparent; transition: .18s; line-height: 1.35;
}
.ptabs__tab:last-child { border-bottom: 0; }
.ptabs__tab:hover { background: #eef2f7; color: var(--navy-700); }
.ptabs__tab.is-active {
  background: #fff; color: var(--navy-800);
  border-left-color: var(--orange-500); font-weight: 800;
}
.ptabs__body { position: relative; }
.ptabs__panel { display: none; }
.ptabs__panel.is-active { display: block; }

.pcat { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.pcat__media { background: #f1f5f9; display: flex; align-items: center; justify-content: center; padding: 24px; }
.pcat__media img { width: 100%; height: 330px; object-fit: contain; }
.pcat__body { padding: 34px 36px; display: flex; flex-direction: column; }
.pcat__body > h3 { font-size: 1.6rem; font-weight: 800; color: var(--navy-800); margin-bottom: 14px; }
.pcat__body > p { color: #475569; line-height: 1.8; font-size: 1rem; }
.pcat__meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 22px 0 6px; }
.pcat__count { font-weight: 700; color: var(--orange-500); font-size: .95rem; }
.pcat__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--line); }
.pcat__thumb { text-decoration: none; display: block; }
.pcat__thumb img { width: 100%; height: 76px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); transition: .18s; }
.pcat__thumb:hover img { border-color: var(--orange-500); transform: translateY(-2px); }
.pcat__thumb span { display: block; font-size: .74rem; color: #64748b; margin-top: 6px; line-height: 1.35; }

@media (max-width: 991px) {
  .ptabs { grid-template-columns: 1fr; }
  .ptabs__nav { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .ptabs__tab { border-bottom: 0; border-left: 0; border-top: 4px solid transparent; white-space: nowrap; padding: 16px 20px; }
  .ptabs__tab.is-active { border-top-color: var(--orange-500); border-left-color: transparent; }
  .pcat { grid-template-columns: 1fr; }
  .pcat__media img { height: 240px; }
  .pcat__body { padding: 24px 22px; }
}
@media (min-width: 1180px) {
  .ptabs { grid-template-columns: 340px 1fr; }
  .ptabs__tab { font-size: 1.28rem; padding: 30px 30px; }
  .pcat__body > h3 { font-size: 1.95rem; }
  .pcat__body > p { font-size: 1.15rem; }
  .pcat__media img { height: 380px; }
  .pcat__count { font-size: 1.1rem; }
  .pcat__thumb span { font-size: .86rem; }
}

/* ---------- 产品详情页：社交分享 / 即时咨询栏 ---------- */
.sharebar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;
  margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line);
}
.sharebar__label { font-size: .95rem; font-weight: 700; color: #475569; }
.sharebar__list { display: flex; align-items: center; gap: 10px; }
.sharebtn {
  width: 44px; height: 44px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #eef1f5; color: #94a3b8;
  text-decoration: none; transition: .18s;
}
.sharebtn svg { width: 21px; height: 21px; }
.sharebtn:hover { color: #fff; transform: translateY(-3px); }
.sharebtn--facebook:hover { background: #1877f2; }
.sharebtn--x:hover        { background: #111; }
.sharebtn--linkedin:hover { background: #0a66c2; }
.sharebtn--whatsapp:hover { background: #25d366; }
.sharebtn--email:hover    { background: var(--navy-700); }
@media (min-width: 1180px) {
  .sharebar { gap: 18px; margin-top: 32px; }
  .sharebar__label { font-size: 1.25rem; }
  .sharebtn { width: 56px; height: 56px; border-radius: 10px; }
  .sharebtn svg { width: 26px; height: 26px; }
}

/* ---------- 产品中心 Tab 面板：透明大图 ---------- */
.pcat__media { background: transparent; padding: 10px; }
.pcat__media img { height: 400px; object-fit: contain; }
.pcat__thumb img { background: #fff; }
@media (min-width: 1180px) {
  .pcat__media img { height: 480px; }
  .pcat__thumb img { height: 96px; }
}

/* ---------- 详情页 / 首页主视觉：透明大图 ---------- */
.pd__media img {
  width: 100%; max-width: 640px; height: auto; object-fit: contain;
}
.hero__visual { display: flex; align-items: center; justify-content: center; }
.hero__img { width: 100%; height: auto; filter: drop-shadow(0 18px 32px rgba(15,23,42,.18)); }
@media (min-width: 1180px) {
  .pd__media img { max-width: 700px; }
}

/* ---------- 详情页：演示图 / 应用示意 ---------- */
.demo-figure {
  margin: 0; padding: 18px; background: #fff; border: 1px solid var(--line, #e5e9f0);
  border-radius: 14px; box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.demo-figure img { width: 100%; height: auto; object-fit: contain; display: block; }
.demo-figure figcaption {
  margin-top: 12px; text-align: center; font-size: 14px; color: #64748b;
}

/* ---------- 首页：公司概况（左文右滚动图，参考 suppliergo 风格） ---------- */
.about-sec { background: var(--alt-bg, #f6f8fb); position: relative; overflow: hidden; padding-bottom: 26px; }
/* 三角形渐变水印（左上角） */
.about-sec::before {
  content: ""; position: absolute; top: 0; left: 0; width: 62%; max-width: 760px;
  aspect-ratio: 980/660; background: url("../img/about/tri_watermark.png") no-repeat;
  background-size: contain; opacity: .9; pointer-events: none;
}
/* OMAC LOGO 大水印（右下） */
.about-sec::after {
  content: ""; position: absolute; right: -40px; bottom: -30px; width: 520px;
  aspect-ratio: 560/202; background: url("../img/about/logo_watermark.png") no-repeat;
  background-size: contain; pointer-events: none;
}
.about { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center; position: relative; z-index: 1; }
.about__title {
  color: var(--blue-600, #1d4ed8); font-size: clamp(26px, 3vw, 34px);
  margin: 0 0 18px; letter-spacing: .5px;
}
.about__text {
  color: #475569; line-height: 1.85; font-size: 15px; margin: 0 0 10px;
  display: -webkit-box; -webkit-line-clamp: 9; -webkit-box-orient: vertical; overflow: hidden;
}
.about__more {
  display: inline-block; color: var(--blue-600, #1d4ed8); font-size: 14px;
  font-weight: 600; text-decoration: none; margin-bottom: 18px;
}
.about__more:hover { text-decoration: underline; }
.about__tags { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 22px; max-width: 480px; }
.about__tag {
  padding: 10px 16px; background: #edeff8; border: none;
  border-radius: 8px; font-size: 14px; color: #1f2937; text-decoration: none;
  text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: all .2s;
}
.about__tag:hover { background: var(--blue-600, #1d4ed8); color: #fff; }
.about__cta { display: flex; gap: 14px; flex-wrap: wrap; }
/* 认证标志（与标签网格对齐、均匀布局，蓝底） */
.about__certs {
  margin-top: 16px; display: flex; align-items: center;
  width: 100%; max-width: 480px; padding: 12px 18px;
  background: linear-gradient(90deg, #14418f, #1a56b8); border-radius: 10px;
  box-shadow: 0 8px 22px rgba(20,65,143,.22);
  justify-content: space-evenly;
}
.about__certs img { height: 38px; width: auto; flex: 0 0 auto; }
.btn--wa {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 24px; border-radius: 8px; font-weight: 600; font-size: 15px;
  border: 1.5px solid #22a94f; color: #1f9d48; background: #fff; text-decoration: none;
  transition: all .2s;
}
.btn--wa:hover { background: #22a94f; color: #fff; }
/* 右侧：浅色面板 + 大弧线装饰 + 厂区鸟瞰图（静态） */
.about__media {
  position: relative; background: linear-gradient(165deg, #f7f8fa, #e9ebef 70%, #e3e6eb);
  border-radius: 18px; padding: 0; overflow: hidden; align-self: stretch;
  display: flex; flex-direction: column; justify-content: stretch;
}
.about__arc {
  position: absolute; width: 640px; height: 640px; border-radius: 50%;
  border: 3px solid #c6cad2; left: 50%; top: -320px; transform: translateX(-50%);
  pointer-events: none; border-bottom-color: transparent; border-left-color: transparent;
}
.about__arc::after {
  content: ""; position: absolute; width: 640px; height: 640px; border-radius: 50%;
  border: 3px solid #c6cad2; left: 50%; top: 560px; transform: translateX(-50%);
  border-top-color: transparent; border-right-color: transparent;
}
.about__factory { flex: 1; min-height: 0;
  position: relative; z-index: 1; margin: 0; width: 100%;
  background: transparent; padding: 0; border: none; box-shadow: none; border-radius: 18px;
  overflow: hidden;
}
.about__factory img {
  width: 100%; height: 100%; display: block; border-radius: 18px 18px 0 0;
  object-fit: cover; object-position: center;
}
/* 底部 5 图横滚带 */
.about__hstrip {
  position: relative; z-index: 1; height: 96px; overflow: hidden; flex: 0 0 96px;
  background: rgba(255,255,255,.65); border-top: 1px solid rgba(255,255,255,.7);
}
.about__htrack { display: flex; gap: 8px; width: max-content; height: 100%;
  padding: 6px 0; animation: hstripScroll 28s linear infinite; }
.about__hstrip:hover .about__htrack { animation-play-state: paused; }
.about__htrack img {
  width: 150px; height: 84px; object-fit: cover; border-radius: 8px;
  box-shadow: 0 4px 12px rgba(15,23,42,.14); background: #fff; flex: 0 0 auto;
}
@keyframes hstripScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 4px)); }
}

/* ---------- 首页：产品系列横幅（青绿底 + 工厂照片，参考风格） ---------- */
.prodrange {
  background:
    url("../img/prodrange_banner.jpg?v=7") top center / 100% auto no-repeat, #f0f0f1;
}
.prodrange .section-head { padding-top: 10px; }
.prodrange .section-head .eyebrow {
  color: #7fe0d2;
  font-size: 1.25rem; font-weight: 800;
  letter-spacing: .18em; margin-bottom: 8px;
  text-shadow: 0 2px 10px rgba(6,14,32,.55);
}
.prodrange .section-head h2 {
  color: #fff;
  -webkit-text-stroke: .8px rgba(20,35,60,.45);
  text-shadow: 0 0 3px rgba(15,25,45,.9), 0 0 8px rgba(15,25,45,.7), 0 2px 6px rgba(15,25,45,.85), 0 3px 12px rgba(0,0,0,.6);
}
.prodrange .section-head .lead,
.prodrange .section-head--center .lead {
  color: rgba(255,255,255,.88);
  -webkit-text-stroke: .5px rgba(20,35,60,.4);
  text-shadow: 0 0 3px rgba(15,25,45,.9), 0 0 8px rgba(15,25,45,.65), 0 2px 6px rgba(15,25,45,.85), 0 2px 10px rgba(0,0,0,.55);
}
.prodrange .section-head .eyebrow {
  text-shadow: 0 0 3px rgba(15,25,45,.9), 0 0 8px rgba(15,25,45,.7), 0 2px 8px rgba(0,0,0,.6);
}
.prodrange .btn--navy { background: #fff; color: #0b6666; border-color: #fff; }
.prodrange .btn--navy:hover { background: #e8fffb; }

/* ---------- 首页：数据统计横条（蓝底大数字，参考 qianchuan 风格） ---------- */
.stats-band { background: linear-gradient(90deg, #14418f, #1a56b8); padding: 0; }
.stats-band__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.sband__item {
  display: flex; align-items: center; justify-content: center; gap: 26px;
  padding: 30px 20px; color: #fff; text-align: left;
}
.sband__item + .sband__item { border-left: 1px solid rgba(255,255,255,.18); }
.sband__num { font-size: 42px; font-weight: 800; line-height: 1; letter-spacing: -1px; }
.sband__num i { font-style: normal; font-size: 17px; font-weight: 700; margin-left: 5px; opacity: .92; }
.sband__txt p { margin: 10px 0 0; font-size: 13.5px; opacity: .88; line-height: 1.5; }
.sband__ic { color: rgba(255,255,255,.55); flex: 0 0 auto; display: flex; }
@media (max-width: 960px) {
  .stats-band__in { grid-template-columns: 1fr 1fr; }
  .sband__item { padding: 20px 18px; }
  .sband__item:nth-child(3) { border-left: none; }
  .sband__item:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }
  .sband__num { font-size: 32px; }
  .sband__ic svg { width: 38px; height: 38px; }
}
@media (max-width: 960px) {
  .about { grid-template-columns: 1fr; gap: 28px; }
  .about__media { min-height: 0; padding: 0; }
  .about__arc { display: none; }
  .about__factory { width: 100%; border-radius: 14px; }
  .about__factory img { border-radius: 14px; }
}

/* ---------- 首页产品系列：规格卡片风格 ---------- */
.section-head--center { text-align: center; }
.section-head--center .eyebrow { display: inline-block; color: var(--orange-500); }
.section-head--center h2 { margin: 10px auto 14px; }
.section-head--center .lead { max-width: 780px; margin: 0 auto; color: #64748b; }

.speccards {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; margin-top: 38px;
}
@media (min-width: 701px) and (max-width: 1024px) { .speccards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .speccards { grid-template-columns: 1fr; } }

.speccard {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  overflow: hidden; text-decoration: none; transition: .2s;
}
.speccard:hover { box-shadow: 0 14px 34px rgba(15,23,42,.12); transform: translateY(-4px); border-color: #cbd5e1; }

.speccard__media {
  background: #eef5fc;
  display: flex; align-items: center; justify-content: center;
  padding: 18px; min-height: 180px;
}
.speccard__media img { width: 100%; height: 190px; object-fit: contain; }
@media (max-width: 700px) { .speccard__media img { height: 150px; } }

.speccard__body { padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; text-align: center; }
.speccard__tag {
  font-size: .78rem; font-weight: 800; color: var(--orange-500);
  letter-spacing: .02em; margin-bottom: 10px; display: block;
}
/* 产品名称（居中，描述性名称） */
.speccard__body h3,
.speccard__name {
  font-size: 1rem; font-weight: 700; color: #475569;
  line-height: 1.45; margin: 0 0 8px; min-height: 2.9em;
  display: flex; align-items: center; justify-content: center;
}
/* 型号（醒目大字，居中） */
.speccard__model {
  font-size: 1.32rem; font-weight: 800; color: var(--navy-800);
  letter-spacing: .01em; line-height: 1.2; margin: 0 0 14px;
  padding-bottom: 14px; border-bottom: 2px solid #eef2f7;
  font-variant-numeric: tabular-nums;
}
.speccard__specs { list-style: none; margin: 0 0 18px; padding: 0; flex: 1; text-align: left; }
.speccard__specs li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 7px 0; border-bottom: 1px dashed #e2e8f0; font-size: .8rem;
}
.speccard__specs li:last-child { border-bottom: 0; }
.speccard__specs span { color: #64748b; white-space: nowrap; }
.speccard__specs b { color: #0f172a; font-weight: 700; text-align: right; }
.speccard__link {
  font-size: .9rem; font-weight: 800; color: var(--orange-500);
  border-bottom: 2px solid transparent; transition: .15s; align-self: center;
}
.speccard:hover .speccard__link { border-bottom-color: var(--orange-500); }

/* ---------- 首页 Hero 主图：常规尺寸，与左侧文字对齐 ---------- */
.hero__visual { justify-content: flex-start; }
.hero__img {
  width: 100%; max-width: 620px; height: auto;
  filter: drop-shadow(0 18px 32px rgba(15,23,42,.18));
}
@media (max-width: 991px) { .hero__visual { justify-content: center; } }

/* ---------- Hero 标题逐词动画 ---------- */
.hero h1 .hw {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.7em);
  animation: heroRise .65s cubic-bezier(.22,.9,.3,1.2) forwards;
  animation-delay: calc(var(--i) * 85ms);
  will-change: transform, opacity;
}
@keyframes heroRise {
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 .hw { animation: none; opacity: 1; transform: none; }
}

/* 中文 Hero 标题（长文案自适应字号） */
html[lang="zh"] .hero h1 {
  font-size: clamp(1.5rem, 2.7vw, 2.3rem);
  line-height: 1.32;
}

/* 外文（非中文）Hero 标题字号减半，中文保持不变 */
html[lang="en"] .hero h1,
html[lang="de"] .hero h1,
html[lang="it"] .hero h1,
html[lang="fr"] .hero h1,
html[lang="es"] .hero h1 {
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  line-height: 1.35;
}

/* ---------- 语言菜单：国旗对齐 ---------- */
.lang__item { display: flex; align-items: center; gap: 10px; }
.lang__item .flag {
  flex: 0 0 auto; border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(15,23,42,.14);
}
.lang__name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
.lang__item .lang__code { flex: 0 0 auto; color: var(--steel-400); font-size: .74rem; letter-spacing: .04em; }
.lang__item[aria-current="true"] .lang__code { color: var(--navy-600); }
@media (min-width: 1180px) {
  .lang__item .flag { width: 28px; height: 19px; }
}

/* ================================================================
   行业新闻 / Industry News
   ================================================================ */
.pagehead { background: linear-gradient(180deg, var(--steel-50) 0%, #fff 100%); border-bottom: 1px solid var(--line); padding: 42px 0 38px; }
.pagehead h1 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.24; color: var(--navy-800); margin: 8px 0 12px; }
.pagehead .lead { max-width: 780px; color: var(--ink-700); }
.pagehead__meta { font-size: .84rem; color: var(--ink-500); margin-top: 14px; }
.pagehead--article { padding-top: 0; }
.pagehead--article .crumb { padding-top: 18px; }
.pagehead--article h1 { font-size: clamp(1.5rem, 2.9vw, 2.15rem); }
.pagehead--article .newscard__cat { display: inline-block; margin-top: 10px; }

/* 分类筛选 */
.newschips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.newschip {
  font: inherit; font-size: .86rem; font-weight: 600; cursor: pointer;
  padding: 8px 18px; border-radius: 999px; border: 1px solid var(--line);
  background: #fff; color: var(--ink-700); transition: all .15s;
}
.newschip:hover { border-color: var(--steel-300); color: var(--navy-700); }
.newschip.is-active { background: var(--navy-800); border-color: var(--navy-800); color: #fff; }

/* 新闻卡片网格 */
.newsgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.newsgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.newscard {
  display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 24px 24px 22px; box-shadow: var(--shadow-sm);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.newscard:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--steel-300); }
.newscard__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.newscard__cat {
  font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--navy-700); background: var(--steel-100);
  padding: 4px 11px; border-radius: 999px; white-space: nowrap;
}
.newscard__date { font-size: .78rem; color: var(--ink-300); font-variant-numeric: tabular-nums; white-space: nowrap; }
.newscard__title { font-size: 1.06rem; line-height: 1.42; margin: 0 0 10px; color: var(--navy-800); }
.newscard__title a { color: inherit; }
.newscard__title a:hover { color: var(--orange-500); }
.newscard__excerpt { font-size: .9rem; color: var(--ink-500); margin: 0 0 16px; flex: 1 1 auto; }
.newscard__link { font-size: .86rem; font-weight: 600; color: var(--orange-500); margin-top: auto; }
.newscard--sm { padding: 20px; }
.newscard--sm .newscard__title { font-size: .98rem; margin-bottom: 0; }

/* 文章详情 */
.split--news { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
.article { font-size: 1rem; line-height: 1.78; color: var(--ink-700); }
.article__lead { font-size: 1.1rem; line-height: 1.7; color: var(--navy-800); font-weight: 500; padding-bottom: 20px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.article p { margin: 0 0 18px; }
.article__back { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.article__aside { background: var(--steel-50); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; }
.article__aside h3 { font-size: .92rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-500); margin: 0 0 16px; }
.article__aside .card { background: #fff; }
.grid--1 { grid-template-columns: 1fr; gap: 14px; }
.grid--1 .card img { height: 140px; }

@media (max-width: 1000px) {
  .newsgrid, .newsgrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split--news { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .newsgrid, .newsgrid--3 { grid-template-columns: 1fr; }
  .newscard { padding: 20px; }
  .pagehead { padding: 30px 0 28px; }
}

/* ================================================================
   SEO 关键词标签 / keyword tags
   ================================================================ */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.kwbar { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.kwbar--sm { margin-top: 14px; }
.kwpill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 15px; border-radius: 999px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(29,78,216,.28);
  color: var(--navy-700); font-size: .84rem; font-weight: 700;
  transition: all .15s;
}
.kwpill::before { content: "#"; color: var(--orange-500); font-weight: 800; }
.kwpill:hover { background: var(--navy-800); border-color: var(--navy-800); color: #fff; }
.kwpill:hover::before { color: var(--steel-300); }

.kwtag {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: 999px;
  background: var(--steel-100); color: var(--navy-700);
  font-size: .72rem; font-weight: 700; line-height: 1.6;
  transition: all .13s;
}
a.kwtag::before { content: "#"; margin-right: 3px; color: var(--steel-500); font-weight: 800; }
a.kwtag:hover { background: var(--navy-800); color: #fff; }
a.kwtag:hover::before { color: var(--steel-300); }

.newscard__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }

.article__kw {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 26px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line);
}
.article__kw-l { font-size: .82rem; font-weight: 700; color: var(--ink-500); }

.kwlinks { display: flex; flex-wrap: wrap; gap: 12px; }
.kwlink {
  display: inline-flex; align-items: center;
  padding: 11px 20px; border-radius: var(--radius);
  background: #fff; border: 1px solid var(--line);
  color: var(--navy-800); font-size: .9rem; font-weight: 700;
  box-shadow: var(--shadow-sm); transition: all .15s;
}
.kwlink:hover { border-color: var(--steel-300); box-shadow: var(--shadow); color: var(--orange-500); }

@media (max-width: 640px) {
  .kwbar { gap: 7px; }
  .kwpill { font-size: .78rem; padding: 6px 12px; }
  .kwlinks { gap: 9px; }
  .kwlink { font-size: .84rem; padding: 9px 15px; }
}

/* ================================================================
   视频中心 Video Centre
   ================================================================ */
.pagehead--video { background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-800) 55%, #1d3a5c 100%); }
.pagehead--video .eyebrow { color: var(--steel-300); }
.pagehead--video h1 { color: #fff; }
.pagehead--video .lead { color: rgba(255,255,255,.82); }
.pagehead--video .pagehead__meta { color: rgba(255,255,255,.6); }

.vchips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 26px; }
.vidchip {
  padding: 10px 22px; border-radius: 999px; cursor: pointer;
  background: #fff; border: 1px solid var(--line); color: var(--navy-800);
  font-size: .9rem; font-weight: 700; font-family: inherit; transition: all .15s;
}
.vidchip:hover { border-color: var(--steel-300); color: var(--orange-500); }
.vidchip.is-active { background: var(--navy-800); border-color: var(--navy-800); color: #fff; }

.vcatrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 34px; }
.vcat {
  position: relative; padding: 22px 24px; border-radius: var(--radius);
  background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm);
}
.vcat h3 { margin: 0 0 6px; font-size: 1.02rem; color: var(--navy-900); }
.vcat p { margin: 0; font-size: .875rem; color: var(--ink-500); line-height: 1.6; }
.vcat__n {
  position: absolute; top: 18px; right: 20px;
  font-size: .74rem; font-weight: 800; color: var(--steel-500);
  background: var(--steel-50, #f4f7fa); padding: 3px 10px; border-radius: 999px;
}

.vgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .18s, box-shadow .18s;
  display: flex; flex-direction: column;
}
.vcard:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.vcard__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #0d203f; }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.vcard:hover .vcard__media img { transform: scale(1.05); }
.vcard__dur {
  position: absolute; right: 10px; bottom: 10px; z-index: 2;
  padding: 3px 9px; border-radius: 5px; background: rgba(0,0,0,.68);
  color: #fff; font-size: .74rem; font-weight: 700; letter-spacing: .02em;
}
.vcard__badge {
  position: absolute; left: 10px; top: 10px; z-index: 2;
  padding: 4px 11px; border-radius: 999px; background: rgba(255,255,255,.92);
  color: var(--navy-800); font-size: .73rem; font-weight: 800;
}
.vcard__play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3;
  width: 62px; height: 62px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center;
  background: rgba(255,255,255,.93); color: var(--navy-900);
  box-shadow: 0 6px 22px rgba(0,0,0,.3); transition: all .18s;
}
.vcard__play svg { margin-left: 3px; }
.vcard__play:hover { background: var(--orange-500); color: #fff; transform: translate(-50%, -50%) scale(1.1); }
.vcard__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.vcard__title { margin: 0 0 5px; font-size: 1.05rem; color: var(--navy-900); }
.vcard__meta { margin: 0 0 16px; font-size: .82rem; color: var(--ink-500); flex: 1; }
.vcard__btn {
  align-self: flex-start; padding: 9px 20px; border-radius: var(--radius);
  border: 1px solid var(--line); background: #fff; cursor: pointer;
  color: var(--navy-800); font-size: .85rem; font-weight: 700; font-family: inherit; transition: all .15s;
}
.vcard__btn:hover { background: var(--navy-800); border-color: var(--navy-800); color: #fff; }

.vnote { margin: 28px 0 0; font-size: .84rem; color: var(--ink-500); text-align: center; }

/* 播放弹窗 */
.vmodal {
  position: fixed; inset: 0; z-index: 9999; display: none;
  align-items: center; justify-content: center; padding: 24px;
  background: rgba(6,15,30,.9); backdrop-filter: blur(3px);
}
.vmodal[data-open="true"] { display: flex; }
.vmodal__inner { position: relative; width: min(1000px, 100%); }
.vmodal__inner video { width: 100%; height: auto; max-height: 82vh; border-radius: 10px; background: #000; display: block; }
.vmodal__close {
  position: absolute; top: -46px; right: 0;
  width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.16); color: #fff; font-size: 1.5rem; line-height: 1;
}
.vmodal__close:hover { background: var(--orange-500); }

@media (max-width: 960px) {
  .vgrid { grid-template-columns: repeat(2, 1fr); }
  .vcatrow { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .vgrid { grid-template-columns: 1fr; gap: 18px; }
  .vchips { gap: 8px; }
  .vidchip { padding: 8px 16px; font-size: .84rem; }
  .vcard__play { width: 52px; height: 52px; }
}

/* ---------- 图片放大灯箱（产品卡片点击放大） ---------- */
.speccard__media { position: relative; cursor: zoom-in; }
.speccard__zoom {
  position: absolute; right: 12px; bottom: 12px;
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.92); color: var(--navy-800);
  box-shadow: 0 3px 12px rgba(15,23,42,.16);
  opacity: 0; transform: scale(.85); transition: .18s; pointer-events: none;
}
.speccard:hover .speccard__zoom { opacity: 1; transform: scale(1); }

.lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(8, 15, 30, .88);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s;
  padding: 40px 70px;
}
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox__fig {
  max-width: 100%; max-height: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  transform: scale(.94); transition: transform .28s cubic-bezier(.2,.8,.3,1);
}
.lightbox.is-open .lightbox__fig { transform: scale(1); }
.lightbox__img {
  max-width: min(1400px, 92vw); max-height: 78vh;
  width: auto; height: auto; object-fit: contain;
  background: #fff; border-radius: 10px; padding: 10px;
  box-shadow: 0 30px 80px rgba(0,0,0,.5);
}
.lightbox__cap {
  color: #e2e8f0; font-size: .95rem; font-weight: 700;
  letter-spacing: .02em; text-align: center; max-width: 900px;
}
.lightbox__cap span { color: #ffb26b; margin-left: 10px; }
.lightbox__close {
  position: absolute; top: 22px; right: 26px;
  width: 46px; height: 46px; border-radius: 50%; border: 0;
  background: rgba(255,255,255,.14); color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: .18s;
}
.lightbox__close:hover { background: rgba(255,255,255,.28); transform: rotate(90deg); }
.lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%; border: 0;
  background: rgba(255,255,255,.14); color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: .18s;
}
.lightbox__nav:hover { background: rgba(255,255,255,.3); }
.lightbox__nav--prev { left: 16px; }
.lightbox__nav--next { right: 16px; }
.lightbox__nav[hidden] { display: none; }
@media (max-width: 700px) {
  .lightbox { padding: 60px 12px 40px; }
  .lightbox__img { max-height: 68vh; }
  .lightbox__nav { width: 40px; height: 40px; }
  .lightbox__nav--prev { left: 6px; } .lightbox__nav--next { right: 6px; }
  .speccard__zoom { opacity: 1; transform: scale(1); width: 30px; height: 30px; }
}
body.lb-lock { overflow: hidden; }

/* 首页产品卡片：竖版布局（图上 → 名称 → 型号 → 技术参数）
   原本的 --h 横向布局已停用，保留 grid 定义以防其它页面复用 */
.speccards--h { grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (min-width: 1400px) { .speccards--h { grid-template-columns: repeat(3, 1fr); } }
.speccards--h .speccard { display: flex; flex-direction: column; }
.speccards--h .speccard__media {
  height: auto; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border-right: 0; border-bottom: 1px solid var(--line);
  padding: 16px; min-height: 200px;
}
.speccards--h .speccard__media img {
  width: 100%; height: 200px; max-height: 200px; object-fit: contain; padding: 0;
}
.speccards--h .speccard__body { padding: 18px 20px 20px; }
@media (max-width: 1024px) { .speccards--h { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) {
  .speccards--h { grid-template-columns: 1fr; }
  .speccards--h .speccard { grid-template-columns: 1fr; }
  .speccards--h .speccard__media { border-right: 0; border-bottom: 1px solid var(--line); }
  .speccards--h .speccard__media img { max-height: 180px; height: 180px; }
  .speccard__model { font-size: 1.2rem; }
}

/* 首页 01 生产线卡片：通栏横贯（已停用，保留兼容） */
.speccards--h .speccard--wide { grid-column: 1 / -1; }
.speccards--h .speccard--wide { grid-template-columns: 42% 1fr; }
.speccards--h .speccard--wide .speccard__media img { max-height: 320px; }
.speccards--h .speccard--wide .speccard__body { padding: 26px 34px; }
.speccards--h .speccard--wide .speccard__body h3 { font-size: 1.45rem; }
.speccards--h .speccard--wide .speccard__specs li { padding: 10px 0; font-size: .95rem; }
@media (max-width: 700px) {
  .speccards--h .speccard--wide { grid-template-columns: 1fr; }
  .speccards--h .speccard--wide .speccard__body { padding: 20px; }
}

/* world map watermark behind product cards */
.prodrange__wrap { position: relative; }
.prodrange__wm {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  opacity: .34;
  pointer-events: none;
  z-index: 0;
}
.prodrange__wm i {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.prodrange__wrap .speccards { position: relative; z-index: 1; }

/* whyband - quality banner with factory bg + 2x2 cards (AUTECH style) */
.whyband {
  position: relative;
  background: url("../img/about/s1.jpg") center / cover no-repeat;
  padding: 96px 0;
}
.whyband::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,18,34,.86) 0%, rgba(10,18,34,.72) 55%, rgba(10,18,34,.55) 100%);
}
.whyband__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 48px;
  align-items: center;
}
.whyband__intro .whyband__eyebrow {
  color: #7fe0d2; font-weight: 800; letter-spacing: .16em;
  font-size: .82rem; text-transform: uppercase;
}
.whyband__intro h2 {
  color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem);
  margin: 12px 0 18px; line-height: 1.25;
}
.whyband__intro p { color: rgba(255,255,255,.86); line-height: 1.9; margin-bottom: 26px; }
.whyband__cards {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
}
.whyband__card {
  background: rgba(13,27,52,.72);
  border: 1px solid rgba(127,224,210,.18);
  border-radius: 10px;
  padding: 22px 22px 20px;
  backdrop-filter: blur(4px);
}
.whyband__icon {
  display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center;
  background: rgba(127,224,210,.14); color: #7fe0d2; border-radius: 8px; margin-bottom: 12px;
}
.whyband__card h3 { color: #7fe0d2; font-size: .98rem; margin-bottom: 8px; }
.whyband__card p { color: rgba(255,255,255,.82); font-size: .88rem; line-height: 1.75; }
@media (max-width: 1024px) {
  .whyband__grid { grid-template-columns: 1fr; }
  .whyband__cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .whyband { padding: 64px 0; }
  .whyband__cards { grid-template-columns: 1fr; }
}

/* product showcase - infinite horizontal scroll (4 imgs x2) */
.showcase { overflow: hidden; margin-top: 40px; position: relative; }
.showcase__track {
  display: flex; gap: 22px; width: max-content;
  animation: showcaseScroll 32s linear infinite;
}
.showcase:hover .showcase__track { animation-play-state: paused; }
.showcase__track img {
  height: 300px; width: auto; object-fit: contain;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 14px 22px; flex: 0 0 auto;
  box-shadow: 0 6px 18px rgba(15,23,42,.08);
}
@keyframes showcaseScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 11px)); }
}
@media (max-width: 700px) {
  .showcase__track img { height: 190px; padding: 8px 14px; }
}

.hero .btn--outline { color: #14418c; border-color: #14418c; }
.hero .btn--outline:hover { background: #14418c; color: #fff; }
@media (max-width: 1024px) {
}

/* JS 轮播控制（覆盖纯 CSS 动画） */
.hslide { animation: none !important; opacity: 0; transition: opacity .8s ease; }
.hslide.on { opacity: 1; }
.hero__dots span { animation: none !important; background: #d5dade; }
.hero__dots span.on { background: #e2570f; }

/* 第1帧标题下移30% */
.hslide:nth-child(1) .hslide__txt { top: 30%; }

/* 全部帧标题下移20% */
.hslide__txt { top: 20% !important; }
.hslide:nth-child(1) .hslide__txt { top: 30% !important; }

/* 第2帧标题右移20% */
.hslide:nth-child(2) .hslide__txt { left: 20%; }
/* 第4、5帧标题右移40% */
.hslide:nth-child(4) .hslide__txt,
.hslide:nth-child(5) .hslide__txt { left: 20%; }

/* 产品中心：整机实拍展示（6 幅 banner 图） */
.showgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 20px; }
.showcard { position: relative; display: block; border-radius: 10px; overflow: hidden; box-shadow: 0 3px 14px rgba(16,42,67,.12); }
.showcard img { width: 100%; aspect-ratio: 1920/539; object-fit: cover; display: block; transition: transform .35s ease; }
.showcard:hover img { transform: scale(1.03); }
.showcard__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 18px 10px; color: #fff; font-size: .95rem; background: linear-gradient(transparent, rgba(16,42,67,.72)); }
.showcard__cap em { font-style: normal; font-weight: 300; letter-spacing: .06em; margin-left: 6px; color: #ffd9c4; }
@media (max-width: 860px) { .showgrid { grid-template-columns: 1fr; gap: 14px; } }
.showgrid--top { margin-top: 8px; }
/* 产品中心：分类快捷标签（Teknomotor 风格） */
.catnav { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 4px; }
.cattab { display: inline-block; padding: 11px 26px; min-width: 150px; text-align: center; background: #f0f0f1; color: #333; font-size: .92rem; border-radius: 3px; transition: background .2s, color .2s; }
.cattab:hover { background: #d9dde1; color: #102a43; }
.cattab--on { background: #1653a4; color: #fff; }
.cattab--on:hover { background: #124688; color: #fff; }
/* 产品中心：头部蓝色底 */
.products-hero { background: linear-gradient(135deg, #1653a4 0%, #1e6bc0 60%, #2f80d4 100%); color: #fff; padding: 44px 0 38px; }
.products-hero h1 { color: #fff; }
.products-hero .lead { color: rgba(255,255,255,.88); max-width: 640px; }
.products-hero .cattab { background: rgba(255,255,255,.16); color: #fff; }
.products-hero .cattab:hover { background: rgba(255,255,255,.28); color: #fff; }
.products-hero .cattab--on { background: #fff; color: #1653a4; }
.products-hero .cattab--on:hover { background: #eef4fb; color: #1653a4; }
/* 经销商招募按钮 */
.dealer-btn { display: inline-block; margin-top: 4px; background: #fff; color: #1653a4 !important; font-weight: 600; padding: 12px 30px; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.dealer-btn:hover { background: #eef4fb; transform: translateY(-1px); }
/* 产品中心头部：文字与按钮左右布局 */
.products-hero__row { display: flex; align-items: center; gap: 40px; }
.products-hero__row .section-head { flex: 1 1 auto; margin: 0; }
.products-hero__side { flex: 0 0 auto; }
.products-hero__side .dealer-btn { margin-top: 0; }
@media (max-width: 860px) { .products-hero__row { flex-direction: column; align-items: flex-start; gap: 18px; } }
/* 经销商按钮：放大30%并右移40% */
.products-hero__side .dealer-btn { font-size: 1.17rem; padding: 16px 40px; transform: translateX(40%); }
.products-hero__side .dealer-btn:hover { transform: translateX(40%) translateY(-1px); }
@media (max-width: 860px) { .products-hero__side .dealer-btn { transform: none; font-size: 1rem; padding: 12px 28px; } }
/* 产品中心分类标题：整幅蓝色底横条 */
.cat-band { margin: 44px 0 18px; padding: 16px 28px; background: linear-gradient(90deg, #1653a4, #2f80d4); color: #fff !important; font-size: 1.3rem; border-radius: 6px; }
/* 分类蓝底横条：全屏左右拉通 */
.cat-band { width: 100vw; margin-left: 50%; transform: translateX(-50%); border-radius: 0; padding: 16px calc((100vw - min(1200px, 92vw)) / 2); }
/* 首页产品卡片：STON 风格（左对齐标题 + 一句描述） */
.stoncard { border: 0; box-shadow: 0 2px 12px rgba(15,23,42,.06); }
.stoncard .speccard__media { background: #f5f6f8; padding: 26px 18px 10px; }
.stoncard .speccard__media img { height: 210px; object-fit: contain; }
.stoncard .speccard__body { text-align: left; padding: 22px 24px 26px; }
.stoncard .speccard__name { font-size: 1.18rem; font-weight: 700; color: #0f172a; line-height: 1.35; }
.stoncard .speccard__name em { display: block; font-style: normal; font-weight: 300; font-size: .95rem; color: #475569; letter-spacing: .04em; margin-top: 4px; }
.stoncard__brief { margin: 10px 0 0; color: #64748b; font-size: .88rem; line-height: 1.55; }
.stoncard:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15,23,42,.12); }
/* STON 卡片：覆盖旧居中样式 */
.stoncard .speccard__body, .stoncard .speccard__name { text-align: left !important; justify-content: flex-start !important; display: block !important; min-height: 0; }
.stoncard .speccard__name em { display: block !important; }
/* 详情页主图：完整放置于图框内 */
.pd__media { background: #f5f6f8; border: 1px solid #e5e9ef; border-radius: 8px; padding: 26px; }
.pd__media img { width: 100%; max-width: 640px; height: auto; max-height: 480px; object-fit: contain; display: block; margin: 0 auto; }
/* 详情页主图：放大填满图框 */
.pd__media { padding: 14px; }
.pd__media img { max-width: 100% !important; max-height: none !important; width: 100% !important; }
/* 详情页主图：产品图无框，仅下方型号条带框 */
.pd__media { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.pd__media img { width: 100% !important; max-width: 100% !important; max-height: none !important; display: block; }
.pd__modelbar { margin-top: 14px; padding: 14px 20px; background: linear-gradient(90deg, #1653a4, #2f80d4); color: #fff; font-weight: 700; font-size: 1.15rem; letter-spacing: .02em; border-radius: 6px; text-align: center; }
/* 详情页主图：放大30%（左右溢出裁边，居中显示） */
.pd__media { overflow: hidden; }
.pd__media img { width: 130% !important; max-width: 130% !important; margin-left: -15%; }
/* STON 卡片：产品区白底，文字区浅灰底 */
.stoncard { background: #fff; }
.stoncard .speccard__media { background: #fff; }
.stoncard .speccard__body { background: #f0f1f3; }
/* STON 卡片：底部双链接 */
.stoncard__media-link, .stoncard__title-link { display: block; color: inherit; }
.stoncard__title-link:hover { text-decoration: none; }
.stoncard__links { display: flex; gap: 22px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e2e5ea; }
.stoncard__links a { font-size: .88rem; font-weight: 600; color: #1653a4; text-decoration: none; }
.stoncard__links a:hover { color: var(--orange-500); }
/* STON 卡片链接：蓝色实心按钮形式 */
.stoncard__links { border-top: 0; padding-top: 2px; margin-top: 14px; gap: 10px; }
.stoncard__links a { display: inline-block; background: #1653a4; color: #fff !important; font-weight: 600; font-size: .88rem; padding: 9px 20px; border-radius: 5px; transition: background .2s, transform .2s; }
.stoncard__links a:hover { background: #0f3f80; color: #fff !important; transform: translateY(-1px); }
/* 卡片底部按钮对齐：文字区弹性布局，按钮统一贴底 */
.stoncard { display: flex; flex-direction: column; height: 100%; }
.stoncard .speccard__body { display: flex !important; flex-direction: column; flex: 1; }
.stoncard .stoncard__brief { flex: 1 1 auto; }
.stoncard__links { margin-top: auto !important; align-self: flex-start; }
.speccards--h { align-items: stretch; }
/* 详情页复用蓝色头部：稍紧凑 */
.products-hero--sub { padding: 34px 0 30px; }
.products-hero--sub h1 { font-size: clamp(1.5rem, 2.2vw, 2rem); }
.products-hero--sub .lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* 详情页主图：缩小30% */
.pd__media img { width: 91% !important; max-width: 91% !important; margin-left: 4.5%; }
/* 详情页：缩小主图区块与头部之间的间距 */
.pd-split-section { padding: 26px 0 30px !important; }
.pd__media img { width: 100% !important; max-width: 100% !important; margin: 0 auto; }
/* 详情页：左图与右侧标题顶部平齐 */
.pd-split-section .split { align-items: flex-start; }
/* 详情页：GHL 风格 PRODUCT DETAILS 区块 */
.pd-detail { display: grid; grid-template-columns: 1.15fr 1fr; gap: 36px; margin-top: 26px; }
.pd-detail__feats, .pd-detail__spec { background: #fff; border-radius: 8px; padding: 26px 28px; box-shadow: 0 2px 12px rgba(15,23,42,.06); }
.pd-detail__feats h3, .pd-detail__spec h3 { margin: 0 0 16px; font-size: 1.12rem; color: #102a43; border-left: 4px solid #1653a4; padding-left: 12px; }
.pd-detail__feats ul { list-style: none; margin: 0; padding: 0; }
.pd-detail__feats li { display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px dashed #e8ecf1; font-size: .93rem; line-height: 1.65; color: #334155; }
.pd-detail__feats li:last-child { border-bottom: 0; }
.pd-detail__feats li i { flex: 0 0 26px; height: 26px; background: #1653a4; color: #fff; font-style: normal; font-weight: 700; font-size: .78rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.spec-table--ghl { width: 100%; border-collapse: collapse; }
.spec-table--ghl th { background: #1653a4; color: #fff; font-weight: 600; padding: 11px 14px; text-align: left; border: 0; }
.spec-table--ghl td { background: #fff; color: #0f172a; padding: 11px 14px; border: 1px solid #e8ecf1; }
.spec-table--ghl tr:nth-child(even) td { background: #f5f7fa; }
@media (max-width: 900px) { .pd-detail { grid-template-columns: 1fr; } }
/* ===== 详情页 GHL 布局 ===== */
.ghl-layout { display: grid; grid-template-columns: 270px 1fr; gap: 30px; padding: 30px 0 50px; align-items: start; }
.ghl-side { position: sticky; top: 84px; }
.ghl-side__title { background: #1653a4; color: #fff; font-weight: 800; font-size: 1.15rem; padding: 14px 20px; border-radius: 4px 4px 0 0; }
.ghl-side__list { list-style: none; margin: 0; padding: 0; background: #fafafa; border: 1px solid #eee; border-top: 0; border-radius: 0 0 4px 4px; }
.ghl-side__list li + li { border-top: 1px solid #eee; }
.ghl-side__list a { display: block; padding: 12px 20px; font-size: .9rem; color: #444; text-decoration: none; }
.ghl-side__list a:hover, .ghl-side__list a.on { background: #fff; color: #1653a4; font-weight: 600; }
.ghl-contact { background: #fafafa; border: 1px solid #eee; border-radius: 4px; margin-top: 24px; padding: 20px; }
.ghl-contact h3 { margin: 0 0 8px; font-size: 1.1rem; color: #222; }
.ghl-contact p { font-size: .84rem; color: #777; line-height: 1.6; margin: 0 0 6px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.ghl-contact__row { display: flex; align-items: center; gap: 12px; padding: 12px 0; text-decoration: none; color: #333; }
.ghl-contact__row + .ghl-contact__row { border-top: 1px solid #eee; }
.ghl-contact__row i { flex: 0 0 38px; height: 38px; background: #1653a4; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ghl-contact__row b { display: block; font-size: .95rem; }
.ghl-contact__row small { color: #999; font-size: .78rem; }
.ghl-main { min-width: 0; }
.ghl-card { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 34px 38px; }
.ghl-card__img { text-align: center; border: 1px solid #eee; padding: 18px; margin-bottom: 24px; }
.ghl-card__img img { max-width: 100%; height: auto; }
.ghl-card h1 { font-size: 1.35rem; margin: 0 0 8px; color: #222; }
.ghl-card h1 .ghl-model { display: block; font-size: 1rem; font-weight: 700; letter-spacing: .04em; color: var(--navy-800); margin-bottom: 4px; }
.ghl-kw { color: #888; font-size: .9rem; margin: 0 0 18px; }
.ghl-card__btns { display: flex; gap: 16px; }
.ghl-card__btns a { flex: 1; text-align: center; background: #1653a4; color: #fff; font-weight: 600; padding: 12px 0; border-radius: 4px; text-decoration: none; transition: background .2s; }
.ghl-card__btns a:hover { background: #0f3f80; }
.ghl-band { display: flex; align-items: center; gap: 10px; background: #3a3f45; color: #fff; font-weight: 700; font-size: 1.05rem; padding: 15px 22px; margin: 34px 0 20px; border-radius: 4px; }
.ghl-band i { width: 14px; height: 14px; background: #1653a4; }
.ghl-detail__feats { list-style: none; margin: 0 0 24px; padding: 0; }
.ghl-detail__feats li { padding: 7px 0; font-size: .93rem; color: #444; line-height: 1.7; border-bottom: 1px dashed #eee; }
.ghl-detail__feats li:last-child { border-bottom: 0; }
.ghl-spec { width: 100%; border-collapse: collapse; }
.ghl-spec th { background: #f0f1f3; color: #333; font-weight: 600; padding: 11px 14px; text-align: left; border: 1px solid #e5e7ea; width: 34%; }
.ghl-spec td { background: #fff; color: #222; padding: 11px 14px; border: 1px solid #e5e7ea; }
.ghl-spec tr:nth-child(even) td { background: #fafbfc; }
.ghl-page .demo-figure img { border: 1px solid #eee; }
@media (max-width: 960px) { .ghl-layout { grid-template-columns: 1fr; } .ghl-side { position: static; } }
/* GHL 产品卡：图片切换轮播 */
.ghl-card__img { position: relative; }
.ghl-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 56px; border: 0; background: rgba(255,255,255,.9); color: #555; font-size: 1.5rem; cursor: pointer; box-shadow: 0 1px 6px rgba(0,0,0,.12); z-index: 2; }
.ghl-nav--l { left: 10px; }
.ghl-nav--r { right: 10px; }
.ghl-nav:hover { background: #fff; color: #1653a4; }
.ghl-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; align-items: center; }
.ghl-thumb { width: 86px; height: 62px; padding: 3px; background: #fff; border: 1px solid #ddd; cursor: pointer; overflow: hidden; }
.ghl-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ghl-thumb.on { border: 2px solid #1653a4; padding: 2px; }
/* 详情页：应用场景无缝滚动 */
.app-marquee { overflow: hidden; border-radius: 6px; }
.app-track { display: flex; gap: 14px; width: max-content; animation: appscroll 28s linear infinite; }
.app-track img { height: 170px; width: auto; border-radius: 6px; box-shadow: 0 2px 8px rgba(15,23,42,.10); }
.app-marquee:hover .app-track { animation-play-state: paused; }
@keyframes appscroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 7px)); } }

/* 详情页 产品视频卡 */
.vidcard__media{position:relative;overflow:hidden}
.vidcard__media img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.vidcard__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(22,83,164,.85);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;padding-left:4px}
.vidcard__dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;padding:2px 7px;border-radius:3px}
.vidcard:hover .vidcard__play{background:#1653a4}

/* 详情页 报价弹窗式区块 */
.quote-pop{display:grid;grid-template-columns:340px 1fr;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.quote-pop__photo{position:relative;min-height:420px}
.quote-pop__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.quote-pop__body{padding:30px 34px}
.quote-pop__list{margin:0 0 18px;padding-left:20px;color:#222;font-size:15px;line-height:1.9}
.quote-pop__list li::marker{color:#1653a4}
.quote-pop__body .qform input,.quote-pop__body .qform textarea{width:100%;padding:12px 14px;margin-bottom:12px;border:1px solid #d7dbe0;border-radius:6px;font-size:14px}
.quote-pop__body .qform .btn{border-radius:6px}
@media(max-width:820px){.quote-pop{grid-template-columns:1fr}.quote-pop__photo{min-height:220px}}
/* 详情页主图：去外框 + 放大 */
.ghl-card__img { border: none !important; padding: 0 !important; }
.ghl-card__img img { width: 100% !important; max-width: none !important; }
/* 详情页主图点击放大灯箱 */
.img-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.88); padding: 24px; cursor: zoom-out; }
.img-lightbox.on { display: flex; }
.img-lightbox img { max-width: 96vw; max-height: 92vh; object-fit: contain; background: #fff; border-radius: 4px; }
.img-lightbox__close { position: absolute; top: 14px; right: 22px; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; opacity: .85; }
.img-lightbox__close:hover { opacity: 1; }
.ghl-card__img #ghlMainImg { transition: opacity .2s; }
.ghl-card__img #ghlMainImg:hover { opacity: .92; }
/* 产品卡片图区白色底 */
.speccard__media, .stoncard__media { background: #fff !important; }
/* 产品卡标题：型号在上，产品名在下 */
.stoncard .speccard__name em { font-size: 1.15rem; font-weight: 700; color: #0f172a !important; margin: 0 0 4px !important; letter-spacing: 0; }
.stoncard .speccard__name { font-size: .98rem; font-weight: 500; color: #1653a4; }
/* 产品中心卡片：型号一行在上、产品名一行在下 */
.card--flat h3.card--2line em { display: block; font-style: normal; font-weight: 700; font-size: 1.12rem; color: #0f172a; margin: 0 0 4px; line-height: 1.3; }
.card--flat h3.card--2line span { display: block; font-weight: 500; font-size: .95rem; color: #1653a4; line-height: 1.4; }

/* ================= 新版页脚（仿参考站） ================= */
.prefooter { background: #fff; line-height: 0; }
.prefooter__sky { width: 100%; height: 150px; display: block; }
.ftr-sub { background: #1f2329; color: #cfd6dd; padding: 40px 0 36px; }
.ftr-sub__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; }
.ftr-sub h3 { color: #fff; font-size: 1.15rem; font-weight: 700; margin: 0 0 10px; }
.ftr-sub p { margin: 0 0 18px; font-size: .92rem; color: #9aa5b1; line-height: 1.6; }
.ftr-sub__form { display: flex; gap: 0; max-width: 420px; }
.ftr-sub__form input { flex: 1; height: 44px; padding: 0 16px; border: 0; border-radius: 999px 0 0 999px; font: inherit; font-size: .92rem; background: #fff; color: #222; outline: none; }
.ftr-sub__btn { height: 44px; padding: 0 26px; border: 0; border-radius: 0 999px 999px 0; background: #1653a4; color: #fff; font-weight: 600; cursor: pointer; font-size: .95rem; }
.ftr-sub__btn:hover { background: #2f80d4; }
.ftr-sub__follow { text-align: right; }
.ftr-sub__follow p { margin-left: auto; max-width: 420px; }
.ftr-sub__soc { display: inline-flex; gap: 12px; }
.soc { width: 38px; height: 38px; border-radius: 50%; background: #2f343c; color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: .15s; }
.soc:hover { background: #1653a4; transform: translateY(-2px); }
.site-footer--new { background: #23272e; padding: 48px 0 0; }
.footer__grid--new { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 64px; align-items: center; }
.footer-logo { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.footer-logo .logo__tag { font-size: .88rem; color: #aab6c2; line-height: 1.5; border-left: 1px solid #3a424c; padding-left: 14px; }
.footer__brand .footer__about { max-width: 380px; color: #b7c1cc; line-height: 1.75; }
.footer__contact .flist--ic { display: grid; gap: 0; }
.footer__contact .flist--ic li { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.footer__contact .flist--ic li:last-child { border-bottom: 0; }
.footer__contact .flist--ic span { color: #c8d2dc; font-size: .92rem; line-height: 1.55; }
.footer__contact .flist--ic a { color: #e9eef4; font-weight: 500; }
.footer__contact .flist--ic svg { color: #6f7f8f; margin-top: 2px; }
.site-footer--new h3 { font-size: 1rem; margin-bottom: 16px; }
.site-footer--new .flist li { line-height: 1.5; }
.flist--ic li { display: flex; gap: 10px; align-items: flex-start; }
.flist--ic svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 3px; color: #8fa4b8; }
@media (max-width: 1000px) {
  .ftr-sub__grid { grid-template-columns: 1fr; }
  .ftr-sub__follow { text-align: left; }
  .ftr-sub__follow p { margin-left: 0; }
  .footer__grid--new { grid-template-columns: 1fr; gap: 40px; }
}

/* 产品中心卡片底部按钮：查看详情 / 视频中心 */
.card__btns { display: flex; gap: 10px; margin-top: auto; padding-top: 14px; }
.card--flat .card__btns { margin-top: 16px; }
.pv-btn { flex: 1; text-align: center; height: 36px; line-height: 36px; border-radius: 5px; background: #1653a4; color: #fff !important; font-size: .88rem; font-weight: 600; padding: 0 14px; white-space: nowrap; transition: .15s; }
.pv-btn:hover { background: #2f80d4; }
.card__titlelink { display: block; margin-top: 4px; }
.card__titlelink:hover h3 span { text-decoration: underline; }

/* 详情页内嵌视频播放器 */
.vidcard--inline video { width: 100%; aspect-ratio: 16/9; display: block; background: #000; border-radius: var(--radius); }
.vidcard--inline h3 { margin-top: 12px; }

/* 详情页视频：封面 + 绿色播放键 + 绿色标题条 */
.vidcard--inline { padding: 0; overflow: hidden; }
.vidcard--inline .vidwrap { position: relative; }
.vidcard--inline video { width: 100%; aspect-ratio: 16/9; display: block; background: #000; }
.vidcard--inline .vidplay { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 40px; height: 40px; border-radius: 50%; background: rgba(22,83,164,.9); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); border: 2px solid rgba(255,255,255,.75); cursor: pointer; display: flex; align-items: center; justify-content: center; padding-left: 3px; box-shadow: 0 4px 14px rgba(0,0,0,.35); transition: .15s; }
.vidcard--inline .vidplay:hover { background: rgba(22,83,164,.65); transform: translate(-50%,-50%) scale(1.08); }
.vidcard--inline .vidcap { background: #1653a4; color: #fff; text-align: center; font-weight: 700; font-size: 1.02rem; padding: 13px 16px; }

/* 应用场景实拍图网格（点击放大） */
.scene-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 26px; }
.scene-grid .appshot { width: 100%; height: 210px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line); cursor: zoom-in; transition: .15s; }
.scene-grid .appshot:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
@media (max-width: 1000px) { .scene-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .scene-grid { grid-template-columns: repeat(2, 1fr); } .scene-grid .appshot { height: 170px; } }

/* ===== About banner ===== */
.about-banner { position: relative; width: 100%; height: 340px; overflow: hidden; }
.about-banner__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-banner__ov { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: rgba(15,30,50,.18); }
.about-banner__ov h1 { color: #fff; font-size: 2.4rem; letter-spacing: .06em; text-shadow: 0 2px 12px rgba(0,0,0,.35); margin: 0; }
.about-banner__crumb { color: rgba(255,255,255,.9); font-size: .92rem; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.about-banner__crumb a { color: rgba(255,255,255,.9); }
@media (max-width: 640px) { .about-banner { height: 200px; } .about-banner__ov h1 { font-size: 1.6rem; } }

/* ===== About page 5-section redesign ===== */
.ab-head { margin-bottom: 28px; }
.ab-head h2 { margin: 0 0 8px; }
.ab-sub { color: var(--muted); font-size: .95rem; letter-spacing: .02em; margin: 0; }
.ab-cert-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.ab-cert { background: #fff; border: 1px solid var(--line); border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 26px 10px; color: #475569; font-size: .9rem; transition: .25s; }
.ab-cert:hover { box-shadow: 0 8px 24px rgba(22,83,164,.12); transform: translateY(-3px); }
/* .ab-hist-wrap 与其它板块共用 .container，标题天然与「企业方针」对齐 */
.ab-hist { position: relative; padding-left: 26px; }
.ab-hist::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: #dbe6f5; }
.ab-hist__item { position: relative; padding: 0 0 26px 18px; }
.ab-hist__item:last-child { padding-bottom: 0; }
.ab-hist__dot { position: absolute; left: -26px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: #1653a4; border: 3px solid #dbe6f5; box-sizing: border-box; }
.ab-hist__txt h4 { margin: 0 0 4px; color: #1f2937; font-size: 1.05rem; }
.ab-hist__txt p { margin: 0; color: var(--muted); font-size: .93rem; line-height: 1.7; }
/* .ab-policy 保持与上方各板块标题同一左边缘 */
.ab-policy { margin: 0; color: #374151; font-size: 1rem; line-height: 2; text-align: justify; }
.ab-partner-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.ab-partner { background: #fff; border: 1px solid var(--line); border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px 10px; color: #94a3b8; font-size: .85rem; transition: .25s; }
.ab-partner:hover { color: #1653a4; box-shadow: 0 8px 24px rgba(22,83,164,.12); transform: translateY(-3px); }
@media (max-width: 1000px) { .ab-cert-grid { grid-template-columns: repeat(3, 1fr); } .ab-partner-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .ab-cert-grid { grid-template-columns: repeat(2, 1fr); } .ab-partner-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== About blue stats bar ===== */
.ab-stats { margin-top: 34px; display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(135deg, #14356b, #1653a4); border-radius: 10px; padding: 30px 20px; }
.ab-stat { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 26px; border-right: 1px solid rgba(255,255,255,.18); }
.ab-stat:last-child { border-right: 0; }
.ab-stat__num { color: #fff; font-size: 1.9rem; font-weight: 800; letter-spacing: .02em; line-height: 1.2; }
.ab-stat__lbl { color: rgba(255,255,255,.82); font-size: .88rem; margin-top: 4px; line-height: 1.5; }
.ab-stat__ic { width: 40px; height: 40px; color: rgba(255,255,255,.55); flex: none; }
@media (max-width: 1000px) { .ab-stats { grid-template-columns: repeat(2, 1fr); gap: 18px 0; } .ab-stat:nth-child(2) { border-right: 0; } }
@media (max-width: 560px) { .ab-stats { grid-template-columns: 1fr; } .ab-stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); padding: 12px 6px; } .ab-stat:last-child { border-bottom: 0; } }

/* ===== About features (icon+title+text) ===== */
.ab-feat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 40px; }
.ab-feat { text-align: center; }
.ab-feat svg { width: 74px; height: 74px; }
.ab-feat h3 { margin: 16px 0 10px; font-size: 1.12rem; color: #1f2937; }
.ab-feat p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.85; text-align: justify; }
@media (max-width: 1000px) { .ab-feat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ab-feat-grid { grid-template-columns: 1fr; } }

/* ===== About factory gallery ===== */
.ab-factory__main { width: 100%; border-radius: 8px; border: 1px solid var(--line); display: block; }
.ab-factory__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 10px; }
.ab-factory__thumbs img { width: 100%; height: 82px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
@media (max-width: 640px) { .ab-factory__thumbs img { height: 56px; } }

/* ===== Service commitment (3 cards) ===== */

.ab-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.ab-svc__head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.ab-svc__num { font-size: 2.6rem; font-weight: 800; color: #e3e9f2; line-height: 1; }
.ab-svc__lbl { font-size: 1.02rem; color: #334155; font-weight: 600; }
.ab-svc__img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 8px; display: block; }
.ab-svc p { margin: 14px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.85; text-align: justify; }
@media (max-width: 1000px) { .ab-svc-grid { grid-template-columns: 1fr; gap: 30px; } }

/* ===== History + vertical strip gallery ===== */
.ab-hist-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: stretch; }
.ab-strip { display: flex; height: 470px; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 30px rgba(15,30,50,.12); }
.ab-strip img { flex: 1 1 0; min-width: 0; height: 100%; object-fit: cover; transition: flex-grow .45s ease; cursor: pointer; }
.ab-strip img:hover { flex-grow: 2.2; }
@media (max-width: 1000px) { .ab-hist-split { grid-template-columns: 1fr; gap: 34px; } .ab-strip { height: 300px; } }

/* gallery zoom readiness */
.ab-strip img { cursor: zoom-in; }
.img-lightbox__close { z-index: 2; }

/* ===== Inline expand: click a strip item to show the full image ===== */
.ab-strip { transition: height .3s ease; }
.ab-strip.zoomed { display: block; padding: 8px; background: #f6f8fb; }
.ab-strip.zoomed img { display: none; }
.ab-strip.zoomed img.on { display: block; width: 100%; height: 100%; flex: none; object-fit: contain; cursor: zoom-out; }

/* ===== Contact: one card, photo left + perks/form right ===== */
.ct-box { display: flex; background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; box-shadow: 0 6px 24px rgba(15,30,50,.06); }
.ct-box__photo { flex: 0 0 28%; }
.ct-person { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-box__body { flex: 1; padding: 28px 34px; }
.ct-perks { list-style: none; margin: 0 0 16px; padding: 0; }
.ct-perks li { position: relative; padding: 5px 0 5px 22px; color: #1f2937; font-size: .98rem; font-weight: 600; }
.ct-perks li::before { content: ""; position: absolute; left: 4px; top: 13px; width: 7px; height: 7px; border-radius: 50%; background: #1653a4; }
.ct-box__body .qform input, .ct-box__body .qform textarea { margin-bottom: 12px; }
@media (max-width: 900px) { .ct-box { flex-direction: column; } .ct-box__photo { flex: none; max-height: 300px; } .ct-box__body { padding: 22px; } }

/* ===== Inline video enlarge: 150% of original size (not fullscreen) ===== */
/* 放大遮罩层：flex 全屏正中；无白底 */
.vid-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9990; display: flex; align-items: center; justify-content: center; background: rgba(10,18,30,.9); }
.vid-overlay .vidcard--inline { width: min(92vw, 900px); margin: 0; background: transparent !important; border: 0 !important; box-shadow: none; }
.vid-overlay .vidcard--inline video { background: transparent; }

/* 竖屏视频：卡片改为竖版比例，画面放大 */
.vidcard--portrait { max-width: 340px; margin: 0 auto; }
.vidcard--portrait video { aspect-ratio: 9 / 16 !important; }
.vid-overlay .vidcard--portrait { max-width: 420px; }

/* video caption as enlarge toggle */
.vidcap--zoom { display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; }
.vidcap--zoom .vidcap__ic { opacity: .8; }
.vidcap--zoom:hover .vidcap__ic { opacity: 1; transform: scale(1.15); }

/* 其它产品：通用详情文案块 */
.ghl-other { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 22px 26px; margin-bottom: 26px; }
.ghl-other__t { margin: 0 0 10px; font-size: 1.08rem; }
.ghl-other__list { margin: 0; padding-left: 20px; }
.ghl-other__list li { margin: 0 0 10px; line-height: 1.75; color: #3c4653; font-size: .93rem; }
.ghl-other__list li:last-child { margin-bottom: 0; }

/* 查看详情：通用能力介绍列表 */
.ghl-common { margin: 0 0 22px; padding-left: 20px; }
.ghl-common li { margin: 0 0 12px; line-height: 1.8; color: #3c4653; font-size: .95rem; }
.ghl-common li:last-child { margin-bottom: 0; }

/* Hero 标题限宽换行，避免长英文标题压到产品图 */
.hslide__txt { max-width: min(46%, 640px); }
.hslide__txt h2 { font-size: clamp(1.35rem, 2.1vw, 1.9rem); line-height: 1.3; }
.hslide__txt h2 em { letter-spacing: .05em; }
@media (max-width: 860px) { .hslide__txt { max-width: 62%; } .hslide__txt h2 { font-size: 1.15rem; } }

/* 三款单机（XD3/XD4/X3）标题统一位置 */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(4) .hslide__txt,
.hslide:nth-child(5) .hslide__txt { left: 64px; top: 30% !important; }

/* 修正：单机帧=1,2,3（XD3/XD4/X3），生产线帧=4,5,6（LM2400-H/LM1260/MJZD） */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(2) .hslide__txt,
.hslide:nth-child(3) .hslide__txt { left: 64px; top: 30% !important; }
.hslide:nth-child(4) .hslide__txt,
.hslide:nth-child(5) .hslide__txt,
.hslide:nth-child(6) .hslide__txt { left: 64px; top: 20% !important; max-width: 42%; }
.hslide:nth-child(4) .hslide__txt h2,
.hslide:nth-child(5) .hslide__txt h2,
.hslide:nth-child(6) .hslide__txt h2 { font-size: clamp(1.25rem, 1.9vw, 1.7rem); }

/* 单机帧标题右移 40% */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(2) .hslide__txt,
.hslide:nth-child(3) .hslide__txt { left: 40%; }

/* 单机帧标题左移至 20% */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(2) .hslide__txt,
.hslide:nth-child(3) .hslide__txt { left: 20%; }

/* 单机帧标题上移 30%（30% -> 0%） */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(2) .hslide__txt,
.hslide:nth-child(3) .hslide__txt { top: 0% !important; }

/* 单机帧标题下移 15%（0% -> 15%） */
.hslide:nth-child(1) .hslide__txt,
.hslide:nth-child(2) .hslide__txt,
.hslide:nth-child(3) .hslide__txt { top: 15% !important; }

/* 页脚知识产权声明 */
.footer__bottom { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; justify-content: space-between; }
.footer__ip { font-size: .78rem; opacity: .72; }
@media (max-width: 700px) { .footer__bottom { flex-direction: column; align-items: flex-start; } .footer__ip { font-size: .74rem; line-height: 1.6; } }
/* ================================================================
   Contact float bar .cfx — jinzhi style (headset button + vertical pill)
   ================================================================ */
.cfx { position: fixed; right: 18px; bottom: 120px; z-index: 880; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.cfx__head, .cfx__ico, .cfx__top { -webkit-tap-highlight-color: transparent; }
.cfx__head { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #fff; text-decoration: none;
  background: radial-gradient(circle at 32% 26%, #4a8cc4 0%, rgba(74,140,196,0) 46%), linear-gradient(180deg, #2e6da4 0%, #175089 52%, #123a68 100%);
  border: 3px solid rgba(255,255,255,.92); box-shadow: 0 6px 18px rgba(9,30,54,.35), 0 2px 6px rgba(9,30,54,.28); transition: filter .18s, transform .18s; }
.cfx__head:hover, .cfx__head:focus-visible { filter: brightness(1.12); transform: translateY(-1px); }
.cfx__list { list-style: none; margin: 0; padding: 6px 0; display: flex; flex-direction: column; align-items: center; position: relative;
  background: linear-gradient(180deg, #20629f 0%, #175089 46%, #0d2b4d 100%); border-radius: 12px;
  box-shadow: 0 8px 24px rgba(6,22,40,.35), inset 0 0 0 1px rgba(160,200,235,.22); }
.cfx__list::before { content: ""; position: absolute; top: 0; left: 8px; right: 8px; height: 2px; border-radius: 12px 12px 0 0;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75), rgba(255,255,255,0)); }
.cfx__item { position: relative; width: 48px; display: flex; justify-content: center; }
.cfx__item + .cfx__item::after { content: ""; position: absolute; top: 0; left: 9px; right: 9px; height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.30), rgba(255,255,255,0)); }
.cfx__ico { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; margin: 3px 0; color: #cfe3f5;
  background: transparent; border: 0; padding: 0; cursor: pointer; transition: background .16s, color .16s, box-shadow .16s; }
.cfx__item:hover .cfx__ico, .cfx__item:focus-within .cfx__ico, .cfx__item.is-open .cfx__ico { background: #fff; color: #123a68; box-shadow: 0 2px 8px rgba(4,16,30,.4); }
.cfx__pop { position: absolute; right: 56px; top: 50%; min-width: 216px; background: #fff; border-radius: 10px; padding: 13px 15px 12px;
  box-shadow: 0 10px 30px rgba(6,22,40,.28); opacity: 0; visibility: hidden; pointer-events: none; white-space: nowrap; text-align: left;
  transform: translateY(-50%) translateX(8px); transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 5; }
.cfx__pop::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #2e6da4; border-radius: 10px 10px 0 0; }
.cfx__item:hover .cfx__pop, .cfx__item:focus-within .cfx__pop, .cfx__item.is-open .cfx__pop { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(-50%) translateX(0); }
.cfx__pop-t { display: block; font-size: .8rem; font-weight: 600; color: #2e6da4; margin-bottom: 4px; }
.cfx__pop-v { display: block; font-size: .95rem; font-weight: 700; color: #0b1b2b; text-decoration: none; }
.cfx__pop-v:hover { text-decoration: underline; }
.cfx__pop-sub { display: inline-block; margin-top: 5px; font-size: .78rem; color: #175089; text-decoration: underline; }
.cfx__qr { display: block; margin: 7px auto 4px; width: 128px; height: 128px; border-radius: 6px; border: 1px solid #e3ebf3; }
.cfx__pop-hint { display: block; font-size: .74rem; color: #5b7186; text-align: center; }
.cfx__top { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; color: #175089;
  background: #fff; border: 1px solid #cfdde9; box-shadow: 0 4px 14px rgba(9,30,54,.18);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .25s, visibility .25s, transform .25s, background .18s, color .18s; }
.cfx__top[data-show="true"] { opacity: 1; visibility: visible; transform: translateY(0); }
.cfx__top:hover, .cfx__top:focus-visible { background: linear-gradient(180deg, #2e6da4, #175089); color: #fff; border-color: transparent; }
@media (max-width: 620px) {
  .cfx { right: 10px; bottom: 96px; }
  .header__actions > .btn--primary { display: none; }
  .lang__btn { padding: 7px 9px; font-size: .8rem; }
  .lang__menu { right: -4px; }
  .logo img { height: 46px !important; }
}
/* ==== end .cfx ==== */


/* ================================================================
   Inquiry form two-question hint (.qform__hint)
   ================================================================ */
.qform__hint { margin: -4px 0 -8px; font-size: 13px; line-height: 1.62; color: #3f5468; font-weight: 600; }
.qform__hint span { display: block; }
/* ==== end .qform__hint ==== */


/* ---------- Product page video cards: poster covers (modal playback via main.js) ---------- */
.vidcard--inline .vidwrap img { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; background: #000; border-radius: var(--radius); }
.vidcard--inline .vidwrap { cursor: pointer; }
.vidcard--inline .vidwrap img:hover + .vidplay, .vidcard--inline .vidplay:hover { background: rgba(22,83,164,.75); }

/* SEO: 产品页横幅标题降级为 h2 后保持原 h1 视觉 */
.products-hero .section-head h2, .products-hero__title {color:#fff;font-size:clamp(1.9rem,4vw,3rem);
  margin:0 0 .35em;line-height:1.22;font-weight:700;letter-spacing:-.015em}
.products-hero--sub .section-head h2{font-size:clamp(1.5rem,2.2vw,2rem)}

/* SEO: 页脚热门关键词内链 */
.footer__kw{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:16px 0 6px;border-top:1px solid rgba(255,255,255,.10);margin-top:8px}
.footer__kw-label{opacity:.62;font-size:.82rem}
.footer__kw a{font-size:.82rem;color:rgba(255,255,255,.72);text-decoration:none}
.footer__kw a:hover{color:#fff;text-decoration:underline}
