/* ==========================================================================
   上海净信实业有限公司 · 产品自适应官网
   共享设计系统 style.css
   移动优先 · 断点: 480 / 768 / 992 / 1200 / 1440
   ========================================================================== */

/* ---------- 设计令牌 ---------- */
:root{
  /* 品牌主色(深蓝 #0B4B8F) */
  --brand-950:#07345E;
  --brand-900:#0B4B8F;
  --brand-800:#0E57A5;
  --brand-700:#1263B5;
  --brand-600:#1A6FBF;
  --brand-500:#2A86D4;
  --brand-050:#EDF5FC;
  --brand-100:#DCEDFA;
  /* 辅色(亮蓝/青) */
  --accent-500:#0E9BD8;
  --accent-400:#35B6E8;
  --cyan-500:#13A8BF;
  /* 中性 */
  --bg:#FFFFFF;
  --bg-soft:#F5F7FA;
  --bg-ink:#0A1830;
  --ink-900:#16243A;
  --ink-700:#33455C;
  --ink-500:#5B6B7B;
  --ink-400:#7E8C9B;
  --line:#E3E9F1;
  --line-strong:#CBD6E2;
  --white:#FFFFFF;
  /* 语义 */
  --ok:#1A9A63;
  --warn:#C77918;
  --danger:#C0392B;
  /* 阴影 */
  --shadow-sm:0 1px 2px rgba(11,75,143,.06),0 2px 6px rgba(11,75,143,.05);
  --shadow-md:0 4px 14px rgba(11,75,143,.09),0 2px 6px rgba(11,75,143,.05);
  --shadow-lg:0 12px 34px rgba(11,75,143,.14),0 4px 12px rgba(11,75,143,.06);
  /* 圆角 */
  --r-sm:6px;
  --r:8px;
  --r-lg:12px;
  --r-full:999px;
  /* 间距 */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px; --sp-20:80px;
  /* 字体 */
  --font-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC","Helvetica Neue",Arial,sans-serif;
  --fs-xs:.8125rem; /* 13 */
  --fs-sm:.875rem;  /* 14 */
  --fs-base:1rem;   /* 16 */
  --fs-md:1.125rem; /* 18 */
  --fs-lg:1.375rem; /* 22 */
  --fs-xl:1.625rem; /* 26 */
  --fs-2xl:2rem;    /* 32 */
  --fs-3xl:2.5rem;  /* 40 */
  --line-h:1.7;
  --speed:300ms;
  --header-h:64px;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;}
body{
  margin:0;
  overflow-x:hidden;
  font-family:var(--font-sans);
  font-size:var(--fs-base);
  line-height:var(--line-h);
  color:var(--ink-700);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--brand-700);text-decoration:none;transition:color var(--speed) ease;}
a:hover{color:var(--brand-900);}
h1,h2,h3,h4,h5,h6{
  margin:0 0 .5em;
  color:var(--ink-900);
  font-weight:700;
  line-height:1.3;
}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-left:1.25em;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--accent-400);outline-offset:2px;border-radius:4px;}

/* 容器：按断点自适应 */
.container{width:100%;margin-inline:auto;padding-inline:12px;}
@media(min-width:480px){.container{padding-inline:16px;}}
@media(min-width:768px){.container{padding-inline:24px;}}
@media(min-width:992px){.container{padding-inline:32px;}}
@media(min-width:1200px){.container{max-width:1200px;}}
@media(min-width:1440px){.container{max-width:1280px;}}

/* ---------- 工具类 ---------- */
.t-center{text-align:center;}
.mt-1{margin-top:var(--sp-4);} .mt-2{margin-top:var(--sp-6);} .mt-3{margin-top:var(--sp-10);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* 区块 */
.section{padding:var(--sp-12) 0;}
.section--soft{background:var(--bg-soft);}
.section--ink{background:var(--bg-ink);color:#C7D3E4;}
.section--ink h2,.section--ink h3{color:#fff;}

/* 区块标题 */
.sec-head{margin-bottom:var(--sp-8);}
.sec-head__kicker{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;
  color:var(--accent-500);text-transform:none;margin-bottom:var(--sp-2);
}
.sec-head__kicker::before{content:"";width:18px;height:2px;background:var(--accent-500);border-radius:2px;}
.sec-head h2{font-size:var(--fs-xl);margin-bottom:var(--sp-2);}
.sec-head__desc{color:var(--ink-500);max-width:720px;margin:0;}
.sec-head--center{text-align:center;}
.sec-head--center .sec-head__desc{margin-inline:auto;}
@media(min-width:992px){
  .section{padding:var(--sp-20) 0;}
  .sec-head h2{font-size:var(--fs-2xl);}
}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:.65rem 1.4rem;border-radius:var(--r);border:1px solid transparent;
  font-size:var(--fs-sm);font-weight:600;line-height:1.4;text-align:center;
  transition:all var(--speed) ease;white-space:nowrap;
}
.btn svg{width:16px;height:16px;flex:none;}
.btn--primary{background:var(--brand-900);color:#fff;}
.btn--primary:hover{background:var(--brand-700);color:#fff;}
.btn--accent{background:var(--accent-500);color:#fff;}
.btn--accent:hover{background:var(--brand-600);color:#fff;}
.btn--outline{border-color:var(--line-strong);color:var(--brand-800);background:#fff;}
.btn--outline:hover{border-color:var(--brand-700);color:var(--brand-900);}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn--ghost:hover{border-color:#fff;color:#fff;}
.btn--light{background:#fff;color:var(--brand-900);}
.btn--light:hover{background:var(--brand-050);color:var(--brand-800);}
.btn--block{width:100%;}
.btn--sm{padding:.45rem .95rem;font-size:var(--fs-xs);}
.btn:disabled{opacity:.6;cursor:not-allowed;}
@media(max-width:340px){.btn--block-m{width:100%;}}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--header-h);
  background:rgba(255,255,255,.96);
  border-bottom:1px solid transparent;
  transition:box-shadow var(--speed) ease,background var(--speed) ease,border-color var(--speed) ease;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.97);
  box-shadow:var(--shadow-md);
  border-bottom-color:var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:var(--sp-4);}
.nav__brand{display:flex;align-items:center;gap:10px;flex:none;}
.nav__logo{width:38px;height:38px;border-radius:8px;overflow:hidden;flex:none;}
.nav__logo img{width:100%;height:100%;object-fit:contain;}
.nav__name{display:flex;flex-direction:column;line-height:1.15;}
.nav__name b{font-size:1rem;color:var(--brand-900);letter-spacing:.02em;white-space:nowrap;}
.nav__name span{font-size:.68rem;color:var(--ink-400);letter-spacing:.14em;white-space:nowrap;}
.nav__menu{display:none;}
.nav__actions{display:flex;align-items:center;gap:8px;flex:none;}
.nav__phone{display:none;flex-direction:column;line-height:1.25;text-align:right;margin-right:4px;}
.nav__phone small{font-size:.72rem;color:var(--ink-400);}
.nav__phone b{font-size:.95rem;color:var(--brand-800);white-space:nowrap;}
.nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r);background:#fff;}
.nav__toggle svg{width:22px;height:22px;stroke:var(--brand-800);}
.nav__cta{display:none;}

/* 主导航菜单(桌面) */
.nav-menu{align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.nav-menu>li{position:relative;}
.nav-menu>li>a{
  display:flex;align-items:center;gap:4px;
  padding:.55rem .85rem;border-radius:var(--r);
  font-size:.95rem;font-weight:500;color:var(--ink-700);
}
.nav-menu>li>a:hover,.nav-menu>li.is-active>a{color:var(--brand-900);background:var(--brand-050);}
.nav-menu>li.is-active>a{font-weight:600;}
.nav-menu .has-sub>a svg{width:14px;height:14px;transition:transform var(--speed) ease;}
/* 下拉 */
.dropdown{
  position:absolute;top:calc(100% + 8px);left:0;min-width:230px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;
  transform:translateY(6px);transition:all var(--speed) ease;z-index:120;
}
.nav-menu>li:hover .dropdown,.nav-menu>li:focus-within .dropdown{opacity:1;visibility:visible;transform:none;}
.dropdown a{
  display:block;padding:.55rem .8rem;border-radius:var(--r-sm);
  font-size:.9rem;color:var(--ink-700);
}
.dropdown a:hover{background:var(--brand-050);color:var(--brand-800);}
.dropdown__head{font-size:.72rem;letter-spacing:.1em;color:var(--ink-400);padding:.35rem .8rem .25rem;font-weight:600;}
.dropdown__group{font-size:.7rem;color:var(--accent-600);font-weight:600;padding:.55rem .8rem .15rem;letter-spacing:.04em;}
.dropdown__group:first-of-type{padding-top:.35rem;}

/* 移动端抽屉 */
.drawer{
  position:fixed;inset:0;z-index:200;visibility:hidden;
}
.drawer.is-open{visibility:visible;}
.drawer__backdrop{position:absolute;inset:0;background:rgba(10,24,48,.5);opacity:0;transition:opacity var(--speed) ease;}
.drawer.is-open .drawer__backdrop{opacity:1;}
.drawer__panel{
  position:absolute;top:0;right:0;bottom:0;width:min(86vw,360px);
  background:#fff;box-shadow:var(--shadow-lg);
  transform:translateX(100%);transition:transform var(--speed) ease;
  display:flex;flex-direction:column;
}
.drawer.is-open .drawer__panel{transform:none;}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);}
.drawer__close{width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:inline-flex;align-items:center;justify-content:center;}
.drawer__close svg{width:20px;height:20px;stroke:var(--ink-700);}
.drawer__body{flex:1;overflow-y:auto;padding:var(--sp-3) var(--sp-5) var(--sp-8);}
.drawer-menu{list-style:none;margin:0;padding:0;}
.drawer-menu>li{border-bottom:1px solid var(--line);}
.drawer-menu>li>a{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-size:1.05rem;font-weight:600;color:var(--ink-900);}
.drawer-menu .sub{list-style:none;margin:0 0 .75rem;padding:.1rem 0 .2rem 1rem;display:none;border-left:2px solid var(--brand-100);}
.drawer-menu .sub.open{display:block;}
.drawer-menu .sub a{display:block;padding:.5rem .4rem;font-size:.95rem;color:var(--ink-700);font-weight:400;}
.drawer-menu .sub a:hover{color:var(--brand-800);}
.drawer-menu .sub-group{font-size:.72rem;letter-spacing:.06em;color:var(--accent-600);font-weight:600;padding:.7rem .4rem .15rem;}
.drawer-menu .has-sub>a svg{width:16px;height:16px;transition:transform var(--speed) ease;flex:none;}
.drawer-menu .has-sub.open>a svg{transform:rotate(180deg);}
.drawer__foot{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-3);}

@media(min-width:992px){
  .nav-menu{display:flex;}
  .nav__toggle{display:none;}
  .nav__phone{display:flex;}
  .nav__cta{display:inline-flex;}
}

/* ---------- 轮播 Banner ---------- */
.hero{position:relative;margin-top:var(--header-h);overflow:hidden;background:var(--brand-950);}
.hero__track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.hero__slide{position:relative;flex:0 0 100%;min-height:420px;display:flex;align-items:center;}
.hero__media{position:absolute;inset:0;}
.hero__media img{width:100%;height:100%;object-fit:cover;}
.hero__veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,52,94,.92) 0%,rgba(11,75,143,.78) 45%,rgba(14,155,216,.35) 100%);}
.hero__content{position:relative;z-index:2;width:100%;}
.hero__tag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;padding:.32rem .8rem;border-radius:var(--r-full);margin-bottom:var(--sp-4);}
.hero__content h1{color:#fff;font-size:var(--fs-2xl);line-height:1.25;margin-bottom:var(--sp-4);max-width:640px;}
.hero__content p{color:#DDE7F4;font-size:var(--fs-md);max-width:560px;margin-bottom:var(--sp-6);}
.hero__btns{display:flex;flex-wrap:wrap;gap:var(--sp-3);}
.hero__nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(10,24,48,.35);color:#fff;display:none;align-items:center;justify-content:center;}
.hero__nav svg{width:20px;height:20px;stroke:#fff;}
.hero__nav--prev{left:20px;}.hero__nav--next{right:20px;}
.hero__nav:hover{background:var(--brand-700);}
.hero__dots{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;}
.hero__dots button{width:26px;height:4px;border:none;border-radius:2px;background:rgba(255,255,255,.4);transition:background var(--speed) ease;padding:0;}
.hero__dots button.is-active{background:#fff;}
@media(min-width:768px){
  .hero__slide{min-height:520px;}
  .hero__content h1{font-size:var(--fs-3xl);}
  .hero__nav{display:flex;}
}
@media(min-width:1200px){.hero__slide{min-height:640px;}}
@media(max-width:480px){
  .hero__slide{min-height:440px;}
  .hero__content h1{font-size:var(--fs-xl);}
  .hero__content p{font-size:var(--fs-base);}
}

/* ---------- 卡片 ---------- */
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-sm);overflow:hidden;
  display:flex;flex-direction:column;
  transition:box-shadow var(--speed) ease,transform var(--speed) ease,border-color var(--speed) ease;
}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--line-strong);}
.card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft);}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.card__media--product{background:#fff;}
.card__media--product img{object-fit:contain;}
.card:hover .card__media--product img{transform:none;}
.card:hover .card__media img{transform:scale(1.05);}
.card__body{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);flex:1;}
.card__title{font-size:1.05rem;margin:0;line-height:1.4;}
.card__meta{font-size:var(--fs-xs);color:var(--ink-400);display:flex;gap:12px;flex-wrap:wrap;}
.card__desc{font-size:var(--fs-sm);color:var(--ink-500);margin:0;flex:1;}
.card__link{margin-top:auto;font-size:var(--fs-sm);font-weight:600;color:var(--brand-700);display:inline-flex;align-items:center;gap:4px;}
.card__link svg{width:14px;height:14px;transition:transform var(--speed) ease;}
.card__link:hover svg{transform:translateX(3px);}

/* 产品卡 */
.prod-card__model{font-size:var(--fs-xs);font-weight:600;color:var(--accent-500);letter-spacing:.02em;}
.prod-card__tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{font-size:.75rem;color:var(--brand-800);background:var(--brand-050);border:1px solid var(--brand-100);padding:.15rem .6rem;border-radius:var(--r-full);}
.prod-card__cta{display:flex;gap:8px;margin-top:var(--sp-3);}
.prod-card__cta .btn{flex:1;}

/* ---------- 网格 ---------- */
.grid{display:grid;gap:var(--sp-4);}
.grid--1{grid-template-columns:1fr;}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:1fr;}
@media(min-width:480px){.grid--3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:768px){
  .grid--2{grid-template-columns:repeat(2,1fr);}
  .grid--4{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:992px){
  .grid--3{grid-template-columns:repeat(3,1fr);}
  .grid--4{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:1200px){.grid--4{grid-template-columns:repeat(4,1fr);}}

/* ---------- 应用领域卡 ---------- */
.app-card{display:flex;gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:all var(--speed) ease;position:relative;overflow:hidden;}
.app-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-500);opacity:0;transition:opacity var(--speed) ease;}
.app-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);}
.app-card:hover::after{opacity:1;}
.app-card__icon{flex:none;width:52px;height:52px;border-radius:var(--r);background:var(--brand-050);color:var(--brand-800);display:flex;align-items:center;justify-content:center;}
.app-card__icon svg{width:26px;height:26px;}
.app-card h3{font-size:1.05rem;margin:0 0 .25rem;}
.app-card p{font-size:var(--fs-sm);color:var(--ink-500);margin:0;}

/* ---------- 合规提示条 ---------- */
.compliance{
  display:flex;align-items:center;gap:10px;padding:var(--sp-4);border-radius:var(--r);
  background:var(--brand-050);border:1px dashed var(--brand-100);color:var(--brand-800);
  font-size:var(--fs-sm);
}
.compliance svg{flex:none;width:22px;height:22px;color:var(--accent-500);}
.compliance a{font-weight:600;color:var(--brand-700);white-space:nowrap;}

/* ---------- 数字成就 ---------- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);}
.stat{text-align:center;padding:var(--sp-5);border-radius:var(--r);background:var(--bg-soft);}
.stat__num{font-size:var(--fs-2xl);font-weight:800;color:var(--brand-900);line-height:1.1;}
.stat__num small{font-size:var(--fs-md);font-weight:600;margin-left:2px;}
.stat__label{font-size:var(--fs-xs);color:var(--ink-500);margin-top:var(--sp-1);}
@media(min-width:992px){.stats{grid-template-columns:repeat(4,1fr);}}

/* ---------- 优势卡(为什么选择) ---------- */
.feature{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);}
.feature__icon{width:52px;height:52px;border-radius:var(--r);background:var(--brand-900);color:#fff;display:flex;align-items:center;justify-content:center;}
.feature__icon svg{width:26px;height:26px;}
.feature h3{font-size:1.1rem;margin:0;}
.feature p{font-size:var(--fs-sm);color:var(--ink-500);margin:0;}

/* ---------- 合作伙伴 ---------- */
.partners{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center;}
.partner{
  display:flex;align-items:center;justify-content:center;
  width:148px;height:72px;border:1px solid var(--line);border-radius:var(--r);
  background:#fff;color:var(--ink-400);font-weight:600;font-size:.95rem;
  filter:grayscale(1);opacity:.75;transition:all var(--speed) ease;padding:var(--sp-3);
}
.partner:hover{filter:none;opacity:1;border-color:var(--line-strong);box-shadow:var(--shadow-sm);}

/* ---------- CTA 引导区 ---------- */
.cta-banner{
  background:linear-gradient(120deg,var(--brand-950),var(--brand-800) 55%,var(--accent-500));
  border-radius:var(--r-lg);padding:var(--sp-10) var(--sp-6);color:#fff;
  display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start;
}
.cta-banner h2{color:#fff;font-size:var(--fs-xl);margin:0;}
.cta-banner p{color:#DDE7F4;margin:0;max-width:560px;}
.cta-banner .btn{flex:none;}
@media(min-width:768px){
  .cta-banner{flex-direction:row;align-items:center;justify-content:space-between;}
  .cta-banner .btn{margin-left:auto;}
}

/* ---------- 面包屑 ---------- */
.crumbs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;align-items:center;list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--ink-400);}
.crumbs li{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.crumbs li+li::before{content:"/";color:var(--line-strong);}
.crumbs a{color:var(--ink-500);}
.crumbs a:hover{color:var(--brand-700);}
.crumbs .current{color:var(--ink-700);font-weight:600;}

/* 页内页头 */
.page-head{background:linear-gradient(120deg,var(--brand-950),var(--brand-700));color:#fff;padding:calc(var(--sp-10) + var(--header-h)) 0 var(--sp-10);}
.page-head .crumbs,.page-head .crumbs a{color:#C9D8EC;}
.page-head .crumbs .current{color:#fff;}
.page-head h1{color:#fff;font-size:var(--fs-2xl);margin:.5rem 0 .5rem;}
.page-head p{color:#DDE7F4;margin:0;max-width:680px;font-size:var(--fs-base);}

/* ---------- 页脚 ---------- */
.site-footer{background:var(--bg-ink);color:#9FB0C6;font-size:var(--fs-sm);}
.footer-top{padding:var(--sp-12) 0 var(--sp-8);display:grid;gap:var(--sp-8);}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:var(--sp-4);}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2);}
.footer-col a{color:#9FB0C6;font-size:var(--fs-sm);}
.footer-col a:hover{color:#fff;}
.footer-about p{font-size:var(--fs-sm);margin:0 0 var(--sp-3);line-height:1.8;}
.footer-contact{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3);}
.footer-contact li{display:flex;gap:10px;align-items:flex-start;}
.footer-contact svg{width:18px;height:18px;flex:none;color:var(--accent-400);margin-top:3px;}
.footer-qr{display:flex;gap:var(--sp-5);align-items:flex-start;}
.footer-qr .qr{width:92px;text-align:center;color:#C7D3E4;font-size:.72rem;}
.footer-qr .qr img{width:92px;height:92px;border-radius:var(--r);border:1px solid rgba(255,255,255,.14);margin-bottom:6px;object-fit:contain;background:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:var(--sp-5) 0;display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-xs);color:#7E8C9B;}
.footer-bottom a{color:#7E8C9B;}
.footer-bottom a:hover{color:#fff;}
@media(min-width:768px){.footer-top{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1200px){
  .footer-top{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--sp-8);}
  .footer-bottom{flex-direction:row;justify-content:space-between;}
}

/* ---------- 悬浮工具条 ---------- */
.fab{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:10px;}
.fab__btn{width:48px;height:48px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--speed) ease;opacity:0;transform:translateY(12px);visibility:hidden;}
.fab__btn svg{width:22px;height:22px;}
.fab__btn--chat{background:var(--accent-500);color:#fff;}
.fab__btn--phone{background:var(--brand-900);color:#fff;}
.fab__btn--top{background:#fff;color:var(--brand-800);border:1px solid var(--line-strong);}
.fab.is-visible .fab__btn{opacity:1;transform:none;visibility:visible;}
.fab__btn:hover{transform:translateY(-2px);}

/* ---------- 表单 ---------- */
.form{display:grid;gap:var(--sp-4);}
.form__row{display:grid;gap:var(--sp-4);}
@media(min-width:768px){.form__row{grid-template-columns:1fr 1fr;}}
.field{display:grid;gap:6px;}
.field label{font-size:var(--fs-sm);font-weight:600;color:var(--ink-900);}
.field label .req{color:var(--danger);}
.field input,.field select,.field textarea{
  width:100%;padding:.7rem .9rem;border:1px solid var(--line-strong);border-radius:var(--r);
  font-size:1rem;font-family:inherit;color:var(--ink-900);background:#fff;transition:border-color var(--speed) ease,box-shadow var(--speed) ease;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(18,99,181,.14);
}
.field textarea{min-height:120px;resize:vertical;}
.field .hint{font-size:var(--fs-xs);color:var(--ink-400);}
.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:var(--danger);}
.field .err-msg{font-size:var(--fs-xs);color:var(--danger);display:none;}
.field.is-error .err-msg{display:block;}
.captcha{display:flex;gap:var(--sp-3);align-items:center;}
.captcha input{flex:1;min-width:0;}
.captcha__code{flex:none;min-width:96px;height:44px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;letter-spacing:.3em;color:var(--brand-800);cursor:pointer;user-select:none;}
.form-result{display:none;padding:var(--sp-4);border-radius:var(--r);font-size:var(--fs-sm);}
.form-result.ok{display:block;background:#E7F6EE;color:var(--ok);border:1px solid #B9E6CF;}

/* ---------- 分页 ---------- */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:var(--sp-8);}
.pagination a,.pagination span{
  min-width:40px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line-strong);border-radius:var(--r);font-size:var(--fs-sm);color:var(--ink-700);background:#fff;
}
.pagination a:hover{border-color:var(--brand-700);color:var(--brand-800);}
.pagination .current{background:var(--brand-900);border-color:var(--brand-900);color:#fff;font-weight:600;}
.pagination .page-info{display:none;}
@media(max-width:480px){
  .pagination .num{display:none;}
  .pagination .page-info{display:inline-flex;}
}

/* ---------- 分类筛选栏 ---------- */
.filter-bar{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;margin-bottom:var(--sp-6);}
.filter-bar::-webkit-scrollbar{height:0;}
.filter-btn{
  flex:none;padding:.5rem 1rem;border:1px solid var(--line-strong);border-radius:var(--r-full);
  background:#fff;color:var(--ink-700);font-size:var(--fs-sm);font-weight:500;transition:all var(--speed) ease;
}
.filter-btn:hover{border-color:var(--brand-600);color:var(--brand-800);}
.filter-btn.is-active{background:var(--brand-900);border-color:var(--brand-900);color:#fff;}

/* ---------- 产品详情 ---------- */
.pd{display:grid;gap:var(--sp-8);}
.pd__gallery{position:relative;}
.pd__main{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;max-width:400px;margin-inline:auto;background:#fff;display:flex;align-items:center;justify-content:center;}
.pd__main img{width:100%;height:100%;object-fit:contain;}
.pd__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:nowrap;overflow-x:auto;}
.pd__thumbs button{flex:none;width:76px;height:76px;border:2px solid var(--line);border-radius:var(--r);padding:0;overflow:hidden;background:#fff;opacity:.7;}
.pd__thumbs button img{width:100%;height:100%;object-fit:cover;}
.pd__thumbs button.is-active{border-color:var(--brand-700);opacity:1;}
.pd__title h1{font-size:var(--fs-xl);margin-bottom:var(--sp-2);}
.pd__model{display:inline-block;font-size:var(--fs-sm);font-weight:600;color:var(--accent-500);background:var(--brand-050);padding:.25rem .7rem;border-radius:var(--r-full);margin-bottom:var(--sp-4);}
.pd__lead{font-size:var(--fs-md);color:var(--ink-700);line-height:1.7;margin-bottom:var(--sp-4);}
.pd__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-5);}
.pd__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--sp-4);}
.pd__price-note{font-size:var(--fs-xs);color:var(--ink-400);}
@media(min-width:992px){.pd{grid-template-columns:1fr 1fr;gap:var(--sp-10);align-items:start;}}

/* 锚点导航 */
.pd-anchor{position:sticky;top:var(--header-h);z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);}
.pd-anchor__wrap{display:flex;gap:4px;overflow-x:auto;padding:10px 0;scrollbar-width:none;}
.pd-anchor__wrap::-webkit-scrollbar{display:none;}
.pd-anchor a{flex:none;padding:.5rem .9rem;border-radius:var(--r);font-size:var(--fs-sm);color:var(--ink-500);white-space:nowrap;font-weight:500;}
.pd-anchor a:hover{color:var(--brand-800);background:var(--brand-050);}

/* 技术参数表 */
.param-table{width:100%;border-collapse:collapse;background:#fff;font-size:var(--fs-sm);}
.param-table th,.param-table td{padding:.8rem .9rem;border:1px solid var(--line);text-align:left;vertical-align:top;}
.param-table th{background:var(--bg-soft);color:var(--ink-900);font-weight:600;width:34%;}
.param-table tr:nth-child(even) td{background:#FAFCFE;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media(max-width:480px){
  .param-table{min-width:0;}
  .param-table--stack{display:block;}
  .param-table--stack tbody{display:block;}
  .param-table--stack tr{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;overflow:hidden;}
  .param-table--stack th{width:100%;background:var(--brand-050);border:none;border-bottom:1px solid var(--line);}
  .param-table--stack td{border:none;}
}

/* 对比表 */
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.compare{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:640px;}
.compare th,.compare td{padding:.8rem .9rem;border:1px solid var(--line);text-align:left;vertical-align:top;}
.compare thead th{background:var(--brand-900);color:#fff;font-weight:600;}
.compare thead th:first-child{background:var(--brand-950);}
.compare tbody th{background:var(--bg-soft);color:var(--ink-900);font-weight:600;width:150px;}

/* 下载列表 */
.download{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:all var(--speed) ease;}
.download:hover{border-color:var(--brand-600);box-shadow:var(--shadow-sm);}
.download__icon{flex:none;width:44px;height:44px;border-radius:var(--r);background:var(--brand-050);color:var(--brand-800);display:flex;align-items:center;justify-content:center;}
.download__icon svg{width:22px;height:22px;}
.download__info{flex:1;min-width:0;}
.download__info b{display:block;font-size:var(--fs-sm);color:var(--ink-900);margin-bottom:2px;}
.download__info span{font-size:var(--fs-xs);color:var(--ink-400);}
.download .btn{flex:none;}

/* ---------- 时间轴(发展历程) ---------- */
.timeline{position:relative;margin:0;padding:0;list-style:none;max-width:760px;}
.timeline::before{content:"";position:absolute;left:11px;top:4px;bottom:4px;width:2px;background:var(--brand-100);}
.timeline li{position:relative;padding:0 0 var(--sp-8) 40px;}
.timeline li::before{content:"";position:absolute;left:6px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brand-700);box-sizing:border-box;}
.timeline__year{font-size:var(--fs-md);font-weight:800;color:var(--brand-900);}
.timeline__title{font-weight:600;color:var(--ink-900);margin-bottom:2px;}
.timeline__desc{font-size:var(--fs-sm);color:var(--ink-500);margin:0;}

/* ---------- FAQ 手风琴 ---------- */
.faq{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;}
.faq__item{border-bottom:1px solid var(--line);}
.faq__item:last-child{border-bottom:none;}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:none;border:none;font-size:1rem;font-weight:600;color:var(--ink-900);text-align:left;}
.faq__q svg{flex:none;width:20px;height:20px;stroke:var(--brand-700);transition:transform var(--speed) ease;}
.faq__item.open .faq__q svg{transform:rotate(45deg);}
.faq__a{display:none;padding:0 var(--sp-5) var(--sp-4);color:var(--ink-500);font-size:var(--fs-sm);}
.faq__item.open .faq__a{display:block;}

/* ---------- 侧栏 ---------- */
.aside{display:grid;gap:var(--sp-6);}
.panel{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:var(--sp-5);}
.panel h3{font-size:1rem;padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);margin-bottom:var(--sp-3);}
.panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.panel li a{display:block;padding:.55rem .6rem;border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-sm);}
.panel li a:hover{background:var(--brand-050);color:var(--brand-800);}
.panel li a.is-active{color:var(--brand-800);background:var(--brand-050);font-weight:600;}

/* 内容排版(新闻/案例详情) */
.article{font-size:1rem;line-height:1.9;color:var(--ink-700);}
.article h2{font-size:var(--fs-lg);margin:var(--sp-10) 0 var(--sp-4);}
.article h3{font-size:1.1rem;margin:var(--sp-8) 0 var(--sp-3);}
.article img{border-radius:var(--r);margin:var(--sp-6) 0;}
.article figure{margin:var(--sp-6) 0;}
.article figcaption{font-size:var(--fs-xs);color:var(--ink-400);text-align:center;margin-top:var(--sp-2);}
.article blockquote{border-left:3px solid var(--brand-600);background:var(--brand-050);margin:var(--sp-6) 0;padding:var(--sp-4) var(--sp-5);border-radius:0 var(--r) var(--r) 0;color:var(--ink-700);}
.article ul,.article ol{padding-left:1.4em;}
.article table{width:100%;border-collapse:collapse;margin:var(--sp-6) 0;font-size:var(--fs-sm);}
.article th,.article td{padding:.7rem .8rem;border:1px solid var(--line);text-align:left;}
.article th{background:var(--bg-soft);font-weight:600;}

/* 文章元信息 */
.article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--fs-xs);color:var(--ink-400);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);margin-bottom:var(--sp-6);}
.article-meta span{display:inline-flex;align-items:center;gap:6px;}
.article-meta svg{width:14px;height:14px;}

/* 上下篇 */
.pager{display:grid;gap:var(--sp-3);margin-top:var(--sp-8);border-top:1px solid var(--line);padding-top:var(--sp-6);}
.pager a{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r);transition:all var(--speed) ease;}
.pager a:hover{border-color:var(--brand-600);box-shadow:var(--shadow-sm);}
.pager small{font-size:var(--fs-xs);color:var(--ink-400);}
.pager b{font-size:var(--fs-sm);color:var(--ink-900);}
@media(min-width:768px){.pager{grid-template-columns:1fr 1fr;}}

/* ---------- 滚动入场 ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.rv.in{opacity:1;transform:none;}

/* ---------- 减少动效 ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .rv{opacity:1;transform:none;}
}

/* ---------- 其他 ---------- */
.lead{font-size:var(--fs-md);color:var(--ink-700);line-height:1.8;}
.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--r-full);}
.badge--ok{background:#E7F6EE;color:var(--ok);}
.section-divider{border:none;border-top:1px solid var(--line);margin:0;}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--ink-900);color:#fff;padding:.7rem 1.2rem;border-radius:var(--r);font-size:var(--fs-sm);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--speed) ease;z-index:300;max-width:86vw;}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
