/* ============================================
   www.goz.cn 构站网 — 极致精细设计
   主色调：高级灰 + 红色点缀
   ============================================ */
@charset "utf-8";

/* === CSS 变量系统 === */
:root {
  --color-primary: #c8102e;        /* 主红色 — 精致中国红 */
  --color-primary-dark: #a00d24;  /* 深红色 — hover状态 */
  --color-primary-light: #e8334d; /* 亮红色 — 活跃高亮 */
  --color-gray-900: #1a1a1a;      /* 最深灰 */
  --color-gray-800: #2d2d2d;      /* 深灰 */
  --color-gray-700: #3d3d3d;      /* 暗灰 */
  --color-gray-600: #555;          /* 中灰 */
  --color-gray-500: #777;          /* 浅灰 */
  --color-gray-400: #999;          /* 中浅灰 */
  --color-gray-300: #bbb;          /* 浅灰 */
  --color-gray-200: #ddd;          /* 淡灰 */
  --color-gray-100: #eee;          /* 极淡灰 */
  --color-gray-50: #f5f5f5;        /* 近白灰 */
  --color-gray-bg: #f8f8f8;       /* 页面背景灰 */
  --color-white: #fff;
  --color-text: #555;              /* 正文文字色 */
  --color-text-light: #888;        /* 辅助文字色 */
  --color-heading: #2d2d2d;         /* 标题色 */
  --color-border: #e0e0e0;        /* 边框色 */
  --color-border-light: #ebebeb;  /* 轻边框色 */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.1);
  --shadow-xl: 0 16px 48px rgba(0,0,0,0.12);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* === 全局重置 === */
* {
  padding: 0;
  margin: 0;
  outline: 0;
  text-decoration: none;
  list-style: none;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: 14px;
  font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.7;
  overflow-x: hidden;
}

input, textarea {
  border: none;
  font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
}

img {
  border: none;
  max-width: 100%;
}

h1, h2, h3, h4, h5 {
  font-weight: normal;
}

table {
  width: 100%;
  border-collapse: collapse;
}

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

p {
  line-height: 1.7em;
  color: var(--color-text);
  margin-bottom: 0;
}

p img {
  margin: 0;
  margin-bottom: -4px;
}

a {
  color: var(--color-gray-800);
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary);
}

/* === 工具类 === */
.fl {
  float: left;
}
.fr {
  float: right;
}
.container {
  width: 1388px;
  margin: 0 auto;
}
.clear:after {
  content: '';
  display: table;
  clear: both;
}
.w1388 {
  width: 1388px;
  margin: 0 auto;
}
.w1128 {
  width: 1128px;
  margin: 0 auto;
}
.bg15 {
  background: var(--color-gray-900);
}
.relative {
  position: relative;
}
.img100 img {
  width: 100%;
  vertical-align: bottom;
}
.pc-show {
  display: block;
}
.phone-show {
  display: none;
}
.table {
  display: table;
  text-align: center;
  width: 100%;
  height: 100%;
  table-layout: fixed;
}
.table-cell {
  display: table-cell;
  vertical-align: middle;
}
.table-cell b {
  color: #fff;
}
.margin-t60 {
  margin-top: 60px;
}
.text-center {
  text-align: center;
}
.paddin-tb60 {
  padding: 60px 0;
}

/* === 精致滚动条 === */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--color-gray-400), var(--color-gray-500));
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--color-gray-500), var(--color-gray-600));
}
::-webkit-scrollbar-thumb:active {
  background: linear-gradient(180deg, var(--color-primary), var(--color-primary-dark));
}

/* ============================================
   头部导航 — 极致精细
   ============================================ */
.header {
  position: relative;
  z-index: 99999;
}

.head-top {
  height: 40px;
  line-height: 40px;
  overflow: hidden;
  background: var(--color-gray-900);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.head-top2 {
  position: fixed;
  z-index: 99999;
  left: 0;
  bottom: 0;
  width: 100%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  box-shadow: 0 -4px 20px rgba(200,16,46,0.3);
}
.head-top2.active {
  bottom: -50px;
}

.head-top div, .head-top span {
  font-size: 12px;
}

.hotLine .span1 {
  color: var(--color-primary-light);
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.5px;
}

.hotLine .span1:before {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 0;
  width: 15px;
  height: 14px;
  background: url("../images/i0.png");
}

.head-top2 .hotLine .span1:before {
  width: 28px;
  height: 25px;
  background: url("../images/tel2.png") no-repeat center;
  background-size: cover;
  margin-top: -12px;
  margin-right: 2px;
}

.hotLine .span2 {
  color: #fff;
  font-weight: bold;
  letter-spacing: 1px;
}

.head-top2 .hotLine .span1 {
  color: #fff;
  padding-left: 30px;
}

.head-top2 .hotLine span {
  font-size: 16px;
}

/* 导航中间区域 */
.head-mid {
  height: 100px;
}

.head-con {
  width: 100%;
  background: var(--color-white);
  height: 100px;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  transition: all var(--transition-normal);
}

.header.active .head-con {
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: var(--shadow-md);
  height: 80px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.95);
}

.header.active .nav-yi, .header.active .language {
  line-height: 80px;
}

.header.active .logo {
  top: 5px;
}

/* Logo */
.logo {
  position: absolute;
  top: 15px;
  left: 0;
  transition: top var(--transition-normal);
}

.logo img {
  vertical-align: bottom;
  max-width: 180px;
  filter: brightness(0.95);
  transition: filter var(--transition-fast);
}

.logo:hover img {
  filter: brightness(1);
}

/* 移动端菜单按钮 */
.menu-handler {
  width: 30px;
  height: 32px;
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 14px;
  transition: all 0s cubic-bezier(0.445, 0.145, 0.355, 1);
  -webkit-transition: all 0s cubic-bezier(0.445, 0.145, 0.355, 1);
  display: none;
}

.menu-handler .burger {
  height: 2px;
  background: var(--color-primary);
  display: block;
  width: 20px;
  position: absolute;
  z-index: 5;
  left: 5px;
  transform-origin: center;
  -webkit-transform-origin: center;
  border-radius: 2px;
  top: 8px;
}

.menu-handler .burger-2 {
  top: 15px;
}

.menu-handler .burger-3 {
  top: 22px;
}

.menu-handler.active .burger-1 {
  top: 15px;
  transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
}

.menu-handler.active .burger-2 {
  filter: alpha(opacity=0);
  opacity: 0;
}

.menu-handler.active .burger-3 {
  top: 15px;
  transform: rotate(-225deg);
  -webkit-transform: rotate(-225deg);
}

/* 菜单 */
.menu-box {
  margin-right: 120px;
}

.menu-box li {
  float: left;
  margin-left: 60px;
  position: relative;
}

.menu-box li:first-child {
  margin-left: 0;
}

.nav-yi {
  display: inline-block;
  line-height: 100px;
  color: var(--color-gray-600);
  position: relative;
  font-size: 15px;
  letter-spacing: 1px;
  transition: color var(--transition-fast);
}

/* 下拉菜单 */
.nav-er-box {
  position: absolute;
  width: 140px;
  text-align: center;
  left: 50%;
  margin-left: -70px;
  background: var(--color-white);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: var(--shadow-lg);
  transform-origin: top center;
  -webkit-transform-origin: top center;
  transform: scaleY(0);
  -webkit-transform: scaleY(0);
  transition: transform var(--transition-normal);
}

.nav-tap {
  opacity: 0;
  transform: translate(0, -20px);
  -ms-transform: translate(0, -20px);
  transform: translate(0, -20px);
  transition: all var(--transition-fast);
}

.menu-box li:hover .nav-er-box {
  transform: scaleY(1);
  -webkit-transform: scaleY(1);
}

.menu-box li:hover .nav-tap {
  opacity: 1;
  transform: translate(0, 0);
  -ms-transform: translate(0, 0);
}

.nav-san-box {
  position: absolute;
  left: 100%;
  top: 0;
  width: 0;
  background: var(--color-white);
  overflow: hidden;
}

.nav-san-box a {
  width: 140px;
  font-size: 12px;
}

.nav-er-box a {
  display: block;
  line-height: 45px;
  color: var(--color-gray-600);
  font-size: 12px;
  transition: all var(--transition-fast);
}

.nav-er-box a:hover {
  background: var(--color-gray-50);
  color: var(--color-primary);
}

/* 语言切换 */
.language {
  position: absolute;
  right: 40px;
  top: 0;
  line-height: 100px;
  color: var(--color-gray-700);
  font-weight: bold;
  padding-left: 20px;
  font-family: dincondBold;
  font-size: 16px;
}

.language:before {
  width: 14px;
  height: 14px;
  left: 0;
  top: 50%;
  margin-top: -7px;
  background: url("../images/earth.jpg");
  content: '';
  position: absolute;
}

/* 导航下划线 */
.nav-yi:after {
  content: '';
  position: absolute;
  width: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: 0;
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
  transition: width var(--transition-normal);
}

.menu-box li.active .nav-yi:after {
  width: 100%;
}

.menu-box li.active .nav-yi {
  color: var(--color-primary);
}

/* === 通用按钮 === */
.ljgd {
  display: inline-block;
  width: 160px;
  line-height: 50px;
  background: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  font-size: 15px;
  border-radius: var(--radius-xl);
  letter-spacing: 2px;
  transition: all var(--transition-normal);
  box-shadow: 0 4px 15px rgba(200,16,46,0.3);
  position: relative;
  overflow: hidden;
}

.ljgd::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.5s;
}

.ljgd:hover::before {
  left: 100%;
}

.banner .ljgd {
  position: absolute;
  left: 50%;
  margin-left: -80px;
  bottom: 25%;
}

.ljgd:hover {
  background: var(--color-white);
  color: var(--color-primary);
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}

.swiper-slide-active .ljgd {
  animation: toUp 1s linear both;
}

@keyframes toUp {
  0% {
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    -webkit-transform: translateY(0);
    opacity: 1;
  }
}

/* === 轮播分页器 === */
.swiper-pagination-bullets.pagination-style {
  z-index: 4;
  text-align: center;
}

.banner .pagination1.pagination-style {
  position: absolute;
  bottom: 5%;
  text-align: center;
}

.swiper-pagination-bullets.pagination-style .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 1;
  background: rgba(255,255,255,0.6);
  margin: 0 15px;
  border-radius: 50%;
  transition: all var(--transition-normal);
}

.anlixq-img .swiper-pagination-bullets.pagination-style .swiper-pagination-bullet {
  background: var(--color-gray-300);
}

.swiper-pagination-bullets.pagination-style .swiper-pagination-bullet-active {
  background: var(--color-primary) !important;
  width: 28px;
  border-radius: 5px;
}

.anlixq-img .swiper-pagination-bullets.pagination-style .swiper-pagination-bullet {
  margin: 0 6px;
}

.anlixq-img .pagination1 {
  margin-top: 12px;
}

/* === 品牌特色区域 === */
.index-a li {
  float: left;
  width: 24.5%;
  margin-right: 0.66%;
  margin-top: 0.66%;
}

.index-a li:last-child {
  margin-right: 0;
}

.index-a-con {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: background var(--transition-slow);
}

.index-a li a {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.index-a .img img {
  width: 48px;
  max-width: 50%;
  vertical-align: bottom;
}

.index-a h3 {
  font-size: 20px;
  color: #fff;
  margin-top: 10px;
  letter-spacing: 2px;
}

.index-a i {
  display: block;
  width: 35px;
  height: 35px;
  background-image: url("../images/i6.png");
  margin: 25px auto 0;
  transform: translateY(35px) translateZ(0);
  -webkit-transform: translateY(35px) translateZ(0);
  opacity: 0;
  transition: all var(--transition-slow);
}

.index-a-title {
  margin-top: 45px;
  transition: margin-top var(--transition-slow);
}

/* === 标题组件 — 精致设计 === */
.title1 {
  margin-bottom: 40px;
}

.title1 h3 {
  font-size: 28px;
  color: var(--color-heading);
  letter-spacing: 3px;
  font-weight: 500;
  position: relative;
}

.title1 i {
  display: block;
  margin: 10px auto;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  border-radius: 2px;
  position: relative;
}

.title1 i::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
}

.title1 p {
  color: var(--color-text-light);
  font-size: 14px;
  margin-top: 8px;
  letter-spacing: 0.5px;
}

/* === 品牌故事区域 === */
.ppgs-l {
  width: 55%;
  cursor: pointer;
}

.ppgs-l .img100, .about-vd .img100 {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
}

.ppgs-r {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 45%;
  background: var(--color-gray-50);
}

.ppgs-warp {
  width: 440px;
  margin: 0 auto;
  max-width: 90%;
}

.ppgs-title {
  margin-bottom: 25px;
}

.ppgs-title h4 {
  font-size: 24px;
  color: var(--color-heading);
  letter-spacing: 5px;
  text-indent: 5px;
  margin-bottom: 6px;
}

.ppgs-title span {
  color: var(--color-gray-400);
}

.ppgs-txt {
  text-align: left;
}

.ppgs-txt p {
  line-height: 1.9;
  color: var(--color-gray-500);
}

/* 更多按钮 */
.ljgd2 {
  width: 118px;
  line-height: 38px;
  text-align: center;
  display: block;
  border: 1px solid var(--color-gray-200);
  color: var(--color-gray-500);
  margin: 20px auto 0;
  border-radius: var(--radius-xl);
  letter-spacing: 1px;
  transition: all var(--transition-normal);
}

.ljgd2:hover {
  color: var(--color-white);
  background: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: 0 4px 15px rgba(200,16,46,0.25);
  transform: translateY(-1px);
}

/* 播放图标 */
.i7 {
  position: absolute;
  width: 50px;
  height: 50px;
  left: 50%;
  top: 50%;
  margin: -25px 0 0 -25px;
  background-image: url("../images/i7.png");
  filter: brightness(0) saturate(100%) invert(27%) sepia(95%) saturate(2000%) hue-rotate(340deg);
  transition: all var(--transition-normal);
}

.ppgs-l:hover .i7 {
  transform: scale(1.2);
  -webkit-transform: scale(1.2);
  background-image: url("../images/i7-1.png");
  filter: none;
}

/* === 视频弹窗 === */
.sptc {
  position: fixed;
  z-index: 9999999;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
}

.video_t {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 1270px;
  max-width: 90%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}

.video_t a {
  position: absolute;
  width: 38px;
  height: 38px;
  right: -19px;
  top: -19px;
  background-image: url("../images/close.png");
  z-index: 9;
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: var(--shadow-md);
}

.video_t a img {
  width: 100%;
  vertical-align: bottom;
}

.video_t video {
  width: 100%;
  vertical-align: bottom;
}

/* === 产品展示 — 精致卡片 === */
.cptd1 li {
  float: left;
  width: 24.5%;
  margin-right: 0.66%;
  margin-bottom: 0.66%;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.cptd1 li:last-child {
  margin-right: 0;
}

.cptd1 li a {
  display: block;
}

.cptd1-con {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 0;
  height: 80px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(6px);
  transition: all var(--transition-slow);
}

.cptd1-con p {
  display: none;
  width: 260px;
  margin: 0 auto;
  color: #fff;
  text-align: left;
}

.cptd1-title {
  font-size: 18px;
  color: var(--color-gray-700);
  font-weight: 500;
}

.cptd1-title img {
  vertical-align: middle;
  margin-right: 10px;
}

.cptd1-title .img1 {
  margin-top: -4px;
}

.cptd1-title .img2 {
  display: none;
}

.cptd1-con i {
  display: block;
  border-top: 2px solid rgba(200,16,46,0.4);
  width: 0;
  transition: all var(--transition-normal);
}

.cptd1 li:hover .img1 {
  display: none;
}

.cptd1 li:hover .img2 {
  display: inline-block;
  margin-top: -5px;
}

.cptd1 li:hover .cptd1-con {
  height: 100%;
  background: rgba(200,16,46,0.92);
  backdrop-filter: blur(10px);
}

.cptd1 li:hover p {
  display: block;
}

.cptd1 li:hover .cptd1-title {
  color: #fff;
}

.cptd1 li:hover .cptd1-con i {
  width: 50px;
  margin: 20px auto;
  border-color: rgba(255,255,255,0.6);
}

/* 大卡片 */
.cptd2 li {
  width: 49.67%;
  margin-right: 0.66%;
  float: left;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.cptd2-con {
  width: 340px;
  height: 180px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-md);
  transition: all var(--transition-slow);
}

.cptd2 li a {
  display: block;
  position: relative;
}

.cptd2 li:last-child {
  margin-right: 0;
}

.cptd2-con h4 {
  font-size: 28px;
  color: var(--color-heading);
  margin-bottom: 10px;
  font-weight: 500;
}

.cptd2-con span {
  font-size: 16px;
  color: var(--color-text-light);
}

.cptd2 li:hover .cptd2-con {
  background: rgba(200,16,46,0.92);
  box-shadow: var(--shadow-lg);
}

.cptd2 li:hover h4 {
  color: #fff;
}

.cptd2 li:hover span {
  color: rgba(255,255,255,0.85);
}

/* === Tab 按钮 — 精致设计 === */
.tab-btn {
  font-size: 0;
  text-align: center;
}

.tab-btn a {
  display: inline-block;
  font-size: 14px;
  color: var(--color-gray-500);
  text-align: center;
  width: 120px;
  line-height: 40px;
  background: var(--color-gray-50);
  margin: 0 10px;
  border-radius: var(--radius-xl);
  border: 1px solid transparent;
  transition: all var(--transition-normal);
}

.tab-btn a.active {
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
}

.tab-btn a:hover {
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
  transform: translateY(-1px);
}

/* === 案例列表 === */
.anli-list li {
  float: left;
  width: 24.5%;
  margin-right: 0.66%;
  margin-bottom: 0.66%;
}

.anli-list li a {
  display: block;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.anli-list li:nth-child(4n) {
  margin-right: 0;
}

.margin-t50 {
  margin-top: 50px;
}

.anli-con {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(200,16,46,0.75);
  backdrop-filter: blur(4px);
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity var(--transition-slow);
}

.anli-con h4 {
  font-size: 16px;
  color: #fff;
}

.anli-con i {
  display: block;
  width: 36px;
  height: 36px;
  background-image: url("../images/gor.png");
  margin: 20px auto 0;
}

.tabpage {
  display: none;
}

.tabpage.active {
  display: block;
}

/* === 新闻列表 — 精致设计 === */
.xw-list li {
  float: left;
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.xw-list a {
  display: block;
}

.xw-list li:nth-child(even) {
  margin-right: 0;
}

.xw-list .img100 {
  width: 36%;
}

.xw-con {
  position: absolute;
  height: 100%;
  right: 0;
  width: 62%;
  top: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  text-align: left;
  background: var(--color-white);
  transition: all var(--transition-normal);
}

.xw-list li:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
}

.xw-txt {
  text-align: left;
  width: 86%;
  margin: 0 auto;
}

.xw-con h4 {
  font-size: 14px;
  color: var(--color-heading);
  font-weight: 600;
  transition: color var(--transition-fast);
}

.xw-con span {
  font-size: 16px;
  font-family: dincondBold;
  color: var(--color-gray-400);
  position: relative;
  padding-left: 40px;
  display: block;
  transition: color var(--transition-fast);
}

.xw-con span:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  border-top: 1px solid var(--color-gray-300);
  transition: border-color var(--transition-fast);
}

.xw-con p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 3.2em;
  color: var(--color-gray-500);
  transition: color var(--transition-fast);
}

.xw-list li:hover h4,
.xw-list li:hover span,
.xw-list li:hover p {
  color: var(--color-primary);
}

.xw-list li:hover span:before {
  border-color: var(--color-primary);
}

/* ============================================
   页脚 — 精致设计
   ============================================ */
.footer-top {
  height: 120px;
  overflow: hidden;
}

.footer {
  margin-top: 40px;
  background: var(--color-gray-900);
}

.logo2 {
  margin-top: 29px;
}

.footer-mid-left dl {
  float: left;
  margin-right: 80px;
}

.footer-mid {
  margin-top: 50px;
}

.footer-mid-left dt {
  margin-bottom: 5px;
}

.footer-mid-left dt a {
  color: var(--color-gray-200);
  font-weight: 500;
  letter-spacing: 1px;
  transition: color var(--transition-fast);
}

.footer-mid-left dt a:hover {
  color: var(--color-primary-light);
}

.footer-mid-left dd a {
  color: var(--color-gray-400);
  font-size: 12px;
  transition: all var(--transition-fast);
}

.footer-mid-left dd a:hover {
  color: var(--color-primary-light);
  padding-left: 4px;
}

.fot-lxwm h5 {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray-200);
  margin-bottom: 10px;
  letter-spacing: 1px;
}

.fot-lxwm h5 a {
  color: var(--color-primary-light);
  transition: color var(--transition-fast);
}

.fot-lxwm h5 a:hover {
  color: var(--color-primary);
}

.fot-lxwm p {
  color: var(--color-gray-400);
}

.bdsharebuttonbox.forlink {
  margin-top: 25px;
}

.bdsharebuttonbox.forlink a {
  width: 27px;
  height: 27px;
  padding: 0;
  margin: 0 0 0 10px;
  border-radius: 50%;
  transition: all var(--transition-fast);
}

.bdsharebuttonbox.forlink a:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 10px rgba(200,16,46,0.3);
}

.forlink .weibo {
  background-image: url("../images/weibo.png");
}

.forlink .weixin {
  background-image: url("../images/weixin.png");
}

.forlink .tenxun {
  background-image: url("../images/qq.png");
}

.bdsharebuttonbox.forlink span {
  color: var(--color-gray-200);
  font-weight: 500;
}

.footer-bot {
  padding: 25px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-bot .zt {
  font-family: dincond;
  color: var(--color-gray-400);
  font-size: 12px;
}

/* === 侧边悬浮工具栏 === */
.fubox {
  position: fixed;
  right: -50px;
  top: 50%;
  z-index: 999;
  transform: translateZ(0);
  transition: right var(--transition-normal);
}

.fubox.active {
  right: 0;
}

.fu-icon {
  background: var(--color-primary);
  width: 50px;
  transition: background var(--transition-fast);
}

.fu-list:hover .fu-icon {
  background: var(--color-primary-dark);
}

.fu-icon img {
  width: 100%;
  vertical-align: bottom;
}

.fu-list {
  margin-top: 1px;
  cursor: pointer;
  position: relative;
}

.fu-warp {
  background: var(--color-primary);
  overflow: hidden;
  height: 50px;
  width: 0;
  transition: width var(--transition-normal);
}

.fu-list:hover .fu-warp {
  background: var(--color-primary-dark);
}

.fu-txt {
  padding-right: 10px;
}

.fu-warp p {
  color: #fff;
  line-height: 50px;
  font-size: 12px;
}

.fu-list-tel:hover .fu-warp {
  width: 102px;
}

.fu-list-tel .fu-txt {
  width: 102px;
}

.fu-list-qq .fu-txt {
  width: 66px;
}

.fu-list-qq:hover .fu-warp {
  width: 66px;
}

.weixin-code {
  position: absolute;
  right: 100%;
  margin-right: 4px;
  top: 0;
  width: 0;
  overflow: hidden;
  transition: width var(--transition-normal);
}

.weixin-code img {
  width: 128px;
  vertical-align: bottom;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
}

.fu-list:hover .weixin-code {
  width: 130px;
}

/* ============================================
   关于页面
   ============================================ */
.position {
  height: 80px;
  line-height: 70px;
  margin-top: -70px;
  z-index: 6;
}

.position h2 {
  width: 180px;
  text-align: center;
  background: url("../images/gkgk.jpg") no-repeat center;
  background-size: cover;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  border-radius: var(--radius-sm);
}

.gk-title img {
  vertical-align: middle;
  margin: -4px 5px 0 0;
}

.position h2:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-dark));
  left: 0;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}

/* 侧边导航 */
.brief-nav {
  width: 180px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
}

.brief-nav-con li {
  margin-top: 2px;
  position: relative;
}

.left-yi {
  display: block;
  line-height: 60px;
  background: var(--color-gray-50);
  color: var(--color-gray-500);
  position: relative;
  transition: all var(--transition-normal);
}

.left-yi:before {
  content: '';
  position: absolute;
  height: 100%;
  background: linear-gradient(180deg, var(--color-primary), var(--color-primary-dark));
  left: 0;
  top: 0;
  width: 0;
  transition: width var(--transition-normal);
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.brief-nav-con li.active .left-yi:before {
  width: 100%;
}

.brief-nav-con li.active .left-yi {
  color: #fff;
}

.left-er-box {
  padding: 20px 0;
  border: 1px solid var(--color-border-light);
  background: #fff;
  display: none;
}

.left-er-box a {
  display: block;
  color: var(--color-gray-500);
  line-height: 40px;
  font-size: 12px;
  transition: all var(--transition-fast);
}

.left-er-box a:hover {
  color: var(--color-primary);
  padding-left: 4px;
}

.left-er-box a.active {
  color: var(--color-primary);
  font-weight: 500;
}

/* 展开/收起 */
.zksq {
  cursor: pointer;
  z-index: 9;
  display: none;
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  background: url("../images/add.png") no-repeat center;
  background-size: cover;
  top: 24px;
  right: 25px;
}

li.none .zksq {
  display: none !important;
}

li.has .zksq {
  display: block !important;
}

.zksq.active {
  transform: rotate(45deg);
}

li:hover .zksq {
  background: url("../images/add2.png") no-repeat center;
  background-size: cover;
}

li.active .zksq {
  background: url("../images/add2.png") no-repeat center;
  background-size: cover;
}

.box-right {
  margin-left: 260px;
}

.pin-wrapper {
  position: absolute;
}

.box-right {
  padding-top: 60px;
}

/* === 内页标题 === */
.title2 {
  border-bottom: 1px solid var(--color-border-light);
  line-height: 50px;
}

.title2 h4 {
  color: var(--color-heading);
  font-size: 20px;
  font-weight: 500;
  position: relative;
  letter-spacing: 1px;
}

.title2 h4 img {
  vertical-align: middle;
  margin: -4px 5px 0 0;
  filter: grayscale(1);
}

.title2 h4:after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -1px;
  border-top: 2px solid var(--color-heading);
}

.title2 span {
  font-size: 20px;
  color: var(--color-gray-300);
  text-transform: uppercase;
  font-family: dincondBold;
}

.margin-t40 {
  margin-top: 40px;
}

/* === 视频播放区 === */
.about-vd {
  width: 855px;
  margin: 0 auto;
  max-width: 100%;
  cursor: pointer;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.bofang {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(3px);
}

.bofang i {
  position: absolute;
  width: 48px;
  height: 48px;
  left: 50%;
  top: 50%;
  background-image: url("../images/bofang.png");
  transform: translate(-50%, -50%);
  border-radius: 50%;
  transition: all var(--transition-normal);
}

.bofang i:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

/* === 公司荣誉 === */
.gtrz .img100 {
  width: 55%;
}

.gtrz-con {
  width: 44%;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  border: 1px solid var(--color-border-light);
  background: var(--color-gray-50);
  border-radius: var(--radius-sm);
}

.gtrz-txt {
  width: 300px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  z-index: 4;
}

.gtrz-txt h5 {
  font-size: 19px;
  font-weight: 500;
  color: var(--color-heading);
}

.gtrz-txt i {
  display: block;
  width: 38px;
  border-top: 2px solid var(--color-primary);
  margin-top: 5px;
  opacity: 0.4;
}

.gtrz-txt b {
  font-size: 48px;
  color: var(--color-primary);
  font-family: dincondBold;
  margin-right: 8px;
  min-width: 57px;
  display: inline-block;
}

.gtrz-txt span {
  font-size: 16px;
  color: var(--color-gray-500);
}

.gtrz-txt ul {
  margin-top: 10%;
}

.ball {
  width: 72px;
  height: 68px;
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url("../images/boal.jpg");
}

.contentbox {
  padding-bottom: 40px;
  min-height: 500px;
}

/* === 发展历程 === */
.history-top {
  width: 720px;
  max-width: 100%;
  margin: 60px auto 0;
}

.history-year {
  width: 200px;
  height: 160px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

.history-year h5 {
  color: var(--color-gray-300);
  font-size: 40px;
  font-family: dincondBold;
}

.history-year img {
  max-width: 100%;
  max-height: 100%;
  vertical-align: middle;
}

.history-con {
  position: absolute;
  height: 100%;
  right: 0;
  left: 204px;
  top: 0;
  background: var(--color-gray-50);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.history-txt {
  width: 90%;
  margin: 0 auto;
  text-align: left;
}

.history-bot {
  margin-top: 50px;
}

.preview {
  margin: 0 40px;
}

.preview:before {
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  top: 50%;
  border-top: 1px solid var(--color-gray-200);
}

.preview .swiper-slide {
  width: 20%;
  text-align: center;
  height: 120px;
  cursor: pointer;
}

.his-dots {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background: var(--color-gray-300);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all var(--transition-fast);
}

.his-line {
  height: 20px;
  border-right: 1px solid var(--color-gray-300);
  position: absolute;
  left: 50%;
  transition: border-color var(--transition-fast);
}

.preview .swiper-slide:nth-child(odd) .his-line {
  bottom: 50%;
  margin-bottom: 8px;
}

.preview .swiper-slide:nth-child(even) .his-line {
  top: 50%;
  margin-top: 8px;
}

.his-nian {
  position: absolute;
  width: 100%;
  left: 0;
  font-size: 30px;
  color: var(--color-heading);
  font-family: dincondBold;
  transition: color var(--transition-fast);
}

.preview .swiper-slide:nth-child(odd) .his-nian {
  bottom: 50%;
  margin-bottom: 28px;
}

.preview .swiper-slide:nth-child(even) .his-nian {
  top: 50%;
  margin-top: 28px;
}

.his-btn a {
  position: absolute;
  width: 28px;
  height: 28px;
  top: 50%;
  margin-top: -14px;
}

.arrow-left {
  background-image: url("../images/btn01.png");
  left: 0;
}

.arrow-right {
  background-image: url("../images/btn02.png");
  right: 0;
}

.arrow-left:hover {
  background-image: url("../images/btn01-1.png");
}

.arrow-right:hover {
  background-image: url("../images/btn02-1.png");
}

.swiper-slide.active-nav .his-nian {
  color: var(--color-primary);
}

.swiper-slide.active-nav .his-dots {
  background: var(--color-primary);
}

.swiper-slide.active-nav .his-line {
  border-color: var(--color-primary);
}

.swiper-slide:hover .his-nian {
  color: var(--color-primary);
}

.swiper-slide:hover .his-dots {
  background: var(--color-primary);
}

.swiper-slide:hover .his-line {
  border-color: var(--color-primary);
}

/* === 企业文化 === */
.whbox .img100 {
  width: 53.5%;
}

.whbox li {
  position: relative;
}

.whbox li:nth-child(odd) .img100 {
  float: left;
}

.whbox li:nth-child(even) .img100 {
  float: right;
}

.whbox-con {
  position: absolute;
  height: 100%;
  width: 46%;
  border: 1px solid var(--color-border-light);
  top: 0;
  background: var(--color-white);
}

.whbox li:nth-child(odd) .whbox-con {
  right: 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.whbox li:nth-child(even) .whbox-con {
  left: 0;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.whbox li:last-child {
  margin-top: 50px;
}

.wh-text {
  text-align: left;
  width: 80%;
  margin: 0 auto;
}

.wh-title h4 {
  font-size: 18px;
  font-weight: 500;
  color: var(--color-heading);
}

.wh-title span {
  font-size: 20px;
  color: var(--color-gray-300);
  font-family: dincondBold;
  text-transform: uppercase;
  margin: 5px 0 2px;
  display: block;
}

.wh-title i {
  display: block;
  width: 50px;
  border-top: 2px solid var(--color-primary);
  opacity: 0.3;
}

.wh-text b {
  display: block;
  font-size: 20px;
  color: var(--color-primary);
  margin-top: 10%;
}

/* ============================================
   网络服务 / 地图
   ============================================ */
.map {
  width: 75.5%;
  float: left;
  margin-top: 60px;
  margin-bottom: 60px;
  padding-bottom: 56.9%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

#containerMap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.map-info {
  width: 23%;
  float: right;
  margin-left: 1%;
  margin-top: 100px;
  margin-bottom: 60px;
}

.map-tit {
  margin: 20px auto;
  border-left: 4px solid var(--color-primary);
  text-indent: 20px;
}

.map-tit h2 {
  font-size: 24px;
  color: var(--color-primary);
  font-weight: 500;
}

.map-tit > div {
  color: var(--color-gray-700);
  font-size: 16px;
}

.map-name {
  font-size: 18px;
  color: #fff;
  background: var(--color-primary);
  padding: 15px 0;
  text-align: center;
  letter-spacing: 2px;
}

.map-otherInfo {
  margin-top: 1px;
  max-height: 389px;
  overflow: auto;
}

.map-otherInfo p {
  text-align: center;
  margin-bottom: 1px;
  background: var(--color-gray-50);
  padding: 10px 2px;
  color: var(--color-gray-500);
  border-bottom: 1px solid var(--color-border-light);
}

path {
  cursor: pointer;
  transition: fill var(--transition-fast);
}

path:hover {
  fill: var(--color-primary);
}

.fillRed {
  fill: var(--color-primary);
  fill: var(--color-primary) !important;
}

.addCircle {
  position: absolute;
  width: 40px;
  height: 20px;
  display: block;
  text-align: center;
  cursor: pointer;
  color: var(--color-gray-700);
  padding: 25px 0 0 0;
  font-size: 12px;
  background: url("../images/circle.png")center top/20px no-repeat;
}

path:hover .addCircle {
  background: url("../images/hovercircle.png")center top/20px no-repeat;
}

.addCircle.xin { left: 20%; top: 29%; }
.addCircle.gud { left: 65%; top: 81%; }
.addCircle.tib { left: 19%; top: 54%; }
.addCircle.qih { left: 35%; top: 47%; }
.addCircle.gan { left: 37%; top: 33%; }
.addCircle.nmg { left: 58%; top: 32%; }
.addCircle.hlj { left: 84%; top: 14%; }
.addCircle.jil { left: 82%; top: 24%; }
.addCircle.lia { left: 78%; top: 30%; }
.addCircle.heb { left: 67%; top: 41%; }
.addCircle.shd { left: 71%; top: 45%; }
.addCircle.shx { left: 61%; top: 44%; }
.addCircle.sha { left: 56%; top: 50%; }
.addCircle.nxa { left: 51%; top: 45%; }
.addCircle.hen { left: 66%; top: 52%; }
.addCircle.sch { left: 46%; top: 63%; }
.addCircle.chq { left: 55%; top: 61%; }
.addCircle.hub { left: 63%; top: 60%; }
.addCircle.anh { left: 71%; top: 57%; }
.addCircle.jsu { left: 75%; top: 53%; }
.addCircle.yun { left: 42%; top: 79%; }
.addCircle.gui { left: 55%; top: 73%; }
.addCircle.hun { left: 63%; top: 69%; }
.addCircle.jxi { left: 69%; top: 68%; }
.addCircle.zhj { left: 76%; top: 65%; }
.addCircle.fuj { left: 73%; top: 74%; }
.addCircle.gxi { left: 58%; top: 82%; }
.addCircle.hai { left: 59%; top: 93%; }
.addCircle.tai { left: 79%; top: 80%; }
.addCircle.bej { left: 67.5%; top: 34%; }
.addCircle.shh { left: 80%; top: 58%; }
.addCircle.taj { left: 70%; top: 37%; }
.addCircle.hkg { left: 68%; top: 85%; }
.addCircle.mac { left: 65%; top: 87%; }

.add1 {
  left: 20%;
  top: 29%;
}

.map-bot {
  background: var(--color-primary);
  color: #fff;
  text-align: center;
  padding: 12px;
}

/* === 选择器 === */
.proj-select {
  line-height: 32px;
  margin-bottom: 15px;
}

.proj-text {
  position: absolute;
  left: 0;
  top: 0;
}

.proj-sel {
  margin-left: 90px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.sel-list {
  position: absolute;
  background: var(--color-white);
  width: 100%;
  box-shadow: var(--shadow-md);
  max-height: 25em;
  overflow: auto;
  display: none;
  top: 33px;
  z-index: 10;
}

.sel-list a {
  display: block;
  margin: 0 10px;
  border-bottom: 1px solid var(--color-border-light);
  line-height: 2.5em;
  transition: all var(--transition-fast);
}

.sel-list a:last-child {
  border: none;
}

.sel-list a.active {
  color: var(--color-primary);
  font-weight: 500;
}

.sel-val {
  text-align: center;
  margin-right: 32px;
  color: var(--color-gray-700);
}

.sel-btn {
  width: 32px;
  height: 32px;
  position: absolute;
  background: var(--color-primary);
  right: 0;
  top: 0;
  transition: background var(--transition-fast);
}

.sel-btn:hover {
  background: var(--color-primary-dark);
}

.sel-btn:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 8px solid #fff;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.proj-sel.active .sel-btn:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

/* === 品质区域 === */
.yunu-section {
  padding: 60px 0;
}

.yunu-section-title {
  text-align: center;
  font-size: 40px;
  margin-bottom: 40px;
}

.yunu-section-title span {
  display: inline-block;
  position: relative;
  padding: 0 30px;
  font-weight: 500;
}

.yunu-section-title span:before, .yunu-section-title span:after {
  width: 20px;
  height: 1px;
  position: absolute;
  content: '';
  top: 50%;
  background-color: var(--color-gray-600);
}

.yunu-section-title span:before {
  right: 100%;
}

.yunu-section-title span:after {
  left: 100%;
}

.yunu-section-title p {
  margin: 0;
  font-size: 20px;
}

.yunu-section-title.white {
  color: #fff;
}

.yunu-section-title.white span:before, .yunu-section-title.white span:after {
  background-color: #fff;
}

.yunu-pinzhi {
  margin-left: -8px;
}

.yunu-pinzhi li {
  float: left;
  width: 20%;
}

.yunu-pinzhi li a {
  display: block;
  margin-left: 8px;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.yunu-pinzhi li .text {
  background-color: var(--color-white);
  text-align: center;
  position: relative;
  z-index: 1;
  height: 232px;
}

.yunu-pinzhi li i {
  display: inline-block;
  background: no-repeat center;
  height: 68px;
  margin-top: -34px;
  width: 68px;
  vertical-align: middle;
}

.yunu-pinzhi li h4 {
  line-height: 50px;
  background: url(../images/pinz_line01.gif) no-repeat center bottom;
  font-size: 18px;
  margin: 0;
  color: var(--color-heading);
}

.yunu-pinzhi li p {
  color: var(--color-gray-500);
  line-height: 1.8;
}

.yunu-pinzhi li .box {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color: #fff;
  transition: all var(--transition-slow);
}

.yunu-pinzhi li .box i {
  margin-top: 110px;
}

.yunu-pinzhi li .box h4 {
  background-image: url(../images/pinz_line02.gif);
  color: #fff;
}

.yunu-pinzhi li .box p {
  color: rgba(255,255,255,0.85);
}

.yunu-pinzhi li a:hover .text {
  opacity: 0;
}

.yunu-pinzhi li a:hover .box {
  top: 0;
  opacity: 1;
}

/* ============================================
   产品页 — 精致卡片
   ============================================ */
.product-list li {
  float: left;
  width: 32%;
  margin-right: 2%;
  margin-bottom: 5%;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-normal);
}

.product-list li:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.product-list li:nth-child(3n) {
  margin-right: 0;
}

.pro-list-bot {
  padding: 15px;
  border-bottom: 1px solid var(--color-border-light);
  position: relative;
  background: var(--color-white);
}

.pro-list-bot:after {
  position: absolute;
  width: 0;
  left: 0;
  bottom: 0;
  height: 2px;
  background: var(--color-primary);
  content: '';
  transition: width var(--transition-normal);
  border-radius: 1px;
}

.pro-list-bot h5 {
  color: var(--color-gray-500);
  font-size: 14px;
  line-height: 1.35em;
  margin-right: 30px;
}

.pro-list-bot b {
  font-size: 16px;
  font-family: dincondBold;
  color: var(--color-heading);
  margin-right: 5px;
  margin-bottom: 5px;
  height: 1.5em;
  display: block;
  text-align: center;
  transition: color var(--transition-fast);
}

.pro-list-bot span {
  color: var(--color-gray-500);
}

.pro-i {
  position: absolute;
  width: 26px;
  height: 26px;
  right: 15px;
  top: 50%;
  margin-top: -13px;
  background-image: url("../images/pro-i.png");
  transition: all var(--transition-fast);
}

.product-list li:hover h5 {
  color: var(--color-primary);
}

.product-list .img100 {
  background: var(--color-gray-50);
}

.product-list li:hover b {
  color: var(--color-primary);
}

.product-list li:hover span {
  color: var(--color-primary);
}

.product-list li:hover .pro-i {
  background-image: url("../images/pro-i2.png");
}

.product-list li:hover .pro-list-bot:after {
  width: 100%;
}

.ny-title-r a {
  position: relative;
  padding-left: 10px;
  margin-left: 10px;
  line-height: 29px;
  color: var(--color-gray-500);
  transition: all var(--transition-fast);
}

.ny-title-r a:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -5px;
  width: 6px;
  height: 10px;
  background-image: url("../images/arrow2.png");
}

.ny-title-r a:hover:before {
  background-image: url("../images/arrow2-on2.png");
}

.ny-title-r a:hover {
  color: var(--color-heading);
}

/* ============================================
   产品详情
   ============================================ */
.proxqimg {
  width: 54.4%;
  background: var(--color-gray-50);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.proxq-r {
  width: 40%;
}

.pro-cs-a {
  margin: 25px 0;
}

.pro-cs-a span {
  font-size: 15px;
}

.pro-cs-a h4 {
  font-size: 22px;
  color: var(--color-heading);
  font-weight: 500;
}

.price {
  color: var(--color-primary);
}

.price span {
  font-size: 18px;
}

.price b {
  font-size: 38px;
  font-family: dincondBold;
  margin-right: 2px;
}

.pri-online {
  margin-top: 25px;
}

.pri-online a {
  line-height: 40px;
  background: var(--color-primary);
  color: #fff;
  width: 140px;
  max-width: 48%;
  margin-right: 2%;
  text-align: center;
  border-radius: var(--radius-xl);
  transition: all var(--transition-normal);
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
}

.pri-online a:hover {
  background: var(--color-primary-dark);
  box-shadow: 0 6px 20px rgba(200,16,46,0.35);
  transform: translateY(-2px);
}

.pri-online .zxzx2 {
  font-family: dincondBold;
}

.pri-online a img {
  vertical-align: middle;
  margin: -2px 5px 0 0;
}

.proxq-sm .his-btn {
  margin: 30px 0;
}

.proxq-sm .his-btn a {
  position: static;
  margin-top: 0;
}

.proxq-sm .his-btn a.fl {
  margin-right: 15px;
}

.xqsmimg .swiper-slide {
  width: 32%;
  margin-right: 2%;
  cursor: pointer;
  background: var(--color-gray-50);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.xqsmimg .swiper-slide:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid var(--color-primary);
  box-sizing: border-box;
  opacity: 0;
  transition: opacity var(--transition-fast);
  border-radius: var(--radius-sm);
}

.xqsmimg .active-nav.swiper-slide:before {
  opacity: 1;
}

.proxq-b h5 {
  background: var(--color-gray-50);
  line-height: 50px;
  padding: 0 20px;
  font-size: 14px;
  color: var(--color-heading);
  font-weight: 500;
}

.poroxq-b-con {
  border: 1px solid var(--color-border-light);
  padding: 50px;
  border-radius: var(--radius-sm);
}

.cs-page:first-child {
  margin-top: 0;
}

.cs-page p {
  color: var(--color-gray-700);
}

.cs-page {
  margin-top: 30px;
}

.cs-page b {
  display: block;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.gdcp-list {
  margin-top: 25px;
}

.gdcp-list li {
  float: left;
  width: 24.5%;
  margin-right: 0.66%;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.gdcp-list li:nth-child(4n) {
  margin-right: 0;
}

.gdcp-list a {
  display: block;
  position: relative;
}

.gdcp-txt {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(200,16,46,0.7);
  opacity: 0;
  transition: opacity var(--transition-slow);
}

.gdcp-txt h5 {
  color: #fff;
  font-size: 14px;
  max-width: 90%;
  margin: 0 auto;
}

.gdcp-list a:hover .gdcp-txt {
  opacity: 1;
}

.gdcp h4 {
  font-size: 18px;
  font-weight: 500;
  color: var(--color-heading);
}

/* === 工程案例 === */
.gcal-list li {
  float: left;
  width: 24.5%;
  margin-right: 0.66%;
  text-align: center;
  margin-bottom: 30px;
}

.gcal-list li:nth-child(4n) {
  margin-right: 0;
}

.gcal-list p {
  color: var(--color-gray-700);
  margin-top: 5px;
  height: 3.2em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color var(--transition-fast);
}

.gcal-list li:hover p {
  color: var(--color-primary);
}

/* ============================================
   分页 — 极致精美设计
   ============================================ */
.page {
  margin-top: 50px;
  text-align: center;
  font-size: 0;
  user-select: none;
}

/* 分页项基础 — 药丸形状 */
.page a,
.page span,
.page input,
.pages {
  display: inline-block;
  vertical-align: middle;
  min-width: 40px;
  height: 40px;
  line-height: 38px;
  padding: 0 12px;
  margin: 0 4px;
  font-size: 14px;
  text-align: center;
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  background: var(--color-white);
  color: var(--color-gray-600);
  transition: all var(--transition-normal);
  cursor: pointer;
  text-decoration: none;
}

/* 上一页 / 下一页 — 箭头样式 */
.page a:first-child,
.page a:last-child {
  padding: 0 16px;
  font-weight: 500;
}

.page a:first-child::before {
  content: '\2039';
  margin-right: 4px;
  font-size: 18px;
  line-height: 1;
}

.page a:last-child::after {
  content: '\203A';
  margin-left: 4px;
  font-size: 18px;
  line-height: 1;
}

/* 普通页码 hover */
.page a:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
  transform: translateY(-2px);
}

/* 当前页 — 红色填充 */
.page span.current,
.page span[class*="current"],
.page .pages.page-btn,
.page span.pages {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
}

/* 省略号 */
.page span.dots,
.page span:only-of-type:not(.current):not([class*="current"]) {
  border: none;
  background: transparent;
  color: var(--color-gray-400);
  min-width: 30px;
  cursor: default;
}

.page span.dots:hover,
.page span:only-of-type:not(.current):not([class*="current"]):hover {
  background: transparent;
  color: var(--color-gray-400);
  box-shadow: none;
  transform: none;
}

/* 页码输入框 */
.page input[type="text"],
.page input {
  width: 50px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  text-align: center;
  font-size: 14px;
  color: var(--color-heading);
  background: var(--color-white);
  transition: all var(--transition-normal);
  outline: none;
  margin: 0 4px;
}

.page input[type="text"]:focus,
.page input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(200,16,46,0.1);
}

/* GO 跳转按钮 */
.go,
.page .go,
.page a.go {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  font-weight: 500;
  min-width: 50px;
  margin-left: 8px;
  box-shadow: 0 4px 12px rgba(200,16,46,0.25);
}

.go:hover,
.page .go:hover,
.page a.go:hover {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  box-shadow: 0 6px 18px rgba(200,16,46,0.35);
  transform: translateY(-2px);
}

/* 禁用状态 */
.page a.disabled,
.page span.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* 移动端适配 */
@media (max-width: 768px) {
  .page a,
  .page span,
  .page input,
  .pages {
    min-width: 34px;
    height: 34px;
    line-height: 32px;
    padding: 0 8px;
    margin: 0 2px;
    font-size: 12px;
  }
  .page a:first-child,
  .page a:last-child {
    padding: 0 10px;
  }
}

.alxq-title h4 {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-heading);
  margin-bottom: 8px;
}

.alxq-title span {
  margin: 0 10px;
}

.alxq-title span:nth-child(2) {
  font-family: dincond;
  font-size: 16px;
}

/* ============================================
   新闻详情
   ============================================ */
.xw-con h4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 2.7em;
}

.edibox img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  vertical-align: bottom;
  height: auto !important;
}

.edipage {
  margin-top: 25px;
}

.tmms {
  margin-top: 15px;
}

.xwfy-a {
  max-width: 48%;
}

.xwfy {
  border-top: 1px solid var(--color-border-light);
  padding-top: 15px;
  margin-top: 40px;
}

.xwfy a {
  position: relative;
  color: var(--color-gray-500);
  display: block;
  transition: color var(--transition-fast);
}

.xwfy a:hover {
  color: var(--color-primary);
}

.fy-go {
  position: absolute;
  top: 0;
}

.fl .fy-go {
  left: 0;
  padding-right: 20px;
}

.fr .fy-go {
  right: 0;
  padding-left: 20px;
}

.fl.xwfy-a a {
  padding-left: 70px;
}

.fr.xwfy-a a {
  padding-right: 70px;
}

.fy-go span {
  position: absolute;
  top: 0;
}

.fl.xwfy-a span {
  right: 0;
}

.fr.xwfy-a span {
  left: 0;
}

/* === 服务与支持 === */
.honnor li {
  float: left;
  width: 25%;
  text-align: center;
  margin-right: 12.5%;
  margin-bottom: 40px;
  cursor: pointer;
}

.honnor li:nth-child(3n) {
  margin-right: 0;
}

.honnor li p {
  color: var(--color-gray-500);
  margin-top: 20px;
  transition: color var(--transition-fast);
}

.honnor li:hover p {
  color: var(--color-primary);
}

/* ============================================
   联系我们
   ============================================ */
#container {
  height: 640px;
  width: 100%;
}

.map-lxwm {
  padding: 40px 50px;
  background: var(--color-white);
  border-radius: var(--radius-md);
}

.lxwm-tou b {
  font-size: 18px;
  color: var(--color-heading);
  display: inline-block;
  vertical-align: middle;
}

.lxwm-tou span {
  font-size: 22px;
  color: var(--color-gray-400);
  font-family: dincondBold;
  margin-left: 10px;
  display: inline-block;
  vertical-align: middle;
}

.lxwm-tou {
  border-bottom: 1px solid var(--color-border-light);
  line-height: 36px;
}

.contact-page {
  max-width: 48%;
  width: 518px;
}

.ditu-bot {
  position: relative;
  z-index: 9;
  margin-top: -80px;
}

.contact-bot {
  padding-top: 20px;
}

.contact-page li {
  position: relative;
  padding-left: 80px;
  color: var(--color-gray-600);
  margin-bottom: 5px;
}

.contact-page li span {
  position: absolute;
  left: 0;
  top: 0;
}

.contact-page li span img {
  vertical-align: middle;
  margin: -4px 10px 0 0;
}

/* === 线框动画 === */
.line-box div {
  position: absolute;
  background: var(--color-primary);
}

.line-01, .line-02 {
  bottom: 0;
  height: 3px;
  width: 0;
}

.line-01 {
  right: 50%;
}

.line-02 {
  left: 50%;
}

.line-03, .line-04 {
  bottom: 0;
  width: 3px;
  height: 0;
}

.line-03 {
  left: 0;
}

.line-04 {
  right: 0;
}

.line-05, .line-06 {
  height: 3px;
  width: 0;
  top: 0;
}

.line-05 {
  left: 0;
}

.line-06 {
  right: 0;
}

.cptd2 li:hover div {
  transition: all .2s linear;
  -webkit-transition: all .2s linear;
}

.cptd2 li:hover .line-box .line-01, .cptd2 li:hover .line-box .line-02 {
  width: 50%;
}

.cptd2 li:hover .line-box .line-03, .cptd2 li:hover .line-box .line-04 {
  height: 100%;
  transition-delay: .2s !important;
}

.cptd2 li:hover .line-box .line-05, .cptd2 li:hover .line-box .line-06 {
  width: 50%;
  transition-delay: .4s !important;
}

/* === 搜索 === */
.search-body .header {
  border-bottom: 1px solid var(--color-border-light);
}

.search-list {
  margin-bottom: 50px;
}

.result-box .search-list li {
  margin-bottom: 0;
  margin-top: 40px;
}

.result-box {
  margin-bottom: 100px;
}

.top-search {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  cursor: pointer;
}

.search-btn {
  width: 24px;
  height: 24px;
  background: url("../images/search.png") no-repeat center;
  background-size: cover;
  margin-top: 38px;
  opacity: 0.6;
  transition: opacity var(--transition-fast);
}

.search-btn:hover {
  opacity: 1;
}

.header.active .search-btn {
  margin-top: 28px;
}

.search-nr {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -16px;
  background: var(--color-gray-100);
  width: 0;
  z-index: 9;
  overflow: hidden;
  border-radius: var(--radius-xl);
}

.search-nr.active {
  width: 240px;
}

.search-nr .text {
  width: 240px;
  display: block;
  height: 32px;
  text-indent: 1em;
  background: var(--color-gray-100);
  color: var(--color-gray-700);
}

.search-nr .sbmit {
  position: absolute;
  right: 40px;
  top: 0;
  width: 32px;
  height: 32px;
  background: url("../images/search2.png") no-repeat center;
  cursor: pointer;
}

.search-close {
  position: absolute;
  width: 32px;
  height: 100%;
  right: 0;
  top: 0;
  background: url("../images/gb.png") no-repeat center;
  background-size: cover;
}

.menu-box.active .menu-box-ul {
  opacity: 0;
}

.search-nr-wap:before {
  content: '';
  position: absolute;
  height: 50%;
  top: 25%;
  right: 35px;
  border-left: 1px solid var(--color-gray-300);
}

.search-nr-wap {
  width: 240px;
  position: relative;
}

/* === 荣誉展示弹窗 === */
.hide-honor {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 999999;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(10px);
  display: none;
}

.hide-honor-play {
  height: 100%;
}

.hide-honor-con {
  position: absolute;
  width: 600px;
  left: 50%;
  top: 0;
  height: 100%;
  margin-left: -300px;
}

.hide-honor-con .img img {
  vertical-align: bottom;
  max-width: 100%;
  max-height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--radius-md);
}

.hide-honor-con .img p {
  position: absolute;
  bottom: 10%;
  width: 100%;
  font-size: 16px;
  margin-bottom: -40px;
  color: rgba(255,255,255,0.8);
}

.honor-close {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 10%;
  right: -40px;
  background: url(../images/24-fff.jpg) no-repeat center;
  background-size: cover;
  z-index: 99;
  cursor: pointer;
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: var(--shadow-md);
}

.hide-honor-bth div {
  position: absolute;
  cursor: pointer;
  width: 34px;
  height: 34px;
  top: 50%;
  margin-top: -17px;
  z-index: 999;
  border-radius: 50%;
}

.hide-honor-bth1 {
  left: -35px;
  background-image: url(../images/bth555.png);
}

.hide-honor-bth2 {
  right: -35px;
  background-image: url(../images/bth666.png);
}

.hide-honor-bth div.swiper-button-disabled {
  display: none;
}

.hide-honor-bth1:hover {
  background-image: url(../images/bth555-1.png);
}

.hide-honor-bth2:hover {
  background-image: url(../images/bth666-1.png);
}

/* === 返回按钮 === */
.fanghui1 {
  margin-top: 30px;
}

.fanghui1 a {
  display: block;
  width: 120px;
  line-height: 40px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-gray-200);
  margin: 0 auto;
  color: var(--color-gray-500);
  transition: all var(--transition-normal);
}

.fanghui1 a:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  box-shadow: 0 2px 10px rgba(200,16,46,0.15);
}

/* === 轮播箭头按钮 === */
.swiper-btn-style div {
  width: 48px;
  height: 48px;
  position: absolute;
  top: 50%;
  margin-top: -24px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  cursor: pointer;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.2);
  backdrop-filter: blur(4px);
  transition: all var(--transition-normal);
}

.swiper-btn-style .swiper-btn-left {
  left: -50px;
  background-image: url("../images/btn1.png");
}

.swiper-btn-style .swiper-btn-right {
  right: -50px;
  background-image: url("../images/btn2.png");
}

.swiper-container:hover .swiper-btn-left {
  left: 70px;
  background-color: rgba(255,255,255,0.6);
}

.swiper-container:hover .swiper-btn-right {
  right: 70px;
  background-color: rgba(255,255,255,0.6);
}

.swiper-btn-style .swiper-btn-left:hover {
  background-image: url("../images/btn1-1.png");
  background-color: var(--color-primary);
}

.swiper-btn-style .swiper-btn-right:hover {
  background-image: url("../images/btn2-1.png");
  background-color: var(--color-primary);
}

/* === 内容编辑器 === */
.gywm-edit img {
  display: block;
  max-width: 100%;
  margin: 0 auto !important;
  height: auto !important;
}

/* === 图片缩放效果 === */
.imgscale .img100 {
  overflow: hidden;
}

.imgscale:hover .img100 img {
  transform: scale(1.08);
  -webkit-transform: scale(1.08);
  transition: transform var(--transition-slow);
}

/* ============================================
   过渡与动画
   ============================================ */
.swiper-btn-style div, .menu-handler .burger, .nav-yi:after, .index-a i, .index-a-title, .index-a-con, .ljgd2, .cptd1-con, .cptd2-con, .anli-con, .fubox, .zksq, .gdcp-txt, .language, .sel-btn:after, .weixin-code, .i7, .left-yi:before, .left-yi, .pro-list-bot:after, .nav-san-box, .search-nr, .menu-box-ul, .head-top2, .imgscale .img100 img {
  transition: all var(--transition-normal);
  -webkit-transition: all var(--transition-normal);
}

.fu-warp, .nav-er-box a {
  transition: all var(--transition-fast);
  -webkit-transition: all var(--transition-fast);
}

.index-a i, .i7, .video_t a, .anli-con i, .footer-top, .bofang i, .ball, .his-btn a, .pro-i, .hide-honor-bth div {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

#newBridge .icon-right-top {
  top: 135px !important;
}

/* === 入场动画 === */
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === 选择文字样式 === */
::selection {
  background: var(--color-primary);
  color: var(--color-white);
}

::-moz-selection {
  background: var(--color-primary);
  color: var(--color-white);
}
