/* ============================================================
   德合智充 移动端展示站 V2 —— 精致蓝绿科技风 · 全机型适配
   ============================================================ */
:root{
  /* 品牌色 */
  --brand:#4148F1;        /* 主蓝紫 */
  --brand-2:#3236C4;
  --brand-deep:#2528A8;
  --green:#6E5BFF;        /* 生态紫 */
  --green-2:#5A4BE8;
  --grad:linear-gradient(135deg,#4148F1 0%,#3236C4 55%,#6E5BFF 130%);
  --grad-green:linear-gradient(135deg,#6E5BFF,#4148F1);
  /* 中性 */
  --bg:#F2F5FB;
  --card:#FFFFFF;
  --ink:#14213D;          /* 主文字 */
  --ink-2:#5A6A85;        /* 次要 */
  --ink-3:#8AA0BC;        /* 弱 */
  --line:#E7ECF5;
  --ok:#E7F1FE;
  --err:#FDEBEB;
  --shadow:0 6px 22px rgba(31,58,147,.08);
  --shadow-hover:0 12px 34px rgba(31,58,147,.14);
  --radius:16px;
  --r-sm:12px;
}
/* 全机型弹性适配：以根字号为基准，窄屏自动放大、宽屏封顶 */
html{font-size:clamp(15px,4.28vw,18px)}
@media(min-width:700px){html{font-size:17px}}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.6;
  padding-bottom:calc(3.4rem + env(safe-area-inset-bottom)); /* 底部tab+安全区 */
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}
svg{display:block}
button{font-family:inherit;border:none;cursor:pointer;background:none}

/* ============ 顶部品牌栏 ============ */
.app-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(59,109,255,.12)}
.brand{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem}
.brand-logo{
  width:2.6rem;height:2.6rem;flex:none;object-fit:contain;
  background:#fff;border-radius:.5rem;padding:.15rem;
  box-shadow:0 4px 12px rgba(59,109,255,.25);
}
.brand-text{line-height:1.25;min-width:0}
.brand-text strong{font-size:1.02rem;display:block}
.brand-text small{font-size:.66rem;color:var(--ink-2);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-tag{margin-left:auto;flex:none;font-size:.62rem;color:var(--green-2);
  border:1px solid var(--green);padding:.1rem .55rem;border-radius:1rem;background:var(--ok)}
/* 横向胶囊导航 */
.app-nav{display:flex;gap:.5rem;overflow-x:auto;padding:0 1rem .7rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.app-nav::-webkit-scrollbar{display:none}
.app-nav a{flex:none;font-size:.78rem;color:var(--ink-2);background:#EEF2FB;padding:.3rem .9rem;border-radius:2rem;transition:.2s}
.app-nav a.on{background:var(--grad);color:#fff;font-weight:600;box-shadow:0 3px 10px rgba(59,109,255,.35)}

/* ============ 通用容器 ============ */
.wrap{width:100%;max-width:56rem;margin:0 auto;padding:0 .9rem}
.sec{padding:1.4rem 0}
.sec-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}
.sec-h .t{font-size:1.08rem;font-weight:700;display:flex;align-items:center;gap:.5rem}
.sec-h .t::before{content:"";width:.24rem;height:1.05rem;border-radius:.2rem;background:var(--grad)}
.sec-h .more{margin-left:auto;font-size:.72rem;color:var(--ink-3);display:flex;align-items:center;gap:.15rem}
.sec-sub{font-size:.74rem;color:var(--ink-2);margin:0 0 .9rem .95rem}

/* ============ 卡片 ============ */
.card{background:var(--card);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);
  border:1px solid #fff;transition:transform .25s,box-shadow .25s}

/* ============ 主视觉 ============ */
.hero{margin:.9rem .9rem 0;border-radius:1.2rem;overflow:hidden;position:relative;color:#fff;
  background:linear-gradient(140deg,#3236C4 0%,#4148F1 40%,#6E5BFF 135%);
  padding:2rem 1.5rem 1.7rem;min-height:9.5rem;display:flex;flex-direction:column;justify-content:center}
.hero::before{content:"";position:absolute;right:-2.5rem;top:-2.5rem;width:8rem;height:8rem;border-radius:50%;
  background:rgba(255,255,255,.10)}
.hero::after{content:"";position:absolute;left:-3rem;bottom:-4rem;width:9rem;height:9rem;border-radius:50%;
  background:rgba(255,255,255,.07)}
.hero .h-kicker{font-size:.66rem;letter-spacing:.12em;opacity:.85;display:flex;align-items:center;gap:.4rem}
.hero .h-kicker .dot{width:.4rem;height:.4rem;border-radius:50%;background:#9FD8FF;box-shadow:0 0 8px #9FD8FF}
.hero h1{font-size:1.7rem;font-weight:800;letter-spacing:.04em;margin-top:.25rem}
.hero .slogan{font-size:.82rem;opacity:.92;margin:.3rem 0 1.1rem}
.hero .btn{
  display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;
  background:#fff;color:var(--brand-deep);font-weight:700;font-size:.85rem;
  padding:.6rem 1.4rem;border-radius:2rem;box-shadow:0 6px 16px rgba(0,0,0,.18);
  transition:transform .15s;
}
.hero .btn:active{transform:scale(.96)}
/* 轮播指示点 */
.hero-dots{position:absolute;left:1.4rem;bottom:1rem;display:flex;gap:.35rem}
.hero-dots i{width:.4rem;height:.4rem;border-radius:50%;background:rgba(255,255,255,.5);transition:.3s}
.hero-dots i.on{width:1rem;background:#fff}

/* ============ 数据条 ============ */
.stats{display:flex;background:var(--card);border-radius:var(--radius);margin:.9rem .9rem 0;
  padding:.95rem .3rem;box-shadow:var(--shadow)}
.stat{flex:1;text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:var(--line)}
.stat b{font-size:1.28rem;color:var(--brand);display:block;font-weight:800;font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,var(--brand),var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{font-size:.64rem;color:var(--ink-2)}

/* ============ 简介 ============ */
.intro-card{background:var(--card);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}
.intro-card .lead{font-size:.82rem;color:#3E4F6E;line-height:1.8}
.points{margin-top:.8rem;display:flex;flex-direction:column;gap:.5rem}
.points li{font-size:.78rem;display:flex;align-items:center;gap:.55rem;color:#2C3A55}
.point-ic{width:1.5rem;height:1.5rem;border-radius:.45rem;background:#EEF3FF;color:var(--brand);flex:none;
  display:flex;align-items:center;justify-content:center}
.point-ic.green{background:var(--ok);color:var(--green-2)}

/* ============ 网格 ============ */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:repeat(4,1fr)}}

/* 服务卡 */
.svc{background:var(--card);border-radius:var(--radius);padding:1rem .9rem;box-shadow:var(--shadow);
  transition:transform .22s,box-shadow .22s}
.svc:active{transform:scale(.97)}
.svc-ic{width:2.5rem;height:2.5rem;border-radius:.8rem;background:var(--grad);color:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:.55rem;
  box-shadow:0 5px 14px rgba(59,109,255,.35)}
.svc-ic.g{background:var(--grad-green);box-shadow:0 5px 14px rgba(61,158,255,.35)}
.svc h3{font-size:.86rem;color:var(--ink)}
.svc p{font-size:.66rem;color:var(--ink-2);margin-top:.15rem;line-height:1.5}

/* 产品卡 */
.prod{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:transform .22s}
.prod:active{transform:scale(.97)}
.prod-thumb{height:4.8rem;position:relative;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#EAF0FF,#F4F8FF);font-size:2.2rem}
.prod-cat{position:absolute;top:.5rem;left:.5rem;font-size:.6rem;color:var(--brand);
  background:rgba(255,255,255,.9);padding:.1rem .55rem;border-radius:1rem;font-weight:600;
  box-shadow:0 2px 6px rgba(31,58,147,.12)}
.prod-body{padding:.8rem .85rem .9rem;display:flex;flex-direction:column;flex:1}
.prod-body h3{font-size:.88rem}
.prod-body .spec{font-size:.66rem;color:var(--ink-2);margin-top:.15rem;flex:1}
.prod-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem}
.prod-price{font-size:.72rem;color:var(--green-2);font-weight:600}
.btn-quote{font-size:.72rem;color:var(--brand);background:#EEF3FF;padding:.28rem .7rem;border-radius:1rem;
  font-weight:600;transition:.2s}
.btn-quote:active{background:var(--brand);color:#fff}

/* 网点卡 */
.station{background:var(--card);border-radius:var(--radius);padding:.9rem 1rem;box-shadow:var(--shadow);
  display:flex;gap:.8rem;align-items:flex-start;position:relative}
.st-pin{width:2.3rem;height:2.3rem;border-radius:.8rem;background:var(--ok);color:var(--green-2);flex:none;
  display:flex;align-items:center;justify-content:center}
.station .st-info{flex:1;min-width:0}
.station h3{font-size:.88rem}
.station .addr{font-size:.7rem;color:var(--ink-2);margin-top:.2rem;line-height:1.5}
.badge{display:inline-block;font-size:.6rem;padding:.08rem .5rem;border-radius:1rem;margin-bottom:.3rem;font-weight:600}
.badge.two{background:#E7F1FE;color:#3D9EFF}
.badge.nev{background:var(--ok);color:var(--green-2)}
.badge.both{background:#EEF3FF;color:var(--brand)}
.station .btn-nav{margin-top:.5rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;
  color:#fff;background:var(--grad);padding:.32rem .85rem;border-radius:1.4rem;font-weight:600;
  box-shadow:0 4px 10px rgba(59,109,255,.3)}
.station .btn-nav:active{transform:scale(.96)}

/* 案例 */
.case{background:var(--card);border-radius:var(--radius);padding:.95rem 1rem;box-shadow:var(--shadow);position:relative;overflow:hidden}
.case::before{content:"";position:absolute;left:0;top:0;bottom:0;width:.24rem;background:var(--grad)}
.case h3{font-size:.86rem}
.case .loc{font-size:.68rem;color:var(--brand);margin-top:.2rem;font-weight:600}
.case p{font-size:.72rem;color:var(--ink-2);margin-top:.3rem;line-height:1.6}

/* 新闻 */
.news{background:var(--card);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow);
  display:flex;gap:.75rem;align-items:center}
.news .n-date{flex:none;width:2.9rem;height:2.9rem;border-radius:.7rem;background:var(--grad);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;font-size:.6rem}
.news .n-date b{font-size:1.05rem;font-weight:800}
.news .n-body{flex:1;min-width:0}
.news h3{font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news .n-cat{font-size:.62rem;color:var(--ink-3);margin-top:.15rem}

/* CTA */
.cta{margin:1.2rem .9rem;border-radius:1.2rem;padding:1.6rem 1.3rem;text-align:center;color:#fff;
  background:var(--grad-green);position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;right:-2rem;top:-2rem;width:7rem;height:7rem;border-radius:50%;background:rgba(255,255,255,.12)}
.cta h2{font-size:1.05rem;font-weight:800}
.cta p{font-size:.72rem;opacity:.92;margin:.4rem 0 1rem;line-height:1.6}
.cta .btn{background:#fff;color:#1E6FD9;font-weight:800;padding:.6rem 1.6rem;border-radius:2rem;font-size:.85rem;display:inline-block;box-shadow:0 6px 16px rgba(0,0,0,.18)}

/* ============ 内页页头 ============ */
.page-head{background:linear-gradient(140deg,#3236C4,#4148F1 55%,#6E5BFF);color:#fff;padding:1.7rem 1rem 1.5rem}
.page-head h1{font-size:1.25rem;font-weight:800}
.page-head p{font-size:.74rem;opacity:.92;margin-top:.3rem;line-height:1.6}

/* ============ 悬浮快捷联系 ============ */
.float-contact{position:fixed;right:.85rem;bottom:calc(3.6rem + env(safe-area-inset-bottom));z-index:70;
  display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
.fc-btn{width:2.9rem;height:2.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 6px 18px rgba(31,58,147,.32);transition:transform .2s,opacity .25s;
  position:relative}
.fc-btn:active{transform:scale(.92)}
.fc-phone{background:var(--grad)}
.fc-wechat{background:var(--grad-green)}
.fc-msg{background:#fff;color:var(--brand);border:1px solid var(--line)}
.fc-tip{position:absolute;right:3.3rem;top:50%;transform:translateY(-50%);white-space:nowrap;
  background:#14213D;color:#fff;font-size:.64rem;padding:.28rem .6rem;border-radius:.5rem;opacity:0;
  pointer-events:none;transition:.25s}
.fc-btn:hover .fc-tip{opacity:1}
/* 微信弹层 */
.fc-pop{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;
  background:rgba(15,23,42,.55);backdrop-filter:blur(4px);padding:1.5rem}
.fc-pop.show{display:flex;animation:fadeIn .25s}
.fc-pop .pop-card{background:#fff;border-radius:1.2rem;padding:1.6rem;width:100%;max-width:20rem;text-align:center;animation:popUp .3s}
.fc-pop .pop-card h3{font-size:1.05rem}
.fc-pop .pop-card .wx{font-size:.9rem;color:var(--brand);font-weight:800;margin:.6rem 0}
.fc-pop .pop-card .qr{width:9rem;height:9rem;margin:.4rem auto;border-radius:.8rem;
  background:#F0F4FB;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:.72rem;border:1px dashed var(--line)}
.fc-pop .pop-card .tip{font-size:.68rem;color:var(--ink-2)}
.fc-pop .pop-close{position:absolute;right:1.4rem;top:1.2rem;font-size:1.4rem;color:#fff}
.fc-pop .btn-copy{margin-top:.9rem;background:var(--brand);color:#fff;font-size:.8rem;padding:.5rem 1.4rem;border-radius:1.4rem;font-weight:600}

/* ============ 底部 tab（小程序风格） ============ */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:56rem;z-index:65;
  background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(14px);
  border-top:1px solid var(--line);display:flex;
  padding:.45rem 0 calc(.45rem + env(safe-area-inset-bottom))}
.bottom-nav a{flex:1;text-align:center;font-size:.62rem;color:var(--ink-3);padding:.2rem 0;position:relative}
.bottom-nav a .ic{display:flex;justify-content:center;margin-bottom:.05rem}
.bottom-nav a .ic svg{transition:transform .2s}
.bottom-nav a.on{color:var(--brand);font-weight:600}
.bottom-nav a.on .ic svg{transform:translateY(-2px)}
.bottom-nav a.on::after{content:"";position:absolute;top:-.45rem;left:50%;transform:translateX(-50%);
  width:1.3rem;height:.16rem;border-radius:.2rem;background:var(--grad)}

/* ============ 联系页 ============ */
.contact-card{background:var(--card);border-radius:var(--radius);padding:.5rem 1rem;box-shadow:var(--shadow);margin-top:1.2rem}
.ci{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:none}
.ci-ic{width:2.4rem;height:2.4rem;border-radius:.75rem;background:#EEF3FF;color:var(--brand);flex:none;
  display:flex;align-items:center;justify-content:center}
.ci-ic.g{background:var(--ok);color:var(--green-2)}
.ci b{font-size:.82rem;display:block}
.ci p{font-size:.8rem;color:var(--ink-2);word-break:break-all}
.ci a.act{font-size:.7rem;color:var(--brand);margin-left:auto;flex:none;background:#EEF3FF;padding:.28rem .7rem;border-radius:1rem;font-weight:600}
.ci a.act:active{background:var(--brand);color:#fff}

/* 合作模式 */
.coop{background:var(--card);border-radius:var(--radius);padding:1rem .8rem;text-align:center;box-shadow:var(--shadow)}
.coop .svc-ic{margin:0 auto}
.coop h3{font-size:.82rem;margin-top:.4rem}
.coop p{font-size:.64rem;color:var(--ink-2);margin-top:.25rem;line-height:1.5}
.step{background:var(--card);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow);display:flex;gap:.7rem;align-items:center}
.step-num{width:1.9rem;height:1.9rem;border-radius:.6rem;background:var(--grad);color:#fff;font-weight:700;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:.85rem}
.step h4{font-size:.84rem}
.step p{font-size:.7rem;color:var(--ink-2)}

/* ============ 多步表单 ============ */
.form-card{background:var(--card);border-radius:var(--radius);padding:1.1rem 1rem;box-shadow:var(--shadow);margin-top:1.2rem}
.form-card h3{font-size:1.02rem;margin-bottom:.2rem}
.form-sub{font-size:.7rem;color:var(--ink-2);margin-bottom:.8rem}
/* 步骤条 */
.steps{display:flex;gap:.3rem;margin-bottom:1.1rem}
.steps .dot{flex:1;height:.28rem;border-radius:.2rem;background:#E7ECF5;position:relative;overflow:hidden}
.steps .dot.on::before{content:"";position:absolute;inset:0;background:var(--grad);animation:fillIn .4s}
.step-pane{display:none;animation:fadeIn .3s}
.step-pane.active{display:block}
/* 类型点选 */
.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.type-opt{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.7rem .5rem;text-align:center;
  font-size:.78rem;color:var(--ink-2);transition:.2s;background:#fff}
.type-opt .ty{display:block;font-weight:600}
.type-opt .td{display:block;font-size:.58rem;color:var(--ink-3);margin-top:.1rem}
.type-opt.on{border-color:var(--brand);background:#EEF3FF;color:var(--brand);box-shadow:0 4px 12px rgba(59,109,255,.15)}
.type-opt.on .td{color:var(--brand)}
/* 表单控件 */
.f-label{font-size:.78rem;display:block;margin:.8rem 0 .4rem;color:#2C3A55}
.f-label b{color:#EF4444}
.f-input,.f-select,.f-textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:.7rem .8rem;
  font-size:.85rem;background:#F7F9FE;outline:none;transition:.2s;color:var(--ink)}
.f-input:focus,.f-textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(59,109,255,.12)}
.f-textarea{resize:vertical;min-height:5rem}
.quote-box{background:#EEF3FF;border-radius:var(--r-sm);padding:.6rem .8rem;font-size:.78rem;color:var(--brand);
  display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.quote-box .rm{color:#EF4444;font-size:.6rem;flex:none;cursor:pointer}
.form-actions{display:flex;gap:.6rem;margin-top:1.1rem}
.btn-primary{flex:1;background:var(--grad);color:#fff;border-radius:var(--r-sm);padding:.85rem;font-size:.92rem;
  font-weight:700;transition:.2s;box-shadow:0 6px 16px rgba(59,109,255,.3)}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{flex:1;background:#EEF2FB;color:var(--ink-2);border-radius:var(--r-sm);padding:.85rem;font-size:.92rem;font-weight:600}
.msg-ok,.msg-err{font-size:.78rem;padding:.7rem .8rem;border-radius:var(--r-sm);margin-top:.8rem}
.msg-ok{background:var(--ok);color:#1E6FD9}
.msg-err{background:var(--err);color:#B91C1C}

/* ============ 动效 ============ */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popUp{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fillIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.reveal.in{opacity:1;transform:translateY(0)}
.pulse{animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 6px 18px rgba(59,109,255,.32)}50%{box-shadow:0 6px 22px rgba(59,109,255,.5)}100%{box-shadow:0 6px 18px rgba(59,109,255,.32)}}

/* 滚动区域通用 */
.vlist{display:flex;flex-direction:column;gap:.8rem}
@media(min-width:640px){.vlist.two{display:grid;grid-template-columns:1fr 1fr}}
.empty{text-align:center;color:var(--ink-3);font-size:.8rem;padding:1.8rem 0}
.center{text-align:center}
/* 故障反馈按钮 */
.fault-btn{margin-top:.55rem;display:inline-flex;align-items:center;gap:.3rem;background:#E7F1FE;color:#2E8BFF;border:1px solid #D6E6FA;border-radius:1.5rem;padding:.38rem .85rem;font-size:.74rem;font-weight:600;cursor:pointer;transition:.15s}
.fault-btn:active{background:#E7F1FE}
/* 故障反馈弹层 */
.fault-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}
.fm-mask{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.fm-box{position:relative;background:#fff;border-radius:1rem;padding:1.15rem;width:100%;max-width:20rem;box-shadow:0 10px 40px rgba(15,23,42,.3)}
.fm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.fm-head b{font-size:1rem;color:#1F2A44}
.fm-close{font-size:1.35rem;line-height:1;color:#A6B1C6;cursor:pointer;padding:.1rem .3rem}
.fm-box label{display:block;font-size:.7rem;color:#7A879E;margin:.55rem 0 .25rem}
.fm-box select,.fm-box input,.fm-box textarea{width:100%;border:1px solid #DDE3EE;border-radius:.6rem;padding:.5rem .6rem;font-size:.85rem;outline:none;background:#fff;color:#1F2A44;font-family:inherit}
.fm-box select:focus,.fm-box input:focus,.fm-box textarea:focus{border-color:#4148F1}
.fm-submit{margin-top:.85rem;width:100%;background:linear-gradient(135deg,#4148F1,#3236C4);color:#fff;border:none;border-radius:.6rem;padding:.65rem;font-size:.9rem;cursor:pointer;font-weight:600}
.fm-submit:disabled{opacity:.5}
.fm-msg{margin-top:.5rem;font-size:.75rem;text-align:center;min-height:1rem;color:#D03050}

/* ===== 滚动公告条（小程序移动端适配）===== */
.announce-bar{display:flex;align-items:center;gap:.55rem;padding:.45rem 1rem;font-size:.74rem;color:var(--brand-deep);background:linear-gradient(90deg,#EEF5FF,#F8FBFF);border-bottom:1px solid var(--line)}
.announce-tag{flex:none;background:var(--grad);color:#fff;padding:.08rem .55rem;border-radius:1rem;font-size:.64rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px rgba(59,109,255,.25)}
.announce-scroll{flex:1;overflow:hidden;position:relative;height:1.3rem;line-height:1.3rem}
.announce-track{display:inline-flex;white-space:nowrap;width:max-content;will-change:transform}
.announce-track.rolling{animation:announceScroll var(--dur,8s) linear infinite}
.announce-text{white-space:nowrap;padding-right:3rem}
@keyframes announceScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== 灏忕▼搴忕鎶€鎰熷悓姝ワ紙涓庝富绔欏崌绾у榻愶級===== */
/* 瀵艰埅锛氱幓鐠冪閾佽兌鍥?*/
.app-nav a{background:rgba(255,255,255,.88);color:var(--brand);border:1px solid rgba(59,109,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(59,109,255,.08);font-weight:500}
.app-nav a:active{transform:scale(.94)}
.app-nav a.on{background:var(--grad);color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(59,109,255,.4);border-color:transparent}
.app-nav a.nav-cta{background:var(--grad);color:#fff;font-weight:600;border-color:transparent;box-shadow:0 4px 14px rgba(59,109,255,.42)}
.app-nav a.nav-cta:active{transform:scale(.94)}
/* 棣栭〉涓昏瑙夛細绉戞妧鎰熻棰戣儗鏅?*/
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(160deg,rgba(24,32,80,.62),rgba(46,91,255,.48));z-index:1}
.hero-slide{position:relative;z-index:2}
.hero-dots{z-index:2}



/* 瑙嗛杞満鏍囪锛氶殢鎾斁鑺傚娣″叆娣″嚭銆佽瀺鍏ョ敾闈?*/
.hero-taglines{position:absolute;left:0;right:0;bottom:3.4rem;z-index:3;text-align:center;pointer-events:none}
.hero-taglines .tl{position:absolute;left:0;right:0;bottom:0;opacity:0;transition:opacity 1.2s ease;font-size:.86rem;letter-spacing:.12em;color:rgba(255,255,255,.95);text-shadow:0 1px 10px rgba(20,22,60,.6);font-weight:500;white-space:nowrap;padding:0 1rem}
.hero-taglines .tl.on{opacity:1}


/* 灏忕▼搴忛椤碉細澶撮儴鍚戜笅娓愰殣锛屽钩婊戣瀺鍏ヨ棰?*/
body[data-page="index"] .app-header{background:linear-gradient(180deg,rgba(10,14,40,.8) 0%,rgba(13,20,52,.28) 62%,rgba(13,20,52,0) 100%);box-shadow:none}
body[data-page="index"] .app-header .brand-text strong{color:#fff;text-shadow:0 1px 8px rgba(10,14,40,.4)}
body[data-page="index"] .app-header .brand-text small{color:rgba(255,255,255,.8)}
body[data-page="index"] .app-nav a{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:none}
body[data-page="index"] .app-nav a.on{background:var(--grad);color:#fff;box-shadow:0 4px 14px rgba(59,109,255,.4);border-color:transparent}
body[data-page="index"].scrolled .app-header{background:rgba(255,255,255,.92)}
body[data-page="index"].scrolled .app-header .brand-text strong{color:var(--ink-1);text-shadow:none}
body[data-page="index"].scrolled .app-header .brand-text small{color:var(--ink-3)}
body[data-page="index"].scrolled .app-nav a{background:rgba(255,255,255,.88);color:var(--brand);border-color:rgba(59,109,255,.22);box-shadow:0 2px 8px rgba(59,109,255,.08)}


/* ===== 灏忕▼搴忕鎶€鎰熶笌涓荤珯瀵归綈锛堢函钃濈櫧锛?==== */
/* 鍗＄墖鐜荤拑璐ㄦ劅锛氶《閮ㄧ粏楂樺厜 + 鏌斿拰娣卞奖 */
.card,.svc,.prod,.station,.intro-card,.form-card,.contact-card,.coop,.step,.news,.case{
  box-shadow:0 8px 26px rgba(31,58,147,.09),inset 0 1px 0 rgba(255,255,255,.95);
}
/* 灏忚妭鏍囬锛氭笎鍙樺厜杞ㄥ熬宸达紙涓庝富绔?section-title 鍛煎簲锛?*/
.sec-h .t::after{content:"";height:.11rem;flex:none;width:1.7rem;border-radius:.15rem;
  background:linear-gradient(90deg,var(--brand),rgba(59,109,255,0));margin-left:.45rem}
/* 涓绘寜閽細鍐呴珮鍏?+ 鍏夋檿 */
.btn-primary,.fm-submit{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 16px rgba(59,109,255,.28)}
/* 杞绘寜閽細椤堕儴鍐呴珮鍏?*/
.btn-quote,.ci a.act,.fault-btn,.station .btn-nav{box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
/* CTA 鏌斿厜鏂戯紙涓庝富绔欏ぇ鍗婂緞鍏夋枒涓€鑷达級 */
.cta::before,.cta::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10)}
.cta::after{width:5rem;height:5rem;left:-2rem;bottom:-2.5rem}
/* 缁熻鏁板瓧鍏夋檿 */
.stat b{filter:drop-shadow(0 2px 6px rgba(59,109,255,.18))}


/* ===== 寰蒋椋庢牸锛氱櫧鑹插共鍑€瀵艰埅锛堣鐩栭椤垫繁鑹叉笎闅愶紝2026-10-14锛?==== */
body[data-page="index"] .app-header,body[data-page="index"].scrolled .app-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(59,109,255,.12)}
body[data-page="index"] .app-header .brand-text strong,body[data-page="index"].scrolled .app-header .brand-text strong{color:var(--ink-1);text-shadow:none}
body[data-page="index"] .app-header .brand-text small,body[data-page="index"].scrolled .app-header .brand-text small{color:var(--ink-2)}
body[data-page="index"] .app-nav a,body[data-page="index"].scrolled .app-nav a{background:rgba(255,255,255,.88);color:var(--brand);border-color:rgba(59,109,255,.22);box-shadow:0 2px 8px rgba(59,109,255,.08)}
body[data-page="index"] .app-nav a.on{background:var(--grad);color:#fff;border-color:transparent}
body[data-page="index"] .brand-tag,body[data-page="index"].scrolled .brand-tag{background:var(--ok);color:var(--green-2);border-color:var(--green)}

/** 取消顶部公告栏 **/
.announce-bar{display:none!important}