/* ==========================================================
   苏州光谷光电 · 官网改版样式
   白蓝主调 · 深蓝 #0A2060 + 橙红 #E15616
   ========================================================== */

:root{
  --blue-900:#061641;
  --blue-800:#0A2060;
  --blue-700:#12307E;
  --blue-600:#1B47A8;
  --blue-500:#2C6BD1;
  --blue-400:#5C90E0;
  --blue-200:#B7CDF0;
  --blue-100:#DCE8FA;
  --blue-50:#F1F6FE;
  --orange:#E15616;
  --orange-2:#FF7A31;
  --orange-d:#C24610;
  --ink:#101B2E;
  --text:#26364E;
  --text2:#5B6B84;
  --text3:#8C99AC;
  --line:#E3EAF6;
  --line-2:#EFF4FB;
  --bg:#FFFFFF;
  --bg-soft:#F6F9FE;
  --shadow-s:0 2px 10px rgba(10,32,96,.06);
  --shadow-m:0 10px 30px rgba(10,32,96,.10);
  --shadow-l:0 22px 60px rgba(10,32,96,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",sans-serif;
  font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
::selection{background:var(--blue-800);color:#fff}

.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 32px}

/* ---------- 通用按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:50px;padding:0 30px;border-radius:2px;
  font-size:15px;font-weight:600;letter-spacing:.02em;
  position:relative;overflow:hidden;transition:.3s var(--ease);
  white-space:nowrap;
}
.btn i{font-style:normal;transition:transform .3s var(--ease)}
.btn:hover i{transform:translateX(4px)}
.btn-p{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(225,86,22,.28)}
.btn-p::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,var(--orange-2),var(--orange));
  opacity:0;transition:opacity .3s;
}
.btn-p:hover::after{opacity:1}
.btn-p span,.btn-p i{position:relative;z-index:1}
.btn-p:hover{box-shadow:0 10px 26px rgba(225,86,22,.38);transform:translateY(-2px)}
.btn-o{border:1px solid rgba(255,255,255,.45);color:#fff}
.btn-o:hover{background:#fff;color:var(--blue-800);border-color:#fff}
.btn-b{border:1px solid var(--line);color:var(--blue-800);background:#fff}
.btn-b:hover{border-color:var(--blue-800);background:var(--blue-800);color:#fff}

/* ==========================================================
   顶部信息条
   ========================================================== */
.top{background:var(--blue-800);color:rgba(255,255,255,.72);font-size:13px;height:38px}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:38px}
.top-l{display:flex;gap:26px;align-items:center}
.top-l span{display:inline-flex;align-items:center;gap:6px}
.top-l svg{width:13px;height:13px;opacity:.6}
.top-r{display:flex;align-items:center;gap:18px}
.top-r a{transition:.2s}
.top-r a:hover{color:#fff}
.top-tag{
  background:rgba(255,255,255,.1);padding:3px 10px;font-size:12px;
  display:inline-flex;align-items:center;gap:6px;
}
.top-tag::before{content:"";width:5px;height:5px;background:var(--orange-2);border-radius:50%}

/* ==========================================================
   导航
   ========================================================== */
.navw{
  position:sticky;top:0;z-index:900;background:#fff;
  border-bottom:1px solid var(--line);transition:.3s var(--ease);
}
.navw.stuck{box-shadow:0 8px 28px rgba(10,32,96,.09);border-bottom-color:transparent}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px}

.logo{display:flex;align-items:center;gap:12px;flex:0 0 auto;white-space:nowrap}
.logo-ico{display:block;width:auto;height:46px;flex:0 0 auto}
.logo-t b{display:block;font-size:19px;font-weight:800;color:var(--blue-800);letter-spacing:.01em;line-height:1.25;white-space:nowrap}
.logo-t s{display:block;font-size:9.5px;color:var(--text3);letter-spacing:.01em;text-decoration:none;white-space:nowrap;margin-top:2px}

.menu{display:flex;gap:2px;flex:0 1 auto;flex-wrap:nowrap;min-width:0}
.menu>li{position:relative;flex:0 0 auto}
.menu>li>a{
  display:block;padding:12px 14px;font-size:15px;font-weight:500;color:var(--text);
  white-space:nowrap;position:relative;transition:color .2s;
}
.menu>li>a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;
  background:var(--blue-600);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.menu>li:hover>a,.menu>li.on>a{color:var(--blue-700)}
.menu>li:hover>a::after,.menu>li.on>a::after{transform:scaleX(1)}
.menu>li.on>a{font-weight:700}

.dd{
  position:absolute;top:100%;left:0;min-width:210px;background:#fff;
  border:1px solid var(--line);border-top:2px solid var(--blue-600);
  box-shadow:var(--shadow-m);padding:8px 0;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.26s var(--ease);
}
.menu>li:hover .dd{opacity:1;visibility:visible;transform:translateY(0)}
.dd a{display:block;padding:10px 20px;font-size:14px;color:var(--text2);transition:.2s}
.dd a:hover{background:var(--blue-50);color:var(--blue-700);padding-left:26px}

.navr{display:flex;align-items:center;gap:20px;flex:0 0 auto;white-space:nowrap}
.nav-ph{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.nav-ph s{display:block;font-size:11px;color:var(--text3);text-decoration:none;letter-spacing:.08em}
.nav-ph b{font-size:19px;font-weight:800;color:var(--blue-800);letter-spacing:.01em}
.nav-btn{height:44px;padding:0 22px;font-size:14px}
.burger{
  display:none;width:44px;height:44px;border:1px solid var(--line);
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.burger i{display:block;width:20px;height:2px;background:var(--blue-800);transition:.3s}

/* 移动抽屉 */
.drawer{
  position:fixed;inset:0;z-index:1200;pointer-events:none;
}
.drawer-bg{
  position:absolute;inset:0;background:rgba(6,22,65,.55);opacity:0;transition:.3s;
  backdrop-filter:blur(2px);
}
.drawer-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(84vw,360px);background:#fff;
  transform:translateX(100%);transition:.36s var(--ease);
  display:flex;flex-direction:column;
}
.drawer.on{pointer-events:auto}
.drawer.on .drawer-bg{opacity:1}
.drawer.on .drawer-panel{transform:none}
.drawer-hd{
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;border-bottom:1px solid var(--line);flex:0 0 auto;
}
.drawer-hd b{color:var(--blue-800);font-size:16px}
.drawer-x{width:36px;height:36px;font-size:24px;color:var(--text3);line-height:1}
.drawer-bd{flex:1;overflow:auto;padding:8px 0}
.drawer-bd a{
  display:block;padding:15px 22px;font-size:16px;font-weight:500;
  border-bottom:1px solid var(--line-2);color:var(--text);
}
.drawer-bd a:active{background:var(--blue-50)}
.drawer-bd .sub{padding-left:40px;font-size:14px;color:var(--text2);font-weight:400}
.drawer-ft{padding:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.drawer-ft .btn{height:46px;width:100%}

/* ==========================================================
   首屏轮播
   ========================================================== */
.hero{
  position:relative;overflow:hidden;background:var(--blue-50);
  height:min(760px,calc(100vh - 120px));min-height:580px;
}
.slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .9s var(--ease),visibility .9s;
}
.slide.on{opacity:1;visibility:visible}
.slide::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1100px 620px at 78% 42%,rgba(44,107,209,.22),transparent 62%),
    radial-gradient(760px 460px at 8% 8%,rgba(225,86,22,.09),transparent 60%),
    linear-gradient(150deg,#F5F9FF 0%,#E6F0FE 52%,#D5E3FA 100%);
}
/* 蓝图网格 */
.slide::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(10,32,96,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,96,.07) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(78% 78% at 50% 46%,#000 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(78% 78% at 50% 46%,#000 30%,transparent 100%);
}
.slide.v2::before{
  background:
    radial-gradient(1100px 620px at 70% 50%,rgba(27,71,168,.20),transparent 64%),
    linear-gradient(160deg,#F8FBFF 0%,#E7F0FE 46%,#D6E4FA 100%);
}
.slide.v3::before{
  background:
    radial-gradient(1000px 600px at 74% 44%,rgba(225,86,22,.13),transparent 62%),
    radial-gradient(900px 520px at 20% 80%,rgba(44,107,209,.14),transparent 60%),
    linear-gradient(150deg,#FBFCFE 0%,#EEF4FD 50%,#E2EBF9 100%);
}

.slide-in{
  position:relative;z-index:2;height:100%;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;
}
.hero-txt{max-width:600px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;font-weight:700;letter-spacing:.16em;color:var(--blue-600);
  text-transform:uppercase;margin-bottom:22px;
}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--orange)}
.hero-txt h1{
  font-size:clamp(34px,4vw,58px);line-height:1.16;font-weight:800;
  color:var(--blue-900);letter-spacing:-.015em;
}
.hero-txt h1 em{
  font-style:normal;color:var(--orange);position:relative;white-space:nowrap;
}
.hero-txt h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:4px;height:8px;
  background:rgba(225,86,22,.15);z-index:-1;
}
.hero-txt p{
  font-size:17px;line-height:1.85;color:var(--text2);
  margin:24px 0 36px;max-width:530px;
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-btns .btn-o{border-color:var(--blue-200);color:var(--blue-800)}
.hero-btns .btn-o:hover{background:var(--blue-800);color:#fff;border-color:var(--blue-800)}

/* 首屏设备卡 —— 无框悬浮式：机型直接浮在页面上，只带投影 */
.hero-art{position:relative;height:100%;display:flex;align-items:center;justify-content:center}
.dev{
  position:relative;width:min(100%,680px);
  max-width:calc((100vh - 120px) / 1.08);
  aspect-ratio:1/1.08;
  padding-bottom:34px;
  display:flex;align-items:center;justify-content:center;
  animation:float 7s ease-in-out infinite;
}
.dev::before{display:none}
.dev-corner{display:none}
.dev svg{
  width:100%;height:auto;margin-bottom:0;
  filter:drop-shadow(0 32px 40px rgba(10,32,96,.20)) drop-shadow(0 8px 14px rgba(10,32,96,.10));
}
.dev .shot{inset:0 0 34px 0}
.dev .shot img{
  max-width:100%;max-height:100%;
  filter:drop-shadow(0 32px 40px rgba(10,32,96,.20)) drop-shadow(0 8px 14px rgba(10,32,96,.10));
}
.dev-tag{
  position:absolute;left:0;right:0;bottom:0;text-align:center;
  font-size:11px;letter-spacing:.14em;color:var(--text3);white-space:nowrap;
}

/* 非标三机位 —— 三台定制机型落在同一基线上，随列宽等比缩放 */
.slide.ns .slide-in{grid-template-columns:.72fr 1.28fr;gap:34px}
.slide.ns .hero-txt h1{font-size:clamp(30px,3.5vw,50px)}
.slide.ns .hero-art{align-items:flex-end;padding-bottom:92px}
.nsw{position:relative;width:100%;display:flex;align-items:flex-end;gap:68px;padding-bottom:34px;animation:float 8s ease-in-out infinite}
.nsi{position:relative;min-width:0;display:flex;justify-content:center;align-items:flex-end}
.nsi:nth-child(1){flex:.841 1 0}
.nsi:nth-child(2){flex:.908 1 0}
.nsi img{
  display:block;width:100%;height:auto;
  filter:drop-shadow(0 26px 30px rgba(10,32,96,.18)) drop-shadow(0 6px 10px rgba(10,32,96,.08));
}
.nsw-tag{
  position:absolute;left:0;right:0;bottom:0;text-align:center;
  font-size:11px;letter-spacing:.14em;color:var(--text3);white-space:nowrap;
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
.chip{
  position:absolute;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-m);padding:11px 16px;line-height:1.35;
  display:flex;align-items:center;gap:10px;
}
.chip b{display:block;font-size:15px;color:var(--blue-800);font-weight:800}
.chip s{display:block;font-size:11px;color:var(--text3);text-decoration:none;letter-spacing:.06em}
.chip-a{top:12%;left:-6%;animation:float 6s ease-in-out infinite}
.chip-b{bottom:16%;right:2%;animation:float 6.6s ease-in-out .8s infinite}
.chip-i{
  width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  background:var(--blue-50);color:var(--blue-600);
}
.chip-i svg{width:17px;height:17px}

/* 首屏控制 */
.hero-ctrl{
  position:absolute;left:0;right:0;bottom:0;z-index:5;
  border-top:1px solid rgba(10,32,96,.08);
  background:rgba(255,255,255,.62);backdrop-filter:blur(10px);
}
.hero-ctrl .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.hdots{display:flex;gap:0;align-items:stretch;flex:1;max-width:520px}
.hdot{
  flex:1;padding:0;position:relative;height:74px;
  display:flex;align-items:center;
}
.hdot::before{
  content:"";position:absolute;left:0;right:14px;top:50%;height:2px;
  background:rgba(10,32,96,.12);
}
.hdot span{
  position:relative;z-index:1;display:block;width:100%;height:2px;background:transparent;
  transform-origin:left;
}
.hdot.on span{background:var(--blue-600);animation:fill 6.4s linear forwards}
.hdot em{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:9px;height:9px;background:#fff;border:2px solid rgba(10,32,96,.2);border-radius:50%;
  transition:.3s;
}
.hdot.on em{border-color:var(--blue-600);background:var(--blue-600);box-shadow:0 0 0 4px rgba(44,107,209,.16)}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.hnum{display:flex;align-items:baseline;gap:5px;font-weight:800;color:var(--blue-800)}
.hnum b{font-size:22px;letter-spacing:-.02em}
.hnum s{font-size:12px;color:var(--text3);text-decoration:none;font-weight:600}
.hnum .sep{color:var(--line);margin:0 2px}
.harrows{display:flex;gap:8px;margin-left:22px}
.harrow{
  width:46px;height:46px;border:1px solid rgba(10,32,96,.14);background:#fff;
  display:flex;align-items:center;justify-content:center;transition:.24s;
}
.harrow:hover{background:var(--blue-800);border-color:var(--blue-800);color:#fff}
.harrow svg{width:16px;height:16px}

/* 首屏文字进场 */
.slide .an{opacity:0;transform:translateY(26px)}
.slide.on .an{animation:up .8s var(--ease) forwards}
.slide.on .an:nth-child(1){animation-delay:.10s}
.slide.on .an:nth-child(2){animation-delay:.20s}
.slide.on .an:nth-child(3){animation-delay:.32s}
.slide.on .an:nth-child(4){animation-delay:.44s}
.slide.on .hero-art{animation:artIn 1.1s var(--ease) .2s both}
@keyframes up{to{opacity:1;transform:none}}
@keyframes artIn{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}

/* ==========================================================
   数据条
   ========================================================== */
.stats{background:var(--blue-800);position:relative;overflow:hidden}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.stat{
  padding:46px 20px;text-align:center;color:#fff;
  border-right:1px solid rgba(255,255,255,.09);
}
.stat:last-child{border-right:0}
.stat b{
  display:block;font-size:clamp(30px,3.4vw,46px);font-weight:800;
  letter-spacing:-.02em;line-height:1.1;color:#fff;
}
.stat b i{font-style:normal;font-size:.55em;color:var(--orange-2);margin-left:2px;font-weight:700}
.stat s{display:block;text-decoration:none;font-size:13.5px;color:rgba(255,255,255,.6);margin-top:8px;letter-spacing:.04em}

/* ==========================================================
   通用区块标题
   ========================================================== */
.sec{padding:96px 0}
.sec.soft{background:var(--bg-soft)}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px}
.sec-hd .t{flex:0 0 auto}
.sec-k{
  display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;
  letter-spacing:.18em;color:var(--blue-500);text-transform:uppercase;margin-bottom:14px;
}
.sec-k::before{content:"";width:22px;height:2px;background:var(--orange)}
.sec-t{
  font-size:clamp(26px,3vw,40px);font-weight:800;color:var(--blue-900);
  line-height:1.24;letter-spacing:-.015em;white-space:nowrap;
}
.sec-t em{font-style:normal;color:var(--blue-600)}
.sec-d{font-size:15px;color:var(--text2);max-width:420px;text-align:right;padding-bottom:6px}
.sec-more{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;
  color:var(--blue-700);padding-bottom:6px;border-bottom:1px solid var(--blue-200);
  transition:.25s;white-space:nowrap;flex:0 0 auto;
}
.sec-more:hover{gap:14px;border-bottom-color:var(--orange);color:var(--orange)}

/* ==========================================================
   产品卡
   ========================================================== */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{
  position:relative;background:#fff;border:1px solid var(--line);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
  transform-style:preserve-3d;will-change:transform;cursor:pointer;
}
.pcard:hover{border-color:transparent;box-shadow:var(--shadow-l)}
.pimg{
  position:relative;aspect-ratio:4/3.1;overflow:hidden;
  background:linear-gradient(160deg,var(--blue-50),#E8F0FC);
  display:flex;align-items:center;justify-content:center;
}
.pimg::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(10,32,96,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,96,.04) 1px,transparent 1px);
  background-size:26px 26px;
}
.pimg svg{
  position:relative;z-index:1;width:68%;height:auto;
  transition:transform .6s var(--ease);
  filter:drop-shadow(0 12px 18px rgba(10,32,96,.12));
}
.pcard:hover .pimg svg{transform:scale(1.09) translateY(-4px)}
.pmask{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(160deg,rgba(10,32,96,.9),rgba(27,71,168,.82));
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  opacity:0;transform:translateY(100%);transition:.42s var(--ease);
}
.pcard:hover .pmask{opacity:1;transform:none}
.pmask em{
  font-style:normal;color:#fff;font-size:14px;letter-spacing:.14em;
  text-transform:uppercase;opacity:.55;
}
.pmask b{color:#fff;font-size:17px;font-weight:700}
.pmask u{
  text-decoration:none;color:var(--blue-900);background:#fff;
  font-size:13px;font-weight:700;padding:9px 20px;letter-spacing:.02em;
  transform:translateY(12px);opacity:0;transition:.4s var(--ease) .08s;
}
.pcard:hover .pmask u{transform:none;opacity:1}
.ptag{
  position:absolute;top:0;left:0;z-index:3;
  background:var(--blue-800);color:#fff;font-size:11px;font-weight:700;
  padding:6px 12px;letter-spacing:.08em;
}
.ptag.hot{background:var(--orange)}
.pbody{padding:24px 24px 26px;position:relative}
.pcat{font-size:11.5px;color:var(--blue-500);letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.pname{font-size:19px;font-weight:700;color:var(--ink);margin:9px 0 4px;letter-spacing:-.01em}
.pmodel{font-size:12.5px;color:var(--text3);letter-spacing:.08em;font-family:ui-monospace,Menlo,Consolas,monospace}
.pspec{
  display:flex;gap:0;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2);
}
.pspec div{flex:1;text-align:left;min-width:0;padding-right:8px}
.pspec div:last-child{padding-right:0}
.pspec b{
  display:block;font-size:13.5px;font-weight:700;color:var(--blue-800);
  white-space:nowrap;
}
.pspec b i{font-style:normal;font-size:10px;color:var(--text3);font-weight:600;margin-left:1px}
.pspec s{display:block;text-decoration:none;font-size:11px;color:var(--text3);margin-top:2px}

/* ==========================================================
   核心优势
   ========================================================== */
.adv{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:#fff}
.advc{
  padding:44px 32px;border-right:1px solid var(--line);
  position:relative;overflow:hidden;transition:.35s var(--ease);
}
.advc:last-child{border-right:0}
.advc::before{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.advc:hover{background:var(--blue-50)}
.advc:hover::before{transform:scaleX(1)}
.adv-n{
  font-size:44px;font-weight:800;color:var(--blue-100);line-height:1;
  letter-spacing:-.03em;transition:.35s;
}
.advc:hover .adv-n{color:var(--blue-200)}
.adv-i{width:40px;height:40px;margin:18px 0 16px;color:var(--blue-600)}
.adv-i svg{width:100%;height:100%}
.advc h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:10px}
.advc p{font-size:14px;color:var(--text2);line-height:1.8}

/* ==========================================================
   行业应用
   ========================================================== */
.indwrap{position:relative}
.ind{
  display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
  padding:2px 0 4px;
}
.ind::-webkit-scrollbar{display:none}
.ind .indc{flex:0 0 calc((100% - 80px)/6);scroll-snap-align:start}
.indarw{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);
  box-shadow:0 6px 20px rgba(10,32,96,.14);
  color:var(--blue-700);transition:.25s var(--ease);
}
.indarw svg{width:18px;height:18px}
.indarw:hover{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}
.indarw.prev{left:10px}
.indarw.next{right:10px}
.indarw[disabled]{opacity:.22;pointer-events:none}
.indc{
  position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;
  background:var(--blue-800);
}
.indc .ibg{
  position:absolute;inset:0;
  transition:.6s var(--ease);
  background-size:cover;background-position:center;
}
.indc:hover .ibg{transform:scale(1.08);filter:brightness(1.18)}
/* 行业线稿（占位图形，后续换实拍图可删） */
.iart{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;
  color:#fff;opacity:.22;transition:.5s var(--ease);pointer-events:none;
}
.iart svg{width:54%;height:auto;max-height:46%}
.indc:hover .iart{opacity:.34;transform:scale(1.07) translateY(-6px)}
.indc::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,32,96,0) 30%,rgba(6,22,65,.86) 100%);
  transition:.4s;
}
.indc.on::after{background:linear-gradient(180deg,rgba(10,32,96,.1) 20%,rgba(6,22,65,.92) 100%)}
.indc .itx{
  position:absolute;left:0;right:0;bottom:0;padding:26px 22px;z-index:2;color:#fff;
}
.indc .itx b{display:block;font-size:17px;font-weight:700;letter-spacing:.01em}
.indc .itx s{
  display:block;text-decoration:none;font-size:12px;color:rgba(255,255,255,.6);
  margin-top:4px;letter-spacing:.06em;
}
.indc .itx u{
  display:block;text-decoration:none;font-size:12.5px;color:rgba(255,255,255,.85);
  line-height:1.7;max-height:0;overflow:hidden;opacity:0;
  transition:.45s var(--ease);
}
.indc:hover .itx u{max-height:80px;opacity:1;margin-top:10px}
.indc .iln{
  position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:3;
}
.indc:hover .iln{transform:scaleX(1)}

/* ==========================================================
   客户案例
   ========================================================== */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ccard{
  position:relative;overflow:hidden;aspect-ratio:4/3.3;cursor:pointer;
  background:var(--blue-900);
}
.ccard .cbg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform .8s var(--ease),filter .5s;
  filter:saturate(.9);
}
.ccard .cbg::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:38px 38px;
}
.ccard:hover .cbg{transform:scale(1.07);filter:saturate(1.05)}
.ccard::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,22,65,.1) 25%,rgba(6,22,65,.9) 100%);
  transition:.4s;
}
.ccard:hover::after{background:linear-gradient(180deg,rgba(10,32,96,.55) 0%,rgba(6,22,65,.95) 100%)}
.ctx{
  position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2;color:#fff;
  transition:.45s var(--ease);
}
.ccard:hover .ctx{transform:translateY(-6px)}
.ctx s{
  display:inline-block;text-decoration:none;font-size:11.5px;font-weight:700;
  letter-spacing:.1em;color:var(--orange-2);text-transform:uppercase;margin-bottom:9px;
}
.ctx b{display:block;font-size:19px;font-weight:700;line-height:1.4}
.ctx p{
  font-size:13.5px;color:rgba(255,255,255,.7);line-height:1.8;
  margin-top:9px;
}
.ccard:hover .ctx p{color:rgba(255,255,255,.86)}
.ctx .cst{
  display:flex;gap:18px;margin-top:14px;
}
.cst div b{font-size:16px;color:var(--orange-2)}
.cst div s{display:block;font-size:11px;color:rgba(255,255,255,.55);margin:0;letter-spacing:0;font-weight:400}

/* ==========================================================
   样品墙（无缝滚动）
   ========================================================== */
.samp{background:var(--blue-900);padding:88px 0;overflow:hidden;position:relative}
.samp::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:60px 60px;
}
.samp .wrap{position:relative;z-index:2}
.samp .sec-k{color:var(--blue-400)}
.samp .sec-t{color:#fff}
.samp .sec-t em{color:var(--orange-2)}
.samp .sec-d{color:rgba(255,255,255,.6)}
.mq{
  display:flex;gap:16px;width:max-content;
  animation:mq 42s linear infinite;
  will-change:transform;
}
.mq.rev{animation-direction:reverse;animation-duration:52s}
.mq:hover{animation-play-state:paused}
.mq-row{padding:8px 0;overflow:hidden}
.mq-row + .mq-row{padding-top:0}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mitem{
  position:relative;width:210px;aspect-ratio:1;flex:0 0 auto;overflow:hidden;
  background:linear-gradient(155deg,#132A5E,#0A1C48);
  border:1px solid rgba(255,255,255,.09);
  display:flex;align-items:center;justify-content:center;
  transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;
  cursor:pointer;
}
.mitem svg{width:78%;height:78%;opacity:.9;transition:.4s}
.mitem:hover{
  transform:scale(1.12);z-index:5;border-color:rgba(255,122,49,.5);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.mitem:hover svg{opacity:1}
.mitem::after{
  content:attr(data-cap);
  position:absolute;left:0;right:0;bottom:0;padding:9px 12px;
  font-size:11.5px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));
  opacity:0;transform:translateY(8px);transition:.35s;
}
.mitem:hover::after{opacity:1;transform:none}

/* ==========================================================
   新闻
   ========================================================== */
.nlist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nc{
  background:#fff;border:1px solid var(--line);padding:30px 28px;
  display:flex;flex-direction:column;transition:.35s var(--ease);
  position:relative;overflow:hidden;
}
.nc::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--blue-600);transform:scaleY(0);transform-origin:top;
  transition:transform .4s var(--ease);
}
.nc:hover{box-shadow:var(--shadow-m);transform:translateY(-4px);border-color:transparent}
.nc:hover::before{transform:scaleY(1)}
.nc s{display:block;text-decoration:none;font-size:12px;color:var(--text3);letter-spacing:.08em;margin-bottom:14px}
.nc h3{font-size:17px;font-weight:700;color:var(--ink);line-height:1.5;transition:.25s}
.nc:hover h3{color:var(--blue-700)}
.nc p{font-size:13.5px;color:var(--text2);line-height:1.8;margin-top:10px;flex:1}
.nc u{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-size:13px;font-weight:600;color:var(--blue-600);margin-top:18px;
  transition:.25s;
}
.nc:hover u{gap:13px;color:var(--orange)}

/* ==========================================================
   底部询盘
   ========================================================== */
.cta{
  position:relative;overflow:hidden;background:var(--blue-800);color:#fff;
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 500px at 86% 24%,rgba(44,107,209,.5),transparent 62%),
    radial-gradient(600px 400px at 4% 90%,rgba(225,86,22,.24),transparent 62%);
}
.cta::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
}
.cta .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:84px 32px}
.cta-l .sec-k{color:var(--blue-400)}
.cta-l .sec-k::before{background:var(--orange-2)}
.cta-l h2{
  font-size:clamp(28px,3.2vw,42px);font-weight:800;line-height:1.24;
  letter-spacing:-.015em;color:#fff;
}
.cta-l h2 em{font-style:normal;color:var(--orange-2)}
.cta-l p{font-size:15px;color:rgba(255,255,255,.66);line-height:1.9;margin-top:18px;max-width:430px}
.cta-pts{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.cta-pts div{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,.8)}
.cta-pts i{
  width:22px;height:22px;flex:0 0 auto;border-radius:50%;
  background:rgba(255,122,49,.16);color:var(--orange-2);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-style:normal;font-weight:700;
}
.form{background:#fff;padding:34px 32px;box-shadow:var(--shadow-l)}
.form h3{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:6px}
.form .fsub{font-size:13px;color:var(--text3);margin-bottom:22px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{margin-bottom:14px}
.fld label{display:block;font-size:12.5px;color:var(--text2);margin-bottom:7px;font-weight:600}
.fld label i{color:var(--orange);font-style:normal;margin-left:2px}
.fld input,.fld select,.fld textarea{
  width:100%;height:46px;border:1px solid var(--line);background:var(--bg-soft);
  padding:0 14px;font-size:14px;color:var(--text);transition:.24s;
  font-family:inherit;border-radius:0;appearance:none;
}
.fld textarea{height:88px;padding:12px 14px;resize:vertical;line-height:1.7}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:none;border-color:var(--blue-500);background:#fff;
  box-shadow:0 0 0 3px rgba(44,107,209,.1);
}
.fld select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B6B84' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.form .btn{width:100%;height:50px;margin-top:8px}
.fnote{font-size:11.5px;color:var(--text3);text-align:center;margin-top:14px;line-height:1.7}

/* 表单：蜜罐字段（机器人可见，真人不可见） */
.form .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

/* 表单：校验/失败提示 */
.fmsg{font-size:12.5px;line-height:1.6;margin:2px 0 0;min-height:0;color:var(--text3)}
.fmsg:not(:empty){margin-bottom:8px}
.fmsg.err{color:#C0392B;background:#FDF1EF;border-left:3px solid #E05B48;padding:9px 12px}
.fmsg.ok{color:#1E7A46;background:#EFF8F2;border-left:3px solid #2E9E5B;padding:9px 12px}

/* 表单：提交成功后的替换卡片 */
.fok{background:#fff;padding:44px 32px;box-shadow:var(--shadow-l);text-align:center}
.fok-i{width:56px;height:56px;line-height:56px;border-radius:50%;margin:0 auto 18px;
  background:#EFF8F2;color:#2E9E5B;font-size:26px;font-weight:700}
.fok h3{font-size:19px;font-weight:800;color:var(--ink);margin-bottom:10px}
.fok p{font-size:14px;line-height:1.9;color:var(--text2);margin-bottom:18px}
.fok-tel{display:inline-block;font-size:20px;font-weight:800;color:var(--blue-700);
  letter-spacing:.01em;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:3px}
.fok-sub{font-size:12px;color:var(--text3);line-height:1.9;margin-top:20px;padding-top:16px;
  border-top:1px solid #EDF1F6}
@media(max-width:600px){
  .fok{padding:32px 20px}
  .fok-tel{font-size:18px}
}

/* ==========================================================
   页脚
   ========================================================== */
.foot{background:var(--blue-900);color:rgba(255,255,255,.62);padding:72px 0 0;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:56px}
.fbrand .logo-t b{color:#fff;font-size:17px;letter-spacing:0}
.logo-t{flex:0 0 auto}
.fbrand .logo-t b{text-align:left}
.fbrand .logo-t s{font-size:8.3px;letter-spacing:0;text-align:justify;text-align-last:justify}
.fbrand .logo-t s{color:rgba(255,255,255,.46)}
.fbrand p{font-size:13.5px;line-height:1.9;margin-top:20px;max-width:300px;color:rgba(255,255,255,.5)}
.fcol h4{font-size:14px;font-weight:700;color:#fff;margin-bottom:20px;letter-spacing:.02em}
.fcol li{margin-bottom:11px}
.fcol a{font-size:13.5px;color:rgba(255,255,255,.58);transition:.22s}
.fcol a:hover{color:var(--orange-2);padding-left:4px}
.fct{display:flex;flex-direction:column;gap:16px}
.fct>div{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.7}
.fct svg{width:16px;height:16px;flex:0 0 auto;margin-top:4px;opacity:.5}
.fct b{display:block;color:#fff;font-size:18px;font-weight:800;letter-spacing:.01em;white-space:nowrap;line-height:1.35}
.fct>div>div{min-width:0}
.fct em{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.45);margin-top:4px;letter-spacing:.02em;line-height:1.6;white-space:nowrap}
.fbtm{
  border-top:1px solid rgba(255,255,255,.08);padding:22px 0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  font-size:12.5px;color:rgba(255,255,255,.4);
}
.fbtm a:hover{color:#fff}

/* ==========================================================
   浮动 / 弹层
   ========================================================== */
.float{
  position:fixed;right:22px;bottom:28px;z-index:800;
  display:flex;flex-direction:column;gap:10px;
  transition:opacity .32s var(--ease),transform .32s var(--ease),visibility .32s;
}
.fbtn{
  width:52px;height:52px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-m);display:flex;align-items:center;justify-content:center;
  transition:.28s var(--ease);position:relative;
}
.fbtn:hover{background:var(--blue-800);color:#fff;border-color:var(--blue-800);transform:translateY(-3px)}
.fbtn svg{width:20px;height:20px}
.fbtn.pri{background:var(--orange);border-color:var(--orange);color:#fff}
.fbtn.pri:hover{background:var(--orange-d);border-color:var(--orange-d)}
.fbtn.pri::after{
  content:"";position:absolute;inset:0;border-radius:0;
  box-shadow:0 0 0 0 rgba(225,86,22,.5);animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(225,86,22,.45)}
  70%{box-shadow:0 0 0 16px rgba(225,86,22,0)}
  100%{box-shadow:0 0 0 0 rgba(225,86,22,0)}
}
#toTop{opacity:0;visibility:hidden;transform:translateY(10px)}
#toTop.on{opacity:1;visibility:visible;transform:none}

/* 产品详情弹层 */
.modal{
  position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;transition:.3s;
}
.modal.on{opacity:1;visibility:visible}
.modal-bg{position:absolute;inset:0;background:rgba(6,22,65,.62);backdrop-filter:blur(6px)}
.modal-box{
  position:relative;width:min(980px,100%);max-height:88vh;overflow:auto;background:#fff;
  display:grid;grid-template-columns:.95fr 1.05fr;
  transform:scale(.96) translateY(14px);transition:.34s var(--ease);
  box-shadow:0 40px 100px rgba(0,0,0,.35);
}
.modal.on .modal-box{transform:none}
.modal-img{
  background:linear-gradient(160deg,var(--blue-50),#E4EEFC);
  display:flex;align-items:center;justify-content:center;padding:40px;position:relative;
}
.modal-img::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(10,32,96,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,96,.045) 1px,transparent 1px);
  background-size:30px 30px;
}
.modal-img svg{position:relative;z-index:1;width:84%;height:auto;filter:drop-shadow(0 16px 24px rgba(10,32,96,.14))}
.modal-tx{padding:44px 40px}
.modal-tx .pcat{margin-bottom:10px}
.modal-tx h3{font-size:26px;font-weight:800;color:var(--blue-900);letter-spacing:-.015em;line-height:1.3}
.modal-tx .mm{font-size:13px;color:var(--text3);font-family:ui-monospace,Menlo,Consolas,monospace;margin-top:6px}
.modal-tx .md{font-size:14.5px;color:var(--text2);line-height:1.9;margin:18px 0 24px}
.mspec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.mspec div{background:#fff;padding:14px 16px}
.mspec s{display:block;text-decoration:none;font-size:11.5px;color:var(--text3);margin-bottom:4px}
.mspec b{font-size:15px;color:var(--blue-800);font-weight:700}
.modal-tx .btn{margin-top:26px;width:100%}
.modal-x{
  position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;
  background:#fff;border:1px solid var(--line);font-size:22px;color:var(--text3);line-height:1;
  display:flex;align-items:center;justify-content:center;transition:.24s;
}
.modal-x:hover{background:var(--blue-800);color:#fff;border-color:var(--blue-800);transform:rotate(90deg)}

/* 图片放大 */
.lbox{
  position:fixed;inset:0;z-index:1600;background:rgba(6,22,65,.92);
  display:flex;align-items:center;justify-content:center;padding:40px;
  opacity:0;visibility:hidden;transition:.3s;cursor:zoom-out;
}
.lbox.on{opacity:1;visibility:visible}
.lbox-in{
  width:min(760px,100%);aspect-ratio:1;background:linear-gradient(155deg,#132A5E,#0A1C48);
  display:flex;align-items:center;justify-content:center;position:relative;
  transform:scale(.94);transition:.34s var(--ease);border:1px solid rgba(255,255,255,.12);
}
.lbox.on .lbox-in{transform:none}
.lbox-in svg{width:70%;height:70%}
.lbox-cap{
  position:absolute;left:0;right:0;bottom:-46px;text-align:center;
  color:rgba(255,255,255,.7);font-size:13.5px;letter-spacing:.06em;
}

/* ==========================================================
   滚动进入动画
   ========================================================== */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}
.rv-d2{transition-delay:.16s}
.rv-d3{transition-delay:.24s}
.rv-d4{transition-delay:.32s}

/* ==========================================================
   响应式
   ========================================================== */
@media(max-width:1280px){
  .wrap{padding:0 24px}
  .menu>li>a{padding:12px 11px;font-size:14.5px}
  .navr{gap:14px}
  .nav-ph b{font-size:17px}
  .nav-btn{padding:0 18px;height:42px;font-size:13.5px}
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .fgrid{grid-template-columns:1.4fr 1fr 1fr;gap:36px}
  .fcol:last-child{grid-column:1/-1}
}
@media(max-width:1120px){
  .menu>li>a{padding:12px 8px;font-size:13.5px}
  .nav-ph s{display:none}
  .adv{grid-template-columns:repeat(2,1fr)}
  .advc:nth-child(2){border-right:0}
  .advc:nth-child(1),.advc:nth-child(2){border-bottom:1px solid var(--line)}
  .sec-t{white-space:normal}
}
@media(max-width:980px){
  .menu{display:none}
  .burger{display:flex}
  .nav-ph{display:none}
  .nav-btn{display:none}
  .nav .wrap{height:68px}
  .hero{height:auto;min-height:0;padding-bottom:74px}
  .slide{position:relative;display:none}
  .slide.on{display:block}
  .slide-in{grid-template-columns:1fr;gap:28px;padding:56px 0 36px}
  .hero-art{height:auto;padding-bottom:10px}
  .dev{width:min(88%,400px)}
  .ind .indc{flex:0 0 calc((100% - 34px)/2.3)}
  .chip-a{left:-2%;top:4%}
  .chip-b{right:-2%;bottom:6%}
  .hero-txt h1{font-size:clamp(30px,6.4vw,42px)}
  .hero-txt p{font-size:15.5px;margin:18px 0 28px}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .stat{padding:32px 16px}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid rgba(255,255,255,.09)}
  .sec{padding:68px 0}
  .sec-hd{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:34px}
  .sec-d{text-align:left;max-width:none}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:16px}
  .ind{gap:12px}
  .cgrid{grid-template-columns:1fr;gap:16px}
  .nlist{grid-template-columns:1fr;gap:14px}
  .cta .wrap{grid-template-columns:1fr;gap:40px;padding:60px 24px}
  .fgrid{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:36px}
  .fcol:last-child{grid-column:1/-1}
  .modal-box{grid-template-columns:1fr;max-height:86vh}
  .modal-img{padding:28px}
  .modal-img svg{width:56%;max-height:200px}
  .modal-tx{padding:28px 24px}
  .modal-tx h3{font-size:21px}
  .samp{padding:60px 0}
  .mitem{width:150px}
}
@media(max-width:720px){
  body{font-size:15px}
  .wrap{padding:0 18px}
  .top{display:none}
  .nav .wrap{height:62px}
  .logo-ico{height:38px}
  .logo-t b{font-size:16px}
  .logo-t s{font-size:8.5px;letter-spacing:.14em}
  .hero-ctrl .wrap{height:62px}
  .hdot{height:62px}
  .hnum b{font-size:19px}
  .harrows{margin-left:12px}
  .harrow{width:40px;height:40px}
  .pgrid{grid-template-columns:1fr}
  .pimg{aspect-ratio:4/2.9}
  .pcard:hover{transform:none}
  .pcard:hover .pmask{opacity:0;transform:translateY(100%)}
  .adv{grid-template-columns:1fr}
  .advc{border-right:0;border-bottom:1px solid var(--line);padding:32px 24px}
  .advc:last-child{border-bottom:0}
  .indc{aspect-ratio:1/1.15}
  .indc .itx{padding:18px 16px}
  .indc .itx b{font-size:15px}
  .indc .itx u{display:none}
  .indc .ibg{filter:brightness(.9)}
  .ccard{aspect-ratio:4/3.4}
  .ctx{padding:22px}
  .ctx b{font-size:17px}
  .ctx p,.ccard:hover .ctx p{max-height:none;opacity:1;margin-top:8px}
  .ctx .cst,.ccard:hover .ctx .cst{max-height:none;opacity:1;margin-top:12px}
  .mitem{width:118px}
  .mq{gap:10px;animation-duration:32s}
  .mq.rev{animation-duration:38s}
  .frow{grid-template-columns:1fr}
  .form{padding:26px 20px}
  .fgrid{grid-template-columns:1fr;gap:28px}
  .fbtm{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0}
  .float{right:12px;bottom:16px;gap:8px}
  .fbtn{width:46px;height:46px}
  .sec-t{font-size:clamp(22px,6.2vw,28px)}
  .mspec{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
}

/* ==========================================================
   内页 · 页头
   ========================================================== */
.ph{position:relative;background:var(--blue-800);color:#fff;padding:52px 0 64px;overflow:hidden}
.ph::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(120% 100% at 78% 0%,#000 20%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 100% at 78% 0%,#000 20%,transparent 78%);
}
.ph::after{
  content:"";position:absolute;right:-160px;top:-120px;width:520px;height:520px;
  border:1px solid rgba(255,255,255,.07);border-radius:50%;
}
.ph .wrap{position:relative;z-index:2}
.ph .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.ph-tx{max-width:640px}
.crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.5);margin-bottom:22px;flex-wrap:wrap}
.crumb a{transition:.2s}
.crumb a:hover{color:#fff}
.crumb i{font-style:normal;opacity:.4}
.crumb b{color:rgba(255,255,255,.9);font-weight:500}
.ph h1{font-size:clamp(28px,3.6vw,42px);line-height:1.24;font-weight:800;letter-spacing:-.01em}
.ph h1 em{font-style:normal;color:var(--orange-2)}
.ph p{margin-top:16px;font-size:15.5px;line-height:1.85;color:rgba(255,255,255,.62);max-width:560px}
.ph-num{
  flex:0 0 auto;font-family:monospace;font-size:92px;font-weight:700;
  line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);
  letter-spacing:-.04em;position:relative;padding-right:10px;
}
.ph-num::after{
  content:"";position:absolute;right:0;bottom:12px;width:74px;height:2px;background:var(--orange);
}

/* ==========================================================
   内页 · 主体布局（侧栏 + 主区）
   ========================================================== */
.layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:52px;align-items:start}
.side{position:sticky;top:104px}
.side-hd{
  background:var(--blue-800);color:#fff;padding:20px 22px;
  display:flex;align-items:center;justify-content:space-between;
}
.side-hd b{font-size:17px;font-weight:700;letter-spacing:.02em}
.side-hd s{font-size:10px;letter-spacing:.16em;opacity:.5;text-decoration:none}
.snav{border:1px solid var(--line);border-top:0}
.snav a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 20px;font-size:14.5px;color:var(--text2);
  border-bottom:1px solid var(--line-2);transition:.22s var(--ease);position:relative;
}
.snav a::before{
  content:"";position:absolute;left:0;top:50%;width:2px;height:0;background:var(--orange);
  transform:translateY(-50%);transition:height .24s var(--ease);
}
.snav a:last-child{border-bottom:0}
.snav a i{font-style:normal;font-size:12px;opacity:.4;transition:.22s}
.snav a:hover{background:var(--blue-50);color:var(--blue-800);padding-left:24px}
.snav a:hover::before{height:18px}
.snav a:hover i{opacity:.9;transform:translateX(2px)}
.snav a.on{background:var(--blue-800);color:#fff;font-weight:600;padding-left:24px}
.snav a.on::before{height:18px;background:var(--orange)}
.snav a.on i{opacity:.8}

.side-cta{
  margin-top:20px;padding:26px 22px;background:var(--bg-soft);
  border:1px solid var(--line);border-top:3px solid var(--orange);text-align:center;
}
.side-cta b{display:block;font-size:16px;color:var(--blue-800);font-weight:700}
.side-cta p{font-size:13px;color:var(--text2);line-height:1.75;margin:8px 0 18px}
.side-cta .btn{width:100%;height:46px;font-size:14px}
.side-ph{display:flex;flex-direction:column;gap:4px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.side-ph s{font-size:11.5px;color:var(--text3);text-decoration:none;letter-spacing:.06em}
.side-ph b{font-size:19px;font-weight:800;color:var(--blue-800);letter-spacing:.01em}
.main{min-width:0}

/* ==========================================================
   内页 · 通用块
   ========================================================== */
.blk + .blk{margin-top:56px}
.blk-hd{margin-bottom:26px}
.blk-hd h2{font-size:24px;font-weight:800;color:var(--blue-800);letter-spacing:-.01em;line-height:1.35}
.blk-hd h2 em{font-style:normal;color:var(--blue-600)}
.blk-hd p{margin-top:9px;font-size:14.5px;color:var(--text2);line-height:1.8}
.blk-hd .ln{width:38px;height:3px;background:var(--orange);margin-bottom:14px}

.prose{font-size:15.5px;line-height:1.95;color:var(--text)}
.prose p + p{margin-top:16px}
.prose h3{font-size:18px;font-weight:700;color:var(--blue-800);margin:30px 0 12px}
.prose strong{color:var(--blue-800);font-weight:700}
.prose ul{margin:14px 0}
.prose li{position:relative;padding-left:18px;margin:8px 0;color:var(--text2);line-height:1.85}
.prose li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;background:var(--orange)}
.prose blockquote{
  margin:22px 0;padding:18px 24px;background:var(--blue-50);
  border-left:3px solid var(--blue-600);font-size:15px;color:var(--blue-800);line-height:1.85;
}

/* ==========================================================
   内页 · 产品详情
   ========================================================== */
.pd-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:start}
.gal-main{
  position:relative;background:var(--bg-soft);border:1px solid var(--line);
  aspect-ratio:1/.86;display:flex;align-items:center;justify-content:center;
  overflow:hidden;cursor:zoom-in;
}
.gal-main::before,.gal-main::after{
  content:"";position:absolute;background:var(--line);
}
.gal-main::before{left:0;right:0;top:50%;height:1px;opacity:.7}
.gal-main::after{top:0;bottom:0;left:50%;width:1px;opacity:.7}
.gal-main svg{width:56%;max-width:330px;color:var(--blue-800);position:relative;z-index:1;transition:transform .5s var(--ease)}
.gal-main:hover svg{transform:scale(1.05)}
.gal-badge{
  position:absolute;left:16px;top:16px;z-index:2;background:var(--blue-800);color:#fff;
  font-size:11.5px;letter-spacing:.1em;padding:5px 11px;font-family:monospace;
}
.gal-hint{
  position:absolute;right:14px;bottom:14px;z-index:2;font-size:12px;color:var(--text3);
  display:flex;align-items:center;gap:6px;
}
.gal-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.gal-thumbs button{
  background:var(--bg-soft);border:1px solid var(--line);aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;transition:.24s var(--ease);
}
.gal-thumbs svg{width:58%;color:var(--blue-800);opacity:.55;transition:.24s}
.gal-thumbs button:hover{border-color:var(--blue-400)}
.gal-thumbs button:hover svg{opacity:.85}
.gal-thumbs button.on{border-color:var(--orange);background:#fff;box-shadow:0 4px 14px rgba(225,86,22,.12)}
.gal-thumbs button.on svg{opacity:1}

.pinfo .pcat{margin-bottom:10px}
.pinfo h1{font-size:clamp(24px,2.6vw,31px);font-weight:800;color:var(--blue-800);line-height:1.3;letter-spacing:-.01em}
.pinfo .pcode{
  display:inline-flex;align-items:center;gap:8px;margin-top:12px;
  font-family:monospace;font-size:13px;color:var(--blue-600);
  background:var(--blue-50);padding:5px 12px;letter-spacing:.04em;
}
.pinfo .plead{font-size:15px;line-height:1.9;color:var(--text2);margin-top:18px}
.pinfo .phl{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pinfo .phl span{
  font-size:12.5px;color:var(--blue-700);background:#fff;border:1px solid var(--blue-200);
  padding:4px 11px;border-radius:2px;
}
.pkeys{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:22px}
.pkeys div{background:#fff;padding:14px 16px}
.pkeys s{display:block;font-size:12px;color:var(--text3);text-decoration:none;margin-bottom:4px}
.pkeys b{font-size:16px;font-weight:800;color:var(--blue-800);letter-spacing:.01em}
.pkeys b i{font-style:normal;font-size:12px;font-weight:600;color:var(--text2);margin-left:2px}
.pinfo .pbtns{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.pinfo .pbtns .btn{flex:1 1 auto;min-width:150px}
.pinfo .pnote{
  margin-top:16px;font-size:12.5px;color:var(--text3);line-height:1.7;
  display:flex;align-items:flex-start;gap:7px;
}
.pinfo .pnote svg{flex:0 0 auto;width:14px;height:14px;margin-top:3px;color:var(--blue-400)}

/* 参数表 tab */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:0;flex-wrap:wrap}
.tabs button{
  padding:13px 22px;font-size:14.5px;color:var(--text2);font-weight:500;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:.22s;
}
.tabs button:hover{color:var(--blue-700)}
.tabs button.on{color:var(--blue-800);font-weight:700;border-bottom-color:var(--orange)}
.tabp{display:none}
.tabp.on{display:block;animation:fadeIn .4s var(--ease)}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.stab{width:100%;border-collapse:collapse;font-size:14px;margin-top:24px}
.stab caption{
  text-align:left;font-size:12.5px;color:var(--text3);padding:0 0 10px;letter-spacing:.02em;
}
.stab th,.stab td{border:1px solid var(--line);padding:13px 16px;text-align:left;vertical-align:middle}
.stab thead th{
  background:var(--blue-800);color:#fff;font-weight:600;font-size:13.5px;
  letter-spacing:.02em;border-color:var(--blue-800);
}
.stab tbody th{background:var(--bg-soft);color:var(--blue-800);font-weight:600;width:34%}
.stab tbody tr:nth-child(even) td{background:#FBFCFE}
.stab tbody tr:hover td{background:var(--blue-50)}

/* 应用点网格 */
.apgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.apc{
  background:#fff;border:1px solid var(--line);padding:22px 20px;
  transition:.26s var(--ease);position:relative;overflow:hidden;
}
.apc::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.apc:hover{border-color:var(--blue-200);box-shadow:var(--shadow-m);transform:translateY(-3px)}
.apc:hover::before{transform:scaleX(1)}
.apc i{
  display:flex;width:38px;height:38px;background:var(--blue-50);color:var(--blue-600);
  align-items:center;justify-content:center;margin-bottom:14px;
}
.apc i svg{width:19px;height:19px}
.apc b{display:block;font-size:15px;font-weight:700;color:var(--blue-800)}
.apc p{font-size:13.5px;color:var(--text2);line-height:1.75;margin-top:7px}

/* ==========================================================
   内页 · 流程时间线（打样 / 服务流程）
   ========================================================== */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:f;margin-top:8px}
.fstep{position:relative;padding:0 20px 0 0}
.fstep::before{
  content:"";position:absolute;left:0;top:19px;right:0;height:1px;background:var(--line);
}
.fstep:last-child::before{display:none}
.fstep i{
  position:relative;z-index:1;display:flex;width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid var(--blue-200);color:var(--blue-600);
  align-items:center;justify-content:center;font-family:monospace;font-size:13px;font-weight:700;
  transition:.3s var(--ease);
}
.fstep:hover i{background:var(--blue-800);color:#fff;border-color:var(--blue-800)}
.fstep b{display:block;font-size:15.5px;font-weight:700;color:var(--blue-800);margin-top:16px}
.fstep p{font-size:13.5px;color:var(--text2);line-height:1.75;margin-top:6px;max-width:220px}
.fstep s{display:block;font-size:12px;color:var(--orange);text-decoration:none;margin-top:8px;font-weight:600;letter-spacing:.02em}

/* ==========================================================
   内页 · 发展历程时间线
   ========================================================== */
.tl{position:relative;padding-left:30px}
.tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--line)}
.tli{position:relative;padding-bottom:34px}
.tli:last-child{padding-bottom:0}
.tli::before{
  content:"";position:absolute;left:-30px;top:6px;width:11px;height:11px;border-radius:50%;
  background:#fff;border:2px solid var(--blue-200);transition:.3s;
}
.tli:hover::before{border-color:var(--orange);background:var(--orange)}
.tli time{
  display:inline-block;font-family:monospace;font-size:13px;font-weight:700;
  color:var(--orange);letter-spacing:.04em;margin-bottom:6px;
}
.tli b{display:block;font-size:16.5px;font-weight:700;color:var(--blue-800)}
.tli p{font-size:14.5px;color:var(--text2);line-height:1.8;margin-top:7px;max-width:620px}

/* ==========================================================
   内页 · 新闻列表
   ========================================================== */
.nlist2{display:flex;flex-direction:column;gap:0}
.nitem{
  display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;
  padding:26px 0;border-bottom:1px solid var(--line);transition:.25s var(--ease);
}
.nitem:first-child{padding-top:0}
.nitem:hover{background:linear-gradient(90deg,transparent,var(--blue-50) 40%,transparent)}
.nitem-img{
  background:var(--bg-soft);border:1px solid var(--line);aspect-ratio:16/10;
  display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;
}
.nitem-img svg{width:34%;color:var(--blue-800);opacity:.5;transition:.4s var(--ease)}
.nitem:hover .nitem-img svg{opacity:.85;transform:scale(1.08)}
.nitem-img s{
  position:absolute;left:0;top:0;background:var(--blue-800);color:#fff;
  font-family:monospace;font-size:11px;padding:4px 9px;text-decoration:none;letter-spacing:.06em;
}
.nitem-tx{display:flex;flex-direction:column;justify-content:center;padding-right:20px}
.nitem-tx .ntop{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text3);margin-bottom:9px}
.nitem-tx .ntop em{font-style:normal;color:var(--orange);font-weight:600}
.nitem-tx h3{font-size:18.5px;font-weight:700;color:var(--blue-800);line-height:1.45;transition:.22s}
.nitem:hover .nitem-tx h3{color:var(--blue-600)}
.nitem-tx p{font-size:14px;color:var(--text2);line-height:1.8;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nitem-tx u{
  margin-top:14px;align-self:flex-start;font-size:13px;color:var(--blue-600);
  text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:.22s;
}
.nitem:hover .nitem-tx u{gap:12px;color:var(--orange)}

/* 侧栏热门 */
.hotl{display:flex;flex-direction:column;gap:14px}
.hotl a{display:flex;gap:12px;font-size:13.5px;line-height:1.65;color:var(--text2);transition:.22s}
.hotl a:hover{color:var(--blue-700)}
.hotl em{
  flex:0 0 auto;font-style:normal;font-family:monospace;font-size:12px;font-weight:700;
  color:var(--text3);padding-top:1px;
}
.hotl a:hover em{color:var(--orange)}

/* ==========================================================
   内页 · 询盘窄条
   ========================================================== */
.ctab{position:relative;background:var(--blue-900);color:#fff;overflow:hidden}
.ctab::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:48px 48px;
}
.ctab .wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px 32px}
.ctab-l h2{font-size:26px;font-weight:800;letter-spacing:-.01em;line-height:1.35}
.ctab-l h2 em{font-style:normal;color:var(--orange-2)}
.ctab-l p{font-size:14.5px;color:rgba(255,255,255,.6);margin-top:10px}
.ctab-r{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}

/* ==========================================================
   内页 · 案例瀑布 / 关于
   ========================================================== */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.casec{
  border:1px solid var(--line);background:#fff;overflow:hidden;
  transition:.3s var(--ease);display:flex;flex-direction:column;
}
.casec:hover{box-shadow:var(--shadow-l);transform:translateY(-4px);border-color:transparent}
.casec .cim{
  aspect-ratio:16/10;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;border-bottom:1px solid var(--line);
}
.casec .cim svg{width:30%;color:var(--blue-800);opacity:.42;transition:.45s var(--ease)}
.casec:hover .cim svg{opacity:.8;transform:scale(1.06)}
.casec .cim s{
  position:absolute;left:14px;top:14px;background:rgba(10,32,96,.09);color:var(--blue-800);
  font-size:11.5px;padding:4px 10px;text-decoration:none;letter-spacing:.06em;
}
.casec .ctx2{padding:22px 24px 24px;flex:1;display:flex;flex-direction:column}
.casec h3{font-size:17.5px;font-weight:700;color:var(--blue-800);line-height:1.45}
.casec p{font-size:13.8px;color:var(--text2);line-height:1.8;margin-top:9px;flex:1}
.casec .cnum{display:flex;gap:22px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.casec .cnum div b{display:block;font-size:19px;font-weight:800;color:var(--orange);font-family:monospace;line-height:1.2}
.casec .cnum div s{font-size:11.5px;color:var(--text3);text-decoration:none}

.abgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.abcard{background:#fff;padding:26px 24px;transition:.25s}
.abcard:hover{background:var(--blue-50)}
.abcard b{display:block;font-size:16px;font-weight:700;color:var(--blue-800);margin-bottom:8px}
.abcard p{font-size:13.8px;color:var(--text2);line-height:1.8}
.abcard i{color:var(--orange);font-style:normal;font-family:monospace;font-size:12px;font-weight:700}

.quote{
  display:grid;grid-template-columns:1fr;gap:20px;padding:34px 38px;
  background:var(--blue-800);color:#fff;position:relative;overflow:hidden;
}
.quote::before{
  content:"“";position:absolute;right:26px;top:-18px;font-size:150px;line-height:1;
  color:rgba(255,255,255,.07);font-family:Georgia,serif;
}
.quote p{font-size:17px;line-height:1.9;position:relative;z-index:1}
.quote s{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;display:block}

/* 联系页 */
.ctgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ctc{border:1px solid var(--line);padding:26px 24px;background:#fff;transition:.26s var(--ease)}
.ctc:hover{border-color:var(--blue-200);box-shadow:var(--shadow-m);transform:translateY(-3px)}
.ctc i{
  display:flex;width:44px;height:44px;align-items:center;justify-content:center;
  background:var(--blue-50);color:var(--blue-700);margin-bottom:16px;
}
.ctc i svg{width:20px;height:20px}
.ctc s{display:block;font-size:12.5px;color:var(--text3);text-decoration:none;letter-spacing:.06em;margin-bottom:5px}
.ctc b{display:block;font-size:18px;font-weight:800;color:var(--blue-800);line-height:1.4}
.ctc p{font-size:13px;color:var(--text2);margin-top:7px;line-height:1.7}
.mapbox{
  margin-top:22px;height:340px;background:var(--bg-soft);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  color:var(--text3);font-size:13.5px;position:relative;overflow:hidden;
}
.mapbox::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:44px 44px;opacity:.7;
}
.mapbox .mp{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;
}
.mapbox .mp svg{width:34px;height:34px;color:var(--orange)}
.mapbox .mp b{font-size:15px;color:var(--blue-800);font-weight:700}

/* ==========================================================
   内页 · 响应式
   ========================================================== */
@media(max-width:1120px){
  .layout{grid-template-columns:224px minmax(0,1fr);gap:34px}
  .pd-top{gap:34px}
  .apgrid{grid-template-columns:repeat(2,1fr)}
  .ph-num{font-size:72px}
}
@media(max-width:980px){
  .ph{padding:36px 0 44px}
  .ph .wrap{flex-direction:column;align-items:flex-start;gap:0}
  .ph-num{display:none}
  .ph p{font-size:14.5px}
  .layout{grid-template-columns:1fr;gap:0}
  .side{position:static;margin-bottom:34px}
  .snav{display:grid;grid-template-columns:1fr 1fr}
  .snav a{border-right:1px solid var(--line-2);font-size:13.5px;padding:12px 14px}
  .snav a:nth-child(even){border-right:0}
  .snav a:hover,.snav a.on{padding-left:16px}
  .side-cta{display:none}
  .pd-top{grid-template-columns:1fr;gap:28px}
  .gal-main{aspect-ratio:1/.78}
  .gal-main svg{width:50%}
  .flow{grid-template-columns:1fr 1fr;gap:26px 20px}
  .fstep::before{display:none}
  .cases{grid-template-columns:1fr}
  .abgrid{grid-template-columns:1fr}
  .ctgrid{grid-template-columns:1fr}
  .nitem{grid-template-columns:200px minmax(0,1fr);gap:18px}
  .ctab .wrap{flex-direction:column;align-items:flex-start;gap:24px;padding:40px 24px}
  .ctab-l h2{font-size:22px}
}
@media(max-width:720px){
  .ph{padding:28px 0 36px}
  .crumb{font-size:12px;margin-bottom:16px}
  .ph h1{font-size:26px}
  .ph p{font-size:14px;margin-top:12px}
  .gal-thumbs{grid-template-columns:repeat(4,1fr);gap:8px}
  .pkeys{grid-template-columns:1fr 1fr}
  .pinfo .pbtns .btn{flex:1 1 100%}
  .apgrid{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr;gap:0}
  .fstep{padding:0 0 22px 0;display:grid;grid-template-columns:38px 1fr;column-gap:14px}
  .fstep i{grid-row:1/4}
  .fstep b{margin-top:0}
  .fstep p{max-width:none}
  .nitem{grid-template-columns:1fr;gap:14px;padding:22px 0}
  .nitem-img{aspect-ratio:16/9}
  .nitem-tx{padding-right:0}
  .nitem-tx h3{font-size:16.5px}
  .tabp .stab{font-size:13px}
  .stab th,.stab td{padding:10px 11px}
  .stab tbody th{width:44%}
  .cases{grid-template-columns:1fr}
  .tabs button{padding:11px 14px;font-size:13.5px}
  .quote{padding:26px 24px}
  .quote p{font-size:15px}
  .snav a{font-size:13px;padding:11px 12px}
  .blk + .blk{margin-top:42px}
  .mapbox{height:240px}
}

/* ==========================================================
   内页 · 筛选条
   ========================================================== */
.pfil{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.pfil button{
  padding:9px 18px;border:1px solid var(--line);font-size:13.5px;color:var(--text2);
  background:#fff;transition:.22s var(--ease);border-radius:2px;
}
.pfil button:hover{border-color:var(--blue-400);color:var(--blue-700)}
.pfil button.on{background:var(--blue-800);border-color:var(--blue-800);color:#fff;font-weight:600}
.pfil button.hide{display:none}
.pcount{font-size:12.5px;color:var(--text3);margin-left:auto;align-self:center}
.pcount b{color:var(--blue-800);font-family:monospace;font-size:14px}

/* ---------- 内页：分页条（产品 / 行业 / 案例 每页 9 个） ---------- */
.pager{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:44px;padding-top:26px;border-top:1px solid var(--line);
}
.pgd{
  display:inline-flex;align-items:center;height:38px;padding:0 16px;
  border:1px solid var(--line);font-size:13.5px;color:var(--text2);
  background:#fff;transition:.22s var(--ease);border-radius:2px;
}
.pgd:hover{border-color:var(--blue-400);color:var(--blue-700)}
.pgd.is-off{color:var(--text3);opacity:.45;background:var(--bg-soft);pointer-events:none}
.pgn{display:flex;gap:6px}
.pgn a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 11px;border:1px solid var(--line);
  font-size:13.5px;color:var(--text2);background:#fff;border-radius:2px;
  transition:.22s var(--ease);font-variant-numeric:tabular-nums;
}
.pgn a:hover{border-color:var(--blue-400);color:var(--blue-700)}
.pgn a.on{background:var(--blue-800);border-color:var(--blue-800);color:#fff;font-weight:600}
.pginfo{font-size:12.5px;color:var(--text3);margin-left:auto}
.pginfo b{color:var(--blue-800);font-family:monospace;font-size:13.5px}
.pghint{
  margin-top:14px;padding:11px 15px;font-size:13px;color:var(--orange-d);
  background:#FFF7F2;border:1px solid #FFDCC8;
}
.pghint a{color:var(--orange-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ==========================================================
   内页 · 左右分栏块
   ========================================================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split + .split{margin-top:52px}
.split.rev .split-f{order:2}
.split-f{
  position:relative;background:var(--bg-soft);border:1px solid var(--line);
  aspect-ratio:4/3.1;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.split-f::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:40px 40px;opacity:.55;
}
.split-f svg{width:52%;color:var(--blue-800);opacity:.72;position:relative;z-index:1}
.split-f s{
  position:absolute;left:0;top:0;background:var(--blue-800);color:#fff;font-family:monospace;
  font-size:11px;padding:5px 11px;text-decoration:none;letter-spacing:.08em;z-index:2;
}
.split-tx h2{font-size:clamp(20px,2.3vw,26px);font-weight:800;color:var(--blue-800);line-height:1.4;letter-spacing:-.01em}
.split-tx h2 em{font-style:normal;color:var(--blue-600)}
.split-tx .sk{
  font-size:11.5px;letter-spacing:.16em;color:var(--orange);font-weight:700;
  text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.split-tx .sk::before{content:"";width:18px;height:2px;background:var(--orange)}
.split-tx p{font-size:14.8px;line-height:1.9;color:var(--text2);margin-top:14px}
.split-tx ul{margin-top:16px;display:grid;gap:9px}
.split-tx li{position:relative;padding-left:22px;font-size:14px;color:var(--text2);line-height:1.7}
.split-tx li::before{
  content:"";position:absolute;left:0;top:7px;width:12px;height:7px;
  border-left:1.6px solid var(--orange);border-bottom:1.6px solid var(--orange);
  transform:rotate(-45deg);
}

/* 能打 / 不能打 对照 */
.chk2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff}
.chk2>div{padding:26px 28px 28px}
.chk2>div+div{border-left:1px solid var(--line)}
.chk2 h4{font-size:15.5px;font-weight:700;color:var(--blue-800);display:flex;align-items:center;gap:9px;margin-bottom:14px}
.chk2 h4 i{
  width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-style:normal;color:#fff;flex:0 0 auto;
}
.chk2 .yes h4 i{background:#1B9E5A}
.chk2 .no h4 i{background:#B9C2D0}
.chk2 li{position:relative;padding-left:20px;font-size:14px;line-height:1.75;color:var(--text2);margin:9px 0}
.chk2 .yes li::before{content:"✓";position:absolute;left:0;color:#1B9E5A;font-weight:700}
.chk2 .no li::before{content:"×";position:absolute;left:0;color:#B9C2D0;font-weight:700}

/* 折叠问答 */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  padding:18px 44px 18px 0;font-size:15.5px;font-weight:600;color:var(--blue-800);
  cursor:pointer;position:relative;list-style:none;transition:.2s;
}
.faq summary:hover{color:var(--blue-600)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-size:22px;color:var(--blue-400);font-weight:300;line-height:1;transition:.25s var(--ease);
}
.faq details[open] summary::after{content:"−";color:var(--orange);transform:translateY(-50%) rotate(180deg)}
.faq .fa-b{padding:0 44px 22px 0;font-size:14.5px;color:var(--text2);line-height:1.9}
.faq .fa-b p+p{margin-top:10px}

/* 上下篇 */
.relpost{
  display:flex;justify-content:space-between;gap:24px;margin-top:44px;padding-top:26px;
  border-top:1px solid var(--line);flex-wrap:wrap;
}
.relpost a{
  font-size:14px;color:var(--text2);display:inline-flex;align-items:center;gap:8px;
  transition:.22s var(--ease);max-width:46%;
}
.relpost a:hover{color:var(--orange)}
.relpost a s{font-size:12px;color:var(--text3);text-decoration:none;flex:0 0 auto}

/* 厂房图占位 */
.fg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fg div{
  aspect-ratio:4/3;background:var(--bg-soft);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;position:relative;
  color:var(--text3);font-size:12.5px;overflow:hidden;transition:.3s var(--ease);
}
.fg div::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:32px 32px;opacity:.6;
}
.fg div span{position:relative;z-index:1}
.fg div:hover{border-color:var(--blue-300,var(--blue-400))}

/* 资质 */
.honor{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.honor div{
  border:1px solid var(--line);padding:24px 16px;text-align:center;
  font-size:13px;color:var(--text2);line-height:1.6;background:#fff;transition:.26s var(--ease);
}
.honor div:hover{border-color:var(--blue-200);box-shadow:var(--shadow-s);transform:translateY(-2px)}
.honor b{display:block;font-size:14.5px;color:var(--blue-800);font-weight:700;margin-bottom:5px}
.honor i{display:block;font-style:normal;font-size:11px;color:var(--text3);font-family:monospace;margin-top:8px;letter-spacing:.06em}

@media(max-width:980px){
  .split{grid-template-columns:1fr;gap:26px}
  .split.rev .split-f{order:0}
  .split-f{aspect-ratio:16/9}
  .split-f svg{width:38%}
  .chk2{grid-template-columns:1fr}
  .chk2>div+div{border-left:0;border-top:1px solid var(--line)}
  .fg{grid-template-columns:1fr 1fr}
  .honor{grid-template-columns:1fr 1fr}
  .pcount{margin-left:0;width:100%}
}
@media(max-width:720px){
  .pfil{gap:6px}
  .pfil button{padding:8px 13px;font-size:12.5px}
  .faq summary{font-size:14.5px;padding:15px 36px 15px 0}
  .faq .fa-b{padding-right:0;font-size:14px}
  .relpost a{max-width:100%}
  .fg{grid-template-columns:1fr}
  .chk2>div{padding:22px 20px}
}

/* 参数表横向滚动容器 */
.stabw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.stabw .stab{min-width:600px}
.stabw .stab caption{min-width:600px}
@media(max-width:720px){
  .stabw .stab{min-width:540px}
  .stabw .stab caption{min-width:540px}
}

/* 表单两栏 */
.formwrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.formwrap .fw-l h2{font-size:clamp(22px,2.5vw,30px);font-weight:800;color:var(--blue-800);line-height:1.35;letter-spacing:-.01em}
.formwrap .fw-l h2 em{font-style:normal;color:var(--blue-600)}
.formwrap .fw-l>p{font-size:15px;line-height:1.9;color:var(--text2);margin-top:16px}
.addrbox{
  margin-top:26px;padding:24px;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--orange);
}
.addrbox b{display:block;font-size:14.5px;color:var(--blue-800);margin-bottom:6px}
.addrbox p{font-size:14px;color:var(--text2);line-height:1.95}
.addrbox p+p{margin-top:8px}
.addrbox em{font-style:normal;font-family:monospace;font-size:13.5px;color:var(--blue-600)}

/* 侧栏信息盒 */
.side-box{margin-top:20px;border:1px solid var(--line);padding:20px 22px 22px}
.side-box h4{
  font-size:14px;font-weight:700;color:var(--blue-800);margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid var(--line-2);
}
.side-box .hotl{margin-top:2px}

@media(max-width:980px){
  .formwrap{grid-template-columns:1fr;gap:32px}
  .side-box{margin-top:16px}
}

/* 修正：栅格顺序（aside 写在 main 之后也要落在左侧栏） */
.layout>.main{order:2;min-width:0}
.layout>.side{order:1}

/* 流程步骤说明放开宽度 */
.fstep p{max-width:none}

/* 时间线可读性 */
.tl::before{background:rgba(10,32,96,.13)}
.tli p{max-width:720px}
.tli::before{border-color:var(--blue-200)}
.casec .cim svg{width:38%}

/* 长文阅读宽度 */
.prose{max-width:800px}
.nitem-img svg{width:40%}

/* 移动端提示：参数表可横向滑动 */
@media(max-width:720px){
  .tabp::before{
    content:"← 表格可左右滑动查看完整参数 →";
    display:block;font-size:11.5px;color:var(--text3);
    margin:14px 0 -6px;letter-spacing:.02em;
  }
}

/* ==========================================================
   首屏 · 视频屏（第 1 屏）
   ========================================================== */
.hero{height:min(880px,calc(100vh - 108px))}
.slide.vs::before{background:#06143C}
.slide.vs::after{display:none}
.slide.vs .slide-in{grid-template-columns:1fr}

.hmedia{position:absolute;inset:0;z-index:0;overflow:hidden;background:#06143C}
.hmedia video{display:block;width:100%;height:100%;object-fit:cover}
.hmask{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,14,42,.92) 0%,rgba(4,14,42,.78) 32%,rgba(4,14,42,.32) 60%,rgba(4,14,42,.18) 100%),
    linear-gradient(0deg,rgba(4,14,42,.72) 0%,rgba(4,14,42,0) 42%),
    linear-gradient(180deg,rgba(4,14,42,.34) 0%,rgba(4,14,42,0) 24%);
}
.hero-dark .hero-txt{max-width:640px}
.hero-dark .eyebrow{color:#9FC2F5}
.hero-dark .hero-txt h1{color:#fff}
.hero-dark .hero-txt h1 em{color:var(--orange-2)}
.hero-dark .hero-txt h1 em::after{background:rgba(255,122,49,.24)}
.hero-dark .hero-txt p{color:rgba(255,255,255,.76)}
.hero-dark .hero-btns .btn-o{border-color:rgba(255,255,255,.4);color:#fff}
.hero-dark .hero-btns .btn-o:hover{background:#fff;color:var(--blue-800);border-color:#fff}
.hv-badge{
  position:absolute;right:24px;bottom:96px;z-index:4;
  font-size:10.5px;letter-spacing:.1em;color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.24);padding:5px 10px;pointer-events:none;
}

/* 视频屏右侧竖排装饰 */
.hv-side{
  position:absolute;right:34px;top:50%;transform:translateY(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;
}
.hv-side span{
  writing-mode:vertical-rl;font-size:11px;letter-spacing:.34em;
  color:rgba(255,255,255,.46);text-transform:uppercase;
}
.hv-side i{width:1px;height:56px;background:linear-gradient(rgba(255,255,255,.45),transparent)}

/* 视频屏时控制条转深色 */
.hero.vslide .hero-ctrl{background:rgba(4,14,42,.42);border-top-color:rgba(255,255,255,.12)}
.hero.vslide .hdot::before{background:rgba(255,255,255,.24)}
.hero.vslide .hdot em{background:transparent;border-color:rgba(255,255,255,.45)}
.hero.vslide .hdot.on em{background:var(--orange-2);border-color:var(--orange-2);box-shadow:0 0 0 4px rgba(255,122,49,.18)}
.hero.vslide .hdot.on span{background:var(--orange-2)}
.hero.vslide .hnum{color:#fff}
.hero.vslide .hnum s{color:rgba(255,255,255,.55)}
.hero.vslide .hnum .sep{color:rgba(255,255,255,.26)}
.hero.vslide .harrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#fff}
.hero.vslide .harrow:hover{background:#fff;border-color:#fff;color:var(--blue-800)}

/* ==========================================================
   客户案例 · 向左滚动（内容向右走，与样品墙反向呼应）
   ========================================================== */
.cmq-wrap{
  position:relative;overflow:hidden;padding:4px 0 8px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.cmq{display:flex;width:max-content;animation:cmqR 96s linear infinite;will-change:transform}
.cmq:hover{animation-play-state:paused}
@keyframes cmqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.cmq .ccard{display:block;flex:0 0 430px;width:430px;margin-right:26px;aspect-ratio:4/3.4;text-decoration:none}
.cmq .ctx b{font-size:17.5px;line-height:1.45;text-wrap:balance}
.cmq .ctx p{font-size:13px}

/* ==========================================================
   产品实拍图位（图片缺失时自动回落到线稿）
   ========================================================== */
.shot{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
}
.shot img{
  max-width:84%;max-height:84%;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 18px 28px rgba(10,32,96,.18));
}
.pimg .shot img{max-width:86%;max-height:86%}

@media(max-width:980px){
  .hero{height:auto;min-height:0;padding-bottom:74px}
  .hero.vslide{min-height:600px}
  .hero-dark .hero-txt{max-width:none}
  .hv-badge{right:16px;bottom:78px}
  .hv-side{display:none}
  .cmq .ccard{flex:0 0 310px;width:310px;margin-right:16px}
  .cmq{animation-duration:78s}
}
@media(max-width:720px){
  .ind .indc{flex:0 0 68%}
  .indarw{width:38px;height:38px}
  .indarw.prev{left:6px}
  .indarw.next{right:6px}
  .hero.vslide{min-height:560px}
  .cmq .ccard{flex:0 0 276px;width:276px}
  .cmq{animation-duration:66s}
  .hv-badge{display:none}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{justify-content:center}
}

/* 移动端：每屏等高，视频/海报铺满，内容垂直居中 */
@media(max-width:980px){
  .hero .slide.on{min-height:560px;display:flex;flex-direction:column;justify-content:center}
  .hero .slide-in{width:100%}
  .hero.vslide .slide.on{min-height:600px}
}
@media(max-width:720px){
  .hero .slide.on{min-height:540px}
  .hero.vslide .slide.on{min-height:560px}
}

/* 移动端视频屏：hero 自身补深色，让底部控制条不悬在白色上 */
@media(max-width:980px){
  .hero.vslide{background:#06143C}
  .hero.vslide .hero-ctrl{background:rgba(4,14,42,.55)}
}

/* 移动端案例卡：收紧内边距，防止数字行折行 */
@media(max-width:980px){
  .cmq .ctx{padding:22px 20px}
  .cmq .ctx b{font-size:16px;line-height:1.4}
  .cmq .ctx p{font-size:12.5px;line-height:1.72;margin-top:7px}
  .cmq .cst{gap:10px;margin-top:11px}
  .cmq .cst div b{font-size:14px;white-space:nowrap}
}

/* ==========================================================
   产品网格：9 个系列按 3 列 3 行排布，实拍图放大
   ========================================================== */
.pgrid{grid-template-columns:repeat(3,1fr);gap:26px}
.pimg{aspect-ratio:4/3.2}
.pimg svg{width:74%}
.shot img{max-width:92%;max-height:92%}

@media(max-width:980px){
  .pgrid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media(max-width:720px){
  .pgrid{grid-template-columns:1fr;gap:16px}
}

/* ==========================================================
   详情页画廊：实拍图 / 线稿双模式
   ========================================================== */
.gal-photo{
  max-width:86%;max-height:86%;width:auto;height:auto;object-fit:contain;
  position:relative;z-index:1;transition:transform .5s var(--ease);
  filter:drop-shadow(0 16px 26px rgba(10,32,96,.16));
}
.gal-main:hover .gal-photo{transform:scale(1.05)}
.gal-thumbs button img{width:74%;height:74%;object-fit:contain}
.lbox-in img{max-width:88%;max-height:88%;object-fit:contain}

/* 细节修正：放大提示不换行、缩略图实拍图放大 */
.gal-hint{white-space:nowrap}
.gal-thumbs button img{width:86%;height:86%}

/* ==========================================================
   案例页：客户名与尾部说明
   ========================================================== */
.casec .ctx2 h3 em.ccli{
  display:block;font-style:normal;font-size:12.5px;font-weight:700;
  letter-spacing:.06em;color:var(--orange);margin-bottom:7px;
}
.case-more{
  margin-top:30px;padding-top:22px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--text3);line-height:1.85;
}

/* 案例卡：压缩配图区高度，让 16 个案例一页不拖太长 */
.casec .cim{aspect-ratio:16/7}
.casec .cim svg{width:26%}

/* 案例卡：配图再收一档，底部三格区分主次 */
.casec .cim{aspect-ratio:16/6}
.casec .cim svg{width:23%}
.casec .cnum div b{
  font-size:15px;font-family:inherit;font-weight:700;letter-spacing:0;
  color:var(--blue-800);white-space:nowrap;
}
.casec .cnum div:first-child b{color:var(--orange)}

/* ==========================================================
   页脚 · 扫码关注区（公众号 / 抖音号 / 京东店铺）
   ========================================================== */
.fqr{
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  margin-top:36px;padding:28px 0 30px;
  border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;
}
.fqr-tx{max-width:330px}
.fqr-tx b{display:block;font-size:15px;color:#fff;font-weight:700;margin-bottom:8px;letter-spacing:.02em}
.fqr-tx p{font-size:13px;color:rgba(255,255,255,.52);line-height:1.85}
.fqr-list{display:flex;gap:24px;flex:0 0 auto;flex-wrap:wrap}
.fqr-i{display:flex;align-items:center;gap:12px}
.fqr-im{
  display:block;width:66px;height:66px;background:#fff;padding:5px;flex:0 0 auto;
  transition:.3s var(--ease);
}
.fqr-im img{width:100%;height:100%;object-fit:contain;display:block}
.fqr-i:hover .fqr-im{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.28)}
.fqr-i b{display:block;font-size:13.5px;color:#fff;font-weight:600;margin-bottom:4px}
.fqr-i s{font-size:11.5px;color:rgba(255,255,255,.42);text-decoration:none;line-height:1.5;display:block}

/* ==========================================================
   扫码弹层
   ========================================================== */
.qrpop{
  position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;transition:.3s;
}
.qrpop.on{opacity:1;visibility:visible}
.qrpop-bg{position:absolute;inset:0;background:rgba(6,22,65,.62);backdrop-filter:blur(6px)}
.qrpop-box{
  position:relative;width:min(560px,100%);background:#fff;padding:38px 40px 40px;
  text-align:center;transform:scale(.96) translateY(14px);transition:.34s var(--ease);
  box-shadow:0 40px 100px rgba(0,0,0,.35);
}
.qrpop.on .qrpop-box{transform:none}
.qrpop-box>b{display:block;font-size:20px;font-weight:800;color:var(--blue-800);letter-spacing:-.01em}
.qrpop-d{font-size:13.5px;color:var(--text2);margin-top:9px;line-height:1.7}
.qrpop-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.qrpop-list>div>span{
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);padding:10px;background:#fff;
}
.qrpop-list img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:contain}
.qrpop-list s{
  display:block;margin-top:10px;font-size:13px;color:var(--blue-800);
  font-weight:600;text-decoration:none;
}
.qrpop-x{
  position:absolute;right:0;top:0;width:42px;height:42px;font-size:22px;line-height:1;
  color:var(--text3);background:var(--bg-soft);transition:.2s;
}
.qrpop-x:hover{background:var(--blue-800);color:#fff}

@media(max-width:980px){
  .fqr{gap:22px;margin-top:26px;padding:24px 0 26px}
  .fqr-tx{max-width:none}
  .fqr-list{gap:18px}
  .fqr-im{width:58px;height:58px}
  .qrpop-box{padding:30px 22px 32px}
  .qrpop-list{gap:12px}
}
@media(max-width:720px){
  .fqr-i div{display:none}
  .fqr-list{gap:14px}
  .fqr-im{width:64px;height:64px}
}

/* 页脚扫码：码放大到好扫的尺寸 */
.fqr-tx{max-width:380px}
.fqr-im{width:82px;height:82px;padding:6px}
@media(max-width:980px){.fqr-im{width:74px;height:74px}}
@media(max-width:720px){.fqr-im{width:76px;height:76px}}

/* ==========================================================
   首页案例卡：改为高度自适应（原固定比例会裁掉文字）
   ========================================================== */
.cmq .ccard{
  aspect-ratio:auto;min-height:340px;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.cmq .ccard .ctx{position:relative;left:auto;right:auto;bottom:auto;padding:26px 26px 24px}
.cmq .ccard:hover .ctx{transform:none}
.cmq .ctx b{font-size:18.5px;line-height:1.35}
.cmq .ctx p{
  font-size:13px;line-height:1.72;margin-top:8px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.cmq .ctx .cst{margin-top:13px;gap:16px;flex-wrap:wrap}
.cmq .cst div b{font-size:14px;font-family:inherit;white-space:nowrap}
.cmq .cst div s{font-size:10.5px;margin-top:2px}
@media(max-width:980px){
  .cmq .ccard{min-height:320px}
}

/* 案例卡右上角序号水印，避免上方渐变区太空 */
.cmq .ccard::before{
  content:attr(data-num);
  position:absolute;right:22px;top:12px;z-index:1;
  font-family:monospace;font-size:62px;font-weight:700;line-height:1;
  color:rgba(255,255,255,.075);letter-spacing:-.03em;
  pointer-events:none;transition:.45s var(--ease);
}
.cmq .ccard:hover::before{color:rgba(255,255,255,.14)}
.cmq .ccard{min-height:322px}

/* 案例卡高度回调，内容不许压缩 */
.cmq .ccard{min-height:344px}
.cmq .ccard .ctx{flex-shrink:0}
.cmq .ccard::before{color:rgba(255,255,255,.1)}

/* 页脚三码等宽对齐 */
.fqr-list{display:grid;grid-template-columns:repeat(3,176px);gap:16px}
.fqr-i{width:auto}
@media(max-width:1200px){.fqr-list{grid-template-columns:repeat(3,158px);gap:12px}}
@media(max-width:980px){.fqr-list{grid-template-columns:repeat(3,150px);gap:10px}}

/* 页脚三码：改为竖排（上码下字） */
.fqr-list{grid-template-columns:repeat(3,112px);gap:24px}
.fqr-i{flex-direction:column;align-items:flex-start;gap:9px}
.fqr-i b{font-size:13px;margin-bottom:3px}
.fqr-i s{font-size:11px;line-height:1.5}
@media(max-width:1200px){.fqr-list{grid-template-columns:repeat(3,104px);gap:18px}}
@media(max-width:980px){.fqr-list{grid-template-columns:repeat(3,100px);gap:14px}}
@media(max-width:720px){.fqr-i div{display:block}}

/* 页脚扫码区：左侧文字加宽，让两侧更平衡 */
.fqr-tx{max-width:440px}

/* ==========================================================
   首屏 · 非标三机位（移动端回到单列，机器不压文字）
   ========================================================== */
@media(max-width:980px){
  .slide.ns .slide-in{grid-template-columns:1fr;gap:26px}
  .slide.ns .hero-art{padding-bottom:0;height:auto}
  .slide.ns .hero-txt h1{font-size:clamp(28px,6.4vw,42px)}
  .slide.ns .nsw{width:100%}
  .nsw{padding-bottom:28px;gap:8px}
  .nsw-tag{font-size:10.5px;letter-spacing:.08em;text-align:center}
}
@media(max-width:520px){
  .nsw{padding-bottom:24px;gap:6px}
  .nsw-tag{font-size:10px;letter-spacing:.04em}
}

/* ==========================================================
   首屏 · 数据卡片与型号标签（手机端不再互相压字）
   ========================================================== */
@media(max-width:720px){
  .chip{max-width:158px;padding:9px 12px;gap:8px}
  .chip b{font-size:14px;white-space:nowrap}
  .chip s{font-size:10.5px;white-space:nowrap}
  .chip-a{left:0;top:2%}
  .chip-b{right:56px;bottom:26%}
  .dev{padding-bottom:40px}
  .dev .shot{inset:0 0 40px 0}
  .dev-tag{font-size:10.5px;letter-spacing:.06em}
}

/* 非标双机位：两台机器在右半区居中，整组右移 10px，比上一版再放大 10%（用 left 不用 transform，避免与浮动动画打架） */
.slide.ns .hero-art{justify-content:center;align-items:center;padding-bottom:0}
.slide.ns .nsw{width:105.6%;margin:0 auto;left:10px}

/* 1101–1320：105.6% 会顶出屏幕右边，宽度与右移各收一档 */
@media(min-width:1101px) and (max-width:1320px){
  .slide.ns .nsw{width:101%;left:4px}
}

/* 981–1100 的小桌面：列宽更紧，间距与宽度再收一档，避免右侧小柜子贴到屏幕边 */
@media(min-width:981px) and (max-width:1100px){
  .slide.ns .nsw{width:96.8%;left:6px}
  .nsw{gap:48px}
}

/* 手机：两台机器回到整列、不再右移，否则右侧机器会被屏幕裁掉 */
@media(max-width:980px){
  .slide.ns .nsw{width:100%;left:0}
}

/* 窄屏（≤1499 含手机）：右下角悬浮栏在首屏暂时隐去，避免压住海报里的机型和标签；滚动后自动出现 */
@media(max-width:1499px){
  .float.top-hide{opacity:0;visibility:hidden;transform:translateX(18px);pointer-events:none}
}

/* ==========================================================
   实拍照片接入（老站素材）
   ========================================================== */

/* 案例页：三列 + 竖版照片位，竖构图照片不必拦腰裁切 */
.cases{grid-template-columns:repeat(3,1fr);gap:20px}
.casec .cim{aspect-ratio:4/5}
.casec .cim.has-photo{background:#0A2060}
.casec .cim.has-photo img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 42%;
  transition:transform .8s var(--ease),filter .5s;
  filter:saturate(.96);
}
.casec:hover .cim.has-photo img{transform:scale(1.045);filter:saturate(1.04)}
.casec .cim s{
  z-index:2;background:rgba(255,255,255,.94);color:var(--blue-800);
  box-shadow:0 2px 10px rgba(6,22,65,.16);
}
/* 没有实拍的案例：蓝底 + 白线稿，看起来是设计过的，不是缺图 */
.casec .cim:not(.has-photo){background:linear-gradient(160deg,#1B47A8,#0A2060)}
.casec .cim:not(.has-photo) svg{color:#fff;opacity:.55;width:46%}
.casec:hover .cim:not(.has-photo) svg{opacity:.8}

/* 首页案例卡：照片铺底，顶部略压暗保证文字可读 */
.ccard .cbg{background-size:cover;background-position:center 38%}
.ccard::after{
  background:linear-gradient(180deg,rgba(6,22,65,.14) 0%,rgba(6,22,65,.46) 40%,rgba(6,22,65,.92) 100%);
}

/* 新闻列表缩略图 */
.nitem-img img{width:100%;height:100%;object-fit:cover;display:block}

/* 新闻正文配图 */
.prose .pfig{margin:24px 0;text-align:center}
.prose .pfig img{
  max-width:100%;height:auto;display:inline-block;
  border:1px solid var(--line);background:#fff;
}

/* 内页大标题的第二行（长标题的副标题） */
.ph h1 .h1s{
  display:inline-block;margin-top:.42em;
  font-size:.5em;font-weight:600;line-height:1.5;letter-spacing:0;
  color:rgba(255,255,255,.66);
}

/* 资讯详情：标题更长，放宽标题区并略降字号，避免最后一行只剩一个字 */
.ph-nd .ph-tx{max-width:840px}
.ph-nd h1{font-size:clamp(26px,3.1vw,37px)}
.ph-nd .ph-tx p{max-width:640px}

@media(max-width:980px){
  .cases{grid-template-columns:1fr 1fr;gap:14px}
  .casec .cim{aspect-ratio:1/1}
  .ph h1 .h1s{font-size:.58em}
}
@media(max-width:560px){
  .cases{grid-template-columns:1fr}
  .casec .cim{aspect-ratio:4/3}
}

/* ---------- 关于页：厂房实拍 ---------- */
.fg div{background:#0A2060;border:0}
.fg div::before{display:none}
.fg img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .8s var(--ease);
}
.fg div:hover img{transform:scale(1.05)}
.fg div span{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:30px 14px 11px;text-align:left;
  background:linear-gradient(transparent,rgba(6,22,65,.88));
  color:#fff;font-size:12.5px;letter-spacing:.02em;
}

/* ---------- 关于页：资质证书墙 ---------- */
.certgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.certc{
  background:#fff;border:1px solid var(--line);display:block;
  transition:.26s var(--ease);
}
.certc:hover{box-shadow:var(--shadow-l);transform:translateY(-3px);border-color:transparent}
.certim{
  aspect-ratio:3/4;background:#F7F9FC;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;
}
.certim img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;box-shadow:0 2px 9px rgba(6,22,65,.1);
}
.certtx{padding:12px 13px 15px}
.certtx b{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:12.5px;font-weight:700;color:var(--blue-800);line-height:1.5;min-height:2.95em;
}
.certtx s{
  display:block;font-size:11px;color:var(--text3);text-decoration:none;
  margin-top:6px;letter-spacing:.01em;
}
.honorwall{margin:26px 0 0;border:1px solid var(--line);background:#fff}
.honorwall img{width:100%;height:auto;display:block}
.honorwall figcaption{
  font-size:12.5px;color:var(--text3);padding:12px 16px;border-top:1px solid var(--line);
}

@media(max-width:1100px){
  .certgrid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:980px){
  .certgrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .certgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .certtx b{font-size:11.5px}

  /* 分页条：手机端收紧，页码信息换行独占一行 */
  .pager{gap:6px;margin-top:34px;padding-top:22px}
  .pgd{padding:0 12px;font-size:12.5px;height:36px}
  .pgn a{min-width:36px;height:36px;padding:0 9px;font-size:12.5px}
  .pginfo{margin-left:0;width:100%;margin-top:8px}
}

