/* roulang page: index */
:root{
  --ink:#0b1220;
  --ink-2:#26324a;
  --muted:#5f6b80;
  --line:#e4e9f2;
  --line-strong:#d3dae7;
  --bg:#f5f7fc;
  --surface:#ffffff;
  --surface-2:#f0f4fb;
  --primary:#1f4fd8;
  --primary-dark:#163ba8;
  --primary-soft:#e8eeff;
  --accent:#0d9c96;
  --accent-soft:#e2f6f4;
  --warn:#d98214;
  --warn-soft:#fdf3e2;
  --radius-s:10px;
  --radius-m:16px;
  --radius-l:24px;
  --radius-pill:999px;
  --shadow-s:0 1px 2px rgba(11,18,32,.05),0 2px 8px rgba(11,18,32,.05);
  --shadow-m:0 10px 30px rgba(16,30,64,.09);
  --shadow-l:0 24px 60px rgba(12,24,56,.14);
  --space-s:12px;
  --space-m:20px;
  --space-l:32px;
  --space-xl:64px;
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.75;
  font-size:16px;
  letter-spacing:.01em;
}
img{max-width:100%;display:block;border-radius:var(--radius-m);}
a{color:var(--primary);text-decoration:none;transition:color .2s ease,opacity .2s ease;}
a:hover{color:var(--primary-dark);}
h1,h2,h3,h4{margin:0;line-height:1.3;font-weight:700;letter-spacing:-.01em;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button,input{font-family:inherit;font-size:inherit;}
button{cursor:pointer;border:0;background:none;}
:focus-visible{outline:3px solid rgba(31,79,216,.35);outline-offset:3px;border-radius:6px;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ============ Dock 导航 ============ */
.site-header{
  position:fixed;
  top:16px;left:0;right:0;
  z-index:60;
  pointer-events:none;
}
.dock{
  pointer-events:auto;
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 12px 10px 20px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(228,233,242,.9);
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow-m);
  width:calc(100% - 32px);
}
.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:800;font-size:17px;color:var(--ink);white-space:nowrap;
}
.brand .mark{
  width:32px;height:32px;border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:grid;place-items:center;color:#fff;font-size:14px;
  box-shadow:0 6px 16px rgba(31,79,216,.3);
}
.brand:hover{color:var(--ink);}
.nav{display:flex;align-items:center;gap:6px;margin-left:6px;}
.nav a{
  padding:8px 16px;border-radius:var(--radius-pill);
  font-size:14.5px;font-weight:600;color:var(--ink-2);
  transition:background .2s ease,color .2s ease;
}
.nav a:hover{background:var(--surface-2);color:var(--primary);}
.nav a.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(31,79,216,.26);}
.dock-actions{margin-left:auto;display:flex;align-items:center;gap:10px;}
.dock-search{
  display:flex;align-items:center;gap:8px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  padding:7px 14px;
  color:var(--muted);font-size:13.5px;
  min-width:170px;
}
.dock-search i{color:var(--muted);font-size:13px;}
.dock-search input{
  border:0;background:transparent;outline:none;width:100%;
  color:var(--ink);font-size:13.5px;
}
.dock-search input::placeholder{color:#98a3b8;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 22px;border-radius:var(--radius-pill);
  font-weight:700;font-size:14.5px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 22px rgba(31,79,216,.28);}
.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px rgba(31,79,216,.34);}
.btn-ghost{background:rgba(255,255,255,.9);color:var(--ink);border:1px solid var(--line-strong);}
.btn-ghost:hover{background:#fff;color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-s);}
.btn-light{background:#fff;color:var(--primary);}
.btn-light:hover{background:#f2f5ff;color:var(--primary-dark);transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.menu-toggle{
  display:none;width:42px;height:42px;border-radius:var(--radius-pill);
  background:var(--surface-2);color:var(--ink);place-items:center;font-size:16px;
}
.mobile-panel{
  display:none;
  pointer-events:auto;
  margin:10px 16px 0;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-l);
  padding:14px;
}
.mobile-panel.open{display:block;}
.mobile-panel a{
  display:block;padding:12px 16px;border-radius:var(--radius-s);
  font-weight:600;color:var(--ink-2);
}
.mobile-panel a:hover,.mobile-panel a.active{background:var(--primary-soft);color:var(--primary);}

/* ============ Hero ============ */
.hero{
  position:relative;
  padding:150px 0 80px;
  background:
    linear-gradient(115deg,rgba(9,18,42,.92) 0%,rgba(13,32,80,.86) 46%,rgba(13,156,150,.62) 100%),
    url('/assets/images/backpic/back-1.webp') center/cover no-repeat;
  color:#fff;
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:auto -10% -60% 55%;
  height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(13,156,150,.5),transparent 68%);
  filter:blur(20px);
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  color:#eaf1ff;font-size:13.5px;font-weight:600;
  padding:7px 16px;border-radius:var(--radius-pill);
  margin-bottom:22px;
}
.hero h1{
  font-size:clamp(30px,4.2vw,50px);
  line-height:1.22;
  letter-spacing:-.02em;
  margin-bottom:20px;
}
.hero h1 .hl{
  background:linear-gradient(180deg,transparent 62%,rgba(13,156,150,.75) 62%);
  padding:0 4px;
}
.hero-sub{
  font-size:17px;color:#d3ddf2;max-width:600px;margin-bottom:30px;
}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px;}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  border-top:1px solid rgba(255,255,255,.18);padding-top:24px;max-width:620px;
}
.hero-stats .num{font-size:26px;font-weight:800;letter-spacing:-.02em;}
.hero-stats .lab{font-size:13px;color:#b9c6e2;margin-top:2px;}
.hero-card{
  background:rgba(255,255,255,.96);
  color:var(--ink);
  border-radius:var(--radius-l);
  padding:26px;
  box-shadow:var(--shadow-l);
  border:1px solid rgba(255,255,255,.6);
}
.hero-card h3{font-size:17px;margin-bottom:6px;}
.hero-card .hint{font-size:13.5px;color:var(--muted);margin-bottom:18px;}
.check-list li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:14.5px;color:var(--ink-2);
  padding:9px 0;border-bottom:1px dashed var(--line);
}
.check-list li:last-child{border-bottom:0;}
.check-list i{color:var(--accent);margin-top:5px;font-size:13px;}
.hero-card .tipbar{
  margin-top:16px;background:var(--warn-soft);border:1px solid #f3dfbc;
  color:#8a5a10;font-size:13px;border-radius:var(--radius-s);padding:12px 14px;
  display:flex;gap:9px;align-items:flex-start;
}

/* ============ 通用板块 ============ */
.section{padding:84px 0;}
.section.tight{padding:60px 0;}
.section.alt{background:var(--surface);}
.section-head{max-width:760px;margin-bottom:44px;}
.section-head.center{margin:0 auto 46px;text-align:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;color:var(--primary);
  background:var(--primary-soft);
  padding:6px 14px;border-radius:var(--radius-pill);margin-bottom:16px;
}
.section-head h2{font-size:clamp(24px,3vw,34px);margin-bottom:14px;}
.section-head p{color:var(--muted);font-size:16px;}

/* 数据条 */
.metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;
}
.metric{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:24px;box-shadow:var(--shadow-s);
  transition:transform .2s ease,box-shadow .2s ease;
}
.metric:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);}
.metric .val{font-size:28px;font-weight:800;color:var(--primary);letter-spacing:-.02em;}
.metric .name{font-size:14.5px;font-weight:700;margin-top:8px;}
.metric .desc{font-size:13.5px;color:var(--muted);margin-top:6px;}

/* 卡片网格 */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  padding:26px;
  box-shadow:var(--shadow-s);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  display:flex;flex-direction:column;gap:12px;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:#d8e1f4;}
.card .ico{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:var(--primary-soft);color:var(--primary);font-size:18px;
}
.card h3{font-size:18px;}
.card p{font-size:14.5px;color:var(--muted);}
.card ul li{
  font-size:14px;color:var(--ink-2);display:flex;gap:9px;padding:5px 0;
}
.card ul li i{color:var(--accent);font-size:12px;margin-top:6px;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.tag{
  font-size:12.5px;font-weight:600;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);
  padding:4px 12px;border-radius:var(--radius-pill);
}
.tag.accent{background:var(--accent-soft);color:#0a7a75;border-color:#c9ece8;}
.tag.warn{background:var(--warn-soft);color:#8a5a10;border-color:#f3dfbc;}

/* 图文分栏 */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
}
.split img{box-shadow:var(--shadow-m);}
.split h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:16px;}
.split p{color:var(--muted);margin-bottom:14px;}
.step-list{counter-reset:step;margin-top:8px;}
.step-list li{
  position:relative;padding-left:52px;padding-bottom:22px;
  border-left:2px solid var(--line);margin-left:15px;
}
.step-list li:last-child{padding-bottom:0;border-left-color:transparent;}
.step-list li::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  position:absolute;left:-16px;top:-2px;
  width:32px;height:32px;border-radius:50%;
  background:var(--primary);color:#fff;font-size:12.5px;font-weight:800;
  display:grid;place-items:center;box-shadow:0 6px 14px rgba(31,79,216,.28);
}
.step-list strong{display:block;font-size:16px;margin-bottom:4px;}
.step-list span{font-size:14px;color:var(--muted);}

/* 分类入口 */
.cat-card{
  position:relative;overflow:hidden;border-radius:var(--radius-l);
  border:1px solid var(--line);background:var(--surface);
  box-shadow:var(--shadow-s);display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);}
.cat-card .thumb{position:relative;height:190px;overflow:hidden;}
.cat-card .thumb img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.cat-card .thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,18,32,0) 30%,rgba(11,18,32,.62) 100%);
}
.cat-card .index{
  position:absolute;top:14px;left:16px;z-index:2;
  background:rgba(255,255,255,.92);color:var(--primary);
  font-size:12.5px;font-weight:800;padding:5px 12px;border-radius:var(--radius-pill);
}
.cat-card .body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.cat-card h3{font-size:19px;}
.cat-card p{font-size:14.5px;color:var(--muted);}
.cat-card .go{
  margin-top:auto;display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:14.5px;color:var(--primary);
}
.cat-card .go i{transition:transform .2s ease;}
.cat-card:hover .go i{transform:translateX(4px);}

/* CMS 列表 */
.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.post-item{
  display:flex;flex-direction:column;gap:10px;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-m);padding:22px;box-shadow:var(--shadow-s);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  color:var(--ink);
}
.post-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:#d8e1f4;color:var(--ink);}
.post-item h3{font-size:17px;color:var(--ink);}
.post-item p{font-size:14px;color:var(--muted);}
.post-meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);margin-top:auto;}
.post-item .post-tag{
  align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--primary);
  background:var(--primary-soft);padding:4px 12px;border-radius:var(--radius-pill);
}
.empty-note{
  background:var(--surface);border:1px dashed var(--line-strong);
  border-radius:var(--radius-m);padding:32px;text-align:center;
  color:var(--muted);font-size:15px;
}

/* 证言 */
.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.quote{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:26px;box-shadow:var(--shadow-s);display:flex;flex-direction:column;gap:16px;
}
.quote .stars{color:#f0a92c;font-size:13px;letter-spacing:2px;}
.quote p{font-size:14.5px;color:var(--ink-2);}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.quote .avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;
}
.quote .who strong{display:block;font-size:14.5px;}
.quote .who span{font-size:12.5px;color:var(--muted);}

/* FAQ */
.faq{display:grid;gap:14px;max-width:900px;margin:0 auto;}
.faq details{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:20px 24px;box-shadow:var(--shadow-s);transition:border-color .2s ease,box-shadow .2s ease;
}
.faq details[open]{border-color:#cdd9f5;box-shadow:var(--shadow-m);}
.faq summary{
  list-style:none;cursor:pointer;font-weight:700;font-size:16.5px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;
  font-size:13px;color:var(--primary);
  width:28px;height:28px;border-radius:50%;background:var(--primary-soft);
  display:grid;place-items:center;flex:none;transition:transform .22s ease;
}
.faq details[open] summary::after{content:"\f068";transform:rotate(180deg);}
.faq .answer{padding-top:14px;color:var(--muted);font-size:14.5px;}

/* CTA */
.cta-band{
  background:linear-gradient(120deg,#0b1220 0%,#16295e 52%,#0d6f74 100%);
  color:#fff;border-radius:var(--radius-l);
  padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;
  box-shadow:var(--shadow-l);position:relative;overflow:hidden;
}
.cta-band::after{
  content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 66%);
}
.cta-band h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:14px;}
.cta-band p{color:#c6d4ef;font-size:15.5px;}
.cta-actions{display:flex;flex-direction:column;gap:12px;position:relative;z-index:2;}
.cta-note{font-size:13px;color:#a9bcdf;margin-top:6px;}

/* 页脚 */
.site-footer{background:#080e1c;color:#a7b5cf;padding:64px 0 28px;margin-top:20px;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;
  padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:#fff;margin-bottom:14px;}
.footer-brand .mark{
  width:32px;height:32px;border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:grid;place-items:center;font-size:14px;color:#fff;
}
.site-footer p{font-size:14px;color:#93a3c1;line-height:1.8;}
.site-footer h4{font-size:14.5px;color:#fff;margin-bottom:16px;letter-spacing:.02em;}
.footer-links li{margin-bottom:10px;}
.footer-links a{color:#93a3c1;font-size:14px;}
.footer-links a:hover{color:#fff;}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding-top:22px;font-size:13px;color:#7b8bab;flex-wrap:wrap;
}
.footer-bottom .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px;}

/* ============ 响应式 ============ */
@media (max-width:1024px){
  .hero{padding-top:132px;}
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .split{grid-template-columns:1fr;gap:32px;}
  .cta-band{grid-template-columns:1fr;padding:44px;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dock-search{display:none;}
}
@media (max-width:768px){
  .nav{display:none;}
  .dock-actions .btn-primary{display:none;}
  .menu-toggle{display:grid;}
  .dock{padding:8px 10px 8px 16px;}
  .section{padding:60px 0;}
  .grid-3,.grid-2,.post-list,.quote-grid{grid-template-columns:1fr;}
  .hero{padding:120px 0 56px;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .container{padding:0 18px;}
  .cta-band{padding:32px;}
  .split{gap:26px;}
}
@media (max-width:520px){
  body{font-size:15.5px;}
  .brand{font-size:15.5px;}
  .hero-stats{grid-template-columns:1fr;}
  .metrics{grid-template-columns:1fr;}
  .card,.cat-card .body,.quote{padding:20px;}
  .section{padding:52px 0;}
  .hero-cta .btn{width:100%;}
  .faq summary{font-size:15.5px;}
}

/* roulang page: article */
:root{
  --brand:#0f6d7b;
  --brand-2:#12a3a8;
  --brand-dark:#0a4b55;
  --brand-soft:#e8f4f6;
  --accent:#f2a13b;
  --accent-soft:#fdf3e4;
  --ink:#0d1a22;
  --ink-2:#22343f;
  --muted:#5f7383;
  --line:#e2e9ef;
  --bg:#f5f8fa;
  --card:#ffffff;
  --r-xs:8px;
  --r-sm:12px;
  --r:18px;
  --r-lg:26px;
  --r-pill:999px;
  --sh-sm:0 2px 10px rgba(13,26,34,.06);
  --sh:0 16px 40px rgba(13,26,34,.09);
  --sh-lg:0 28px 64px rgba(13,26,34,.16);
  --maxw:1160px;
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--brand);text-decoration:none;transition:color .22s ease,background .22s ease,opacity .22s ease}
a:hover{color:var(--brand-dark)}
h1,h2,h3,h4{margin:0;line-height:1.32;font-weight:800;letter-spacing:.2px}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid rgba(18,163,168,.45);outline-offset:2px;border-radius:var(--r-xs)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ===== 悬浮 Dock 导航 ===== */
.site-header{position:sticky;top:0;z-index:80;padding:16px 22px 0}
.dock{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  max-width:1000px;
  margin:0 auto;
  padding:10px 14px 10px 18px;
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  box-shadow:var(--sh);
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);flex-shrink:0}
.brand:hover{color:var(--ink)}
.brand .mark{
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-size:15px;
  box-shadow:0 8px 18px rgba(15,109,123,.28);
}
.brand .name{font-size:16.5px;letter-spacing:.2px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{
  padding:9px 16px;
  border-radius:var(--r-pill);
  font-size:14.5px;
  font-weight:700;
  color:var(--muted);
  white-space:nowrap;
  transition:all .22s ease;
}
.nav a:hover{color:var(--brand-dark);background:var(--brand-soft)}
.nav a.active{
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  box-shadow:0 10px 20px rgba(15,109,123,.28);
}

/* ===== 文章头图区 ===== */
.article-hero{
  position:relative;
  margin-top:16px;
  padding:56px 0 76px;
  color:#fff;
  background-image:linear-gradient(118deg,rgba(8,42,50,.95),rgba(15,109,123,.86)),url('/assets/images/backpic/back-2.png');
  background-size:cover;
  background-position:center;
  border-radius:0 0 40px 40px;
  overflow:hidden;
}
.article-hero::after{
  content:"";
  position:absolute;
  right:-120px;top:-120px;
  width:380px;height:380px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(18,163,168,.5),transparent 68%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:900px}
.crumbs{display:flex;align-items:center;gap:9px;font-size:13.5px;color:rgba(255,255,255,.7);margin-bottom:20px;flex-wrap:wrap}
.crumbs a{color:rgba(255,255,255,.82)}
.crumbs a:hover{color:#fff}
.crumbs i{font-size:10px;opacity:.6}
.crumbs span{color:rgba(255,255,255,.66)}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 15px;
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  font-size:13px;font-weight:700;letter-spacing:.5px;
  margin-bottom:18px;
}
.article-hero h1{
  font-size:38px;
  line-height:1.3;
  margin-bottom:18px;
  letter-spacing:.4px;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.hero-lead{
  font-size:16px;
  color:rgba(255,255,255,.82);
  max-width:760px;
  line-height:1.85;
}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:12px 26px;
  margin-top:26px;
  font-size:13.5px;
  color:rgba(255,255,255,.72);
}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}

/* ===== 文章主体 ===== */
.section{padding:58px 0}
.article-section{padding:56px 0 0}
.article-layout{max-width:920px}
.article-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--sh);
  padding:40px 42px 46px;
}
.article-cover{
  width:100%;
  border-radius:var(--r);
  margin-bottom:34px;
  box-shadow:var(--sh-sm);
  object-fit:cover;
  aspect-ratio:16/9;
}
.article-body{font-size:16.5px;color:var(--ink-2);line-height:1.9}
.article-body > * + *{margin-top:18px}
.article-body h2{
  font-size:23px;
  color:var(--ink);
  margin-top:40px;
  padding-left:14px;
  border-left:4px solid var(--brand);
  line-height:1.45;
}
.article-body h3{font-size:19px;color:var(--ink);margin-top:30px}
.article-body h4{font-size:17px;color:var(--ink);margin-top:24px}
.article-body p{color:var(--ink-2)}
.article-body ul,.article-body ol{padding-left:1.4em;list-style:revert}
.article-body li{margin:9px 0}
.article-body img{border-radius:var(--r);margin:24px 0;box-shadow:var(--sh-sm)}
.article-body blockquote{
  margin:26px 0;
  padding:18px 22px;
  background:var(--brand-soft);
  border-left:4px solid var(--brand);
  border-radius:0 var(--r) var(--r) 0;
  color:var(--brand-dark);
  font-size:15.5px;
}
.article-body a{text-decoration:underline;text-underline-offset:3px}
.article-body table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.article-body th,.article-body td{border:1px solid var(--line);padding:11px 14px;text-align:left}
.article-body th{background:var(--brand-soft);color:var(--brand-dark)}
.article-body code{background:var(--brand-soft);padding:2px 7px;border-radius:6px;font-size:14.5px}
.not-found{text-align:center;padding:26px 6px 10px}
.not-found h2{font-size:22px;margin-bottom:12px}
.not-found p{color:var(--muted);margin-bottom:22px}

/* ===== 按钮 ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 28px;
  border-radius:var(--r-pill);
  font-size:15px;font-weight:700;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  color:#fff;
  box-shadow:0 12px 26px rgba(15,109,123,.28);
}
.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px rgba(15,109,123,.36)}
.btn-ghost{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.38);
}
.btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff;transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--brand-dark);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.btn-light:hover{color:var(--brand-dark);transform:translateY(-2px)}

/* ===== 板块标题 ===== */
.section-head{max-width:740px;margin-bottom:34px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;
  border-radius:var(--r-pill);
  background:var(--brand-soft);
  color:var(--brand-dark);
  font-size:13px;font-weight:800;letter-spacing:.6px;
}
.section-head h2{font-size:29px;margin:16px 0 12px;color:var(--ink)}
.section-head p{color:var(--muted);font-size:15.5px}

/* ===== 自查要点卡片 ===== */
.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.check-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:26px;
  box-shadow:var(--sh-sm);
  transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease;
}
.check-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:#cfe2e6}
.check-num{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  background:var(--brand-soft);
  color:var(--brand-dark);
  font-weight:800;font-size:15px;
  margin-bottom:15px;
}
.check-card h3{font-size:17px;margin-bottom:9px;color:var(--ink)}
.check-card p{font-size:14.5px;color:var(--muted);line-height:1.8}

/* ===== 提示条 ===== */
.notice{
  margin-top:26px;
  display:flex;gap:14px;align-items:flex-start;
  background:var(--accent-soft);
  border:1px solid #f6dcb4;
  border-radius:var(--r);
  padding:20px 24px;
}
.notice i{color:#d98a1c;font-size:19px;margin-top:3px}
.notice strong{display:block;color:#8a5610;font-size:15.5px;margin-bottom:5px}
.notice p{color:#8a6a3a;font-size:14.5px;line-height:1.8}

/* ===== FAQ ===== */
.faq-list{display:grid;gap:14px;max-width:900px;margin:0 auto}
.faq-item{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
  transition:box-shadow .25s ease,border-color .25s ease;
}
.faq-item:hover{box-shadow:var(--sh-sm);border-color:#cfe2e6}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:20px 24px;
  font-size:16.5px;
  font-weight:800;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  flex-shrink:0;
  font-size:22px;
  font-weight:700;
  color:var(--brand);
  line-height:1;
  transition:transform .26s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item[open] summary{background:var(--brand-soft)}
.faq-body{padding:18px 24px 24px;color:var(--muted);font-size:15px;line-height:1.85}

/* ===== CTA ===== */
.cta{
  position:relative;
  overflow:hidden;
  border-radius:var(--r-lg);
  padding:56px 44px;
  text-align:center;
  color:#fff;
  background-image:linear-gradient(120deg,rgba(8,42,50,.94),rgba(15,109,123,.88)),url('/assets/images/backpic/back-1.webp');
  background-size:cover;
  background-position:center;
  box-shadow:var(--sh-lg);
}
.cta h2{font-size:29px;margin-bottom:14px}
.cta p{color:rgba(255,255,255,.84);max-width:660px;margin:0 auto 28px;font-size:15.5px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* ===== 页脚 ===== */
.site-footer{background:#0d1f27;color:#b9c8d1;margin-top:76px;padding:58px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:38px}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:17px;margin-bottom:15px}
.footer-brand .mark{
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-size:15px;
}
.site-footer h4{color:#fff;font-size:15px;margin-bottom:15px;letter-spacing:.5px}
.site-footer p{font-size:14.5px;color:#93a7b2;line-height:1.85}
.footer-links li + li{margin-top:9px}
.footer-links a{color:#9fb2bd;font-size:14.5px}
.footer-links a:hover{color:#fff}
.footer-bottom{
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  font-size:13.5px;
  color:#8698a3;
}
.footer-bottom .dot{
  display:inline-block;width:8px;height:8px;border-radius:50%;
  background:#37d6a8;margin-right:9px;
  box-shadow:0 0 0 4px rgba(55,214,168,.16);
}

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .article-hero h1{font-size:32px}
  .check-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}
}
@media (max-width:860px){
  .site-header{padding:12px 14px 0}
  .dock{flex-direction:column;align-items:stretch;border-radius:24px;padding:12px;gap:10px}
  .brand{justify-content:center}
  .nav{justify-content:flex-start;padding-bottom:2px}
  .article-hero{padding:38px 0 58px;border-radius:0 0 28px 28px}
  .article-hero h1{font-size:27px}
  .hero-lead{font-size:15px}
  .article-card{padding:28px 22px 34px;border-radius:var(--r)}
  .article-cover{margin-bottom:24px}
  .article-body{font-size:16px}
  .article-body h2{font-size:20px}
  .article-body h3{font-size:17.5px}
  .section{padding:44px 0}
  .section-head h2{font-size:24px}
  .cta{padding:40px 24px}
  .cta h2{font-size:23px}
}
@media (max-width:520px){
  .container{padding:0 16px}
  .nav a{padding:8px 13px;font-size:14px}
  .brand .name{font-size:15.5px}
  .article-hero h1{font-size:22.5px}
  .check-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .faq-item summary{font-size:15.5px;padding:17px 18px}
  .faq-body{padding:14px 18px 20px}
  .notice{padding:16px 18px}
}

/* roulang page: category1 */
:root{
  --ink:#0b1526;
  --ink-2:#1c2a44;
  --muted:#5d6d88;
  --muted-2:#8794ab;
  --line:#e4eaf3;
  --line-2:#d3dced;
  --bg:#f5f7fc;
  --surface:#ffffff;
  --surface-2:#eef2fa;
  --brand:#1546c8;
  --brand-dark:#0e3392;
  --brand-soft:#e7edfd;
  --accent:#00a37a;
  --accent-soft:#e2f7f0;
  --warn:#c2410c;
  --warn-soft:#fdf0e7;
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:24px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(15,32,68,.06),0 4px 12px rgba(15,32,68,.05);
  --shadow-md:0 8px 24px rgba(15,32,68,.08),0 2px 6px rgba(15,32,68,.04);
  --shadow-lg:0 24px 60px rgba(11,25,58,.14);
  --sp:clamp(20px,4vw,32px);
  --font:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--ink-2);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:var(--brand);text-decoration:none;transition:color .2s ease,opacity .2s ease;}
a:hover{color:var(--brand-dark);}
h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.28;letter-spacing:-.01em;font-weight:700;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid rgba(21,70,200,.42);
  outline-offset:3px;
  border-radius:8px;
}

.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}

/* ============ 浮动 Dock 导航 ============ */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  padding:14px 0 0;
  background:linear-gradient(180deg,rgba(245,247,252,.96) 0%,rgba(245,247,252,.72) 70%,rgba(245,247,252,0) 100%);
  backdrop-filter:blur(6px);
}
.dock{
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 12px 10px 18px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(14px);
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:1.06rem;
  color:var(--ink);
  letter-spacing:-.02em;
  white-space:nowrap;
}
.brand:hover{color:var(--brand);}
.brand .mark{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  background:linear-gradient(140deg,var(--brand),#3d78f0);
  color:#fff;
  font-size:.92rem;
  box-shadow:0 6px 14px rgba(21,70,200,.28);
}
.nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  overflow-x:auto;
  scrollbar-width:none;
}
.nav::-webkit-scrollbar{display:none;}
.nav a{
  display:inline-block;
  padding:9px 16px;
  border-radius:var(--radius-pill);
  font-size:.94rem;
  font-weight:600;
  color:var(--muted);
  white-space:nowrap;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.nav a:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px);}
.nav a.active{
  background:var(--ink);
  color:#fff;
  box-shadow:0 6px 16px rgba(11,21,38,.22);
}
.dock-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:var(--radius-pill);
  background:var(--brand);
  color:#fff;
  font-size:.92rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(21,70,200,.28);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.dock-cta:hover{background:var(--brand-dark);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px rgba(21,70,200,.34);}

/* ============ Hero ============ */
.hero{
  position:relative;
  margin-top:-64px;
  padding:150px 0 96px;
  background:
    linear-gradient(115deg,rgba(9,19,40,.94) 0%,rgba(12,32,74,.9) 46%,rgba(9,24,52,.78) 100%),
    url('/assets/images/backpic/back-1.webp') center/cover no-repeat;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  right:-120px;top:-90px;
  width:460px;height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(61,120,240,.4),rgba(61,120,240,0) 68%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:52px;
  align-items:center;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 15px;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#d8e4ff;
  font-size:.84rem;
  font-weight:600;
  letter-spacing:.02em;
}
.eyebrow i{color:#7fe6c4;}
.hero h1{
  margin-top:22px;
  font-size:clamp(2rem,4vw,3.05rem);
  color:#fff;
  letter-spacing:-.03em;
  line-height:1.2;
}
.hero h1 em{
  font-style:normal;
  color:#7fe6c4;
}
.hero .lead{
  margin-top:20px;
  max-width:600px;
  font-size:1.06rem;
  color:#bccbe8;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 28px;
  border:1px solid transparent;
  border-radius:var(--radius-pill);
  font-size:.98rem;
  font-weight:700;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.btn-primary{
  background:var(--brand);
  color:#fff;
  box-shadow:0 10px 26px rgba(21,70,200,.38);
}
.btn-primary:hover{background:#1960e6;color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(21,70,200,.44);}
.btn-ghost{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.3);
  color:#eaf1ff;
}
.btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff;transform:translateY(-2px);}
.btn-light{
  background:#fff;
  color:var(--ink);
  box-shadow:var(--shadow-md);
}
.btn-light:hover{color:var(--brand);transform:translateY(-2px);}

.hero-card{
  background:rgba(255,255,255,.97);
  border-radius:var(--radius-lg);
  padding:26px 26px 22px;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.6);
}
.hero-card h3{
  font-size:1.02rem;
  display:flex;
  align-items:center;
  gap:9px;
}
.hero-card h3 i{color:var(--brand);}
.hero-card .list{margin-top:16px;display:grid;gap:12px;}
.hero-card .list li{
  display:flex;
  gap:11px;
  align-items:flex-start;
  font-size:.93rem;
  color:var(--muted);
  padding-bottom:12px;
  border-bottom:1px dashed var(--line-2);
}
.hero-card .list li:last-child{border-bottom:0;padding-bottom:0;}
.hero-card .list i{
  color:var(--accent);
  margin-top:5px;
  font-size:.86rem;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.hero-stats .stat b{
  display:block;
  font-size:1.32rem;
  color:var(--ink);
  letter-spacing:-.02em;
}
.hero-stats .stat span{
  font-size:.78rem;
  color:var(--muted-2);
}

/* ============ 通用板块 ============ */
.section{padding:82px 0;}
.section.alt{background:var(--surface);}
.section.dark{
  background:linear-gradient(160deg,#0b1526,#122552);
  color:#c3d1ea;
}
.section.dark h2,.section.dark h3{color:#fff;}
.section-head{max-width:720px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:var(--radius-pill);
  background:var(--brand-soft);
  color:var(--brand);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.04em;
}
.section.dark .section-tag{background:rgba(255,255,255,.1);color:#9db9ff;}
.section-head h2{
  margin-top:16px;
  font-size:clamp(1.55rem,2.6vw,2.15rem);
}
.section-head p{
  margin-top:14px;
  color:var(--muted);
  font-size:1.01rem;
}
.section.dark .section-head p{color:#a7b8d8;}

/* ============ 卡片网格 ============ */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}

.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--line-2);}
.card .icon-badge{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:14px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:1.06rem;
  margin-bottom:18px;
}
.card h3{font-size:1.1rem;}
.card p{margin-top:11px;color:var(--muted);font-size:.95rem;}

.card.solid{background:var(--surface-2);border-color:transparent;box-shadow:none;}
.card.solid:hover{background:#fff;box-shadow:var(--shadow-md);}

/* 图文区块 */
.split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:52px;
  align-items:center;
}
.media-frame{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.6);
}
.media-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .6s ease;}
.media-frame:hover img{transform:scale(1.04);}
.media-frame .tag-float{
  position:absolute;
  left:18px;bottom:18px;
  padding:9px 16px;
  border-radius:var(--radius-pill);
  background:rgba(11,21,38,.82);
  color:#fff;
  font-size:.82rem;
  font-weight:600;
  backdrop-filter:blur(6px);
}
.checklist{margin-top:24px;display:grid;gap:14px;}
.checklist li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:.96rem;
  color:var(--ink-2);
}
.checklist li i{
  flex:none;
  width:24px;height:24px;
  display:grid;place-items:center;
  border-radius:8px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:.72rem;
  margin-top:4px;
}

/* ============ 步骤流程 ============ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:step;}
.step{
  position:relative;
  padding:28px 22px 24px;
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:12px;
  background:linear-gradient(140deg,var(--brand),#3d78f0);
  color:#fff;
  font-weight:800;
  font-size:.98rem;
  box-shadow:0 8px 18px rgba(21,70,200,.26);
}
.step h3{margin-top:16px;font-size:1.04rem;}
.step p{margin-top:10px;color:var(--muted);font-size:.92rem;}

/* ============ 异常信号 ============ */
.signal-list{display:grid;gap:14px;}
.signal{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:22px 24px;
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:border-color .24s ease,transform .24s ease,box-shadow .24s ease;
}
.signal:hover{border-color:#f2c7a8;transform:translateX(4px);box-shadow:var(--shadow-md);}
.signal .sig-icon{
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:14px;
  background:var(--warn-soft);
  color:var(--warn);
  font-size:1.05rem;
}
.signal h3{font-size:1.02rem;}
.signal p{margin-top:7px;color:var(--muted);font-size:.93rem;}
.badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 14px;
  border-radius:var(--radius-pill);
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
}
.badge.danger{background:var(--warn-soft);color:var(--warn);}
.badge.safe{background:var(--accent-soft);color:var(--accent);}
.badge.info{background:var(--brand-soft);color:var(--brand);}

/* ============ 深色数据板块 ============ */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:8px;}
.metric{
  padding:26px 22px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  transition:background .24s ease,transform .24s ease;
}
.metric:hover{background:rgba(255,255,255,.1);transform:translateY(-4px);}
.metric b{display:block;font-size:1.85rem;color:#fff;letter-spacing:-.02em;}
.metric span{display:block;margin-top:8px;font-size:.92rem;color:#a7b8d8;}

/* ============ 场景 ============ */
.scene{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:26px 24px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.scene:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.scene .scene-top{display:flex;align-items:center;gap:12px;}
.scene .scene-top i{color:var(--brand);font-size:1.1rem;}
.scene h3{font-size:1.03rem;}
.scene p{color:var(--muted);font-size:.93rem;}
.scene ul{display:grid;gap:9px;border-top:1px dashed var(--line-2);padding-top:14px;}
.scene ul li{display:flex;gap:9px;font-size:.9rem;color:var(--ink-2);}
.scene ul li::before{content:"·";color:var(--brand);font-weight:800;}

/* ============ FAQ ============ */
.faq{max-width:900px;margin:0 auto;display:grid;gap:14px;}
.faq-item{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:border-color .24s ease,box-shadow .24s ease;
}
.faq-item[open]{border-color:#c4d3f5;box-shadow:var(--shadow-md);}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:20px 56px 20px 24px;
  position:relative;
  font-weight:700;
  color:var(--ink);
  font-size:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"\f067";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  right:22px;top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:9px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:.74rem;
  transition:transform .26s ease,background .26s ease,color .26s ease;
}
.faq-item[open] summary::after{content:"\f068";background:var(--brand);color:#fff;}
.faq-item .faq-body{
  padding:0 24px 22px;
  color:var(--muted);
  font-size:.95rem;
  border-top:1px solid var(--line);
  margin-top:0;
  padding-top:18px;
}

/* ============ CTA ============ */
.cta{
  position:relative;
  padding:74px 0;
  background:
    linear-gradient(115deg,rgba(9,19,40,.93),rgba(15,44,102,.88)),
    url('/assets/images/backpic/back-3.png') center/cover no-repeat;
  overflow:hidden;
}
.cta-box{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:40px;
  align-items:center;
  padding:44px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
.cta-box h2{color:#fff;font-size:clamp(1.45rem,2.4vw,2rem);}
.cta-box p{margin-top:14px;color:#b9c8e6;font-size:.99rem;}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end;}
.cta-note{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.85rem;
  color:#93a6c9;
}
.cta-note i{color:#7fe6c4;}

/* ============ 页脚 ============ */
.site-footer{
  background:#081121;
  color:#8fa0bd;
  padding:66px 0 26px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:36px;
  padding-bottom:38px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:800;
  color:#fff;
  font-size:1.05rem;
  letter-spacing:-.01em;
}
.footer-brand .mark{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  background:linear-gradient(140deg,var(--brand),#3d78f0);
  color:#fff;
  font-size:.9rem;
}
.site-footer p{margin-top:16px;font-size:.92rem;line-height:1.8;color:#8fa0bd;}
.site-footer h4{
  color:#fff;
  font-size:.96rem;
  margin-bottom:16px;
}
.footer-links{display:grid;gap:11px;}
.footer-links a{color:#8fa0bd;font-size:.92rem;}
.footer-links a:hover{color:#fff;padding-left:4px;}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:space-between;
  align-items:center;
  padding-top:22px;
  font-size:.85rem;
  color:#6c7d99;
}
.footer-bottom .dot{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#31d6a3;
  margin-right:8px;
  vertical-align:middle;
  box-shadow:0 0 0 4px rgba(49,214,163,.16);
}

/* ============ 响应式 ============ */
@media (max-width:1024px){
  .hero{padding:130px 0 80px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .grid-4,.steps,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .split{grid-template-columns:1fr;gap:38px;}
  .cta-box{grid-template-columns:1fr;padding:34px;}
  .cta-actions{justify-content:flex-start;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
}
@media (max-width:768px){
  .site-header{padding-top:10px;}
  .dock{padding:9px 10px;gap:10px;border-radius:22px;}
  .brand span.brand-text{display:none;}
  .nav a{padding:8px 12px;font-size:.88rem;}
  .dock-cta{display:none;}
  .hero{margin-top:-56px;padding:118px 0 68px;}
  .section{padding:60px 0;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .signal{grid-template-columns:52px minmax(0,1fr);gap:16px;}
  .signal .badge{grid-column:2;justify-self:start;}
  .footer-grid{grid-template-columns:1fr;padding-bottom:30px;}
  .footer-bottom{justify-content:flex-start;}
}
@media (max-width:520px){
  body{font-size:15px;}
  .grid-4,.steps,.metric-grid{grid-template-columns:1fr;}
  .hero h1{font-size:1.72rem;}
  .hero-stats{grid-template-columns:1fr 1fr;gap:14px;}
  .btn{width:100%;}
  .hero-actions,.cta-actions{flex-direction:column;align-items:stretch;}
  .dock{gap:6px;padding:8px;}
  .brand .mark{width:30px;height:30px;font-size:.8rem;}
  .card,.scene{padding:22px 18px;}
  .faq-item summary{padding:18px 50px 18px 18px;font-size:.95rem;}
  .faq-item .faq-body{padding:16px 18px 20px;}
}

/* roulang page: category2 */
:root{
  --bg:#f5f7fb;
  --bg-soft:#eef2f9;
  --surface:#ffffff;
  --surface-2:#fbfcfe;
  --ink:#0b1526;
  --ink-2:#233147;
  --muted:#5d6c85;
  --muted-2:#8393ab;
  --line:#e2e8f2;
  --line-strong:#cfd8e8;
  --primary:#155cf0;
  --primary-dark:#0e46bd;
  --primary-soft:#e8efff;
  --accent:#0fb5a4;
  --accent-soft:#e2f7f4;
  --warn:#e0761a;
  --warn-soft:#fdf1e2;
  --danger:#d64545;
  --danger-soft:#fdecec;
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:24px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(11,21,38,.06),0 2px 8px rgba(11,21,38,.05);
  --shadow:0 10px 30px rgba(11,21,38,.08);
  --shadow-lg:0 24px 60px rgba(11,21,38,.14);
  --sp-1:8px;
  --sp-2:16px;
  --sp-3:24px;
  --sp-4:32px;
  --sp-5:48px;
  --sp-6:72px;
  --sp-7:96px;
  --font:"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--ink-2);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;border-radius:var(--radius);}
a{color:var(--primary);text-decoration:none;transition:color .2s ease,opacity .2s ease;}
a:hover{color:var(--primary-dark);}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(21,92,240,.45);outline-offset:3px;border-radius:6px;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.3;letter-spacing:-.01em;}
h1{font-size:clamp(28px,4.2vw,48px);font-weight:800;letter-spacing:-.02em;}
h2{font-size:clamp(23px,2.8vw,34px);font-weight:800;}
h3{font-size:clamp(17px,1.6vw,20px);font-weight:700;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}

/* ---------- 浮动 Dock 导航 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  padding:14px 24px 10px;
  background:linear-gradient(180deg,rgba(245,247,251,.95) 0%,rgba(245,247,251,.72) 62%,rgba(245,247,251,0) 100%);
  backdrop-filter:blur(4px);
}
.dock{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:1180px;
  margin:0 auto;
  padding:10px 12px 10px 20px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:16.5px;
  color:var(--ink);
  letter-spacing:-.01em;
  white-space:nowrap;
}
.logo:hover{color:var(--ink);}
.logo .mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,var(--primary) 0%,#2b7bff 55%,var(--accent) 100%);
  color:#fff;
  font-size:15px;
  box-shadow:0 6px 16px rgba(21,92,240,.28);
}
.nav{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  flex-wrap:nowrap;
}
.nav a{
  position:relative;
  padding:9px 16px;
  border-radius:var(--radius-pill);
  font-size:14.5px;
  font-weight:600;
  color:var(--muted);
  white-space:nowrap;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.nav a:hover{background:var(--bg-soft);color:var(--ink);transform:translateY(-1px);}
.nav a.active{background:var(--primary-soft);color:var(--primary-dark);}
.nav a.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:16px;
  height:2px;
  border-radius:2px;
  background:var(--primary);
  transform:translateX(-50%);
}
.dock-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:var(--radius-pill);
  background:var(--ink);
  color:#fff;
  font-size:14.5px;
  font-weight:700;
  white-space:nowrap;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.dock-cta:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(14,70,189,.28);}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 28px;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  font-size:15.5px;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 26px rgba(21,92,240,.28);}
.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px rgba(21,92,240,.32);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35);}
.btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff;transform:translateY(-2px);}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm);}
.btn-light:hover{color:var(--primary-dark);border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow);}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  margin:10px 24px 0;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background-image:
    linear-gradient(115deg,rgba(9,18,34,.95) 0%,rgba(11,28,58,.9) 46%,rgba(10,52,92,.74) 100%),
    url('/assets/images/backpic/back-2.png');
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow-lg);
  color:#fff;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto -120px -180px auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(15,181,164,.42) 0%,rgba(15,181,164,0) 68%);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:2;
  padding:clamp(40px,6vw,76px) clamp(24px,5vw,68px);
  max-width:820px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 16px;
  border-radius:var(--radius-pill);
  background:rgba(15,181,164,.16);
  border:1px solid rgba(15,181,164,.4);
  color:#8ff0e5;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.hero h1{color:#fff;margin:22px 0 18px;}
.hero h1 em{font-style:normal;color:#7fd8ff;}
.hero-lead{
  font-size:clamp(15.5px,1.6vw,17.5px);
  color:rgba(226,235,248,.9);
  max-width:660px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.hero-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:40px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);
  max-width:640px;
}
.hero-fact span{display:block;font-size:24px;font-weight:800;color:#fff;letter-spacing:-.02em;}
.hero-fact small{display:block;font-size:13px;color:rgba(206,220,240,.72);margin-top:4px;}

/* ---------- 通用板块 ---------- */
.section{padding:var(--sp-7) 0;}
.section.tight{padding:var(--sp-6) 0;}
.section.soft{background:var(--bg-soft);}
.section-head{max-width:760px;margin-bottom:var(--sp-4);}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--primary);
  text-transform:uppercase;
  margin-bottom:14px;
}
.eyebrow i{font-size:12px;}
.section-head h2{margin-bottom:14px;}
.section-sub{color:var(--muted);font-size:16.5px;}

.grid{display:grid;gap:22px;}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}

.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong);}
.card .ico{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:18px;
  margin-bottom:18px;
}
.card h3{margin-bottom:10px;}
.card p{color:var(--muted);font-size:15px;}
.card.risk .ico{background:var(--danger-soft);color:var(--danger);}
.card.warn .ico{background:var(--warn-soft);color:var(--warn);}
.card.ok .ico{background:var(--accent-soft);color:var(--accent);}

.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 13px;
  border-radius:var(--radius-pill);
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:12.5px;
  font-weight:700;
}
.tag.green{background:var(--accent-soft);color:#0b8578;}
.tag.amber{background:var(--warn-soft);color:#a8551a;}
.tag.red{background:var(--danger-soft);color:#b33232;}
.tag.gray{background:var(--bg-soft);color:var(--muted);}

/* ---------- 图文分栏 ---------- */
.split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:52px;
  align-items:center;
}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.split-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}
.split-media .float-card{
  position:absolute;
  left:-18px;
  bottom:-22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px 20px;
  box-shadow:var(--shadow);
  min-width:210px;
}
.split-media .float-card strong{display:block;font-size:22px;color:var(--ink);letter-spacing:-.02em;}
.split-media .float-card small{color:var(--muted);font-size:13px;}
.split-body h2{margin-bottom:16px;}
.split-body p{color:var(--muted);margin-bottom:16px;}
.list-check{display:grid;gap:12px;margin-top:22px;}
.list-check li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--ink-2);}
.list-check li i{color:var(--accent);margin-top:6px;font-size:14px;}
.list-check li b{color:var(--ink);}

/* ---------- 步骤流程 ---------- */
.steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  counter-reset:step;
}
.step{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px 22px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease;
}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.step-num{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
  font-weight:800;
  font-size:15px;
  margin-bottom:16px;
}
.step::before{
  content:"";
  position:absolute;
  top:48px;
  right:-11px;
  width:22px;
  height:2px;
  background:var(--line-strong);
}
.step:last-child::before{display:none;}
.step h3{margin-bottom:8px;font-size:17px;}
.step p{font-size:14.5px;color:var(--muted);}
.step .tag{margin-top:14px;}

/* ---------- 清单表格区 ---------- */
.panel{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(24px,3.4vw,44px);
  box-shadow:var(--shadow-sm);
}
.check-rows{display:grid;gap:2px;margin-top:8px;}
.check-row{
  display:grid;
  grid-template-columns:180px 1fr auto;
  gap:18px;
  align-items:center;
  padding:18px 8px;
  border-bottom:1px solid var(--line);
  transition:background .2s ease;
  border-radius:8px;
}
.check-row:last-child{border-bottom:none;}
.check-row:hover{background:var(--surface-2);}
.check-row .label{font-weight:700;color:var(--ink);font-size:15.5px;}
.check-row .desc{color:var(--muted);font-size:14.5px;}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;}
.faq details{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:0 24px;
  box-shadow:var(--shadow-sm);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.faq details[open]{border-color:#c3d4f6;box-shadow:var(--shadow);}
.faq summary{
  list-style:none;
  cursor:pointer;
  padding:20px 0;
  font-size:16.5px;
  font-weight:700;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .chev{
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--bg-soft);
  color:var(--muted);
  font-size:12px;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.faq details[open] summary .chev{transform:rotate(180deg);background:var(--primary-soft);color:var(--primary);}
.faq .answer{padding:0 0 22px;color:var(--muted);font-size:15.5px;max-width:900px;}

/* ---------- CTA ---------- */
.cta{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  padding:clamp(34px,5vw,64px);
  background-image:
    linear-gradient(120deg,rgba(11,21,38,.96) 0%,rgba(14,48,96,.92) 58%,rgba(11,120,110,.85) 100%),
    url('/assets/images/backpic/back-3.png');
  background-size:cover;
  background-position:center;
  color:#fff;
  box-shadow:var(--shadow-lg);
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:36px;
  align-items:center;
}
.cta h2{color:#fff;margin-bottom:14px;}
.cta p{color:rgba(219,231,248,.88);font-size:16px;max-width:640px;}
.cta-actions{display:flex;flex-direction:column;gap:12px;}
.cta-actions .btn{width:100%;}
.cta-note{font-size:13px;color:rgba(199,215,238,.7);margin-top:6px;}

/* ---------- 提示条 ---------- */
.notice{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px 24px;
  border-radius:var(--radius);
  background:var(--warn-soft);
  border:1px solid #f2d8b4;
  color:#8a4a12;
  font-size:15px;
}
.notice i{font-size:18px;margin-top:4px;color:var(--warn);}

/* ---------- 页脚 ---------- */
.site-footer{
  margin-top:var(--sp-7);
  background:#0a1425;
  color:#b9c7dc;
  padding:64px 0 28px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:38px;
  padding-bottom:44px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  font-size:17px;
  font-weight:800;
  color:#fff;
  margin-bottom:16px;
}
.footer-brand .mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);
  color:#fff;
  font-size:15px;
}
.site-footer p{font-size:14.5px;line-height:1.8;color:#9fb0c8;margin:0;}
.site-footer h4{
  color:#fff;
  font-size:14.5px;
  font-weight:700;
  letter-spacing:.04em;
  margin-bottom:18px;
}
.footer-links{display:grid;gap:11px;}
.footer-links a{color:#9fb0c8;font-size:14.5px;}
.footer-links a:hover{color:#fff;}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding-top:24px;
  font-size:13.5px;
  color:#8195b0;
}
.footer-bottom .dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  margin-right:8px;
  vertical-align:middle;
}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .split{grid-template-columns:1fr;gap:40px;}
  .split.reverse .split-media{order:0;}
  .cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .step::before{display:none;}
  .cta{grid-template-columns:1fr;gap:28px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .check-row{grid-template-columns:1fr;gap:8px;}
}
@media (max-width:768px){
  .site-header{padding:10px 14px 8px;}
  .dock{flex-wrap:wrap;border-radius:24px;padding:12px 14px;gap:12px;}
  .nav{
    order:3;
    width:100%;
    margin-left:0;
    overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none;}
  .dock-cta{margin-left:auto;padding:9px 16px;font-size:13.5px;}
  .section{padding:56px 0;}
  .cols-3,.cols-4{grid-template-columns:1fr;}
  .hero{margin:8px 14px 0;border-radius:20px;}
  .hero-facts{grid-template-columns:1fr 1fr;gap:18px;}
  .split-media .float-card{position:static;margin-top:16px;left:0;bottom:0;}
}
@media (max-width:520px){
  .container{padding:0 16px;}
  .dock{padding:12px;}
  .logo{font-size:15px;}
  .logo .mark{width:30px;height:30px;font-size:13px;border-radius:10px;}
  .nav a{padding:8px 12px;font-size:13.5px;}
  .dock-cta{display:none;}
  .btn{width:100%;padding:13px 20px;}
  .hero-actions{gap:10px;}
  .hero-facts{grid-template-columns:1fr;gap:14px;}
  .card{padding:22px 18px;}
  .panel{padding:22px 18px;}
  .faq details{padding:0 18px;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .cta{border-radius:18px;}
}
