* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

:root {
    --side-width: 6.25vw;
    --nav-height: 5.2083vw; /* 100px/19.2 */
    --inner-width: 10.42vw;
}

html {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: none;
}

body {
    color: #393939;
    line-height: 1.5;
    overflow-x: hidden;
    -webkit-text-size-adjust: none;
}

a:hover {
    cursor: pointer;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
    -webkit-appearance: none;
    background: transparent;
}

textarea {
    -webkit-appearance: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
    border: 0;
}

a {
    text-decoration: none;
    outline: none
}

ul,
li {
    list-style-type: none
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.clearfix:before,
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    zoom: 1;
}

.overflow {
    overflow: hidden;
}

.overflow_line1 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.overflow_line2 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.overflow_line3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.overflow_line4 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.overflow_line5 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

.flex {
    display: flex;
    display: -webkit-flex;
    display: -ms-flex;
}

.flex_sbe {
    justify-content: space-between;
}

.flex_end {
    display: flex;
    justify-content: flex-end;
}

.flex_jcen {
    justify-content: center;
}

.flex_ac {
    display: flex;
    align-items: center;
}

.flex_wrap {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.text_center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.acenter {
    text-align: center;
}

.flex_align_end {
    display: flex;
    align-items: flex-end;
}

.flex_column_between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.main {
    width: 100%;
    padding: 0 var(--side-width);
}

.mainnr {
    width: 100%;
    padding: 0 var(--inner-width);
}

/**
头部导航
 */
.header {
    width: 100vw;
    height: var(--nav-height);
    color: #fff;
    border-bottom: 1px solid rgba(30, 74, 113, 0.2);
}

.header.lan_hei {
    border: none;
}

.header.background_bai {
    background: #fff;
}

.head_3g.background_bai {
    background: #fff;
}

.header.fixed {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 9;
}

.header .main {
    height: 100%;
}

.logo {
    width: 9.17vw;
}

.logo img {
    width: 100%;
}

.logo-white {
    display: block;
}

.logo-blue {
    display: none;
}

.header.bai .logo-white,
.header.lan_hei .logo-blue {
    display: block;
}

.header.bai .logo-blue,
.header.lan_hei .logo-white {
    display: none;
}

.header-right {
    gap: 5.46875vw;
}

/* 中间导航 */
.header-middle {
    flex: 1;
    gap: 3vw; /* 导航项间距，自适应 */
}

.nav-item {
    font-size: 0.9375vw; /* 18px/19.2 */
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.3vw;
}

.nav-item > a {
    color: #fff;
    line-height: 5.2083vw;
}

.header.lan_hei .nav-item > a {
    color: #2f3030;
}

.nav-item.has-child i.fa-angle-down {
    font-size: 0.8vw;
}

.nav-item.has-child:hover .sub-nav {
    display: block;
}

.sub-nav {
    display: none;
    position: absolute;
    top: 5.2083vw; /* 与header高度一致 */
    left: 0;
    width: 100vw;
    background: url("../images/subnav-bj.png") center center no-repeat;
    background-size: auto 100%;
    color: #333;
    padding: 2.1875vw 0;
    z-index: 10;
}

.sub-nav-content {
    width: 62.5vw; /* 1200px/19.2 */
    margin: 0 auto;
    gap: 4vw;
}

.sub-nav-left {
    width: 60%;
}

.sub-nav-title {
    font-size: 1.875vw; /* 36px/19.2 */
    color: #333333;
    line-height: 1.2;
    flex-shrink: 0;
    font-weight: bold;
    margin-right: 4.4vw;
}

.sub-nav-list {
    flex: 1;
}

.sub-nav-item {
    gap: 0.5vw;
    cursor: pointer;
    font-size: 0.9375vw; /* 18px/19.2 */
    padding: 0.5vw 0;
    color: #555555;
    transition: color 0.3s;
}

.sub-nav-item:hover {
    color: #0053a7;
}

.sub-nav-item i.fa-arrow-right {
    display: none;
    font-size: 0.8vw;
}

.sub-nav-item:hover i.fa-arrow-right {
    display: block;
}

.sub-nav-rig {
    flex-shrink: 0;
    width: 35%;
    position: relative;
}

.sub-nav-rig .sub-nav-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.sub-nav-rig p {
    font-size: 1.2vw;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
    text-align: center;
}

.header-lang {
    font-size: 0.83vw;
    cursor: pointer;
    position: relative;
}

.header.lan_hei .header-lang span,
.header.lan_hei .header-lang i {
    color: #0053a7;
}

.header-lang div {
    line-height: var(--nav-height);
    gap: 10px;
}

.header-lang div img {
    width: 17px;
}

.header.bai .lang-blue,
.header.lan_hei .lang-white {
    display: none;
}

.header.bai .lang-white,
.header.lan_hei .lang-blue {
    display: inline-block;
}

.header-lang .fa-angle-down {
    font-size: .6vw;
}

.lang-list {
    display: none;
    position: absolute;
    top: var(--nav-height);
    right: 0;
    background: #fff;
    z-index: 998;
}

.lang-item {
    padding: 0.6vw 0.8vw;
    color: #333;
    transition: color 0.3s;
    font-size: 0.8vw;
}

.lang-item a.active,
.lang-item:hover a {
    color: #0053a7;
}

.header-lang:hover .lang-list {
    display: block;
}

/*手机导航*/
#close {
    position: absolute;
    right: 20px;
    top: 10px;
}

#close img {
    height: 15px;
}

.mobile-nav-container {
    margin-top: 5vh;
    height: 95vh;
    padding-bottom: 1rem;
}

/* 语言切换样式 */
.mobile-lang-wrap {
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #eee;
}

.mobile-lang {
    cursor: pointer;
}

.mobile-lang img {
    width: 1.2rem;
    margin-right: 0.5rem;
}

.mobile-lang span {
    flex: 1;
}

.mobile-lang-list {
    margin-top: 0.5rem;
    padding-left: 1.7rem;
    display: none;
}

.mobile-lang-list.show {
    display: block;
}

.lang-item {
    margin: 0.3rem 0;
}

.lang-item a {
    color: #666;
    text-decoration: none;
}

.lang-item a.active {
    color: #007bff;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav-item {
    border-bottom: 1px solid #eee;
}

.nav-item-header {
    padding: 1.2rem 1rem;
    cursor: pointer;
}

.sub-nav .nav-title {
    font-size: 14px;
    color: #333;
}

.expand-btn {
    font-size: 16px;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    border-radius: 50%;
    background-color: #f5f5f5;
    color: #666;
    transition: transform 0.3s ease;
}

.expand-btn.active {
    transform: rotate(45deg);
}

/* 二级导航样式 */
.mobile-sub-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background-color: #f9f9f9;
}

.mobile-sub-nav.show {
    max-height: 500px;
}

.mobile-sub-nav-item {
    padding: 0.6rem 1.5rem;
    border-bottom: 1px solid #eee;
}

.mobile-sub-nav-item a {
    color: #666;
    text-decoration: none;
    font-size: 0.9rem;
}

.mobile-sub-nav-item a:hover {
    color: #007bff;
}

body.open {
    height: 100%;
    overflow: hidden;
}

body.open #sidebar {
    width: 70%
}

#sidebar {
    width: 0%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    overflow-x: hidden;
    overflow-y: auto;

    transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    z-index: 1001;
}

.nr {
    position: relative;
    z-index: 10;
    height: 100%;
    transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

/*
首页
 */
.index {
    height: 100vh;
}

.index-swiper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.index-slide {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.index-pagination {
    right: 1.56vw !important;
    z-index: 999;
}

.index-pagination span {
    width: 10px;
    height: 10px;
    border: 1px solid #fff;
    opacity: 1;
    background: initial;
    margin: 30px 0 !important;
}

.index-pagination span.swiper-pagination-bullet-active {
    background: #fff;
}

.index-pagination.on-hui span {
    border-color: #999;
}

.index-pagination.on span.swiper-pagination-bullet-active {
    background: #005aaa;
    border-color: #005aaa;
}

.head_3g.phone {
    display: none;
}

.head_3g.fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 999;
}

.head_3g.bai .logo-white,
.head_3g.lan_hei .logo-blue {
    display: block;
}

.head_3g.bai .logo-blue,
.head_3g.lan_hei .logo-white {
    display: none;
}

.head_3g_right {
    font-size: 14x;
    gap: 12px;
    color: #fff;
}

.head_3g_right a {
    color: #fff;
}

.head_3g_right i {
    font-size: 18px;
}

.head_3g.lan_hei .head_3g_right a,
.head_3g.lan_hei .head_3g_right i {
    color: #0053a7;
}


/*第一屏*/
.banner-swiper {
    width: 100%;
    height: 100vh;
    position: relative;
}

.banner-swiper-sj {
    display: none;
}

.ban-sd {
    width: 100%;
    overflow: hidden;
}

.ban-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.banner-mouse {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    z-index: 9;
    width: 1.5625vw;
    display: block;
}

.imgBj {
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/*第二屏*/
.sec-tit .sec-title {
    font-size: 1.875vw;
    color: #333333;
    font-weight: bold;
    line-height: 1;
}

.sec-tit .sec-subtitle {
    font-size: 0.83vw;
    color: #999999;
    line-height: 1;
    margin-top: 0.7vw;
}

.sec-tit img {
    height: 4px;
}

.more-btn {
    gap: 1vw;
    font-size: 0.83vw;
    color: #fff;
    transition: all 0.3s ease;
    background: #005aaa;
    padding: 0.5vw 1vw;
    border-radius: 0 10px 0 10px;
    margin-top: 2vw;
    display: inline-block;
}

.arrow-icon {
    font-size: 1.5vw;
    transition: all 0.3s ease;
    margin-left: 10px;
    display: inline-block;
}

.more-btn:hover .arrow-icon {
    transform: translateX(0.5vw);
}

.aboutinfo {
    position: relative;
    height: 100%;
}

.left-about {
    position: absolute;
    left: var(--side-width);
    top: 25%;
    width: 50%;
}

.about-desc {
    color: #555555;
    font-size: 0.83vw;
    line-height: 2.5;
    margin-top: 2vw;
    display: block;
}

.aboutright-nav {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.aboutright-nav.en {
    max-width: 75%;
}

.aboutright-nav .about-item {
    background: #fff;
    font-size: 1.2vw;
    color: #222;
    font-weight: 500;
    cursor: pointer;
    border-right: 1px solid #eeeeee;
    padding: 1.6vw 4vw 1.6vw 1.6vw;
}

.aboutright-nav .about-icon-box {
    width: 2vw;
}

.aboutright-nav .about-icon-box img {
    width: 100%;
    display: block;
}

.aboutright-nav .about-icon-box .icon-white {
    display: none;
}

.aboutright-nav .about-item:last-child {
    border: none;
}

.aboutright-nav .about-item .nav-title {
    margin-top: 1.5vw;
}

.aboutright-nav .about-item .nav-subtitle {
    font-size: 0.83vw;
    margin-top: 0.2vw;
}

.aboutright-nav .about-item:hover {
    transition-delay: 0s !important;
    background: #005aaa;
    color: #fff;
}

.aboutright-nav .about-item:hover .nav-title {
    color: #fff;
}

.aboutright-nav .about-item:hover .nav-subtitle {
    color: #fff;
}

.aboutright-nav .about-item:hover .icon-black {
    display: none;
}

.aboutright-nav .about-item:hover .icon-white {
    display: block;
}

/*第三屏*/
.businfo {
    position: absolute;
    width: 50%;
    left: var(--side-width);
    top: 30%;
}

.businfo .sec-tit .sec-title,
.businfo .sec-tit .sec-subtitle {
    color: #fff;
}

.busi-cont {
    margin-top: 2.5vw;
    color: #fff;
}

.busi-tit {
    font-size: 1.875vw;
}

.busi-desc {
    font-size: 0.83vw;
    line-height: 2;
    margin-top: 0.5vw;
}

/*第四屏*/
.partinfo {
    position: absolute;
    left: 0;
    top: 20%;
    width: 100%;
}

.partinfo .sec-tit {
    margin-left: var(--side-width);
}

.partswiper {
    width: 100%;
    margin-top: 5vw;
}

.part-swiper2 {
    transform: translateX(100px);
    overflow: visible;
    margin-top: 40px;
}

.partswiper a,
.part-swiper2 a {
    display: block;
    width: 100%;
    height: 100%;
    transform: skew(-13deg, 0);
    padding: 0 30px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)
}

.partswiper img,
.part-swiper2 img {
    transform: skew(13deg, 0);
}

/*第五屏*/
.contactinfo {
    position: absolute;
    top: 20%;
    left: var(--side-width);
}

.contactinfo .sec-tit .sec-title,
.contactinfo .sec-tit .sec-subtitle {
    color: #fff;
}

.contact-page {
    margin-top: 3vw;
}

.contact-left {
    width: 45%;
    flex-shrink: 0;
}

.contact-rig {
    width: 45%;
    flex-shrink: 0;
}

.form-row {
    flex-wrap: wrap;
    gap: 0.8vw;
    margin-bottom: 0.8vw;
}

.form-item {
    flex: 1;
}

.form-item-full {
    width: 100%;
}

.form-item input,
.form-item textarea {
    width: 100%;
    border-radius: 5px;
    padding: 0.8vw 1vw;
    font-size: 0.83vw;
    color: #2c3e50;
    outline: none;
    transition: border 0.3s;
    background: #fbfbfb;
    border: none;
}

.form-item input:focus,
.form-item textarea:focus {
    border-color: none;
}

.form-item textarea {
    resize: vertical;
    min-height: 10vw;
}

/* 提交按钮 */
.submit-btn {
    display: inline-block;
    background: #005aaa;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.8vw 2vw;
    font-size: 0.83vw;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 0.8vw;
}

.submit-btn:hover {
    background: #0E42C1;
}

.contact-right {
    width: 50%;
}

.info-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2vw 0;
    margin-top: 1.5vw;
}

.info-item {
    width: 50%;
    display: flex;
    align-items: flex-start;
    gap: 1.2vw;
    padding: 0.5vw;
}

.info-icon {
    width: 1.5vw;
    height: 1.5vw;
    flex-shrink: 0;
    margin-top: 0.3vw;
}

.info-icon img {
    width: 100%;
}

.info-text {
    color: #fff;
}

.info-text div {
    font-size: 0.83vw;
    margin-bottom: 0.5vw;
}

.info-text p {
    font-size: 0.83vw;
    line-height: 1.2;
    font-weight: bold;
}

.banquan {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1vw var(--side-width);
    width: 100%;
    font-size: 0.73vw;
    color: #fff;
    border-top: 1px solid rgba(30, 74, 113, 0.2);
}

.banquan a {
    color: #fff;
}

.banquan .jishu {
    gap: 1vw
}

/*首页动画*/
.index-slide .animate-item-left {
    opacity: 0;
    transform: translateX(-150px);
    transition: all 0.6s ease-out;
    will-change: transform, opacity;
}

.index-slide.swiper-slide-active .animate-item-left {
    opacity: 1;
    transform: translateX(0);
}

.swiper-slide-active .sec-tit {
    transition-delay: 0.2s;
}

.swiper-slide-active .about-desc {
    transition-delay: 0.4s;
}

.swiper-slide-active .more-btn {
    transition-delay: 0.6s;
}

.swiper-slide-active .busi-tit {
    transition-delay: 0.4s;
}

.swiper-slide-active .busi-desc {
    transition-delay: 0.6s;
}

.swiper-slide-active .form-row:nth-child(1) {
    transition-delay: 0.2s;
}

.swiper-slide-active .form-row:nth-child(2) {
    transition-delay: 0.3s;
}

.swiper-slide-active .form-row:nth-child(3) {
    transition-delay: 0.4s;
}

.swiper-slide-active .form-row:nth-child(4) {
    transition-delay: 0.5s;
}

.swiper-slide-active .form-row:nth-child(5) {
    transition-delay: 0.6s;
}

.index-slide .animate-item-top {
    opacity: 0;
    transform: translateY(-100px);
    transition: all 0.6s ease-out;
    will-change: transform, opacity;
}

.index-slide.swiper-slide-active .animate-item-top {
    opacity: 1;
    transform: translateY(0);
}

.swiper-slide-active .info-item:nth-child(1),
.swiper-slide-active .info-item:nth-child(2) {
    transition-delay: 0.2s;
}

.swiper-slide-active .info-item:nth-child(3),
.swiper-slide-active .info-item:nth-child(4) {
    transition-delay: 0.4s;
}

.swiper-slide-active .info-item:nth-child(5) {
    transition-delay: 0.6s;
}

.index-slide .animate-item-right {
    opacity: 0;
    transform: translateX(150px);
    transition: all 0.6s ease-out;
    will-change: transform, opacity;
}

.index-slide.swiper-slide-active .animate-item-right {
    opacity: 1;
    transform: translateX(0);
}

.swiper-slide-active .about-item:nth-child(1) {
    transition-delay: 0.4s;
}

.swiper-slide-active .about-item:nth-child(2) {
    transition-delay: 0.6s;
}

.swiper-slide-active .about-item:nth-child(3) {
    transition-delay: 0.8s;
}

.swiper-slide-active .about-item:nth-child(4) {
    transition-delay: 1s;
}

@keyframes shakeUpDown {
    0% {
        transform: translateY(0); /* 初始位置 */
    }
    25% {
        transform: translateY(-5px); /* 向上移动5px */
    }
    50% {
        transform: translateY(0); /* 回到初始位置 */
    }
    75% {
        transform: translateY(5px); /* 向下移动5px */
    }
    100% {
        transform: translateY(0); /* 回到初始位置 */
    }
}

/* 基础晃动样式类（可直接调用） */
.shake-animation {
    animation: shakeUpDown 0.8s infinite ease-in-out;
    transform-origin: center center;
}

/*解决方案*/
.solu {
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.solu-swiper {
    height: 100vh;
}

.solu .swiper-slide {
    height: 100%;
}

.solu .solu-last-slide {
    height: auto;
}

.soluinfo {
    position: absolute;
    width: 60%;
    top: 25%;
    left: 20%;
    text-align: center;
    color: #fff;
}

.soluinfo1 {
    top: 50%;
    transform: translateY(-50%);
}

.solu-titl {
    font-size: 2vw;
    font-weight: bold;
    opacity: 0;
    transform: translateY(100px);
    transition: all 1s ease;
    transition-delay: 0.4s;
}

.solu-desction {
    font-size: 1vw;
    margin-top: 0.5vw;
    opacity: 0;
    transform: translateY(100px);
    transition: all 0.6s ease;
    transition-delay: 0.8s;
}

.solu-desc {
    font-size: 0.83vw;
    line-height: 2.4;
    margin-top: 1vw;
    opacity: 0;
    transform: translateY(100px);
    transition: all 1s ease;
    transition-delay: 0.8s;
}


.solu-more {
    gap: 1vw;
    font-size: 0.83vw;
    transition: all 0.3s ease;
    background: #005aaa;
    padding: 0.5vw 2vw;
    border-radius: 0 20px 0 20px;
    margin-top: 3vw;
    display: inline-block;
    cursor: pointer;
    opacity: 0;
    transform: translateY(100px);
    transition: all 1s ease;
    transition-delay: 1.2s;
}

.solu-more a {
    color: #fff;
}

.arrow-icon {
    font-size: 1.5vw;
    transition: all 0.3s ease;
    margin-left: 10px;
    display: inline-block;
}

.solu-next {
    position: absolute;
    bottom: 3vw;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    width: 2.5vw;
    z-index: 999;
}

.solu-pagination {
    right: 1.56vw !important;
    z-index: 999;
}

.solu-pagination span {
    width: 10px;
    height: 10px;
    border: 1px solid #fff;
    opacity: 1;
    background: initial;
    margin: 30px 0 !important;
}

.solu-pagination span.swiper-pagination-bullet-active {
    background: #fff;
}

.swiper-slide-active .solu-titl,
.swiper-slide-active .solu-desction,
.swiper-slide-active .solu-desc,
.swiper-slide-active .solu-more {
    opacity: 1;
    transform: translateY(0);
}


/*解决方案 弹窗*/
.solution-card {
    position: fixed;
    z-index: 999;
    top: 25%;
    width: 60%;
    background: #ffffff;
    border-radius: 16px;
    padding: 2vw;
    box-sizing: border-box;
    margin: 0 20%;
    max-height: 60vh;
    overflow: hidden;
    display: none;
}

.close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f5f5f5;
    border: none;
    font-size: 18px;
    color: #666666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    z-index: 10;
}

.close-btn:hover {
    background: #e5e5e5;
    color: #333333;
}

.solution-title {
    font-size: 1.5vw;
    font-weight: 600;
    color: #333333;
    margin: 0 0 20px 0;
    line-height: 1.4;
    padding-right: 40px;
}

.solution-content {
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

.solution-text {
    font-size: 0.83vw;
    color: #555555;
    line-height: 2;
    width: 55%;
    padding-right: 1%;
    overflow-y: scroll;
    max-height: 45vh;
}

.solution-img {
    width: 40%;
    height: auto;
    object-fit: cover;
}

/*新闻*/
.news-container {
    margin: 0 auto;
}

.news-header {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: #fff;
}

.news-header-bg{
    width: 100%;
}

.news-header-nr {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    z-index: 0;
    flex-direction: column;
    justify-content: center;
}

.news-header div {
    font-size: 2.5vw;
    font-weight: 600;
}

.news-header p {
    font-size: 1vw;
    margin-top: 0.3vw;
}

.news-nr {
    margin: 5.73vw auto 0;
}

.recommend-news {
    gap: 0 40px;
    margin-bottom: 2.86vw;
}

.recommend-item {
    flex: 1;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f8f8;
}

.recommend-item-img {
    width: 100%;
    overflow: hidden;
}

.recommend-item-img img {
    width: 100%;
    transition: all 0.3s ease;
}

.recommend-item-content {
    padding: 1.56vw;
}

.recommend-item-title {
    font-size: 1vw;
    font-weight: 600;
    margin-bottom: 0.6vw;
    color: #333333;
    transition: color 0.3s ease;
}

.recommend-item-desc {
    font-size: 0.83vw;
    color: #666666;
    margin-bottom: 1vw;
    line-height: 2;
    height: 3.5vw;
}

.recommend-item-footer {
    font-size: 0.7vw;
    color: #999999;
}

.recommend-item-arrow {
    font-size: 16px;
    color: #999;
}

.recommend-item:hover .recommend-item-title,
.recommend-item:hover .recommend-item-arrow {
    color: #005aaa;
}

.recommend-item:hover {
    background: #fff;
    box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.1);
}

.recommend-item:hover .recommend-item-img img {
    transform: scale(1.1);
}

.normal-news {
    overflow: hidden;
}

.normal-item {
    position: relative;
    padding: 1.2vw 0;
    gap: 20px;
    border-bottom: 1px solid #eee;
    transition: border-color 0.3s ease;
}

.normal-item-time {
    width: 80px;
    text-align: center;
    flex-shrink: 0; /* 不压缩 */
    color: #000000;
}

.normal-item-day {
    font-size: 1.875vw;
    font-weight: 700;
    line-height: 1;
}

.normal-item-date {
    font-size: 0.8vw;
    margin-top: 4px;
}

.normal-iitem-xian {
    width: 2vw;
    height: 1px;
    background: #dcdcdc;
}

.normal-item-content {
    width: 66%;
}

.normal-item-title {
    font-size: 1vw;
    font-weight: 600;
    margin-bottom: 0.6vw;
    transition: color 0.3s ease;
}

.normal-item-desc {
    font-size: 0.83vw;
    line-height: 2;
    color: #666;
}

.normal-item-img {
    width: 18vw;
    border-radius: 12px;
    flex-shrink: 0;
    max-height: 200px;
    overflow: hidden;
}

.normal-item-img img {
    width: 100%;
    transition: all 0.3s ease;
}

.normal-item-lanxian {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: #005aaa;
    transition: all 0.3s ease;
}

.normal-item:hover .normal-item-img img {
    transform: scale(1.1);
}

.normal-item:hover .normal-item-lanxian {
    width: 100%;
}

.normal-item:hover .normal-item-title {
    color: #005aaa;
}

.news-det {
    padding-top: calc(var(--nav-height) + 3vw);
}

.news-det .tit {
    font-size: 1.5vw;
    color: #222222;
    font-weight: bold;
    text-align: center;
}

.news-det .info {
    text-align: center;
    font-size: 0.73vw;
    color: #666666;
    margin-top: 1vw;
}

.news-det .con {
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    margin-top: 1.5vw;
    font-size: 0.83vw;
    color: #666666;
    line-height: 2;
    padding: 1.5vw 0;
}

/*案例*/
.cases-nr {
    gap: 2vw;
    margin: 5.73vw auto 0;
    flex-wrap: wrap;
}

.case-item {
    border-radius: 8px;
    overflow: hidden;
    width: calc((100% - 2 * 2vw) / 3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)
}

.case-item-img {
    width: 100%;
    overflow: hidden;
}

.case-item-img img {
    transition: all 0.5s ease;
}

.case-item-content {
    padding: 1.56vw;
}

.case-item-title {
    font-size: 1vw;
    font-weight: 600;
    margin-bottom: 0.6vw;
    color: #333333;
    transition: color 0.3s ease;
}

.case-item-desc {
    font-size: 0.83vw;
    color: #666666;
    line-height: 2;
}

.case-item:hover .case-item-title {
    color: #005aaa;
}

.case-item:hover .case-item-img img {
    transform: scale(1.1);
}

/*产品中心*/
.related-product {
    margin: 50px auto;
    display: flex;
    gap: 2vw;
}

.product-cate {
    width: 260px;
    flex-shrink: 0;
}

.cate-title {
    font-size: 22px;
    color: #333;
    font-weight: bold;
    margin-bottom: 1vw;
    line-height: 1.2;
}

.cate-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cate-item {
    font-size: 0.9vw; /* 18px → 18/1920=0.9375vw */
    color: #333333;
    background: #eff3f6;
    padding: 16px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    border-left: 3px solid #eff3f6;
}

.cate-item.active {
    border-left: 3px solid #005aaa;
    padding-left: 17px;
}

.cate-item a {
    white-space: wrap;
}

.cate-item.active a {
    color: #005aaa;
    font-weight: bold;
}

.cate-item:hover {
    border-left: 3px solid #005aaa;
}

.cate-item:hover a {
    color: #005aaa;
}

.cate-item.active::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #005aaa;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.78125vw;
}

.product-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.product-item {
    gap: 40px;
    background: #fff;
    padding: 2vw;
    box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1),
    4px 0 8px -2px rgba(0, 0, 0, 0.05),
    -4px 0 8px -2px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
}

.product-text {
    width: 70%;
    flex-shrink: 0;
}

.product-model {
    display: inline-block;
    font-size: 0.83vw;
    color: #005aaa;
    border: 1px solid #005aaa;
    padding: 4px 12px;
    border-radius: 20px;
}

.product-name {
    font-size: 1vw;
    color: #222222;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 0.8vw;
}

.product-desc {
    font-size: 0.83vw;
    color: #666666;
    line-height: 1.6;
    flex: 1;
}

.product-more {
    font-size: 0.73vw;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0.5vw 1.2vw;
    width: fit-content;
    background: #005aaa;
    border-radius: 0 20px 0 20px;
    margin-top: 2vw;
    transition: all 0.5s;
}

.product-more img {
    width: 1vw;
}

.product-item .product-img {
    width: 25%;
    flex-shrink: 0;
    overflow: hidden;
}

.product-item .product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-item:hover img {
    transform: scale(1.05);
}

.product-item:hover .product-name {
    color: #005aaa;
}

.product-item:hover .product-more {
    gap: 12px;
}

/*产品详情*/
.prodet_cont .product-info {
    gap: 4vw;
    margin: 5vw auto;
    align-items: center;
}

/* 左侧产品图 - 带边框 */
.prodet_cont .product-img {
    width: 40%;
    border: 1px solid #e5e5e5;
}

.prodet_cont .product-img img {
    width: 65%;
    display: block;
    margin: 0 auto;
}

.prodet_cont .product-desc {
    width: 60%;
}

.prodet_cont .product-desc .product-tt {
    font-size: 1.8vw;
    color: #333;
    font-weight: bold;
    margin-bottom: 16px;
    line-height: 1;
}

.prodet_cont .product-desc .model {
    font-size: 1vw;
    color: #222222;
    margin-bottom: 16px;
    line-height: 1;
}

.prodet_cont .product-desc .xian {
    width: 50px;
    height: 2px;
    background: #0E42C1;
    margin-bottom: 16px;
}

.prodet_cont .product-desc .intro {
    font-size: 0.83vw;
    color: #666666;
    line-height: 2.2;
}

.prodet_cont .product-features {
    width: 100%;
    background: url("../images/14.jpg") no-repeat center center;
    padding: 7vw 0;
}

.prodet_cont .feature-header {
    text-align: center;
}

.prodet_cont .feature-header .title {
    font-size: 1.6vw;
    font-weight: bold;
    color: #222222;
    margin-bottom: 12px;
}

.feature-header .sub-title {
    font-size: 0.83vw;
    color: #666;
    line-height: 1.6;
}

.feature-swipe {
    margin-top: 5vw;
}

.feature-swipe .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.feature-item {
    flex: 1;
    background: #fff;
    border-radius: 12px;
    cursor: pointer;
}

.feature-item:hover {
    background: #005bb1;
}

.feature-img-box {
    width: 4vw;
    height: 4vw;
    position: relative;
    margin: 1.5vw auto 16px;
    overflow: hidden;
}

.feature-img {
    position: absolute;
    left: 0;
    top: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.feature-img.blue {
    z-index: 2;
}

.feature-img.white {
    z-index: 1;
}

.feature-item:hover .feature-img.blue {
    display: none;
}

.feature-item h3 {
    font-size: 1vw;
    color: #222222;
    margin-bottom: 16px;
    text-align: center;
    font-weight: bold;
}

.feature-item p {
    font-size: 0.83vw;
    color: #888;
    line-height: 1.7;
    text-align: center;
    padding: 0 1.5vw;
    margin-bottom: 3vw;
    height: 6vw;
    overflow: hidden;
}

.feature-item:hover h3,
.feature-item:hover p {
    color: #fff;
}

.proinfo-cnt {
    margin: 5vw 0;
}

.proinfo-d {
    font-size: 1.6vw;
    font-weight: bold;
    color: #333;
    text-align: center;
}

.proinfo-hj {
    width: 100%;
    margin-top: 2.1vw;
    border-radius: 1vw;
    overflow: hidden;
    overflow-y: hidden;
    background: #fff;
    overflow-y: auto;
    max-height: 70vh;
}

.proinfo-hj table {
    border: 0;
    width: 100%;
}

.proinfo-hj table tr {
    display: flex;
    border-bottom: 1px solid #CDCDCD;
    padding: 0 4.1vw;
}

.proinfo-hj table tr td {
    padding: .5vw !important;
    padding-left: 0.5vw !important;
    line-height: 2.125vw !important;
    padding-left: 0;
}

.proinfo-hj table tr:first-child th {
    line-height: 3;
    padding: .5vw 0;
}

.proinfo-hj table tr th, .proinfo-hj table tr td {
    width: 50%;
}

.proinfo-hj table tr {
    display: flex;
    border-bottom: 1px solid #CDCDCD;
    padding: 0 4.1vw;
    height: auto !important;
}

.proinfo-hj table tr:first-child {
    background: #005bb1;
    color: #fff !important;
    font-weight: bold;
    text-align: left;
}

.product-down {
    text-align: center;
    margin: 2vw auto 0;
}

.product-down a {
    color: #fff;
    display: inline-block;
    background: #005aaa;
    border-radius: 0 30px 0 30px;
    padding: 0.6vw 2vw;
    font-size: 0.83vw;
}

.product-down a img {
    width: 1vw;
}

/*联系我们*/
.contact-info {
    margin: 5vw auto;
}

.contact-info .info-text div {
    color: #222222;
}

.contact-info .info-text p {
    color: #222222;
    font-weight: bold;
}

.product-message {
    padding-top: 5vw;
    padding-bottom: 5vw;
    background: #f9f9f9;
}

.product-message p {
    text-align: center;
    font-size: 1.6vw;
    font-weight: bold;
    color: #222222;
    margin-bottom: 30px;
}

.message-firstrow {
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.message-firstrow input {
    flex: 1;
    height: 44px;
    padding: 0 16px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
}

.message-secondrow {
    margin-bottom: 20px;
}

.message-secondrow textarea {
    width: 100%;
    height: 120px;
    padding: 16px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
    resize: none;
    line-height: 1.6;
}

.message-submit {
    text-align: center;
}

.message-submit button {
    width: 200px;
    height: 48px;
    background: #005aaa;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
}

/*关于我们*/
.danye1 {
    padding: 5vw 0;
    background: url("../images/20.jpg") no-repeat center center;
}

.inner_name {
    text-align: center;
}

.innerna {
    font-size: 1.6vw;
    color: #333333;
    line-height: 1;
    font-weight: bold;
}

.innerdesc {
    font-size: 0.83vw;
    color: #999999;
    margin-top: 12px;
}

.innerimg img {
    height: 4px;
}

.danye1_cont {
    margin-top: 3vw;
}

.danye1_cont .danye1_left {
    width: 45%;
    font-size: 0.83vw;
    line-height: 2.2;
    color: #555555;
}

.danye1_cont .danye1_left.en {
    height: 20vw;
    padding-right: 2%;
}

.danye1_cont .danye1_rig {
    width: 45%;
}

.enterprise-container {
    width: 100%;
    height: 90vh;
    gap: 0;
    overflow: hidden;
}

.enterprise-card {
    flex: 1 1 auto;
    height: 100%;
    position: relative;
    background-size: cover !important;
    background-position: center center !important;
    color: #fff;
    transition: all 0.5s ease;
    padding: 0 20px;
    flex-direction: column;
    text-align: center;
}

.enterprise-card:hover {
    flex: 2 1 auto;
    background-color: rgba(0, 60, 150, 0.7);
}

.card-icon {
    margin-bottom: 20px;
    display: inline-block;
    width: 45px;
    height: 45px;
}

.card-icon img {
    width: 100%;
}

.card-title {
    font-size: 1.4vw;
    font-weight: 600;
    margin-bottom: 15px;
}

.card-desc {
    font-size: 0.83vw;
    line-height: 1.6;
}

.timeline-swiper {
    padding: 5vw 0 30px;
    background: url("../images/27.jpg") no-repeat center center;
    background-size: 100% 100%;
    position: relative;
}

.timeline-line {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #ccc;
    bottom: 80px;
}

.content-swiper {
    margin-top: 3vw;
    margin-bottom: 40px;
    overflow: hidden;
}

.content-swiper .swiper-slide {
    display: flex;
    background: url("../images/28.png") no-repeat center center;
}

.slide-img {
    flex: 1;
    min-width: 50%;
    height: 400px;
    overflow: hidden;
}

.slide-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease;
}

.slide-img:hover img {
    transform: scale(1.1);
}

.slide-text {
    flex: 1;
    min-width: 50%;
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.slide-text:hover .slide-year {
    color: #0053a7;
}

.slide-year {
    font-size: 2vw;
    color: #333;
    margin-bottom: 20px;
}

.slide-content {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    height: 12vw;
    overflow: hidden;
}

.slide-content ul {
    list-style: none;
    padding-left: 0;
}

.slide-content li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 15px;
    font-size: 0.83vw;
}

.slide-content li::before {
    content: "■";
    color: #0053a7;
    font-size: 10px;
    position: absolute;
    left: 0;
    top: 5px;
}

.nav-swiper {
    position: relative;
}

.nav-swiper .swiper-slide {
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.nav-swiper .swiper-slide .sel,
.nav-swiper .swiper-slide-thumb-active .nosel {
    display: none;
}

.nav-swiper .swiper-slide-thumb-active .sel {
    display: block;
}

.nav-swiper .nav-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 5px;
    transition: all 0.3s ease;
}

.nav-swiper .nav-year {
    font-size: 0.83vw;
    color: #666;
    transition: all 0.3s ease;
}


.nav-swiper .swiper-button-prev,
.nav-swiper .swiper-button-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    color: #666 !important;
    z-index: 10;
}

.nav-swiper .swiper-button-prev img,
.nav-swiper .swiper-button-next img {
    width: 100%;
}

.nav-swiper .swiper-button-prev {
    left: 0px;
}

.nav-swiper .swiper-button-next {
    right: 0px;
}

.nav-swiper .swiper-button-prev::after,
.nav-swiper .swiper-button-next::after {
    font-size: 16px !important;
    font-weight: bold;
}

.nav-swiper .swiper-button-prev:hover::after,
.nav-swiper .swiper-button-next:hover::after {
    color: #0053a7;
}


/*分页*/
.page {
    padding: 4vw 0;
}

.pagination {
    width: 100%;
    text-align: center;
    font-size: 0;
}

.pagination li {
    display: inline-block;
    text-align: center;
    font-size: 16px;
    color: #757575;
    margin: 0 5px;
    min-width: 40px;
    line-height: 40px;
    background: #f2f4f6;
    border-radius: 5px;
}

.pagination li.active {
    background: #2d2f6e;
    color: #fff;
}

.pagination li a {
    display: block;
    text-align: center;
    color: #222222;
    padding: 0 15px;
}

.pagination li span {
    padding: 0 15px;
    display: block;
}

.pagination li.disabled span {
    color: #222222;
    cursor: not-allowed !important;
}

/*分页*/
.fenye {
    padding: 2vw 0;
    font-size: 0.83vw;
    flex-wrap: wrap;
}

.fenye-left {
    max-width: 90%;
}

.fenye li {
    color: #666666;
    padding: 6px 0;
}

.fenye li a {
    color: #666666
}

.fenye li:hover {
    color: #2d2f6e;
}

.fenye li:hover a {
    color: #2d2f6e;
    font-weight: bold;
}

.fenye-right a {
    color: #005aaa;
    border: 1px solid #005aaa;
    border-radius: 8px;
    padding: 0.6vw 1.5vw;
    font-size: 0.83vw;
}

/*底部*/
.footer {
    width: 100%;
    background: url("../images/footbj.jpg");
    color: #fff;
}

.footer-top {
    padding: 2.5vw 0 1vw;
    flex-wrap: wrap;
    gap: 30px;
}

/* 左侧模块 */
.footer-left {
    line-height: 1.8;
}

.footer-left .phone {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1vw;
    font-weight: bold;
    margin-bottom: 8px;
    color: #ffffff;
}

.footer-left .phone img {
    width: 2vw;
}

.footer-left .address {
    font-size: 0.83vw;
    color: #fff;
}

.footer-center {
    width: 30vw;
}

.footer-center .nav-title {
    font-size: 1vw;
    color: #ffffff;
    margin-bottom: 12px;
    font-weight: 500;
}

.footer-center .nav-list {
    gap: 10px 0;
    flex-wrap: wrap;
    margin-top: 1vw;
}

.footer-center .nav-list li {
    width: 25%;
}

.footer-center .nav-list a {
    font-size: 0.83vw;
    color: #fff;
    transition: color 0.3s ease;
}

.footer-center .nav-list a:hover {
    color: #00aaff;
}

.footer-right {
    display: flex;
    gap: 10px;
    text-align: center;
}

.footer-right .qrcode {
    width: 135px;
    margin: 0 auto;
}

.footer-right .qrcode-text {
    font-size: 14px;
    color: #b8b8b8;
}

.footer-bottom {
    padding: 20px 0;
    border-top: 1px solid #1a6ab2;
    font-size: 0.73vw;
}

.footer-bottom a {
    color: #fff;
}

.support {
    gap: 2vw;
}