/* ============================================================
   派美雅 · 站点样式（浅色 · 简洁 · 科技感）
   ============================================================ */
:root{
  --ink:#0d1b2a; --ink-2:#39485a; --ink-3:#6b7b8d;
  --brand:#0f62fe; --brand-2:#3d8bff; --brand-dark:#0b3ea8;
  --teal:#12b5a5; --line:#e6ebf2; --bg:#ffffff; --bg-soft:#f5f8fc;
  --radius:14px; --shadow:0 10px 30px rgba(13,27,42,.07);
  --max:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.75 "PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{margin:0 0 .5em; line-height:1.28; font-weight:700; letter-spacing:.2px}
p{margin:0 0 1em}
ul{margin:0; padding:0; list-style:none}
.wrap{width:100%; max-width:var(--max); margin:0 auto; padding:0 24px}

/* ---------- 顶部 ---------- */
.topbar{background:var(--bg-soft); border-bottom:1px solid var(--line); font-size:13px; color:var(--ink-3)}
.topbar .wrap{display:flex; justify-content:space-between; gap:16px; height:38px; align-items:center}
.topbar a{color:var(--ink-2)}
.topbar .tel{font-weight:600; color:var(--brand)}

.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex; align-items:center; gap:28px; height:74px}
.logo{display:flex; align-items:center; gap:12px; font-weight:800; font-size:20px; letter-spacing:.5px; white-space:nowrap}
.logo-img{height:44px; width:auto; display:block}
.logo small{display:block; font-size:11px; font-weight:500; color:var(--ink-3); letter-spacing:.4px;
  line-height:1.45; padding-left:12px; border-left:1px solid var(--line)}

/* 副导航（解决方案）：三个一行的卡片式 */
.subnav{background:var(--bg-soft); border-bottom:1px solid var(--line)}
.subnav .wrap{padding:14px 24px 16px}
.subnav-hd{display:flex; align-items:center; gap:12px; margin-bottom:10px}
.subnav-label{font-size:13px; font-weight:700; color:var(--ink-3); letter-spacing:1px}
.subnav-all{margin-left:auto; font-size:13px; font-weight:600; color:var(--brand)}
.subnav-all:hover{text-decoration:underline}
.subnav-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.subnav-item{display:flex; align-items:center; gap:8px; padding:8px 12px; background:#fff;
  border:1px solid var(--line); border-radius:10px; font-size:13px; line-height:1.45; color:var(--ink-2);
  transition:.18s; box-shadow:0 1px 2px rgba(13,27,42,.03)}
.subnav-item:hover{border-color:#c9dbff; color:var(--brand); transform:translateY(-1px); box-shadow:0 6px 16px rgba(15,98,254,.10)}
.subnav-item .sn-num{flex:0 0 auto; font-size:10.5px; font-weight:700; color:#9db2cc;
  background:var(--bg-soft); border-radius:5px; padding:1px 4px; line-height:1.5}
.subnav-item .sn-txt{min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.subnav-item.on{background:linear-gradient(135deg,var(--brand),var(--brand-2)); border-color:transparent; color:#fff;
  box-shadow:0 8px 20px rgba(15,98,254,.26)}
.subnav-item.on .sn-num{background:rgba(255,255,255,.22); color:#fff}
@media (max-width:900px){
  .subnav .wrap{padding:12px 16px 14px}
  .subnav-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px}
  .subnav-item{font-size:12.5px; padding:8px 10px}
}
@media (max-width:600px){
  .subnav-grid{display:flex; overflow-x:auto; gap:8px; -webkit-overflow-scrolling:touch; padding-bottom:2px}
  .subnav-item{flex:0 0 auto}
}

.nav{margin-left:auto}
.nav>ul{display:flex; gap:6px; align-items:center}
.nav>ul>li{position:relative}
.nav>ul>li>a{display:block; padding:10px 14px; border-radius:9px; font-size:15px; font-weight:600; color:var(--ink-2)}
.nav>ul>li>a:hover{color:var(--brand); background:var(--bg-soft)}
.nav .sub{position:absolute; top:100%; left:0; min-width:260px; background:#fff; border:1px solid var(--line);
  border-radius:12px; box-shadow:var(--shadow); padding:8px; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:.18s ease; max-height:70vh; overflow:auto}
.nav li:hover>.sub{opacity:1; visibility:visible; transform:translateY(0)}
.nav>ul>li:last-child>.sub,
.nav>ul>li:nth-last-child(2)>.sub{left:auto; right:0}
.nav .sub a{display:block; padding:9px 12px; border-radius:8px; font-size:14px; color:var(--ink-2)}
.nav .sub a:hover{background:var(--bg-soft); color:var(--brand)}
.nav-toggle{display:none; margin-left:auto; border:1px solid var(--line); background:#fff; border-radius:9px; padding:8px 12px; font-size:14px}

/* ---------- Hero ---------- */
.hero{position:relative; overflow:hidden; background:
  radial-gradient(900px 420px at 78% -10%, rgba(18,181,165,.16), transparent 60%),
  radial-gradient(800px 420px at 10% 0%, rgba(15,98,254,.14), transparent 55%),
  linear-gradient(180deg,#fbfdff, #f4f8fe)}
.hero .wrap{padding:86px 24px 74px}
.hero h1{font-size:clamp(30px,4.4vw,52px); line-height:1.18; max-width:15em; letter-spacing:-.5px}
.hero h1 em{font-style:normal; color:var(--brand)}
.hero .lead{margin-top:18px; font-size:clamp(15px,1.5vw,18px); color:var(--ink-2); max-width:44em}
.hero .actions{margin-top:30px; display:flex; gap:14px; flex-wrap:wrap}
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:999px; font-weight:600; font-size:15px; border:1px solid transparent; transition:.2s}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; box-shadow:0 10px 24px rgba(15,98,254,.28)}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px rgba(15,98,254,.34)}
.btn-ghost{border-color:var(--line); background:#fff; color:var(--ink-2)}
.btn-ghost:hover{border-color:var(--brand); color:var(--brand)}
.hero .stats{display:flex; gap:44px; flex-wrap:wrap; margin-top:52px; padding-top:26px; border-top:1px solid var(--line)}
.hero .stats b{display:block; font-size:26px; color:var(--ink)}
.hero .stats span{font-size:13px; color:var(--ink-3)}

/* ---------- 通用区块 ---------- */
.section{padding:78px 0}
.section.soft{background:var(--bg-soft)}
.section-head{display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px}
.section-head h2{font-size:clamp(24px,2.6vw,32px)}
.section-head p{color:var(--ink-2); margin:0; font-size:15.5px; font-weight:600; letter-spacing:.3px}
.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}
.more{font-size:14px; font-weight:600; color:var(--brand); white-space:nowrap}

/* 产品卡片 */
.grid{display:grid; gap:22px}
.grid.g4{grid-template-columns:repeat(4,1fr)}
.grid.g3{grid-template-columns:repeat(3,1fr)}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; transition:.22s; display:flex; flex-direction:column}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:#d5e3ff}
.card .thumb{aspect-ratio:4/3; border-radius:10px; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:16px}
.card .thumb img{width:100%; height:100%; object-fit:contain; padding:10px}
.card h3{font-size:17px; margin-bottom:6px}
.card .model{font-size:13px; color:var(--ink-3); margin-bottom:10px}
.card p{font-size:14px; color:var(--ink-2); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.card .arrow{margin-top:auto; padding-top:14px; font-size:13px; font-weight:600; color:var(--brand)}

/* 行业解决方案卡片：渐变底色 + 右上角序号 + 顶部渐变条 */
.card-sol{position:relative; overflow:hidden; border-color:#e2e9f4; background-color:#fff;
  background-image:
    radial-gradient(260px 140px at 100% 0, rgba(18,181,165,.12), transparent 72%),
    radial-gradient(220px 120px at 0% 100%, rgba(15,98,254,.08), transparent 75%),
    linear-gradient(160deg,rgba(15,98,254,.06),rgba(15,98,254,0) 62%);
  background-repeat:no-repeat;
  background-size:100% 100%}
.card-sol::before{content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--brand),var(--teal))}
.card-sol:hover{background-image:
    radial-gradient(280px 160px at 100% 0, rgba(18,181,165,.18), transparent 72%),
    radial-gradient(240px 140px at 0% 100%, rgba(15,98,254,.12), transparent 75%),
    linear-gradient(160deg,rgba(15,98,254,.10),rgba(15,98,254,0) 64%)}
.card-sol h3,.card-sol p,.card-sol .arrow{position:relative; z-index:1}
.card-sol h3{padding-right:40px}
.card-sol .sol-no{position:absolute; right:14px; top:13px; z-index:0; font-size:29px; font-weight:800; line-height:1;
  letter-spacing:-1px; color:rgba(15,98,254,.10); font-variant-numeric:tabular-nums}

/* 新闻列表 */
.news-list{display:grid; gap:18px}
.news-archive{padding-bottom:56px}
.news-item{display:flex; gap:20px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:.2s}
.news-item:hover{border-color:#d5e3ff; box-shadow:var(--shadow)}
.news-item .date{flex:0 0 84px; text-align:center; border-right:1px solid var(--line); padding-right:18px}
.news-item .date b{display:block; font-size:24px; line-height:1.1; color:var(--brand)}
.news-item .date span{font-size:12px; color:var(--ink-3)}
.news-item h3{font-size:17px; margin-bottom:6px}
.news-item p{font-size:14px; color:var(--ink-3); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}

/* 年分组 */
.year-block{margin-bottom:34px}
.year-block h3{font-size:15px; color:var(--ink-3); font-weight:600; letter-spacing:1px; margin-bottom:14px}

/* 文章页 */
.article{max-width:830px; margin:0 auto; padding:22px 0 62px}
.article h1{font-size:clamp(21px,2.3vw,27px); line-height:1.35}
.article .meta{color:var(--ink-3); font-size:13px; margin:8px 0 20px; padding-bottom:14px; border-bottom:1px solid var(--line)}
.article-body{font-size:16.5px; color:var(--ink-2)}
.article-body h2,.article-body h3{margin-top:1.6em; color:var(--ink)}
.article-body p{margin-bottom:1.15em}
.article-body img{border-radius:10px; margin:18px auto}
.article-body table{width:100%; border-collapse:collapse; margin:18px 0; font-size:14px}
.article-body td,.article-body th{border:1px solid var(--line); padding:9px 12px}
.article-body a{color:var(--brand); text-decoration:underline}
.article-body blockquote{margin:18px 0; padding:12px 18px; border-left:3px solid var(--brand); background:var(--bg-soft); color:var(--ink-2)}

.crumb{font-size:13px; color:var(--ink-3); padding:12px 0 0}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--brand)}

.pager{display:flex; gap:10px; justify-content:center; margin-top:40px; flex-wrap:wrap}
.pager a,.pager span{min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:10px; font-size:14px; background:#fff; padding:0 12px}
.pager a:hover{border-color:var(--brand); color:var(--brand)}
.pager .on{background:var(--brand); border-color:var(--brand); color:#fff; font-weight:600}
.pager .gap{border:none; background:none; color:var(--ink-3); min-width:auto; padding:0 2px}

/* 内容页底部行动条 */
.cta-band{max-width:830px; margin:0 auto 80px; padding:26px 30px; border-radius:16px;
  background:linear-gradient(135deg,rgba(15,98,254,.07),rgba(18,181,165,.09));
  border:1px solid var(--line); display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.cta-band strong{font-size:16px}
.cta-band p{margin:6px 0 0; color:var(--ink-3); font-size:13.5px}
.cta-band .btn{margin-left:auto}

/* ---------- 产品页 ---------- */
.page-head{padding:16px 0 14px; border-bottom:1px solid var(--line); margin-bottom:20px}
.page-head h1{font-size:clamp(20px,2.1vw,25px); margin-bottom:6px}
.page-head p{color:var(--ink-3); margin:0; font-size:14px}

.product-hero{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  padding:18px 0 26px; border-bottom:1px solid var(--line); margin-bottom:24px}
.product-photo{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px; display:flex; align-items:center; justify-content:center; min-height:280px}
.product-photo img{max-height:420px; object-fit:contain}
.product-photo-empty{color:var(--ink-3); font-size:14px}
.product-info h1{font-size:clamp(21px,2.2vw,26px); line-height:1.3}
.product-model{color:var(--brand); font-weight:600; font-size:14px; margin:0 0 16px}
.product-desc{color:var(--ink-2); font-size:15.5px; margin-bottom:26px}
.product-actions{display:flex; gap:12px; flex-wrap:wrap}

.product-body{max-width:900px}
.product-section{scroll-margin-top:90px}
.product-section>h2{font-size:clamp(19px,2.1vw,24px); margin:38px 0 16px; padding-left:12px; border-left:4px solid var(--brand)}
.product-section:first-child>h2{margin-top:0}
.product-intro{margin-bottom:8px}

.related{padding:52px 0 10px}
.related>h2{font-size:clamp(20px,2.2vw,26px); margin-bottom:24px}

@media (max-width:900px){
  .product-hero{grid-template-columns:1fr; gap:24px}
  .product-photo{min-height:200px; padding:18px}
}

/* ---------- 询盘表单 / 成功页 ---------- */
.inquiry-grid{display:grid; grid-template-columns:1.45fr 1fr; gap:34px; margin-bottom:74px; align-items:start}
.form-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow)}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.inquiry-grid .field{margin:0}
.inquiry-grid .field.full{grid-column:1 / -1}
.inquiry-grid .field label{display:block; font-size:13.5px; font-weight:600; color:var(--ink-2); margin-bottom:7px}
.inquiry-grid .field label i{color:#e8590c; font-style:normal}
.inquiry-grid input[type=text],
.inquiry-grid input[type=email],
.inquiry-grid textarea{width:100%; padding:11px 14px; border:1px solid #dfe6f0; border-radius:10px;
  font:inherit; font-size:14.5px; background:#fff; transition:.18s}
.inquiry-grid textarea{resize:vertical; min-height:130px; line-height:1.7}
.inquiry-grid input:focus,
.inquiry-grid textarea:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(15,98,254,.1)}
.hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-foot{display:flex; align-items:center; gap:16px; margin-top:22px; flex-wrap:wrap}
.form-note{font-size:12.5px; color:var(--ink-3)}
.form-error{margin:14px 0 0; padding:10px 14px; border-radius:9px; background:#fdecec; color:#b3261e;
  border:1px solid #f6cfcf; font-size:13.5px}

.contact-card{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:28px}
.contact-card h2{font-size:17px; margin-bottom:16px}
.contact-list li{display:flex; justify-content:space-between; gap:14px; padding:11px 0;
  border-bottom:1px dashed var(--line); font-size:14px}
.contact-list li span{color:var(--ink-3); white-space:nowrap}
.contact-list li a{color:var(--brand); font-weight:600}
.contact-tip{margin-top:20px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:15px 17px}
.contact-tip strong{font-size:14px}
.contact-tip p{margin:6px 0 0; font-size:13px; color:var(--ink-3)}
.contact-card .more{display:inline-block; margin-top:18px; font-size:13.5px}

.success-box{max-width:620px; margin:74px auto 96px; text-align:center}
.success-icon{width:66px; height:66px; margin:0 auto 24px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; font-size:32px; color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--teal)); box-shadow:0 12px 28px rgba(15,98,254,.28)}
.success-box h1{font-size:clamp(22px,2.6vw,30px); margin-bottom:14px}
.success-box p{color:var(--ink-2)}
.success-box .actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:30px}

@media (max-width:900px){
  .inquiry-grid{grid-template-columns:1fr; gap:24px; margin-bottom:52px}
  .form-card{padding:22px}
  .form-grid{grid-template-columns:1fr}
}

/* ---------- 产品列表卡片（旧 .plist 迁移过来的） ---------- */
.pcard{display:grid; grid-template-columns:230px 1fr; gap:24px; align-items:center;
  border:1px solid var(--line); border-radius:var(--radius); padding:22px; background:#fff; margin-bottom:20px; transition:.2s}
.pcard:hover{box-shadow:var(--shadow); border-color:#d5e3ff}
.pcard-pic{background:var(--bg-soft); border-radius:10px; padding:14px; min-height:150px;
  display:flex; align-items:center; justify-content:center}
.pcard-pic img{max-height:190px; object-fit:contain}
.pcard-body h3{font-size:18px; margin-bottom:6px}
.pcard-body .model{font-size:13px; color:var(--ink-3); margin-bottom:10px}
.pcard-points{list-style:disc; padding-left:20px; margin:0 0 12px; color:var(--ink-2); font-size:14px}
.pcard-points li{margin-bottom:5px}
.pcard .more{font-size:13.5px; font-weight:600; color:var(--brand)}
.pd-points{list-style:disc; padding-left:20px; margin:0 0 18px; color:var(--ink-2); font-size:15px}
.pd-points li{margin-bottom:6px}
.article-body ul{list-style:disc; padding-left:22px; margin:0 0 1.1em}
.article-body ol{list-style:decimal; padding-left:22px; margin:0 0 1.1em}
@media (max-width:760px){ .pcard{grid-template-columns:1fr; gap:16px} .pcard-pic{min-height:120px} }
.page-body{max-width:900px}

/* ---------- 左侧栏布局（产品导航） ---------- */
.layout-side{display:grid; grid-template-columns:236px minmax(0,1fr); gap:34px; align-items:start;
  padding:6px 0 40px}
.layout-main{min-width:0}
.pnav{border:1px solid var(--line); border-radius:var(--radius); padding:18px 16px; background:var(--bg-soft);
  position:sticky; top:96px}
.pnav h3{font-size:15px; margin:0 0 12px; padding-left:2px; letter-spacing:.5px}
.pnav ul{display:flex; flex-direction:column; gap:2px}
.pnav ul a{display:block; padding:8px 11px; border-radius:8px; font-size:13.5px; color:var(--ink-2); line-height:1.45}
.pnav ul a:hover{background:#fff; color:var(--brand)}
.pnav ul a.on{background:var(--brand); color:#fff; font-weight:600}
.pnav-cta{margin-top:16px; padding-top:14px; border-top:1px dashed var(--line)}
.pnav-cta strong{font-size:13.5px}
.pnav-cta p{margin:4px 0 10px; font-size:15px; font-weight:700; color:var(--brand)}
.pnav-cta .btn{width:100%; justify-content:center; padding:9px 12px; font-size:13.5px}
@media (max-width:900px){
  .layout-side{grid-template-columns:1fr; gap:22px}
  .pnav{position:static; padding:14px 14px 12px}
  .pnav ul{flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch}
  .pnav ul li{flex:0 0 auto}
  .pnav ul a{padding:7px 11px; border:1px solid var(--line); background:#fff; white-space:nowrap}
  .pnav-cta{display:none}
}

/* ---------- 首页首屏（大 Banner 轮播，主标题在首屏内） ---------- */
.banner{position:relative; overflow:hidden; background:
  radial-gradient(900px 380px at 80% -10%, rgba(18,181,165,.14), transparent 62%),
  radial-gradient(760px 380px at 6% 0%, rgba(15,98,254,.12), transparent 58%),
  linear-gradient(180deg,#fbfdff,#f2f7fe); border-bottom:1px solid var(--line)}
.banner-stage{position:relative; max-width:var(--max); margin:0 auto; height:clamp(240px,31vw,400px)}
.banner-slide{position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:34px; align-items:center; padding:14px 24px 34px; opacity:0; transform:translateY(6px);
  transition:opacity .55s ease, transform .55s ease; pointer-events:none}
.banner-slide.on{opacity:1; transform:none; pointer-events:auto}
.banner-media{display:flex; align-items:center; justify-content:center; height:100%; min-width:0; min-height:0; overflow:hidden}
.banner-media > a{display:block; width:100%; height:100%; min-width:0; min-height:0}
.banner-media img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 14px 26px rgba(13,27,42,.12))}
.banner-text{min-width:0}
.banner-eyebrow{display:inline-flex; align-items:center; max-width:100%; font-size:12px; font-weight:600; letter-spacing:.5px;
  color:var(--brand); background:rgba(15,98,254,.07); border:1px solid rgba(15,98,254,.14); border-radius:999px;
  padding:4px 12px; margin-bottom:12px}
.banner-text h1{font-size:clamp(21px,2.4vw,32px); line-height:1.24; letter-spacing:-.3px; margin-bottom:0}
.banner-text h1 em{font-style:normal; color:var(--brand)}
.banner-text h2{font-size:clamp(19px,2.2vw,29px); line-height:1.3; margin-bottom:12px}
.banner-text p{color:var(--ink-2); font-size:clamp(13.5px,1.2vw,15.5px); margin:12px 0 0; max-width:34em}
.banner-text .actions{margin-top:20px; display:flex; gap:12px; flex-wrap:wrap}
.banner-text > .btn{margin-top:18px}
.banner-arrow{position:absolute; top:calc(50% - 12px); transform:translateY(-50%); width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line); background:rgba(255,255,255,.86); color:var(--ink-2); font-size:20px; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:3; transition:.18s}
.banner-arrow:hover{background:#fff; color:var(--brand); border-color:var(--brand)}
.banner-arrow.prev{left:12px}
.banner-arrow.next{right:12px}
.banner-dots{position:absolute; left:0; right:0; bottom:14px; display:flex; gap:7px; justify-content:center; z-index:3}
.banner-dots button{width:8px; height:8px; padding:0; border:none; border-radius:50%; background:#c6d4e6; cursor:pointer; transition:.2s}
.banner-dots button.on{width:22px; border-radius:5px; background:var(--brand)}
.banner-statbar{border-top:1px solid var(--line); background:rgba(255,255,255,.55)}
.banner-statbar .wrap{display:flex; gap:46px; flex-wrap:wrap; padding:14px 24px}
.banner-statbar div{display:flex; align-items:baseline; gap:8px}
.banner-statbar b{font-size:17px; color:var(--ink)}
.banner-statbar span{font-size:12.5px; color:var(--ink-3)}
@media (max-width:820px){
  .banner-stage{height:clamp(360px,88vw,440px)}
  .banner-slide{grid-template-columns:1fr; gap:10px; padding:16px 20px 34px; align-content:center}
  .banner-media{height:clamp(130px,34vw,175px)}
  .banner-slide.head .banner-media{height:clamp(120px,30vw,160px)}
  .banner-text h1{font-size:21px}
  .banner-text h2{font-size:18px; margin-bottom:6px}
  .banner-text p{font-size:12.5px; margin-top:8px; max-height:2.9em; overflow:hidden}
  .banner-eyebrow{display:none}
  .banner-text .actions{margin-top:12px}
  .banner-text .btn{padding:11px 18px; font-size:13.5px}
  .banner-arrow{display:none}
  .banner-dots{bottom:12px}
  .banner-statbar .wrap{gap:18px; padding:12px 20px}
  .banner-statbar b{font-size:15px}
  .banner-statbar span{font-size:11.5px}
}

/* ---------- 页脚 ---------- */
.site-footer{margin-top:20px; background:#0d1b2a; color:#c7d2dd}
.site-footer .wrap{padding:52px 24px 26px}
.footer-grid{display:grid; grid-template-columns:1.3fr 1.05fr 1.15fr; gap:44px}
.footer-grid > *{min-width:0}
.site-footer h4{color:#fff; font-size:15px; margin-bottom:14px; position:relative; padding-bottom:10px}
.site-footer h4::after{content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--brand),var(--teal))}
.site-footer a{color:#c7d2dd; font-size:14px}
.site-footer a:hover{color:#fff}
.site-footer li{margin-bottom:10px}
.brandline{display:flex; align-items:center; gap:12px; margin-bottom:16px; color:#fff; font-weight:700; font-size:27px; letter-spacing:2px}
.brandline .mark{width:34px; height:34px; border-radius:10px; display:inline-block;
  background:linear-gradient(135deg,var(--brand),var(--teal)); box-shadow:0 6px 16px rgba(15,98,254,.3)}
.site-footer p{font-size:13.5px; color:#9fb0c1; margin:0 0 8px}
.f-brand .f-sub{margin:24px 0 12px}
.f-meta{margin:14px 0 0 !important}
.f-links{display:grid; grid-template-columns:minmax(0,1fr); gap:0 18px}
.f-links a{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.f-brand a{color:#dbe6f1}
.f-brand .f-cta{margin:16px 0 0}
.f-brand .f-cta .btn{padding:10px 18px; font-size:13.5px; box-shadow:none}
.copyright{border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:18px;
  font-size:12.5px; color:#8ea0b2; text-align:center; line-height:1.9}
.copyright a{color:#a9bccd; font-size:12.5px}
.copyright a:hover{color:#fff}
.copyright .police{display:inline-flex; align-items:center; gap:4px; vertical-align:middle}
.copyright .police img{width:18px; height:18px; display:block}

@media (max-width:1000px){
  .grid.g4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr; gap:32px}
  .f-brand{grid-column:1 / -1}
}
@media (max-width:720px){
  .site-header .wrap{height:64px; gap:12px}
  .logo-img{height:36px}
  .logo small{font-size:10.5px; padding-left:8px}
  .f-links a{white-space:normal; overflow:visible}
  .f-brand .f-cta .btn{width:100%; justify-content:center}
  .nav{position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); display:none; padding:10px 16px 18px}
  .nav.open{display:block}
  .nav>ul{flex-direction:column; align-items:stretch; gap:2px}
  .nav .sub{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; padding:0 0 6px 12px; max-height:none}
  .nav-toggle{display:block}
  .hero .wrap{padding:56px 24px 46px}
  .hero .stats{gap:26px}
  .grid.g3,.grid.g2,.grid.g4{grid-template-columns:1fr}
  .news-item{flex-direction:column; gap:10px}
  .news-item .date{flex:auto; border-right:none; border-bottom:1px solid var(--line); padding:0 0 10px; text-align:left}
  .news-item .date b{display:inline; font-size:16px; margin-right:8px}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:54px 0}
}
