:root{
  --bg:#F9F9F9; --card:#FFFFFF; --ink:#0A1628; --ink-2:#3B4453; --muted:#6B7280;
  --blue:#014DB2; --blue-deep:#001645; --blue-dark:#0A1628; --line:#EAEAEA;
  --radius:12px; --shadow:0 8px 24px rgba(1,77,178,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:80px 0}
/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--line)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.logo img{height:52px;width:auto}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:16px;font-weight:500;color:var(--ink);transition:color .2s;white-space:nowrap}
.nav a:hover{color:var(--blue)}
.nav a.active{color:var(--blue);font-weight:700}
.phone-tag{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;padding:10px 20px;border-radius:50px;transition:background .2s;white-space:nowrap}
.phone-tag:hover{background:#0141a0}
.phone-tag svg{flex:none}
/* ---------- inner banner ---------- */
.banner{position:relative;height:340px;background:linear-gradient(115deg,#10285F 0%,#173873 100%);overflow:hidden}
.banner::before{content:"";position:absolute;inset:0;background:rgba(0,22,69,.62)}
.banner .wrap{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px}
.banner h1{color:#fff;font-size:48px;letter-spacing:6px;font-weight:700}
.banner p{color:rgba(255,255,255,.8);font-size:18px;letter-spacing:2px}
/* ---------- home hero slider ---------- */
.hero{position:relative;height:600px;overflow:hidden;background:#001645}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;background-size:cover;background-position:center}
.hero .slide.on{opacity:1}
.hero-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero-dots i{width:32px;height:4px;border-radius:2px;background:rgba(255,255,255,.4);cursor:pointer;transition:background .3s}
.hero-dots i.on{background:#fff}
/* ---------- section head ---------- */
.sec-head{text-align:center;margin-bottom:48px}
.sec-head .cn{display:inline-flex;align-items:center;gap:16px}
.sec-head .cn i{width:6px;height:36px;border-radius:3px;background:var(--blue);display:inline-block}
.sec-head .cn span{font-size:36px;font-weight:700;letter-spacing:4px}
.sec-head .en{margin-top:10px;font-size:14px;letter-spacing:6px;color:var(--muted)}
/* ---------- intro ---------- */
.sec-intro{background:var(--card)}
.intro-body{display:flex;gap:48px;align-items:flex-start}
.intro-text{flex:1;min-width:0}
.intro-text p{font-size:15px;line-height:1.9;color:var(--ink-2);margin-bottom:18px}
.intro-text p:last-child{margin-bottom:0}
.intro-img{flex:none;width:440px}
.intro-img img{width:100%;height:330px;object-fit:cover;border-radius:8px}
.more-btn{display:inline-flex;align-items:center;gap:6px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;padding:12px 30px;border-radius:50px;transition:background .2s;margin-top:6px}
.more-btn:hover{background:#0141a0}
.stats{display:flex;justify-content:space-around;margin-top:48px;background:var(--bg);border-radius:var(--radius);padding:28px 40px;flex-wrap:wrap;gap:20px}
.stat{text-align:center}
.stat b{display:block;font-size:34px;font-weight:700;color:var(--blue)}
.stat span{font-size:14px;color:var(--muted)}
/* ---------- cards ---------- */
.sec-line{background:var(--bg)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 32px;transition:transform .25s}
.card:hover{transform:translateY(-4px)}
.card .icon{width:72px;height:72px;border-radius:16px;background:#E8F0FC;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.card .icon img{width:44px;height:44px;object-fit:contain}
.card h3{font-size:22px;font-weight:700;margin-bottom:12px}
.card p{font-size:14px;line-height:1.8;color:var(--muted)}
/* ---------- strength / image cards ---------- */
.sec-str{background:var(--bg)}
.str-card{padding:0;overflow:hidden}
.str-card .img{height:220px;overflow:hidden}
.str-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.str-card:hover .img img{transform:scale(1.05)}
.str-card .txt{padding:22px 24px}
.str-card h3{font-size:20px;font-weight:700}
.str-card p{font-size:13px;color:var(--muted);margin-top:6px}
/* ---------- product grid ---------- */
.prod-layout{display:flex;gap:36px;align-items:flex-start}
.side-nav{flex:none;width:240px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:sticky;top:102px}
.side-nav .sn-group{border-bottom:1px solid var(--line)}
.side-nav .sn-group:last-child{border-bottom:none}
.side-nav .sn-title{display:flex;align-items:center;gap:10px;padding:16px 20px;font-size:16px;font-weight:700;color:var(--ink);background:#F4F8FE}
.side-nav .sn-title i{width:4px;height:16px;border-radius:2px;background:var(--blue)}
.side-nav .sn-title a{color:inherit}
.side-nav .sn-sub{padding:6px 20px 14px}
.side-nav .sn-sub a{display:block;font-size:13px;color:var(--muted);padding:5px 0;transition:color .2s}
.side-nav .sn-sub a:hover{color:var(--blue)}
.prod-main{flex:1;min-width:0}
.prod-group{margin-bottom:56px}
.prod-group:last-child{margin-bottom:0}
.prod-group-title{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.prod-group-title i{width:6px;height:30px;border-radius:3px;background:var(--blue)}
.prod-group-title h2{font-size:26px;font-weight:700;letter-spacing:2px}
.prod-group-title span{font-size:13px;color:var(--muted);margin-left:auto}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s,box-shadow .25s}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(1,77,178,.16)}
.prod-card .pimg{height:190px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;padding:14px}
.prod-card .pimg img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .35s}
.prod-card:hover .pimg img{transform:scale(1.06)}
.prod-card .ptxt{padding:14px 18px 18px;border-top:1px solid var(--line)}
.prod-card .ptxt h3{font-size:15px;font-weight:600;line-height:1.5;min-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-card .ptxt span{display:inline-block;font-size:12px;color:var(--blue);background:#E8F0FC;border-radius:4px;padding:2px 8px;margin-top:8px}
/* ---------- filter tabs / cases ---------- */
.filter-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.filter-tabs button{border:1px solid #D6DFEF;background:var(--card);color:var(--ink-2);font-size:15px;padding:10px 26px;border-radius:50px;cursor:pointer;transition:all .2s;font-family:inherit}
.filter-tabs button:hover{border-color:var(--blue);color:var(--blue)}
.filter-tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.case-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:transform .25s}
.case-card:hover{transform:translateY(-4px)}
.case-card .cimg{height:210px;overflow:hidden}
.case-card .cimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.case-card:hover .cimg img{transform:scale(1.05)}
.case-card .ctxt{padding:18px 22px}
.case-card .ctxt .tag{display:inline-block;font-size:12px;color:var(--blue);background:#E8F0FC;border-radius:4px;padding:2px 10px;margin-bottom:10px}
.case-card .ctxt h3{font-size:16px;font-weight:600;line-height:1.55}
/* ---------- news ---------- */
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.news-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s}
.news-card:hover{transform:translateY(-4px)}
.news-card .nimg{height:260px;overflow:hidden}
.news-card .nimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.news-card:hover .nimg img{transform:scale(1.04)}
.news-card .ntxt{padding:24px 28px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.news-card time{font-size:13px;color:var(--muted)}
.news-card h3{font-size:19px;font-weight:700;line-height:1.55}
.news-card p{font-size:14px;color:var(--muted);line-height:1.8;flex:1}
/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.contact-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 28px;transition:transform .25s}
.contact-card:hover{transform:translateY(-4px)}
.contact-card .c-h{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.contact-card .c-h i{width:6px;height:22px;border-radius:3px;background:var(--blue)}
.contact-card .c-h h3{font-size:19px;font-weight:700;letter-spacing:1px}
.contact-card ul li{display:flex;gap:12px;font-size:14px;line-height:1.8;color:var(--ink-2);margin-bottom:8px}
.contact-card ul li b{flex:none;font-weight:600;color:var(--muted)}
.contact-card ul li span{word-break:break-all}
/* ---------- oem ---------- */
.oem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.oem-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;transition:transform .25s}
.oem-card:hover{transform:translateY(-4px)}
.oem-card .oimg{flex:none;width:260px;height:200px;overflow:hidden}
.oem-card .oimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.oem-card:hover .oimg img{transform:scale(1.05)}
.oem-card .otxt{padding:26px 28px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.oem-card .otxt h3{font-size:21px;font-weight:700}
.oem-card .otxt p{font-size:14px;color:var(--muted);line-height:1.8;flex:1}
.oem-card .otxt a{font-size:14px;color:var(--blue);font-weight:600}
/* ---------- join ---------- */
.join-hero{background:var(--card)}
.join-box{max-width:760px;margin:0 auto;text-align:center}
.join-box h2{font-size:26px;font-weight:700;margin-bottom:18px}
.join-box p{font-size:15px;line-height:2;color:var(--ink-2);margin-bottom:12px}
.join-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
/* ---------- photo ---------- */
.sec-photo{background:var(--card);padding-top:0}
.sec-photo h2{text-align:center;font-size:20px;font-weight:600;letter-spacing:2px;margin-bottom:24px}
.sec-photo img{width:100%;height:640px;object-fit:cover;border-radius:8px}
/* ---------- history ---------- */
.sec-hist{background:var(--card)}
.timeline{display:flex;justify-content:space-between;position:relative;padding-top:9px}
.timeline::before{content:"";position:absolute;top:17px;left:9%;right:9%;height:2px;background:#D6DFEF}
.tl-node{width:19.6%;text-align:center;position:relative}
.tl-node i{display:block;width:18px;height:18px;border-radius:50%;background:var(--blue);margin:0 auto 14px;box-shadow:0 0 10px rgba(1,77,178,.35)}
.tl-node b{display:block;font-size:28px;font-weight:700;color:var(--blue);margin-bottom:12px}
.tl-node p{font-size:14px;line-height:1.7;color:var(--ink-2)}
/* ---------- video ---------- */
.sec-video{background:var(--blue-dark)}
.sec-video .cn span{color:#fff}
.sec-video .en{color:#8A94A6}
.video-stage{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer}
.video-stage img{width:100%;height:620px;object-fit:cover}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;background:rgba(1,77,178,.9);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.35);cursor:pointer;transition:transform .2s}
.video-stage:hover .play-btn{transform:translate(-50%,-50%) scale(1.08)}
.play-btn svg{margin-left:6px}
/* ---------- footer ---------- */
.footer{position:relative;background:linear-gradient(180deg,#002055 0%,var(--blue-deep) 100%);color:#9AA6BC}
.foot-accent{height:3px;background:linear-gradient(90deg,var(--blue) 0%,#3D7BFF 50%,var(--blue) 100%);opacity:.9}
.foot-inner{max-width:1260px;margin:0 auto;padding:0 32px}
.foot-main{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;gap:0 40px;padding:58px 0 50px}
.foot-col{padding:0}
.foot-brand{padding-right:0}
.foot-qr{padding-right:0}
.foot-slogan{font-size:10px;letter-spacing:2px;color:#5B8DEF;text-transform:uppercase;margin-bottom:10px;white-space:nowrap}
.qr-row{display:flex;gap:24px}
.qr-row figure{margin:0;text-align:center}
.qr-row img{width:84px;height:84px;display:block;background:#fff;border-radius:8px;padding:3px;box-shadow:0 6px 18px rgba(0,8,40,.35);transition:transform .25s}
.qr-row figure:hover img{transform:translateY(-3px)}
.qr-row figcaption{font-size:12px;color:#8B97AD;margin-top:9px}
.foot-brand img{height:42px;width:auto;margin-bottom:14px}
.foot-brand p{font-size:13px;line-height:1.9;color:#8B97AD}
.foot-h{font-size:15px;font-weight:700;color:#fff;margin-bottom:16px;position:relative;padding-bottom:10px}
.foot-h::after{content:"";position:absolute;left:0;bottom:0;width:24px;height:2px;background:var(--blue);border-radius:2px}
.foot-links{display:grid;grid-template-columns:repeat(4,auto);gap:16px 0;justify-content:space-between}
.foot-links a{font-size:13px;color:#9AA6BC;transition:color .2s,padding-left .2s;white-space:nowrap}
.foot-links a:hover{color:#fff}
.foot-contact{display:grid;grid-template-columns:repeat(2,max-content);gap:16px 48px;justify-content:start}
.foot-contact li{display:flex;gap:8px;font-size:13px;white-space:nowrap}
.foot-contact li span{width:36px;flex:none;color:#8B97AD}
.foot-contact li b{font-weight:400;color:#D6DFEF;transition:color .2s}
.foot-contact li:hover b{color:#fff}
.foot-bottom{background:#001033;border-top:1px solid rgba(255,255,255,.06);padding:16px 0;font-size:12.5px;color:#6B7A94}
.foot-bottom-in{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.foot-bottom .foot-icp::before{content:"";display:inline-block;width:1px;height:11px;background:rgba(255,255,255,.15);margin-right:10px;vertical-align:-1px}
.foot-bottom a{color:inherit;transition:color .2s}
.foot-bottom a:hover{color:#9AA6BC}
@media (max-width:1200px){
  .foot-main{grid-template-columns:1fr 1fr;gap:40px 48px;padding:48px 0 42px}
  .foot-col{padding:0}
  .foot-brand{grid-column:1 / -1;padding:0}
  .foot-contact{justify-content:start}
}
/* ---------- video modal ---------- */
.video-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:200}
.video-modal.open{display:flex}
.video-modal .box{position:relative;width:min(960px,92vw)}
.video-modal video{width:100%;border-radius:8px}
.video-modal .close{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;font-size:30px;cursor:pointer}
/* ---------- responsive ---------- */
@media (max-width:960px){
  .nav{display:none}
  .banner h1{font-size:34px}
  .hero{height:480px}
  .hero h2{font-size:30px}
  .intro-body{flex-direction:column}
  .intro-img{width:100%}
  .intro-img img{height:auto}
  .stats{flex-wrap:wrap;gap:24px}
  .cards-3{grid-template-columns:1fr}
  .timeline{flex-direction:column;gap:32px;align-items:flex-start}
  .timeline::before{display:none}
  .tl-node{width:100%;display:flex;gap:16px;text-align:left;align-items:flex-start}
  .tl-node i{margin:6px 0 0}
  .tl-node b{margin-bottom:4px}
  .tl-node .tl-txt{display:flex;flex-direction:column;gap:4px}
  .video-stage img{height:auto}
  .foot-main{grid-template-columns:1fr;gap:36px;padding:44px 0 40px}
  .foot-col{padding:0;border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-top:32px}
  .foot-brand{padding-right:0}
  .foot-links{grid-template-columns:repeat(4,auto);justify-content:start;gap:10px 28px}
  .prod-layout{flex-direction:column}
  .side-nav{width:100%;position:static}
  .prod-grid,.case-grid,.contact-grid,.join-cards{grid-template-columns:repeat(2,1fr)}
  .news-grid,.oem-grid{grid-template-columns:1fr}
  .oem-card{flex-direction:column}
  .oem-card .oimg{width:100%;height:200px}
}
@media (max-width:600px){
  .prod-grid,.case-grid,.contact-grid,.join-cards{grid-template-columns:1fr}
  section{padding:56px 0}
  .foot-links{grid-template-columns:repeat(2,auto)}
  .foot-contact{grid-template-columns:1fr}
}

/* ---------- language switch ---------- */
.lang-tag{display:inline-flex;align-items:center;border:1px solid var(--blue);color:var(--blue);font-size:14px;font-weight:600;padding:8px 16px;border-radius:50px;white-space:nowrap;transition:all .2s}
.lang-tag:hover{background:var(--blue);color:#fff}
@media (max-width:600px){.lang-tag{padding:7px 12px;font-size:13px}}

/* ================= English version adjustments =================
   仅作用于 <html lang="en"> 的英文页，中文站保持原样 */
@media (min-width:961px){
  html[lang="en"] .foot-main{grid-template-columns:auto auto auto;justify-content:space-between;gap:0 40px}
  html[lang="en"] .foot-links{display:flex;flex-wrap:wrap;gap:14px 22px;justify-content:flex-start}
  html[lang="en"] .foot-contact{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px 26px}
  html[lang="en"] .foot-contact li{align-items:baseline}
  html[lang="en"] .foot-contact li span{width:auto;min-width:74px}
  html[lang="en"] .foot-contact li b{white-space:nowrap}
  html[lang="en"] .foot-brand p{line-height:1.95}
}
@media (max-width:960px){
  html[lang="en"] .foot-contact li{align-items:baseline}
  html[lang="en"] .foot-contact li span{width:auto;min-width:74px}
  html[lang="en"] .foot-contact li b{white-space:nowrap}
}
/* 英文导航更长，中屏收紧间距 */
@media (max-width:1240px){
  html[lang="en"] .nav{gap:18px}
  html[lang="en"] .nav a{font-size:15px}
  html[lang="en"] .header .wrap{gap:16px}
}
@media (max-width:1080px){
  html[lang="en"] .phone-tag{display:none}
  html[lang="en"] .nav{gap:14px}
}
@media (max-width:600px){
  html[lang="en"] .foot-links{gap:12px 20px}
  html[lang="en"] .foot-contact{grid-template-columns:1fr;gap:12px 0}
}

/* ---------- layout refinement ---------- */
:root{--bg:#F5F7FA;--line:#E4E9F0;--shadow:0 6px 22px rgba(10,22,40,.045)}
body{font-size:16px}
button{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #4C8FE8;outline-offset:5px}
[id]{scroll-margin-top:104px}
.header .wrap{gap:22px}
.logo{flex:0 0 118px}
.logo img{width:118px;height:52px;object-fit:contain}
.nav{gap:22px;margin-left:auto}
.nav a{font-size:15px;position:relative;padding:26px 0}
.nav a.active::after{content:"";position:absolute;bottom:15px;left:25%;right:25%;height:2px;background:var(--blue)}
.phone-tag{font-size:14px;padding:10px 16px;flex-shrink:0}
.lang-tag{flex-shrink:0;padding:7px 12px}
.menu-toggle{display:none;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 14px;cursor:pointer;flex-shrink:0}
section{padding:88px 0}
.sec-head .cn{gap:14px;max-width:100%}
.sec-head .cn span{font-size:32px;letter-spacing:1px;line-height:1.35}
.sec-head .cn i{height:25px;width:3px;flex-shrink:0}
.sec-head .en{letter-spacing:3px;font-size:12px}
.banner{height:280px}
.banner h1{font-size:42px;letter-spacing:2px;line-height:1.3}
.banner p{font-size:16px;letter-spacing:1px;max-width:740px}
.intro-text p,.join-box p{font-size:16px;line-height:1.85}
.card p,.str-card p,.news-card p,.oem-card .otxt p{font-size:15px;line-height:1.8}
.card{border:1px solid rgba(10,22,40,.05)}
.prod-card .pimg{height:210px;padding:24px;background:linear-gradient(180deg,#fff,#FAFBFD)}
.prod-card .ptxt{padding:18px 22px 22px}
.prod-card .ptxt h3{font-size:16px;min-height:48px}
.prod-card .ptxt span{background:transparent;padding:0;color:var(--muted);font-size:13px}
.oem-card .oimg{width:44%;height:auto;min-height:220px}
.oem-card .otxt{flex:1;min-width:0;padding:24px}
.foot-inner{max-width:1200px;padding:0 24px}
.foot-main{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:36px}
.foot-brand p{max-width:290px}
.foot-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.foot-contact li{font-size:12px;gap:6px}
.foot-contact li span{width:36px}
html[lang="en"] .foot-main{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:28px}
html[lang="en"] .foot-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
html[lang="en"] .foot-contact li{flex-wrap:wrap;gap:2px 8px}
html[lang="en"] .foot-contact li span{min-width:0}
html[lang="en"] .sec-head .cn span{letter-spacing:0}
.hero{height:auto;aspect-ratio:1600 / 583;padding:0}
.hero-dots button{width:36px;height:24px;border:0;background:transparent;cursor:pointer;position:relative}
.hero-dots button::after{content:"";position:absolute;height:3px;left:0;right:0;top:10px;background:rgba(255,255,255,.45);border-radius:3px}
.hero-dots button.on::after{background:#fff}
.home-lead{padding:64px 0 0;background:#fff}
.home-lead .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}
.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:2px;margin-bottom:14px}
.home-lead h1{font-size:clamp(27px,3vw,40px);line-height:1.35;letter-spacing:-.5px;max-width:780px}
.home-lead p:not(.eyebrow){margin-top:18px;color:var(--ink-2);font-size:16px;line-height:1.85;max-width:740px}
.home-lead .more-btn{flex-shrink:0}
.home-business{background:#fff;padding-top:44px}
.business-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;box-shadow:none;background:#F5F8FC;border:1px solid #E5ECF6}
.business-card .icon{width:56px;height:56px;margin-bottom:24px;border-radius:12px;background:#E6EEFB}
.business-card .icon img{width:36px;height:36px}
.business-card h2{font-size:22px;line-height:1.4;margin-bottom:12px}
.business-card p{flex:1;font-size:15px;line-height:1.8;color:var(--ink-2)}
.text-link{display:inline-block;margin-top:24px;font-size:14px;font-weight:600;color:var(--blue)}
.home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.home-section-head h2{font-size:32px;line-height:1.35;letter-spacing:-.5px}
.home-section-head p{color:var(--muted);margin-top:12px;font-size:15px;max-width:680px}
.home-section-head .text-link{margin:0;white-space:nowrap}
.home-cases{background:#fff}
.home-cases .case-card{display:block;cursor:pointer}
.home-cases .case-card .cimg{height:240px}
.home-cases .case-card .ctxt{padding:24px}
.home-cases .case-card h3{font-size:18px;line-height:1.6}
.home-about .intro-body{align-items:center;gap:64px}
.home-about h2{font-size:32px;line-height:1.4;margin-bottom:24px}
.home-about .intro-img{width:46%}
.home-about .stats{background:#fff;padding:32px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border:1px solid var(--line);margin-top:40px}
.home-about .stat b{font-size:30px}
.home-news{background:#fff}
.home-news .news-card{flex-direction:row;box-shadow:none;border-top:1px solid var(--line);border-radius:0;padding-top:24px;align-items:flex-start}
.home-news .news-card .nimg{width:150px;height:112px;flex-shrink:0;border-radius:6px}
.home-news .news-card .ntxt{padding:0 0 0 24px;gap:8px}
.home-news .news-card h3{font-size:18px}
.home-cta{padding:48px 0;background:#EAF1FB}
.home-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.home-cta h2{font-size:26px;line-height:1.4}
.home-cta p{color:var(--ink-2);margin-top:10px;font-size:15px}
.home-cta .more-btn{flex-shrink:0}
.profile-intro .intro-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start}
.profile-intro{background:#fff;padding-top:72px}
.profile-intro .intro-img{width:100%;position:static}
.profile-intro .intro-img img{height:auto;aspect-ratio:4 / 3;object-fit:cover}
.profile-intro h2{font-size:21px;margin:28px 0 12px;line-height:1.4}
.profile-intro h2:first-child{margin-top:0}
.profile-intro .intro-text p{margin-bottom:16px}
.profile-heading{text-align:center;margin-bottom:44px}
.profile-heading h1{font-size:32px;line-height:1.4;color:#102B4D;font-weight:700}
.profile-heading p{font-size:12px;letter-spacing:1.5px;color:#8B9AB2;margin-top:12px}
.profile-heading::after{content:"";display:block;width:28px;height:2px;background:#DB9A32;margin:18px auto 0}
.profile-badges{display:flex;flex-wrap:wrap;gap:10px 12px;list-style:none;padding:0;margin:18px 0 0}
.profile-badges li{font-size:13px;line-height:1.5;color:#1764D4;background:#F0F5FC;border:1px solid #E1EBFA;border-radius:6px;padding:9px 16px}
@media (max-width:1200px){
  .header .wrap,html[lang="en"] .header .wrap{gap:16px}
  .lang-tag{margin-left:auto}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px}
  .header .nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 24px 28px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 20px;box-shadow:0 15px 25px rgba(10,22,40,.09);border-top:1px solid var(--line);max-height:calc(100dvh - 78px);overflow:auto}
  .header.menu-open .nav{display:grid}
  .header .nav a{padding:14px 12px;font-size:15px;border-radius:6px}
  .nav a.active{background:#F0F5FC}
  .nav a.active::after{display:none}
  .foot-main,html[lang="en"] .foot-main{grid-template-columns:1fr 1fr;gap:32px 48px}
  .foot-brand{grid-column:1 / -1}
  .home-about .intro-body{gap:36px}
}
@media (max-width:960px){
  section{padding:64px 0}
  .hero{height:auto}
  .home-lead .wrap{align-items:flex-start;flex-direction:column;gap:24px}
  .home-business .cards-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .business-card{padding:24px}
  .business-card h2{font-size:19px}
  .home-cases .case-grid{grid-template-columns:1fr}
  .home-cases .case-card{display:grid;grid-template-columns:1fr 1.2fr;align-items:center}
  .home-cases .case-card .cimg{height:220px}
  .home-about .intro-img{width:100%}
  .home-about .intro-img img{height:360px;object-fit:cover}
  .profile-intro .intro-body{grid-template-columns:1fr;gap:28px}
  .profile-intro .intro-img{position:static;max-width:640px}
  .foot-main,html[lang="en"] .foot-main{grid-template-columns:1fr;gap:28px}
  .foot-brand{grid-column:auto}
  .foot-col{padding-top:24px}
  .foot-contact,html[lang="en"] .foot-contact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-contact li{font-size:13px}
  .oem-card .oimg{width:100%;height:240px;min-height:0}
  .side-nav .sn-sub{display:flex;flex-wrap:wrap;gap:4px 18px}
  .side-nav .sn-sub a{font-size:14px}
  .sec-photo img{height:auto}
}
@media (max-width:600px){
  .wrap,.foot-inner{padding-left:20px;padding-right:20px}
  .header .wrap{height:72px;gap:12px}
  .logo{flex-basis:100px}
  .logo img{width:100px;height:44px}
  .header .phone-tag{display:none}
  .header .nav{top:72px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 20px 24px;max-height:calc(100dvh - 72px)}
  .menu-toggle{font-size:14px;padding:8px 12px}
  .hero{aspect-ratio:1600 / 583;height:auto}
  .hero-dots{bottom:2px;gap:8px}
  .hero-dots button{width:24px}
  .banner{height:220px}
  .banner h1{font-size:32px}
  .banner p{font-size:14px;line-height:1.8;letter-spacing:0}
  section{padding:48px 0}
  .sec-head{margin-bottom:32px}
  .sec-head .cn span{font-size:27px;letter-spacing:0}
  .sec-head .en{letter-spacing:1.5px;font-size:11px}
  .home-lead{padding-top:36px}
  .home-lead h1{font-size:28px}
  .home-business{padding-top:32px}
  .home-business .cards-3{grid-template-columns:1fr;gap:16px}
  .business-card .icon{margin-bottom:18px}
  .business-card h2{font-size:22px}
  .home-section-head{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:28px}
  .home-section-head h2,.home-about h2{font-size:27px}
  .home-cases .case-card{display:block}
  .home-cases .case-card .cimg{height:auto;aspect-ratio:16 / 10}
  .prod-card .pimg{height:230px}
  .home-about .intro-img img{height:auto;aspect-ratio:4 / 3}
  .home-about .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;padding:24px 12px}
  .home-about .stat b{font-size:26px}
  .home-news .news-grid{gap:24px}
  .home-news .news-card .nimg{width:100px;height:90px}
  .home-news .news-card .ntxt{padding-left:16px}
  .home-news .news-card h3{font-size:16px}
  .home-news .news-card p{font-size:14px}
  .home-cta .wrap{align-items:flex-start;flex-direction:column;gap:20px}
  .home-cta h2{font-size:23px}
  .foot-contact,html[lang="en"] .foot-contact{grid-template-columns:1fr}
  .foot-slogan{white-space:normal}
  .foot-bottom{font-size:11px;line-height:1.8;text-align:center}
  .news-card .ntxt{padding:22px}
  .filter-tabs{gap:10px;margin-bottom:28px}
  .filter-tabs button{font-size:14px;padding:8px 16px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
