/* ============================================================
   丰泰智控官网改版 · 视觉体系 v2
   浅色为主 / 单一强调色 / 严谨栅格 / 图文咬合
   ============================================================ */

:root{
  --ink:#0A2745;
  --ink-2:#123C61;
  --ink-3:#1C5078;
  --paper:#F4F8FC;
  --white:#FFFFFF;
  --line:#D9E5F1;
  --line-2:#BDD0E3;
  --muted:#5C718A;
  --muted-2:#8A9DB2;
  --soft:#E6EFF8;
  --accent:#1460AE;
  --brand:#1460AE;
  --accent-2:#1C7BD1;
  --on-dark:#82C1F7;
  --deep:#062542;
  --accent-soft:#E7F1FC;
  --maxw:1320px;
  --pad:76px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  font-size:15px;
  line-height:1.6;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none}
::selection{background:var(--accent);color:#fff}

.en,.num,.mono{
  font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.09em;
}
.mono{font-variant-numeric:tabular-nums}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* ---------- 顶部演示说明 ---------- */
.demo-note{
  background:#E7F1FC;border-bottom:1px solid var(--line);
  font-size:11px;color:#4E6B88;letter-spacing:.02em;
}
.demo-note .wrap{height:30px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.demo-note b{color:var(--accent);font-weight:600}
.demo-note .demo-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- 导航 ---------- */
.brand-line{height:3px;background:var(--accent)}
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-in{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand-mark{
  width:32px;height:32px;background:var(--accent);position:relative;flex:none;
}
.brand-mark::before{content:"";position:absolute;left:8px;top:8px;width:16px;height:2px;background:#fff}
.brand-mark::after{content:"";position:absolute;left:8px;top:8px;width:2px;height:16px;background:#fff}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-cn{font-size:18px;font-weight:800;letter-spacing:.06em}
.brand-en{font-size:8.5px;color:var(--muted-2);letter-spacing:.18em;font-family:Arial,sans-serif;margin-top:3px}

.nav-links{display:flex;align-items:center;gap:26px;height:100%}
.nav-links a{
  font-size:13px;color:var(--muted);height:100%;display:flex;align-items:center;
  position:relative;white-space:nowrap;transition:color .2s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--accent);transform:scaleX(0);transition:transform .2s;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink);font-weight:700}
.nav-links a.active::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:18px;flex:none}
.nav-tel{font-size:12px;color:var(--ink-2);letter-spacing:.04em;white-space:nowrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:42px;padding:0 20px;font-size:13px;font-weight:600;
  background:var(--accent);color:#fff;border:1px solid var(--accent);
  transition:background .2s,transform .2s;white-space:nowrap;
}
.btn:hover{background:#0B4C8D;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--ink);background:transparent}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:#E4EFFB}
.btn .qi{width:15px;height:15px;display:block}
.nav-toggle{display:none;width:38px;height:38px;border:1px solid var(--line-2);position:relative}
.nav-toggle span{position:absolute;left:9px;right:9px;height:1.5px;background:var(--ink);top:13px}
.nav-toggle span:nth-child(2){top:18px}
.nav-toggle span:nth-child(3){top:23px}

/* ---------- 首屏 ---------- */
.hero{background:var(--white);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:1.14fr .86fr;min-height:610px;
}
.hero-copy{
  padding:70px 44px 60px 0;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2;
}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.hero-eyebrow i{width:26px;height:2px;background:var(--accent);display:block}
.hero-eyebrow span{font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:600}
.hero h1{
  font-size:52px;line-height:1.26;font-weight:800;letter-spacing:-.045em;
  margin-bottom:26px;white-space:nowrap;
}
.hero h1 .hl{color:var(--accent)}
.hero-sub{
  font-size:16px;line-height:1.9;color:var(--muted);max-width:560px;margin-bottom:18px;
}
.hero-sub strong{color:var(--ink);font-weight:700}
.hero-kicker{
  font-size:13px;color:var(--ink-2);border-left:2px solid var(--accent);
  padding-left:14px;margin-bottom:34px;line-height:1.8;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-actions .btn{height:52px;padding:0 26px;font-size:14px}
.hero-meta{
  display:flex;gap:26px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  font-size:11px;color:var(--muted-2);letter-spacing:.06em;flex-wrap:wrap;
}
.hero-media{position:relative;border-left:1px solid var(--line);min-height:610px}
.hero-media .media{position:absolute;inset:0;border:0}
.hero-media .media-ph{padding:26px}
.hero-stamp{
  position:absolute;right:0;top:0;z-index:3;background:var(--ink);color:#fff;
  padding:14px 18px;font-size:10px;letter-spacing:.16em;line-height:1.7;text-align:right;
}
.hero-stamp b{display:block;color:var(--accent);font-size:13px;letter-spacing:.1em}
.hero-side{
  position:absolute;left:-1px;bottom:0;z-index:3;background:rgba(255,255,255,.95);
  border-top:1px solid var(--line);border-right:1px solid var(--line);
  padding:16px 22px;font-size:11px;color:var(--muted);letter-spacing:.06em;
}
.hero-side b{color:var(--ink);font-size:12px}

/* ---------- 数据带 ---------- */
.statband{background:var(--ink);color:#fff}
.statband .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:26px 0 28px 26px;border-left:1px solid rgba(255,255,255,.15)}
.stat:first-child{padding-left:0;border-left:0}
.stat-n{font-size:40px;font-weight:800;line-height:1.05;letter-spacing:-.04em}
.stat-n small{font-size:16px;font-weight:600;margin-left:4px;letter-spacing:0}
.stat-l{font-size:11px;color:#A9C7E4;margin-top:8px;letter-spacing:.09em}

/* ---------- 章节通用 ---------- */
.sec{padding:74px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.sec.white{background:var(--white)}
.sec.ink{background:var(--ink);color:#fff;border-bottom:0}
.sec.tight{padding:64px 0}
/* 章节头：眉标独立成行，大标题从左边缘起，气场更足 */
.sec-head{
  display:grid;grid-template-columns:1fr auto;gap:0;align-items:end;
  margin-bottom:36px;position:relative;
}
.sec-tag{
  grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.16em;color:var(--accent);font-weight:700;
  line-height:1.7;margin-bottom:14px;
}
.sec-tag i{display:block;width:22px;height:2px;background:var(--accent);margin:0 12px 0 0;flex:none}
.sec-tag em{color:var(--muted-2);font-style:normal;font-weight:400;letter-spacing:.1em;margin-left:12px}
.sec-head > div:nth-child(2){grid-column:1;grid-row:2;min-width:0}
.sec-title{font-size:42px;line-height:1.3;font-weight:800;letter-spacing:-.035em}
.sec-title .hl{color:var(--accent)}
.sec-desc{font-size:15px;color:var(--muted);line-height:1.85;margin-top:12px;max-width:760px}
.sec-idx{grid-column:2;grid-row:2;align-self:end;text-align:right;font-size:11px;color:var(--muted-2);letter-spacing:.14em;padding-bottom:10px}
.sec.ink .sec-desc,.sec.ink .sec-idx{color:#AFC9E4}
.sec.ink .sec-tag em{color:#7FA6CD}

.eyeline{width:100%;height:1px;background:var(--line);margin:0 0 28px}

/* ---------- 图片位（可替换机制） ---------- */
.media{position:relative;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.media.fill{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;z-index:1;
}
.media.has-photo .media-img{opacity:1}
.media-ph{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  justify-content:space-between;padding:20px;
  background:
    linear-gradient(140deg,rgba(255,255,255,.7),rgba(255,255,255,0) 62%),
    repeating-linear-gradient(0deg,transparent 0 23px,rgba(10,39,69,.045) 23px 24px),
    repeating-linear-gradient(90deg,transparent 0 23px,rgba(10,39,69,.045) 23px 24px),
    #E6EFF8;
}
.media.has-photo .media-ph{opacity:0;pointer-events:none}
.media-ph::before,.media-ph::after{
  content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(20,96,174,.5);
}
.media-ph::before{left:12px;top:12px;border-right:0;border-bottom:0}
.media-ph::after{right:12px;bottom:12px;border-left:0;border-top:0}
.ph-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ph-label{font-size:10px;letter-spacing:.16em;color:#7890A7;font-family:Arial,sans-serif}
.ph-num{font-size:78px;font-weight:800;color:rgba(10,39,69,.075);line-height:1;letter-spacing:-.07em;align-self:center}
.ph-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ph-desc{
  font-size:11.5px;color:#4A6480;background:rgba(255,255,255,.88);
  border-left:2px solid var(--accent);padding:7px 11px;line-height:1.6;max-width:78%;
}
.ph-size{font-size:10px;color:#8CA1B7;letter-spacing:.08em;white-space:nowrap}
/* 二维码等小尺寸图位：占位层精简，避免文字拥挤 */
.media.qr-ph .media-ph{padding:12px}
.media.qr-ph .ph-label{font-size:9px;letter-spacing:.1em}
.media.qr-ph .ph-mark{
  align-self:center;text-align:center;font-size:15px;font-weight:700;line-height:1.7;
  color:rgba(10,39,69,.3);border:1px dashed rgba(10,39,69,.2);padding:10px 14px;
}
.media.qr-ph .ph-desc{font-size:10px;padding:5px 8px}
.media.qr-ph .ph-size{display:none}
.media.qr-ph::before,.media.qr-ph::after{width:10px;height:10px}
.media.qr-ph::before{left:7px;top:7px}
.media.qr-ph::after{right:7px;bottom:7px}

.media-tag{
  position:absolute;left:0;top:0;z-index:3;background:var(--white);
  padding:9px 14px;font-size:10px;letter-spacing:.13em;color:var(--ink);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.media-tag b{color:var(--accent);margin-right:7px}
.media-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  background:linear-gradient(0deg,rgba(10,39,69,.86),rgba(10,39,69,0));
  color:#fff;padding:34px 20px 17px;font-size:12px;letter-spacing:.04em;
}
.media-cap b{display:block;font-size:16px;margin-bottom:3px;letter-spacing:0}

/* ---------- 01 痛点：左图右 1234 ---------- */
.pain-grid{
  display:grid;grid-template-columns:.84fr 1.16fr;
  border:1px solid var(--line);background:var(--white);
}
.pain-media{min-height:544px;border-right:1px solid var(--line);position:relative}
.pain-media .media{position:absolute;inset:0;border:0}
.pain-media .media-ph{padding:26px}
.pain-badge{
  position:absolute;left:0;bottom:0;z-index:4;background:var(--accent);color:#fff;
  padding:18px 24px;max-width:78%;
}
.pain-badge .t{font-size:10px;letter-spacing:.16em;opacity:.85}
.pain-badge .q{font-size:20px;font-weight:800;line-height:1.45;margin-top:6px;letter-spacing:-.02em}
.pain-list{padding:6px 40px;display:flex;flex-direction:column;justify-content:center}
.pain-item{
  display:grid;grid-template-columns:62px 1fr;gap:18px;
  padding:23px 0;border-bottom:1px solid var(--line);
}
.pain-item:last-child{border-bottom:0}
.pain-n{
  font-size:34px;font-weight:800;color:var(--accent);line-height:1;
  letter-spacing:-.04em;font-family:"Arial Narrow",Arial,sans-serif;
}
.pain-t{font-size:19px;font-weight:800;letter-spacing:-.01em;margin-bottom:6px}
.pain-d{font-size:13.5px;color:var(--muted);line-height:1.8}
.pain-foot{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-top:24px;padding:20px 26px;background:var(--ink);color:#fff;flex-wrap:wrap;
}
.pain-foot .s{font-size:18px;font-weight:700;letter-spacing:-.01em}
.pain-foot .s b{color:var(--accent)}
.pain-foot .l{font-size:12px;color:#AFC9E4}

/* ---------- 02 双主线 ---------- */
.lines{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--white)}
.line-card{display:flex;flex-direction:column}
.line-card+.line-card{border-left:1px solid var(--line)}
.line-media{height:252px;position:relative;border-bottom:1px solid var(--line)}
.line-media .media{position:absolute;inset:0;border:0}
.line-body{padding:28px 34px 34px;flex:1;display:flex;flex-direction:column}
.line-k{font-size:10.5px;letter-spacing:.17em;color:var(--accent);font-weight:700}
.line-t{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:10px 0 12px}
.line-d{font-size:14px;color:var(--muted);line-height:1.85;min-height:78px}
.line-pts{margin-top:16px;border-top:1px solid var(--line)}
.line-pts div{
  display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--ink-2);
}
.line-pts div:last-child{border-bottom:0}
.line-pts i{font-style:normal;color:var(--accent);font-size:11px;letter-spacing:.1em;padding-top:3px}
.line-link{
  margin-top:auto;padding-top:22px;font-size:13px;color:var(--accent);font-weight:700;
  display:flex;align-items:center;gap:9px;
}
.line-link span{display:inline-block;transition:transform .2s}
.line-link:hover span{transform:translateX(5px)}

/* ---------- 03 产品中心 ---------- */
.prod-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.prod{background:var(--white);display:flex;flex-direction:column}
.prod-media{height:246px;position:relative;border:0}
.prod-media .media{position:absolute;inset:0;border:0}
.prod-info{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.prod-n{font-size:10px;letter-spacing:.17em;color:var(--accent);font-weight:700}
.prod-t{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:9px 0 9px;line-height:1.4}
.prod-d{font-size:12.5px;color:var(--muted);line-height:1.75;flex:1}
.prod-en{font-size:10px;color:var(--muted-2);letter-spacing:.1em;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.industry{margin-top:26px;border:1px solid var(--line);background:var(--white)}
.industry-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 24px;border-bottom:1px solid var(--line);
}
.industry-head b{font-size:14px;letter-spacing:.01em}
.industry-head span{font-size:11px;color:var(--muted-2);letter-spacing:.1em}
.industry-tags{display:flex;flex-wrap:wrap;gap:0}
.industry-tags span{
  flex:1 0 12.5%;min-width:118px;text-align:center;
  padding:16px 8px;font-size:13px;color:var(--ink-2);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.industry-tags span:hover{background:var(--accent-soft);color:var(--accent)}

/* ---------- 04 工厂实力（满版图） ---------- */
.factory-band{position:relative;min-height:470px;background:var(--ink);overflow:hidden}
.factory-band>.media{position:absolute;inset:0;border:0}
.factory-band .media-ph{background-color:#DCE9F5}
.factory-inner{
  position:relative;z-index:5;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  min-height:470px;display:grid;grid-template-columns:42% 1fr 34%;align-items:stretch;
}
.factory-gap{pointer-events:none}
.factory-lead{
  background:rgba(10,39,69,.97);color:#fff;padding:48px 46px;
  display:flex;flex-direction:column;justify-content:center;
  border-left:1px solid rgba(255,255,255,.14);
}
.factory-lead .k{font-size:10.5px;letter-spacing:.17em;color:#82C1F7;font-weight:700}
.factory-lead h3{font-size:36px;font-weight:800;line-height:1.35;letter-spacing:-.035em;margin:16px 0 16px}
.factory-lead p{font-size:14px;color:#B7D0E9;line-height:1.9}
.factory-lead .fl{margin-top:26px;font-size:12px;color:#82C1F7;letter-spacing:.05em}
.factory-facts{
  background:rgba(255,255,255,.96);padding:24px 32px;
  display:flex;flex-direction:column;justify-content:center;gap:0;
}
.factory-facts .f{
  display:flex;align-items:baseline;gap:16px;
  padding:15px 0;border-bottom:1px solid var(--line);
}
.factory-facts .f:last-child{border-bottom:0}
.factory-facts .fn{
  font-size:27px;font-weight:800;letter-spacing:-.04em;color:var(--ink);
  white-space:nowrap;flex:none;min-width:96px;
}
.factory-facts .fn small{font-size:13px;font-weight:600}
.factory-facts .fl2{font-size:12px;color:var(--muted);line-height:1.6}

/* ---------- 05 服务流程 ---------- */
.flow-wrap{display:grid;grid-template-columns:1fr 300px;border:1px solid var(--line);background:var(--white)}
.flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--ink)}
.step{padding:26px 22px 30px;border-left:1px solid var(--line)}
.step:first-child{border-left:0}
.step-n{font-size:38px;font-weight:800;letter-spacing:-.05em;color:var(--accent);line-height:1}
.step-t{font-size:17px;font-weight:800;margin:14px 0 10px;letter-spacing:-.01em}
.step-d{font-size:12.5px;color:var(--muted);line-height:1.8}
.qr-panel{background:var(--ink);color:#fff;padding:26px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column}
.qr-panel .qk{font-size:10px;letter-spacing:.16em;color:#82C1F7;font-weight:700}
.qr-panel h4{font-size:19px;font-weight:800;margin:12px 0 12px}
.qr-box{width:100%;aspect-ratio:1;position:relative;background:#E6EFF8;border:1px solid rgba(255,255,255,.2)}
.qr-box .media{position:absolute;inset:0;border:0}
.qr-panel p{font-size:11.5px;color:#AFC9E4;line-height:1.75;margin-top:14px}
.qr-panel .qbtn{margin-top:auto;padding-top:16px}

/* ---------- 06 案例 ---------- */
.case-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.case-main{display:flex;flex-direction:column;gap:0}
.case-main .media{height:420px}
.case-side{display:flex;flex-direction:column;gap:18px}
.case-sm{flex:1;display:flex;flex-direction:column}
.case-sm .media{height:170px}
.case-side .case-sm:first-child .media{height:170px}
.case-info{
  background:var(--white);border:1px solid var(--line);border-top:0;
  padding:18px 22px;display:flex;flex-direction:column;gap:6px;flex:1;
}
.case-info .ck{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:700}
.case-info .ct{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.45}
.case-info .cd{font-size:12.5px;color:var(--muted);line-height:1.7}
.case-main .case-info .ct{font-size:23px}
.case-more{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:22px;padding:18px 24px;border:1px solid var(--line);background:var(--white);flex-wrap:wrap;
}
.case-more a{font-size:14px;font-weight:700;color:var(--accent);display:flex;gap:10px;align-items:center}
.case-more span{font-size:11px;color:var(--muted-2)}

/* ---------- 07 关于 / 时间线 ---------- */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line);background:var(--white)}
.about-copy{padding:40px 44px;border-right:1px solid var(--line)}
.about-copy h3{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.5;margin-bottom:18px}
.about-copy p{font-size:14px;color:var(--muted);line-height:1.95;margin-bottom:14px}
.about-copy .quote{
  margin-top:24px;padding:18px 20px;background:var(--accent-soft);
  border-left:3px solid var(--accent);font-size:16px;font-weight:700;line-height:1.7;color:var(--ink);
}
.about-media{position:relative;min-height:400px}
.about-media .media{position:absolute;inset:0;border:0}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0;background:var(--white)}
.tl{padding:24px 24px 28px;border-left:1px solid var(--line)}
.tl:first-child{border-left:0}
.tl-y{font-size:26px;font-weight:800;letter-spacing:-.04em;color:var(--accent)}
.tl-t{font-size:14px;font-weight:700;margin:9px 0 6px}
.tl-d{font-size:12px;color:var(--muted);line-height:1.75}

/* ---------- 08 新闻与资质 ---------- */
.two-col{display:grid;grid-template-columns:1.12fr .88fr;gap:0;border:1px solid var(--line);background:var(--white)}
.col-l{padding:30px 36px;border-right:1px solid var(--line)}
.col-r{padding:30px 36px}
.col-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:4px;
}
.col-head b{font-size:16px;letter-spacing:.01em}
.col-head span{font-size:10px;letter-spacing:.15em;color:var(--muted-2)}
.news-row{
  display:grid;grid-template-columns:96px 1fr 84px;gap:16px;align-items:center;
  padding:17px 0;border-bottom:1px solid var(--line);
}
.news-row:last-child{border-bottom:0}
.news-d{font-size:11px;color:var(--muted-2);letter-spacing:.06em}
.news-t{font-size:14.5px;font-weight:600;line-height:1.6}
.news-c{font-size:11px;color:var(--accent);text-align:right;white-space:nowrap}
.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.cert{border:1px solid var(--line);background:var(--paper);padding:10px}
.cert .media{height:132px}
.cert p{font-size:11.5px;padding:10px 4px 3px;color:var(--ink-2)}

/* ---------- 09 联系 ---------- */
.contact-hero{background:var(--ink);color:#fff;padding:72px 0}
.contact-hero .wrap{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:center}
.contact-hero .k{font-size:10.5px;letter-spacing:.17em;color:#82C1F7;font-weight:700}
.contact-hero h2{font-size:46px;font-weight:800;letter-spacing:-.04em;line-height:1.3;margin:18px 0}
.contact-hero p{font-size:15px;color:#B7D0E9;line-height:1.9;max-width:600px}
.contact-hero .tags{font-size:12px;color:#82C1F7;letter-spacing:.06em;margin-top:22px}
.contact-qr{background:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}
.contact-qr .media{width:100%;height:186px}
.contact-qr b{font-size:14px;color:var(--ink)}
.contact-qr span{font-size:11px;color:var(--muted);text-align:center;line-height:1.6}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.contact-cell{background:var(--white);padding:26px 24px}
.contact-cell .cl{font-size:11px;color:var(--muted-2);letter-spacing:.1em;margin-bottom:9px}
.contact-cell .cv{font-size:15px;font-weight:600;line-height:1.65;word-break:break-word}
.contact-cell .cv.accent{color:var(--accent)}

/* ---------- 页脚 ---------- */
.footer{background:#062542;color:#fff;padding:64px 0 0}
.footer-top{display:grid;grid-template-columns:1.3fr 2fr;gap:56px}
.f-brand-cn{font-size:26px;font-weight:800;letter-spacing:.08em}
.f-brand-en{font-size:10px;color:#7FA6CD;letter-spacing:.2em;margin-top:8px;font-family:Arial,sans-serif}
.f-brand-d{font-size:12px;color:#A9C7E4;margin-top:18px;line-height:1.8;max-width:280px}
.f-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.f-col h5{font-size:12px;color:#fff;margin-bottom:16px;letter-spacing:.05em}
.f-col a{display:block;font-size:12px;color:#A9C7E4;padding:6px 0;transition:color .2s}
.f-col a:hover{color:#fff}
.f-col a.hot{color:#82C1F7}
.f-big{
  font-size:132px;font-weight:800;letter-spacing:.06em;line-height:1;
  color:#0D3762;margin-top:52px;white-space:nowrap;overflow:hidden;
  font-family:"Arial Narrow",Arial,sans-serif;
}
.f-bottom{
  border-top:1px solid #174269;margin-top:20px;padding:22px 0 26px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:11px;color:#6C8FB5;
}

/* ---------- 内页 ---------- */
.page-head{background:var(--white);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-head .wrap{padding-top:52px;padding-bottom:52px;position:relative;z-index:2}
.crumb{font-size:10.5px;letter-spacing:.16em;color:var(--muted-2);margin-bottom:22px}
.crumb b{color:var(--accent)}
.page-head h1{font-size:54px;font-weight:800;letter-spacing:-.045em;line-height:1.25}
.page-head .p-sub{font-size:16px;color:var(--muted);line-height:1.9;margin-top:16px;max-width:820px}
.page-head .p-kicker{
  margin-top:24px;padding-left:14px;border-left:2px solid var(--accent);
  font-size:13px;color:var(--ink-2);line-height:1.8;max-width:820px;
}
.page-num{
  position:absolute;right:var(--pad);top:32px;z-index:1;
  font-size:150px;font-weight:800;color:rgba(10,39,69,.045);
  letter-spacing:-.08em;line-height:1;font-family:"Arial Narrow",Arial,sans-serif;
  pointer-events:none;
}
.page-body{padding:64px 0 88px}
.page-body .sec{padding:0 0 56px;border:0;background:transparent}
.page-body .sec:last-child{padding-bottom:0}
.page-body .sec-head{margin-bottom:28px}

/* 通用内容块 */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.box{background:var(--white);padding:28px 26px}
.box .bn{font-size:10px;letter-spacing:.16em;color:var(--accent);font-weight:700}
.box h4{font-size:19px;font-weight:800;margin:12px 0 10px;letter-spacing:-.02em}
.box p{font-size:13px;color:var(--muted);line-height:1.85}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:1px solid var(--line);background:var(--white)}
.split-media{position:relative;min-height:340px;border-right:1px solid var(--line)}
.split-media .media{position:absolute;inset:0;border:0}
.split-copy{padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.split-copy .bn{font-size:10px;letter-spacing:.16em;color:var(--accent);font-weight:700}
.split-copy h3{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:12px 0 14px}
.split-copy p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:12px}
.split-copy ul{list-style:none;margin-top:14px;border-top:1px solid var(--line)}
.split-copy li{font-size:13px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink-2);display:flex;gap:12px}
.split-copy li i{font-style:normal;color:var(--accent);font-size:11px;letter-spacing:.1em;padding-top:3px}
.cta-bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--accent);color:#fff;padding:26px 32px;margin-top:32px;
}
.cta-bar b{font-size:19px;font-weight:700;letter-spacing:-.01em}
.cta-bar span{font-size:12px;opacity:.9}
.cta-bar .btn{margin-left:auto}
.note-line{font-size:11px;color:var(--muted-2);margin-top:16px;line-height:1.7}

/* ---------- 弹窗 ---------- */
.modal{
  position:fixed;inset:0;z-index:100;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(4,30,60,.76);
}
.modal.open{display:flex}
.modal-card{
  background:#fff;width:392px;max-width:100%;padding:28px 30px 26px;
  position:relative;box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-top h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.modal-close{width:26px;height:26px;position:relative;flex:none}
.modal-close::before,.modal-close::after{content:"";position:absolute;left:3px;top:12px;width:20px;height:1.6px;background:var(--ink)}
.modal-close::before{transform:rotate(45deg)}
.modal-close::after{transform:rotate(-45deg)}
.modal-sub{font-size:13px;color:var(--muted);margin:10px 0 20px}
.modal-qr{width:200px;height:200px;margin:0 auto;position:relative;border:1px solid var(--line)}
.modal-qr .media{position:absolute;inset:0;border:0}
.modal-tip{font-size:12px;color:var(--muted);text-align:center;margin-top:18px;line-height:1.7}
.modal-status{
  text-align:center;font-size:12px;color:var(--accent);font-weight:700;
  margin-top:12px;padding-top:14px;border-top:1px solid var(--line);letter-spacing:.04em;
}

/* ---------- 滚动显现 ---------- */
.js-reveal .reveal{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.js-reveal .reveal.pending{opacity:0;transform:translateY(16px)}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  :root{--pad:40px}
  .nav-links{gap:16px}
  .nav-links a{font-size:12px}
  .nav-tel{display:none}
  .hero h1{font-size:43px;white-space:normal}
  .sec-head{grid-template-columns:1fr auto;gap:0}
  .sec-title{font-size:36px}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr;gap:36px}
  .f-big{font-size:96px}
}
@media (max-width:900px){
  :root{--pad:24px}
  .nav-toggle{display:block}
  .nav-links{
    display:none;position:absolute;left:0;right:0;top:var(--navh);background:#fff;
    flex-direction:column;align-items:stretch;height:auto;padding:8px 24px 20px;
    border-bottom:1px solid var(--line);box-shadow:0 16px 28px rgba(0,0,0,.08);
  }
  .nav-links.open{display:flex}
  .nav-links a{height:44px;font-size:14px;border-bottom:1px solid var(--line)}
  .nav-links a::after{display:none}
  .nav-right .btn{padding:0 14px;font-size:12px;height:38px}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:56px 0 44px}
  .hero h1{font-size:38px;white-space:normal}
  .hero-media{min-height:340px;border-left:0;border-top:1px solid var(--line)}
  .statband .wrap{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.15)}
  .sec{padding:56px 0}
  .sec-head{grid-template-columns:1fr;gap:12px;margin-bottom:28px}
  .sec-idx{display:none}
  .sec-title{font-size:30px}
  .pain-grid,.lines,.two-col,.about-grid,.factory-inner,.flow-wrap,.case-grid,.contact-hero .wrap,.split{grid-template-columns:1fr}
  .pain-media{min-height:300px;border-right:0;border-bottom:1px solid var(--line)}
  .pain-list{padding:6px 24px}
  .line-card+.line-card{border-left:0;border-top:1px solid var(--line)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(3){border-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--line)}
  .qr-panel{border-left:0;border-top:1px solid var(--line)}
  .qr-box{width:190px;max-width:100%;margin:0 auto}
  .factory-facts{border-top:1px solid var(--line)}
  .case-main .media{height:300px}
  .about-copy{border-right:0;border-bottom:1px solid var(--line);padding:28px 24px}
  .about-media{min-height:280px}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .tl:nth-child(3){border-left:0}
  .tl:nth-child(n+3){border-top:1px solid var(--line)}
  .col-l{border-right:0;border-bottom:1px solid var(--line)}
  .col-l,.col-r{padding:24px}
  .contact-grid{grid-template-columns:repeat(2,1fr)}
  .contact-hero .wrap{gap:32px}
  .contact-hero h2{font-size:34px}
  .contact-qr{max-width:280px}
  .page-head h1{font-size:36px}
  .page-num{font-size:92px;right:12px}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .split-media{min-height:260px;border-right:0;border-bottom:1px solid var(--line)}
  .f-cols{grid-template-columns:repeat(2,1fr)}
  .f-big{font-size:56px;margin-top:36px}
  .industry-tags span{flex:1 0 25%}
  .factory-lead,.factory-facts{padding:28px 24px}
}
@media (max-width:560px){
  .hero h1{font-size:34px}
  .hero-actions .btn{width:100%}
  .prod-grid{grid-template-columns:1fr}
  .industry-tags span{flex:1 0 33.33%}
  .news-row{grid-template-columns:80px 1fr;gap:10px}
  .news-c{display:none}
  .cert-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .stat-n{font-size:32px}
  .sec-title{font-size:26px}
  .flow{grid-template-columns:1fr}
  .step{border-left:0;border-top:1px solid var(--line)}
  .step:first-child{border-top:0}
  .f-big{font-size:38px}
}
/* ============================================================
   品牌蓝升级 + 交互反馈层  v3
   ============================================================ */
:root{--navh:86px}
.brand-line{height:3px;background:linear-gradient(90deg,var(--brand),var(--accent-2) 58%,#8CC7F5)}
.f-logo{width:216px;height:auto;display:block;margin:0 0 20px;opacity:.96}
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:130;
  background:linear-gradient(90deg,var(--brand),#6FB7F2);
  box-shadow:0 0 12px rgba(28,123,209,.5);transition:width .1s linear;
}

/* 导航：真实 LOGO + 滚动收缩 */
.nav-in{height:var(--navh);transition:height .28s ease}
.nav{transition:box-shadow .28s ease}
.nav.scrolled{--navh:68px;box-shadow:0 8px 26px rgba(10,39,69,.1)}
.brand{gap:0}
.brand-logo{display:block;height:62px;width:auto;transition:height .28s ease,transform .28s ease}
.nav.scrolled .brand-logo{height:48px}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.015)}
.brand-logo.mark,.brand-txt-m{display:none}
.nav-links a::after{background:var(--accent-2)}

/* 深底上的亮蓝强调，保证对比 */
.hero-stamp b,.pain-foot .s b,.sec.ink .hl,.contact-hero .hl,.statband .hl{color:var(--on-dark)}
.sec.ink .sec-tag{color:var(--on-dark)}
.sec.ink .sec-tag i{background:var(--on-dark)}

/* 按钮光泽与按压反馈 */
.btn{
  position:relative;overflow:hidden;
  transition:background .22s,transform .22s,box-shadow .22s,border-color .22s;
  box-shadow:0 4px 14px rgba(20,96,174,.16);
}
.btn::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.22) 50%,transparent 78%);
  transform:translateX(-125%);transition:transform .6s ease;
}
.btn:hover::after{transform:translateX(125%)}
.btn:hover{
  background:var(--accent-2);border-color:var(--accent-2);
  transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,96,174,.26);
}
.btn:active{transform:translateY(0)}
.btn.ghost,.btn.light{box-shadow:none}
.btn.ghost::after,.btn.light::after{display:none}
.btn.ghost:hover{background:var(--accent-soft);border-color:var(--brand);color:var(--brand)}
.btn.light:hover{background:#E4EFFB;color:var(--brand);border-color:#E4EFFB}
.btn .qi{transition:transform .25s}
.btn:hover .qi{transform:scale(1.12)}

/* 卡片与图片反馈 */
.media-img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.prod,.box,.step,.tl,.contact-cell,.cert,.line-card,.case-main,.case-sm{
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease,color .3s ease;
}
.prod:hover,.box:hover,.step:hover,.tl:hover,.contact-cell:hover,.cert:hover{
  transform:translateY(-4px);box-shadow:0 14px 32px rgba(10,39,69,.12);position:relative;z-index:2;
}
.prod:hover .prod-t,.box:hover h4,.step:hover .step-t{color:var(--brand)}
.prod:hover .media-img,.box:hover .media-img,.cert:hover .media-img,
.line-card:hover .media-img,.case-main:hover .media-img,.case-sm:hover .media-img,
.split-media:hover .media-img{transform:scale(1.055)}
.prod{cursor:pointer}
.prod-go{float:right;color:var(--brand);font-weight:700;transition:transform .25s}
.prod:hover .prod-go{transform:translateX(6px)}
.case-main,.case-sm{cursor:zoom-in}
.pain-item{transition:transform .25s,background .25s}
.pain-item::before{
  content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;
  background:var(--brand);transform:scaleY(0);transition:transform .25s;
}
.pain-item:hover{transform:translateX(6px);background:var(--accent-soft)}
.pain-item:hover::before{transform:scaleY(1)}
.news-row{transition:transform .25s,background .25s}
.news-row:hover{transform:translateX(5px);background:var(--accent-soft)}
.news-row:hover .news-t{color:var(--brand)}
.industry-tags span{cursor:default}
.line-link:hover{color:var(--accent-2)}

/* 产品筛选 */
.prod-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 22px}
.pf-label{font-size:11px;letter-spacing:.14em;color:var(--muted-2);margin-right:6px}
.pf-btn{
  height:34px;padding:0 15px;border:1px solid var(--line);background:var(--white);
  color:var(--muted);font-size:12.5px;transition:all .22s;
}
.pf-btn i{font-style:normal;font-size:10px;opacity:.65;margin-left:5px;font-family:Arial,sans-serif}
.pf-btn:hover{border-color:var(--brand);color:var(--brand)}
.pf-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(20,96,174,.2)}
.pf-count{margin-left:auto;font-size:11px;color:var(--muted-2)}
.pf-count b{color:var(--brand);font-size:15px}
.prod.hide{display:none}
.prod-grid.filtered{grid-template-columns:repeat(2,1fr)}

/* 回到顶部 */
.to-top{
  position:fixed;right:26px;bottom:26px;width:46px;height:46px;z-index:90;
  background:var(--brand);color:#fff;font-size:20px;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(14px);pointer-events:none;
  box-shadow:0 10px 26px rgba(20,96,174,.28);
  transition:opacity .3s,transform .3s,background .2s;
}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--accent-2)}

/* 弹窗 / 菜单 / 灯箱动画 */
@keyframes ftFade{from{opacity:0}to{opacity:1}}
@keyframes ftRise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.modal.open{animation:ftFade .25s ease both}
.modal.open .modal-card{animation:ftRise .34s cubic-bezier(.2,.8,.2,1) both}
.lightbox{
  position:fixed;inset:0;z-index:110;display:none;
  align-items:center;justify-content:center;padding:28px;background:rgba(4,30,60,.88);
}
.lightbox.open{display:flex;animation:ftFade .22s ease both}
.lb-card{background:#fff;width:100%;max-width:920px;display:flex;flex-direction:column;animation:ftRise .3s ease both}
.lb-img{width:100%;height:min(56vh,500px);object-fit:cover;background:var(--soft)}
.lb-body{padding:20px 26px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.lb-body h4{font-size:22px;font-weight:800;letter-spacing:-.02em}
.lb-body p{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.8}
.lb-close{width:34px;height:34px;border:1px solid var(--line);flex:none;position:relative}
.lb-close::before,.lb-close::after{content:"";position:absolute;left:8px;top:16px;width:18px;height:1.6px;background:var(--ink)}
.lb-close::before{transform:rotate(45deg)}
.lb-close::after{transform:rotate(-45deg)}

/* 入场错峰 */
.js-reveal .reveal{transition-delay:var(--rd,0ms)}

@media (max-width:900px){
  .brand-logo{display:none}
  .brand-logo.mark{display:block;height:44px}
  .demo-note .mono{display:none}
  .brand-txt-m{display:flex;flex-direction:column;font-size:17px;font-weight:800;letter-spacing:.06em;line-height:1.2;margin-left:10px}
  .brand-txt-m small{font-size:8px;letter-spacing:.14em;color:var(--muted-2);font-family:Arial,sans-serif;font-weight:400;margin-top:4px}
  .nav-links.open{animation:ftRise .24s ease both}
  .to-top{right:16px;bottom:16px;width:42px;height:42px}
  .prod-filter{margin-top:0}
  .pf-count{display:none}
}
@media (max-width:560px){
  .prod-grid.filtered{grid-template-columns:1fr}
  .lb-body{padding:16px 18px 20px}
  .lb-body h4{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  .js-reveal .reveal,.js-reveal .reveal.pending{opacity:1!important;transform:none!important;transition:none}
  html{scroll-behavior:auto}
  .btn::after,.scroll-progress,.to-top,.media-img,.prod,.box,.step,.tl,.contact-cell,
  .cert,.line-card,.case-main,.case-sm,.pain-item,.news-row{transition:none}
  .modal.open,.modal.open .modal-card,.lightbox.open,.lb-card,.nav-links.open{animation:none}
  .btn:hover,.prod:hover,.box:hover,.step:hover,.tl:hover,.contact-cell:hover,.cert:hover{transform:none}
}

/* ============================================================
   V4 · 模块统一 / 轮播 / 悬停联动 / 滚动数字
   ============================================================ */

/* ---------- 统一模块：一个板块 = 一张完整卡片 ---------- */
.sec.mod-sec{padding:32px 0;border-bottom:0}
.module{
  background:var(--white);border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(10,39,69,.045);
  overflow:hidden;
}
.m-head{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;
  padding:28px 34px 24px;border-bottom:1px solid var(--line);
  position:relative;
}
.m-head::before{
  content:"";position:absolute;left:0;top:0;width:64px;height:3px;background:var(--brand);
}
.m-tag{
  display:flex;align-items:center;flex-wrap:wrap;gap:0;
  font-size:10.5px;letter-spacing:.16em;color:var(--brand);font-weight:700;
  line-height:1.7;margin-bottom:12px;
}
.m-tag i{display:block;width:22px;height:2px;background:var(--brand);margin-right:12px;flex:none}
.m-tag em{color:var(--muted-2);font-style:normal;font-weight:400;letter-spacing:.08em;margin-left:12px}
.m-title{font-size:34px;line-height:1.34;font-weight:800;letter-spacing:-.035em}
.m-title .hl{color:var(--brand)}
.m-desc{font-size:13.5px;color:var(--muted);line-height:1.85;margin-top:10px;max-width:820px}
.m-head-r{display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding-bottom:8px}
.m-idx{font-size:11px;color:var(--muted-2);letter-spacing:.14em;white-space:nowrap}
.m-bar{display:block;width:74px;height:2px;background:var(--line-2)}
.m-body{position:relative}
.m-foot{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:18px 34px;border-top:1px solid var(--line);background:var(--paper);
  font-size:12px;color:var(--muted-2);
}
.m-foot .s{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.m-foot .s b{color:var(--brand)}
.m-foot .l{font-size:11px;color:var(--muted-2)}
.m-foot a{color:var(--brand);font-weight:700}
.m-foot a:hover{text-decoration:underline}
.pain-mod .m-foot,.lines-mod .m-foot{background:var(--ink);border-top-color:var(--ink);color:#AFC9E4}
.pain-mod .m-foot .s,.lines-mod .m-foot .s{color:#fff}
.pain-mod .m-foot .s b,.lines-mod .m-foot .s b{color:var(--on-dark)}
.pain-mod .m-foot .l,.lines-mod .m-foot .l{color:#7FA6CD}

/* 深色模块（联系） */
.module.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.module.dark .m-head{border-bottom-color:rgba(255,255,255,.14)}
.module.dark .m-head::before{background:#82C1F7}
.module.dark .m-tag{color:#82C1F7}
.module.dark .m-tag i{background:#82C1F7}
.module.dark .m-tag em{color:#A9C7E4}
.module.dark .m-title,.module.dark .m-title .hl{color:#fff}
.module.dark .m-title .hl{color:#82C1F7}
.module.dark .m-desc{color:#AFC9E4}
.module.dark .m-idx{color:#7FA6CD}
.module.dark .m-bar{background:rgba(255,255,255,.24)}
.module.dark .m-foot{background:rgba(255,255,255,.035);border-top-color:rgba(255,255,255,.14);color:#AFC9E4}

/* 内页统一节奏：每个 sec 也收成一张卡 */
.page-body .sec{
  background:var(--white);border:1px solid var(--line);
  padding:0 0 28px;margin:0 0 26px;
  box-shadow:0 8px 26px rgba(10,39,69,.035);
}
.page-body .sec:last-child{padding-bottom:28px}
.page-body .sec-head{
  margin:0 0 22px;padding:26px 30px 20px;border-bottom:1px solid var(--line);
}
.page-body .sec > .grid-3,.page-body .sec > .grid-2,.page-body .sec > .split,
.page-body .sec > .two-col,.page-body .sec > .timeline,.page-body .sec > .note-line,
.page-body .sec > .box{margin-left:30px;margin-right:30px}
.page-body .sec > .note-line{margin-top:16px}
.page-body > .wrap > .cta-bar{margin-top:26px}

/* ---------- 首屏：三张不同版式设计的轮播大图 ---------- */
.hero-slider{position:absolute;inset:0;overflow:hidden}
.hs-slide{position:absolute;inset:0;opacity:0;z-index:1;pointer-events:none;transition:opacity .7s ease}
.hs-slide.active{opacity:1;z-index:2}
.hs-slide>.media{position:absolute;inset:0;border:0}
.hs-slide>.media .media-ph{padding:26px}
.hs-slide .media-img{transition:transform 5.5s linear}
.hs-slide.active .media-img{transform:scale(1.07)}
.hs-cap{position:absolute;z-index:5;color:#fff}
.hs-cap .mono{display:block;font-size:9.5px;letter-spacing:.16em;opacity:.92;margin-bottom:8px}
.hs-cap b{display:block;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.4}
.hs-cap p{font-size:11.5px;line-height:1.7;margin-top:6px;opacity:.92}
/* A：左下白卡 */
.cap-a .hs-cap{
  left:0;bottom:58px;background:#fff;color:var(--ink);
  padding:17px 22px;border-left:3px solid var(--brand);max-width:74%;
}
.cap-a .hs-cap .mono{color:var(--brand);opacity:1}
.cap-a .hs-cap p{color:var(--muted);opacity:1}
/* B：右侧竖排蓝色牌 */
.cap-b .hs-cap{
  right:0;top:50%;transform:translateY(-50%);background:var(--brand);
  padding:20px 16px;writing-mode:vertical-rl;letter-spacing:.06em;
}
.cap-b .hs-cap b{font-size:17px}
.cap-b .hs-cap p{display:none}
/* C：居中标题 + 蓝调叠层 */
.cap-c::after{content:"";position:absolute;inset:0;z-index:3;background:rgba(20,96,174,.2)}
.cap-c .hs-cap{
  left:0;right:0;bottom:58px;text-align:center;
  background:linear-gradient(0deg,rgba(6,37,66,.9),rgba(6,37,66,0));
  padding:50px 20px 20px;
}
.cap-c .hs-cap b{font-size:29px}
.hs-ctrl{
  position:absolute;left:0;bottom:0;z-index:9;display:flex;align-items:center;
  background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);
}
.hs-prev,.hs-next{
  width:38px;height:38px;font-size:21px;line-height:1;color:var(--ink);
  border-right:1px solid var(--line);transition:background .2s,color .2s;
}
.hs-next{border-right:0;border-left:1px solid var(--line)}
.hs-prev:hover,.hs-next:hover{background:var(--accent-soft);color:var(--brand)}
.hs-dots{display:flex;align-items:center;height:38px;padding:0 10px}
.sdot{width:22px;height:26px;position:relative;flex:none}
.sdot::after{
  content:"";position:absolute;left:6px;top:12px;width:10px;height:3px;
  background:var(--line-2);transition:background .25s,width .25s,left .25s;
}
.sdot.active::after,.sdot:hover::after{background:var(--brand);width:16px;left:3px}
.hs-count{
  position:absolute;right:0;bottom:0;z-index:9;background:var(--ink);color:#fff;
  padding:9px 16px;font-size:11px;letter-spacing:.12em;
}
.hs-count b{color:#82C1F7;font-size:14px}
.hs-count i{font-style:normal;opacity:.5;margin:0 6px}
.hero-stamp{z-index:9}
.hero-side{display:none}

/* ---------- 数据带：滚动数字 + 悬停重播 ---------- */
.statband .wrap{display:block}
.sb-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 0 0;font-size:10px;letter-spacing:.16em;color:#7FA6CD;
}
.sb-hint{opacity:.8}
.sb-row{display:grid;grid-template-columns:repeat(4,1fr);padding:12px 0 24px}
.stat{
  position:relative;padding:14px 0 20px 26px;border-left:1px solid rgba(255,255,255,.15);
  cursor:default;transition:background .25s;
}
.stat:first-child{padding-left:0;border-left:0}
.stat:hover{background:rgba(255,255,255,.05)}
.stat-line{
  position:absolute;left:26px;bottom:0;height:2px;width:0;background:#82C1F7;
  transition:width .9s cubic-bezier(.2,.8,.2,1);
}
.stat:first-child .stat-line{left:0}
.stat.run .stat-line{width:56px}
.stat.rolling .stat-n{animation:statRoll .45s cubic-bezier(.2,.8,.2,1)}
@keyframes statRoll{from{transform:translateY(9px);opacity:.35}to{transform:none;opacity:1}}

/* ---------- 可联动图位 ---------- */
.stage-img{
  position:absolute;inset:0;opacity:0;transform:translateX(26px);z-index:1;
  pointer-events:none;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);
}
.stage-img.active{opacity:1;transform:none;z-index:2}
.stage-img>.media{position:absolute;inset:0;border:0;height:100%}
.stage-img>.media .media-tag{display:none}
.pain-stage .stage-img{transform:scale(1.045)}
.pain-stage .stage-img.active{transform:scale(1)}
.pain-dots{position:absolute;right:18px;bottom:18px;z-index:6;display:flex;gap:0}
.pain-dots .sdot::after{background:rgba(255,255,255,.55)}
.pain-dots .sdot.active::after{background:#fff}
.stage-tag{
  position:absolute;left:0;top:0;z-index:5;background:var(--white);
  padding:9px 14px;font-size:10px;letter-spacing:.13em;color:var(--ink);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}

/* ---------- 01 痛点 ---------- */
.pain-body{display:grid;grid-template-columns:.86fr 1.14fr}
.pain-stage{position:relative;min-height:520px;border-right:1px solid var(--line);overflow:hidden;background:var(--soft)}
.pain-list{padding:0 34px;display:flex;flex-direction:column;justify-content:center}
.pain-item{
  position:relative;display:grid;grid-template-columns:62px 1fr;gap:18px;
  padding:22px 12px;border-bottom:1px solid var(--line);cursor:pointer;
}
.pain-item:last-child{border-bottom:0}
.pain-item.active{background:var(--accent-soft)}
.pain-item.active .pain-t{color:var(--brand)}
.pain-item::before{left:-12px;top:14px;bottom:14px}
.pain-badge{z-index:6}

/* ---------- 02 双主线 ---------- */
.lines-mod .m-body,.case-mod .m-body,.about-mod .m-body,.news-mod .m-body{padding:26px 30px 30px}
.lines-mod .lines{border:1px solid var(--line)}

/* ---------- 03 产品中心 ---------- */
.prod-top{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:18px 30px;border-bottom:1px solid var(--line);
}
.prod-top .pf-label{margin-right:4px}
.pf-btns{display:flex;gap:8px;flex-wrap:wrap}
.prod-top .pf-count{margin-left:auto}
.prod-layout{display:grid;grid-template-columns:1.02fr .98fr;min-height:428px}
.prod-stage{position:relative;overflow:hidden;border-right:1px solid var(--line);background:var(--soft)}
.ps-label{
  position:absolute;left:0;top:0;z-index:5;background:var(--brand);color:#fff;
  padding:8px 14px;font-size:9.5px;letter-spacing:.14em;
}
.prod-list{display:flex;flex-direction:column;min-width:0}
.prod-row{
  display:grid;grid-template-columns:58px 1fr 22px;gap:14px;align-items:center;
  padding:19px 26px;border-bottom:1px solid var(--line);
  transition:background .25s,transform .25s;
}
.prod-row:hover,.prod-row.active{background:var(--accent-soft)}
.pr-n{font-size:11.5px;color:var(--brand);font-weight:700;letter-spacing:.1em}
.pr-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.pr-main b{font-size:16.5px;font-weight:800;letter-spacing:-.01em;line-height:1.4}
.pr-main span{font-size:12px;color:var(--muted);line-height:1.65}
.pr-go{color:var(--brand);font-size:18px;transition:transform .25s;text-align:right}
.prod-row:hover .pr-go{transform:translateX(5px)}
.prod-row.hide{display:none}
.prod-extra{
  margin-top:auto;padding:22px 26px 26px;background:var(--paper);
  border-top:1px solid var(--line);
}
.prod-extra .pe-k{font-size:10px;letter-spacing:.15em;color:var(--brand);font-weight:700}
.prod-extra b{display:block;font-size:18px;font-weight:800;margin:8px 0 7px}
.prod-extra p{font-size:12.5px;color:var(--muted);line-height:1.75;max-width:540px}
.prod-extra a{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;color:var(--brand)}
.prod-extra a:hover{text-decoration:underline}
.prod-mod .industry{margin-top:0;border:0;border-top:1px solid var(--line);background:#fff}
.prod-mod .industry-tags span{flex:1 0 12.5%}

/* ---------- 04 工厂：交付效果图 ---------- */
.factory-body{display:grid;grid-template-columns:1fr 1fr .92fr;min-height:468px}
.factory-mod .factory-lead{background:var(--ink);color:#fff;padding:38px 34px;border:0;display:flex;flex-direction:column;justify-content:center}
.factory-mod .factory-lead h3{font-size:31px}
.factory-shot{position:relative;overflow:hidden;border-right:1px solid var(--line)}
.factory-shot>.media{position:absolute;inset:0;border:0}
.factory-right{display:flex;flex-direction:column;min-width:0}
.delivery-shot{position:relative;height:232px;overflow:hidden;border-bottom:1px solid var(--line)}
.delivery-shot>.media{position:absolute;inset:0;border:0}
.delivery-tag{
  position:absolute;left:0;top:0;z-index:5;background:var(--brand);color:#fff;
  padding:9px 14px;display:flex;align-items:baseline;gap:10px;
}
.delivery-tag b{font-size:14px;font-weight:800}
.delivery-tag .mono{font-size:9px;letter-spacing:.14em;opacity:.85}
.delivery-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:5;color:#fff;
  background:linear-gradient(0deg,rgba(6,37,66,.9),rgba(6,37,66,0));
  padding:34px 16px 14px;font-size:11.5px;line-height:1.65;
}
.factory-mod .factory-facts{flex:1;background:#fff;padding:6px 26px;display:flex;flex-direction:column;justify-content:center}
.factory-mod .factory-facts .f{padding:12px 0}
.factory-mod .factory-facts .fn{font-size:24px;min-width:88px}

/* ---------- 05 服务流程：右侧滑出交付效果图 ---------- */
.flow-layout{display:grid;grid-template-columns:1fr 330px;min-height:352px}
.flow-mod .flow{border-top:3px solid var(--ink);border-left:0;border-right:0;border-bottom:0}
.flow-mod .step{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:26px 20px 24px}
.flow-mod .step:first-child{border-left:0}
.flow-mod .step.active{background:var(--accent-soft)}
.step-go{
  margin-top:auto;padding-top:20px;font-size:10px;letter-spacing:.08em;
  color:var(--brand);opacity:.6;transition:opacity .25s,transform .25s;
}
.step:hover .step-go,.step.active .step-go{opacity:1;transform:translateX(4px)}
.flow-stage{position:relative;overflow:hidden;border-left:1px solid var(--line);background:var(--ink)}
.fs-imgs{position:absolute;inset:0}
.fs-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:6;color:#fff;
  background:linear-gradient(0deg,rgba(6,37,66,.96),rgba(6,37,66,0));
  padding:56px 22px 22px;
}
.fs-cap .mono{display:block;font-size:9.5px;letter-spacing:.16em;color:#82C1F7;font-weight:700}
.fs-cap b{display:block;font-size:20px;font-weight:800;margin:8px 0 6px}
.fs-cap p{font-size:11.5px;color:#B7D0E9;line-height:1.7}
.fs-num{
  position:absolute;right:16px;top:16px;z-index:7;font-size:11px;letter-spacing:.14em;
  color:#fff;background:rgba(6,37,66,.6);padding:6px 10px;border:1px solid rgba(255,255,255,.24);
}
.qr-strip{
  display:grid;grid-template-columns:1fr 132px auto;gap:26px;align-items:center;
  background:var(--ink);color:#fff;padding:24px 30px;border-top:1px solid rgba(255,255,255,.14);
}
.qs-l .mono{font-size:10px;letter-spacing:.16em;color:#82C1F7;font-weight:700}
.qs-l b{display:block;font-size:19px;font-weight:800;margin:8px 0 6px}
.qs-l p{font-size:12px;color:#AFC9E4;line-height:1.75;max-width:660px}
.qs-qr{position:relative;width:132px;height:132px}
.qs-qr .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.qs-qr .qr-ph .ph-mark{font-size:11px;padding:6px 8px}
.qs-qr .qr-ph .ph-desc{font-size:9px}
.qs-a{white-space:nowrap}

/* ---------- 06/07/08 在卡片内收边 ---------- */
.case-mod .case-grid{gap:14px}
.about-mod .timeline{border:1px solid var(--line);border-top:1px solid var(--line);margin-top:18px}
.news-mod .two-col{border:1px solid var(--line)}

/* ---------- 09 联系（深色模块） ---------- */
.contact-mod .m-title{font-size:34px;max-width:940px}
.contact-body{display:grid;grid-template-columns:1fr 250px;gap:50px;align-items:center;padding:32px 34px 38px}
.contact-lead{font-size:14px;color:#B7D0E9;line-height:1.9;max-width:640px}
.contact-l .tags{font-size:11px;color:#82C1F7;letter-spacing:.06em;margin:18px 0 24px}
.contact-qr{background:#fff;padding:18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.contact-mod .m-foot{display:block;padding:0;background:transparent}
.contact-mod .contact-grid{grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14)}
.contact-mod .contact-cell{background:var(--ink);padding:24px 26px}
.contact-mod .contact-cell .cl{color:#7FA6CD}
.contact-mod .contact-cell .cv{color:#fff}
.contact-mod .contact-cell .cv.accent{color:#82C1F7}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .sec.mod-sec{padding:26px 0}
  .m-title{font-size:29px}
  .factory-body{grid-template-columns:1fr 1fr}
  .factory-right{grid-column:1 / -1;flex-direction:row}
  .delivery-shot{width:50%;height:216px;border-right:1px solid var(--line);border-bottom:0}
  .factory-mod .factory-facts{width:50%}
  .flow-layout{grid-template-columns:1fr 280px}
  .qr-strip{grid-template-columns:1fr 120px auto;gap:18px}
  .qs-qr{width:120px;height:120px}
}
@media (max-width:900px){
  .sec.mod-sec{padding:18px 0}
  .m-head{grid-template-columns:1fr;padding:22px 22px 20px}
  .m-head-r{display:none}
  .m-title{font-size:25px}
  .m-desc{font-size:12.5px}
  .m-foot{padding:16px 22px}
  .pain-body,.lines,.prod-layout,.factory-body,.flow-layout,.case-grid,
  .about-grid,.two-col,.contact-body{grid-template-columns:1fr}
  .pain-stage{min-height:300px;border-right:0;border-bottom:1px solid var(--line)}
  .pain-list{padding:0 18px}
  .pain-item{padding:18px 10px}
  .pain-item::before{left:-10px}
  .prod-stage{min-height:276px;border-right:0;border-bottom:1px solid var(--line)}
  .prod-top{padding:16px 20px}
  .prod-top .pf-count{display:none}
  .prod-row{padding:16px 20px}
  .prod-extra{padding:20px}
  .factory-shot{min-height:270px;border-right:0;border-bottom:1px solid var(--line)}
  .factory-right{flex-direction:column}
  .delivery-shot{width:100%;height:220px;border-right:0;border-bottom:1px solid var(--line)}
  .factory-mod .factory-facts{width:100%}
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow-stage{min-height:270px;border-left:0;border-top:1px solid var(--line)}
  .qr-strip{grid-template-columns:1fr auto;padding:22px}
  .qs-qr{display:none}
  .case-mod .m-body,.about-mod .m-body,.news-mod .m-body,.lines-mod .m-body{padding:20px}
  .contact-body{padding:24px 22px;gap:28px}
  .contact-mod .m-title{font-size:26px}
  .contact-mod .contact-grid{grid-template-columns:repeat(2,1fr)}
  .sb-row{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.15)}
  .hero-media{min-height:360px}
  .page-body .sec > .grid-3,.page-body .sec > .grid-2,.page-body .sec > .split,
  .page-body .sec > .two-col,.page-body .sec > .timeline,.page-body .sec > .note-line,
  .page-body .sec > .box{margin-left:20px;margin-right:20px}
  .page-body .sec-head{padding:22px 20px 18px}
}
@media (max-width:560px){
  .m-title{font-size:22px}
  .m-tag{font-size:9.5px}
  .m-tag em{margin-left:8px}
  .prod-extra{padding:18px 20px}
  .flow{grid-template-columns:1fr}
  .flow-mod .step{border-left:0;border-top:1px solid var(--line)}
  .flow-mod .step:first-child{border-top:0}
  .contact-mod .contact-grid{grid-template-columns:1fr}
  .qr-strip{grid-template-columns:1fr}
  .qs-a{justify-self:start}
  .hs-cap b{font-size:16px}
  .cap-c .hs-cap b{font-size:22px}
  .cap-b .hs-cap{padding:14px 12px}
  .sb-row{grid-template-columns:repeat(2,1fr)}
  .stat-n{font-size:32px}
  .industry-tags span{flex:1 0 33.33%}
}
@media (prefers-reduced-motion:reduce){
  .hs-slide,.hs-slide .media-img,.stage-img,.stat-line,.stat.rolling .stat-n{transition:none;animation:none}
}

/* ---------- 收尾：内页始终完整呈现，联系标题不产生孤字 ---------- */
.page-body .reveal,.page-body .reveal.pending{opacity:1!important;transform:none!important;transition:none}
.contact-mod .m-title{line-height:1.42}
.brand-logo{height:66px}
.nav.scrolled .brand-logo{height:50px}
@media (max-width:900px){ .brand-logo.mark{height:46px} }

/* ---------- 稳健性终版：内容恒定可见，任何预览环境都不留白 ----------
   交互感由轮播 / 悬停联动 / 数字滚动 / 筛选承担，不再拿内容可见性做动画。 */
.js-reveal .reveal,.js-reveal .reveal.pending,.page-body .reveal.pending{
  opacity:1!important;transform:none!important;transition:none;
}

/* ============================================================
   V5 · 栏目化主标题 / 整屏轮播 / 产品四图常驻 / 工厂三视图
   ============================================================ */

/* 主标题后的信息徽标：栏目名一眼可辨，补充信息不抢主标题 */
.m-title .m-badge{
  display:inline-block;vertical-align:middle;margin-left:16px;
  font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--muted-2);
  border-left:1px solid var(--line-2);padding-left:16px;line-height:1.2;
}
.module.dark .m-title .m-badge{color:#A9C7E4;border-left-color:rgba(255,255,255,.24)}

/* ---------- 首屏：左文案 + 右大图整屏横向轮播 ---------- */
.hero-v5{padding:0}
.hv-view{overflow:hidden;position:relative}
.hv-track{
  display:flex;width:100%;
  transform:translateX(0);
  transition:transform .72s cubic-bezier(.22,.8,.2,1);will-change:transform;
}
.hv-slide{flex:0 0 100%;min-width:0}
.hv-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:1.14fr .86fr;min-height:610px;
}
.hero-v5 h1{font-size:46px;line-height:1.31;white-space:normal;letter-spacing:-.035em}
.hero-v5 .hero-copy{padding:64px 44px 54px 0}
.hero-v5 .hero-media{min-height:610px}
.hero-v5 .hero-media .media-img{transition:transform 6s linear}
.hv-slide .hero-media .media-img{transform:scale(1.05)}
.hv-cap{position:absolute;z-index:5;color:#fff}
.hv-cap .mono{display:block;font-size:9.5px;letter-spacing:.16em;opacity:.92;margin-bottom:8px}
.hv-cap b{display:block;font-size:20px;font-weight:800;line-height:1.4}
.hv-cap p{font-size:11.5px;line-height:1.7;margin-top:6px;opacity:.92}
.hv-cap.cap-a{
  left:0;bottom:0;background:#fff;color:var(--ink);padding:17px 22px;
  border-left:3px solid var(--brand);max-width:78%;
}
.hv-cap.cap-a .mono{color:var(--brand);opacity:1}
.hv-cap.cap-a p{color:var(--muted);opacity:1}
.hv-cap.cap-b{
  right:0;top:50%;transform:translateY(-50%);background:var(--brand);
  padding:20px 16px;writing-mode:vertical-rl;letter-spacing:.06em;
}
.hv-cap.cap-b b{font-size:17px}
.hv-cap.cap-b p{display:none}
.hv-cap.cap-c{
  left:0;right:0;bottom:0;text-align:center;
  background:linear-gradient(0deg,rgba(6,37,66,.88),rgba(6,37,66,0));
  padding:48px 20px 22px;
}
.hv-cap.cap-c b{font-size:27px}
.hero-v5 .hero-stamp{z-index:9}
.hv-ctrl{
  display:flex;align-items:center;height:54px;background:#fff;
  border-top:1px solid var(--line);padding:0 var(--pad);
}
.hv-arrows{display:flex;flex:none}
.hv-prev,.hv-next{
  width:44px;height:52px;font-size:22px;line-height:1;color:var(--ink);
  border-right:1px solid var(--line);transition:background .2s,color .2s;
}
.hv-next{border-left:1px solid var(--line)}
.hv-prev:hover,.hv-next:hover{background:var(--accent-soft);color:var(--brand)}
.hv-dots{display:flex;align-items:center;gap:8px;padding:0 18px;flex:1}
.hv-dot{
  width:48px;height:4px;background:var(--line-2);position:relative;
  border:0;padding:0;cursor:pointer;transition:background .25s;
}
.hv-dot span{position:absolute;left:0;top:0;height:100%;width:0;background:var(--brand);display:block;transition:width .3s}
.hv-dot.active span{width:100%}
.hv-dot:hover{background:var(--accent-2)}
.hv-count{font-size:11px;letter-spacing:.12em;color:var(--muted);white-space:nowrap;padding:0 18px}
.hv-count b{color:var(--brand);font-size:15px}
.hv-count i{font-style:normal;opacity:.5;margin:0 5px}
.hv-hint{margin-left:auto;font-size:9.5px;letter-spacing:.14em;color:var(--muted-2);white-space:nowrap}

/* ---------- 03 产品中心：四个系列图常驻，不再留白 ---------- */
.prod-row{grid-template-columns:88px 1fr 22px}
.pr-thumb{
  display:block;width:88px;height:64px;overflow:hidden;
  border:1px solid var(--line);background:var(--soft);
}
.pr-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.prod-row:hover .pr-thumb img,.prod-row.active .pr-thumb img{transform:scale(1.09)}
.prod-row.dim{opacity:.38;filter:grayscale(.55)}
.prod-row.dim:hover{opacity:.8;filter:none}
.prod-extra{padding:14px 26px 16px}
.prod-extra b{font-size:15px;margin:5px 0 4px}
.prod-extra p{font-size:12px;line-height:1.6;max-width:none}
.prod-extra a{margin-top:6px;font-size:12px}

/* ---------- 04 工程案例：分类条 ---------- */
.case-cats{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:0 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px;
}
.case-cats .mono{font-size:10px;letter-spacing:.14em;color:var(--muted-2);margin-right:6px}
.case-cats a{
  font-size:12px;font-weight:600;color:var(--ink);
  border:1px solid var(--line);padding:7px 12px;transition:all .2s;
}
.case-cats a:hover{border-color:var(--brand);color:var(--brand);background:var(--accent-soft)}

/* ---------- 05 工厂实力：三视图可切换 + 数据格反馈 ---------- */
.factory-body{grid-template-columns:.84fr 1.16fr;min-height:430px}
.factory-mod .factory-lead{padding:38px 34px}
.factory-mod .factory-lead h3{font-size:28px;line-height:1.45;margin:14px 0 16px}
.factory-mod .factory-lead p{font-size:13px;line-height:1.9;color:#B7D0E9}
.factory-mod .factory-lead .fl{margin-top:22px}
.fl-link{
  display:inline-block;margin-top:20px;font-size:12.5px;font-weight:700;
  color:#82C1F7;border-bottom:1px solid rgba(130,193,247,.5);padding-bottom:3px;
}
.fl-link:hover{color:#fff;border-bottom-color:#fff}
.factory-viewer{display:flex;flex-direction:column;border-left:1px solid var(--line);min-width:0}
.fv-stage{
  position:relative;flex:1;min-height:310px;overflow:hidden;
  background:var(--soft);cursor:zoom-in;
}
.fv-stage .stage-img>.media .media-tag{display:none}
.fv-num{
  position:absolute;right:0;top:0;z-index:6;background:var(--ink);color:#fff;
  padding:8px 13px;font-size:10px;letter-spacing:.14em;
}
.fv-bar{border-top:1px solid var(--line);background:#fff}
.fv-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
.fv-tab{
  display:flex;align-items:center;gap:9px;padding:13px 14px;
  border-right:1px solid var(--line);background:#fff;text-align:left;
  transition:background .2s;cursor:pointer;
}
.fv-tab:last-child{border-right:0}
.fv-tab i{font-size:10px;color:var(--muted-2);font-style:normal}
.fv-tab b{font-size:13px;font-weight:700;color:var(--ink)}
.fv-tab.active{background:var(--accent-soft);box-shadow:inset 0 2px 0 var(--brand)}
.fv-tab.active i,.fv-tab.active b{color:var(--brand)}
.fv-tab:hover{background:var(--accent-soft)}
.fv-cap{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding:12px 16px;border-top:1px solid var(--line);background:var(--paper);
}
.fv-cap b{font-size:13px;color:var(--ink)}
.fv-cap span{font-size:11.5px;color:var(--muted)}
.factory-mod .factory-facts{
  display:grid;grid-template-columns:repeat(4,1fr);width:100%;flex:none;
  padding:0;border-top:1px solid var(--line);background:#fff;
}
.factory-mod .factory-facts .f{
  padding:18px 26px;border-right:1px solid var(--line);transition:background .2s;
}
.factory-mod .factory-facts .f:last-child{border-right:0}
.factory-mod .factory-facts .f:hover{background:var(--accent-soft)}
.factory-mod .factory-facts .fn{font-size:25px;min-width:0}

/* ---------- 响应式（置于末尾，覆盖 V4 旧规则） ---------- */
@media (max-width:900px){
  .m-title .m-badge{display:none}
  .hv-grid{grid-template-columns:1fr;min-height:0}
  .hero-v5 .hero-copy{padding:38px 0 30px}
  .hero-v5 h1{font-size:34px}
  .hero-v5 .hero-media{min-height:300px;border-left:0;border-top:1px solid var(--line)}
  .hv-ctrl{height:48px}
  .hv-prev,.hv-next{height:46px;width:40px}
  .hv-hint{display:none}
  .hv-dot{width:32px}
  .hv-count{padding:0 10px}
  .prod-row{grid-template-columns:62px 1fr 18px;padding:14px 18px}
  .pr-thumb{width:62px;height:50px}
  .prod-extra{padding:14px 18px}
  .factory-body{grid-template-columns:1fr}
  .factory-viewer{border-left:0;border-top:1px solid var(--line)}
  .factory-mod .factory-facts{grid-template-columns:repeat(2,1fr)}
  .factory-mod .factory-facts .f:nth-child(2){border-right:0}
  .factory-mod .factory-facts .f:nth-child(n+3){border-top:1px solid var(--line)}
  .factory-mod .factory-lead{padding:28px 22px}
}
@media (max-width:560px){
  .hero-v5 h1{font-size:28px}
  .hero-v5 .hero-sub{font-size:14px}
  .hv-cap.cap-c b{font-size:20px}
  .hv-cap.cap-a{max-width:92%}
  .fv-cap{gap:6px}
  .fv-tab{padding:11px 8px;gap:5px}
  .fv-tab b{font-size:11.5px}
}
@media (prefers-reduced-motion:reduce){
  .hv-track,.hero-v5 .hero-media .media-img,.pr-thumb img{transition:none}
}


/* ==================================================================
   V6 · 精简栏目架构 / 主次分明的版式层级
   一级重点模块：大标题 + 蓝色重点竖线 + 大留白 + 投影
   二级模块：紧凑标题 + 收敛留白；全站统一模块头与 1px 分隔线
   ================================================================== */
.sect{background:var(--paper);padding:0;border:0}
.sect.s1{padding:58px 0}
.sect.s2{padding:24px 0}
.blk{background:var(--white);border:1px solid var(--line);position:relative}
.blk.lv1{box-shadow:0 22px 58px rgba(10,39,69,.075)}
.blk.lv2{box-shadow:0 5px 18px rgba(10,39,69,.028)}
.blk.dark{background:var(--deep);border-color:var(--deep);color:#fff}

/* 模块头：编号 / 主标题 / 一句白话说明 / 可选「查看更多」 */
.blk-head{
  display:flex;align-items:flex-start;gap:22px;position:relative;
  padding:30px 38px 24px;border-bottom:1px solid var(--line);
}
.blk.lv1 .blk-head{padding:44px 48px 32px;gap:26px}
.blk.lv1 .blk-head::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--accent);
}
.blk-num{
  flex:none;font-size:12px;font-weight:700;color:var(--accent);
  letter-spacing:.14em;padding-top:9px;
}
.blk.lv1 .blk-num{font-size:14px;padding-top:16px}
.blk-head-t{flex:1;min-width:0}
.blk-title{font-size:29px;line-height:1.3;font-weight:800;letter-spacing:-.025em;color:var(--ink)}
.blk.lv1 .blk-title{font-size:43px;letter-spacing:-.038em}
.blk-desc{font-size:13.5px;color:var(--muted);line-height:1.8;margin-top:9px;max-width:860px}
.blk.lv1 .blk-desc{font-size:14.5px;margin-top:12px}
.blk-more{
  flex:none;align-self:center;font-size:12.5px;font-weight:600;color:var(--accent);
  border:1px solid var(--line-2);padding:10px 16px;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.blk-more:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

.blk-body{padding:30px 38px 34px}
.blk.lv1 .blk-body{padding:38px 48px 44px}
.blk-foot{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:17px 38px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted-2);line-height:1.7;
}
.blk.lv1 .blk-foot{padding:19px 48px}
.blk-foot b{color:var(--ink)}
.blk-foot a{color:var(--accent);font-weight:600;white-space:nowrap}
.blk.dark .blk-head,.blk.dark .blk-foot{border-color:rgba(255,255,255,.16)}
.blk.dark .blk-num{color:var(--on-dark)}
.blk.dark .blk-desc{color:#B9D3EA}
.blk.dark .blk-foot{color:#9DBBD5}

/* ---------- 01 主营业务：三大板块 + 第二条主线 ---------- */
.v6-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v6-block{
  border:1px solid var(--line);background:var(--paper);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.v6-block:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(10,39,69,.11);border-color:var(--line-2)}
.v6-block-media{height:198px;position:relative;overflow:hidden}
.v6-block-media .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v6-block-media .media-img{transition:transform .55s ease}
.v6-block:hover .media-img{transform:scale(1.055)}
.v6-block-txt{padding:22px 22px 26px;flex:1}
.v6-block-n{font-size:10.5px;color:var(--accent);letter-spacing:.13em}
.v6-block-txt h3{font-size:19px;line-height:1.5;margin:10px 0 11px;font-weight:700;color:var(--ink)}
.v6-block-txt p{font-size:12.8px;color:var(--muted);line-height:1.85}
.v6-strap{
  margin-top:24px;background:var(--deep);color:#fff;padding:26px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
}
.v6-strap-l>span{display:block;font-size:10px;color:var(--on-dark);letter-spacing:.14em;margin-bottom:9px}
.v6-strap-l b{font-size:21px;font-weight:700;letter-spacing:-.01em}
.v6-strap-l p{font-size:12.5px;color:#B9D3EA;line-height:1.8;margin-top:8px;max-width:820px}
.v6-strap-a{
  flex:none;font-size:12.5px;font-weight:600;color:#fff;
  border:1px solid rgba(255,255,255,.42);padding:11px 18px;white-space:nowrap;
  transition:background .2s,color .2s;
}
.v6-strap-a:hover{background:#fff;color:var(--deep)}

/* ---------- 02 行业痛点：四宫格紧凑卡 ---------- */
.v6-pains{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.v6-pain{padding:26px 24px 28px;border-right:1px solid var(--line)}
.v6-pain:last-child{border-right:0}
.v6-pain-n{display:block;font-size:27px;font-weight:800;color:var(--accent);line-height:1;margin-bottom:16px}
.v6-pain b{display:block;font-size:17px;font-weight:700;color:var(--ink);margin-bottom:9px}
.v6-pain p{font-size:12.5px;color:var(--muted);line-height:1.85}

/* ---------- 03 服务四步曲：四步横排 ---------- */
.v6-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v6-step{position:relative;background:var(--paper);border-top:3px solid var(--accent);padding:24px 22px 26px}
.v6-step:not(:last-child)::after{
  content:"\2192";position:absolute;right:-15px;top:26px;z-index:2;
  color:var(--accent);font-size:16px;line-height:1;
}
.v6-step-n{display:block;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.12em;margin-bottom:14px}
.v6-step b{display:block;font-size:17px;font-weight:700;color:var(--ink);margin-bottom:9px}
.v6-step p{font-size:12.5px;color:var(--muted);line-height:1.85}

/* ---------- 04 产品中心：图在上、文字就在每个系列下面 ---------- */
.v6-prods{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.v6-prod{
  display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.v6-prod:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(10,39,69,.11);border-color:var(--accent)}
.v6-prod-media{height:226px;position:relative;overflow:hidden}
.v6-prod-media .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v6-prod-media .media-img{transition:transform .55s ease}
.v6-prod:hover .media-img{transform:scale(1.05)}
.v6-prod-txt{padding:23px 26px 26px}
.v6-prod-k{font-size:10.5px;color:var(--accent);letter-spacing:.13em}
.v6-prod-txt h3{font-size:21px;font-weight:700;color:var(--ink);line-height:1.4;margin:9px 0 10px}
.v6-prod-txt p{font-size:13px;color:var(--muted);line-height:1.85;max-width:520px}
.v6-prod-go{display:inline-block;margin-top:15px;font-size:11px;color:var(--accent);letter-spacing:.06em}

/* ---------- 05 工程案例：三张等宽案例卡 ---------- */
.v6-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v6-case{
  border:1px solid var(--line);background:#fff;overflow:hidden;cursor:zoom-in;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.v6-case:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(10,39,69,.11);border-color:var(--accent)}
.v6-case-media{height:206px;position:relative;overflow:hidden}
.v6-case-media .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v6-case-media .media-img{transition:transform .55s ease}
.v6-case:hover .media-img{transform:scale(1.05)}
.v6-case-txt{padding:21px 22px 24px}
.v6-case-txt>span{font-size:10.5px;color:var(--accent);letter-spacing:.1em}
.v6-case-txt h3{font-size:17px;font-weight:700;color:var(--ink);line-height:1.5;margin:9px 0 9px}
.v6-case-txt p{font-size:12.5px;color:var(--muted);line-height:1.8}

/* ---------- 06 公司简介：文字 + 满宽大图 + 数据格 ---------- */
.v6-about-copy{
  column-count:2;column-gap:46px;
  font-size:13.5px;color:var(--muted);line-height:1.95;
}
.v6-about-copy p{margin-bottom:14px;break-inside:avoid;-webkit-column-break-inside:avoid}
.v6-about-copy p:first-child{color:var(--ink);font-size:15.5px;font-weight:600;line-height:1.9}
.v6-about-wide{height:356px;position:relative;overflow:hidden;margin-top:26px}
.v6-about-wide .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v6-about-wide .media-cap{padding:40px 28px 22px}
.v6-about-facts{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);border-top:0;
}
.v6-about-facts>div{padding:20px 24px;border-right:1px solid var(--line)}
.v6-about-facts>div:last-child{border-right:0}
.v6-about-facts b{display:block;font-size:24px;color:var(--accent);line-height:1.2;margin-bottom:5px}
.v6-about-facts span{font-size:12px;color:var(--muted)}

/* ---------- 07 荣誉资质（左） / 新闻资讯（右） ---------- */
.v6-two{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line)}
.v6-honors{padding:24px 28px 28px;border-right:1px solid var(--line)}
.v6-news{padding:24px 28px 28px}
.v6-col-h{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:18px;
}
.v6-col-h b{font-size:18px;font-weight:700;color:var(--ink)}
.v6-col-h span{font-size:10px;color:var(--muted-2);letter-spacing:.12em}
.v6-certs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v6-cert .media{height:116px}
.v6-cert .media-ph{padding:12px}
.v6-cert .media-ph .ph-num{font-size:44px}
.v6-cert .media-ph .ph-desc{font-size:10px;padding:5px 8px}
.v6-cert .media-ph .ph-size{display:none}
.v6-cert>span{display:block;font-size:11.5px;color:var(--muted);text-align:center;margin-top:8px}
.v6-news-row{
  display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;
  padding:12px 4px;border-bottom:1px solid var(--line);font-size:13px;
  transition:background .2s;
}
.v6-news-row:last-of-type{border-bottom:0}
.v6-news-row:hover{background:var(--accent-soft)}
.v6-news-row .mono{font-size:11px;color:var(--muted-2)}
.v6-news-row b{font-weight:600;color:var(--ink)}
.v6-news-row em{font-style:normal;font-size:10.5px;color:var(--accent);white-space:nowrap}
.v6-news-more{display:inline-block;margin-top:16px;font-size:12px;color:var(--accent);font-weight:600}

/* ---------- 08 联系我们（深蓝收尾） ---------- */
.v6-contact{display:grid;grid-template-columns:1fr 240px;gap:52px;align-items:center}
.v6-contact-l p{font-size:27px;font-weight:700;line-height:1.55;color:#fff;letter-spacing:-.02em}
.v6-contact-l>span{display:block;font-size:12.5px;color:#B9D3EA;line-height:1.9;margin:16px 0 24px;max-width:660px}
.v6-contact-qr{text-align:center}
.v6-contact-qr .media{width:176px;height:176px;margin:0 auto 13px;border:0}
.v6-contact-qr b{display:block;font-size:12.5px;font-weight:600;color:#fff}
.blk.dark .blk-foot{display:block;padding:0}
.v6-contact-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.v6-cc{padding:22px 26px;border-right:1px solid rgba(255,255,255,.16)}
.v6-cc:last-child{border-right:0}
.v6-cc>span{display:block;font-size:10px;letter-spacing:.14em;color:var(--on-dark);margin-bottom:9px}
.v6-cc>div{font-size:12.5px;color:#DCEBF8;line-height:1.85}

/* ---------- 响应式 ---------- */
@media (max-width:1100px){
  .v6-blocks{grid-template-columns:1fr 1fr}
  .v6-prods{grid-template-columns:1fr 1fr}
  .v6-cases{grid-template-columns:1fr 1fr}
  .v6-two{grid-template-columns:1fr}
  .v6-honors{border-right:0;border-bottom:1px solid var(--line)}
  .v6-contact{grid-template-columns:1fr 200px;gap:30px}
  .blk.lv1 .blk-title{font-size:36px}
}
@media (max-width:760px){
  :root{--pad:20px}
  .sect.s1{padding:30px 0}
  .sect.s2{padding:15px 0}
  .blk-head,.blk.lv1 .blk-head{padding:24px 20px 20px;gap:14px}
  .blk-num,.blk.lv1 .blk-num{font-size:11px;padding-top:6px}
  .blk-title,.blk.lv1 .blk-title{font-size:26px}
  .blk.lv2 .blk-title{font-size:23px}
  .blk-desc,.blk.lv1 .blk-desc{font-size:12.5px;margin-top:8px}
  .blk-more{display:none}
  .blk-body,.blk.lv1 .blk-body{padding:22px 20px 26px}
  .blk-foot,.blk.lv1 .blk-foot{padding:15px 20px;flex-wrap:wrap;gap:8px}
  .v6-blocks,.v6-pains,.v6-steps,.v6-prods,.v6-cases{grid-template-columns:1fr}
  .v6-block-media{height:190px}
  .v6-pain{border-right:0;border-bottom:1px solid var(--line)}
  .v6-pain:last-child{border-bottom:0}
  .v6-step::after{display:none}
  .v6-prod-media{height:200px}
  .v6-strap{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}
  .v6-strap-l b{font-size:18px}
  .v6-about-copy{column-count:1}
  .v6-about-wide{height:220px;margin-top:20px}
  .v6-about-facts{grid-template-columns:1fr 1fr}
  .v6-about-facts>div:nth-child(2){border-right:0}
  .v6-about-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .v6-news-row{grid-template-columns:82px 1fr;gap:8px}
  .v6-news-row em{display:none}
  .v6-contact{grid-template-columns:1fr;gap:26px}
  .v6-contact-l p{font-size:21px}
  .v6-contact-grid{grid-template-columns:1fr 1fr}
  .v6-cc:nth-child(2){border-right:0}
  .v6-cc:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
}

/* ---------- V6 收尾：深底标题可见 / 大图放大 / 手机首屏减负 ---------- */
.blk.dark .blk-title{color:#fff}
.v6-about-wide{height:440px}
@media (max-width:760px){
  .hero-meta{display:none}
  .v6-about-wide{height:230px}
}

/* V6 手机端：保留「查看更多」按钮 */
@media (max-width:760px){
  .blk-head,.blk.lv1 .blk-head{flex-wrap:wrap}
  .blk-more{display:inline-block;margin-left:36px;margin-top:4px}
}

/* V6 收尾二：板块标题均衡换行，杜绝孤字 */
.v6-block-txt h3{font-size:17px;text-wrap:balance;min-height:3em}
.v6-prod-txt h3,.v6-case-txt h3{text-wrap:balance}
.v6-contact-l p{text-wrap:balance}


/* ==================================================================
   V7 · 批注整改：清晰 LOGO / 电话放大 / 双主线主营 / 可交互痛点与四步曲
   ================================================================== */

/* ---------- 品牌锁定：图标 + 文字，替代小尺寸位图（保证四个字清晰） ---------- */
.brand{gap:12px}
.brand-mark-img{
  height:46px;width:auto;display:block;flex:none;
  transition:transform .28s ease,height .28s ease;
}
.brand:hover .brand-mark-img{transform:translateY(-1px)}
.brand .brand-txt{display:flex;flex-direction:column;line-height:1;gap:6px}
.brand .brand-cn{
  font-size:21px;font-weight:800;letter-spacing:.10em;color:var(--ink);
  font-family:var(--f-cn,inherit);
}
.brand .brand-en{
  font-size:8px;letter-spacing:.19em;color:var(--muted-2);font-weight:400;
  font-family:Arial,Helvetica,sans-serif;margin:0;
}
.nav.scrolled .brand-mark-img{height:38px}
.nav.scrolled .brand .brand-cn{font-size:19px}

/* ---------- 电话：从“看不见”变成导航里的第二重点 ---------- */
.nav-tel{
  display:flex;flex-direction:column;align-items:flex-end;gap:3px;
  text-decoration:none;padding:2px 0 2px 14px;border-left:1px solid var(--line);
}
.nav-tel i{
  font-style:normal;font-size:9.5px;letter-spacing:.14em;color:var(--muted-2);
  line-height:1;
}
.nav-tel b{
  font-size:16px;font-weight:800;color:var(--accent);line-height:1.15;
  letter-spacing:.01em;font-variant-numeric:tabular-nums;
  transition:color .2s;
}
.nav-tel:hover b{color:var(--deep)}
@media (max-width:1180px){
  .nav-tel{display:flex}
  .nav-tel b{font-size:14px}
  .brand .brand-cn{font-size:19px}
  .brand-mark-img{height:40px}
}
@media (max-width:820px){
  .nav-tel{display:none}
}

/* ---------- 01 主营业务：两条主线并列 ---------- */
.v7-lines{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.v7-line{
  border:1px solid var(--line);background:#fff;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.v7-line:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(10,39,69,.12);border-color:var(--accent)}
.v7-line-media{height:248px;position:relative;overflow:hidden}
.v7-line-media .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v7-line-media .media-img{transition:transform .6s ease}
.v7-line:hover .media-img{transform:scale(1.05)}
.v7-line-txt{padding:26px 28px 28px;flex:1;display:flex;flex-direction:column}
.v7-line-tag{
  display:inline-block;font-size:10.5px;letter-spacing:.12em;color:var(--accent);
  font-weight:700;text-transform:uppercase;
}
.v7-line-txt h3{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.35;margin:12px 0 10px}
.v7-line-txt>p{font-size:13px;color:var(--muted);line-height:1.85;max-width:520px}
.v7-line-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
.v7-line-list li{
  font-size:13px;color:var(--ink-2);line-height:1.7;padding:11px 0 11px 18px;
  border-bottom:1px solid var(--line);position:relative;
}
.v7-line-list li::before{
  content:"";position:absolute;left:0;top:19px;width:6px;height:6px;
  background:var(--accent);border-radius:50%;
}
.v7-line-foot{
  margin-top:auto;padding-top:18px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.v7-line-foot .mono{font-size:10.5px;color:var(--muted-2);letter-spacing:.04em}
.v7-line-foot a{font-size:12.5px;font-weight:700;color:var(--accent);white-space:nowrap}

/* ---------- 02 痛点：列表点选 + 右侧联动面板 ---------- */
.v7-painmod{display:grid;grid-template-columns:1.02fr 1fr;gap:0;border:1px solid var(--line);background:#fff}
.v7-pain-list{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.v7-pain-item{
  display:flex;align-items:flex-start;gap:16px;text-align:left;width:100%;
  padding:22px 24px;background:var(--paper);border:0;border-bottom:1px solid var(--line);
  border-left:3px solid transparent;cursor:pointer;position:relative;
  transition:background .22s,border-color .22s,padding .22s;
  font-family:inherit;
}
.v7-pain-item:last-child{border-bottom:0}
.v7-pain-item:hover{background:#fff}
.v7-pain-item.active{background:#fff;border-left-color:var(--accent)}
.v7-pain-n{
  flex:none;font-size:13px;font-weight:800;color:var(--muted-2);
  letter-spacing:.06em;padding-top:4px;transition:color .22s;
}
.v7-pain-item.active .v7-pain-n{color:var(--accent)}
.v7-pain-b{flex:1;min-width:0;display:block}
.v7-pain-b b{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:7px}
.v7-pain-b em{
  display:block;font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.8;
  max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .25s ease;
}
.v7-pain-item.active .v7-pain-b em{max-height:80px;opacity:1}
.v7-pain-ar{
  flex:none;font-style:normal;color:var(--accent);font-size:15px;
  opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s;padding-top:2px;
}
.v7-pain-item.active .v7-pain-ar,.v7-pain-item:hover .v7-pain-ar{opacity:1;transform:translateX(0)}

.v7-pain-stage{position:relative;background:var(--accent-soft);padding:30px 32px 32px;min-height:340px}
.v7-pain-panel{display:none}
.v7-pain-panel.on{display:block;animation:v7Fade .34s ease both}
@keyframes v7Fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v7-pp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v7-pp-top .mono{font-size:10px;letter-spacing:.14em;color:var(--brand);font-weight:700}
.v7-pp-ghost{font-size:34px;font-weight:800;color:rgba(20,96,174,.16);line-height:1}
.v7-pain-panel h4{font-size:27px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:14px 0 10px}
.v7-pp-now{font-size:12.5px;color:var(--muted);line-height:1.85}
.v7-pp-rule{height:1px;background:rgba(20,96,174,.22);margin:18px 0 16px}
.v7-pp-solve{font-size:14px;color:var(--ink);line-height:1.9;font-weight:500}
.v7-pp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.v7-pp-tags span{
  font-size:11px;font-weight:600;color:var(--brand);background:#fff;
  border:1px solid rgba(20,96,174,.22);padding:5px 11px;
}
.v7-pp-num{display:flex;align-items:baseline;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(20,96,174,.2)}
.v7-pp-num b{font-size:30px;font-weight:800;color:var(--brand);line-height:1;letter-spacing:-.02em}
.v7-pp-num b small{font-size:13px;font-weight:700;margin-left:2px}
.v7-pp-num span{font-size:11.5px;color:var(--muted)}

/* ---------- 03 四步曲：可点开的步骤条 ---------- */
.v7-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.v7-step{
  display:flex;flex-direction:column;text-align:left;width:100%;
  background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--line-2);
  padding:22px 22px 24px;cursor:pointer;font-family:inherit;
  transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;
}
.v7-step:hover{background:#fff;transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,39,69,.08)}
.v7-step.active{
  background:#fff;border-color:var(--accent);border-top-color:var(--accent);
  box-shadow:0 16px 34px rgba(20,96,174,.13);transform:translateY(-3px);
}
.v7-step-n{
  font-size:11px;font-weight:800;color:var(--muted-2);letter-spacing:.14em;
  transition:color .25s;
}
.v7-step.active .v7-step-n{color:var(--accent)}
.v7-step b{display:block;font-size:19px;font-weight:800;color:var(--ink);line-height:1.4;margin:12px 0 7px;letter-spacing:-.01em}
.v7-step em{display:block;font-style:normal;font-size:12px;color:var(--muted);line-height:1.7}
.v7-step-bar{display:block;height:2px;background:var(--line);margin-top:16px;overflow:hidden}
.v7-step-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .5s cubic-bezier(.4,0,.2,1)}
.v7-step.active .v7-step-bar i{width:100%}
.v7-step-more{display:none;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2)}
.v7-step.active .v7-step-more{display:block;animation:v7Fade .3s ease both}
.v7-step-d{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.85}
.v7-step-kv{display:flex;flex-direction:column;gap:7px;margin-top:14px}
.v7-step-kv>span{display:flex;align-items:baseline;gap:8px;font-size:11.5px;color:var(--ink-2)}
.v7-step-kv i{
  flex:none;font-style:normal;font-size:10px;color:var(--brand);font-weight:700;
  letter-spacing:.08em;background:var(--accent-soft);padding:2px 6px;min-width:38px;text-align:center;
}

/* ---------- 06 公司简介：左图（完整车间）+ 右文 ---------- */
.v7-about{display:grid;grid-template-columns:1.04fr .96fr;gap:36px;align-items:stretch}
.v7-about-media{position:relative;min-height:520px;overflow:hidden;background:var(--paper)}
.v7-about-media .media{position:absolute;inset:0;width:100%;height:100%;border:0}
.v7-about-media .media-img{object-position:center}
.v7-about-txt{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0}
.v7-about-copy{font-size:13.5px;color:var(--muted);line-height:1.95}
.v7-about-copy p{margin-bottom:14px}
.v7-about-copy p:first-child{color:var(--ink);font-size:15px;font-weight:600;line-height:1.9}
.v7-about-copy p:last-child{margin-bottom:0}
.v7-about-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-top:4px}
.v7-about-facts>div{padding:18px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.v7-about-facts>div:nth-child(2n){border-right:0}
.v7-about-facts>div:nth-last-child(-n+2){border-bottom:0}
.v7-about-facts b{display:block;font-size:23px;color:var(--accent);line-height:1.2;margin-bottom:4px;font-weight:800}
.v7-about-facts span{font-size:11.5px;color:var(--muted)}

/* ---------- 07 资质：两张并排，说明补充 ---------- */
.v6-certs{grid-template-columns:1fr 1fr}
.v6-cert .media{height:168px}
.v6-cert .media-ph .ph-num{font-size:56px}
.v7-cert-note{
  font-size:11.5px;color:var(--muted-2);line-height:1.8;margin-top:14px;
  padding-top:12px;border-top:1px dashed var(--line-2);
}

/* ---------- 响应式 ---------- */
@media (max-width:1100px){
  .v7-lines{grid-template-columns:1fr}
  .v7-painmod{grid-template-columns:1fr}
  .v7-pain-list{border-right:0;border-bottom:1px solid var(--line)}
  .v7-pain-stage{min-height:0}
  .v7-steps{grid-template-columns:1fr 1fr}
  .v7-about{grid-template-columns:1fr}
  .v7-about-media{min-height:400px}
  .v7-line-media{height:220px}
}
@media (max-width:760px){
  .brand-mark-img{height:38px}
  .brand .brand-cn{font-size:18px}
  .brand .brand-en{font-size:7px}
  .v7-line-media{height:200px}
  .v7-line-txt{padding:20px}
  .v7-line-txt h3{font-size:21px}
  .v7-pain-item{padding:18px 18px}
  .v7-pain-stage{padding:22px 20px 24px}
  .v7-pain-panel h4{font-size:22px}
  .v7-steps{grid-template-columns:1fr}
  .v7-about-media{min-height:260px}
  .v7-about-facts b{font-size:20px}
  .v6-cert .media{height:130px}
}

/* ---------- V7 修正：四步曲不拉满高度 + 步骤提示 + 证书占位简化 ---------- */
.v7-steps{align-items:start}
.v7-step-hint{
  display:block;margin-top:14px;font-size:10px;letter-spacing:.08em;color:var(--muted-2);
  padding-top:11px;border-top:1px dashed var(--line-2);
}
.v7-step.active .v7-step-hint{display:none}
.v6-cert .media-ph .ph-desc{display:none}
.v6-cert .media-ph .ph-foot{justify-content:flex-start}
.v6-cert .media-ph{padding:10px 12px}
.v6-cert .media-ph .ph-top .ph-label{font-size:8px;letter-spacing:.12em}
.v7-step{min-height:198px}
.v7-step-hint{margin-top:auto}

/* ---------- V7 修正二：动画不锁定终帧，避免任何环境下内容不可见 ---------- */
.v7-pain-panel.on{animation:v7Fade .34s ease}
.v7-step.active .v7-step-more{animation:v7Fade .3s ease}

/* ---------- V7 修正三：详情面板一律直接可见，不依赖动画 ---------- */
.v7-pain-panel.on,.v7-step.active .v7-step-more{animation:none}
.v7-pain-panel.on{transition:none}

/* ---------- V7 修正四：内容可见性不依赖过渡 ---------- */
.v7-pain-item{transition:none}
.v7-pain-b em{
  max-height:none;opacity:1;overflow:visible;
  transition:none;
  font-size:12.5px;color:var(--muted);line-height:1.8;
}
.v7-pain-item.active .v7-pain-b em{max-height:none;opacity:1}
.v7-pain-ar{opacity:.25;transform:none;transition:none}
.v7-pain-item.active .v7-pain-ar,.v7-pain-item:hover .v7-pain-ar{opacity:1}
.v7-step{transition:box-shadow .25s ease}
.v7-step.active{border-top-color:var(--accent)}
.v7-step-bar i{transition:none}
.v7-step:hover{transform:none}
.v7-step.active{transform:none}
.v7-pain-item{padding:20px 22px}

/* ---------- V7 手机端电话入口 ---------- */
.nav-tel-m{display:none;align-items:center;gap:7px;color:var(--accent);text-decoration:none}
.nav-tel-m svg{width:17px;height:17px;flex:none}
.nav-tel-m b{font-size:13px;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums}
@media (max-width:820px){
  .nav-tel-m{display:inline-flex}
  .nav-right .btn[data-qr]{display:none}
  .nav-right{gap:12px}
}
@media (max-width:400px){
  .nav-tel-m b{display:none}
  .nav-tel-m{padding:6px;border:1px solid var(--line-2)}
}


/* ==================================================================
   V8 · 服务四步曲：鼠标悬停即展开（不用点击）
   要点：详情常驻渲染 + max-height 收起，才能做“伸缩”过渡；
        不碰 opacity 的终态，任何环境下内容都不会消失。
   ================================================================== */

/* 触屏设备换文案 */
.hover-m{display:none}
@media (hover:none){
  .hover-pc{display:none}
  .hover-m{display:inline}
}

/* 详情：默认收起为 0 高，hover / 键盘聚焦 / 已锁定 时展开 */
.v7-step-more{
  display:block;
  max-height:0;
  margin-top:0;
  overflow:hidden;
  opacity:0;
  border-top:1px dashed var(--line-2);
  transition:max-height .32s cubic-bezier(.4,0,.2,1),
             margin-top .32s cubic-bezier(.4,0,.2,1),
             opacity .2s ease;
}
.v7-step:hover .v7-step-more,
.v7-step:focus-visible .v7-step-more,
.v7-step.active .v7-step-more{
  max-height:240px;
  margin-top:16px;
  opacity:1;
}

/* 展开时收起“展开细节”提示 */
.v7-step:hover .v7-step-hint,
.v7-step:focus-visible .v7-step-hint,
.v7-step.active .v7-step-hint{display:none}

/* 悬停态与选中态同一套视觉，鼠标移上去即“亮起来” */
.v7-step:hover{
  background:#fff;
  border-color:var(--accent);
  border-top-color:var(--accent);
  box-shadow:0 16px 34px rgba(20,96,174,.13);
}
.v7-step:hover .v7-step-n{color:var(--accent)}
.v7-step:hover .v7-step-bar i{width:100%}

/* 触屏上点击展开时不必留悬停位移 */
@media (hover:none){
  .v7-step:hover{border-color:var(--line);border-top-color:var(--line-2);box-shadow:none}
  .v7-step:hover .v7-step-n{color:var(--muted-2)}
}

/* ---------- V8 修正：四张卡始终等高，展开时整排一起呼吸，不产生参差 ---------- */
.v7-steps{align-items:stretch}
.v7-step{min-height:206px}

/* ---------- V8 修正二：展开一律用 display 控制 ----------
   过渡动画在部分环境（无头预览 / 冻结虚拟时间）不会推进，
   若靠 max-height 从 0 过渡，内容会永久不可见。
   因此展开状态直接显示，动效只做 transform 位移，不参与可见性。 */
.v7-step-more{
  display:none;
  max-height:none;
  margin-top:16px;
  padding-top:14px;
  opacity:1;
  overflow:visible;
  border-top:1px dashed var(--line-2);
  transition:none;
}
.v7-step:hover .v7-step-more,
.v7-step:focus-visible .v7-step-more,
.v7-step.active .v7-step-more{
  display:block;
  max-height:none;
  margin-top:16px;
  opacity:1;
  animation:v8Unfold .26s cubic-bezier(.22,1,.36,1);
}
@keyframes v8Unfold{
  from{transform:translateY(-8px)}
  to{transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .v7-step:hover .v7-step-more,
  .v7-step:focus-visible .v7-step-more,
  .v7-step.active .v7-step-more{animation:none}
}

/* ---------- V8 手机端：单列时不必等高，去掉最小高度，文案直说“点一下” ---------- */
@media (max-width:760px){
  .v7-steps{align-items:start}
  .v7-step{min-height:0}
  .hover-pc{display:none}
  .hover-m{display:inline}
}


/* ==================================================================
   V9 · 分享与自适应收尾
   1) 演示条右侧「复制分享链接」按钮，解决“发给别人打不开”
   2) 超小屏（≤420）联系方式改单列，消除横向滚动
   ================================================================== */

/* ---------- 演示条右侧 ---------- */
.demo-note .demo-r{display:flex;align-items:center;gap:12px;flex:none}
.demo-note .demo-code{font-size:9.5px;letter-spacing:.12em;color:var(--muted-2)}
.demo-copy{
  display:inline-flex;align-items:center;gap:6px;
  height:22px;padding:0 10px;border:1px solid rgba(20,96,174,.32);
  background:#fff;color:var(--accent);cursor:pointer;font-family:inherit;
  font-size:10.5px;font-weight:600;letter-spacing:.02em;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.demo-copy svg{width:12px;height:12px;flex:none}
.demo-copy:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.demo-copy.ok{background:#0F7B4F;border-color:#0F7B4F;color:#fff}

/* ---------- 后台入口 ---------- */
.demo-admin{
  display:inline-flex;align-items:center;height:22px;padding:0 11px;
  border:1px solid var(--accent);background:var(--accent);color:#fff;
  font-size:10.5px;font-weight:600;letter-spacing:.04em;text-decoration:none;
  transition:background .2s ease,border-color .2s ease;
}
.demo-admin:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------- 超小屏：联系方式单列 ---------- */
@media (max-width:420px){
  .v6-contact-grid{grid-template-columns:1fr}
  .v6-cc{padding:16px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .v6-cc:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .v6-cc:last-child{border-bottom:0}
  .v6-cc>div{word-break:break-word;overflow-wrap:anywhere}
  .nav-right{gap:8px}
  .demo-note .wrap{gap:8px}
  .demo-l{font-size:8.5px}
}

/* 手机端演示条：只留图标，省出空间给内容 */
@media (max-width:760px){
  .demo-copy{padding:0 8px}
  .demo-copy .dc-txt{display:none}
  .demo-copy svg{width:13px;height:13px}
}

/* 演示条：手机上隐藏长尾说明，避免省略号断字 */
@media (max-width:760px){
  .demo-extra{display:none}
  .demo-l{font-size:9px;letter-spacing:0}
  .demo-note .wrap{padding:0 10px}
}
