/* 东莞市顶艺机械 · 官网整站样式（首页 + 产品列表 + 产品详情 + 新闻 + 公司介绍 + 联系我们）
   整份替换 /Public/Home/default/css/index.css 即可 */

/* ======================================================================
   顶艺机械官网 · 共用样式（电脑端 / 内容宽 1400px / 无媒体查询）
   按「基础 → 页头 → 首页各板块 → 产品列表 → 内页 → 页脚」顺序归类，共 631 条规则
   ====================================================================== */

/* ----------------------------------------------------------------------
   A. 基础与全局　—　reset / 字体 / 容器 / 通用工具类
   ---------------------------------------------------------------------- */
body { margin:0 auto; padding:0; background:url(../images/bodybg.jpg) repeat-x top #FFF; font-size:12px; font-family:Tahoma,Arial,Helvetica, sans-serif,""; color:#3D3D3D;}
body, html, h1, h2, h3, h4, p, dl, dt, dd, ul, ol, li, button, select {margin:0;padding:0;}
h1, h3, h3, h4 { font-size:14px;}
.clear { clear:both;}
a { color:#3D3D3D; text-decoration:none;}
a:hover { text-decoration: underline; color:#ff6600;}
img { border:0 none; vertical-align:top;}
ul li {list-style:none;}
.warp1 {width:1200px; margin:0 auto; clear:both; overflow:hidden;}
.content {width:1200px; background:#ffffff; margin:0 auto; clear:both; overflow:hidden;}
#top {background:url(../images/topbg.jpg) no-repeat center top; width:100%;}
.right {width:956px; overflow:hidden;}
.f_r {float:right;}
.mt {margin-top:10px;margin-bottom: 10px;}
.lh {font-size:14px; line-height:28px;}
.tag-item, a.tag-item {padding: 2px 5px; margin:5px; display: inline-block; border:1px solid #cccccc; border-radius: 5px;}
* {margin:0;padding:0;box-sizing:border-box;}
body {font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;font-size:14px;color:#333;background:#fff;line-height:1.6;}
img {border:0;max-width:100%;vertical-align:middle;}
a {color:#333;text-decoration:none;transition:color .25s ease;}
a:hover {color:#0b5bd3;}
ul, ol, li {list-style:none;}
.content {background:#fff;}
.warp1 {max-width:1200px;width:100%;margin:0 auto;background:none;border:none;padding:24px 0 0;}
.wrap {width:1200px;margin:0 auto;position:relative;}
.content .right.f_r {width:100%;padding-bottom:30px;border:none;}
.fenye1 {text-align: center; clear:both; font-size:12px; line-height:28px; height:56px; border:1px solid #9cceec; background:#e9f7ff; padding:0 5px; margin-top:5px;}
.biaoti {font-size:26px;color:#0a3d91;font-weight:700;padding:10px 0 16px;text-align:center;letter-spacing:1px;}
.fenye1 {display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:18px;border-top:1px dashed #e8ebf0;color:#7a8494;font-size:14px;line-height:1.6;background:transparent;border-left:none;border-right:none;border-bottom:none;box-shadow:none;text-align:left;}
* {box-sizing:border-box}
.wrap {max-width:1400px;margin:0 auto;padding:0 20px}
.sec {padding:64px 0}
.sec {padding:88px 0}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button {font-family:inherit;cursor:pointer;border:0;background:none}
.pill-navy {background:#300870;color:#fff;font-size:12.5px;padding:8px 16px;letter-spacing:.04em}
.pill-ghost {background:#f0e8f9;color:#403456;font-size:12.5px;padding:8px 16px;letter-spacing:.04em}
.wrap {width:auto !important;max-width:1400px !important;
  margin-left:auto !important;margin-right:auto !important}
html, body {overflow-x:hidden}

/* ----------------------------------------------------------------------
   B1. 页头 · 顶部信息条　—　site-topbar
   ---------------------------------------------------------------------- */
.site-topbar {background:#160332;color:#cfc4e6;font-size:12.5px}
.site-topbar .wrap {display:flex;align-items:center;justify-content:space-between;gap:16px;height:36px}
.site-topbar .slogan {letter-spacing:.04em;white-space:nowrap}
.site-topbar .tel {display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.site-topbar .tel span {color:#bfb0da}
.site-topbar .tel b {color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em}

/* ----------------------------------------------------------------------
   B2. 页头 · 主栏与 LOGO　—　site-header / header-in / logo
   ---------------------------------------------------------------------- */
.site-header {position:relative;z-index:99;background:#fff;box-shadow:0 2px 12px rgba(11,91,211,.08);}
.header-in {height:86px;display:flex;align-items:center;justify-content:space-between;}
.logo {display:flex;align-items:center;width:200px;}
.site-header {background:#fff;box-shadow:0 2px 12px rgba(48,8,112,.08)}
.logo {width:auto !important}

/* ----------------------------------------------------------------------
   B3. 页头 · 主导航与二级菜单　—　site-nav / sub-menu
   ---------------------------------------------------------------------- */
.site-nav {display:flex;align-items:center;}
.site-nav>li {position:relative;}
.site-nav>li>a {display:block;padding:0 20px;line-height:86px;font-size:15px;color:#222;}
.site-nav>li.on>a, .site-nav>li>a:hover {color:#d04820;font-weight:600;}
.site-nav>li.on>a:after, .site-nav>li>a:hover:after {content:"";position:absolute;left:20px;right:20px;bottom:0;width:auto;height:3px;background:#d04820;transform:none;border-radius:2px;}
.sub-menu {position:absolute;left:0;top:100%;min-width:140px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:6px;padding:8px 0;display:none;z-index:999;}
.site-nav>li:hover .sub-menu {display:block;}
.sub-menu a {display:block;padding:9px 22px;font-size:14px;color:#333;white-space:nowrap;}
.sub-menu a:hover {background:#f0f5ff;color:#0b5bd3;}
.sub-menu a.on, .sub-menu a.active {background:#1366dd;color:#fff;}
.logo img, .logo .logo_nav, .site-header .logo img {
  width:100px !important;height:auto !important;max-width:100px !important;
  max-height:none !important;display:block;object-fit:contain}
.sub-menu a:hover {background:#faf6fd;color:#300870}
.sub-menu a.on, .sub-menu a.active {background:#300870;color:#fff}

/* ----------------------------------------------------------------------
   B4. 页头 · 中英文切换　—　lang-switch / lang-opt / lang-slider
   ---------------------------------------------------------------------- */
.lang-switch {position:relative;display:flex;align-items:center;margin-left:24px;flex-shrink:0;width:132px;background:#eaf1fd;border-radius:20px;padding:4px;font-size:13px;}
.lang-slider {position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:linear-gradient(135deg,#0b5bd3,#2f8bff);border-radius:16px;box-shadow:0 2px 8px rgba(11,91,211,.35);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1;}
.lang-opt {position:relative;z-index:2;flex:1;text-align:center;padding:7px 0;color:#5b6472;line-height:1;transition:color .3s ease;}
.lang-opt:hover {color:#0b5bd3;}
.lang-opt.on {color:#fff;font-weight:600;}
.lang-switch {background:#300870}
.lang-slider {background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.18)}
.lang-opt {color:rgba(255,255,255,.78)}
.lang-opt:hover {color:#fff}
.lang-opt.on {color:#300870;font-weight:700}
.lang-switch.lang-switch {position:relative;display:inline-flex;align-items:center;
  width:104px;height:30px;padding:0;border:1px solid #300870;border-radius:2px;
  background:#fff;overflow:hidden;flex-shrink:0}
.lang-slider.lang-slider {position:absolute;top:0 !important;left:-4px !important;
  width:calc(50% + 4px) !important;height:100% !important;border-radius:0 !important;
  background:#300870 !important;box-shadow:none !important;
  transform:skewX(-14deg) !important;transform-origin:center;z-index:0;
  transition:transform .28s cubic-bezier(.4,0,.2,1)}
.lang-opt.lang-opt {position:relative;z-index:1;flex:1 1 50%;height:100%;display:flex;
  align-items:center;justify-content:center;font-size:12.5px;font-weight:600;line-height:1;
  color:#300870;text-decoration:none;border-radius:0;background:none;padding:0}
.lang-opt.lang-opt:hover {color:#300870}
.lang-opt.lang-opt.on {color:#fff;font-weight:700}

/* ----------------------------------------------------------------------
   C. 首页 Banner 轮播　—　banner-home / banner-slider / flexslider
   ---------------------------------------------------------------------- */
.flexslider {border:none; background:none; -webkit-box-shadow:none; -moz-box-shadow:none; -o-box-shadow:none; box-shadow:none;}
.flexslider { margin-bottom:0px;}
.flexslider a:link, .flexslider a:visited {color: #777777;}
.flexslider ul.slides li {position:relative;}
.flexslider .flex-next, .flexslider .flex-prev {color:#333333;}
.flex-control-nav {position: absolute;bottom: 10px; right:10px; text-align: right;}
.flex-control-paging li a {width:20px;height:20px; line-height:20px;display: block;cursor: pointer; text-indent: 0px; text-align: center;
	-webkit-border-radius: 0px; -moz-border-radius: 0px; -o-border-radius: 0px;border-radius: 0px;text-decoration: none;
	FILTER:alpha(opacity=80);opacity:0.8;border:1px solid #D00000;background-color:#FFFFFF;color:#D00000;
}
.flex-control-paging li a:hover {background-color:#F00; color: #ffffff;}
.flex-control-paging li a.flex-active {background-color:#F00;cursor: pointer; color:#ffffff;}
.flexslider.banner-slider {margin:0!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;position:relative;overflow:hidden;zoom:1;}
.banner-slider .slides>li {display:none;overflow:hidden;}
.banner-slider .slides>li:first-child {display:block;}
.banner-slider .slides img {width:1920px!important;height:auto;display:block!important;margin:0 auto;}
.banner-slider .flex-direction-nav {display:none!important;}
.banner-slider .flex-control-nav {bottom:24px;left:50%!important;right:auto!important;width:auto;transform:translateX(-50%);z-index:10;}
.banner-slider .flex-control-nav li {margin:0 4px;}
.banner-slider .flex-control-nav li a {width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);box-shadow:none;transition:all .4s ease;text-indent:-9999px;overflow:hidden;}
.banner-slider .flex-control-nav li a.flex-active {width:24px;height:8px;border-radius:4px;background:#d04820;}
.banner-home {
  position:relative;
  background:#160332;
  overflow:hidden;
  isolation:isolate;
}
.banner-home::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(120% 90% at 50% 115%, rgba(132,62,224,.55) 0%, rgba(34,6,74,0) 55%),
    radial-gradient(80% 60% at 12% 10%, rgba(120,54,210,.28), transparent 60%),
    linear-gradient(160deg,#160332 0%,#2c0b63 45%,#160332 100%);
}
.banner-home .banner-lines {
  position:absolute;
  inset:-20%;
  z-index:1;
  pointer-events:none;
  opacity:.5;
  background-image:
    linear-gradient(to right, rgba(150,110,235,.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(150,110,235,.16) 1px, transparent 1px);
  background-size:78px 78px;
  transform:perspective(700px) rotateX(58deg) rotate(18deg);
  -webkit-mask-image:radial-gradient(70% 70% at 50% 60%, #000 0%, transparent 78%);
          mask-image:radial-gradient(70% 70% at 50% 60%, #000 0%, transparent 78%);
}
.banner-home .banner-slider {
  position:relative;
  z-index:2;
  background:transparent;
  border:0;
}
.banner-home .banner-slider {height:750px}
.banner-home .banner-slider .slides, .banner-home .banner-slider .slides > li {height:750px}
.banner-home .banner-slider .slides, .banner-home .banner-slider .slides > li {
  background:transparent;
  margin:0;
  padding:0;
  list-style:none;
}
.banner-home .banner-slide {display:block}
.banner-home .banner-inner {
  height:100%;
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  gap:20px;
  align-items:center;
  align-content:center;
}
.banner-home .banner-inner {
    grid-template-columns:1.02fr .98fr;
    gap:40px;
  }
.banner-home .banner-txt {
  color:#fff;
  min-width:0;
}
.banner-home .banner-kicker {
  display:inline-flex;
  align-items:center;
  font-size:12px;
  letter-spacing:.22em;
  color:#b9a8e8;
  border:1px solid rgba(185,168,232,.4);
  padding:5px 12px;
  border-radius:2px;
  line-height:1.4;
}
.banner-home .banner-h {
  font-size:clamp(26px,5.4vw,48px);
  font-weight:900;
  line-height:1.2;
  margin:16px 0 0;
  letter-spacing:.01em;
  color:#fff;
}
.banner-home .banner-sub {
  margin:12px 0 0;
  font-size:clamp(14px,2vw,18px);
  line-height:1.7;
  color:#d6c8f2;
}
.banner-home .banner-facts {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:20px 0 0;
  padding:0;
  font-size:13px;
  color:#c0b0ec;
}
.banner-home .banner-facts li {
  list-style:none;
  display:flex;
  align-items:center;
  gap:7px;
  line-height:1.5;
}
.banner-home .banner-facts li::before {
  content:'';
  width:5px;
  height:5px;
  flex:none;
  background:#d04820;
  transform:rotate(45deg);
}
.banner-home .banner-btns {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.banner-home .b-btn-red, .banner-home .b-btn-ghost {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14.5px;
  line-height:1.4;
  border-radius:2px;
  text-decoration:none !important;
  transition:.22s;
}
.banner-home .b-btn-red:link, .banner-home .b-btn-red:visited, .banner-home .b-btn-red:hover, .banner-home .b-btn-red:active, .banner-home .b-btn-red:focus {
  color:#fff !important;
  background:#d04820 !important;
  border:0 !important;
  text-decoration:none !important;
}
.banner-home .b-btn-red {
  padding:13px 26px;
  font-weight:700;
  color:#fff !important;
  background:#d04820 !important;
  border:0 !important;
}
.banner-home .b-btn-red:hover {
  background:#a8340f !important;
  transform:translateY(-1px);
}
.banner-home .b-btn-ghost:link, .banner-home .b-btn-ghost:visited, .banner-home .b-btn-ghost:hover, .banner-home .b-btn-ghost:active, .banner-home .b-btn-ghost:focus {
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
}
.banner-home .b-btn-ghost {
  padding:12px 24px;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.5) !important;
}
.banner-home .b-btn-ghost:hover {
  border-color:#fff !important;
  background:rgba(255,255,255,.1) !important;
}
.banner-home .banner-vis {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  min-width:0;
}
.banner-home .banner-vis::after {
  content:'';
  position:absolute;
  left:50%;
  top:60%;
  width:88%;
  height:34%;
  transform:translate(-50%,-50%);
  background:radial-gradient(50% 50% at 50% 50%, rgba(160,90,235,.42), transparent 72%);
  filter:blur(6px);
}
.banner-home .banner-vis img {
  position:relative;
  z-index:1;
  width:auto;
  max-width:100%;
  max-height:430px;
  object-fit:contain;
  border:0;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.45));
}
.banner-home .banner-slider .flex-direction-nav a {
  position:absolute;
  top:46%;
  width:44px;
  height:44px;
  margin:0;
  border:1px solid rgba(255,255,255,.45) !important;
  border-radius:50%;
  background:rgba(14,2,40,.28) !important;
  box-shadow:none !important;
  font-size:0;
  z-index:20;
  opacity:.9;
  transition:.2s;
  text-decoration:none;
}
.banner-home .banner-slider .flex-direction-nav a:hover {
  background:#d04820 !important;
  border-color:#d04820 !important;
  opacity:1;
}
.banner-home .banner-slider .flex-direction-nav .flex-prev {left:12px}
.banner-home .banner-slider .flex-direction-nav .flex-next {right:12px}
.banner-home .banner-slider .flex-direction-nav a::before {
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:9px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
}
.banner-home .banner-slider .flex-direction-nav .flex-prev::before {
  transform:translate(-30%,-50%) rotate(-135deg);
}
.banner-home .banner-slider .flex-direction-nav .flex-next::before {
  transform:translate(-60%,-50%) rotate(45deg);
}
.banner-home .banner-slider .flex-direction-nav .flex-prev {left:24px}
.banner-home .banner-slider .flex-direction-nav .flex-next {right:24px}
.banner-home .banner-slider .flex-control-nav {
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  padding:0;
  width:auto;
  display:flex;
  gap:9px;
  align-items:center;
  line-height:1;
  z-index:20;
}
.banner-home .banner-slider .flex-control-nav li {
  margin:0;
  padding:0;
  list-style:none;
}
.banner-home .banner-slider .flex-control-nav li a {
  display:block;
  width:9px;
  height:9px;
  margin:0;
  border-radius:50%;
  background:rgba(255,255,255,.4);
  box-shadow:none;
  border:0;
  font-size:0;
  text-indent:-9999px;
  overflow:hidden;
  transition:.24s;
}
.banner-home .banner-slider .flex-control-nav li a:hover {
  background:rgba(255,255,255,.7);
}
.banner-home .banner-slider .flex-control-nav li a.flex-active {
  background:#fff;
  width:26px;
  border-radius:5px;
}
.banner-home .hero-tags {
  position:relative;
  z-index:3;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:0;
  background:rgba(8,1,24,.55);
}
.banner-home .hero-tags .wrap {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  align-items:center;
  max-width:1400px;
  margin:0 auto;
  padding:14px 20px;
  font-size:12.5px;
  color:#c4b4e6;
}
.banner-home .hero-tags b {
  flex:none;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.banner-home .hero-tags .tag-item, .banner-home .hero-tags .tag-item:link, .banner-home .hero-tags .tag-item:visited, .banner-home .hero-tags .tag-item:hover, .banner-home .hero-tags .tag-item:active, .banner-home .hero-tags .tag-item:focus {
  position:relative;
  display:inline-block;
  padding:0 0 0 12px;
  color:#c4b4e6 !important;
  background:transparent !important;
  border:0 none !important;
  border-radius:0 !important;
  outline:0 none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  line-height:1.6;
  max-width:15em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:.2s;
}
.banner-home .hero-tags .tag-item:hover {
  color:#fff !important;
}
.banner-home .hero-tags .tag-item::before {
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  background:#d04820;
  transform:translateY(-50%) rotate(45deg);
}
.banner-home .banner-inner, .banner-home .hero-tags .wrap, .video .wrap, .clients .wrap, .news .wrap {max-width:1400px !important}
.banner-slider .slides li {width:100%!important}
.banner-slider .banner-inner {max-width:1400px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.banner-slider .banner-vis img {width:auto;max-width:100%;max-height:430px;height:auto}

/* ----------------------------------------------------------------------
   D1. 首页 · 产品矩阵　—　prod
   ---------------------------------------------------------------------- */
.prod {
  --navy:#300870;
  --red:#d04820;
  --line:#e6deef;
  --muted:#6b6278;
  --paper:#ffffff;
  --wrap:1400px;
  background:#ffffff;
  padding:64px 0;
}
.prod {padding:88px 0}
.prod .wrap {
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
}
.prod .sec-title {
  position:relative;
  text-align:center;
  font-size:clamp(22px,4.2vw,36px);
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.35;
  margin:0;
  color:#141624;
}
.prod .sec-title::before, .prod .sec-title::after {
  font-family:Georgia,serif;
  color:#d04820;
  font-size:.75em;
  vertical-align:.35em;
  font-weight:400;
}
.prod .sec-title::before {content:'“';margin-right:.18em}
.prod .sec-title::after {content:'”';margin-left:.18em}
.prod .sec-sub {
  text-align:center;
  color:#6b6278;
  font-size:14px;
  letter-spacing:.16em;
  margin:10px 0 0;
}
.prod .prod-grid {
  display:grid;
  gap:22px;
  margin-top:44px;
}
.prod .prod-grid {grid-template-columns:repeat(2,1fr)}
.prod .prod-grid {grid-template-columns:repeat(3,1fr);gap:26px}
.prod .pcard {
  border:1px solid #e6deef;
  background:#fff;
  display:flex;
  flex-direction:column;
  transition:.25s;
  position:relative;
  overflow:hidden;
  border-radius:0;
}
.prod .pcard:hover {
  border-color:#300870;
  box-shadow:0 18px 40px -22px rgba(48,8,112,.45);
  transform:translateY(-3px);
}
.prod .pcard-media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;           /* 透明底图也统一白底 */
}
.prod .pcard-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.prod .pcard-media { height: 300px; }
.prod .pcard-body {
  padding:18px 20px 22px;
  display:flex;
  flex-direction:column;
  flex:1;
  border-top:1px solid #e6deef;
}
.prod .pcard-cat {
  font-size:11px;
  letter-spacing:.2em;
  color:#d04820;
  font-weight:700;
}
.prod .pcard-cat:empty {display:none}
.prod .pcard-body h3 {
  margin:6px 0 0;
  font-size:18px;
  font-weight:800;
  line-height:1.4;
  color:#141624;
}
.prod .cp-sellpoints {
  margin:12px 0 0;
  padding:0;
  border:0;
}
.prod .cp-sellpoints-box {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
.prod .cp-tag {
  list-style:none;
  font-size:12px;
  color:#6b6278;
  border:1px solid #e6deef;
  padding:3px 8px;
  border-radius:2px;
  letter-spacing:.02em;
  line-height:1.6;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:transparent;
}
.prod .pcard-more {
  margin-top:auto;
  padding-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  font-weight:700;
  color:#300870 !important;
  text-decoration:none !important;
  border:0 !important;
}
.prod .pcard-more svg {
  width:16px;
  height:16px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  transition:.25s;
}
.prod .pcard:hover .pcard-more {color:#d04820 !important}
.prod .pcard:hover .pcard-more svg {transform:translateX(4px)}

/* ----------------------------------------------------------------------
   D2. 首页 · 关于我们　—　about
   ---------------------------------------------------------------------- */
.about-grid {display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.about {background:#f7f3fb}
.about-grid {display:grid;gap:32px;margin-top:40px}
.about-grid {grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.about h3 {margin:0;font-size:clamp(19px,2.6vw,24px);font-weight:900;line-height:1.45}
.about h3 span {color:#d04820}
.about-body, .about-body p {margin:16px 0 0;color:#4f465c;font-size:14.5px;line-height:1.95}
.about-pills {display:flex;flex-wrap:wrap;gap:0;margin-top:22px}
.about-vis {position:relative;margin:0}
.about-vis .frame {background:#fff;border:1px solid #e6deef;padding:18px;position:relative;z-index:1}
.about-vis .frame::before {content:'';position:absolute;left:-12px;top:-12px;right:12px;bottom:12px;border:1px solid #d8caec;z-index:-1}
.about-vis img {width:100%;height:auto;object-fit:contain;background:linear-gradient(180deg,#faf6fd,#f1e8f9);padding:10px}
.about-vis figcaption {display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;font-size:12px;color:#6b6278;letter-spacing:.08em}
.about-vis figcaption b {color:#300870;font-size:13px;letter-spacing:.02em}

/* ----------------------------------------------------------------------
   D3. 首页 · 定制服务流程　—　flow
   ---------------------------------------------------------------------- */
.flow {position:relative;background:linear-gradient(150deg,#160332,#3a0f7e 55%,#160332);color:#fff;overflow:hidden}
.flow::before {content:'';position:absolute;inset:0;background-image:
  linear-gradient(to right,rgba(150,110,235,.09) 1px,transparent 1px),
  linear-gradient(to bottom,rgba(150,110,235,.07) 1px,transparent 1px);background-size:64px 64px}
.flow .wrap {position:relative;z-index:2}
.flow .sec-title {color:#fff}
.flow .sec-sub {color:#b3a6dd}
.flow-list {list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px 10px}
.flow-list {grid-template-columns:repeat(4,1fr)}
.flow-list {grid-template-columns:repeat(8,1fr);gap:0;margin-top:44px}
.flow-step {position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:0 4px}
.flow-step .fi {width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;transition:.25s}
.flow-step .fi svg {width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.5;opacity:.9}
.flow-step b {font-size:14.5px;font-weight:800;letter-spacing:.02em}
.flow-step small {display:block;font-size:10px;letter-spacing:.14em;color:#a89ad4;margin-top:3px}
.flow-step.on .fi {background:#d04820;border-color:#d04820;box-shadow:0 12px 26px -12px rgba(208,72,32,.95)}
.flow-step.on .fi svg {opacity:1}
.flow-step:hover .fi {border-color:#fff;background:rgba(255,255,255,.13)}
.flow-step::after {content:'';position:absolute;right:2px;top:24px;width:10px;height:10px;border-top:1px solid rgba(255,255,255,.4);border-right:1px solid rgba(255,255,255,.4);transform:rotate(45deg)}
.flow-step:last-child::after {display:none}

/* ----------------------------------------------------------------------
   D4. 首页 · 视频介绍（封面与文案）　—　video
   ---------------------------------------------------------------------- */
.video {background:#fff;padding:88px 0}
.video .wrap {max-width:1400px;margin:0 auto;padding:0 20px}
.video-grid {display:grid;grid-template-columns:1fr 1.22fr;gap:52px;margin-top:40px;align-items:center}
.video-txt {min-width:0}
.video h3 {margin:0;font-size:clamp(19px,2.6vw,24px);font-weight:900;line-height:1.45;color:#141624}
.video h3 span {color:#d04820}
.video-p {margin:14px 0 0;font-size:14.5px;color:#4f465c;line-height:1.95}
.video-list {margin:20px 0 0;padding:0;display:grid;gap:12px;counter-reset:vi}
.video-list li {list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#403456;line-height:1.8}
.video-list li::before {content:counter(vi,decimal-leading-zero);counter-increment:vi;font-size:11px;font-weight:800;color:#d04820;letter-spacing:.1em;padding-top:4px;flex:none}
.vmodal-body video, .vmodal-body iframe {width:100%;height:100%;border:0;display:block}

/* ----------------------------------------------------------------------
   D5. 首页 · 视频封面播放键　—　play-box / play-btn / play-cap
   ---------------------------------------------------------------------- */
.play-box {position:relative;background:#160332;aspect-ratio:16/9;overflow:hidden;cursor:pointer;
  display:flex;align-items:center;justify-content:center;border:1px solid #160332}
.play-box::before {content:'';position:absolute;inset:0;
  background:radial-gradient(70% 60% at 50% 110%,rgba(132,62,224,.5),transparent 65%),
             linear-gradient(150deg,#160332,#3c1288)}
.play-box img {position:relative;z-index:1;width:88%;max-width:640px;height:auto;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.5));transition:.4s}
.play-box:hover img {transform:scale(1.03)}
.play-box:focus-visible {outline:2px solid #d04820;outline-offset:-2px}
.play-btn {position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:50%;background:rgba(208,72,32,.92);
  display:flex;align-items:center;justify-content:center;transition:.25s;
  box-shadow:0 0 0 0 rgba(208,72,32,.4);animation:vpulse 2.6s infinite}
.play-btn:hover {transform:translate(-50%,-50%) scale(1.06);background:#a8340f}
.play-btn svg {width:26px;height:26px;fill:#fff;margin-left:4px}
.play-cap {position:absolute;left:14px;bottom:12px;z-index:3;font-size:11.5px;letter-spacing:.14em;color:#c4b4e6}

/* ----------------------------------------------------------------------
   D6. 首页 · 视频弹层　—　vmodal
   ---------------------------------------------------------------------- */
.vmodal {position:fixed;inset:0;z-index:120;background:rgba(6,8,26,.86);display:none;
  align-items:center;justify-content:center;padding:24px}
.vmodal.open {display:flex}
.vmodal-box {width:min(960px,100%);background:#fff}
.vmodal-head {display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;border-bottom:1px solid #e6deef}
.vmodal-head b {font-size:14px;letter-spacing:.04em;color:#300870}
.vmodal-close {font-size:26px;line-height:1;color:#8a90a8;background:none;border:0;cursor:pointer;padding:0 4px}
.vmodal-close:hover {color:#d04820}
.vmodal-body {aspect-ratio:16/9;background:#160332;display:flex;align-items:center;justify-content:center;color:#c4b4e6}

/* ----------------------------------------------------------------------
   D7. 首页 · 合作客户　—　client
   ---------------------------------------------------------------------- */
.clients {background:#f7f3fb;padding:88px 0}
.clients .wrap {max-width:1400px;margin:0 auto;padding:0 20px}
.client-marquee {
  position:relative;margin-top:36px;overflow:hidden;
  width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%)
}
.client-track {display:flex;width:max-content;transform:translate3d(0,0,0);will-change:transform}
.client-group {display:flex;gap:16px;padding-right:16px}
.client {
  position:relative;
  flex:0 0 186px;
  width:186px;
  height:150px;
  padding:0;
  overflow:hidden;
  background:#fff;border:1px solid #e6deef;transition:.25s;
}
.client:hover {border-color:#300870;box-shadow:0 14px 30px -20px rgba(48,8,112,.4)}
.client img {
  display:block;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  padding:0;
  transition:.25s;
}
.client:hover img {transform:scale(1.04)}
.client-stage {position:relative}
.client-arrow {
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid #e6deef;color:#4f465c;
  z-index:3;cursor:pointer;transition:.22s;
}
.client-arrow svg {width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.client-arrow:hover {color:#fff;background:#300870;border-color:#300870;
  box-shadow:0 12px 24px -14px rgba(48,8,112,.55)}
.client-arrow:active {transform:translateY(-50%) scale(.94)}
.client-arrow.prev {left:-23px}
.client-arrow.next {right:-23px}

/* ----------------------------------------------------------------------
   D8. 首页 · 数据条　—　stats
   ---------------------------------------------------------------------- */
.stats {position:relative;z-index:5;}
.stats {display:grid;grid-template-columns:repeat(2,1fr);margin-top:30px;background:#fff;border:1px solid #e6deef}
.stats {grid-template-columns:repeat(4,1fr)}
.stat {padding:18px 14px;border-right:1px solid #e6deef;border-bottom:1px solid #e6deef;text-align:center}
.stat {border-bottom:0}
.stat:last-child {border-right:0}
.stat b {display:block;font-size:clamp(24px,4vw,32px);font-weight:900;color:#300870;line-height:1.1;letter-spacing:-.01em}
.stat b i {font-style:normal;font-size:.55em;color:#d04820;vertical-align:super;margin-left:2px;font-weight:800}
.stat span {display:block;font-size:12px;color:#6b6278;margin-top:6px;letter-spacing:.06em}

/* ----------------------------------------------------------------------
   D9. 首页 · 新闻资讯　—　news / ncard
   ---------------------------------------------------------------------- */
/* 新闻筛选：卡片按分类隐藏（[hidden] 需要压过 display:flex） */
.news-grid .ncard[hidden] {display: none !important}

.news-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
.news-date {display:inline-block;background:#eaf1fd;color:#0b5bd3;font-size:13px;padding:4px 14px;border-radius:16px;margin-bottom:14px;width:fit-content;}
.news-date {
    flex-shrink: 0;
    color: #999;
    font-size: 13px;
}
#news-pages .current, #news-pages .on {
  background: #0b5bd3;
  border-color: #0b5bd3;
  color: #fff;
  font-weight: bold;
}
.news-thumb {
    flex: 0 0 300px;
    height: 180px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f7fb;
}
.news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news {background:#fff;padding:88px 0}
.news .wrap {max-width:1400px;margin:0 auto;padding:0 20px}
.news-head {display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.news-head .sec-title {text-align:left}
.news-head .sec-sub {text-align:left}
.news-more {
  display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;
  padding:10px 18px;border:1px solid #e6deef;background:#fff;
  font-size:13px;font-weight:700;letter-spacing:.04em;color:#300870;
  transition:.22s;
}
.news-more svg {width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:.22s}
.news-more:hover {color:#fff;background:#300870;border-color:#300870;
  box-shadow:0 12px 26px -16px rgba(48,8,112,.55)}
.news-more:hover svg {transform:translateX(4px)}
.news-tabs {display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.news-tabs button {
  font-size:13px;padding:9px 18px;letter-spacing:.04em;
  background:#fff;border:1px solid #e6deef;color:#4f465c;border-radius:2px;
  transition:.2s;
}
.news-tabs button:hover {border-color:#300870;color:#300870}
.news-tabs button.on {background:#d04820;border-color:#d04820;color:#fff;font-weight:700}
.news-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.ncard {border:1px solid #e6deef;background:#fff;display:flex;flex-direction:column;transition:.25s}
.ncard:hover {border-color:#300870;box-shadow:0 18px 40px -24px rgba(48,8,112,.45)}
.ncard-media {height:186px;overflow:hidden;border-bottom:1px solid #e6deef;background:#f7f2fc}
.ncard-media img {width:100%;height:100%;object-fit:cover;object-position:center;transition:.35s}
.ncard:hover .ncard-media img {transform:scale(1.05)}
.ncard-body {padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ncard-tag {align-self:flex-start;font-size:11px;letter-spacing:.12em;color:#d04820;
  border:1px solid rgba(208,72,32,.35);padding:3px 8px}
.ncard h3 {margin:0;font-size:16px;font-weight:800;line-height:1.55;color:#2e2740}
.ncard p {margin:0;font-size:13px;color:#6b6278;line-height:1.75}
.ncard-more {margin-top:auto;padding-top:12px;font-size:12.5px;font-weight:700;
  color:#300870;display:inline-flex;gap:6px;align-items:center;transition:.2s}
.ncard-more:hover {color:#d04820}

/* ----------------------------------------------------------------------
   D10. 首页 · 板块通用标题　—　sec-title / sec-sub
   ---------------------------------------------------------------------- */
.sec-title {position:relative;text-align:center;font-size:clamp(22px,4.2vw,36px);font-weight:900;letter-spacing:.02em;line-height:1.35;margin:0}
.sec-title::before, .sec-title::after {content:'”';font-family:Georgia,serif;color:#d04820;font-size:.75em;vertical-align:.35em;font-weight:400}
.sec-title::before {content:'“';margin-right:.18em}
.sec-title::after {margin-left:.18em}
.sec-sub {text-align:center;color:#6b6278;font-size:14px;letter-spacing:.16em;margin:10px 0 0}

/* ----------------------------------------------------------------------
   E1. 产品列表页　—　plist-* / pl-*
   ---------------------------------------------------------------------- */
.pl-rootdata, .pl-mychildren, .pl-prodata, .pl-curcat {display:none !important}
.plist-page {--p-navy:#300870;--p-deep:#160332;--p-red:#d04820;--p-red-d:#a8340f;
  --p-line:#e6deef;--p-ink:#141624;--p-muted:#6b6278}
.plist-sec {padding:30px 0 80px}
.plist-sec {padding:30px 0 90px}
.plist-layout {display:grid;grid-template-columns:1fr;gap:30px;margin-top:0}
.plist-layout {grid-template-columns:266px 1fr;gap:30px;align-items:start}
.plist-side {background:#fff;border:1px solid #e6deef;border-radius:2px}
.plist-side-head {padding:18px 20px 14px;border-bottom:1px solid #e6deef}
.plist-side-head b {display:block;font-size:15.5px;font-weight:800;color:#160332;letter-spacing:.02em}
.plist-cats {padding:6px 0 10px}
.plist-cats a {position:relative;display:flex;align-items:center;gap:9px;padding:11px 20px;
  font-size:14px;color:#3a3350;transition:background .2s,color .2s}
.plist-cats a::before {content:'';position:absolute;left:0;top:50%;width:3px;height:0;
  background:#d04820;transform:translateY(-50%);transition:height .2s}
.plist-cats a:hover {background:#faf7fd;color:#300870}
.plist-cats a.on {background:#faf7fd;color:#300870;font-weight:700}
.plist-cats a.on::before {height:22px}
.plist-cats .plist-all {font-weight:700;color:#160332;border-bottom:1px solid #f4eefb}
.plist-cats .plist-group {font-weight:700;color:#160332;font-size:14.5px;padding-top:13px}
.plist-cats .plist-group svg {width:15px;height:15px;flex:0 0 15px;stroke:#300870;
  fill:none;stroke-width:1.9}
.plist-cta {margin:8px 14px 14px;padding:22px 18px;border-radius:2px;color:#fff;
  background:linear-gradient(150deg,#2b0a62,#160332)}
.plist-cta b {display:block;font-size:15.5px;font-weight:800;line-height:1.5}
.plist-cta p {margin:8px 0 0;font-size:12.5px;line-height:1.8;color:#b6a6d4}
.plist-cta-btn {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;
  background:#d04820;color:#fff;font-size:13.5px;font-weight:700;padding:10px 13px;
  border-radius:2px;transition:background .22s}
.plist-cta-btn:hover {background:#a8340f;color:#fff}
.plist-cta-btn svg {width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.plist-toolbar {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  padding:0 0 16px;border-bottom:1px solid #e6deef}
.plist-count {font-size:13.5px;color:#6b6278}
.plist-count b {color:#300870;font-size:19px;font-weight:900;margin:0 3px}
.plist-sort {display:flex;align-items:center;gap:8px}
.plist-sort label {font-size:12.5px;color:#6b6278}
.plist-sort select {appearance:none;border:1px solid #e6deef;background:#fff;color:#3a3350;
  font-size:13px;padding:7px 30px 7px 11px;border-radius:2px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#300870 50%),
                    linear-gradient(135deg,#300870 50%,transparent 50%);
  background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.plist-sort select:focus {outline:2px solid rgba(48,8,112,.28);outline-offset:1px}
.plist-grid {display:grid;grid-template-columns:1fr;gap:30px;margin-top:30px}
.plist-grid {grid-template-columns:repeat(2,1fr);gap:30px}
.plist-grid {grid-template-columns:repeat(3,1fr);gap:30px}
.plist-card {position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid #e6deef;border-radius:2px;overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .25s}
.plist-card:hover {border-color:#c9b5e8;box-shadow:0 14px 30px -14px rgba(48,8,112,.24);
  transform:translateY(-3px)}
.plist-media {position:relative;display:flex;align-items:center;justify-content:center;
  height:300px;padding:0;background:#fbf9fe;border-bottom:1px solid #f1ebf8;overflow:hidden}
.plist-media img {display:block;width:100%;height:100%;max-width:none;max-height:none;
  object-fit:cover;object-position:center;transition:transform .35s ease}
.plist-card:hover .plist-media img {transform:scale(1.05)}
.plist-body {padding:15px 15px 17px;display:flex;flex-direction:column;gap:9px;flex:1}
.plist-title {margin:0;font-size:17px;font-weight:800;line-height:1.4;
  color:#160332;letter-spacing:.01em}
.plist-title a {color:inherit}
.plist-title a:hover {color:#300870}
.plist-foot {margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:12px;border-top:1px dashed #efe8f7}
.plist-cate {font-size:12px;color:#9c92ac;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:58%}
.plist-go {display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;
  color:#d04820;transition:gap .22s;white-space:nowrap}
.plist-card:hover .plist-go {gap:10px}
.plist-go svg {width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.plist-empty {display:none;padding:58px 0;text-align:center;color:#6b6278;font-size:14px}
.plist-empty b {display:block;color:#300870;font-size:17px;font-weight:800;margin-bottom:6px}
.plist-pager {display:flex;align-items:center;justify-content:center;gap:8px;margin-top:38px;flex-wrap:wrap}
.plist-pager button {min-width:38px;height:38px;padding:0 12px;border:1px solid #e6deef;
  background:#fff;color:#3a3350;font-size:13.5px;border-radius:2px;transition:.2s}
.plist-pager button:hover:not(:disabled) {border-color:#300870;color:#300870}
.plist-pager button.on {background:#300870;border-color:#300870;color:#fff;font-weight:700}
.plist-pager button:disabled {opacity:.42;cursor:not-allowed}
.plist-pagetip {font-size:12.5px;color:#9c92ac;margin-left:6px}

/* ----------------------------------------------------------------------
   E2. 产品详情页　—　pd-* 图集 / 参数表 / 询盘按钮
   ---------------------------------------------------------------------- */
.pd-hero {padding:0 0 26px;border-bottom:1px solid #e6deef;margin-bottom:34px}
.pd-crumb {display:flex;align-items:center;gap:9px;font-size:12.5px;color:#8d859b;margin-bottom:24px}
.pd-crumb a {color:#8d859b;transition:color .2s}
.pd-crumb a:hover {color:#300870}
.pd-crumb i {font-style:normal;color:#c9bfd9}
.pd-title {margin:0 0 9px;font-size:32px;line-height:1.3;font-weight:900;color:#160332}
.pd-catsub {margin:0;font-size:12.5px;color:#6b6278}
.pd-catsub a {color:#6b6278}
.pd-catsub a:hover {color:#300870}
.pd-wrap {max-width:1400px;margin:0 auto;padding:34px 20px 84px}
.pd-btn-main {display:inline-flex;align-items:center;justify-content:center;background:#300870;color:#fff;
  font-size:13.5px;font-weight:800;padding:13px 22px;transition:background .2s;white-space:nowrap}
.pd-btn-main:hover {background:#160332}
.pd-sec {background:#fff}
.pd-main {display:grid;grid-template-columns:1fr;gap:26px;align-items:start}
.pd-main {grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto auto;
  column-gap:40px;row-gap:12px;align-items:stretch}
.pd-gallery {position:relative;background:#eeeef0;padding:20px;height:400px;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.pd-thumbs {grid-column:1;grid-row:2}
.pd-info {grid-column:2;grid-row:1/span 2;align-self:start}
.pd-thumbs {margin-top:0}
.pd-figure {position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%}
.pd-gallery img {display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.pd-thumbs {display:flex;align-items:center;gap:10px}
.pd-nav {width:30px;height:30px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #e6deef;background:#fff;cursor:pointer;transition:border-color .2s,opacity .2s}
.pd-nav svg {width:13px;height:13px;stroke:#300870;fill:none;stroke-width:2}
.pd-nav:hover {border-color:#300870}
.pd-nav[disabled] {opacity:.35;cursor:default}
.pd-track {display:grid;grid-template-columns:repeat(5,1fr);gap:10px;flex:1 1 auto;overflow:hidden}
.pd-thumb {aspect-ratio:4/3;background:#f7f3fb;border:1px solid #e6deef;padding:0;cursor:pointer;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.pd-thumb img {width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.pd-thumb.is-on {border-color:#300870;box-shadow:inset 0 0 0 1px #300870}
.pd-thumb-empty {border-style:dashed;background:#faf7fe;cursor:default}
.pd-thumb-empty i {font-style:normal;font-size:11px;letter-spacing:.06em;color:#b3a7c6}
.pd-badge {position:absolute;left:20px;top:20px;font-size:11.5px;letter-spacing:.08em;color:#fff;
  background:rgba(22,3,50,.72);padding:6px 10px}
.pd-info {background:#f7f3fb;padding:26px 24px;border-top:3px solid #d04820;
  display:flex;flex-direction:column}
.pd-kicker {display:block;font-size:11.5px;letter-spacing:.14em;color:#d04820;font-weight:800;margin-bottom:16px}
.pd-info dl {margin:0;display:grid;grid-template-columns:82px 1fr;gap:1px 12px}
.pd-info dt {font-size:12.5px;color:#6b6278;padding:9px 0;border-bottom:1px solid #e6deef}
.pd-info dd {margin:0;font-size:13px;color:#141624;font-weight:700;padding:9px 0;border-bottom:1px solid #e6deef;line-height:1.5}
.pd-info dd.pd-tel {color:#300870;font-size:15px;letter-spacing:.02em}
.pd-info dd a {color:inherit;text-decoration:none}
.pd-info dd a:hover {color:#300870}
.pd-info-btns {display:flex;flex-direction:column;gap:10px;margin:22px 0 0}
.pd-info-btns .pd-btn-main {width:100%}
.pd-qr {display:flex;justify-content:center;align-items:center;margin-top:18px}
.pd-qr img {width:176px;height:176px;display:block}
.pd-note {margin:auto 0 0;padding-top:16px;font-size:12px;line-height:1.7;color:#6b6278}
.pd-block {margin-top:56px}
.pd-block-head {display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.pd-block-head h2 {margin:0;font-size:22px;font-weight:900;color:#160332;position:relative;padding-left:12px}
.pd-block-head h2::before {content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:#d04820}
.pd-more {display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:#300870;opacity:.7;transition:opacity .2s}
.pd-more:hover {opacity:1}
.pd-more svg {width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.pd-spec {border:1px solid #e6deef;background:#fff;display:grid;grid-template-columns:1fr}
.pd-spec {grid-template-columns:1fr 1fr}
.pd-srow {border-right:1px solid #e6deef}
.pd-srow:nth-child(2n) {border-right:0}
.pd-srow:nth-last-child(-n+2) {border-bottom:0}
.pd-srow {display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:14px 20px;border-bottom:1px solid #e6deef}
.pd-srow:last-child {border-bottom:0}
.pd-srow span {font-size:13px;color:#6b6278}
.pd-srow b {font-size:13.5px;color:#160332;font-weight:800;letter-spacing:.02em}
.pd-desc {background:#fff;border:1px solid #e6deef;padding:30px 28px}
.pd-desc p {margin:0 0 20px;font-size:14px;line-height:1.95;color:#3d3654;max-width:900px}
.pd-rel {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.pd-rel {grid-template-columns:repeat(4,minmax(0,1fr))}
.pd-card {display:block;border:1px solid #e6deef;background:#fff;padding:14px;
  transition:border-color .2s,box-shadow .2s}
.pd-card:hover {border-color:#300870;box-shadow:0 8px 22px rgba(48,8,112,.08)}
.pd-card-img {background:#f7f3fb;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;overflow:hidden}
.pd-card-img img {width:100%;height:100%;object-fit:cover;display:block}
.pd-card-name {display:block;margin-top:12px;font-size:13px;font-weight:800;
  color:#160332;line-height:1.5;text-align:center}

/* ----------------------------------------------------------------------
   E3. 新闻列表页　—　news-cat-tabs / news-list-new / 正文栏 / 分页
   ---------------------------------------------------------------------- */
.wzzw {padding:10px; line-height:21px;}
.wzzw img {
    display:block;
    max-width:100%;
    margin:1px auto; 
}
.wzzw p {
    line-height:1.8;
}
.content .right.f_r .xbox, .content .right.f_r .wzzw, .content .right.f_r .xbox.wzzw {background:none;border:none;box-shadow:none;padding:0;width:100%;}
.scott {background:#e9f7ff; height:40px; overflow:hidden; text-align:center; padding-top:9px; border:1px solid #dbf7ff; line-height:21px; }
.news-cat-tabs {
    display: flex;
    gap: 40px;
    margin-bottom: 25px;
    border-bottom: 1px solid #f0f0f0;
}
.news-cat-tabs a {
    padding: 10px 0;
    color: #666;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    text-decoration: none;
}
.news-cat-tabs a.on {
    color: #000000;
    font-weight: 700;
}
.news-cat-tabs a.on:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 3px;
    background: #ff5404;
    border-radius: 2px;
}
.news-cat-tabs a:hover {
    color: #ff5404;
}
.news-list-new {
    list-style: none;
    padding: 0;
    margin: 0;
}
.news-list-new li {
    display: flex;
    gap: 30px;
    align-items: center;
    padding: 20px 0;
    background: transparent;
    border-bottom: 1px dashed #e8ebf0;
    transition: all .25s ease;
}
.news-list-new li:hover {
    background: #fafcff;
}
.news-info {
    flex: 1;
}
.news-info h4 {
    font-size: 16px;
    color: #333;
    margin: 0 0 8px;
    font-weight: 600;
}
.news-info h4 a {
    color: #333;
    text-decoration: none;
}
.news-info h4 a:hover {
    color: #ff5404;
}
.news-info p {
    font-size: 13px;
    color: #999;
    margin: 0;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-info .read-more {
    display: inline-block;
    margin-top: 10px;
    color: #ff5404;
    font-size: 13px;
    text-decoration: none;
}
.scott {background:#fff;border:none;box-shadow:none;padding:0;text-align:center;margin-top:36px;}
.scott .current {background:#fff;color:#0b5bd3;border-color:#0b5bd3;box-shadow:none;font-weight:600;}
.wzzw .scott {display:none;}
.news-cat-tabs, .sub-cats {
    display: flex;
    gap: 40px;
    margin-bottom: 25px;
    border-bottom: 1px solid #f0f0f0;
}
.news-cat-tabs a, .sub-cats a {
    padding: 10px 0;
    color: #666;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    text-decoration: none;
}
.news-cat-tabs a.on, .sub-cats a.on {
    color: #000000;
    font-weight: 700;
}
.news-cat-tabs a.on:after, .sub-cats a.on:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 3px;
    background: #ff5404;
    border-radius: 2px;
}
.news-cat-tabs a:hover, .sub-cats a:hover {
    color: #ff5404;
}
.wzzw.lh {background:#fff;border:1px solid #eef2f8;border-radius:10px;padding:26px;box-shadow:0 6px 18px rgba(10,61,145,.06);}
.wzzw.lh {border:2px solid #d5dbe6;border-radius:10px;padding:24px 30px;background:#fff;line-height:1.9;font-size:15px;color:#4a5468;margin-bottom:20px;}
.wzzw.lh p {margin:0 0 14px;}
.wzzw.lh ul {padding-left:24px;margin:0 0 14px;}
.wzzw.lh {background:#fff;border:1px solid #eef2f8;border-radius:10px;padding:26px;box-shadow:0 6px 18px rgba(10,61,145,.06);}

/* ----------------------------------------------------------------------
   E4. 新闻详情页（旧版样式）　—　wzzw / sub-cats / xbox 正文
   ---------------------------------------------------------------------- */
.xbox {border:1px solid #D9D9D9; padding:5px; border-top:none; line-height:21px;}
.xbox {border:1px solid #D9D9D9; padding:5px; border-top:none; line-height:21px;}
.article-main-img img {
    display: block;
    margin: 20px auto;
    border-radius: 8px;
}

/* ----------------------------------------------------------------------
   E5. 公司介绍页　—　ab-* 概述 / 数据条 / 发展时间轴 / 产品系列 / CTA
   ---------------------------------------------------------------------- */
.ab-sec {max-width:1400px;margin:0 auto}
/* 公司介绍 / 联系我们：内容与 1400 内容框齐平（左右 0），窄屏另给 20px */
.ab-sec {padding-left:0 !important;padding-right:0 !important}
.ab-sec {padding:40px 20px 84px}
.ab-sec {padding:46px 20px 92px}
.ab-intro {display:grid;grid-template-columns:1fr;gap:26px;align-items:stretch}
.ab-intro {grid-template-columns:1.08fr .92fr;gap:38px}
.ab-kicker {display:block;font-size:11.5px;font-weight:800;letter-spacing:.2em;color:#d04820;margin-bottom:10px}
.ab-copy h2 {margin:0 0 16px;font-size:23px;line-height:1.45;font-weight:900;color:#160332}
.ab-copy p {margin:0 0 14px;font-size:14px;line-height:1.95;color:#423b56}
.ab-fig {margin:0;background:#f7f3fd;border:1px solid #e6deef;
  display:flex;flex-direction:column;padding:22px;min-height:100%}
.ab-fig img {display:block;width:100%;height:100%;flex:1 1 auto;object-fit:contain}
.ab-fig figcaption {flex:0 0 auto;padding-top:14px;font-size:12px;color:#6b6278;
  text-align:center;letter-spacing:.04em}
.ab-creed {margin:18px 0 0 !important;padding-top:16px;border-top:1px solid #e6deef;
  font-size:12.5px;letter-spacing:.1em;color:#300870;font-weight:700}
.ab-stats {display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e6deef;
  border:1px solid #e6deef;margin-top:34px}
.ab-stats {grid-template-columns:repeat(4,1fr)}
.ab-stat {background:#fff;padding:20px 22px 18px}
.ab-stat b {display:block;font-size:27px;line-height:1.1;font-weight:800;color:#300870;letter-spacing:.01em}
.ab-stat b em {font-style:normal;font-size:14px;font-weight:700;margin-left:2px;color:#300870}
.ab-stat span {display:block;margin-top:8px;font-size:12.5px;color:#6b6278}
.ab-head {display:block;margin:56px 0 24px}
.ab-head h2 {margin:0;font-size:22px;font-weight:900;color:#160332;letter-spacing:.02em}
.ab-head .rule {display:none}
.ab-head p {margin:9px 0 0;font-size:12.5px;color:#6b6278}
.ab-tl {display:grid;grid-template-columns:1fr 1fr;gap:26px 24px;margin:0;padding:0;list-style:none}
.ab-tl {grid-template-columns:repeat(4,1fr);gap:26px}
.ab-tl li {position:relative;padding-top:32px}
.ab-tl li::before {content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;
  background:#d04820;z-index:1}
.ab-tl li::after {content:"";position:absolute;left:22px;right:-24px;top:13px;height:1px;background:#e6deef}
.ab-tl li:last-child::after {display:none}
.ab-tl-year {display:block;font-size:13px;font-weight:900;color:#300870;letter-spacing:.03em;margin-bottom:8px}
.ab-tl li p {margin:0;font-size:13.5px;line-height:1.9;color:#423b56}
.ab-series {border:1px solid #e6deef;background:#fff}
.ab-srow {display:grid;grid-template-columns:1fr;gap:9px;padding:14px 24px;border-bottom:1px solid #e6deef}
.ab-srow:last-child {border-bottom:0}
.ab-srow {grid-template-columns:220px 1fr 116px;gap:26px;align-items:center}
.ab-srow b {font-size:14px;font-weight:800;color:#160332}
.ab-chips {display:flex;flex-wrap:wrap;gap:7px}
.ab-chips i {font-style:normal;font-size:12px;line-height:1;color:#4b4460;background:#f7f3fb;
  border:1px solid #e6deef;padding:7px 10px;letter-spacing:.02em;white-space:nowrap}
.ab-slink {display:inline-flex;align-items:center;gap:5px;justify-self:start;font-size:12px;
  color:#300870;white-space:nowrap;opacity:.62;transition:opacity .2s}
.ab-slink:hover {opacity:1}
.ab-slink svg {width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.ab-slink {justify-self:end}
.ab-cta {margin-top:52px;margin-bottom:10px;background:#f6f1fb;border-left:3px solid #d04820;
  padding:30px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}
.ab-cta h2 {margin:0 0 7px;font-size:20px;font-weight:900;color:#160332}
.ab-cta p {margin:0;font-size:13px;line-height:1.8;color:#5a5272;max-width:600px}
.ab-cta-btns {display:flex;flex-wrap:wrap;gap:12px}
.ab-btn-main {display:inline-flex;align-items:center;gap:8px;background:#300870;color:#fff;
  font-size:13.5px;font-weight:800;padding:12px 20px;transition:background .2s}
.ab-btn-main:hover {background:#160332}
.ab-btn-main svg {width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2}
.ab-btn-ghost {display:inline-flex;align-items:center;border:1px solid rgba(48,8,112,.28);color:#300870;
  font-size:13.5px;font-weight:800;padding:11px 18px;transition:background .2s,border-color .2s}
.ab-btn-ghost:hover {background:#fff;border-color:#300870}

/* ----------------------------------------------------------------------
   E6. 联系我们页　—　ct-page / 联系卡片 / 地图 / 厂区 / 到访指引
   ---------------------------------------------------------------------- */
.ct-page {padding:30px 0 80px}
.ct-page {padding:30px 0 90px}
.contact-cards {display:grid;grid-template-columns:1fr;gap:30px}
.contact-cards {grid-template-columns:repeat(2,1fr)}
.contact-cards {grid-template-columns:repeat(4,1fr)}
.ccard {border:1px solid #e6deef;background:#ffffff;padding:22px 22px 20px;position:relative}
.ccard::before {content:'';position:absolute;left:0;top:0;width:3px;height:38px;background:#d04820}
.ccard .ic {width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:#f7f3fb;border:1px solid #e6deef;margin-bottom:12px}
.ccard .ic svg {width:17px;height:17px;stroke:#300870;fill:none;stroke-width:1.8}
.ccard b {display:block;font-size:15px;font-weight:800;color:#160332;letter-spacing:.01em}
.ccard .v {margin-top:7px;font-size:14px;line-height:1.85;color:#3a3350}
.ccard .v em {font-style:normal;font-size:19px;font-weight:900;letter-spacing:.02em;color:#300870}
.ccard .v small {display:block;font-size:12.5px;color:#6b6278}
.panel {border:1px solid #e6deef;background:#ffffff}
.panel-head {padding:20px 24px;border-bottom:1px solid #e6deef;display:flex;align-items:baseline;gap:10px}
.panel-head h2 {margin:0;font-size:19px;font-weight:900;color:#160332}
.panel-head span {font-size:12.5px;color:#6b6278}
.contact-main {margin-top:30px;display:grid;grid-template-columns:1fr;gap:30px}
.contact-main {grid-template-columns:1fr 1fr}
.contact-main .map-panel {order:2}
.contact-main>.panel:not(.map-panel) {order:1}
.map-panel .map-block {position:relative;margin:0}
.map-canvas {height:300px;width:100%;background:#eef0e9}
.map-canvas {height:430px}
.map-canvas .leaflet-control-attribution {font-size:11px;background:rgba(255,255,255,.82);color:#6b6278}
.map-tabs {position:absolute;right:14px;top:14px;z-index:520;display:flex;background:rgba(255,255,255,.96);
  border:1px solid #e6deef;border-radius:2px;overflow:hidden;box-shadow:0 2px 10px rgba(22,3,50,.12)}
.map-tab {padding:9px 15px;font-size:13px;font-weight:700;color:#160332;background:none;
  border-right:1px solid #e6deef;transition:background .2s,color .2s}
.map-tab:last-child {border-right:0}
.map-tab:hover {background:#f7f3fb}
.map-tab.on {background:#300870;color:#fff}
.map-card {position:absolute;left:14px;bottom:14px;z-index:530;width:min(300px,calc(100% - 28px));
  background:#fff;border:1px solid #dfdbe8;box-shadow:0 8px 28px rgba(22,3,50,.16);padding:16px 18px 14px}
.map-card h3 {margin:0 0 9px;font-size:15px;font-weight:900;color:#160332;padding-right:22px;line-height:1.5}
.map-card p {margin:0 0 5px;font-size:13px;line-height:1.8;color:#3a3350}
.map-card p b {color:#6b6278;font-weight:700;margin-right:4px}
.map-card a {display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:13px;font-weight:800;color:#d04820}
.map-card a svg {width:13px;height:13px;stroke:#d04820;fill:none;stroke-width:2}
.map-card-close {position:absolute;right:9px;top:7px;width:24px;height:24px;line-height:1;font-size:17px;
  color:#8a819c;border-radius:2px}
.map-card-close:hover {background:#f7f3fb;color:#160332}
.plants {padding:22px 24px;display:flex;flex-direction:column;gap:16px}
.plant {border:1px solid #e6deef;background:#fbf9fe;padding:16px 18px}
.plant .tag {display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.08em;color:#fff;
  background:#300870;padding:3px 8px;margin-bottom:9px}
.plant h3 {margin:0 0 8px;font-size:15.5px;font-weight:800;color:#160332}
.plant p {margin:0;font-size:13.5px;line-height:1.85;color:#4a4360}
.plant p b {color:#300870}
.plant .go-map {display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;
  font-weight:700;color:#d04820;border-bottom:1px solid transparent;transition:border-color .2s}
.plant .go-map:hover {border-color:#d04820}
.plant .go-map svg {width:13px;height:13px;stroke:#d04820;fill:none;stroke-width:2}
.guide-panel {margin-top:30px}
.guide-grid {padding:22px 24px 24px;display:grid;grid-template-columns:1fr;gap:22px}
.guide-grid {grid-template-columns:repeat(3,1fr);gap:30px}
.gitem {display:flex;gap:13px}
.gitem .no {flex:0 0 22px;height:22px;display:flex;align-items:center;justify-content:center;
  background:#300870;color:#fff;font-size:12px;font-weight:900;border-radius:2px;margin-top:1px}
.gitem p {margin:0;font-size:13.5px;line-height:1.85;color:#4a4360}
.gitem p b {display:block;font-size:14.5px;font-weight:800;color:#160332;margin-bottom:3px}

/* ----------------------------------------------------------------------
   F. 内页通用 · 内页头与面包屑　—　cp-top / cp-crumb / cp-sub
   ---------------------------------------------------------------------- */
.pro-page .content .right.f_r {width:100%!important;}
.pro-page .warp1 {background:none!important;border:none!important;}
.pro-page .content {background:#fff!important;}
.cp-top {background:#f5f7fb;padding:28px 30px 26px;margin-bottom:28px;border-radius:10px;position:relative;overflow:hidden;}
.cp-crumb {font-size:12px;color:#9aa3b2;margin-bottom:16px;}
.cp-crumb a {color:#9aa3b2;}
.cp-crumb a:hover {color:#0b5bd3;}
.cp-top h1 {font-size:30px;color:#0a3d91;font-weight:700;letter-spacing:2px;margin:0;}
.cp-sub {font-size:14px;color:#8a94a6;margin-top:14px;letter-spacing:1px;}
.cp-sub:after {content:"";display:block;width:48px;height:3px;background:linear-gradient(90deg,#0b5bd3,#2f8bff);border-radius:2px;margin-top:14px;}
.pro-page .warp1 {padding-top:26px;}
.cp-top {position:relative;isolation:isolate;overflow:hidden;color:#fff;
  border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background:#160332 !important;background-image:none !important;
  height:auto !important;min-height:0;box-shadow:none}
.cp-top {padding:52px max(20px,calc((100vw - 1400px) / 2)) 46px}
.cp-top {padding:76px max(20px,calc((100vw - 1400px) / 2)) 64px}
.cp-top::before {content:'';position:absolute;inset:0;z-index:0;background:
  radial-gradient(90% 120% at 12% 0%,rgba(132,62,224,.5),transparent 58%),
  radial-gradient(70% 100% at 88% 100%,rgba(208,72,32,.22),transparent 62%),
  linear-gradient(120deg,#160332 0%,#2b0a62 52%,#160332 100%)}
.cp-top::after {content:'';position:absolute;inset:-10% -5% 0;z-index:1;
  pointer-events:none;opacity:.5;
  background-image:linear-gradient(to right,rgba(150,110,235,.22) 1px,transparent 1px),
                    linear-gradient(to bottom,rgba(150,110,235,.16) 1px,transparent 1px);
  background-size:78px 78px;
  -webkit-mask-image:radial-gradient(72% 100% at 88% 40%,#000 0%,transparent 76%);
  mask-image:radial-gradient(72% 100% at 88% 40%,#000 0%,transparent 76%)}
.cp-crumb {position:relative;z-index:2;display:flex;align-items:center;gap:8px;
  font-size:12.5px;color:#a99ac6;letter-spacing:.04em;line-height:1.5}
.cp-crumb {display:block}
.cp-crumb a {color:#a99ac6}
.cp-crumb a:hover {color:#fff}
.cp-top h1 {position:relative;z-index:2;margin:14px 0 0;
  font-size:clamp(28px,5vw,46px);font-weight:900;letter-spacing:.02em;line-height:1.25;
  color:#fff;text-transform:none}
.cp-sub {position:relative;z-index:2;max-width:640px;margin:16px 0 0;
  color:#c8bae4;font-size:14.5px;line-height:1.85}
.cp-sub {margin-bottom:0}
.cp-sub::after {content:'';display:block;width:46px;height:3px;background:#d04820;margin-top:20px}
.pro-page .content, .content {width:auto !important;max-width:1400px !important}
.pro-page .content, .pro-page .warp1 {overflow:visible !important}
.pro-page .warp1, .warp1 {width:auto !important;max-width:1400px !important}
.pro-page .right.f_r {float:none !important;width:100% !important}
.pro-page .warp1 {padding-top:0 !important}
.pro-page .warp1.mt {margin-top:0 !important}
.cp-top {
  margin-left:0 !important;margin-right:0 !important;width:auto !important}
.cp-top {
  padding-left:max(20px,calc((100% - 1400px) / 2)) !important;
  padding-right:max(20px,calc((100% - 1400px) / 2)) !important}
/* ----------------------------------------------------------------------
   G1. 页脚 · 上半区　—　footer-top / f-about / f-contact / f-qrcode
   ---------------------------------------------------------------------- */
.footer-top {padding:54px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.footer-top h4 {color:#fff;font-size:16px;font-weight:600;margin-bottom:18px;position:relative;padding-bottom:10px;}
.footer-top h4:after {content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:#2f8bff;border-radius:2px;}
.f-about b {display:block;font-size:20px;color:#fff;letter-spacing:1px;}
.f-about .f-en {color:#5f7bb0;font-size:12px;letter-spacing:3px;margin-top:4px;}
.f-about p {margin-top:14px;line-height:1.9;color:#9db2d4;}
.f-qrcode {margin-top:22px;display:flex;align-items:center;gap:12px;}
.f-qrcode img {width:92px;height:92px;border-radius:8px;display:block;background:#fff;padding:5px;flex-shrink:0;}
.f-qrcode span {font-size:12px;color:#9db2d4;letter-spacing:1px;line-height:1.8;}
.footer-top ul li {margin-bottom:10px;}
.footer-top ul li a {color:#9db2d4;}
.footer-top ul li a:hover {color:#fff;padding-left:4px;}
.f-contact li {line-height:1.9;color:#9db2d4;}
.f-contact .f-tel {color:#ffd76a;font-size:20px;font-weight:700;text-decoration:none;cursor:pointer;}
.f-contact .f-tel:hover {color:#fff;}
.f-contact .f-addr {color:#9db2d4;cursor:pointer;}
.f-contact .f-addr:hover {color:#fff;border-bottom-color:#fff;}
.footer-top h4:after {background:#d04820}
.f-about .f-en {color:#7f6aa8}
.f-about p, .f-qrcode span, .footer-top ul li a, .f-contact li, .f-contact .f-addr {color:#b9aed0}
.footer-top ul li a:hover {color:#fff}
.f-contact .f-addr:hover {color:#fff}
.f-contact .f-tel {color:#ff6b3d}
.f-contact .f-tel:hover {color:#fff}

/* ----------------------------------------------------------------------
   G2. 页脚 · 底栏　—　footer-btm
   ---------------------------------------------------------------------- */
.site-footer {background:#0a2a5e;color:#b8c8e4;font-size:13px;}
.footer-btm {border-top:1px solid rgba(255,255,255,.12);padding:16px 0;text-align:center;color:#7890b8;font-size:12px;}
.footer-btm a {color:#7890b8;transition:color .25s ease;}
.footer-btm a:hover {color:#fff;text-decoration:underline;}
.footer-btm .sep {color:#3a5580;margin:0 8px;}
.site-footer {background:#160332;color:#cfc4e6}
.footer-btm {border-top:1px solid rgba(207,196,230,.14);color:#8f83ac}
.footer-btm a {color:#8f83ac}
.footer-btm a:hover {color:#fff}
.footer-btm .sep {color:#41306e}

/* ====================================================================
   内页 · 窄屏内容内缩　视口 < 1400px 时统一 20px
   只作用于 #page > .content（新闻正文容器）与 .pro-page（产品列表外壳）
   .ab-sec / .ct-page / .pd-sec 自身已有水平内边距，不再叠加
   ==================================================================== */
@media (max-width:1399px){
  #page > .content, .pro-page, .ab-sec{
    box-sizing:border-box !important;
    padding-left:20px !important;padding-right:20px !important}
}

/* 首页局部美化层 */

/* ====================================================================
   首页视觉强化层 · 仅「顶艺产品中心」板块
   唯一改动：每张产品卡右上角加一枚幽灵序号 01–06
   其余板块与卡片结构、间距、配色全部保持原样
   ==================================================================== */

.prod .prod-grid {
  counter-reset: pcard-no;
}

.prod .pcard {
  counter-increment: pcard-no;
}

/* —— 首页 Banner · 眉标前红色方块 —— */
.banner-home .banner-kicker::before {
  content: '';
  flex: none;
  width: 7px;
  height: 7px;
  margin-right: 10px;
  background: #d04820;
}

/* —— 首页 · 产品中心底部「查看全部产品」按钮 —— */
.prod .prod-all {
  display: flex;
  width: max-content;
  margin: 48px auto 0;
  align-items: center;
  gap: 10px;
  padding: 14px 40px;
  border: 1px solid #300870;
  color: #300870;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  transition: .25s;
}
.prod .prod-all:hover {background: #300870; color: #fff}
.prod .prod-all svg {width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; transition: .25s}
.prod .prod-all:hover svg {transform: translateX(5px)}

/* —— 首页 · 走进顶艺机械底部「了解顶艺」按钮 —— */
.about .about-all {
  display: flex;
  width: 100%;
  justify-content: center;
  margin: 18px 0 0;
  align-items: center;
  gap: 10px;
  padding: 14px 40px;
  border: 1px solid #300870;
  color: #300870;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  transition: .25s;
}
.about .about-all:hover {background: #300870; color: #fff}
.about .about-all svg {width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; transition: .25s}
.about .about-all:hover svg {transform: translateX(5px)}

/* ====================================================================
   定制服务流程 · 工艺流水线版式
   8 个工位排成一条「流水线」：竖线分格 + 幽灵工位号 + 方形工位牌
   ==================================================================== */
.flow {padding-top: 96px; padding-bottom: 104px}

.flow .flow-list {
  counter-reset: fs;
  margin-top: 54px;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.flow .flow-step {
  counter-increment: fs;
  position: relative;
  padding: 42px 10px 26px;
  border-left: 1px solid rgba(255,255,255,.12);
  transition: background .25s;
}
.flow .flow-step:first-child {border-left: 0}
.flow .flow-step:hover {background: rgba(255,255,255,.045)}

/* 幽灵工位号 */
.flow .flow-step::before {
  content: counter(fs, decimal-leading-zero);
  position: absolute;
  left: 12px; top: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px; font-weight: 700; line-height: 1;
  letter-spacing: .02em;
  color: rgba(255,255,255,.16);
  transition: color .25s;
}
.flow .flow-step:hover::before {color: #d04820}

/* 去掉原小三角箭头，改由竖线分隔 */
.flow .flow-step::after {display: none}

/* 工位牌：方形，工业感 */
.flow .flow-step .fi {
  width: 52px; height: 52px;
  border-radius: 0;
  border-width: 1px;
  border-color: rgba(255,255,255,.22);
}
.flow .flow-step .fi svg {width: 20px; height: 20px}

/* 当前工位：橙色实心方牌 + 呼吸外环 */
.flow .flow-step.on .fi {
  background: #d04820; border-color: #d04820;
  box-shadow: 0 0 0 6px rgba(208,72,32,.14);
}
.flow .flow-step.on::before {color: #d04820}
.flow .flow-step.on b {color: #fff}
.flow .flow-step.on small {color: #ffb199}

/* 右侧竖向运行标签 */
.flow::after {
  content: 'PROCESS LINE · 01 — 08';
  position: absolute;
  right: 14px; top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  font-size: 10px; letter-spacing: .34em;
  color: rgba(255,255,255,.3);
  pointer-events: none;
}

/* 当前工位整格高亮，让流水线上有明确的「当前位置」 */
.flow .flow-step.on {
  background: linear-gradient(180deg, rgba(208,72,32,.12), rgba(208,72,32,.02));
  border-left-color: rgba(208,72,32,.55);
}

/* ====================================================================
   设备运行 · 视频介绍 —— 「影像取景框」版式
   左栏加竖线与眉标，右侧播放区做成取景框 + 方形播放键
   ==================================================================== */
.video {padding: 96px 0 104px}

.video .video-grid {gap: 48px; align-items: stretch}

.video .video-txt {
  display: flex; flex-direction: column; justify-content: center;
  padding-left: 22px;
  border-left: 1px solid #e6deef;
}

/* 眉标：红方块 + 字距标题 */
.video .video-txt::before {
  content: 'EQUIPMENT IN MOTION';
  display: block;
  margin-bottom: 16px;
  padding-left: 16px;
  background: linear-gradient(#d04820, #d04820) left center / 7px 7px no-repeat;
  font-size: 10px; font-weight: 700; letter-spacing: .34em; color: #d04820;
}

/* 三条要点：编号换成衬线字号 */
.video .video-list li::before {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px; font-weight: 700; color: #300870; opacity: .55;
  padding-top: 1px; letter-spacing: 0;
}

/* 播放区：取景框 */
.video .play-box {background: #12032b; border: 0}
.video .play-box::before {
  background: radial-gradient(70% 60% at 50% 110%, rgba(132,62,224,.45), transparent 65%),
              linear-gradient(150deg, #12032b, #340f7d);
}

/* 四角裁切标记 */
.video .play-box::after {
  content: '';
  position: absolute; inset: 16px; z-index: 2; pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) left top / 24px 1px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) left top / 1px 24px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) right top / 24px 1px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) right top / 1px 24px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) left bottom / 24px 1px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) left bottom / 1px 24px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) right bottom / 24px 1px no-repeat,
    linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) right bottom / 1px 24px no-repeat;
}

/* 播放键：沿用原来的圆形橙钮，叠加向外扩散的涟漪环 */
.video .play-btn {
  width: 76px; height: 76px; border-radius: 50%;
  background: rgba(208,72,32,.92);
  box-shadow: 0 0 0 0 rgba(208,72,32,.4);
  animation: vpulse 2.6s infinite;
}
.video .play-btn:hover {transform: translate(-50%,-50%) scale(1.06); background: #a8340f}
.video .play-btn svg {width: 26px; height: 26px; margin-left: 4px}

/* 两层涟漪：错峰扩散，形成持续向外推的效果 */
.video .play-btn::before,
.video .play-btn::after {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 0 0 1px rgba(0,0,0,.22), 0 0 14px rgba(208,72,32,.35);
  animation: vripple 2.6s ease-out infinite;
  pointer-events: none;
}
.video .play-btn::after {animation-delay: 1.3s}

@keyframes vripple {
  0%   {transform: scale(1);    opacity: .9}
  60%  {opacity: .22}
  100% {transform: scale(2.4);  opacity: 0}
}

@keyframes vpulse {
  0%   {box-shadow: 0 0 0 0 rgba(208,72,32,.45)}
  70%  {box-shadow: 0 0 0 20px rgba(208,72,32,0)}
  100% {box-shadow: 0 0 0 0 rgba(208,72,32,0)}
}

/* 角标：加一条橙色短线 */
.video .play-cap {
  left: 22px; bottom: 18px;
  padding-left: 14px;
  background: linear-gradient(#d04820, #d04820) left center / 6px 6px no-repeat;
  color: #cdbfe8; letter-spacing: .18em;
}

/* 取景框外描边，做出画面边界感 */
.video .play-box {box-shadow: 0 0 0 1px #300870, 0 26px 60px -30px rgba(22,3,50,.5)}

/* ====================================================================
   首页 · 产品类别导轨（banner 下方 hero-tags）
   整条做成一条「控制台导轨」：等分刻度格 + 序号 + 橙色扫光
   ==================================================================== */
.banner-home .hero-tags {
  background: linear-gradient(90deg, #0b0220 0%, #240757 42%, #3a0f86 62%, #12032b 100%);
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 -1px 0 rgba(208,72,32,.25);
  overflow: hidden;
}

/* 导轨上缓慢扫过的一道高光 */
.banner-home .hero-tags::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0; left: -30%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.10), transparent);
  animation: railSweep 7s linear infinite;
  pointer-events: none;
}
@keyframes railSweep {
  0%   {left: -30%}
  100% {left: 105%}
}

.banner-home .hero-tags .wrap {
  display: grid;
  grid-template-columns: 190px repeat(5, 1fr);
  position: relative;
  z-index: 1;
  align-items: stretch;
  gap: 0;
  padding: 0;
  counter-reset: pc;
}

/* 左侧标签块：产品类别 / PRODUCT CATEGORY */
.banner-home .hero-tags b {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 0 20px;
  min-height: 62px;
  border-right: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  font-size: 13px;
  letter-spacing: .12em;
}

/* 五个刻度格 */
.banner-home .hero-tags .tag-item,
.banner-home .hero-tags .tag-item:link,
.banner-home .hero-tags .tag-item:hover {
  counter-increment: pc;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  min-height: 62px;
  max-width: none;
  border-left: 1px solid rgba(255,255,255,.10) !important;
  color: #cdbfe8 !important;
  font-size: 13px;
  overflow: hidden;
  transition: color .2s, background .25s;
}

.banner-home .hero-tags .tag-item:hover {
  background: rgba(208,72,32,.18) !important;
  color: #fff !important;
}

/* 序号 */
.banner-home .hero-tags .tag-item::before {
  content: counter(pc, decimal-leading-zero);
  position: static;
  width: auto; height: auto;
  transform: none;
  background: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ff6b3d;
  opacity: .85;
}

/* hover 时从底部推上来的橙色扫光 */
.banner-home .hero-tags .tag-item::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, #ff6b3d, #d04820);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.banner-home .hero-tags .tag-item:hover::after {transform: scaleX(1)}
.banner-home .hero-tags b::before {
  content: '';
  width: 7px; height: 7px;
  background: #d04820;
}

/* 第一条不再画左边线，避免与「产品类别」块的右边线重线 */
.banner-home .hero-tags .tag-item:first-of-type {border-left: 0 !important}

/* ========== 产品中心 · 卡片回到确定版（小号空心序号 + 橙色取景框） ========== */
.prod .pcard {position: relative}
.prod .pcard::before {
  content: counter(pcard-no, decimal-leading-zero);
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 3;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .08em;
  color: transparent;
  -webkit-text-stroke: 1.2px rgba(48,8,112,.34);
  pointer-events: none;
}
.prod .pcard:hover::before {-webkit-text-stroke-color: rgba(208,72,32,.55)}
.prod .pcard-media {position: relative; overflow: hidden}
.prod .pcard-media::after {
  content: '';
  position: absolute;
  inset: 10px;
  pointer-events: none;
  z-index: 4;
  background:
    linear-gradient(#d04820, #d04820) left top / 20px 2px no-repeat,
    linear-gradient(#d04820, #d04820) left top / 2px 20px no-repeat,
    linear-gradient(#d04820, #d04820) right top / 20px 2px no-repeat,
    linear-gradient(#d04820, #d04820) right top / 2px 20px no-repeat,
    linear-gradient(#d04820, #d04820) left bottom / 20px 2px no-repeat,
    linear-gradient(#d04820, #d04820) left bottom / 2px 20px no-repeat,
    linear-gradient(#d04820, #d04820) right bottom / 20px 2px no-repeat,
    linear-gradient(#d04820, #d04820) right bottom / 2px 20px no-repeat;
  transition: inset .35s ease;
}
.prod .pcard:hover .pcard-media::after {inset: 6px}

/* ========== 产品中心 · 标题：红蓝双色 + 背后虚线字 + 红色短横 ========== */
.prod .sec-title {
  position: relative;
  isolation: isolate;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  color: transparent;
  background: linear-gradient(96deg, #d04820 0%, #b23a3c 34%, #5b2378 66%, #300870 100%);
  -webkit-background-clip: text;
  background-clip: text;
  padding-bottom: 4px;
}
.prod .sec-title::after {
  content: '';
  display: block;
  width: 96px;
  height: 3px;
  margin: 16px auto 0;
  background: #d04820;
}

/* 标题双引号由正文文字提供，隐藏主包自带的伪元素引号 */
.prod .sec-title::before {content: none; display: none}
