/* ===== 顶部1920*366 Banner 全端自适应修复 ===== */
.top-banner {
    width: 100%;
    position: relative;
    overflow: hidden;
    /* 固定原图宽高比：366 / 1920 = 19.0625% */
    padding-top: 19.0625%;
    height: auto !important; /* 清除原来固定366px高度 */
}
.top-banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; /* 居中裁切，保留画面核心内容 */
    display: block;
}

/* ===== COMMON ===== */

.oem-section{
    width:100%;
    padding:70px 0;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
}

.oem-container, .why-us, .container{
    max-width:1400px;
    margin:auto;
    padding:0 15px;
}

.oem-title{
    text-align:center;
    margin-bottom:60px;
}

.oem-title h2{
    font-size:42px;
    font-weight:700;
    color:#0b2d63;
    text-transform:uppercase;
    margin-bottom:15px;
}

.oem-title .line{
    width:70px;
    height:4px;
    background:#0056b3;
    margin:auto;
    border-radius:50px;
}

/* ===== PROCESS ===== */

.process-wrapper{
    position:relative;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:18px;
}

.process-card{
    background:#fff;
    border-radius:12px;
    padding:25px 20px;
    text-align:center;
    position:relative;
    box-shadow:0 3px 12px rgba(0,0,0,.08);
    transition:.3s;
}

.process-card:hover{
    transform:translateY(-8px);
}

.process-number{
    position:absolute;
    top:-18px;
    left:50%;
    transform:translateX(-50%);
    width:42px;
    height:42px;
    border-radius:50%;
    background:#0056b3;
    color:#fff;
    font-size:14px;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
}

.process-icon{
    font-size:42px;
    color:#0056b3;
    margin-top:10px;
    margin-bottom:15px;
}

.process-card h3{
    font-size:18px;
    color:#222;
    margin-bottom:10px;
}

.process-card p{
    font-size:14px;
    color:#666;
    line-height:1.7;
}

/* ===== SERVICE ===== */

.service-section{
    margin-top:80px;
    background:#fff;
    border-radius:20px;
    padding:50px;
    box-shadow:0 3px 15px rgba(0,0,0,.08);
}

.service-title{
    text-align:center;
    margin-bottom:40px;
}

.service-title h2{
    font-size:38px;
    color:#0b2d63;
    margin-bottom:10px;
    font-weight: bold;
}

.service-title p{
    color:#666;
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.service-card{
    border:1px solid #eaeaea;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:.3s;
}

.service-card:hover{
    transform:translateY(-8px);
}

.service-img{
    position:relative;
}

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

.service-badge{
    position:absolute;
    left:20px;
    bottom:-25px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#0056b3;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    border:4px solid #fff;
}

.service-content{
    padding:40px 25px 25px;
}

.service-content h3{
    font-size:22px;
    color:#0b2d63;
    margin-bottom:15px;
}

.service-content ul{
    padding-left:18px;
}

.service-content li{
    color:#555;
    margin-bottom:8px;
    line-height:1.6;
}

/* ===== MOBILE ===== */

@media(max-width:1200px){

.process-grid{
    grid-template-columns:repeat(4,1fr);
}

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

}

@media(max-width:768px){

.oem-title h2{
    font-size:28px;
}

.service-title h2{
    font-size:28px;
}

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

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

.service-section{
    padding:30px 20px;
}

}

/* WHY US */

.why-us{
padding: 80px 0 0px 0;
}

.why-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:25px;
}

.why-item{
text-align:center;
}

.why-item i{
font-size:48px;
color:#0056b3;
margin-bottom:15px;
}

.why-item h4{
font-size:17px;
font-weight: bold;
}

/* CTA */

.cta-section{
padding:40px 0;
}

.cta-box{
background:linear-gradient(135deg,#0056b3,#002f6c);
padding:50px;
border-radius:20px;
display:flex;
justify-content:space-between;
align-items:center;
color:#fff;
}

.cta-box h2{
font-size:42px;
margin-bottom:10px;
font-weight: bold;
}

.cta-buttons{
display:flex;
gap:15px;
}

.cta-btn{
padding:15px 30px;
border-radius:10px;
text-decoration:none;
color:#fff;
border:1px solid rgba(255,255,255,.3);
transition:.3s;
}

.cta-btn:hover{
background:#fff;
color:#0056b3;
}
@media(max-width:991px){

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

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

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

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

.cta-box{
flex-direction:column;
text-align:center;
gap:25px;
}

}

/* æ‰‹æœº */

@media(max-width:768px){

.section-title h2{
font-size:28px;
}

.process-grid,
.support-grid,
.why-grid,
.stats-grid{
grid-template-columns:1fr;
}

}

/*底部*/

        /* 整体横幅容器 */
        .factory-banner {
            width: 100%;
            min-height: 160px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        /* 电脑大屏左右分栏 */
        @media screen and (min-width: 1024px) {
            .factory-banner {
                flex-direction: row;
            }
            .banner-text-wrap {
                width: 66.666%;
            }
            .banner-img-wrap {
                width: 33.333%;
                height: auto;
            }
        }
        /* 左侧2/3深蓝色遮罩区域 */
        .banner-text-wrap {
            width: 100%;
            background-color: #002f6c;
            display: flex;
            align-items: center;
            padding: 20px 12px;
        }
        .stat-container {
            width: 100%;
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 12px;
        }
        /* 平板两列布局 */
        @media screen and (min-width: 640px) {
            .stat-container {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        /* 电脑四列布局 */
        @media screen and (min-width: 1024px) {
            .stat-container {
                grid-template-columns: repeat(4, 1fr);
                gap: 20px;
            }
        }
        /* 单个数据模块 */
        .stat-item {
            padding: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            color: #ffffff;
        }
        /* 内置线条图标 替代外部FontAwesome，无外链 */
        .stat-icon {
            width: clamp(1.7rem, 3.5vw, 2.8rem);
            height: clamp(1.7rem, 3.5vw, 2.8rem);
            margin-bottom: 8px;
            fill: transparent;
            stroke: #fff;
            stroke-width: 1.2;
        }
        /* 数字样式 */
        .stat-num {
            font-size: clamp(1.3rem, 2.6vw, 2.6rem);
            font-weight: bold;
            line-height: 1;
            margin-bottom: 4px;
        }
        /* 底部小字说明 */
        .stat-desc {
            font-size: clamp(0.75rem, 1.2vw, 0.95rem);
            opacity: 0.96;
            letter-spacing: 0.5px;
            line-height: 1.3;
        }
        /* 右侧图片区域 */
        .banner-img-wrap {
            /*width: 100%;
            height: 160px;*/
        }
        .banner-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
        }