body {
  margin: 0;
  font-family: 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Arial', sans-serif;
  /* background: #0B1937; */
  color: #000;
}
* {
  padding: 0;
  margin: 0;
}
ul,ol{
  list-style: none;
}
a{
  text-decoration: none;
  color: #454e5d;
  cursor: pointer;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  overflow: hidden;
}
/* a:hover{
  opacity: .8;
} */
.center{
  text-align: center;
}
.align-right{
  text-align: right;
}
input:focus {
  outline: none;
}
:root {
  --primary-color: #D3364C;
  --text-color-hover:#22407F;
  --text-color: #222;
  --muted-color: #666;
  --bg-light: #f5f7fb;
  --section-spacing: 70px;
  --container-width: 1500px;
}
/* 头部导航 */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 30px 0;
  width: 100%;
  box-sizing: border-box;
  /* height: 70px; */
  color: #fff;
  z-index: 1000;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); */
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 20px;
  width: calc(100% - 40px);
}
.header-inner .main{
  display: flex;
  align-items: center;
  gap: max(3vw, 30px);
}
.header-inner .logo-img {
  display: inline-block;
  width: 180px;
  height: 64px;
  background: url(../images/logo.png) 0 0 no-repeat;
  background-size: 100%;
}

.header-inner .main-nav ul {
  display: flex;
  gap: 50px;
}
.header-inner .main-nav li{
  padding: 10px 0;
}
.header-inner .main-nav a {
  color: #fff;
  font-size: 18px;
  white-space: nowrap;
  display: block;
}
.header-inner .main-nav li.active>a,
.header-inner .main-nav a:hover {
  color: var(--primary-color);
}

.header-inner .main-nav .list{
  position: absolute;
  flex-direction: column;
  gap: 10px;
  background: #fff;
  border-radius: 5px;
  border: 2px solid transparent;
  box-shadow: 0 4px 10px 0 rgba(0,0,0,0.2);
  padding: 10px 15px;
  margin-top: 10px;
  display: none;
}
.header-inner .main-nav .list li{
  padding: 5px;
}
.header-inner .main-nav .list a{
  color: #333;
  font-size: 14px;
}
.header-inner .main-nav li:hover>a{
  color: var(--primary-color) ;
}
.header-inner .main-nav li:hover .list{
  display: block;
}
.header-inner .main-nav .list a:hover{
  color: var(--primary-color) ;
}
.header-inner .main-nav .more {
  display: inline-block;
  width: 15px;
  height: 14px;
  background: url(../images/down.png) 0 0 no-repeat;
  background-size: 100%;
}
.header-inner .main-nav li:hover .more {
  background: url(../images/down-active.png) 0 0 no-repeat;
  background-size: 100%;
}
.header.sticky,
.header.fixed{
  background: #fff;
  border-bottom: 1px solid #dcdcdc;
}
.header.sticky .logo-img,
.header.fixed .logo-img {
  background: url(../images/logo-active.png) 0 0 no-repeat;
  background-size: 100%;
}
.header.sticky .main-nav a,
.header.fixed .main-nav a{
  color: #000;
}
.header.sticky .main-nav .more,
.header.fixed .main-nav .more{
  background: url(../images/down-black.png) 0 0 no-repeat;
  background-size: 100%;
}
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 1px;
}
.header.sticky .nav-toggle span,
.header.fixed .nav-toggle span{
  background: #000;
}
.home-banner{
  font-size: 0;
}
.home-banner .swiper-container{
  height: 38vw;
}
.home-banner img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-banner .video-text{
  width: 10vw;
  position:absolute; 
  left: 50%; 
  top: 50%; 
  transform: translate(-50%, -50%);
  object-fit: contain;
}
.swiper-pagination-bullet{
  background: #fff;
}
.swiper-pagination-bullet-active{
  background: var(--primary-color);
}
.home-quo{
  background: url(../images/qua-pcbg.png) 0 0 no-repeat;
  background-size: cover;
  /* height: 40vw; */
  text-align: center;
}
.home-quo .name,
.home-product .name{
  color: var(--primary-color);
  font-size: max(3vw, 28px);
  padding-top: max(3vw, 40px);
}
.home-quo .desc{
  color: var(--primary-color);
  font-size: max(1.8vw, 16px);
  padding-top: max(1vw, 10px);
}
.line{
  display: inline-block;
  width: max(15vw, 130px);
  height: max(1.6vw, 15px);
  background: url(../images/line.png) 0 0 no-repeat;
  background-size: 100%;
  margin: max(1vw, 10px) 0;
}
.home-quo .tip,
.home-product .tip{
  color: #746D6C;
  font-size: max(1.4vw, 13px);
  /* padding-top: max(1vw, 10px); */
}
.home-quo .quo-swiper {
  padding: max(3vw, 10px) 0;
  margin-top: max(1vw, 8px);
}
.home-quo .swiper-slide img{
  height: 20vw;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s, filter 0.3s;
}

.home-quo .swiper-slide img:hover {
  transform: scale(1.08);
  filter: brightness(1.08) saturate(1.2);
  box-shadow: 0 8px 32px 0 rgba(60,60,60,0.15);
  background: linear-gradient(120deg, rgba(255,255,255,0.20) 0%, rgba(240,220,255,0.13) 100%);
}
.home-factory{
  position: relative;
}
.home-factory .name{
  color: var(--primary-color);
  font-size: max(3vw, 28px);
  padding-top: max(3vw, 20px);
  text-align: center;
}
.home-factory .name .imp{
  font-size: max(4.5vw, 40px);
  margin: 0 max(.6vw, 2px) 0 max(1vw, 10px);
}
.home-factory .factory-swiper{
  margin: max(4vw, 10px);
  text-align: center;
}
.home-factory .factory-swiper .swiper-slide {
  overflow: hidden;
}
.home-factory .factory-swiper img{
  width: 100%;
  border-radius: 8px;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s, filter 0.3s;
}

.home-factory .factory-swiper img:hover {
  transform: scale(1.08);
  filter: brightness(1.08) saturate(1.2);
  background: linear-gradient(120deg, rgba(255,255,255,0.20) 0%, rgba(240,220,255,0.13) 100%);
}
.home-factory .factory-swiper .title{
  font-size: max(1.8vw, 18px);
  margin-top: max(1vw, 10px);
}
.home-factory .factory-swiper .title a{
  color: var(--primary-color);
}
.home-factory .factory-swiper .desc{
  color: #353535;
  font-size: max(1.2vw, 14px);
}
.home-factory .factory-prev,
.home-factory .factory-next{
  display: none;
}
.home-product{
  text-align: center;
  background: url(../images/pro-bg.png) repeat;
  background-size: auto;
  margin-top: max(1vw, 30px);
}
.home-product .name{
  font-size: max(2.6vw, 22px);
}
.home-product .product-swiper{
  margin: max(4vw, 30px);
}
.home-product .product-swiper img{
  width: 100%;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s, filter 0.3s;
}
.home-product .product-swiper img:hover {
  transform: scale(1.08);
  filter: brightness(1.08) saturate(1.2);
  background: linear-gradient(120deg, rgba(255,255,255,0.20) 0%, rgba(240,220,255,0.13) 100%);
}
.home-product .product-swiper .product-pagination{
  display: none;
}
.home-development {
  background: linear-gradient(153deg, #B93D46 0%, #91498E 100%);
  text-align: center;
  padding-bottom: max(2vw, 20px);
}
.home-development .name{
  font-size: max(2.6vw, 22px);
  padding-top: max(3vw, 40px);
  color: #fff;
}
.home-development .desc{
  font-size: max(1.4vw, 16px);
  color: #fff;
  margin-top: max(1vw, 8px);
}
.home-development .development-swiper{
  margin: max(4vw, 20px) max(4vw, 20px) 0 max(4vw, 20px);
  padding-bottom: max(3vw, 55px);
}
.home-development .development-swiper .swiper-slide{
  overflow: hidden;
  padding-bottom: max(1vw, 10px);
}
.home-development .development-swiper img{
  width: 100%;
  height: 14vw;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s, filter 0.3s;
  object-fit: contain;
}
.home-development .development-swiper img:hover {
  transform: scale(1.08);
  filter: brightness(1.08) saturate(1.2);
  background: linear-gradient(120deg, rgba(255,255,255,0.20) 0%, rgba(240,220,255,0.13) 100%);
}
.home-development .development-swiper .title{
  font-size: max(1.4vw, 14px);
  margin: max(1vw, 10px) 0 max(1vw, 5px);
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.home-development .development-swiper .date{
  font-size: max(1vw, 12px);
  color: #FFFFFF;
  opacity: 0.6;
  margin-bottom: max(2vw, 20px);
}
.home-development .development-swiper .more{
  font-size: max(1vw, 12px);
  background: rgba(0,0,0,0.29);
  border: 1px solid #FFFFFF;
  color: #fff;
  padding: max(.6vw, 8px) max(1.5vw, 30px);
  transition: all .3s;
}
.home-development .development-swiper .more:hover{
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
}
.home-development .development-swiper .swiper-pagination-bullet-active{
  background: #fff;
}
.footer{
  text-align: center;
  padding: max(1.6vw, 22px) 0;
  font-size: max(.9vw, 14px);
  border-top: 1px solid #dcdcdc;
}
.main-content .banner{
  position: relative;
}
.main-content .banner img{
  width: 100%;
}
.main-content .banner .box{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -70%);
}
.main-content .banner .box .name{
  font-size: max(5vw, 32px);
  font-weight: 500;
  color: #fff;
}
.introduction-content .detail{
  margin: max(4vw, 20px);
}
.introduction-content .detail .title{
  font-size: max(2vw, 20px);
}
.introduction-content .detail .intro{
  font-size: max(.9vw, 14px);
  color: rgba(0, 0, 0, 0.8);
  margin-top: max(1vw, 10px);
}
.introduction-content .detail .list{
  display: flex;
  margin-top: max(2vw, 30px);
  flex-wrap: wrap;
}
.introduction-content .detail .list .icon{
  display: inline-block;
  width: max(3vw, 30px);
  height: max(3vw, 30px);
}
.introduction-content .detail .icon-address{
  background: url(../images/icon-address.png) 0 0 no-repeat;
  background-size: 100%;
}
.introduction-content .detail .icon-crane{
  background: url(../images/icon-crane.png) 0 0 no-repeat;
  background-size: 100%;
}
.introduction-content .detail .icon-quality{
  background: url(../images/icon-quality.png) 0 0 no-repeat;
  background-size: 100%;
}
.introduction-content .detail .icon-worker{
  background: url(../images/icon-worker.png) 0 0 no-repeat;
  background-size: 100%;
}
.introduction-content .detail .list li{
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
.introduction-content .detail .list .box{
  margin-left: max(1vw, 10px);
}
.introduction-content .detail .list .name{
  font-size: max(1vw, 16px);
}
.introduction-content .detail .list .num{
  font-size: max(2vw, 26px);
  color: #000;
  font-weight: bold;
  vertical-align: middle;
}
.mt-number-animate {
  line-height: max(1.8vw, 26px);
  height: max(1.8vw, 26px);
  /*设置数字显示高度*/
  /* font-size: 36px; */
  /*设置数字大小*/
  overflow: hidden;
  display: inline-block;
  position: relative;
}

.mt-number-animate .mt-number-animate-dot {
  width: 15px;
  /*设置分割符宽度*/
  line-height: 60px;
  float: left;
  text-align: center;
}
.mt-number-animate .mt-number-animate-dom {
  width: max(1.1vw, 14px);
  /*设置单个数字宽度*/
  text-align: center;
  float: left;
  position: relative;
  top: 0;
}
.mt-number-animate .mt-number-animate-dom .mt-number-animate-span {
  width: 100%;
  float: left;
}

.about-progress{
  text-align: center;
  margin: 4vw auto 0;
  position: relative;
  padding-bottom: 5vw;
}
.about-progress .pro-line{
  display: inline-block;
  width: max(7vw, 120px);
  height: max(66vw, 550px);
  background: url(../images/line2.png) 0 0 no-repeat;
  background-size: 100%;
  margin-left: 3vw;
  margin-top: 2.2vw;
}
.about-progress .card {
  position: absolute;
  text-align: left;

}
.about-progress .card .pos{
  display: inline-block;
  width: max(1.2vw, 16px);
  height: max(1.6vw, 20px);
  background: url(../images/pos.png) 0 0 no-repeat;
  background-size: 100%;
}
.about-progress .card .flag{
  display: inline-block;
  width: max(1.2vw, 16px);
  height: max(2.4vw, 30px);
  background: url(../images/flag.png) 0 0 no-repeat;
  background-size: 100%;
}
.about-progress .card .title{
  color: #D32840;
  font-size: max(1.6vw, 20px);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.about-progress .card .year{
  /* color: #D32840; */
  font-size: max(1.1vw, 16px);
  margin-bottom: max(1vw, 5px);
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.about-progress .card .year::after{
  content: '';
  height: 2px;
  border-top: 1px dashed #D32840;
  position: absolute;
  top: max(1.5vw, 16px);
  
}
.about-progress .card .year::before{
  content: '';
  display: inline-block;
  width: max(3vw, 30px);
  height: max(3vw, 30px);
  background: url(../images/line-dot.png) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: .3vw;
}
.about-progress .card .text{
  color: #333;
  font-size: max(.9vw, 14px);
  line-height: max(1.4vw, 20px);
  margin-left: max(1.6vw, 20px);
  width: max(23vw, 250px);
  display: flex;
}
.about-progress .card .month{
  color: #999;
  margin-right: 10px;
  flex: 0 0 max(1.8vw, 30px);
}
.about-progress .card1{
  left: 51%;
  top: -1.5%;
  padding-left: 7vw;
}
.about-progress .card1 .year::after{
  width: 7vw;
  left: -6.5vw;
}
.about-progress .card1 .year::before{
  left: -7.8vw;
}
.about-progress .card2{
  left: 30.4%;
  top: 12.5%;
  padding-right: 7vw;
}
.about-progress .card2 .year::after{
  width: 22vw;
  left: .6vw;
}
.about-progress .card2 .year::before{
  left: 21.8vw;
}
.about-progress .card3{
  left: 52.4%;
  top: 24%;
  padding-left: 6.5vw;
}
.about-progress .card3 .year::after{
  width:9vw;
  left: -8.5vw;
}
.about-progress .card3 .year::before{
  left: -10vw;
}
.about-progress .card4{
  left: 23%;
  top: 30%;
  padding-right: 5vw;
}
.about-progress .card4 .year::after{
  width: 25vw;
  left: .6vw;
}
.about-progress .card4 .year::before{
  left: 24.6vw;
}
.about-progress .card5{
  left: 51%;
  top: 44%;
  padding-left: 9.2vw;
}
.about-progress .card5 .year::after{
  width:9vw;
  left: -8.5vw;
}
.about-progress .card5 .year::before{
  left: -10vw;
}
.about-progress .card6{
  left: 21.2%;
  top: 55.5%;
  padding-right: 7vw;
}
.about-progress .card6 .year::after{
  width: 29vw;
  left: .6vw;
}
.about-progress .card6 .year::before{
  left: 28.2vw;
}
.about-progress .card6 .month{
  flex: 0 0 max(3vw, 40px);
}
.about-progress .card7{
  left: 52%;
  top: 62%;
  padding-left: 8vw;
}
.about-progress .card7 .year::after{
  width:9vw;
  left: -8.5vw;
}
.about-progress .card7 .year::before{
  left: -10vw;
}
.about-progress .card7 .month{
  flex: 0 0 max(3vw, 40px);
}
.about-progress .card8{
  left: 25.6%;
  top: 78.5%;
  padding-right: 7vw;
}
.about-progress .card8 .year::after{
  width: 26vw;
  left: .6vw;
}
.about-progress .card8 .year::before{
  left: 25.5vw;
}
.about-progress .card9{
  left: 50.6%;
  top: 89%;
  padding-left: 8vw;
}
.about-progress .card9 .year::after{
  width: 8.6vw;
  left: -8.5vw;
  top: max(2.2vw, 16px);
}
.about-progress .card9 .year::before{
  left: -10vw;
  top: 1vw;
}
.qualification-page-info .name {
  font-size: max(2vw, 20px);
  color: #333;
  margin: max(4vw, 30px) 0 max(1vw, 10px);
  text-align: center;
}
.qualification-page-info .desc {
  color: #999;
  font-size: max(1.4vw, 14px);
  position: relative;
  text-align: center;
}
.qualification-page-info .list{
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 70vw;
  margin: max(3vw, 20px) auto;
}
.qualification-page-info .list li{
  text-align: center;
  font-size: max(1.2vw, 14px);
  color: var(--primary-color)
}
.qualification-page-info .list li img{
  width: max(4.5vw, 25px);
  margin: 0 auto;
}
.qualification-page-certificate {
  background: #f4f7fb;
  padding: max(3vw, 20px) max(3vw, 30px);
}
.qualification-page-certificate .scroll-list{
  width: 100%;
  overflow-x: auto;
  margin-bottom: max(3vw, 20px);
}
.qualification-page-certificate .tab{
  width: max-content;
  display: flex;
  font-size: max(1vw, 14px);
  gap: max(2vw, 20px);
}
.qualification-page-certificate .tab li{
  cursor: pointer;
}
.qualification-page-certificate .tab li:hover{
  color: var(--primary-color)
}
.qualification-page-certificate .tab li.active{
  color: var(--primary-color);
  border-bottom: 3px solid var(--primary-color);
  padding-bottom: max(1vw, 10px);
}
.qualification-page-certificate .list{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: max(2vw, 20px);
}
.qualification-page-certificate .list li{
  width: calc(15% - max(1vw, 15px));
  height: 20vw;
}
.qualification-page-certificate .list img{
  width: 100%;
  height: 100%;
}
.news-list-section {
  background:#fafbfc;
  padding: max(4vw, 20px);
}
.news-list-section .news-list {
  display: flex;
  flex-wrap: wrap;
  gap: max(2vw, 15px);
  padding:0;
  list-style-type:none;
}
.news-list-section .news-list li {
  background: #fff;
  border-radius: 9px;
  box-shadow:0 2px 10px 0 rgba(28,73,139,.05);
  width: calc(46% - max(1.4vw, 10px));
  padding: max(1.6vw, 22px) max(2vw, 28px);
  cursor: pointer;
}
.news-list-section .news-list li:hover {
  box-shadow: 0 8px 24px 0 rgba(28,73,139,0.12), 0 2px 8px 0 rgba(28,73,139,0.10);
  transform: translateY(-6px) scale(1.02);
  transition: box-shadow 0.2s cubic-bezier(0.4,0.0,0.2,1), transform 0.2s cubic-bezier(0.4,0.0,0.2,1);
  z-index: 1;
}
.news-list-section .news-list li a{
  display:flex;
  gap: max(1vw, 16px);
}
.news-list-section .news-list li img {
  width: 50%;
  height: 200px;
  object-fit: cover;
  border-radius:5px;
}
.news-list-section .news-list-content {
  flex:1;
}
.news-list-section .news-list-title {
  font-size: max(1.1vw, 14px);
  color: var(--primary-color);
  margin: 0 0 7px 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.news-list-section .news-list-desc {
  color:#555;
  font-size:max(.9vw, 12px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  /* line-height:1.6; */
  margin-bottom: max(1vw, 10px);
}
.news-list-section .news-list-date {
  color:#999;
  font-size:max(.75vw,12px);
}
.news-pagination {
  text-align:center;
  margin: max(2vw, 20px) 0 0 0;
}
.news-pagination a {
  display:inline-block;
  padding: max(.4vw, 4px) max(1vw, 12px);
  border:1px solid #ddd;
  font-size: max(.75vw, 12px);
  border-radius:4px;
  color:#555;
  margin:0 4px;
  background:#fafbfc;
  text-decoration: none;
}
.news-pagination a.active,
.news-pagination a:hover{
  border:1px solid var(--primary-color);
  color:var(--primary-color);
  background:#fff;
}
.news-pagination span {
  margin-left:12px;
  color:#aaa;
}
.news-detail-section {
  margin-top: 80px ;
  padding: max(4vw, 20px);
}
.news-detail-box {
  margin: 0 auto;
  font-size: max(1.06vw,15px);
  color: #333;
}
.news-detail-title {
  color: var(--primary-color);
  font-weight: bold;
  font-size: max(2vw, 22px);
  margin: 18px 0;
  line-height: 1.28;
}
.news-detail-meta {
  color: #888;
  font-size: max(0.9vw,13px);
  margin-bottom: 15px;
  display: flex;
  gap: 24px;
  align-items: center;
}
.news-detail-meta .tag {
  background: #fff3fb;
  color: var(--primary-color);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: inherit;
}
.news-detail-content {
  color: #444;
  line-height: 1.8;
}
.news-detail-content img.news-detail-cover {
  width: 100%;
  margin: max(1vw, 10px) 0;
}
.news-detail-content p {
  margin-top: 0;
  margin-bottom: 16px;
  word-break: break-all;
}
.news-detail-back {
  text-align: right;
  margin-top: 36px;
}
.news-detail-back a {
  color: #fff;
  text-decoration: none;
  font-size: max(1vw,14px);
  border: 1px solid var(--primary-color);
  border-radius: 6px;
  padding: max(.6vw, 5px) max(1.2vw, 20px);
  background: var(--primary-color);
  transition: background 0.15s, color 0.15s;
}
.news-detail-back a:hover {
  opacity: .9;
}
.breadcrumb{
  font-size:max(0.85vw,14px);
  color:#888;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcrumb a{
  color:#888;
}
.breadcrumb a:hover{
  color: var(--primary-color);
}
.breadcrumb .sym{
  margin: 0 max(.3vw, 2px);
}
.contact-content{
  padding-bottom: max(4vw, 20px);
  background: #f4f7fb;
}
.about-contact-map-section {
  box-shadow: 0 6px 32px 0 rgba(34,64,127,0.08);
  padding: max(4vw, 20px);
}
.about-contact-map-section .container{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2vw;
  flex-wrap: wrap;

}
.about-contact-info {
  flex: 1 1 300px;
  min-width: 260px;
  max-width: 420px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 24px 0 rgba(34,64,127,0.10);
  padding: 2vw 2vw 2vw 2.5vw;
  margin-right: 2vw;
}
.about-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.about-contact-list li {
  font-size: max(1.1vw, 14px);
  color: #333;
  line-height: max(1.6vw, 20px);
  margin-bottom: max(1.8vw, 30px);
  display: flex;
  align-items: flex-start;
  word-break: break-word;
}
.about-contact-list li strong {
  color: var(--primary-color);
  min-width: max(4vw, 45px);
  display: inline-block;
  font-weight: 600;
  font-size: max(1.1vw, 14px);
}
.about-contact-link {
  color: #4585fd;
  text-decoration: none;
  font-weight: 500;
  transition: color .2s;
  margin-left: .3vw;
  word-break: break-all;
}

.about-contact-map {
  flex: 2 1 480px;
  min-width: 320px;
  height: 26vw;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 24px 0 rgba(34,64,127,0.10);
  background: #fff;
  margin-left: 0;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
.about-contact-map-iframe {
  border: none;
  width: 100%;
  height: 100%;
  min-height: 280px;
  filter: grayscale(0.08);
}
.contact-page-info{
  padding: max(3vw, 20px) 0;
}
.contact-main-wrap {
  background: #f4f7fb;
  padding: 0 max(4vw, 20px);
}
.contact-form-box {
  padding: max(1.5vw, 15px) max(1.5vw, 15px);;
  margin-top: 0;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 24px 0 rgba(34, 64, 127, 0.10);
}
.contact-form-box h2 {
  font-size: max(1.6vw, 14px);
  font-weight: bold;
  color: var(--primary-color);
  margin-bottom: max(1vw, 10px);
}
.contact-form-box .form-row {
  margin-bottom: max(1vw, 20px);
}
.contact-form-box input,
.contact-form-box textarea {
  width: 100%;
  padding: max( .6vw, 10px) max(1vw, 10px);
  border: 1px solid #f4dada;
  border-radius: 6px;
  font-size: max(.85vw, 12px);
  font-family: inherit;
  background: #fffbfb;
  transition: border 0.2s;
  box-sizing: border-box;
}
.contact-form-box input:focus,
.contact-form-box textarea:focus {
  outline: none;
  border: 1px solid #f4dada;
  background: #fff;
}
.contact-form-box textarea {
  resize: vertical;
  min-height: max(7vw, 50px);
}
.contact-form-box button[type=submit] {
  display: inline-block;
  font-size: max(1vw, 14px);
  border: 1px solid var(--primary-color);
  background: var(--primary-color);
  color: #fff;
  min-width: 6vw;
  padding: max(.6vw, 5px) max(1.56vw, 15px);
  transition: all .3s;
  border-radius: 6px;
  cursor: pointer;
}
.contact-form-box button[type=submit]:hover {
  opacity: .8;
}
.product-content {
  padding: max(2vw, 20px) max(4vw, 20px);
}
.product-content .product-filter-bar {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 36px;
  padding: 20px 28px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px 0 rgba(34,64,127,0.05);
  margin-top: max(3vw, 20px);
}
.product-content .product-filter-bar select,
.product-content .product-filter-bar input {
  padding: 7px 16px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  font-size: 15px;
}
.product-content .product-filter-bar select:focus,
.product-content .product-filter-bar input:focus{
  border-color: var(--primary-color);
}
.product-content .product-filter-bar button{
  padding:7px 24px;
  background:var(--primary-color);
  color:#fff;
  border-radius:5px;
  border:none;cursor:pointer;
}
.product-content .product-filter-bar button:hover{
  opacity: .8;
}
.product-content .product-list {
  display: flex;
  flex-wrap: wrap;
  gap: 36px 2.5%;
  margin: max(4vw, 20px);
  margin: 0 auto;
}
.product-content .product-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 18px 0 rgba(34,64,127,0.09);
  width: 23%;
  min-width: 235px;
  box-sizing: border-box;
  transition: box-shadow .2s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.product-content .product-card:hover {
  box-shadow: 0 4px 24px 0 rgba(34,64,127,0.14);
}
.product-content .product-card-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 10px 10px 0 0;
  background: #f2f2f2;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.product-content .product-card:hover .product-card-img {
  transform: scale(1.08);
}
.product-content .product-card-body {
  padding: 18px 14px 18px 14px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.product-content .product-card-title {
  font-size: 17px;
  font-weight: 600;
  color: #23396a;
  margin-bottom: 8px;
}
.product-content .product-card-desc {
  color: #666;
  font-size: 14px;
}
.load-more{
  text-align: center;
  margin-top: max(2vw, 20px);
}
.load-more .btn{
  color: var(--primary-color);
  border: none;
  background: inherit;
  font-size: max(.8vw, 14px);
  cursor: pointer;
}
.load-more .btn:hover{
  opacity: .8;
}
.product-content .product-intro{
  display: flex;
  flex-wrap: wrap;
}
.product-content .product-intro .intro{
  width: 30%;
  position: relative;
}
.product-content .product-intro .intro .name{
  font-size: max(3vw, 24px);
}
.product-content .product-intro .intro .desc{
  font-size: max(.8vw, 14px);
  width: 80%;
  margin-top: max(2vw, 10px);
}
.product-content .swiper-container{
  width: 70%;
}
.product-content .swiper-container img{
  width: 100%;
  transition: 
    transform 0.4s cubic-bezier(0.4,0,0.2,1),
    filter 0.4s;
}
.product-content .swiper-slide{
  overflow: hidden;
  border-radius: 5px;
  position: relative;
}
.product-content .swiper-slide:hover img{
  transform: scale(1.08);
  filter: brightness(1.05) saturate(1.1);
  /* 渐变放大虚光渐变 */
  background: linear-gradient(135deg, #e1eafc 0%, #d8f2fa 100%);
}
.product-content  .swiper-container .box{
  position: absolute;
  left: 0;
  bottom: 0;
  width: max(100% - max(2vw, 30px));
  padding: max(1vw, 10px) max(1vw, 15px);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.73) 0%, rgba(0, 0, 0, 0.0) 100%);
}
.product-content  .swiper-container .box .title{
  font-size: max(1.4vw, 16px);
  color: #fff;
}
.product-content  .swiper-container .box .desc{
  font-size: max(.8vw, 12px);
  opacity: .6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}
.product-content .swiper-button-prev, 
.product-content .swiper-button-next{
  top: inherit;
  bottom: 10px;
  width: max(2.4vw, 20px);
  height: max(2.4vw, 20px);
  border-radius: 50%;
  border: 2px solid  var(--primary-color);
  background: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
}
.product-content .swiper-button-next{
  right: inherit;
  left: max(3.5vw, 30px);
}
.product-content .swiper-button-prev .arrow,
.product-content .swiper-button-next .arrow{
  display: inline-block;
  width: max(1vw, 10px);
  height: max(.8vw, 8px);
  background: url(../images/down-active.png) 0 0 no-repeat;
  background-size: 100%;
  transform: rotate(90deg);
}
.product-content .swiper-button-next .arrow{
  transform: rotate(-90deg);
}
.product-content .swiper-button-prev:hover,
.product-content .swiper-button-next:hover{
  background: var(--primary-color);
}
.product-content .swiper-button-prev:hover .arrow,
.product-content .swiper-button-next:hover .arrow{
  background: url(../images/down.png) 0 0 no-repeat;
  background-size: 100%;
}
.product-detail-box{
  margin-top: max(6vw, 80px);
  padding: max(3vw, 20px);
}
.product-detail-box .container{
  margin: max(1.4vw, 20px) 0 max(1vw, 5px);
}
.product-detail-box .info{
  margin-top: max(2vw, 20px);
  margin-bottom: max(4vw, 20px);
  font-size: max(.9vw, 14px);
}
.product-detail-box .tag{
  font-size: max(.75vw, 12px);
  color: #fff;
  background: var(--primary-color);
  border-radius: 20px;
  padding: 5px 10px;
}
.product-detail-box .name{
  font-size: max(1.6vw, 18px);
  margin: max(1vw, 10px) 0;
}
.product-detail-box .desc{
  color: #999;
}
.product-detail-box .tit{
  margin-top: max(3vw, 25px);
  margin-bottom: 1vw;
  color: var(--primary-color);
}
.product-detail-box .text{
  color: #666;
}
.product-detail-box .btn-box{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.product-detail-box .btn-box a{
  display: inline-block;
  font-size: max(1vw, 14px);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  width: max(4vw, 60px);
  padding: max(.6vw, 6px) 1.5vw;
  transition: all .3s;
  border-radius: 6px;
  text-align: center;
}
.product-detail-box .btn-box a:hover{
  background: var(--primary-color);
  color: #fff;
}
@media (max-width: 1600px) {
  .about-progress .card3{
    left: 53%;
  }
  .about-progress .card4{
    left: 22.5%;
  }
  .about-progress .card5{
    left: 50%;
  }
  .about-progress .card6 {
    left: 22%;
  }
  .about-progress .card7{
    left: 51.5%;
  }
  .about-progress .card8 {
    left: 25.2%;
  }
  .about-progress .card9{
    left: 52%;
  }
}
@media (max-width: 1000px) {
  :root {
    --section-spacing: 20px;
  }

  .header {
    padding: 15px 0 8px;
  }

  .header-inner {
    gap: 12px;
  }

  .header-inner .logo-img {
    display: inline-block;
    width: 120px;
    height: 42px;
  }
  .header-contact .phone-number{
    font-size: 20px;
  } 
  .header-contact .phone{
    width: 20px;
  }
  .main-nav {
    position: absolute;
    top: 69px;
    left: 0;
    right: 0;
    background: #fff;
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    border-bottom: 1px solid #ececec;
    z-index: 1;
  }
  .header-inner .main-nav ul {
    flex-direction: column;
    padding: 10px 30px 14px;
    gap: 0;
  }
  .header-inner .main-nav li{
    margin: 0;
    padding: 0;
  }
  .header-inner .main-nav a{
    color: #000;
    font-size: 14px;
    color: #353535;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #DCDCDC;
    padding: 12px 0;
  }
  /* .header-inner .main-nav li:last-child a{
    border-bottom: none;
  } */
  .header .main-nav .more,
  .header.sticky .main-nav .more{
    width: 8px;
    height: 12px;
    background: url(../images/more.png) 0 0 no-repeat;
    background-size: 100%;
    transform: rotate(180deg);
  }
  .header-inner .main-nav .list{
    position: relative;
    box-shadow: none;
    padding: 10px 0;
    margin: 0;
  }
  .header-inner .main-nav .list a{
    border-bottom: none;
    padding: 0;
  }
  .header-inner .main-nav li:hover .list{
    display: none;
  }
  .header-inner .main-nav li:hover>a{
    color: #353535;
  }
  .header-inner .main-nav li:hover .more{
    background: url(../images/more.png) 0 0 no-repeat;
    background-size: 100%;
    transform: rotate(180deg);
  }
  .header-inner .main-nav li.active .list{
    display: block;
  }
  .header-inner .main-nav li.active .more{
    background: url(../images/more-active.png) 0 0 no-repeat;
    background-size: 100%;
    transform: rotate(90deg);
  }
  .header-inner .main-nav li.active>a{
    color:var(--primary-color)
  }
  .nav-toggle {
    display: flex;
    margin-top: -8px;
  }
  .header.nav-open .nav-toggle {
    width: 20px;
    height: 20px;
    background: url(../images/close.png) 0 0 no-repeat;
    background-size: 100%;
  }
  .header.nav-open .nav-toggle span{
    display: none;
  }
  .header .layer{
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: calc(100vh - 56px);
    position: fixed;
    left: 0;
    top: 76px;
    right:0;
    bottom: 0;
    display: none;
  }
  .header.nav-open{
    background: #fff;
  }
  .header.nav-open .main-nav {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .header.nav-open .layer{
    display: block;
  }
  .header.nav-open .logo-img {
    background: url(../images/logo-active.png) 0 0 no-repeat;
    background-size: 100%;
  }
  .home-banner{
    height: 664px;
  }
  .home-banner .swiper-container{
    height: 100%;
  }
  .home-banner .video-text{
    width: 45%;
  }
  .home-quo{
    background: url(../images/qua-bg.png) 0 0 no-repeat;
    background-size: cover;
    height: 550px;
    position: relative;
  }
  .home-quo .swiper-slide img{
    height: 250px;
  }
  .home-quo .footer{
    display: inline-block;
    width: 260px;
    height: 62px;
    background: url(../images/qua-footer.png) 0 0 no-repeat;
    background-size: 100%;
    border:none;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin: 0 0 0 -130px;
  }
  .home-factory .factory-swiper .desc{
    position: relative;
    padding: 0 60px 15px;
  }
  .home-factory .factory-swiper .desc::after{
    content: '';
    width: 86%;
    height: 1px;
    border-bottom: 1px solid #000000;
    opacity: 0.11;
    position: absolute;
    left: 7%;
    bottom: 0;
  }
  .home-factory .factory-prev,
  .home-factory .factory-next{
    display: block;
    top: inherit;
    bottom: 20px;
    background: #F7F7F7;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .home-factory .factory-prev{
    left: 40px;
  }
  .home-factory .factory-next{
    right: 40px;
  }
  .home-factory .factory-prev .arrow,
  .home-factory .factory-next .arrow{
    display: inline-block;
    width: 7px;
    height: 12px;
    background: url(../images/more.png) 0 0 no-repeat;
    background-size: 100%;
  }
  .home-factory .factory-next .arrow{
    transform: rotate(180deg);
  }
  .home-factory .factory-swiper .title{
    padding: 0 60px;
  }
  .home-product .product-swiper{
    padding-bottom: 40px;
  }
  .home-product .product-swiper .product-pagination{
    display: block;
  }
  .home-product .product-swiper .swiper-pagination-bullet{
    background: #C9C9C9;
  }
  .home-product .product-swiper .swiper-pagination-bullet-active{
    background: var(--primary-color)
  }
  .introduction-content .detail .list li{
    width: 50%;
    flex: auto;
    margin-bottom: 20px;
    justify-content: flex-start;
  }
  .about-progress .pro-line{
    display: none;
  }
  .about-progress .card{
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    padding: 0 25px !important;
    margin-bottom: 20px;
  }
  .about-progress .card .year::before,
  .about-progress .card .year::after{
    display: none;
  }
  .about-progress .card .text{
    width: auto;
    margin-left: 8px;
    padding-left: 12px;
    border-left: 1px dashed var(--primary-color);
  }
  .about-progress .card .flag{
    margin-left: 7px;
  }
  .qualification-page-info .list{
    width: 90%;
  }
  .qualification-page-certificate .list li {
    width: 29%;
    height: 150px;
  }
  .news-list-section .news-list li{
    width: 100%;
  }
  .news-list-section .news-list li img{
    height: 140px;
  }
  .about-contact-info,
  .about-contact-map {
    width: 100%;
    min-width: unset;
    max-width: unset;
    margin: 0 0 2vw 0;
    height: auto;
    box-sizing: border-box;
  }
  .about-contact-info {
    padding:  20px;
  }
  .about-contact-map {
    min-height: 220px;
  }
  .about-contact-list li,
  .about-contact-list li strong {
    font-size: 14px;
    line-height: 18px;
  }
  .product-content .product-filter-bar{
    gap: 10px;
  }
  .product-content .product-filter-bar label{
    display: flex;
    align-items: center;
    font-size: 14px;
  }
  .product-content .product-filter-bar select, .product-content .product-filter-bar input{
    padding: 5px 8px;
    font-size: 14px;
  }
  .product-content .product-card{
    min-width: 100%;
  }
  .product-content .product-intro .intro{
    width: 100%;
    text-align: center;
  }
  .product-content .product-intro .intro .desc{
    width: 100%;
    text-align: left;
  }
  .product-content .swiper-button-prev, 
  .product-content .swiper-button-next{
    display: none;
  }
  .product-content .swiper-container{
    width: 100%;
    margin-top: 20px;
  }
  .home-development .development-swiper img{
    height: 200px;
  }
}