/* ============================================================
   Jinjin Cable — Induxt-style industrial theme
   ============================================================ */
:root{
  --accent:#F2681C;
  --accent-d:#d4550f;
  --ink:#12151a;
  --dark:#171b21;
  --dark-2:#1f242c;
  --muted:#6c7583;
  --line:#e6e9ee;
  --soft:#f5f7fa;
  --white:#fff;
  --radius:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:#fff;line-height:1.6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;
  padding:12px 22px;border-radius:var(--radius);border:0;cursor:pointer;transition:.18s;letter-spacing:.2px}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-d)}
.btn-dark{background:var(--dark);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn.lg{padding:15px 28px;font-size:14.5px}
.btn i{font-style:normal}

/* ---------- 顶部条 ---------- */
.topbar{background:var(--dark);color:#9aa4b2;font-size:12.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar .tb-left{display:flex;gap:14px;align-items:center}
.topbar .sep{opacity:.35}

/* ---------- 头部 ---------- */
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:96px;gap:28px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:56px;height:auto;object-fit:contain;transition:transform .25s}
.brand b{display:block;font-size:24px;letter-spacing:.4px;line-height:1.05;font-weight:800;color:#111820}
.brand small{display:block;font-size:11.5px;letter-spacing:2.2px;color:#8b95a3;margin-top:5px;font-weight:600}
.nav{display:flex;gap:34px;align-items:center}
.nav a{font-size:15.5px;font-weight:700;color:#2b3340;padding:8px 0;position:relative;letter-spacing:.1px;transition:color .18s}
.nav a:hover,.nav a.on{color:var(--accent)}
.nav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;background:var(--accent)}

/* ---------- 首屏 ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;
  background:url("assets/img/cat/hero1.jpg") center/cover no-repeat;
  opacity:.42;filter:saturate(.9)}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(18,21,26,.96) 0%,rgba(18,21,26,.82) 42%,rgba(242,104,28,.42) 100%)}
.hero-in{position:relative;z-index:2;padding:86px 24px 74px}
.pill{display:inline-block;background:var(--accent);color:#fff;font-size:11.5px;font-weight:800;
  letter-spacing:2px;padding:7px 16px;border-radius:999px;margin-bottom:26px}
.hero h1{font-size:64px;line-height:1.03;margin:0 0 22px;font-weight:800;letter-spacing:-1.5px;max-width:900px}
.hero-p{font-size:16px;color:#c9d1dc;max-width:620px;margin:0 0 32px}
.hero-actions{display:flex;gap:14px;margin-bottom:56px;flex-wrap:wrap}
.hero-facts{display:flex;gap:56px;border-top:1px solid rgba(255,255,255,.14);padding-top:26px}
.hero-facts b{display:block;font-size:26px;font-weight:800;line-height:1.1}
.hero-facts span{font-size:11.5px;letter-spacing:1.3px;color:#96a1b1;text-transform:uppercase}

/* ---------- 区块 ---------- */
.sec{padding:84px 0}
.sec-soft{background:var(--soft)}
.sec-dark{background:var(--dark);color:#fff}
.sec-dark .sec-head p{color:#98a3b3}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.kicker{display:inline-block;color:var(--accent);font-size:11.5px;font-weight:800;
  letter-spacing:2.6px;text-transform:uppercase;margin-bottom:14px}
.kicker{position:relative}
.kicker::after{content:"";display:inline-block;vertical-align:middle;width:34px;height:1px;
  background:currentColor;opacity:.55;margin-left:14px}
.sec-head h2,.two-txt h2{font-size:46px;line-height:1.1;margin:0 0 18px;font-weight:800;letter-spacing:-1.2px}
.sec-head p{font-size:15px;color:var(--muted);margin:0}

/* ---------- 类目卡片 ---------- */
.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pcard{background:var(--dark-2);border:1px solid rgba(255,255,255,.07);border-radius:6px;
  overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.pcard:hover{transform:translateY(-4px);border-color:rgba(242,104,28,.6)}
.pcard-img{position:relative;aspect-ratio:16/11;overflow:hidden;background:#0e1116}
.pcard-img img{width:100%;height:100%;object-fit:cover;opacity:.9}
.pcard:hover .pcard-img img{opacity:1;transform:scale(1.04);transition:.4s}
.pcard-no{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;
  font-size:11px;font-weight:800;padding:3px 9px;border-radius:3px;letter-spacing:1px}
.pcard-b{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.pcard-b h3{margin:0 0 8px;font-size:15px;line-height:1.32;font-weight:700;color:#fff}
.pcard-subs{display:flex;flex-direction:column;gap:3px;flex:1}
.pcard-subs li{font-size:11.8px;color:#8f9aa9;line-height:1.45}
.pcard-foot{display:flex;justify-content:space-between;align-items:center;
  margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);
  font-size:11.5px;color:#7f8a99}
.pcard-foot .arrow{color:var(--accent);font-weight:700;font-size:15px}

/* ---------- 数字条 ---------- */
.stats{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;
  border-bottom:1px solid var(--line)}
.stats div{padding:34px 20px;text-align:center;border-right:1px solid var(--line)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-size:30px;font-weight:800;color:var(--accent);line-height:1.1;letter-spacing:-.5px}
.stats b em{font-style:normal;font-size:16px;margin-left:2px}
.stats span{display:block;margin-top:6px;font-size:11.5px;color:var(--muted);
  letter-spacing:1.2px;text-transform:uppercase}

/* ---------- 双栏 ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two-img{border-radius:6px;overflow:hidden;min-height:340px}
.two-img img{width:100%;height:100%;object-fit:cover}
.two-txt p{font-size:14.5px;color:#4a5462;margin:0 0 14px}
.ticks{margin:6px 0 22px}
.ticks li{position:relative;padding-left:22px;font-size:14px;color:#3d4653;margin-bottom:8px}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}

/* ---------- 应用场景 ---------- */
.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.app{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/10}
.app img{width:100%;height:100%;object-fit:cover;transition:.4s}
.app:hover img{transform:scale(1.05)}
.app::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(12,15,20,.9),rgba(12,15,20,.1) 60%,transparent)}
.app span{position:absolute;left:16px;bottom:14px;right:16px;z-index:2;color:#fff;
  font-size:13.5px;font-weight:700}

/* ---------- 内页 hero ---------- */
.page-hero{background:var(--dark);color:#fff;padding:64px 0 58px}
.page-hero h1{font-size:44px;margin:10px 0 12px;font-weight:800;letter-spacing:-1px}
.page-hero p{color:#a8b2c0;max-width:640px;margin:0;font-size:15px}

/* ---------- 产品表 ---------- */
.cat-block{margin-bottom:52px}
.cat-block-head{display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:14px;border-bottom:2px solid var(--ink);padding-bottom:10px}
.cat-block-head>div{display:flex;align-items:baseline;gap:12px}
.cat-no{color:var(--accent);font-weight:800;font-size:14px;letter-spacing:1px}
.cat-block-head h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.4px}
.link{color:var(--accent);font-weight:700;font-size:13px}
.link:hover{text-decoration:underline}
.ptable{width:100%;border-collapse:collapse;font-size:13px}
.ptable th{text-align:left;padding:10px 12px;background:var(--soft);
  font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#7a8494;font-weight:700}
.ptable td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable tr:hover td{background:#fbfcfd}
.td-name{font-weight:700;width:24%}
.td-sub{color:var(--muted);width:20%}
.td-desc{color:#495264}
.td-act{text-align:right;width:70px}
.td-act a{color:var(--accent);font-weight:700;font-size:12px}
.ptable.wide td:first-child{width:180px;font-weight:700}

/* ---------- 分类页 ---------- */
.cat-hero{position:relative;color:#fff;padding:70px 0 64px;background-size:cover;background-position:center}
.cat-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(12,15,20,.94),rgba(12,15,20,.72) 60%,rgba(12,15,20,.45))}
.cat-hero .wrap{position:relative;z-index:2}
.cat-hero .crumb{font-size:12px;color:#9aa5b4;margin-bottom:18px}
.cat-hero .crumb a:hover{color:#fff}
.cat-no-lg{font-size:11.5px;font-weight:800;letter-spacing:3px;color:var(--accent)}
.cat-hero h1{font-size:46px;margin:10px 0 12px;font-weight:800;letter-spacing:-1px}
.cat-hero p{color:#b3bdcb;max-width:640px;margin:0;font-size:15px}

.cat-layout{display:grid;grid-template-columns:250px 1fr;gap:44px;padding:52px 0 10px}
.side-box{border:1px solid var(--line);border-radius:6px;margin-bottom:20px;overflow:hidden}
.side-box h4{margin:0;padding:12px 15px;background:var(--soft);border-bottom:1px solid var(--line);
  font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:#5d6675}
.side-box li a{display:block;padding:9px 15px;font-size:13px;color:#454e5c;border-bottom:1px solid #f1f3f7}
.side-box li:last-child a{border-bottom:0}
.side-box li a:hover{background:var(--soft);color:var(--accent)}
.side-note{border:1px dashed #cfd6e0;border-radius:6px;padding:15px;font-size:12.2px;color:#5d6675}
.side-note b{display:block;color:var(--ink);margin-bottom:6px;font-size:12.5px}

.filters{border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:30px}
.frow{display:flex;gap:14px;padding:7px 0;align-items:flex-start}
.frow+.frow{border-top:1px solid #f2f4f8}
.flabel{flex:0 0 130px;font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;
  color:#8b949f;padding-top:5px}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid #d9dfe8;background:#fff;color:#4a5462;border-radius:999px;
  padding:4px 13px;font-size:12px;cursor:pointer;font-family:inherit;transition:.15s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--dark);border-color:var(--dark);color:#fff;font-weight:700}

.cat-sec{margin-bottom:44px}
.cat-sec-h{font-size:20px;font-weight:800;margin:0 0 18px;padding-left:12px;
  border-left:4px solid var(--accent);letter-spacing:-.3px}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gcard{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:.2s}
.gcard:hover{box-shadow:0 14px 34px rgba(18,21,26,.1);transform:translateY(-3px)}
.gcard-img{aspect-ratio:1/1;background:#fafbfc;padding:10px}
.gcard-img img{width:100%;height:100%;object-fit:contain}
.gcard-b{padding:14px 15px 16px;border-top:1px solid var(--line);flex:1;display:flex;flex-direction:column}
.gcard-b h4{margin:0 0 6px;font-size:13.6px;line-height:1.35;font-weight:700}
.gcard-b p{font-size:11.8px;color:var(--muted);margin:0 0 12px;flex:1;line-height:1.5}
.gcard-foot{display:flex;justify-content:space-between;font-size:11px;color:#8b949f;
  border-top:1px solid #f2f4f8;padding-top:9px}
.gcard-foot a{color:var(--accent);font-weight:700}
.gcard.cross{background:var(--soft)}
.tag-cross{display:inline-block;background:var(--accent);color:#fff;font-size:9.5px;
  font-weight:800;letter-spacing:1px;padding:2px 8px;border-radius:3px;margin-bottom:8px}

/* ---------- CTA ---------- */
.cta{background:var(--dark);color:#fff;padding:56px 0}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{margin:0 0 8px;font-size:28px;font-weight:800;letter-spacing:-.6px}
.cta p{margin:0;color:#9fabb9;font-size:13.5px}

/* ---------- 联系页 ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.ci h3{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);
  margin:22px 0 6px;font-weight:800}
.ci h3:first-child{margin-top:0}
.ci p{margin:0;font-size:14.5px;color:#3d4653}
.ci-form{border:1px solid var(--line);border-radius:8px;padding:26px 26px 30px;background:#fff;
  box-shadow:0 18px 44px rgba(18,21,26,.07)}
.ci-form h3{margin:0 0 18px;font-size:19px;font-weight:800}
.ci-form label{display:block;font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;
  color:#8b949f;margin-bottom:14px}
.ci-form input,.ci-form select,.ci-form textarea{display:block;width:100%;margin-top:6px;
  border:1px solid #dbe1e9;border-radius:4px;padding:10px 12px;font-size:14px;
  font-family:inherit;color:var(--ink);background:#fff}
.ci-form input:focus,.ci-form textarea:focus,.ci-form select:focus{
  outline:0;border-color:var(--accent)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ci-form .msg{background:#eaf6ec;border:1px solid #b9e0c2;color:#1d6b32;
  padding:10px 12px;border-radius:4px;font-size:13px;margin:14px 0 0}

/* ---------- 页脚 ---------- */
.ftr{background:#0e1116;color:#8d97a5;font-size:13px;padding:64px 0 0}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:44px}
.ftr h4{color:#fff;font-size:11.5px;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 16px}
.ftr li{margin-bottom:9px}
.ftr a:hover{color:var(--accent)}
.fbrand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.fbrand img{width:52px;height:auto;object-fit:contain;background:none}
.fbrand b{color:#fff;font-size:18px;letter-spacing:.6px}
.fbot{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;
  justify-content:space-between;font-size:11.5px;color:#6d7683}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .pcards{grid-template-columns:repeat(3,1fr)}
  .ggrid{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:52px}
}
@media (max-width:900px){
  .nav{display:none}
  .two,.cat-layout,.contact-grid{grid-template-columns:1fr;gap:32px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats div{border-right:0;border-bottom:1px solid var(--line)}
  .apps{grid-template-columns:repeat(2,1fr)}
  .pcards{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:38px}
  .cta .wrap{flex-direction:column;align-items:flex-start}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .pcards,.ggrid,.apps{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .hero-facts{gap:26px;flex-wrap:wrap}
  .hero h1{font-size:30px}
  .fgrid{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr}
}

/* ---------- 筛选结果条 ---------- */
.fres{font-size:12px;color:#8b949f;margin:-14px 0 22px;letter-spacing:.4px}
.fres::before{content:"● ";color:#F2681C}

/* ============================================================
   阿里式布局：banner / 类目 tab / 分类卡 / 精选 / 概览 / 四格 / 认证
   ============================================================ */
.ahero{position:relative;background:#0e1116;color:#fff;overflow:hidden}
.ahero-bg{position:absolute;inset:0;overflow:hidden}
.ahero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,13,18,.94) 0%,rgba(10,13,18,.62) 48%,rgba(242,104,28,.30) 100%)}
.ahero .wrap{position:relative;z-index:2;padding-top:64px}
.ahero-in{padding-bottom:44px;max-width:760px}
.ahero-badge{display:inline-block;border:1px solid rgba(255,255,255,.35);color:#ffd9c2;
  font-size:11px;font-weight:700;letter-spacing:2px;padding:6px 14px;border-radius:3px;margin-bottom:22px}
.ahero h1{font-size:64px;line-height:1.04;margin:0 0 20px;font-weight:800;letter-spacing:-2px}
.ahero p{color:#c2ccd9;font-size:15.5px;margin:0 0 28px}
.ahero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-line{border:1.5px solid rgba(255,255,255,.45);color:#fff}
.btn-line:hover{background:rgba(255,255,255,.12)}
.ahero-strip{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.06);
  border-top:1px solid rgba(255,255,255,.12)}
.ahero-strip div{padding:22px 24px;border-right:1px solid rgba(255,255,255,.09)}
.ahero-strip div:last-child{border-right:0}
.ahero-strip b{display:block;font-size:24px;font-weight:800;color:#fff;letter-spacing:-.3px}
.ahero-strip b em{font-style:normal;font-size:13px;color:#ffb184;margin-left:2px}
.ahero-strip span{display:block;font-size:11px;letter-spacing:1.2px;color:#93a0b0;text-transform:uppercase;margin-top:3px}

/* 类目快捷 tab */
.qstrip{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(12,16,22,.04)}
.qtabs{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.qtab{display:flex;align-items:center;gap:9px;padding:14px 10px;border-right:1px solid var(--line);
  font-size:11.8px;font-weight:600;color:#39424f;line-height:1.3}
.qtab:last-child{border-right:0}
.qtab img{width:34px;height:34px;object-fit:cover;border-radius:4px;flex:0 0 34px}
.qtab:hover{background:var(--soft);color:var(--accent)}

/* 行内标题 */
.linehead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;
  border-bottom:2px solid var(--ink);padding-bottom:12px}
.linehead h2{margin:0;font-size:34px;font-weight:800;letter-spacing:-.9px}

/* 阿里式分类卡 */
.agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.acard{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;transition:.2s}
.acard:hover{box-shadow:0 16px 36px rgba(12,16,22,.12);transform:translateY(-3px)}
.acard img{width:100%;aspect-ratio:16/10;object-fit:cover}
.acard-b{padding:15px 16px 16px}
.acard-b h3{margin:0 0 8px;font-size:14.5px;font-weight:800;line-height:1.3}
.acard-b ul{margin:0 0 12px}
.acard-b li{font-size:11.6px;color:#6b7480;padding:2px 0 2px 11px;position:relative}
.acard-b li::before{content:"·";position:absolute;left:2px;color:var(--accent);font-weight:800}
.acard-n{font-size:11.5px;font-weight:700;color:var(--accent)}

/* 精选产品 4 列 */
.fgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fcard{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.fcard:hover{box-shadow:0 14px 32px rgba(12,16,22,.1)}
.fcard-img{padding:14px;background:#fff;display:flex;align-items:center;justify-content:center;min-height:190px}
.fcard-img img{width:100%;height:auto;max-height:230px;object-fit:contain}
.fcard-b{padding:13px 14px 15px;border-top:1px solid var(--line);flex:1;display:flex;flex-direction:column}
.fcard-cat{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent);font-weight:800}
.fcard-b h4{margin:6px 0 7px;font-size:17px;line-height:1.35;font-weight:800}
.fcard-b p{font-size:13px;color:#6b7480;margin:0 0 12px;flex:1;line-height:1.5}

/* 公司概览 */
.ov{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.ov-img{border-radius:6px;overflow:hidden;min-height:360px}
.ov-img img{width:100%;height:100%;object-fit:cover}
.ov-txt p{font-size:14.5px;color:#4a5462;margin:0 0 13px}
.ov-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 24px}
.ov-facts div{border-left:3px solid var(--accent);padding-left:12px}
.ov-facts b{display:block;font-size:13px}
.ov-facts span{font-size:11.5px;color:#7c8694}

/* 四格 */
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.four>div{border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:22px 20px;background:rgba(255,255,255,.03)}
.four b{display:block;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:1.5px;margin-bottom:10px}
.four h4{margin:0 0 10px;font-size:18px;font-weight:800}
.four p{margin:0;font-size:12.6px;color:#9aa5b4;line-height:1.6}

/* 认证条 */
.certrow{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.certbox{border:1px solid var(--line);border-radius:6px;padding:20px 10px;text-align:center;background:#fff}
.certbox b{display:block;font-size:13px;color:var(--navy,#10305f);font-weight:800}
.certbox span{display:block;font-size:10px;color:#8b949f;margin-top:4px}

@media (max-width:1180px){
  .agrid,.fgrid4{grid-template-columns:repeat(3,1fr)}
  .qtabs{grid-template-columns:repeat(4,1fr)}
  .ahero h1{font-size:42px}
  .four{grid-template-columns:1fr 1fr}
  .certrow{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  .ahero-strip{grid-template-columns:1fr 1fr}
  .ov{grid-template-columns:1fr}
  .agrid,.fgrid4{grid-template-columns:repeat(2,1fr)}
  .ahero h1{font-size:32px}
}
@media (max-width:620px){
  .agrid,.fgrid4,.four{grid-template-columns:1fr}
  .qtabs{grid-template-columns:repeat(2,1fr)}
  .certrow{grid-template-columns:1fr 1fr}
}

/* 橱窗卡：编号 + 角标 */
.fcard-img{position:relative}
.fcard-no{display:inline-block;font-size:10.5px;font-weight:800;color:#F2681C;letter-spacing:1.2px}
.st-tag{position:absolute;top:9px;left:9px;background:#171b21;color:#fff;font-size:9.5px;
  font-weight:800;letter-spacing:.7px;padding:3px 7px;border-radius:3px;text-transform:uppercase}
.fcard-b h4{margin:4px 0 6px}

/* ============ 产品页 ============ */
.crumbbar{background:#f4f7fc;border-bottom:1px solid var(--line);font-size:12.5px;color:#7b8798}
.crumbbar .wrap{display:flex;gap:8px;align-items:center;height:46px}
.crumbbar a:hover{color:var(--accent)}
.pshell{padding:52px 0 40px}
.pgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.pimg{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;
  display:flex;align-items:center;justify-content:center}
.pimg img{width:100%;height:auto;max-width:640px;object-fit:contain}
.pno{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:2px;
  text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pinfo h1{font-size:40px;line-height:1.12;margin:0 0 14px;font-weight:800;letter-spacing:-1px}
.plead{font-size:16px;color:#5a6470;margin:0 0 24px}
.pspec{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:26px}
.pspec th{text-align:left;padding:11px 12px;background:var(--soft);width:38%;
  font-weight:700;color:#39424f;border-bottom:1px solid var(--line)}
.pspec td{padding:11px 12px;border-bottom:1px solid var(--line);color:#4a5462}
.pacts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.pnote{font-size:12.5px;color:#8b949f;line-height:1.6;margin:0}
.relrow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-i{border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px;
  display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}
.rel-i:hover{border-color:#c9daf0;color:var(--accent)}
.rel-i img{width:64px;height:64px;object-fit:contain;flex:0 0 64px}
@media (max-width:980px){ .pgrid{grid-template-columns:1fr;gap:28px} .relrow{grid-template-columns:1fr} }

/* ============ 产品总览：类目编号 & 橱窗小卡 ============ */
.acard-no{display:inline-block;font-size:10.5px;font-weight:800;color:#F2681C;letter-spacing:1.4px;margin-bottom:4px}
.acard-b h3{margin:0 0 9px;font-size:17px;font-weight:800;line-height:1.28}
.minigrid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.mini{border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px;text-align:center;
  display:flex;flex-direction:column;gap:8px;transition:.18s}
.mini:hover{border-color:#c9daf0;transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,16,22,.09)}
.mini img{width:100%;height:auto;max-height:96px;object-fit:contain}
.mini span{font-size:11.4px;font-weight:600;color:#39424f;line-height:1.35}
@media (max-width:1180px){ .minigrid{grid-template-columns:repeat(4,1fr)} }
@media (max-width:620px){ .minigrid{grid-template-columns:repeat(2,1fr)} }

/* ============ Capabilities 页 ============ */
.head-note{font-size:12.5px;color:#8b949f;max-width:520px;text-align:right}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gl-card{border:1px solid var(--line);border-radius:6px;padding:20px 20px 18px;background:#fff}
.gl-card b{display:block;font-size:26px;font-weight:800;color:var(--accent);line-height:1.1;letter-spacing:-.5px}
.gl-card b em{font-style:normal;font-size:14px;margin-left:2px}
.gl-card span{display:block;font-size:12px;font-weight:700;color:#39424f;margin-top:6px;
  letter-spacing:.8px;text-transform:uppercase}
.gl-card p{margin:8px 0 0;font-size:12.5px;color:#6b7480;line-height:1.55}

.ptable.docs td{padding:13px 12px;vertical-align:top}
.ptable.docs .td-doc{font-size:12px;color:#6b7480}
.doc-link{color:var(--accent);font-weight:700;font-size:12px;white-space:nowrap}
.doc-link:hover{text-decoration:underline}
.badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.6px;
  padding:3px 8px;border-radius:3px;text-transform:uppercase;white-space:nowrap}
.badge.ok{background:#eaf6ec;color:#1d6b32;border:1px solid #b9e0c2}
.badge.wait{background:#fff4e5;color:#9a5b00;border:1px solid #f0cd9a}
.badge.ext{background:#eef3fb;color:#2b5f9e;border:1px solid #d3e3f8}
.std-note{margin-top:18px;border-left:3px solid var(--accent);background:#fafbfd;
  padding:16px 18px;font-size:13px;color:#4a5462;line-height:1.7;border-radius:0 6px 6px 0}
.std-note b{color:var(--ink)}

.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ph-card{border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;background:#fff}
.ph-head{display:flex;justify-content:space-between;align-items:baseline;
  padding:16px 20px;background:var(--soft);border-bottom:1px solid var(--line)}
.ph-head span{font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#7b8798}
.ph-head b{font-size:20px;font-weight:800;color:var(--accent)}
.ph-card dl{margin:0;padding:16px 20px}
.ph-card dt{font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  color:#8b949f;margin-top:14px}
.ph-card dt:first-child{margin-top:0}
.ph-card dd{margin:4px 0 0;font-size:13.4px;color:#3d4653;line-height:1.6}
.ph-card .link{margin:0 20px 18px;display:inline-block}
.ph-note{margin-top:18px;font-size:13px;color:#6b7480;line-height:1.7}

.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mat-card{border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff}
.mat-card h4{margin:0 0 10px;font-size:14px;font-weight:800;color:var(--ink)}
.mat-card li{font-size:12.4px;color:#5a6470;padding:3px 0 3px 12px;position:relative;line-height:1.5}
.mat-card li::before{content:"·";position:absolute;left:2px;color:var(--accent);font-weight:800}
@media (max-width:1080px){
  .g-grid{grid-template-columns:1fr 1fr}
  .mat-grid{grid-template-columns:1fr 1fr}
  .ph-grid{grid-template-columns:1fr}
  .head-note{display:none}
}
@media (max-width:620px){ .g-grid,.mat-grid{grid-template-columns:1fr} }

/* ============ 首屏轮播 ============ */
.ahero-bg .hs{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.1s ease;will-change:opacity}
.ahero-bg .hs.on{opacity:.78}
.hero-dots{position:absolute;right:48px;bottom:136px;z-index:5;display:flex;gap:9px;justify-content:flex-end}
.hero-dots .hd{width:34px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.28);
  cursor:pointer;padding:0;transition:.2s}
.hero-dots .hd:hover{background:rgba(255,255,255,.55)}
.hero-dots .hd.on{background:#F2681C;width:52px}
@media (max-width:900px){ .hero-dots{right:24px;bottom:auto;top:24px} }
@media (max-width:620px){ .ahero-bg .hs.on{opacity:.7} }

/* ============ 顶栏社媒图标 ============ */
.topbar .tb-right{display:flex;align-items:center;gap:16px}
.tb-hours{font-size:12.5px;color:#9aa4b2}
.soc{display:flex;align-items:center;gap:10px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border-radius:50%;color:#aab4c2;transition:.18s}
.soc a svg{width:19px;height:19px;fill:currentColor;display:block}
.soc a:hover{color:#fff;background:rgba(242,104,28,.9);transform:translateY(-1px)}
@media (max-width:900px){
  .tb-hours{display:none}
  .topbar .tb-right{gap:10px}
  .soc a{width:28px;height:28px}
}

/* ============ Hero UI 细节 ============ */
.ahero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.ahero-badge .dot{width:7px;height:7px;border-radius:50%;background:#F2681C;
  box-shadow:0 0 0 0 rgba(242,104,28,.65);animation:heroPulse 2.1s infinite}
@keyframes heroPulse{
  0%{box-shadow:0 0 0 0 rgba(242,104,28,.6)}
  70%{box-shadow:0 0 0 9px rgba(242,104,28,0)}
  100%{box-shadow:0 0 0 0 rgba(242,104,28,0)}
}
.ahero h1 .hl{background:linear-gradient(100deg,#FFC79B 0%,#F2681C 55%,#FF9A4D 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 18px rgba(242,104,28,.25))}
.ahero-sub{font-size:16.5px;line-height:1.65;color:#c6d0dd;max-width:660px;margin:0 0 24px}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.hero-chips span{display:inline-flex;align-items:center;gap:7px;font-size:11.6px;font-weight:700;
  letter-spacing:.35px;color:#e2eaf5;background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 13px;
  backdrop-filter:blur(6px);transition:.2s}
.hero-chips span::before{content:"";width:5px;height:5px;border-radius:50%;background:#F2681C;
  box-shadow:0 0 6px rgba(242,104,28,.9)}
.hero-chips span:hover{background:rgba(242,104,28,.16);border-color:rgba(242,104,28,.5);transform:translateY(-1px)}
.ahero-actions .btn i{font-style:normal;display:inline-block;transition:transform .22s}
.ahero-actions .btn:hover i{transform:translateX(4px)}
.ahero-actions .btn{box-shadow:0 10px 26px rgba(0,0,0,.25)}
.ahero-actions .btn-accent:hover{box-shadow:0 14px 30px rgba(242,104,28,.38)}
@media (max-width:620px){
  .hero-chips span{font-size:10.8px;padding:5px 10px}
  .ahero-sub{font-size:14.5px}
}

/* ============ 橱窗卡 UI 加强 ============ */
.fcard{border-radius:10px;border:1px solid #e6eaf0;background:#fff;overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s}
.fcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(15,23,42,.13);
  border-color:#ffd0b0}
.fcard-img{position:relative;background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  padding:18px 16px 14px;display:flex;align-items:center;justify-content:center;min-height:210px}
.fcard-img img{width:100%;height:auto;max-height:210px;object-fit:contain;
  transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.fcard:hover .fcard-img img{transform:scale(1.045)}
/* 左上角关键词 */
.st-tag{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  background:rgba(17,22,30,.92);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:1.1px;
  text-transform:uppercase;padding:5px 10px;border-radius:6px;
  box-shadow:0 6px 16px rgba(10,14,20,.22);backdrop-filter:blur(4px)}
.st-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:#F2681C;
  box-shadow:0 0 8px rgba(242,104,28,.9)}
.fcard:hover .st-tag{background:#F2681C;box-shadow:0 8px 20px rgba(242,104,28,.4)}
.fcard:hover .st-tag::before{background:#fff;box-shadow:none}
/* 右上角编号 */
.fcard-no{position:absolute;top:12px;right:12px;z-index:3;font-size:11.5px;font-weight:800;
  letter-spacing:1px;color:#9aa5b4;background:rgba(255,255,255,.9);border:1px solid #e6eaf0;
  border-radius:999px;padding:2px 9px}
.fcard-b{padding:15px 16px 18px;border-top:1px solid #eef1f6;flex:1;display:flex;flex-direction:column}
.fcard-b h4{margin:0 0 7px;font-size:16px;line-height:1.35;font-weight:800;letter-spacing:-.2px;color:#141a22}
.fcard-b p{font-size:12.4px;color:#6b7684;line-height:1.55;margin:0 0 14px;flex:1}
.fcard-link{font-size:12.5px;font-weight:800;color:#F2681C;display:inline-flex;align-items:center;gap:5px}
.fcard-link i{font-style:normal;transition:transform .2s}
.fcard:hover .fcard-link i{transform:translateX(4px)}
@media (max-width:620px){ .fcard-img{min-height:180px} }

/* ============ 顶部品牌与导航 UI 强化 ============ */
.brand:hover img{transform:scale(1.05)}
.brand:hover b{color:#F2681C}
.nav a::before{content:"";position:absolute;left:50%;right:50%;bottom:-2px;height:3px;border-radius:3px;
  background:var(--accent);transition:left .22s,right .22s;opacity:0}
.nav a:hover::before{left:0;right:0;opacity:.55}
.hdr .btn-accent{padding:13px 24px;font-size:14px;border-radius:6px;
  box-shadow:0 8px 20px rgba(242,104,28,.28)}
.hdr .btn-accent:hover{box-shadow:0 12px 26px rgba(242,104,28,.42);transform:translateY(-1px)}
@media (max-width:1180px){
  .hdr .wrap{height:84px}
  .brand img{width:47px;height:auto}
  .brand b{font-size:20px}
  .brand small{font-size:10.5px;letter-spacing:1.8px}
  .nav{gap:24px}
  .nav a{font-size:14px}
}
@media (max-width:900px){
  .hdr .wrap{height:74px}
  .brand img{width:40px;height:auto}
  .brand b{font-size:18px}
}

/* ============ Company overview 新版 ============ */
.ovsec{background:#fff;border-top:1px solid var(--line)}
.ovwrap{display:grid;grid-template-columns:46% 54%;align-items:stretch;min-height:660px}
.ovimg{position:relative;overflow:hidden;background:#0e1116}
.ovimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ovbadge{position:absolute;left:34px;bottom:34px;display:flex;flex-direction:column;gap:2px;
  background:rgba(10,13,18,.55);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);
  border-radius:12px;padding:14px 20px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.ovbadge b{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.4px}
.ovbadge span{font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:#ffb98c;font-weight:700}
.ovtext{padding:clamp(48px,6vw,84px) clamp(28px,5.2vw,92px);display:flex;flex-direction:column;justify-content:center}
.ovtext h2{font-size:clamp(30px,3.1vw,42px);line-height:1.16;letter-spacing:-1.1px;margin:0 0 20px;font-weight:800;color:#141a22}
.ovtext>p{font-size:15.6px;line-height:1.88;color:#4a5462;margin:0 0 26px;max-width:640px}
.ovfeat{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:6px 0 28px;max-width:640px}
.ovfeat .ic{width:42px;height:42px;border-radius:10px;background:#fff3ea;color:#F2681C;
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.ovfeat .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.ovfeat b{display:block;font-size:15px;font-weight:800;color:#1b222c;margin-bottom:5px;letter-spacing:-.2px}
.ovfeat p{font-size:13.2px;line-height:1.6;color:#7b8492;margin:0}
.ovcerts{font-size:11.4px;letter-spacing:1.4px;color:#9aa3b0;text-transform:uppercase;
  border-top:1px solid #eef1f6;padding-top:18px;margin-bottom:26px;max-width:640px}
.ovtext .btn{align-self:flex-start;box-shadow:0 10px 24px rgba(242,104,28,.26)}
.ovtext .btn i{font-style:normal;transition:transform .2s}
.ovtext .btn:hover i{transform:translateX(4px)}
@media (max-width:1080px){
  .ovwrap{grid-template-columns:1fr;min-height:0}
  .ovimg{height:360px}
  .ovfeat{grid-template-columns:1fr;gap:20px}
}
@media (max-width:620px){
  .ovimg{height:280px}
  .ovbadge{left:18px;bottom:18px;padding:11px 15px}
}

/* ============ Why choose us 重做 ============ */
.whysec{background:#0f1319;color:#fff;padding:86px 0 76px;position:relative;overflow:hidden}
.whysec::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,#0f1319 0%,rgba(15,19,25,.15) 16%,rgba(15,19,25,.15) 82%,#0f1319 100%),
             url('assets/img/why-bg.jpg') center/cover no-repeat;opacity:.20;
  mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%);
  filter:grayscale(.35) contrast(1.05)}
.whysec::before{content:"";position:absolute;left:50%;top:-160px;z-index:1;width:900px;height:420px;
  transform:translateX(-50%);background:radial-gradient(closest-side,rgba(242,104,28,.16),transparent 72%);
  pointer-events:none}
.why-head{text-align:center;margin-bottom:52px;position:relative;z-index:2}
.why-head h2{font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-1.2px;margin:14px 0 0;color:#fff}
.whygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;z-index:2}
.why-card{position:relative;background:rgba(18,22,29,.72);backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);border-radius:14px;
  padding:34px 26px 30px;border-top:2px solid rgba(255,255,255,.09);
  transition:background .25s,border-color .25s,transform .25s}
.why-card:hover{background:rgba(24,29,38,.85);border-top-color:#F2681C;transform:translateY(-4px)}
.why-no{position:absolute;right:20px;top:14px;font-size:44px;font-weight:200;line-height:1;
  color:rgba(255,255,255,.075);letter-spacing:-2px;pointer-events:none}
.why-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:12px;background:rgba(242,104,28,.14);color:#F2681C;margin-bottom:20px}
.why-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.why-card h3{font-size:18.5px;line-height:1.3;font-weight:800;letter-spacing:-.3px;
  margin:0 0 12px;color:#fff}
.why-card p{margin:0;font-size:13.4px;line-height:1.72;color:#98a3b2}
.why-card ul{margin:0;padding:0;list-style:none}
.why-card li{font-size:13px;line-height:1.6;color:#98a3b2;padding:5px 0 5px 14px;position:relative}
.why-card li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;
  border-radius:50%;background:rgba(242,104,28,.85)}
.why-card li b{display:block;color:#e7edf5;font-size:11.4px;font-weight:800;letter-spacing:.9px;
  text-transform:uppercase;margin-bottom:1px}
.why-cta{text-align:center;margin-top:46px;position:relative;z-index:2}
.why-cta .btn{box-shadow:0 14px 34px rgba(242,104,28,.28)}
.why-cta .btn i{font-style:normal;transition:transform .2s}
.why-cta .btn:hover i{transform:translateX(4px)}
@media (max-width:1180px){ .whygrid{grid-template-columns:1fr 1fr} }
@media (max-width:620px){ .whygrid{grid-template-columns:1fr} .whysec{padding:60px 0 54px} }

/* ============ Main applications 重做 ============ */
.apps2{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.app2{position:relative;display:block;border-radius:14px;overflow:hidden;background:#0d1117;
  border:1px solid #e6eaf0;transition:transform .28s,box-shadow .28s,border-color .28s}
.app2 img{width:100%;height:auto;display:block;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.app2:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(15,23,42,.16);border-color:#ffd0b0}
.app2:hover img{transform:scale(1.05)}
.app2-lb{position:absolute;left:0;right:0;bottom:0;padding:30px 22px 18px;
  background:linear-gradient(to top,rgba(6,9,14,.94) 12%,rgba(6,9,14,.55) 58%,transparent 100%)}
.app2-lb span{font-size:15px;font-weight:700;letter-spacing:.5px;color:#fff;line-height:1.35;
  display:block;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.app2-arrow{position:absolute;right:16px;bottom:16px;width:34px;height:34px;border-radius:50%;
  background:#F2681C;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;opacity:0;transform:translateY(8px);
  transition:opacity .25s,transform .25s;box-shadow:0 8px 20px rgba(242,104,28,.45)}
.app2:hover .app2-arrow{opacity:1;transform:translateY(0)}
.btn-outline{border:1.5px solid #d7dee8;color:#2b3340;background:#fff;font-size:12px;
  font-weight:800;letter-spacing:1.1px;padding:9px 16px;border-radius:6px;transition:.2s}
.btn-outline:hover{border-color:#F2681C;color:#F2681C;background:#fff7f2}
.btn.sm{font-size:12px;padding:9px 16px}
@media (max-width:1080px){ .apps2{grid-template-columns:1fr 1fr} }
@media (max-width:620px){ .apps2{grid-template-columns:1fr} }

/* ============ CTA 询价区（重做） ============ */
.cta2{position:relative;background:#0d1117;color:#fff;padding:78px 0;overflow:hidden}
.cta2::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 16px),
    repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px)}
.cta2::after{content:"";position:absolute;right:-160px;top:-40%;width:760px;height:760px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(242,104,28,.22),transparent 72%)}
.cta2-in{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:56px}
.cta2-txt{max-width:720px}
.cta2-kicker{display:none}
.cta2-kicker .dot{width:6px;height:6px;border-radius:50%;background:#F2681C;
  box-shadow:0 0 0 0 rgba(242,104,28,.6);animation:heroPulse 2.1s infinite}
.cta2 h2{font-size:clamp(28px,3vw,40px);line-height:1.18;letter-spacing:-1px;margin:0 0 14px;font-weight:800}
.cta2-sub{font-size:15.5px;line-height:1.7;color:#a8b3c2;margin:0 0 22px;max-width:600px}
.cta2-contact{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 16px;padding:0;list-style:none}
.cta2-contact li{display:inline-flex;align-items:center;gap:9px;font-size:13.8px;color:#cdd6e2}
.cta2-contact .ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#F2681C}
.cta2-contact .ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.cta2-contact a{color:#fff;font-weight:700;letter-spacing:.2px}
.cta2-contact a:hover{color:#F2681C}
.cta2-note{margin:0;font-size:12.4px;color:#7f8b9c;letter-spacing:.2px}
.cta2-note::before{content:"✓";color:#4caf72;font-weight:800;margin-right:7px}
.cta2-act{display:flex;flex-direction:column;gap:14px;flex:0 0 auto;min-width:262px}
.cta2-act .btn{padding:17px 30px;font-size:15px;border-radius:8px;width:100%}
.cta2-act .btn{white-space:nowrap;justify-content:center}
.btn-ghost{border:1.5px solid rgba(255,255,255,.30);color:#fff;background:transparent}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media (max-width:980px){
  .cta2-in{flex-direction:column;align-items:flex-start;gap:30px}
  .cta2-act{flex-direction:row;flex-wrap:wrap}
  .cta2::after{display:none}
}

/* CTA 联系按钮（Email / WhatsApp / 地址） */
.cta2-contact{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:0;list-style:none}
.cta-chip{display:inline-flex;align-items:center;gap:9px;font-size:13.6px;font-weight:700;
  color:#e9eef5;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:9px 16px 9px 10px;transition:.2s;letter-spacing:.2px}
.cta-chip .ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:rgba(242,104,28,.16);color:#F2681C;flex:0 0 26px}
.cta-chip .ic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.cta-chip:hover{background:rgba(242,104,28,.16);border-color:rgba(242,104,28,.55);transform:translateY(-1px)}
.cta-chip.wa{background:rgba(37,211,102,.10);border-color:rgba(37,211,102,.35)}
.cta-chip.wa .ic{background:rgba(37,211,102,.18);color:#4ade80}
.cta-chip.wa:hover{background:rgba(37,211,102,.2);border-color:rgba(37,211,102,.65)}
.cta-chip.plain{cursor:default;background:transparent;border-color:rgba(255,255,255,.10)}
.cta-chip.plain:hover{background:transparent;border-color:rgba(255,255,255,.10);transform:none}
.cta-chip.plain .ic{background:rgba(255,255,255,.06);color:#9aa5b4}

/* WhatsApp 主按钮 */
.btn-wa{background:#25D366;color:#06341a;border:0;display:inline-flex;align-items:center;
  justify-content:center;gap:9px;font-weight:800;box-shadow:0 10px 24px rgba(37,211,102,.28)}
.btn-wa .wa-ic{width:18px;height:18px;fill:#06341a;stroke:none}
.btn-wa:hover{background:#1fbe5b;box-shadow:0 14px 30px rgba(37,211,102,.42);transform:translateY(-1px)}

/* ============ 页脚（五栏） ============ */
.ftr5{background:#0d1117;color:#8f9aa8;padding:66px 0 0;position:relative;overflow:hidden}
.ftr5::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#F2681C,#F2681C 12%,rgba(242,104,28,0) 55%)}
.ftr5::after{content:"";position:absolute;left:-10%;bottom:-40%;width:520px;height:520px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(242,104,28,.10),transparent 70%)}
.f5grid{position:relative;z-index:2;display:grid;
  grid-template-columns:1fr 1.25fr 1fr 1.2fr 1.45fr;gap:38px;padding-bottom:44px}
.ftr5 h4{font-size:12.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  color:#fff;margin:0 0 18px}
.ftr5 ul{list-style:none;margin:0;padding:0}
.ftr5 li{margin:0 0 11px}
.ftr5 a{color:#9aa5b4;font-size:13.2px;line-height:1.5;transition:.18s}
.ftr5 a:hover{color:#F2681C}
.f5comm p{margin:0 0 12px;font-size:13.2px;line-height:1.62;color:#9aa5b4}
.f5comm .f5lab{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#66707e;
  margin:0 0 4px;font-weight:700}
.f5comm p a{color:#dfe6ee;font-weight:600}
.f5comm p a:hover{color:#F2681C}
.f5soc{display:flex;gap:10px;margin-top:18px}
.f5soc a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);
  display:inline-flex;align-items:center;justify-content:center;color:#9aa5b4;transition:.2s}
.f5soc svg{width:15px;height:15px;fill:currentColor}
.f5soc a:hover{background:#F2681C;border-color:#F2681C;color:#fff;transform:translateY(-2px)}
.f5bot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;
  flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding:20px 0 24px;
  font-size:12px;color:#69737f;letter-spacing:.3px}
@media (max-width:1180px){ .f5grid{grid-template-columns:1fr 1fr 1fr;gap:30px} }
@media (max-width:720px){ .f5grid{grid-template-columns:1fr 1fr;gap:26px} .ftr5{padding:48px 0 0} }
@media (max-width:520px){ .f5grid{grid-template-columns:1fr} }

/* ============ 产品总览（7 大类横排） ============ */
.prow{display:grid;grid-template-columns:0.9fr 1.1fr;gap:0;border:1px solid #e8ecf2;
  border-radius:14px;overflow:hidden;background:#fff;margin-bottom:26px;
  transition:box-shadow .25s,transform .25s,border-color .25s}
.prow:hover{box-shadow:0 22px 48px rgba(15,23,42,.12);transform:translateY(-3px);border-color:#ffd6bd}
.prow-img{position:relative;display:block;background:#0d1117;min-height:260px;overflow:hidden}
.prow-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prow:hover .prow-img img{transform:scale(1.05)}
.prow-no{position:absolute;left:18px;top:16px;z-index:2;background:rgba(13,17,23,.72);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:2px;padding:5px 11px;border-radius:6px;
  border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.prow-info{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}
.prow-info h2{margin:0 0 18px;font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.8px;line-height:1.2}
.prow-info h2 a{color:#141a22}
.prow:hover .prow-info h2 a{color:#F2681C}
.prow-subs{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.prow-subs a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:13.4px;color:#4a5462;padding:7px 0;border-bottom:1px dashed #eef1f6;transition:.18s}
.prow-subs a:hover{color:#F2681C;border-color:#ffd6bd}
.prow-subs span{font-size:11px;font-weight:800;color:#F2681C;background:#fff3ea;
  border-radius:999px;padding:2px 9px;flex:0 0 auto}
.prow-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.prow-count{font-size:12.5px;font-weight:700;letter-spacing:.4px;color:#8b95a3;text-transform:uppercase}

/* ============ 类目页（子类分块） ============ */
.cat-hero2{position:relative;background-size:cover;background-position:center;color:#fff;padding:0}
.cat-hero2::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(9,12,17,.95),rgba(9,12,17,.72) 55%,rgba(242,104,28,.28))}
.cat-hero2 .wrap{position:relative;z-index:2;padding:72px 0 64px}
.cat-hero2 .crumb{font-size:12.5px;color:#93a0b0;margin-bottom:22px}
.cat-hero2 .crumb a{color:#cfd8e3}
.cat-hero2 .crumb a:hover{color:#F2681C}
.cat-no-lg{display:inline-block;font-size:11px;font-weight:800;letter-spacing:2.4px;color:#ffb98c;margin-bottom:12px}
.cat-hero2 h1{font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-1.2px;margin:0 0 14px;font-weight:800}
.cat-hero2 p{max-width:640px;color:#c2ccd9;font-size:15px;line-height:1.7;margin:0}
.cat-layout2{display:grid;grid-template-columns:250px 1fr;gap:48px;padding:52px 0 70px;align-items:start}
.cat-side2{position:sticky;top:110px}
.cat-side2 .side-box{margin-bottom:26px}
.cat-side2 h4{font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:#8b95a3;margin:0 0 12px}
.cat-side2 ul{list-style:none;margin:0;padding:0}
.cat-side2 li{margin-bottom:2px}
.cat-side2 a{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:13.2px;
  color:#39424f;padding:8px 10px;border-radius:7px;transition:.18s;line-height:1.35}
.cat-side2 a span{flex:0 0 auto;margin-top:1px}
.cat-side2 a:hover{background:#f5f8fc;color:#F2681C}
.cat-side2 a span{font-size:11px;font-weight:800;color:#F2681C}
.subsec{margin-bottom:44px;scroll-margin-top:110px}
.subhead{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid #141a22;padding-bottom:12px;margin-bottom:22px}
.subno{font-size:12px;font-weight:800;letter-spacing:1.6px;color:#F2681C}
.subhead h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.5px;flex:1}
.subcount{font-size:12px;font-weight:700;letter-spacing:.5px;color:#8b95a3;text-transform:uppercase}
.pgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{display:flex;flex-direction:column;border:1px solid #e8ecf2;border-radius:10px;overflow:hidden;
  background:#fff;transition:.22s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.12);border-color:#ffd6bd}
.pcard-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#fff,#f7f9fc);padding:14px}
.pcard-img img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.pcard:hover .pcard-img img{transform:scale(1.05)}
.pcard-b{padding:13px 14px 15px;border-top:1px solid #eef1f6;display:flex;flex-direction:column;flex:1}
.pcard-b h4{margin:0 0 6px;font-size:13.6px;font-weight:800;line-height:1.35;color:#141a22}
.pcard-b p{margin:0 0 10px;font-size:11.8px;line-height:1.5;color:#7b8492;flex:1}
.pcard-link{font-size:12px;font-weight:800;color:#F2681C;display:inline-flex;align-items:center;gap:4px}
.pcard-link i{font-style:normal;transition:transform .2s}
.pcard:hover .pcard-link i{transform:translateX(3px)}
@media (max-width:1180px){
  .pgrid4{grid-template-columns:repeat(3,1fr)}
  .cat-layout2{grid-template-columns:1fr;gap:28px}
  .cat-side2{position:static}
  .prow{grid-template-columns:1fr}
  .prow-img{min-height:200px}
}
@media (max-width:760px){
  .pgrid4{grid-template-columns:1fr 1fr}
  .prow-subs{grid-template-columns:1fr}
  .prow-info{padding:24px 22px}
}
@media (max-width:520px){ .pgrid4{grid-template-columns:1fr} }

/* 侧边栏最终样式（覆盖旧规则） */
.cat-side2 .side-box{background:#fff;border:1px solid #e8ecf2;border-radius:12px;overflow:hidden;
  padding:0;margin-bottom:24px}
.cat-side2 .side-box h4{margin:0;padding:14px 16px;background:#f5f8fc;border-bottom:1px solid #eef1f6;
  font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#7b8798}
.cat-side2 ul{padding:6px}
.cat-side2 li{margin:0}
.cat-side2 a{display:flex !important;align-items:center;justify-content:space-between !important;gap:10px;
  padding:10px 12px !important;border-radius:8px;font-size:13.2px;color:#39424f;line-height:1.35}
.cat-side2 a span{flex:0 0 auto !important;margin-left:auto !important;padding-left:8px;
  font-size:11.5px;font-weight:800;color:#F2681C}
.cat-side2 a:hover{background:#fff4ec;color:#F2681C}
.cat-side2 .side-note{background:#f8fafd;border:1px solid #e8ecf2;border-left:3px solid #F2681C;
  border-radius:0 10px 10px 0;padding:14px 16px;font-size:12.4px;line-height:1.6;color:#6b7480}
.cat-side2 .side-note b{display:block;color:#141a22;margin-bottom:4px}

/* ============ 产品页 hero（含截面图） ============ */
.page-hero h1{text-shadow:none}
.phero{background:#0d1117;color:#fff;padding:66px 0 62px;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;left:-140px;top:-160px;width:620px;height:620px;
  border-radius:50%;background:radial-gradient(closest-side,rgba(242,104,28,.16),transparent 70%)}
.phero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr 1fr;gap:54px;align-items:center}
.phero h1{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-1.8px;margin:0 0 16px;
  font-weight:800;text-shadow:none}
.phero p{color:#a8b3c2;font-size:15.5px;line-height:1.72;max-width:520px;margin:0}
.phero-x{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.xs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:18px 10px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  transition:.25s}
.xs:hover{border-color:rgba(242,104,28,.55);background:rgba(242,104,28,.08);transform:translateY(-3px)}
.xs img{width:100%;max-width:96px;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
.xs span{font-size:10.5px;letter-spacing:.5px;color:#93a0b0;text-align:center;line-height:1.3}
@media (max-width:980px){
  .phero-in{grid-template-columns:1fr;gap:34px}
  .phero-x{grid-template-columns:repeat(3,1fr)}
}

/* 备案号 */
.f5icp{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.f5icp a{color:#9aa5b4;font-size:12px;font-weight:600}
.f5icp a:hover{color:#F2681C}
.f5icp i{font-style:normal;opacity:.4}

/* ============ 构造类型清单（两列） ============ */
.clsec{background:#fff;padding:56px 0 20px}
.clhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  border-bottom:2px solid #141a22;padding-bottom:12px;margin-bottom:6px}
.clhead h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.6px}
.clhead span{font-size:12px;font-weight:700;letter-spacing:.8px;color:#8b95a3;text-transform:uppercase}
.catlist{columns:2;column-gap:0}
.cl-row{display:flex;align-items:center;gap:16px;padding:12px 14px;border-bottom:1px solid #eef1f6;
  break-inside:avoid;transition:background .18s,color .18s;text-decoration:none}
.cl-row:hover{background:#fff6f0}
.cl-row:hover .cl-ic{transform:scale(1.16);border-color:#F2681C;
  box-shadow:0 10px 24px rgba(242,104,28,.20)}
.cl-row:hover .cl-txt{transform:scale(1.05)}
.cl-ic{flex:0 0 58px;width:58px;height:58px;border-radius:50%;border:1px solid #e6ecf3;
  background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:4px;
  box-shadow:0 3px 10px rgba(15,23,42,.07);
  transition:transform .25s cubic-bezier(.2,.7,.3,1),border-color .25s,box-shadow .25s}
.cl-ic img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.cl-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;
  transform-origin:left center;transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.cl-txt b{font-size:15.4px;font-weight:800;color:#1b222c;line-height:1.28;letter-spacing:-.1px}
.cl-txt em{font-style:normal;font-size:12.2px;color:#9aa5b4;letter-spacing:.2px}
.cl-n{font-size:11px;font-weight:800;color:#F2681C;background:#fff3ea;border-radius:999px;padding:2px 8px}
.cl-go{color:#c2c9d4;font-size:18px;font-weight:700;transition:transform .18s,color .18s}
.cl-row:hover .cl-go{color:#F2681C;transform:translateX(3px)}
.cl-row:hover .cl-txt b{color:#F2681C}
@media (max-width:820px){ .catlist{columns:1} .clhead{flex-direction:column;gap:6px} }

/* 产品页 hero 单列（无截面图） */
.phero-in.single{grid-template-columns:1fr;gap:0}
.phero-in.single>div{max-width:760px}
.phero-in.single p{max-width:620px}

/* ============ 质量认证（图标卡） ============ */
.crtsec{background:#fff;padding:78px 0 72px;border-top:1px solid var(--line)}
.crt-head{text-align:center;margin-bottom:44px}
.crt-head h2{margin:12px 0 10px;font-size:clamp(28px,3.2vw,42px);font-weight:800;
  letter-spacing:-1.2px;color:#141a22}
.crt-head p{margin:0;font-size:14.5px;color:#7b8492;line-height:1.6}
.crtgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.crt-card{position:relative;display:flex;flex-direction:column;background:#f1f3f6;
  border:1px solid #e6eaf0;border-radius:6px;padding:48px 22px 20px;min-height:236px;
  text-decoration:none;transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,
  background .26s,border-color .26s}
.crt-card:hover{transform:translateY(-6px);background:#fff;border-color:#ffd6bd;
  box-shadow:0 22px 44px rgba(15,23,42,.13)}
.crt-badge{position:absolute;top:-22px;left:20px;width:64px;height:64px;border-radius:50%;
  background:#1b2027;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;letter-spacing:.4px;border:5px solid #fff;
  box-shadow:0 8px 20px rgba(15,23,42,.22);transition:transform .3s,background .3s}
.crt-card:hover .crt-badge{transform:rotate(-8deg) scale(1.08);background:#F2681C}
.crt-card h4{margin:0 0 10px;font-size:19px;font-weight:800;letter-spacing:-.3px;
  color:#141a22;line-height:1.25}
.crt-card p{margin:0 0 20px;font-size:13.2px;line-height:1.62;color:#5a6470;
  font-style:italic;margin-bottom:auto}
.crt-go{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;
  background:#F2681C;color:#fff;font-size:12px;font-weight:800;letter-spacing:1.2px;
  padding:9px 15px;border-radius:4px;transition:background .22s,gap .22s,box-shadow .22s}
.crt-go i{font-style:normal;font-size:15px;line-height:1;transition:transform .22s}
.crt-card:hover .crt-go{background:#d9550f;box-shadow:0 10px 22px rgba(242,104,28,.32)}
.crt-card:hover .crt-go i{transform:translateX(3px)}
@media (max-width:1180px){ .crtgrid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:880px){ .crtgrid{grid-template-columns:1fr 1fr} .crt-card{min-height:230px;padding:46px 18px 18px} }
@media (max-width:560px){ .crtgrid{grid-template-columns:1fr} }

/* ============ 产品页 v2（图库 + 参数） ============ */
.pshell2{padding:52px 0 44px}
.pdgrid{display:grid;grid-template-columns:1.02fr 1fr;gap:52px;align-items:start}
.pdmain{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:22px;
  display:flex;align-items:center;justify-content:center;min-height:420px}
.pdmain img{max-width:100%;max-height:480px;object-fit:contain}
.pdthumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.thumb{width:78px;height:78px;border:1px solid #e6eaf0;border-radius:8px;background:#fff;
  padding:6px;cursor:pointer;transition:.18s}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb.on,.thumb:hover{border-color:#F2681C;box-shadow:0 6px 16px rgba(242,104,28,.18)}
.pinfo h1{font-size:clamp(26px,2.8vw,38px);line-height:1.16;letter-spacing:-1px;margin:6px 0 12px;font-weight:800}
.pchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.pchips span{font-size:11.6px;font-weight:700;color:#4a5462;background:#f3f6fa;
  border:1px solid #e6ecf3;border-radius:5px;padding:4px 9px}
.pchips span.hi{color:#C24E10;background:#fff3ea;border-color:#ffd9c2}
.pdsec{display:flex;align-items:center;gap:14px;background:#f8fafd;border:1px solid #e8ecf2;
  border-radius:10px;padding:12px 16px;margin:0 0 22px}
.pdsec-img{flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:#fff;
  border:1px solid #e6ecf3;display:flex;align-items:center;justify-content:center;padding:4px}
.pdsec-img img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.pdsec b{display:block;font-size:13px;color:#141a22}
.pdsec span{font-size:12px;color:#7b8492}
.noimg{font-size:11px;color:#9aa5b4;letter-spacing:.6px}

/* 类目页产品卡（实拍 + 截面角标 + 参数） */
.xcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e6eaf0;
  border-radius:12px;overflow:hidden;transition:transform .24s,box-shadow .24s,border-color .24s;text-decoration:none}
.xcard:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(15,23,42,.13);border-color:#ffd0b0}
.ximg{position:relative;aspect-ratio:4/3;background:linear-gradient(180deg,#fff,#f7f9fc);
  display:flex;align-items:center;justify-content:center;padding:14px}
.ximg>img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.xcard:hover .ximg>img{transform:scale(1.05)}
.xsec{position:absolute;right:10px;bottom:10px;width:56px;height:56px;border-radius:50%;
  background:#fff;border:1px solid #e6eaf0;box-shadow:0 6px 16px rgba(15,23,42,.15);
  display:flex;align-items:center;justify-content:center;padding:4px;transition:.25s}
.xsec img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.xcard:hover .xsec{transform:scale(1.08);border-color:#F2681C}
.xb{padding:13px 14px 15px;border-top:1px solid #eef1f6;display:flex;flex-direction:column;flex:1}
.xb h4{margin:0 0 8px;font-size:13.6px;line-height:1.38;font-weight:800;color:#141a22}
.xspec{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px;flex:1;align-content:flex-start}
.xspec span{font-size:10.4px;font-weight:700;color:#4a5462;background:#f3f6fa;
  border:1px solid #e6ecf3;border-radius:5px;padding:3px 7px}
.xspec span.hi{color:#C24E10;background:#fff3ea;border-color:#ffd9c2}
.xlink{font-size:12px;font-weight:800;color:#F2681C;display:inline-flex;align-items:center;gap:4px}
.xlink i{font-style:normal;transition:transform .2s}
.xcard:hover .xlink i{transform:translateX(3px)}
@media (max-width:980px){ .pdgrid{grid-template-columns:1fr;gap:28px} }

/* ============ About 页 UI ============ */
.ab-hero{position:relative;background:#0d1117;color:#fff;overflow:hidden;padding:0 0 0}
.ab-hero-bg{position:absolute;inset:0;opacity:.30}
.ab-hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3)}
.ab-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,#0d1117 42%,rgba(13,17,23,.55) 78%,rgba(13,17,23,.85))}
.ab-hero-in{position:relative;z-index:2;padding:86px 0 54px;max-width:900px}
.ab-hero-in .kicker{color:#F2681C}
.ab-hero-in h1{margin:16px 0 18px;font-size:clamp(34px,5vw,62px);line-height:1.04;
  letter-spacing:-2px;font-weight:800}
.ab-hero-in h1 em{font-style:normal;color:#F2681C}
.ab-hero-in p{max-width:620px;color:#a9b4c2;font-size:16.5px;line-height:1.66;margin:0}

.ab-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.12)}
.ab-stat{padding:26px 20px 30px;border-right:1px solid rgba(255,255,255,.09)}
.ab-stat:last-child{border-right:none}
.ab-stat b{display:block;font-size:clamp(24px,2.6vw,36px);font-weight:800;letter-spacing:-1.2px;color:#fff}
.ab-stat b em{font-style:normal;font-size:.5em;margin-left:2px;color:#F2681C}
.ab-stat span{display:block;margin-top:6px;font-size:11.5px;letter-spacing:1.2px;
  text-transform:uppercase;color:#7f8b9a}

.ab-intro{background:#fff;padding:84px 0}
.ab-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.ab-quote{position:relative;background:#f5f7fa;border-left:3px solid #F2681C;
  border-radius:0 10px 10px 0;padding:34px 30px 28px}
.ab-q{position:absolute;top:6px;right:22px;font-size:70px;line-height:1;color:#e6ebf2;font-weight:800}
.ab-quote p{position:relative;margin:0 0 16px;font-size:17px;line-height:1.55;color:#2a323d;font-weight:600}
.ab-qwho{font-size:12px;color:#8b95a3;letter-spacing:.4px}
.ab-copy h2{margin:0 0 18px;font-size:clamp(26px,2.6vw,34px);font-weight:800;letter-spacing:-1px}
.ab-copy p{margin:0 0 14px;font-size:14.6px;line-height:1.78;color:#4c5663}

.ab-cats{background:#f7f9fc;padding:82px 0}
.ab-head{text-align:center;margin-bottom:40px}
.ab-head.left{text-align:left}
.ab-head h2{margin:0 0 10px;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:-1.1px}
.ab-head p{margin:0;color:#7b8492;font-size:14.4px}
.ab-catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ab-cat{position:relative;background:#fff;border:1px solid #e6eaf0;border-radius:12px;
  padding:28px 24px 22px;display:flex;flex-direction:column;transition:.26s;text-decoration:none}
.ab-cat:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(15,23,42,.12);border-color:#ffd0b0}
.ab-catn{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#F2681C;margin-bottom:14px}
.ab-cat h3{margin:0 0 8px;font-size:17px;font-weight:800;letter-spacing:-.3px;color:#141a22}
.ab-cat p{margin:0 0 18px;font-size:13.2px;line-height:1.62;color:#6b7583;flex:1}
.ab-go{font-size:12px;font-weight:800;color:#F2681C;letter-spacing:.4px}
.ab-cat-alt{background:#141a22;border-color:#141a22}
.ab-cat-alt h3{color:#fff}
.ab-cat-alt p{color:#9aa5b4}
.ab-cat-alt .ab-catn{color:#F2681C}

.ab-time{background:#fff;padding:80px 0}
.ab-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid #e6eaf0}
.ab-tl{position:relative;padding:26px 20px 0 0;border-right:1px solid #eef1f6}
.ab-tl:last-child{border-right:none}
.ab-tl::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;
  border-radius:50%;background:#F2681C}
.ab-yr{display:block;font-size:19px;font-weight:800;color:#141a22;letter-spacing:-.5px;margin-bottom:10px}
.ab-tl h4{margin:0 0 6px;font-size:13.6px;font-weight:800;color:#2a323d}
.ab-tl p{margin:0;font-size:12.6px;line-height:1.62;color:#7b8492}

.ab-band{background:#0f1319;color:#fff;padding:0}
.ab-band-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.ab-band-img{height:100%;min-height:420px}
.ab-band-img img{width:100%;height:100%;object-fit:cover;display:block}
.ab-band-txt{padding:64px 60px}
.ab-band-txt .kicker{color:#F2681C}
.ab-band-txt h2{margin:14px 0 16px;font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-1px}
.ab-band-txt p{color:#a9b4c2;font-size:14.4px;line-height:1.72;margin:0 0 18px;max-width:520px}
.ab-ticks{list-style:none;margin:0 0 26px;padding:0}
.ab-ticks li{position:relative;padding-left:22px;margin-bottom:9px;font-size:13.6px;color:#cbd5e1}
.ab-ticks li::before{content:"✓";position:absolute;left:0;color:#F2681C;font-weight:800}

.ab-values{background:#f7f9fc;padding:78px 0}
.ab-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ab-val{background:#fff;border:1px solid #e6eaf0;border-radius:12px;padding:30px 26px}
.ab-vic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:#fff3ea;color:#C24E10;font-size:12.5px;font-weight:800;margin-bottom:16px}
.ab-val h4{margin:0 0 8px;font-size:16px;font-weight:800;color:#141a22}
.ab-val p{margin:0;font-size:13.4px;line-height:1.68;color:#6b7583}

@media (max-width:1080px){
  .ab-stats{grid-template-columns:repeat(3,1fr)}
  .ab-stat{border-bottom:1px solid rgba(255,255,255,.09)}
  .ab-intro-grid{grid-template-columns:1fr;gap:34px}
  .ab-catgrid{grid-template-columns:1fr 1fr}
  .ab-timeline{grid-template-columns:1fr 1fr;border-top:none}
  .ab-tl{border-right:none;border-top:1px solid #eef1f6;padding-top:20px;margin-top:16px}
  .ab-band-grid{grid-template-columns:1fr}
  .ab-band-img{min-height:280px}
  .ab-band-txt{padding:40px 24px}
  .ab-vgrid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .ab-stats{grid-template-columns:1fr 1fr}
  .ab-catgrid{grid-template-columns:1fr}
  .ab-timeline{grid-template-columns:1fr}
  .ab-hero-in{padding:60px 0 40px}
}

/* ============ About v2 ============ */
.ab-hero-act{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.btn.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff}
.btn.btn-ghost:hover{background:rgba(255,255,255,.10);border-color:#fff}

.ab-trust{background:#141a22;color:#fff;padding:20px 0 24px;border-top:1px solid rgba(255,255,255,.08)}
.ab-trust .wrap{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.ab-trustlab{font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:#7f8b9a;white-space:nowrap}
.ab-logos{display:flex;gap:10px;flex-wrap:wrap;flex:1}
.ab-logo{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid rgba(255,255,255,.14);
  border-radius:7px;background:rgba(255,255,255,.03);min-width:104px;transition:.22s}
.ab-logo:hover{border-color:#F2681C;background:rgba(242,104,28,.10)}
.ab-logo b{font-size:12.6px;font-weight:800;letter-spacing:.2px;color:#fff}
.ab-logo em{font-style:normal;font-size:10px;color:#8b95a3;letter-spacing:.4px}

.ab-core{background:#fff;padding:54px 0}
.ab-coregrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid #eef1f6}
.ab-core-item{padding:0 22px 26px;border-right:1px solid #eef1f6}
.ab-core-item:last-child{border-right:none}
.ab-ic{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;
  border-radius:9px;background:#fff3ea;margin-bottom:14px}
.ab-ic svg{width:19px;height:19px;fill:none;stroke:#F2681C;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ab-core-item b{display:block;font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-1.2px;color:#141a22;line-height:1}
.ab-core-item b em{font-style:normal;font-size:.42em;color:#F2681C;margin-left:2px;letter-spacing:0}
.ab-core-item>span:last-child{display:block;margin-top:8px;font-size:11.5px;letter-spacing:1.1px;
  text-transform:uppercase;color:#8b95a3}

.ab-who{background:#f7f9fc;padding:82px 0}
.ab-who-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.ab-who-img{position:relative;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #e6eaf0}
.ab-who-img img{width:100%;display:block;height:420px;object-fit:cover}
.ab-who-cap{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;font-size:11.6px;
  color:#e9eef5;background:linear-gradient(transparent,rgba(10,14,20,.82))}
.ab-who-txt .kicker{color:#F2681C}
.ab-who-txt h2{margin:12px 0 16px;font-size:clamp(25px,2.6vw,34px);font-weight:800;letter-spacing:-1.1px}
.ab-who-txt p{margin:0 0 14px;font-size:14.8px;line-height:1.76;color:#4c5663}

.ab-mfg{background:#0f1319;color:#fff;padding:84px 0}
.ab-mfg-head{max-width:720px;margin-bottom:38px}
.ab-mfg-head .kicker{color:#F2681C}
.ab-mfg-head h2{margin:12px 0 12px;font-size:clamp(26px,2.9vw,38px);font-weight:800;letter-spacing:-1.2px;line-height:1.14}
.ab-mfg-head p{margin:0;color:#a9b4c2;font-size:14.6px;line-height:1.72}
.ab-mfg-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:44px}
.ab-fig{margin:0;border-radius:12px;overflow:hidden;position:relative;background:#1a2029}
.ab-fig img{width:100%;height:290px;object-fit:cover;display:block;transition:transform .5s}
.ab-fig-lg img{height:290px}
.ab-fig:hover img{transform:scale(1.04)}
.ab-fig figcaption{padding:11px 14px;font-size:11.8px;color:#9aa5b4;background:#151b23;
  border-top:1px solid rgba(255,255,255,.06)}
.ab-fig figcaption b{display:block;color:#fff;font-size:12.6px;margin-bottom:2px}

.ab-qc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.12)}
.ab-qc-item{padding:26px 22px 0 0;border-right:1px solid rgba(255,255,255,.09)}
.ab-qc-item:nth-child(3){border-right:none}
.ab-qcn{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:1.6px;color:#F2681C;
  border:1px solid rgba(242,104,28,.45);border-radius:5px;padding:3px 8px;margin-bottom:12px}
.ab-qc-item h3{margin:0 0 6px;font-size:14.6px;font-weight:800;color:#fff}
.ab-qc-item p{margin:0;font-size:12.8px;line-height:1.62;color:#8b95a3}
.ab-qc-note{padding:26px 0 0 24px;border-left:1px solid rgba(255,255,255,.09)}
.ab-qc-note b{display:block;font-size:12.6px;color:#fff;margin-bottom:6px}
.ab-qc-note span{font-size:12.2px;color:#8b95a3;line-height:1.6}

.ab-apps{background:#fff;padding:82px 0}
.ab-head{text-align:center;margin-bottom:38px}
.ab-head.left{text-align:left;margin-bottom:26px}
.ab-head h2{margin:0 0 10px;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:-1.1px}
.ab-head p{margin:0;color:#7b8492;font-size:14.4px}
.ab-appgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ab-app{border:1px solid #e6eaf0;border-radius:13px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:.26s;text-decoration:none}
.ab-app:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(15,23,42,.12);border-color:#ffd0b0}
.ab-app-img{height:180px;overflow:hidden}
.ab-app-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ab-app:hover .ab-app-img img{transform:scale(1.06)}
.ab-app-b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.ab-app-b h3{margin:0 0 8px;font-size:17px;font-weight:800;letter-spacing:-.3px;color:#141a22}
.ab-app-b p{margin:0 0 16px;font-size:13.2px;line-height:1.64;color:#6b7583;flex:1}
.ab-go{font-size:12px;font-weight:800;color:#F2681C}

.ab-timeline-sec{background:#f7f9fc;padding:82px 0}
.ab-journey{list-style:none;margin:0;padding:0;position:relative}
.ab-journey::before{content:"";position:absolute;left:74px;top:8px;bottom:8px;width:1px;background:#dde3ec}
.ab-journey li{position:relative;display:flex;gap:26px;padding:0 0 26px}
.ab-journey li::before{content:"";position:absolute;left:70px;top:7px;width:9px;height:9px;border-radius:50%;
  background:#F2681C;box-shadow:0 0 0 4px #f7f9fc}
.ab-jy{flex:0 0 64px;text-align:right;font-size:17px;font-weight:800;color:#141a22;letter-spacing:-.4px}
.ab-journey h3{margin:0 0 4px;font-size:14.6px;font-weight:800;color:#2a323d}
.ab-journey p{margin:0;font-size:13.2px;line-height:1.62;color:#7b8492;max-width:640px}

.ab-why{background:#fff;padding:80px 0}
.ab-whygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ab-whyitem{background:#f8fafc;border:1px solid #eaeef4;border-radius:14px;padding:32px 28px 34px}
.ab-wic{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;
  border-radius:12px;background:#fff;border:1px solid #e6eaf0;margin-bottom:22px}
.ab-wic svg{width:28px;height:28px;fill:none;stroke:#F2681C;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ab-whyitem h3{margin:0 0 12px;font-size:19px;font-weight:800;letter-spacing:-.3px;color:#141a22}
.ab-whyitem p{margin:0;font-size:14.6px;line-height:1.68;color:#5a6470}

.ab-team{background:#f7f9fc;padding:80px 0}
.ab-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab-team-img{border-radius:14px;overflow:hidden}
.ab-team-img img{width:100%;height:400px;object-fit:cover;display:block}
.ab-team-txt .kicker{color:#F2681C}
.ab-team-txt h2{margin:12px 0 14px;font-size:clamp(24px,2.5vw,32px);font-weight:800;letter-spacing:-1px}
.ab-team-txt p{margin:0 0 16px;font-size:14.4px;line-height:1.74;color:#4c5663}
.ab-ticks{list-style:none;margin:0;padding:0}
.ab-ticks li{position:relative;padding-left:22px;margin-bottom:9px;font-size:13.4px;color:#3d4753}
.ab-ticks li::before{content:"✓";position:absolute;left:0;color:#F2681C;font-weight:800}

.ab-tour{background:#141a22;color:#fff;padding:64px 0}
.ab-tour-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ab-tour-txt .kicker.light{color:#F2681C}
.ab-tour-txt h2{margin:12px 0 12px;font-size:clamp(23px,2.4vw,31px);font-weight:800;letter-spacing:-1px}
.ab-tour-txt p{margin:0;color:#a9b4c2;font-size:14.2px;line-height:1.7;max-width:520px}
.ab-tour-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ab-tour-form input{flex:1 1 240px;padding:14px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);color:#fff;font-size:14px;outline:none}
.ab-tour-form input::placeholder{color:#7f8b9a}
.ab-tour-form input:focus{border-color:#F2681C}
.ab-tour-note{flex:1 1 100%;font-size:11.6px;color:#7f8b9a}

.ab-final{background:#fff;padding:96px 0 104px;text-align:center}
.ab-final-in h2{margin:0 0 16px;font-size:clamp(28px,3.6vw,48px);font-weight:800;letter-spacing:-1.6px;line-height:1.08}
.ab-final-in p{margin:0 auto 30px;max-width:600px;color:#6b7583;font-size:15px;line-height:1.7}
.ab-final-act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ab-final-act .btn-ghost{background:#fff;border:1px solid #d9e0ea;color:#141a22}
.ab-final-act .btn-ghost:hover{border-color:#141a22}

@media (max-width:1080px){
  .ab-coregrid{grid-template-columns:repeat(3,1fr)}
  .ab-core-item{border-bottom:1px solid #eef1f6;padding-bottom:22px;margin-bottom:18px}
  .ab-who-grid,.ab-team-grid{grid-template-columns:1fr;gap:32px}
  .ab-mfg-gallery{grid-template-columns:1fr 1fr}
  .ab-fig-lg{grid-column:1/-1}
  .ab-qc{grid-template-columns:1fr 1fr;gap:24px}
  .ab-qc-note{border-left:none;padding-left:0}
  .ab-appgrid{grid-template-columns:1fr}
  .ab-whygrid{grid-template-columns:1fr 1fr}
  .ab-tour-in{grid-template-columns:1fr;gap:26px}
}
@media (max-width:640px){
  .ab-coregrid{grid-template-columns:1fr 1fr}
  .ab-mfg-gallery{grid-template-columns:1fr}
  .ab-whygrid{grid-template-columns:1fr}
  .ab-journey::before,.ab-journey li::before{display:none}
  .ab-journey li{flex-direction:column;gap:6px}
  .ab-jy{text-align:left}
}

.ab-team-panel{background:#141a22;border-radius:14px;padding:30px 30px 24px;color:#fff}
.ab-pan-lab{display:block;font-size:10.6px;letter-spacing:1.8px;text-transform:uppercase;color:#7f8b9a;margin-bottom:18px}
.ab-pan-row{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-top:1px solid rgba(255,255,255,.10)}
.ab-pan-row b{flex:0 0 96px;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.8px;color:#F2681C}
.ab-pan-row span{font-size:12.8px;color:#a9b4c2;line-height:1.5}

/* 认证网格（移动端更清晰） */
.ab-trust{display:block}
.ab-trust .wrap{display:block}
.ab-trustlab{display:block;margin-bottom:12px}
.ab-logos{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;margin-top:2px}
.ab-logo{min-width:0;padding:9px 11px}
@media (max-width:1180px){ .ab-logos{grid-template-columns:repeat(4,1fr)} }
@media (max-width:640px){ .ab-logos{grid-template-columns:repeat(2,1fr)} }

/* 云验厂图集 */
.ab-tour-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;
  margin-bottom:26px;flex-wrap:wrap}
.ab-tour-head h2{margin:12px 0 10px;font-size:clamp(23px,2.4vw,31px);font-weight:800;letter-spacing:-1px}
.ab-tour-head p{margin:0;color:#a9b4c2;font-size:14.2px;line-height:1.7;max-width:560px}
.ab-album{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ab-album figure{margin:0;border-radius:10px;overflow:hidden;background:#1a2029;position:relative}
.ab-album img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .45s}
.ab-album figure:hover img{transform:scale(1.06)}
.ab-album figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 8px;
  font-size:10.6px;line-height:1.35;color:#e6ecf4;
  background:linear-gradient(transparent,rgba(8,12,18,.88))}
@media (max-width:1080px){ .ab-album{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .ab-album{grid-template-columns:repeat(2,1fr)} }

/* ================= 交互增强层（about / capabilities / contact） ================= */

/* 1. 滚动入场 */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),
  transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.06s}
.reveal-d2{transition-delay:.12s}
.reveal-d3{transition-delay:.18s}
.reveal-d4{transition-delay:.24s}

/* 2. 通用卡片上浮 */
.ab-cat,.ab-app,.ab-whyitem,.ab-val,.ab-logo,.ab-qc-item,.gl-card,.mat-card,.ph-card,
.ci,.f2,.std-note,.crt-card{
  transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s,border-color .28s,background .28s
}
.ab-cat:hover,.ab-app:hover,.ab-whyitem:hover,.ab-val:hover,.gl-card:hover,.mat-card:hover,
.ph-card:hover,.ci:hover,.f2:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 46px rgba(15,23,42,.14);
  border-color:#ffcfae !important
}
.ab-logo:hover{transform:translateY(-3px);border-color:#F2681C}
.ab-qc-item:hover{transform:translateY(-4px)}

/* 3. 图标随卡片动 */
.ab-cat:hover .ab-catn,.ab-whyitem:hover .ab-wic,.ab-val:hover .ab-vic{transform:translateY(-2px) scale(1.06)}
.ab-wic,.ab-vic,.ab-catn{transition:transform .28s}

/* 4. 按钮反馈 */
.btn{transition:transform .2s,box-shadow .22s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(242,104,28,.28)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-accent:hover{background:#e05c12}
.btn-dark:hover{box-shadow:0 12px 26px rgba(15,23,42,.28)}
.btn-ghost:hover{box-shadow:0 12px 26px rgba(0,0,0,.18)}

/* 5. 表格 / 清单行交互 */
.pspec tr,.std-note tr{transition:background .2s}
.pspec tr:hover{background:#fff7f1}
.ab-ticks li{transition:transform .2s,color .2s}
.ab-ticks li:hover{transform:translateX(4px);color:#141a22}
.f5col a{position:relative;transition:color .2s}
.f5col a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;
  background:#F2681C;transition:width .25s}
.f5col a:hover::after{width:100%}

/* 6. 图片轻微位移 */
.ab-who-img img,.ab-app-img img,.ab-album img,.ab-fig img{transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.ab-who-img:hover img,.ab-app:hover .ab-app-img img{transform:scale(1.045)}

/* 7. 数字滚动 */
.ab-core-item b,.ab-pan-row b{transition:color .3s}
.ab-core-item:hover b{color:#F2681C}

/* 8. 排版更舒展 */
.ab-who-txt p,.ab-team-txt p,.ab-mfg-head p{max-width:66ch;line-height:1.8}
.ab-hero-in p{line-height:1.72}
.sec .wrap>p,.sec p{line-height:1.75}

/* 9. 认证徽章微动 */
.ab-logo b{transition:color .25s}
.ab-logo:hover b{color:#F2681C}

/* 10. 联系页卡片 */
.ci{background:#fff;border:1px solid #e8ecf2;border-radius:12px}
.ci:hover .ci-ic{transform:scale(1.08) rotate(-4deg)}
.ci-ic{transition:transform .3s}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ab-cat:hover,.ab-app:hover,.ab-whyitem:hover,.ab-val:hover,.gl-card:hover,.mat-card:hover,
  .ph-card:hover,.ci:hover,.f2:hover,.btn:hover{transform:none}
}

/* 联系页强化 */
.ci-wa{margin:4px 0 14px}
.ci-wa .btn{font-size:12.6px;padding:11px 18px}
.form input,.form select,.form textarea,
label input,label select,label textarea{
  transition:border-color .2s,box-shadow .2s,background .2s
}
label input:focus,label select:focus,label textarea:focus{
  outline:none;border-color:#F2681C;box-shadow:0 0 0 3px rgba(242,104,28,.16);background:#fffdfb
}
label{transition:color .2s}
label:focus-within{color:#C24E10}

/* 联系页快捷操作 */
.ci-acts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
.ci-act{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:0 12px;
  align-items:center;padding:13px 15px;border:1px solid #e6eaf0;border-radius:10px;background:#fff;
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s,background .24s}
.ci-act:hover{transform:translateY(-4px);border-color:#ffcfae;background:#fff8f3;
  box-shadow:0 16px 32px rgba(15,23,42,.12)}
.ci-act-ic{grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:9px;background:#fff3ea}
.ci-act-ic svg{width:19px;height:19px;fill:none;stroke:#F2681C;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.ci-act b{font-size:13.4px;font-weight:800;color:#141a22;line-height:1.3}
.ci-act span:last-child{font-size:11.6px;color:#8b95a3}
.ci-act:hover b{color:#C24E10}

/* ===== 图片保护 ===== */
img{
  -webkit-user-drag:none;
  -khtml-user-drag:none;
  -moz-user-drag:none;
  -o-user-drag:none;
  user-drag:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  pointer-events:none;
}
/* 图片本身不接收点击，链接/按钮仍然可点 */
a img,.btn img,button img{pointer-events:none}
::selection{background:rgba(242,104,28,.25)}
