/* ==========================================================================
   Factory Strength 单页样式
   页面：/en/product/our-factory.html
   规范：与站点一致 —— 主色 #0b419a，正文 #666/#393e46，浅底 #f8f9fd，
        桌面用 vw、断点 1200/1024/768 换 px，入场动画沿用 wow.js
   依赖：/static18/css/site.css 与公共组件（i-banner / sub-nav / w1440 / fnt_* / s-title）
   ========================================================================== */

/* ---------- 首屏 ---------- */
.i-banner .text .con h2 { letter-spacing: 1px; }
.i-banner .text .con h3 { margin-top: 1vw; opacity: .86; }


/* ---------- 模块一：关键数字 ---------- */
.fac-num { background: #0b419a; padding: 3.4vw 0; }
.fac-num .con ul { display: flex; }
.fac-num .con ul li { flex: 1; text-align: center; position: relative; padding: 0 1vw; }
.fac-num .con ul li + li:before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); width: 1px; height: 3.2vw; background: rgba(255, 255, 255, .22); }
.fac-num .con ul li h3 { color: #fff; font-weight: bold; line-height: 1; letter-spacing: .5px; }
.fac-num .con ul li p { color: rgba(255, 255, 255, .92); margin-top: .9vw; line-height: 1.4; }
.fac-num .con ul li p span { display: block; color: rgba(255, 255, 255, .55); margin-top: .35vw; }


/* ---------- 模块二：车间工序 ---------- */
.fac-flow { padding: 5.5vw 0 6vw; background: #fff; }
.fac-flow .flow { display: flex; flex-wrap: wrap; margin: 2.4vw -1vw 0; }
.fac-flow .flow > li { width: 50%; padding: 0 1vw 2.4vw; display: flex; flex-direction: column; }
.fac-flow .flow > li .tu { position: relative; overflow: hidden; background: #f2f4f8; }
.fac-flow .flow > li .tu img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: all .8s; -webkit-transition: all .8s; }
.fac-flow .flow > li:hover .tu img { transform: scale(1.04); -webkit-transform: scale(1.04); }
.fac-flow .flow > li .tu .no { position: absolute; left: 0; top: 0; background: #0b419a; color: #fff; padding: .5vw 1vw; letter-spacing: 1px; }
.fac-flow .flow > li .text { background: #fff; border: 1px solid #eceff4; border-top: 0; padding: 1.8vw 2vw 2vw; margin: 0; flex: 1; transition: all .5s; -webkit-transition: all .5s; }
.fac-flow .flow > li:hover .text { border-color: #d9e2f2; box-shadow: 0 16px 36px rgba(11, 65, 154, .08); }
.fac-flow .flow > li .text h3 { color: #393e46; font-weight: bold; margin-bottom: .8vw; }
.fac-flow .flow > li .text p { color: #666; line-height: 1.85; }


/* ---------- 模块三：设备与产能 ---------- */
.fac-equip { padding: 5.5vw 0; background: #f8f9fd; }
.fac-equip .con .left { float: left; width: 42%; position: relative; }
.fac-equip .con .left img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.fac-equip .con .left .tag { position: absolute; left: 0; bottom: 0; background: rgba(11, 65, 154, .9); color: #fff; padding: .8vw 1.4vw; letter-spacing: .5px; }
.fac-equip .con .right { float: right; width: 54%; }
.fac-equip .con .right h2 { color: #393e46; font-weight: bold; }
.fac-equip .con .right .line { width: 3.125vw; height: 4px; background: #0b419a; margin: 1.4vw 0 1.8vw; }
.fac-equip .con .right .eq { display: flex; flex-wrap: wrap; margin: 0 -1vw; }
.fac-equip .con .right .eq li { width: 50%; padding: 0 1vw 1.6vw; position: relative; }
.fac-equip .con .right .eq li:before { content: ''; position: absolute; left: 1vw; top: .55vw; width: .45vw; height: .45vw; background: #0b419a; border-radius: 50%; }
.fac-equip .con .right .eq li h3 { color: #393e46; font-weight: bold; padding-left: 1.2vw; margin-bottom: .5vw; }
.fac-equip .con .right .eq li p { color: #666; line-height: 1.8; padding-left: 1.2vw; }


/* ---------- 模块四：审核与认证 ---------- */
.fac-audit { padding: 5.5vw 0 6vw; background: #fff; }
.fac-audit .c-list { margin-top: 2.4vw; }
.fac-audit ul.c-list { display: flex; flex-wrap: wrap; margin: 0 -.7vw; }
.fac-audit ul.c-list > li { width: 25%; padding: 0 .7vw 1.4vw; }
.fac-audit ul.c-list > li .box { height: 100%; background: #f8f9fd; border: 1px solid #eceff4; padding: 2.2vw 1.6vw; transition: all .5s; -webkit-transition: all .5s; }
.fac-audit ul.c-list > li .box:hover { background: #fff; border-color: #0b419a; box-shadow: 0 18px 38px rgba(11, 65, 154, .10); transform: translateY(-6px); -webkit-transform: translateY(-6px); }
.fac-audit ul.c-list > li .icons { width: 2.8vw; height: 2.8vw; margin-bottom: 1.2vw; }
.fac-audit ul.c-list > li .icons svg { width: 100%; height: 100%; display: block; }
.fac-audit ul.c-list > li h3 { color: #393e46; font-weight: bold; margin-bottom: .8vw; }
.fac-audit ul.c-list > li p { color: #666; line-height: 1.8; }


/* ---------- 模块五：质量控制 ---------- */
.fac-qc { padding: 5.5vw 0 6vw; background: #f8f9fd; }
.fac-qc .con .left { float: left; width: 56%; padding-right: 3vw; }
.fac-qc .con .left h2 { color: #393e46; font-weight: bold; }
.fac-qc .con .left .line { width: 3.125vw; height: 4px; background: #0b419a; margin: 1.4vw 0 1.6vw; }
.fac-qc .con .left > p { color: #666; line-height: 1.9; }
.fac-qc .con .left .qc { margin-top: 2vw; }
.fac-qc .con .left .qc li { display: flex; padding: 1.4vw 0; border-bottom: 1px dashed #dfe5ee; }
.fac-qc .con .left .qc li:last-child { border-bottom: 0; }
.fac-qc .con .left .qc li .no { color: #0b419a; font-weight: bold; width: 3.2vw; flex: none; padding-top: .2vw; }
.fac-qc .con .left .qc li .txt h3 { color: #393e46; font-weight: bold; margin-bottom: .5vw; }
.fac-qc .con .left .qc li .txt p { color: #666; line-height: 1.8; }
.fac-qc .con .right { float: right; width: 41%; }
.fac-qc .panel { background: #0b419a; padding: 2.4vw 2vw; }
.fac-qc .panel h3 { color: #fff; font-weight: bold; padding-bottom: 1.2vw; border-bottom: 1px solid rgba(255, 255, 255, .22); }
.fac-qc .panel .spec { margin-top: .6vw; }
.fac-qc .panel .spec li { display: flex; justify-content: space-between; align-items: baseline; padding: .9vw 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.fac-qc .panel .spec li:last-child { border-bottom: 0; }
.fac-qc .panel .spec li .k { color: rgba(255, 255, 255, .6); white-space: nowrap; margin-right: 1.4vw; }
.fac-qc .panel .spec li .v { color: #fff; text-align: right; line-height: 1.6; }


/* ---------- 模块六：CTA ---------- */
.fac-cta { padding: 4.6vw 0; background: #0b419a url(/static18/images/bg-footer.svg) no-repeat right center; background-size: cover; }
.fac-cta .con .text { float: left; width: 68%; }
.fac-cta .con .text h2 { color: #fff; font-weight: bold; }
.fac-cta .con .text > p { color: rgba(255, 255, 255, .78); margin-top: 1vw; line-height: 1.9; }
.fac-cta .con .text .btns { margin-top: 1.8vw; }
.fac-cta .con .text .btns a { display: inline-block; background: #fff; color: #0b419a; padding: 0 1.6vw; line-height: 3vw; margin-right: .8vw; transition: all .5s; -webkit-transition: all .5s; }
.fac-cta .con .text .btns a:hover { background: #e8eefb; }
.fac-cta .con .text .btns a.ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .5); }
.fac-cta .con .text .btns a.ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.fac-cta .con .text .contact { color: rgba(255, 255, 255, .7); margin-top: 1.6vw; }
.fac-cta .con .text .contact a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .35); transition: all .5s; -webkit-transition: all .5s; }
.fac-cta .con .text .contact a:hover { border-color: #fff; }
.fac-cta .con .qr { float: right; width: 26%; text-align: right; }
.fac-cta .con .qr img { width: 9vw; background: #fff; padding: .6vw; display: inline-block; }
.fac-cta .con .qr p { color: rgba(255, 255, 255, .7); margin-top: .8vw; }


/* ==========================================================================
   响应式：1200 / 1024 / 768
   ========================================================================== */
@media screen and (max-width: 1200px) {
    .fac-num { padding: 34px 0; }
    .fac-num .con ul li { padding: 0 10px; }
    .fac-num .con ul li + li:before { height: 34px; }
    .fac-num .con ul li p { margin-top: 10px; }
    .fac-num .con ul li p span { margin-top: 4px; }
    .fac-flow { padding: 46px 0 50px; }
    .fac-flow .flow { margin: 20px -10px 0; }
    .fac-flow .flow > li { padding: 0 10px 22px; }
    .fac-flow .flow > li .tu .no { padding: 6px 12px; }
    .fac-flow .flow > li .text { padding: 18px 20px 20px; }
    .fac-flow .flow > li .text h3 { margin-bottom: 8px; }
    .fac-equip { padding: 46px 0; }
    .fac-equip .con .left .tag { padding: 8px 14px; }
    .fac-equip .con .right .line { width: 44px; height: 3px; margin: 14px 0 16px; }
    .fac-equip .con .right .eq { margin: 0 -10px; }
    .fac-equip .con .right .eq li { padding: 0 10px 14px; }
    .fac-equip .con .right .eq li:before { left: 10px; top: 6px; width: 5px; height: 5px; }
    .fac-equip .con .right .eq li h3 { padding-left: 12px; margin-bottom: 4px; }
    .fac-equip .con .right .eq li p { padding-left: 12px; }
    .fac-audit { padding: 46px 0 50px; }
    .fac-audit .c-list { margin-top: 20px; }
    .fac-audit ul.c-list { margin: 0 -8px; }
    .fac-audit ul.c-list > li { width: 50%; padding: 0 8px 16px; }
    .fac-audit ul.c-list > li .box { padding: 24px 18px; }
    .fac-audit ul.c-list > li .icons { width: 34px; height: 34px; margin-bottom: 12px; }
    .fac-audit ul.c-list > li h3 { margin-bottom: 8px; }
    .fac-qc { padding: 46px 0 50px; }
    .fac-qc .con .left { padding-right: 24px; }
    .fac-qc .con .left .line { width: 44px; height: 3px; margin: 14px 0 14px; }
    .fac-qc .con .left .qc { margin-top: 18px; }
    .fac-qc .con .left .qc li { padding: 14px 0; }
    .fac-qc .con .left .qc li .no { width: 34px; padding-top: 2px; }
    .fac-qc .con .left .qc li .txt h3 { margin-bottom: 4px; }
    .fac-qc .panel { padding: 26px 20px; }
    .fac-qc .panel h3 { padding-bottom: 12px; }
    .fac-qc .panel .spec li { padding: 10px 0; }
    .fac-qc .panel .spec li .k { margin-right: 14px; }
    .fac-cta { padding: 40px 0; }
    .fac-cta .con .text > p { margin-top: 10px; }
    .fac-cta .con .text .btns { margin-top: 18px; }
    .fac-cta .con .text .btns a { padding: 0 20px; line-height: 44px; margin-right: 8px; }
    .fac-cta .con .text .contact { margin-top: 16px; }
    .fac-cta .con .qr img { width: 110px; padding: 6px; }
    .fac-cta .con .qr p { margin-top: 8px; }
}

@media screen and (max-width: 1024px) {
    .fac-num .con ul { flex-wrap: wrap; }
    .fac-num .con ul li { flex: none; width: 50%; padding: 14px 10px; }
    .fac-num .con ul li + li:before { display: none; }
    .fac-equip .con .left { float: none; width: 100%; margin-bottom: 24px; }
    .fac-equip .con .left img { aspect-ratio: 4 / 3; }
    .fac-equip .con .right { float: none; width: 100%; }
    .fac-qc .con .left { float: none; width: 100%; padding-right: 0; }
    .fac-qc .con .right { float: none; width: 100%; margin-top: 24px; }
    .fac-cta .con .text { float: none; width: 100%; }
    .fac-cta .con .qr { float: none; width: 100%; text-align: left; margin-top: 24px; }
}

@media screen and (max-width: 768px) {
    .i-banner .text .con h3 { margin-top: 6px; }
    .fac-num { padding: 24px 0; }
    .fac-num .con ul li { padding: 12px 6px; }
    .fac-num .con ul li h3 { font-size: 20px; white-space: nowrap; }
    .fac-num .con ul li p { font-size: 13px; margin-top: 6px; }
    .fac-flow { padding: 30px 0 34px; }
    .fac-flow .flow > li { width: 100%; padding-bottom: 18px; }
    .fac-flow .flow > li .text { padding: 16px; }
    .fac-equip { padding: 30px 0 34px; }
    .fac-equip .con .right .eq li { width: 100%; }
    .fac-audit { padding: 30px 0 34px; }
    .fac-audit ul.c-list > li { width: 100%; }
    .fac-audit ul.c-list > li .box { padding: 20px 16px; }
    .fac-qc { padding: 30px 0 34px; }
    .fac-qc .con .left .qc li .no { width: 28px; }
    .fac-qc .panel { padding: 20px 16px; }
    .fac-qc .panel .spec li { flex-direction: column; }
    .fac-qc .panel .spec li .k { margin-right: 0; margin-bottom: 2px; }
    .fac-qc .panel .spec li .v { text-align: left; }
    .fac-cta { padding: 30px 0; }
    .fac-cta .con .text .btns a { display: block; margin: 0 0 10px; text-align: center; }
}
