/* =========================================================
   盛清环保 · style.css  (v3 全新版本)
   目录：
   01 顶栏  02 头部  03 导航&巨幕  04 首屏  05 数据条
   06 核心优势  07 公司简介  08 产品系列  09 通栏CTA
   10 厂容厂貌  11 合作伙伴  12 新闻中心  13 页脚&底栏
   14 响应式
   ========================================================= */

/* ===================== 01 顶栏（浅灰） ===================== */
.topbar {
  height: 44px;
  background: var(--top-bg);
  color: var(--top-ink);
  font-size: 13px;
  border-bottom: 1px solid var(--top-line);
  position: relative;
  z-index: 12;
}

.topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(44, 135, 224, .30), transparent);
}

.tb-in {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.tb-l {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.tb-l i { color: var(--pri); font-size: 12px; }

.tb-l span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tb-r {
  display: flex;
  align-items: center;
  gap: 22px;
  flex: none;
}

.tb-r li {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.tb-r i { color: var(--pri); font-size: 12px; }

.tb-r .tb-tel { color: var(--ink); }

.tb-r .tb-tel b {
  font-family: var(--ff-en);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .4px;
  color: var(--pri-d);
}

/* ===================== 02 头部 ===================== */
.hd-wrap {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  box-shadow: 0 1px 0 rgba(14, 27, 44, .07);
}

.hdr {
  height: var(--hd-h);
  background: #fff;
  transition: height var(--tr);
}

.hdr-in {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
}

.logo {
  flex: none;
  display: flex;
  align-items: center;
}

.logo img {
  width: auto;
  height: 60px;
  transition: height var(--tr);
}

.hdr-mid {
  flex: 1;
  min-width: 0;
  padding-left: 30px;
  border-left: 1px solid var(--line);
}

.hdr-slogan {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: .4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: font-size var(--tr);
}

.hdr-tags {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
  font-size: 12.5px;
  color: var(--muted);
  transition: font-size var(--tr), gap var(--tr), margin-top var(--tr);
}

.hdr-tags li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.hdr-tags i { color: var(--pri); font-size: 11px; transition: font-size var(--tr); }

.hdr-r {
  flex: none;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 热线块（高度与右侧搜索圆一致） */
.hot {
  display: flex;
  align-items: center;
  height: 44px;
  gap: 10px;
  padding: 0 18px 0 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(44, 135, 224, .10), rgba(44, 135, 224, .04));
  border: 1px solid rgba(44, 135, 224, .18);
  transition: all var(--tr);
}

.hot:hover { border-color: var(--pri); box-shadow: 0 8px 22px rgba(44, 135, 224, .18); }

.hot-ico {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  color: #fff;
  font-size: 14px;
  box-shadow: 0 6px 16px rgba(44, 135, 224, .35);
  transition: width var(--tr), height var(--tr), font-size var(--tr);
}

.hot-txt { line-height: 1.2; }

.hot-txt i {
  display: block;
  font-size: 11.5px;
  color: var(--muted);
  transition: font-size var(--tr);
}

.hot-txt b {
  display: block;
  font-family: var(--ff-en);
  font-size: 20px;
  font-weight: 700;
  color: var(--pri-d);
  letter-spacing: .3px;
  transition: font-size var(--tr);
}

/* 搜索 */
.hsearch {
  display: flex;
  align-items: center;
  position: relative;
}

.hsearch form {
  display: flex;
  align-items: center;
  height: 44px;
  width: 0;
  overflow: hidden;
  border-radius: 999px;
  background: transparent;
  border: 1px solid transparent;
  transition: width var(--tr), border-color var(--tr), background var(--tr);
}

.hsearch.open form {
  width: 230px;
  background: var(--bg-soft);
  border-color: var(--pri);
  padding-left: 18px;
  padding-right: 8px;
}

.hs-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  background: none;
  outline: none;
  font-size: 14px;
  color: var(--ink);
}

.hs-input::placeholder { color: var(--muted-2); }

.hs-go {
  width: 42px;
  height: 100%;
  color: var(--pri);
  font-size: 14px;
  flex: none;
}

.hs-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--line);
  color: var(--ink-2);
  font-size: 14px;
  transition: all var(--tr);
}

.hs-btn:hover { color: #fff; border-color: var(--pri); background: var(--pri); }

.hsearch.open .hs-btn { display: none; }

/* 汉堡 */
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 0;
  border: 1px solid var(--line);
  position: relative;
}

.nav-toggle span {
  position: absolute;
  left: 12px;
  width: 20px;
  height: 2px;
  border-radius: 0;
  background: var(--ink);
  transition: all var(--tr);
}

.nav-toggle span:nth-child(1) { top: 15px; }
.nav-toggle span:nth-child(2) { top: 21px; }
.nav-toggle span:nth-child(3) { top: 27px; }

.nav-toggle.on span:nth-child(1) { top: 21px; transform: rotate(45deg); }
.nav-toggle.on span:nth-child(2) { opacity: 0; }
.nav-toggle.on span:nth-child(3) { top: 21px; transform: rotate(-45deg); }

/* 吸顶 mini：整体等比缩小（logo / 广告语 / 热线 / 搜索 同步变小，不隐藏） */
.hd-wrap.is-mini .hdr { height: 76px; }

.hd-wrap.is-mini .hdr-in { gap: 22px; }

.hd-wrap.is-mini .logo img { height: 44px; }

.hd-wrap.is-mini .hdr-mid { padding-left: 20px; }

.hd-wrap.is-mini .hdr-slogan { font-size: 13.5px; }

.hd-wrap.is-mini .hdr-tags {
  gap: 12px;
  margin-top: 0;
  font-size: 10.5px;
}

.hd-wrap.is-mini .hdr-tags i { font-size: 9px; }

.hd-wrap.is-mini .hdr-r { gap: 12px; }

.hd-wrap.is-mini .hot { height: 36px; padding: 0 14px 0 4px; gap: 8px; }

.hd-wrap.is-mini .hot-ico { width: 28px; height: 28px; font-size: 12px; }

.hd-wrap.is-mini .hsearch form { height: 36px; }

.hd-wrap.is-mini .hot-txt i { font-size: 10px; }

.hd-wrap.is-mini .hot-txt b { font-size: 16px; }

.hd-wrap.is-mini .hs-btn { width: 36px; height: 36px; font-size: 12px; }

/* ===================== 03 导航 + 巨幕 ===================== */
.nav {
  height: 58px;
  background: linear-gradient(100deg, #2c87e0 0%, #2380dc 52%, #1c72cc 100%);
  position: relative;
}

.nav-in {
  height: 100%;
  display: flex;
  align-items: center;
}

.nav-cap {
  display: none;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #fff;
}

.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  flex: 1;
  gap: 4px;
}

.nav-item { height: 100%; position: relative; }

.nav-a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 58px;
  padding: 0 32px;
  font-size: 16.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, .92);
  white-space: nowrap;
  transition: color var(--tr), background var(--tr);
}

.nav-ico { font-size: 14px; opacity: .92; }

.nav-a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .14);
  opacity: 0;
  transition: opacity var(--tr);
}

.nav-a > * { position: relative; z-index: 2; }

.nav-a span { position: relative; z-index: 2; }

.nav-arw {
  font-size: 10px;
  margin-top: 2px;
  opacity: .8;
  transition: transform var(--tr);
}

.nav-a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 3px;
  border-radius: 0;
  background: #fff;
  transform: translateX(-50%);
  transition: width var(--tr);
  z-index: 3;
}

.nav-item:hover > .nav-a,
.nav-item:focus-within > .nav-a { color: #fff; }

.nav-item:hover > .nav-a::after,
.nav-item:focus-within > .nav-a::after { opacity: 1; }

.nav-item:hover > .nav-a::before,
.nav-item:focus-within > .nav-a::before { width: 62%; }

.nav-item:hover > .nav-a .nav-arw { transform: rotate(180deg); }

/* 当前栏目：默认选中态（首页默认高亮） */
.nav-item.is-active > .nav-a { color: #fff; }

.nav-item.is-active > .nav-a::after { opacity: 1; }

.nav-item.is-active > .nav-a::before { width: 62%; }

.nav-item.is-active > .nav-a .nav-ico { opacity: 1; }

/* ---------- 通用下拉 ---------- */
.drop {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  padding: 10px 0;
  background: #fff;
  border-radius: 0;
  box-shadow: var(--sh-m);
  border-top: 2px solid var(--pri);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--tr), transform var(--tr), visibility var(--tr);
  z-index: 40;
}

.nav-item:hover > .drop,
.nav-item:focus-within > .drop {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.drop li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 20px;
  font-size: 14.5px;
  color: var(--ink-2);
  transition: all var(--tr-s);
}

.drop li a i {
  font-size: 10px;
  opacity: 0;
  transform: translateX(-6px);
  transition: all var(--tr);
}

.drop li a:hover {
  color: var(--pri);
  background: var(--bg-soft);
  padding-left: 24px;
}

.drop li a:hover i { opacity: 1; transform: none; }

/* ---------- 产品巨幕（全屏通栏） ---------- */
.nav-item.has-mega { position: static; }

.mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid var(--pri);
  box-shadow: 0 30px 60px rgba(10, 26, 47, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity var(--tr), transform var(--tr), visibility var(--tr);
  z-index: 38;
}

.nav-item:hover > .mega,
.nav-item:focus-within > .mega {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.mega-in {
  padding: 30px 0 0;
}

.mega-cols {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  padding-bottom: 26px;
}

.mg-col {
  border-radius: 0;
  overflow: hidden;
  background: var(--bg-soft);
  transition: all var(--tr);
}

.mg-col:hover { background: #fff; box-shadow: var(--sh-m); }

.mg-head {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.mg-pic,
.mg-pic img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.mg-pic img { object-fit: cover; }

.mg-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7, 19, 34, .82) 6%, rgba(7, 19, 34, .12) 62%, transparent);
  transition: opacity var(--tr);
}

.mg-tt {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
  color: #fff;
}

.mg-tt b {
  display: block;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.35;
}

.mg-tt i {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 2px;
  font-size: 12px;
  color: rgba(255, 255, 255, .7);
}

.mg-tt em {
  font-family: var(--ff-en);
  font-size: 15px;
  font-weight: 700;
  color: var(--pri-l);
  font-style: normal;
}

.mg-list {
  padding: 10px 14px 14px;
}

/* 无三级栏目时：隐藏空的三级列表，改显示该系列的产品标题 */
.mg-subs:empty,
.mg-prods:empty { display: none; }

.mg-list:has(.mg-subs:not(:empty)) .mg-prods { display: none; }

.mg-sub {
  display: block;
  padding: 5px 0;
  font-size: 13.5px;
  color: var(--muted);
  transition: all var(--tr-s);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mg-sub:hover { color: var(--pri); transform: translateX(4px); }

.mega-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
}

.mega-note {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13.5px;
  color: var(--muted);
}

.mega-note i { color: var(--pri); }

.mega-act {
  display: flex;
  align-items: center;
  gap: 22px;
}

.mega-tel {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mega-tel > i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--pri-a);
  color: var(--pri);
  font-size: 14px;
}

.mega-tel span { line-height: 1.2; }

.mega-tel i.t,
.mega-tel span > i {
  display: block;
  font-size: 11.5px;
  color: var(--muted);
  font-style: normal;
}

.mega-tel b {
  display: block;
  font-family: var(--ff-en);
  font-size: 18px;
  font-weight: 700;
  color: var(--pri-d);
}

/* 遮罩 */
.mask {
  position: fixed;
  inset: 0;
  background: rgba(7, 19, 34, .5);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity var(--tr);
  z-index: 90;
}

.mask.show { opacity: 1; }

/* ===================== 04 首屏 ===================== */
.hero {
  position: relative;
  background: linear-gradient(115deg, #071322 0%, #0a1a2f 42%, #123457 100%);
  overflow: hidden;
  isolation: isolate;
}

.hero-slides {
  position: relative;
  height: clamp(520px, 41.7vw, 800px);
}

.hero-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .9s ease, visibility .9s ease;
}

.hero-item.active {
  opacity: 1;
  visibility: visible;
}

.hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 19, 34, .92) 0%, rgba(7, 19, 34, .72) 46%, rgba(7, 19, 34, .34) 100%);
}

/* 装饰层 */
.hero-deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.hd-glow {
  position: absolute;
  left: -12%;
  top: -30%;
  width: 70%;
  height: 160%;
  background: radial-gradient(closest-side, rgba(44, 135, 224, .34), transparent 72%);
  filter: blur(10px);
}

.hd-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: radial-gradient(120% 90% at 12% 40%, #000 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(120% 90% at 12% 40%, #000 20%, transparent 78%);
}

.hd-ring {
  position: absolute;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, .09);
}

.hd-ring-1 {
  right: 6%;
  top: 12%;
  width: 520px;
  height: 520px;
  border-color: rgba(44, 135, 224, .28);
}

.hd-ring-2 {
  right: 12%;
  top: 22%;
  width: 320px;
  height: 320px;
  border-color: rgba(255, 255, 255, .12);
}

.hd-ring-3 {
  right: 16.5%;
  top: 30%;
  width: 160px;
  height: 160px;
  border-color: rgba(44, 135, 224, .45);
  background: radial-gradient(closest-side, rgba(44, 135, 224, .18), transparent);
}

/* 首屏内容 */
.hero-in {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-inline: 92px;
}

.hero-txt {
  max-width: 760px;
  padding-bottom: 26px;
}

.hero-t {
  margin-top: 0;
  font-size: clamp(30px, 3.4vw, 58px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.5px;
  color: #fff;
  text-shadow: 0 6px 30px rgba(0, 0, 0, .3);
}

.hero-s {
  margin-top: 18px;
  max-width: 640px;
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 1.85;
  color: rgba(255, 255, 255, .72);
}

.hero-act {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

.hero-act .btn { height: 52px; padding: 0 34px; }

/* 左右圆形翻页按钮 */
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .38);
  background: rgba(10, 26, 47, .3);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 16px;
  transition: all var(--tr);
}

.hero-arrow.prev { left: 28px; }

.hero-arrow.next { right: 28px; }

.hero-arrow:hover,
.hero-arrow:focus-visible {
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  border-color: transparent;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 12px 28px rgba(44, 135, 224, .42);
}

/* 轮播控制条 */
.hero-ctrl {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 26px;
  z-index: 4;
}

.hero-ctrl-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.hero-dots {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-dots button {
  position: relative;
  width: 34px;
  height: 3px;
  border-radius: 0;
  background: rgba(255, 255, 255, .28);
  transition: width var(--tr), background var(--tr);
}

.hero-dots button.on {
  width: 62px;
  background: linear-gradient(90deg, var(--pri), var(--pri-l));
}

.hero-scroll {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  letter-spacing: .12em;
  color: rgba(255, 255, 255, .5);
}

.hero-scroll i { animation: hsb 1.8s ease-in-out infinite; }

@keyframes hsb {
  0%, 100% { transform: translateY(0); opacity: .5; }
  50% { transform: translateY(5px); opacity: 1; }
}

/* ===================== 05 数据条（左图标 + 右数字/文字） ===================== */
.stats {
  position: relative;
  z-index: 5;
  margin-top: -52px;
}

.stats-in {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #fff;
  border-radius: 0;
  box-shadow: var(--sh-l);
  overflow: hidden;
}

.stat {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 30px 30px;
  border-right: 1px solid var(--line);
}

.stat:last-child { border-right: 0; }

.stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pri), var(--pri-l));
  transition: width var(--tr);
}

.stat:hover::before { width: 100%; }

/* 图标：与右侧「数字 + 文字」两行等高 */
.stat-ico {
  flex: none;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 24px;
  color: var(--pri);
  background: var(--bg-soft-2);
  transition: color var(--tr), background var(--tr), transform var(--tr), box-shadow var(--tr);
}

.stat:hover .stat-ico {
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 14px 28px rgba(44, 135, 224, .38);
}

.stat-tx { min-width: 0; }

.stat-tx b {
  display: block;
  line-height: 1;
}

.stat-tx em {
  font-family: var(--ff-en);
  font-size: 34px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: -1px;
  background: linear-gradient(135deg, var(--pri-d), var(--pri-l));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.stat-tx i {
  display: block;
  margin-top: 9px;
  font-size: 13.5px;
  font-style: normal;
  line-height: 1.35;
  letter-spacing: .04em;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===================== 06 核心优势 ===================== */
.sec { padding: 88px 0; }

/* 为什么选择盛清环保：浅蓝灰过渡底 */
.sec-adv {
  padding: 96px 0 100px;
  background: linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);
}

.adv-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.adv-card {
  position: relative;
  padding: 38px 30px 34px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  overflow: hidden;
  transition: all var(--tr);
}

.adv-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pri), var(--pri-l));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--tr);
}

.adv-card:hover {
  border-color: transparent;
  box-shadow: var(--sh-m);
  transform: translateY(-6px);
}

.adv-card:hover::before { transform: none; }

.adv-no {
  position: absolute;
  right: 20px;
  top: 16px;
  font-family: var(--ff-en);
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: var(--bg-soft-2);
  transition: color var(--tr);
  pointer-events: none;
}

.adv-card:hover .adv-no { color: rgba(44, 135, 224, .14); }

.adv-ico {
  position: relative;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 24px;
  color: var(--pri);
  background: var(--bg-soft-2);
  transition: all var(--tr);
}

.adv-card:hover .adv-ico {
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: 0 12px 26px rgba(44, 135, 224, .3);
}

.adv-tit {
  display: block;
  margin-top: 24px;
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
}

.adv-txt {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--muted);
}

/* ===================== 07 公司简介 ===================== */
.sec-about {
  background: linear-gradient(180deg, var(--bg-soft-3) 0%, #dbe8f7 100%);
  padding: 96px 0;
}

.about-in {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 76px;
  align-items: center;
}

.about-media {
  position: relative;
  padding: 0 26px 26px 0;
}

.am-fig {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--sh-l);
  aspect-ratio: 4 / 3;
}

.am-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  transition: transform 1s cubic-bezier(.2, .6, .2, 1);
}

.about-media:hover .am-fig img { transform: scale(1.05); }

.am-deco {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 116px;
  height: 116px;
  border-radius: 0;
  background:
    linear-gradient(135deg, rgba(44, 135, 224, .16), rgba(44, 135, 224, .04));
  border-right: 3px solid var(--pri);
  border-bottom: 3px solid var(--pri);
}

.am-badge {
  position: absolute;
  left: -22px;
  top: 36px;
  padding: 20px 24px;
  border-radius: 0;
  background: linear-gradient(135deg, var(--pri-d), var(--pri));
  color: #fff;
  box-shadow: var(--sh-pri);
  text-align: center;
}

.am-badge b {
  display: block;
  line-height: 1;
}

.am-badge em {
  font-family: var(--ff-en);
  font-size: 38px;
  font-weight: 800;
  font-style: normal;
}

.am-badge i {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-style: normal;
  letter-spacing: .14em;
  color: rgba(255, 255, 255, .82);
}

.about-p {
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.95;
  color: var(--muted);
}

/* 四个快捷导航（资质荣誉 / 盛清业绩 / 合作伙伴 / 联系我们） */
.aq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid var(--line-2);
}

.aq-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  border-radius: 0;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
  transition: all var(--tr);
}

.aq-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 0;
  border-radius: 0;
  background: linear-gradient(180deg, var(--pri), var(--pri-d));
  transform: translateY(-50%);
  transition: height var(--tr);
}

.aq-card:hover {
  border-color: transparent;
  box-shadow: 0 16px 34px rgba(14, 27, 44, .12);
  transform: translateY(-4px);
}

.aq-card:hover::before { height: 58%; }

.aq-ico {
  flex: none;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 19px;
  color: var(--pri);
  background: var(--bg-soft-2);
  transition: color var(--tr), background var(--tr), box-shadow var(--tr), transform var(--tr);
}

.aq-card:hover .aq-ico {
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: 0 10px 22px rgba(44, 135, 224, .32);
  transform: scale(1.08);
}

.aq-tx { flex: 1; min-width: 0; }

.aq-tx b {
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
}

.aq-tx i {
  display: block;
  margin-top: 2px;
  font-family: var(--ff-en);
  font-size: 10.5px;
  font-style: normal;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aq-arw {
  flex: none;
  font-size: 12px;
  color: var(--pri);
  opacity: 0;
  transform: translateX(-8px);
  transition: all var(--tr);
}

.aq-card:hover .aq-arw { opacity: 1; transform: none; }

.about-act {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 36px;
}

/* ===================== 08 产品系列（主色 · 点击切换） ===================== */
.sec-pro {
  position: relative;
  padding: 72px 0 76px;
  background: linear-gradient(150deg, #3d93e6 0%, var(--pri) 42%, #1f7ad4 100%);
  overflow: hidden;
  isolation: isolate;
}

.sec-pro::before {
  content: "";
  position: absolute;
  right: -8%;
  top: -18%;
  width: 70%;
  height: 120%;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .26), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.sec-pro::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: radial-gradient(90% 70% at 80% 30%, #000, transparent 76%);
  -webkit-mask-image: radial-gradient(90% 70% at 80% 30%, #000, transparent 76%);
  pointer-events: none;
  z-index: 0;
}

.sec-pro .wrap-n { position: relative; z-index: 2; }

/* 主色底上的小标/按钮对比度补强 */
.sec-pro .sec-en { color: rgba(255, 255, 255, .8); }

.sec-pro .sec-tit { color: #fff; }

.sec-pro .sec-tit::before,
.sec-pro .sec-hd.line .sec-tit::before { background: #fff; }

.sec-pro .sec-desc { color: rgba(255, 255, 255, .78); }

.pro-hd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 34px;
  margin-bottom: 30px;
}

.pro-hd .sec-hd { margin-bottom: 0; }

.pro-hd-btn { flex: none; }

.pro-box {
  display: grid;
  grid-template-columns: 262px minmax(0, 1fr);
  gap: 30px;
  align-items: stretch;
}

/* ---- 左：系列列表 ---- */
.pro-tabs {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}

.pt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 16px;
  text-align: left;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .12);
  overflow: hidden;
  transition: all var(--tr);
}

.pt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 0;
  border-radius: 0;
  background: linear-gradient(180deg, var(--pri), var(--pri-d));
  transform: translateY(-50%);
  transition: height var(--tr);
}

.pt:hover {
  background: rgba(255, 255, 255, .22);
  border-color: rgba(255, 255, 255, .55);
}

.pt.on {
  background: #fff;
  border-color: #fff;
  box-shadow: 0 16px 38px rgba(6, 42, 84, .3);
}

.pt.on::before { height: 62%; }

.pt-no {
  flex: none;
  font-family: var(--ff-en);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  color: rgba(255, 255, 255, .55);
  transition: color var(--tr);
}

.pt.on .pt-no { color: var(--pri); }

.pt-tx { flex: 1; min-width: 0; }

.pt-nm {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pt.on .pt-nm { color: var(--pri-d); }

.pt-en {
  display: block;
  margin-top: 2px;
  font-family: var(--ff-en);
  font-size: 10.5px;
  font-style: normal;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pt.on .pt-en { color: var(--muted-2); }

.pt-arw {
  flex: none;
  font-size: 12px;
  color: #fff;
  opacity: 0;
  transform: translateX(-6px);
  transition: all var(--tr);
}

.pt.on .pt-arw { opacity: 1; transform: none; color: var(--pri); }

.pt:hover .pt-arw { opacity: 1; transform: none; }

.pt.on:hover .pt-arw { color: var(--pri); }

/* ---- 右：图集面板 ---- */
.pro-panes {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pp { display: none; }

.pp.on { display: block; }

.pp.fade { animation: ppIn .5s cubic-bezier(.22, .61, .36, 1); }

@keyframes ppIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

.pp-hd {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .28);
}

.pp-nm {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.3px;
}

.pp-rows {
  font-size: 13px;
  color: rgba(255, 255, 255, .74);
}

.pp-rows em {
  margin-right: 4px;
  font-family: var(--ff-en);
  font-size: 17px;
  font-weight: 700;
  font-style: normal;
  color: #fff;
}

.pp-link { margin-left: auto; color: #fff; }

.pp-link:hover { color: #fff; opacity: .8; }

/* 图集：统一 1:1 方图（宽屏 5 列一行；移动端 3 列两行共 6 个） */
.pp-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 12px;
}

.pp-cell {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .3);
  transition: border-color var(--tr), box-shadow var(--tr);
}

.pp-cell:nth-child(n + 11) { display: none; }

/* 宽屏 5 列：第 6 个不进首行，隐藏避免孤行 */
.pp-cell:nth-child(6) { display: none; }

.pp-cell:hover {
  border-color: #fff;
  box-shadow: 0 14px 34px rgba(6, 42, 84, .28);
}

.pp-cell img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.pp-cell:hover img { transform: scale(1.06); }

.pp-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 30px 14px 12px;
  background: linear-gradient(to top, rgba(7, 19, 34, .9) 8%, transparent);
  color: #fff;
}

.pp-cap b {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
}

.pp-cap i {
  position: absolute;
  right: 14px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-style: normal;
  color: #fff;
  opacity: 0;
  transform: translateX(-8px);
  transition: all var(--tr);
}

.pp-cap em { font-size: 10px; }

.pp-cell:hover .pp-cap i { opacity: 1; transform: none; }

/* ===================== 09 烟气治理方案（按工况定制） ===================== */
.sec-plan {
  position: relative;
  padding: 92px 0 0;
  background: linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.plan-card {
  position: relative;
  padding: 30px 26px 28px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  overflow: hidden;
  transition: all var(--tr);
}

.plan-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pri), var(--pri-l));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--tr);
}

.plan-card:hover {
  border-color: transparent;
  box-shadow: var(--sh-m);
  transform: translateY(-6px);
}

.plan-card:hover::after { transform: none; }

.pl-ico {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 21px;
  color: var(--pri);
  background: var(--bg-soft-2);
  transition: all var(--tr);
}

.plan-card:hover .pl-ico {
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: 0 10px 24px rgba(44, 135, 224, .3);
}

.pl-tit {
  display: block;
  margin-top: 20px;
  font-size: 17.5px;
  font-weight: 700;
  color: var(--ink);
}

.pl-txt {
  margin-top: 9px;
  font-size: 13.8px;
  line-height: 1.85;
  color: var(--muted);
}

/* 底部主色咨询带（全屏通栏） */
.plan-cta {
  position: relative;
  margin-top: 42px;
  padding: 34px 0;
  border-radius: 0;
  background: linear-gradient(112deg, #1663ae 0%, var(--pri) 46%, #4aa3f0 100%);
  overflow: hidden;
}

.plan-cta::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -130px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .2);
  pointer-events: none;
}

.pc-in {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
}

.pc-tx { position: relative; z-index: 2; min-width: 0; }

.pc-tx b {
  display: block;
  font-size: clamp(19px, 1.8vw, 26px);
  font-weight: 800;
  letter-spacing: -.3px;
  color: #fff;
}

.pc-tx i {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  font-style: normal;
  color: rgba(255, 255, 255, .84);
}

.pc-act {
  position: relative;
  z-index: 2;
  flex: none;
  display: flex;
  align-items: center;
  gap: 26px;
}

.cta-tel {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ct-ico {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 20px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .32);
  transition: all var(--tr);
}

.cta-tel:hover .ct-ico { background: rgba(255, 255, 255, .26); transform: scale(1.06); }

.ct-tx i {
  display: block;
  font-size: 12px;
  font-style: normal;
  color: rgba(255, 255, 255, .74);
}

.ct-tx b {
  display: block;
  font-family: var(--ff-en);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .5px;
  color: #fff;
}

/* ===================== 10 厂容厂貌 ===================== */
.sec-fac {
  padding: 90px 0;
  background: #fff;
}

.fac-hd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 34px;
  margin-bottom: 42px;
}

.fac-hd .sec-hd { margin-bottom: 0; }

.fac-btn { flex: none; }

.fac-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 248px;
  gap: 16px;
}

.fac-cell {
  position: relative;
  display: block;
  border-radius: 0;
  overflow: hidden;
  background: var(--bg-soft);
}

.fac-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.fac-cell:hover img { transform: scale(1.05); }

.fac-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 40px 18px 16px;
  background: linear-gradient(to top, rgba(7, 19, 34, .88) 6%, transparent);
  color: #fff;
}

.fac-cap em {
  font-style: normal;
  font-size: 15px;
  font-weight: 600;
}

.fac-cap i {
  flex: none;
  font-size: 12px;
  opacity: .72;
  transition: all var(--tr);
}

.fac-cell:hover .fac-cap i { opacity: 1; transform: scale(1.15); }

/* ===================== 11 合作伙伴（logo 墙 · 默认灰 hover 彩色） ===================== */
.sec-part {
  padding: 84px 0 92px;
  background: #fff;
}

/* 通栏广告栏下留白，与广告栏上方间距（42px）保持一致 */
.sec-plan + .sec-part { padding-top: 42px; }

.part-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.part-cell {
  display: grid;
  place-items: center;
  aspect-ratio: 10 / 7;
  padding: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0;
  overflow: hidden;
  transition: all var(--tr);
}

.part-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.part-cell:hover {
  border-color: transparent;
  box-shadow: var(--sh-m);
  transform: translateY(-5px);
}

/* ===================== 12 新闻中心（左：带图头条 + 列表 / 右两栏纯列表） ===================== */
.sec-news {
  padding: 84px 0 88px;
  background: #fff;
}

.news-hd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 34px;
}

.news-hd .sec-hd { margin-bottom: 0; }

.news-cols {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  align-items: start;
  gap: 46px;
}

.ncol {
  background: none;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.ncol-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 14px;
  border-bottom: 2px solid var(--line);
  background: none;
}

.ncol-t {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 800;
  color: var(--ink);
}

.ncol-t i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  font-size: 21px;
  color: var(--pri);
  background: none;
  box-shadow: none;
  transform: translateY(-2px);
}

.ncol-more {
  flex: none;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 0;
  border: 1px solid var(--line-2);
  font-size: 10px;
  color: var(--muted);
  transition: all var(--tr);
}

.ncol-more:hover {
  color: #fff;
  border-color: var(--pri);
  background: var(--pri);
  transform: rotate(90deg);
}

.ncol-list { padding: 0; }

.ncol-list li { border-bottom: 1px dashed var(--line); }

.ncol-list li:last-child { border-bottom: 0; }

.ncol-list a {
  display: block;
  padding: 16px 0;
}

.nl-pic {
  position: relative;
  display: none;
  aspect-ratio: 600 / 278;
  margin-bottom: 14px;
  border-radius: 0;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 82% 12%, rgba(255, 255, 255, .18), transparent 62%),
    linear-gradient(135deg, #2f8ce6, var(--deep-1));
}

.nl-pic::after {
  content: "\f1ea";
  position: absolute;
  right: 18px;
  bottom: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 86px;
  line-height: 1;
  color: rgba(255, 255, 255, .12);
  pointer-events: none;
}

.nl-pic img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nl-t {
  display: block;
  font-size: 14.6px;
  font-weight: 600;
  line-height: 1.65;
  color: var(--ink-2);
  transition: color var(--tr);
}

.nl-d {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted);
}

.nl-d:empty { display: none; }

.nl-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
  font-size: 12px;
  color: var(--muted-2);
}

.nl-meta i { font-size: 12px; }

.nl-meta em {
  font-family: var(--ff-en);
  font-style: normal;
  letter-spacing: .03em;
}

.ncol-list a:hover .nl-t { color: var(--pri); }

/* 头条栏（左）：首条带图 + 摘要 */
.ncol-lead .ncol-list li:first-child .nl-pic { display: block; }

.ncol-lead .ncol-list li:first-child a { padding-top: 18px; }

.ncol-lead .ncol-list li:first-child .nl-t {
  font-size: 17.5px;
  font-weight: 700;
  color: var(--ink);
}

.ncol-lead .ncol-list li:first-child .nl-d {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

/* 头条栏（左）：其余条目为「标题 + 日期」单行 */
.ncol-lead .ncol-list li:not(:first-child) a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
}

.ncol-lead .ncol-list li:not(:first-child) .nl-t { flex: 1; min-width: 0; }

.ncol-lead .ncol-list li:not(:first-child) .nl-d { display: none; }

.ncol-lead .ncol-list li:not(:first-child) .nl-meta { flex: none; margin-top: 0; }

.news-more {
  margin-top: 38px;
  text-align: center;
}

/* ===================== 13 友情链接 / 页脚 / 底栏 ===================== */
.links {
  padding: 20px 0;
  background: #fff;
  border-top: 1px solid var(--line);
}

.links-in {
  display: flex;
  align-items: center;
  gap: 26px;
}

.lk-cap {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.lk-cap i { color: var(--pri); font-size: 12px; }

.lk-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  font-size: 13.5px;
  color: var(--muted);
}

.lk-list a:hover { color: var(--pri); }

.foot {
  position: relative;
  padding-top: 62px;
  background: #071322;
  color: rgba(255, 255, 255, .58);
}

.foot::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pri-d), var(--pri), var(--pri-l), transparent);
}

.foot-in {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.25fr);
  gap: 46px;
  padding-bottom: 50px;
}

.fc-logo { display: inline-block; }

.fc-logo img {
  max-height: 46px;
  width: auto;
  filter: brightness(0) invert(1) !important;
  opacity: 1;
}

.fc-txt {
  margin-top: 18px;
  font-size: 13.5px;
  line-height: 1.95;
  color: rgba(255, 255, 255, .5);
}

.fc-contact { margin-top: 20px; }

.fc-contact li {
  display: flex;
  gap: 11px;
  padding: 5px 0;
  font-size: 13.5px;
}

.fc-contact i {
  margin-top: 5px;
  color: var(--pri);
  font-size: 12px;
}

.fc-tit {
  position: relative;
  display: block;
  padding-bottom: 13px;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}

.fc-tit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  border-radius: 0;
  background: linear-gradient(90deg, var(--pri), transparent);
}

.fc-list li a {
  display: block;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, .58);
  transition: all var(--tr-s);
}

.fc-list li a:hover { color: var(--pri-l); padding-left: 6px; }

.fc-qrbox {
  display: flex;
  gap: 16px;
  align-items: center;
}

.qr {
  flex: none;
  width: 112px;
  height: 112px;
  padding: 6px;
  border-radius: 0;
  background: #fff;
}

.qr img { width: 100%; height: 100%; object-fit: contain; }

.fc-qrnote b {
  display: block;
  font-family: var(--ff-en);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}

.fc-qrnote i {
  display: block;
  margin: 5px 0 12px;
  font-size: 12.5px;
  font-style: normal;
  color: rgba(255, 255, 255, .46);
}

.fc-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pri-l);
}

.fc-btn i { font-size: 10px; transition: transform var(--tr); }

.fc-btn:hover i { transform: translateX(4px); }

.foot-bar {
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .22);
}

.fb-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 13px;
  color: rgba(255, 255, 255, .42);
}

.fb-in a:hover { color: var(--pri-l); }

/* 底栏右侧：备案号 + 技术支持 */
.fb-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.fb-icp:empty { display: none; }

/* 备案号（带「备案号：」前缀 + 工信部链接）为空时整块隐藏 */
.fb-icp:has(a:empty) { display: none; }

.fb-tech { white-space: nowrap; }

.fb-icp a,
.fb-tech a { color: inherit; }

.fb-icp a:hover,
.fb-tech a:hover { color: var(--pri-l); }

/* 返回顶部 */
.to-top {
  position: fixed;
  right: 26px;
  bottom: 40px;
  z-index: 80;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 0;
  font-size: 15px;
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: var(--sh-pri);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: all var(--tr);
}

.to-top.show { opacity: 1; visibility: visible; transform: none; }

.to-top:hover { transform: translateY(-3px); }

/* 移动端底栏 */
.mbar { display: none; }

/* 图片加载失败兜底 */
.img-fail {
  background: linear-gradient(135deg, rgba(44, 135, 224, .18), rgba(10, 26, 47, .9));
}

/* ===================== 14 响应式 ===================== */

/* --- 1400 以下 --- */
@media (max-width: 1400px) {
  .wrap,
  .wrap-n { width: calc(100% - 48px); }

  .nav-a { padding: 0 18px; font-size: 15.5px; }

  .about-in { gap: 54px; }
}

/* --- 1200 以下 --- */
@media (max-width: 1200px) {
  .sec { padding: 74px 0; }

  .hdr-mid { padding-left: 22px; }

  .hdr-slogan { font-size: 15.5px; }

  .hdr-tags { gap: 12px; font-size: 12px; }

  .hot-txt b { font-size: 18px; }

  .about-in { grid-template-columns: 1fr; gap: 46px; }

  .about-media { max-width: 640px; }

  .fac-grid { grid-auto-rows: 180px; }

  .news-cols { gap: 30px; }

  .aq-card { padding: 14px 15px; gap: 12px; }

  .aq-tx b { font-size: 14.8px; }
}

/* --- 1024 以下：导航抽屉化 --- */
@media (max-width: 1024px) {
  .nav-toggle { display: block; }

  .hdr-mid { display: none; }

  .hdr { height: 78px; }

  .logo img { height: 50px; }

  .hd-wrap.is-mini .hdr { height: 64px; }

  .hot { height: 44px; padding: 0 16px 0 5px; }

  .hot-ico { width: 34px; height: 34px; font-size: 14px; }

  .hot-txt b { font-size: 17px; }

  .nav {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: min(300px, 72vw);
    height: 100%;
    z-index: 95;
    border-top: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(-104%);
    transition: transform var(--tr);
    box-shadow: var(--sh-l);
  }

  .nav.open { transform: none; }

  .nav-in {
    flex-direction: column;
    align-items: stretch;
    height: auto;
    gap: 0;
    width: 100%;
    padding: 0;
  }

  .nav-cap {
    display: flex;
    padding: 20px 22px;
    font-size: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }

  .nav-list {
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }

  .nav-item {
    height: auto;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  .nav-a {
    height: auto;
    padding: 15px 22px;
    font-size: 15.5px;
    justify-content: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, .95);
  }

  .nav-a .nav-arw { margin-left: auto; }

  .nav-a::before { display: none; }

  .nav-a::after { display: none; }

  /* 抽屉内的下拉/巨幕改为内联展开 */
  .drop,
  .mega {
    position: static;
    display: none;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    border-top: 0;
    border-radius: 0;
    box-shadow: none;
    background: rgba(255, 255, 255, .96);
  }

  .nav-item.sub-open > .drop,
  .nav-item.sub-open > .mega { display: block; }

  .nav-item.sub-open > .nav-a {
    color: #fff;
    background: rgba(255, 255, 255, .16);
    font-weight: 700;
  }

  .nav-item.sub-open > .nav-a .nav-arw { transform: rotate(180deg); }

  .drop li a { padding: 11px 30px; }

  .mega-in { padding: 6px 0 14px; }

  .mega-cols {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 0;
  }

  .mg-col { background: none; border-radius: 0; }

  .mg-col:hover { box-shadow: none; }

  /* 巨幕在抽屉里改为「系列名 + 子项」的内联分组 */
  .mg-head {
    display: block;
    aspect-ratio: auto;
    padding: 11px 30px 8px;
    background: rgba(44, 135, 224, .12);
  }

  .mg-pic,
  .mg-shade { display: none; }

  .mg-tt {
    position: static;
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: var(--pri-d);
  }

  .mg-tt b { display: inline; font-size: 14.5px; }

  .mg-tt i { display: inline; margin: 0; color: var(--muted); }

  .mg-tt em { font-size: 14px; color: var(--pri); }

  .mg-list { padding: 0; }

  .mg-sub { padding: 10px 30px; font-size: 14px; color: var(--ink-2); }

  .mg-sub:hover { transform: none; }

  .mega-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 30px 20px;
  }

  /* 产品切换：单列，tabs 横向 */
  .pro-box { grid-template-columns: 1fr; gap: 22px; }

  .pro-tabs {
    flex-direction: row;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: none;
  }

  .pro-tabs::-webkit-scrollbar { display: none; }

  .pro-tabs.drag { cursor: grabbing; }

  .pt {
    flex: none;
    width: 214px;
    padding: 14px 16px;
  }

  .pt-no { font-size: 18px; }

  .pt-nm { font-size: 15px; }

  .pro-hd,
  .fac-hd,
  .news-hd {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .pp-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
  }

  .news-cols { grid-template-columns: 1fr; gap: 34px; }

  .fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 200px; }

  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .part-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .stats-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .stat { padding: 24px 22px; gap: 15px; border-bottom: 1px solid var(--line); }

  .stat-ico { width: 52px; height: 52px; font-size: 20px; border-radius: 50%; }

  .stat-tx em { font-size: 30px; }

  .stat:nth-child(2n) { border-right: 0; }

  .stat:nth-child(n + 3) { border-bottom: 0; }

  .sec-pro { padding: 76px 0 82px; }

  .plan-cta { padding: 30px 0; }

  .pc-in {
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }

  .pc-act { width: 100%; flex-wrap: wrap; }

  .foot-in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}

/* --- 820 以下 --- */
@media (max-width: 820px) {
  .wrap,
  .wrap-n { width: calc(100% - 32px); }

  .topbar { height: auto; padding: 8px 0; }

  .tb-r .tb-addr,
  .tb-r .tb-mail { display: none; }

  .tb-l { flex: 1 1 auto; min-width: 0; }

  .tb-r { flex: 0 0 auto; }

  .hdr { height: 68px; }

  .logo img { height: 42px; }

  .hsearch.open form { width: 170px; }

  /* 移动端头部：隐藏电话与搜索，仅保留右侧菜单按钮 */
  .hot,
  .hsearch { display: none; }

  .hdr-in { justify-content: space-between; }

  .hero-slides { height: clamp(430px, 74vw, 560px); }

  .hero-in { align-items: center; padding-inline: 62px; }

  .hero-arrow { width: 44px; height: 44px; font-size: 14px; }

  .hero-arrow.prev { left: 14px; }

  .hero-arrow.next { right: 14px; }

  .hero-txt { padding-bottom: 0; }

  .hero-s { font-size: 14px; }

  .hero-act { gap: 12px; margin-top: 26px; }

  .hero-act .btn { height: 46px; padding: 0 24px; font-size: 14px; }

  .hero-scroll { display: none; }

  .stats { margin-top: -34px; }

  .stat { padding: 20px 18px; gap: 13px; }

  .stat-ico { width: 46px; height: 46px; font-size: 18px; border-radius: 50%; }

  .stat-tx em { font-size: 26px; }

  .stat-tx i { font-size: 12.5px; margin-top: 7px; }

  .sec { padding: 62px 0; }

  .sec-tit { font-size: 27px; }

  .sec-hd { margin-bottom: 32px; }

  .adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

  .adv-card { padding: 28px 22px 26px; }

  .adv-no { font-size: 44px; }

  .adv-ico { width: 54px; height: 54px; font-size: 21px; border-radius: 50%; }

  .adv-tit { font-size: 17px; margin-top: 18px; }

  .am-badge { left: -8px; top: 18px; padding: 14px 18px; }

  .am-badge em { font-size: 30px; }

  .aq-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; padding-top: 22px; }

  .about-act .btn { width: 100%; }

  /* 产品图集：3 列两行，完整展示 6 个产品 */
  .pp-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .pp-cell:nth-child(6) { display: block; }

  .pp-nm { font-size: 19px; }

  .pp-link { font-size: 13px; }

  .plan-grid { gap: 14px; }

  .plan-card { padding: 24px 20px 22px; }

  .pl-tit { font-size: 16px; margin-top: 16px; }

  .pl-txt { font-size: 13px; }

  .cta-tel { gap: 12px; }

  .ct-ico { width: 48px; height: 48px; font-size: 17px; }

  .ct-tx b { font-size: 22px; }

  .pc-act { flex-direction: column; align-items: flex-start; gap: 18px; }

  .fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 168px; }

  .part-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

  .news-cols { grid-template-columns: 1fr; gap: 30px; }

  .links-in { flex-direction: column; align-items: flex-start; gap: 12px; }

  .foot { padding-top: 48px; }

  /* 移动端页脚：产品中心与快捷导航并排一行，公司信息与二维码通栏 */
  .foot-in {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 26px;
    padding-bottom: 34px;
  }

  .fc-co,
  .fc-qr { grid-column: 1 / -1; }

  .fb-in { flex-direction: column; gap: 8px; text-align: center; }

  /* 移动底栏 */
  .mbar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 92;
    background: #fff;
    border-top: 1px solid var(--line);
    box-shadow: 0 -6px 22px rgba(10, 26, 47, .08);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .mbar a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 9px 0 8px;
    font-size: 11.5px;
    color: var(--muted);
  }

  .mbar i { font-size: 17px; }

  .mbar-tel { color: var(--pri) !important; }

  body { padding-bottom: 62px; }

  .to-top { right: 14px; bottom: 76px; width: 42px; height: 42px; }
}

/* --- 560 以下 --- */
@media (max-width: 560px) {
  .tb-l span { font-size: 12px; }

  .tb-r { gap: 12px; }

  /* 头部收窄：热线条仅保留圆形图标 */
  .hdr-in { gap: 12px; }

  .logo img { height: 38px; }

  .hot { padding: 7px; border-radius: 50%; }

  .hot-txt { display: none; }

  .hot-ico { width: 34px; height: 34px; font-size: 13px; }

  .hs-btn { width: 40px; height: 40px; }

  .nav-toggle { width: 40px; height: 40px; }

  .nav-toggle span:nth-child(1) { top: 13px; }

  .nav-toggle span:nth-child(2) { top: 19px; }

  .nav-toggle span:nth-child(3) { top: 25px; }

  .nav-toggle.on span:nth-child(1),
  .nav-toggle.on span:nth-child(3) { top: 19px; }

  .hero-t { font-size: 25px; }

  .hero-in { padding-inline: 46px; }

  .hero-arrow { width: 38px; height: 38px; font-size: 12px; }

  .hero-arrow.prev { left: 8px; }

  .hero-arrow.next { right: 8px; }

  .hero-act .btn { width: 100%; }

  /* 数据条：单列，图标更小 */
  .stats-in { grid-template-columns: 1fr; }

  .stat {
    padding: 18px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .stat:nth-child(n + 3) { border-bottom: 1px solid var(--line); }

  .stat:last-child { border-bottom: 0; }

  .stat-tx em { font-size: 28px; }

  .adv-grid { grid-template-columns: 1fr; }

  .sec-tit { font-size: 24px; }

  .am-fig { aspect-ratio: 16 / 11; }

  .pt { width: 186px; }

  .plan-grid { grid-template-columns: 1fr; }

  .plan-cta { padding: 26px 0; }

  .pc-tx b { font-size: 19px; }

  .pc-act .btn { width: 100%; }

  .fac-grid { grid-auto-rows: 128px; }

  .fac-cap em { font-size: 13px; }

  .aq-ico { width: 42px; height: 42px; font-size: 16px; border-radius: 50%; }

  .part-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

  .ncol-list a { padding: 13px 0; }

  .nl-t { font-size: 14px; }

  .news-hd { gap: 18px; }

  .foot-in .fc-qrbox { flex-wrap: wrap; }
}

/* =========================================================
   内页（列表 / 详情 / 单页）
   ========================================================= */

/* ---------- 内页 banner（轮播图） ---------- */
.page-hero {
  position: relative;
  display: flex;
  align-items: center;
  height: 320px;
  overflow: hidden;
  background: linear-gradient(115deg, #071322 0%, #0d2440 55%, #123457 100%);
  isolation: isolate;
}

.ph-slides { position: absolute; inset: 0; z-index: 1; }

.ph-item {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.1s ease;
}

.ph-item.on { opacity: 1; }

.ph-mask {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, rgba(6, 17, 32, .84) 0%, rgba(6, 17, 32, .52) 54%, rgba(6, 17, 32, .28) 100%);
  pointer-events: none;
}

.page-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -130px;
  z-index: 2;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .1);
  pointer-events: none;
}

.ph-in { position: relative; z-index: 3; }

.ph-tit {
  font-size: clamp(26px, 2.7vw, 40px);
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -.5px;
  color: #fff;
  text-shadow: 0 6px 26px rgba(0, 0, 0, .34);
}

.ph-sub {
  margin-top: 14px;
  max-width: 780px;
  font-size: 14.5px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .74);
}

/* ---------- 面包屑 ---------- */
.crumb {
  background: var(--bg-soft);
  border-bottom: 1px solid var(--line);
}

.crumb .wrap-n {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 56px;
  font-size: 13.5px;
  color: var(--muted);
}

.crumb a { color: var(--muted); transition: color var(--tr-s); }

.crumb a:hover { color: var(--pri); }

.crumb i { margin: 0 9px; font-size: 10px; color: var(--muted-2); }

/* ---------- 子栏目切换（面包屑下方） ---------- */
.subnav {
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.subnav-in {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 0;
}

.subnav-in:empty { display: none; }

.subnav-a {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 20px;
  border: 1px solid var(--line-2);
  background: #fff;
  font-size: 14px;
  color: var(--ink-2);
  transition: all var(--tr);
}

.subnav-a:hover {
  color: var(--pri);
  border-color: var(--pri);
}

.subnav-a.on {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: 0 8px 18px rgba(44, 135, 224, .26);
}

/* ---------- 内页内容区 ---------- */
.sec-inner { padding: 68px 0 86px; }

/* ---------- 列表：卡片网格（产品 / 相册） ---------- */
.lp-grid,
.ag-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.lp-card {
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
  transition: all var(--tr);
}

.lp-card:hover {
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(14, 27, 44, .12);
  transform: translateY(-5px);
}

.lp-pic {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg-soft-2);
}

.lp-pic img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.lp-card:hover .lp-pic img { transform: scale(1.07); }

/* 卡片底部：标题 + 查看详情同一排 */
.lp-tx {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 16px;
}

.lp-t {
  flex: 1;
  min-width: 0;
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color var(--tr-s);
}

.lp-card:hover .lp-t { color: var(--pri); }

.lp-d { display: none; }

.lp-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  margin-top: 0;
  font-size: 12.5px;
  color: var(--pri);
  white-space: nowrap;
}

/* 相册卡片（图集） */
.ag-card {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--bg-soft-2);
}

.ag-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.ag-card:hover img { transform: scale(1.07); }

.ag-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 34px 16px 14px;
  background: linear-gradient(to top, rgba(7, 19, 34, .88), transparent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- 列表：新闻行式（图文左右） ---------- */
.nr-rows { display: grid; gap: 20px; }

.nr-row {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px dashed var(--line);
}

.nr-pic {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg-soft-2);
}

.nr-pic img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.nr-row:hover .nr-pic img { transform: scale(1.06); }

.nr-t {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink);
  transition: color var(--tr-s);
}

.nr-row:hover .nr-t { color: var(--pri); }

.nr-d {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 10px;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--muted);
}

.nr-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  font-size: 12.5px;
  color: var(--muted-2);
}

.nr-meta i { margin-right: 5px; color: var(--pri); }

.nr-meta em { font-style: normal; }

.ph-sub:empty { display: none; }

.co-item > span { min-width: 0; }

/* ---------- 分页 ---------- */
.pg-wrap { margin-top: 48px; }

.pg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.pg a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 13px;
  border: 1px solid var(--line-2);
  background: #fff;
  font-size: 13.5px;
  color: var(--ink-2);
  transition: all var(--tr);
}

.pg a:hover,
.pg a.page-num-current {
  color: #fff;
  border-color: var(--pri);
  background: var(--pri);
}

.pg .page-status { font-size: 13px; color: var(--muted); }

/* 状态同为按钮样式，与页码同排显示 */
.pg .pg-status {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  margin: 0;
  border: 1px solid var(--line-2);
  background: #fff;
  font-size: 13px;
  color: var(--muted);
}

.pg .pg-status:empty { display: none; }

.pg-none { font-size: 13px; color: var(--muted); }

/* ---------- 详情页 ---------- */
.dt-wrap { max-width: 1000px; margin-inline: auto; }

.dt-hd {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.dt-tit {
  font-size: clamp(20px, 2.1vw, 30px);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -.3px;
  color: var(--ink);
}

.dt-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 14px;
  font-size: 13px;
  color: var(--muted);
}

.dt-meta i { margin-right: 5px; color: var(--pri); }

.dt-body {
  margin-top: 32px;
  font-size: 15.5px;
  line-height: 2;
  color: var(--ink-2);
  word-break: break-word;
}

.dt-body img { max-width: 100%; height: auto; }

.dt-body p { margin: 0 0 1em; }

.dt-body h2,
.dt-body h3,
.dt-body h4 {
  margin: 1.5em 0 .6em;
  font-weight: 700;
  color: var(--ink);
}

.dt-body h2 { font-size: 21px; }

.dt-body h3 { font-size: 18px; }

.dt-body ul,
.dt-body ol { padding-left: 1.6em; margin: 0 0 1em; }

.dt-body li { margin-bottom: .4em; }

.dt-body table {
  max-width: 100%;
  margin: 0 0 1em;
  border-collapse: collapse;
}

.dt-body table th,
.dt-body table td {
  padding: 10px 14px;
  border: 1px solid var(--line-2);
  font-size: 14px;
}

.dt-body table th { background: var(--bg-soft); }

.dt-body a { color: var(--pri); }

.dt-body blockquote {
  margin: 0 0 1em;
  padding: 14px 20px;
  border-left: 3px solid var(--pri);
  background: var(--bg-soft);
  color: var(--muted);
}

/* 产品图集 */
.dt-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 30px;
}

.dt-gallery a {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--bg-soft-2);
}

.dt-gallery img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.dt-gallery a:hover img { transform: scale(1.07); }

/* 上一篇 / 返回列表 / 下一篇 */
/* ---------- 产品详情：左图右信息 ---------- */
.pd-main {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 44px;
  align-items: start;
}

.pd-gallery {
  display: block;
  min-width: 0;
}

/* 主图（完整显示不裁剪） */
.pd-stage {
  position: relative;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  background: #fff;
  overflow: hidden;
}

.pd-shot {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.pd-shot.on { display: flex; }

.pd-shot img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.pd-shot:hover img { transform: scale(1.03); }

/* 缩略图条 */
.pd-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding-bottom: 4px;
  overflow-x: auto;
}

.pd-thumbs:empty { display: none; }

.pd-thumb {
  flex: none;
  width: 86px;
  height: 86px;
  padding: 4px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  transition: all var(--tr);
}

.pd-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pd-thumb:hover { border-color: var(--pri); }

.pd-thumb.on {
  border-color: var(--pri);
  box-shadow: 0 0 0 2px rgba(44, 135, 224, .22);
}

.pd-info {
  padding-top: 4px;
  min-width: 0;
}

.pd-tit {
  font-size: clamp(21px, 2.1vw, 30px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.3px;
  color: var(--ink);
}

.pd-desc {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--muted);
}

.pd-desc:empty { display: none; }

.pd-act {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.pd-act .btn { height: 48px; padding: 0 28px; }

.pd-body {
  margin-top: 48px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
}

.pd-body-t {
  position: relative;
  padding-left: 16px;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.2px;
  color: var(--ink);
}

.pd-body-t::before {
  content: "";
  position: absolute;
  left: 0;
  top: .28em;
  width: 4px;
  height: .9em;
  background: linear-gradient(180deg, var(--pri), var(--pri-d));
}

/* 正文内容块居中：标题与正文左边界对齐，左右留白相等 */
.pd-body-in {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.pd-body .dt-body {
  margin-top: 0;
}

.pd-body .dt-body img { display: block; margin-inline: auto; }

.pd-body .dt-body:empty { display: none; }

/* 上一篇 / 返回列表 / 下一篇（单行按钮 + 边框） */
.dt-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 48px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.dt-nav .np {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 46px;
  padding: 0 18px;
  border: 1px solid var(--line-2);
  background: #fff;
  color: var(--ink-2);
  transition: all var(--tr);
}

.dt-nav .np > i {
  flex: none;
  font-size: 12px;
  color: var(--muted-2);
  transition: color var(--tr-s);
}

.dt-nav .np > span {
  min-width: 0;
  font-size: 13.5px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dt-nav .np b {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink-2);
  transition: color var(--tr-s);
}

.dt-nav .np:hover { border-color: var(--pri); }

.dt-nav .np:hover b,
.dt-nav .np:hover > i { color: var(--pri); }

.dt-nav .np.next { justify-content: flex-end; }

.dt-nav .np.empty { color: var(--muted-2); }

.dt-nav .back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 42px;
  padding: 0 22px;
  border: 1px solid var(--line-2);
  font-size: 13.5px;
  color: var(--ink-2);
  white-space: nowrap;
  transition: all var(--tr);
}

.dt-nav .back:hover {
  color: #fff;
  border-color: var(--pri);
  background: var(--pri);
}

/* ---------- 单页：公司信息卡 ---------- */
.co-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 44px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
}

.co-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 24px 26px;
  border-right: 1px solid var(--line);
}

.co-item:last-child { border-right: 0; }

.co-ico {
  flex: none;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--bg-soft-2);
  color: var(--pri);
  font-size: 17px;
}

.co-item i.t {
  display: block;
  font-size: 12px;
  font-style: normal;
  color: var(--muted);
}

.co-item b {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  word-break: break-all;
}

/* ---------- 搜索结果为空 ---------- */
.empty-box {
  padding: 76px 20px;
  text-align: center;
  border: 1px dashed var(--line-2);
  background: var(--bg-soft);
}

.empty-box i {
  display: block;
  font-size: 42px;
  color: var(--muted-2);
}

.empty-box p {
  margin-top: 16px;
  font-size: 14.5px;
  color: var(--muted);
}

/* ---------- 内页响应式 ---------- */
@media (max-width: 1200px) {
  .lp-grid,
  .ag-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .page-hero { height: 268px; }

  .lp-grid,
  .ag-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

  .nr-row { grid-template-columns: 210px minmax(0, 1fr); gap: 20px; }

  .co-card { grid-template-columns: 1fr; }

  .co-item {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .co-item:last-child { border-bottom: 0; }

  .dt-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .pd-main { grid-template-columns: minmax(0, 1fr); gap: 26px; }

  .pd-info { padding-top: 0; }

  .pd-body { margin-top: 36px; padding-top: 26px; }
}

@media (max-width: 820px) {
  .page-hero { height: 218px; }

  .ph-sub {
    margin-top: 10px;
    font-size: 13.5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .crumb .wrap-n { min-height: 48px; font-size: 13px; }

  .sec-inner { padding: 46px 0 62px; }

  .nr-row { grid-template-columns: 1fr; gap: 14px; }

  .nr-t { font-size: 16.5px; }

  .nr-d { -webkit-line-clamp: 3; }

  .dt-nav { grid-template-columns: 1fr; gap: 14px; }

  .dt-nav .np.next { text-align: left; }

  .dt-nav .back { width: 100%; }

  .pg a { min-width: 36px; height: 36px; padding: 0 11px; font-size: 13px; }

  .pg-wrap { margin-top: 34px; }
}

@media (max-width: 560px) {
  .page-hero { height: 178px; }

  .ph-tit { font-size: 22px; }

  .ph-sub { display: none; }

  .lp-grid,
  .ag-grid { gap: 12px; }

  .lp-tx { padding: 13px 14px 15px; }

  .lp-t { font-size: 14.5px; }

  .lp-d { display: none; }

  .lp-more { margin-top: 9px; font-size: 12px; }

  .dt-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

  .pd-act .btn {
    flex: 1;
    justify-content: center;
    padding: 0 18px;
  }

  .co-item { padding: 18px 20px; }
}

/* =========================================================
   联系我们（contact.html 专属）
   ========================================================= */

/* 顶部四个联系卡 */
.ct-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ct-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: 32px 20px 30px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
  text-align: center;
  transition: all var(--tr);
}

.ct-card:hover {
  border-color: transparent;
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(14, 27, 44, .12);
}

.ct-ico2 {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--bg-soft-2);
  color: var(--pri);
  font-size: 21px;
  transition: color var(--tr), background var(--tr), box-shadow var(--tr);
}

.ct-card:hover .ct-ico2 {
  color: #fff;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  box-shadow: 0 10px 22px rgba(44, 135, 224, .32);
}

.ct-card > b {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ink);
  word-break: break-all;
}

.ct-card > i {
  font-style: normal;
  font-size: 12.5px;
  color: var(--muted);
}

/* 两栏主体 */
.ct-main {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 30px;
}

.ct-box {
  height: 100%;
  padding: 30px 34px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
}

.ct-box-t {
  position: relative;
  padding-left: 16px;
  font-size: 19px;
  font-weight: 800;
  color: var(--ink);
}

.ct-box-t::before {
  content: "";
  position: absolute;
  left: 0;
  top: .28em;
  width: 4px;
  height: .9em;
  background: linear-gradient(180deg, var(--pri), var(--pri-d));
}

.ct-list { margin-top: 20px; }

.ct-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px dashed var(--line);
}

.ct-list li:last-child { border-bottom: 0; }

.ct-list li > i {
  flex: none;
  width: 20px;
  margin-top: 4px;
  color: var(--pri);
  font-size: 14px;
  text-align: center;
}

.ct-list li > span {
  flex: none;
  width: 76px;
  font-size: 13.5px;
  color: var(--muted);
}

.ct-list li > b {
  min-width: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
  word-break: break-all;
}

.ct-side {
  display: grid;
  gap: 20px;
  align-content: stretch;
}

.ct-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
  text-align: center;
}

.ct-qr > b {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}

.ct-qr .qr {
  display: inline-block;
  width: 152px;
  height: 152px;
  margin: 16px 0 12px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
}

.ct-qr .qr img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ct-qr > i {
  display: block;
  font-style: normal;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--muted);
}

.ct-telbox {
  padding: 26px 24px;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  color: #fff;
  text-align: center;
  box-shadow: 0 14px 32px rgba(44, 135, 224, .28);
}

.ct-telbox > i {
  display: block;
  font-style: normal;
  font-size: 12.5px;
  opacity: .84;
}

.ct-telbox > b {
  display: block;
  margin: 6px 0 14px;
  font-family: var(--ff-en);
  font-size: 25px;
  font-weight: 800;
  letter-spacing: .3px;
}

.ct-telbox .btn {
  width: 100%;
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
}

.ct-telbox .btn:hover {
  background: #fff;
  border-color: #fff;
  color: var(--pri);
}

/* 位置卡片（点击打开地图） */
.ct-map {
  position: relative;
  display: block;
  height: 268px;
  margin-top: 30px;
  border: 1px solid var(--line);
  overflow: hidden;
  background-color: #eef3f9;
  background-image:
    linear-gradient(rgba(44, 135, 224, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(44, 135, 224, .12) 1px, transparent 1px);
  background-size: 38px 38px;
  transition: border-color var(--tr), box-shadow var(--tr);
}

/* 道路纹理 */
.ct-map::before {
  content: "";
  position: absolute;
  inset: -12%;
  background:
    linear-gradient(74deg, transparent 45.4%, rgba(255, 255, 255, .95) 45.4%, rgba(255, 255, 255, .95) 48%, transparent 48%),
    linear-gradient(-16deg, transparent 63%, rgba(255, 255, 255, .9) 63%, rgba(255, 255, 255, .9) 65.4%, transparent 65.4%),
    linear-gradient(152deg, transparent 22%, rgba(255, 255, 255, .8) 22%, rgba(255, 255, 255, .8) 24%, transparent 24%);
  pointer-events: none;
}

.ct-map::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(56% 74% at 50% 50%, transparent 22%, rgba(255, 255, 255, .72));
  pointer-events: none;
}

.ct-map:hover {
  border-color: var(--pri);
  box-shadow: 0 16px 38px rgba(44, 135, 224, .16);
}

.ct-map-in {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 20px;
  text-align: center;
}

.ct-map-pin {
  position: relative;
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pri), var(--pri-d));
  color: #fff;
  font-size: 26px;
  box-shadow: 0 14px 30px rgba(44, 135, 224, .38);
}

.ct-map-pin::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(44, 135, 224, .45);
  animation: pinPulse 2.6s ease-out infinite;
}

@keyframes pinPulse {
  0% { transform: scale(.86); opacity: 1; }
  100% { transform: scale(1.55); opacity: 0; }
}

.ct-map-in > b {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}

.ct-map-in > i {
  font-style: normal;
  font-size: 13px;
  color: var(--pri);
}

/* 正文补充区 */
.ct-desc {
  margin-top: 34px;
  padding: 30px 34px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--sh-s);
}

@media (max-width: 1024px) {
  .ct-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

  .ct-main { grid-template-columns: 1fr; gap: 22px; }

  .ct-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .ct-cards { grid-template-columns: 1fr; gap: 12px; }

  .ct-card { padding: 24px 18px; }

  .ct-side { grid-template-columns: 1fr; }

  .ct-box { padding: 22px 20px; }

  .ct-list li > span { width: 62px; font-size: 13px; }

  .ct-list li > b { font-size: 13.5px; }

  .ct-map { height: 190px; margin-top: 22px; }

  .ct-desc { padding: 22px 20px; }
}


