/* roulang page: index */
:root{
  --bg-0:#05080F;
  --bg-1:#0A1120;
  --bg-2:#0E1626;
  --brand:#1E3C8C;
  --accent:#2EE6C8;
  --cta:#FFB443;
  --text:#E8EEF9;
  --text-2:#9FAFCC;
  --text-3:#6C7C99;
  --line:rgba(120,170,255,.14);
  --line-glow:rgba(46,230,200,.38);
  --danger:#FF6B6B;
  --success:#3ED598;
  --r-card:18px;
  --r-sm:12px;
  --r-img:14px;
  --r-btn:10px;
  --shadow:0 10px 30px rgba(3,8,20,.55);
  --t:180ms cubic-bezier(.2,.6,.3,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--bg-0);
  background-image:
    linear-gradient(rgba(120,170,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,170,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  color:var(--text);
  font-family:"HarmonyOS Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.2px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color var(--t);}
a:hover{color:var(--accent);}
button{font-family:inherit;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;letter-spacing:-.2px;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
::selection{background:rgba(46,230,200,.28);color:#fff;}
.container{max-width:1240px;padding-left:24px;padding-right:24px;margin:0 auto;}
@media (min-width:1200px){.container{padding-left:32px;padding-right:32px;}}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1040;height:76px;
  background:rgba(5,8,15,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background var(--t),border-color var(--t);
}
.site-header.is-scrolled{
  background:rgba(5,8,15,.92);
  border-bottom:1px solid var(--line);
}
.nav-shell{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;}
.brand-mark{
  width:40px;height:40px;border-radius:12px;flex:0 0 40px;
  background:linear-gradient(150deg,rgba(30,60,140,.95),rgba(46,230,200,.22));
  border:1px solid rgba(46,230,200,.34);
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.brand-mark svg{width:22px;height:22px;}
.brand-text{font-size:17px;font-weight:700;letter-spacing:.4px;color:var(--text);white-space:nowrap;}
.brand:hover .brand-text{color:var(--accent);}
.nav-links{display:flex;align-items:center;gap:6px;}
.nav-link{
  position:relative;display:inline-flex;align-items:center;height:44px;padding:0 14px;
  font-size:15px;color:var(--text-2);border-radius:999px;transition:color var(--t),background var(--t);
}
.nav-link::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform var(--t);
  opacity:.9;
}
.nav-link:hover{color:var(--text);}
.nav-link:hover::after{transform:scaleX(1);}
.nav-link.active{color:var(--accent);background:rgba(46,230,200,.12);}
.nav-link.active::after{transform:scaleX(0);}
.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-burger{
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:rgba(14,22,38,.7);display:inline-flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0;
}
.nav-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text-2);transition:transform var(--t),opacity var(--t);}
.nav-burger:hover span{background:var(--accent);}
.btn-cta,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--r-btn);
  font-size:15px;font-weight:600;letter-spacing:.3px;border:1px solid transparent;
  cursor:pointer;transition:background var(--t),box-shadow var(--t),transform var(--t),border-color var(--t),color var(--t);
}
.btn-cta{
  background:var(--cta);color:#0A0F1A;border-color:rgba(255,180,67,.6);
  box-shadow:0 6px 18px rgba(255,180,67,.18);
}
.btn-cta:hover{background:#FFC163;color:#0A0F1A;box-shadow:0 8px 26px rgba(255,180,67,.32);transform:translateY(-1px);}
.btn-cta:active{transform:translateY(0);box-shadow:inset 0 1px 3px rgba(0,0,0,.28);}
.btn-ghost{
  background:transparent;color:var(--accent);border-color:var(--line-glow);
}
.btn-ghost:hover{background:rgba(46,230,200,.10);color:var(--accent);border-color:var(--accent);}
.btn-cta:focus-visible,.btn-ghost:focus-visible,.nav-link:focus-visible,.nav-burger:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;
}
.btn-lg{height:48px;padding:0 26px;font-size:16px;}

/* ---------- 移动端抽屉 ---------- */
.offcanvas.mobile-drawer{
  background:#060A14;color:var(--text);width:min(88vw,360px);
  border-right:1px solid var(--line);
}
.mobile-drawer .offcanvas-header{
  padding:22px 22px 12px;border-bottom:1px solid var(--line);
}
.mobile-drawer .drawer-title{font-size:16px;font-weight:700;color:var(--text);}
.mobile-drawer .btn-close{filter:invert(1) grayscale(1) opacity(.7);}
.drawer-links{padding:12px 0;}
.drawer-links a{
  display:flex;align-items:center;justify-content:space-between;
  min-height:52px;padding:0 22px;font-size:16px;color:var(--text-2);
  border-bottom:1px solid rgba(120,170,255,.07);
}
.drawer-links a:hover,.drawer-links a.active{color:var(--accent);background:rgba(46,230,200,.07);}
.drawer-links a i{font-style:normal;color:var(--text-3);font-size:14px;}
.drawer-foot{padding:18px 22px 26px;}
.drawer-foot .btn-cta{width:100%;}
.drawer-note{margin-top:14px;font-size:13px;line-height:1.7;color:var(--text-3);}

/* ---------- 通用区块 ---------- */
main{padding-top:76px;}
.section{padding:96px 0;position:relative;}
@media (max-width:991px){.section{padding:72px 0;}}
@media (max-width:767px){.section{padding:56px 0;}}
.section-head{max-width:760px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.h2{
  position:relative;font-size:clamp(24px,2.8vw,36px);line-height:1.28;
  padding-top:18px;
}
.h2::before{
  content:"";position:absolute;top:0;left:0;width:28px;height:4px;border-radius:2px;background:var(--accent);
}
.section-head.center .h2{padding-top:20px;}
.section-head.center .h2::before{left:50%;transform:translateX(-50%);}
.section-sub{margin-top:14px;font-size:15px;line-height:1.85;color:var(--text-2);max-width:760px;}
.section-head.center .section-sub{margin-left:auto;margin-right:auto;}
.badge-chip{
  display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 14px;border-radius:999px;
  font-size:13px;font-weight:600;letter-spacing:.3px;
  color:var(--accent);background:rgba(46,230,200,.12);border:1px solid rgba(46,230,200,.26);
}
.arrow-link{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent);
  min-height:44px;
}
.arrow-link .arw{transition:transform var(--t);display:inline-block;}
.arrow-link:hover .arw{transform:translateX(4px);}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:76px 0 104px;
  background-image:
    linear-gradient(180deg,rgba(5,8,15,.90) 0%,rgba(5,8,15,.80) 45%,rgba(5,8,15,.97) 100%),
    url('/assets/images/backpic/back-2.png');
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--line);
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;
  background:var(--bg-0);
  clip-path:polygon(0 100%,100% 12%,100% 100%);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center;position:relative;z-index:2;}
.hero-copy{grid-column:span 7;}
.hero-panel{grid-column:span 5;}
.hero h1{
  font-size:clamp(32px,4.4vw,56px);line-height:1.18;font-weight:700;letter-spacing:-.5px;
  margin:18px 0 20px;
}
.hero h1 .hl{
  background:linear-gradient(180deg,transparent 62%,rgba(46,230,200,.28) 62%);
  padding:0 2px;
}
.hero-lead{font-size:17px;line-height:1.85;color:var(--text-2);max-width:600px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.hero-points{
  margin-top:18px;font-size:14px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:6px 10px;
}
.hero-points span{display:inline-flex;align-items:center;gap:8px;}
.hero-points span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.8;}
.hero-panel{
  position:relative;border-radius:var(--r-card);overflow:hidden;
  background:rgba(10,17,32,.62);
  border:1px solid var(--line);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.08);
  padding:28px 26px;
}
.panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;z-index:0;
}
.hero-panel::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(150deg,rgba(6,10,20,.86),rgba(10,17,32,.94));
}
.panel-inner{position:relative;z-index:2;}
.panel-title{font-size:14px;letter-spacing:1px;color:var(--text-3);font-weight:600;}
.panel-item{padding:18px 0;border-bottom:1px solid rgba(120,170,255,.10);}
.panel-item:last-child{border-bottom:none;padding-bottom:4px;}
.panel-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.panel-label{font-size:14px;color:var(--text-2);}
.panel-value{
  font-family:"Barlow","DIN Alternate",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;color:var(--text);
}
.panel-value small{font-size:13px;color:var(--text-3);font-weight:500;margin-left:3px;}
.panel-bar{margin-top:12px;height:4px;border-radius:4px;background:rgba(120,170,255,.14);overflow:hidden;}
.panel-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),rgba(46,230,200,.35));}
.panel-foot{margin-top:16px;font-size:13px;line-height:1.7;color:var(--text-3);}
@media (max-width:991px){
  .hero-copy,.hero-panel{grid-column:span 12;}
  .hero{padding:56px 0 88px;}
}

/* ---------- KPI ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.kpi-card{
  position:relative;border-radius:var(--r-card);padding:26px 24px 24px;
  background:rgba(12,20,36,.60);
  border:1px solid var(--line);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform var(--t),border-color var(--t),box-shadow var(--t);
}
.kpi-card:hover{transform:translateY(-2px);border-color:var(--line-glow);box-shadow:0 16px 36px rgba(3,8,20,.62);}
.kpi-icon{
  position:absolute;top:22px;right:22px;width:32px;height:32px;border-radius:10px;
  border:1px solid rgba(46,230,200,.26);display:flex;align-items:center;justify-content:center;color:var(--accent);
}
.kpi-icon svg{width:17px;height:17px;}
.kpi-label{font-size:13px;letter-spacing:.6px;color:var(--text-3);font-weight:600;}
.kpi-num{
  margin-top:14px;font-family:"Barlow","DIN Alternate",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;font-size:44px;line-height:1.1;font-weight:700;color:var(--text);
}
.kpi-num span{font-size:14px;color:var(--text-3);font-weight:500;margin-left:6px;font-family:inherit;}
.kpi-desc{margin-top:10px;font-size:14px;line-height:1.75;color:var(--text-2);}
@media (max-width:991px){.kpi-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media (max-width:575px){.kpi-grid{gap:16px;}.kpi-num{font-size:36px;}.kpi-card{padding:22px 18px;}}

/* ---------- Bento 服务矩阵 ---------- */
.bento-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
.bento-card{
  position:relative;border-radius:var(--r-card);padding:30px 28px;
  background:var(--bg-1);border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform var(--t),border-color var(--t),box-shadow var(--t);
  overflow:hidden;display:flex;flex-direction:column;
}
.bento-card::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity var(--t);pointer-events:none;
  background:radial-gradient(circle at 80% 0%,rgba(46,230,200,.14),transparent 62%);
}
.bento-card:hover{transform:translateY(-3px);border-color:var(--line-glow);box-shadow:0 18px 40px rgba(3,8,20,.66);}
.bento-card:hover::after{opacity:1;}
.bento-wide{grid-column:span 3;}
.bento-small{grid-column:span 2;padding:26px 24px;}
.bento-figure{
  position:relative;border-radius:var(--r-img);overflow:hidden;margin-bottom:22px;aspect-ratio:16/9;
  border:1px solid rgba(120,170,255,.10);
}
.bento-figure img{width:100%;height:100%;object-fit:cover;transition:transform 320ms cubic-bezier(.2,.6,.3,1);}
.bento-card:hover .bento-figure img{transform:scale(1.03);}
.bento-icon{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(30,60,140,.55);border:1px solid rgba(46,230,200,.24);color:var(--accent);margin-bottom:18px;
}
.bento-icon svg{width:22px;height:22px;}
.bento-card h3{font-size:20px;line-height:1.4;font-weight:600;margin-bottom:12px;}
.bento-card p{font-size:15px;line-height:1.85;color:var(--text-2);}
.bento-card .arrow-link{margin-top:auto;padding-top:18px;}
@media (max-width:991px){
  .bento-wide{grid-column:span 6;}
  .bento-small{grid-column:span 3;}
}
@media (max-width:767px){
  .bento-small{grid-column:span 6;}
  .bento-grid{gap:18px;}
}

/* ---------- 对比 ---------- */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.compare-col{
  border-radius:var(--r-card);padding:30px 28px;border:1px solid var(--line);
  background:rgba(10,17,32,.72);box-shadow:var(--shadow);
}
.compare-col.accent{border-color:var(--line-glow);background:rgba(12,25,42,.86);box-shadow:0 14px 34px rgba(3,8,20,.6),0 0 0 1px rgba(46,230,200,.10);}
.compare-title{font-size:17px;font-weight:700;margin-bottom:6px;}
.compare-note{font-size:13px;color:var(--text-3);margin-bottom:22px;}
.compare-row{margin-bottom:20px;}
.compare-row:last-child{margin-bottom:0;}
.compare-row-top{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-2);margin-bottom:9px;}
.compare-row-top b{color:var(--text);font-weight:600;}
.compare-bar{height:8px;border-radius:4px;background:rgba(120,170,255,.10);overflow:hidden;}
.compare-bar i{display:block;height:100%;border-radius:4px;background:rgba(108,124,153,.55);}
.compare-col.accent .compare-bar i{background:linear-gradient(90deg,var(--accent),rgba(46,230,200,.45));}
@media (max-width:767px){.compare-grid{grid-template-columns:1fr;gap:18px;}.compare-col{padding:24px 20px;}}

/* ---------- 资讯列表 ---------- */
.news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-card{
  display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;
  background:var(--bg-1);border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform var(--t),border-color var(--t),box-shadow var(--t);
}
.news-card:hover{transform:translateY(-2px);border-color:var(--line-glow);box-shadow:0 16px 36px rgba(3,8,20,.66);}
.news-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-2);}
.news-cover img{width:100%;height:100%;object-fit:cover;transition:transform 320ms cubic-bezier(.2,.6,.3,1);}
.news-card:hover .news-cover img{transform:scale(1.03);}
.news-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1;}
.news-cat{align-self:flex-start;margin-bottom:14px;}
.news-title{
  font-size:18px;line-height:1.5;font-weight:600;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.news-sum{
  font-size:14px;line-height:1.8;color:var(--text-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.news-meta{
  margin-top:18px;padding-top:16px;border-top:1px solid rgba(120,170,255,.10);
  font-size:13px;color:var(--text-3);display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.news-meta .read{color:var(--accent);font-weight:600;}
.empty-state{
  border:1px dashed rgba(120,170,255,.26);border-radius:var(--r-card);
  background:rgba(10,17,32,.55);padding:52px 28px;text-align:center;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.empty-state .ico{
  width:52px;height:52px;border-radius:14px;margin:0 auto 18px;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text-3);
}
.empty-state p{font-size:15px;color:var(--text-2);margin-bottom:20px;}
@media (max-width:991px){.news-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media (max-width:767px){.news-grid{grid-template-columns:1fr;}.news-head{flex-direction:column;align-items:flex-start;}}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:920px;margin:0 auto;}
.accordion-item{
  background:rgba(12,20,36,.58);border:1px solid var(--line);border-radius:14px !important;
  margin-bottom:12px;overflow:hidden;
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  transition:border-color var(--t);
}
.accordion-item:hover{border-color:rgba(46,230,200,.24);}
.accordion-button{
  background:transparent;color:var(--text);font-size:17px;font-weight:600;line-height:1.6;
  padding:20px 24px;box-shadow:none;border-radius:14px !important;
}
.accordion-button:not(.collapsed){background:rgba(46,230,200,.05);color:var(--text);box-shadow:none;}
.accordion-button:focus{box-shadow:none;border-color:transparent;outline:2px solid rgba(46,230,200,.4);outline-offset:-2px;}
.accordion-button::after{
  content:"";width:16px;height:16px;flex:0 0 16px;
  background:
    linear-gradient(var(--accent),var(--accent)) center/16px 2px no-repeat,
    linear-gradient(var(--accent),var(--accent)) center/2px 16px no-repeat;
  transition:transform var(--t);margin-left:auto;
}
.accordion-button:not(.collapsed)::after{transform:rotate(45deg);}
.accordion-body{
  padding:4px 24px 22px 24px;font-size:15px;line-height:1.9;color:var(--text-2);
  border-left:3px solid transparent;
}
.accordion-collapse.show .accordion-body{border-left-color:var(--accent);}

/* ---------- 表单 ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start;}
.contact-copy{grid-column:span 5;}
.contact-form-wrap{grid-column:span 7;}
.contact-list{margin-top:24px;display:flex;flex-direction:column;gap:14px;}
.contact-list li{display:flex;gap:12px;font-size:15px;line-height:1.8;color:var(--text-2);}
.contact-list li::before{
  content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:11px;
}
.privacy-note{margin-top:22px;font-size:13px;line-height:1.8;color:var(--text-3);}
.form-shell{
  border-radius:var(--r-card);padding:30px 28px;
  background:rgba(12,20,36,.66);border:1px solid rgba(46,230,200,.22);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 18px 40px rgba(3,8,20,.62),inset 0 1px 0 rgba(255,255,255,.07);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:15px;font-weight:600;letter-spacing:.2px;margin-bottom:8px;color:var(--text);}
.form-control,.form-select{
  width:100%;min-height:46px;background:#0B1220;border:1px solid var(--line);border-radius:var(--r-btn);
  color:var(--text);font-size:15px;padding:10px 14px;transition:border-color var(--t),box-shadow var(--t);
  box-shadow:none;
}
.form-control::placeholder{color:var(--text-3);}
.form-control:focus,.form-select:focus{
  background:#0B1220;border-color:var(--accent);color:var(--text);
  box-shadow:0 0 0 3px rgba(46,230,200,.18);outline:none;
}
.form-select option{background:#0B1220;color:var(--text);}
textarea.form-control{min-height:120px;resize:vertical;line-height:1.8;}
.form-tip{font-size:12px;color:var(--text-3);margin-top:10px;line-height:1.7;}
.form-submit{display:flex;justify-content:flex-end;margin-top:6px;}
.form-submit .btn-cta{min-width:200px;}
@media (max-width:991px){
  .contact-copy,.contact-form-wrap{grid-column:span 12;}
  .form-row{grid-template-columns:1fr;}
  .form-submit .btn-cta{width:100%;}
}

/* ---------- CTA 条 ---------- */
.cta-band{
  position:relative;border-radius:var(--r-card);overflow:hidden;
  border:1px solid rgba(46,230,200,.22);
  background:
    linear-gradient(120deg,rgba(10,17,32,.94),rgba(30,60,140,.55)),
    url('/assets/images/backpic/back-3.png') center/cover no-repeat;
  padding:48px 44px;display:flex;align-items:center;justify-content:space-between;gap:32px;
  box-shadow:var(--shadow);
}
.cta-band h2{font-size:clamp(22px,2.4vw,30px);line-height:1.3;}
.cta-band p{margin-top:12px;font-size:15px;color:var(--text-2);max-width:560px;line-height:1.85;}
.cta-band .btn-ghost{white-space:nowrap;}
@media (max-width:767px){.cta-band{flex-direction:column;align-items:flex-start;padding:32px 24px;}}

/* ---------- 页脚 ---------- */
.site-footer{
  position:relative;background:#04070E;padding:72px 0 0;margin-top:0;
}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.5),transparent);
}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;}
.footer-brand .brand{margin-bottom:18px;}
.footer-desc{font-size:14px;line-height:1.9;color:var(--text-3);max-width:320px;}
.footer-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:18px;letter-spacing:.4px;}
.footer-links{display:flex;flex-direction:column;gap:12px;}
.footer-links a{font-size:14px;color:var(--text-3);min-height:22px;display:inline-flex;align-items:center;}
.footer-links a:hover{color:var(--accent);}
.footer-contact p{font-size:14px;line-height:1.9;color:var(--text-3);margin-bottom:10px;}
.footer-contact .btn-ghost{height:40px;padding:0 18px;font-size:14px;margin-top:8px;}
.footer-bottom{
  border-top:1px solid rgba(120,170,255,.10);padding:24px 0 32px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.footer-bottom p{font-size:14px;color:var(--text-3);}
@media (max-width:991px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media (max-width:575px){.footer-grid{grid-template-columns:1fr;gap:28px;}.site-footer{padding-top:52px;}}

/* roulang page: category1 */
:root{
  --bg-0:#05080F;
  --bg-1:#0A1120;
  --bg-2:#0E1626;
  --brand:#1E3C8C;
  --accent:#2EE6C8;
  --cta:#FFB443;
  --text:#E8EEF9;
  --text-2:#9FAFCC;
  --text-3:#6C7C99;
  --line:rgba(120,170,255,.14);
  --line-glow:rgba(46,230,200,.38);
  --danger:#FF6B6B;
  --success:#3ED598;
  --r-card:18px;
  --r-sm:12px;
  --r-img:14px;
  --r-input:10px;
  --r-btn:10px;
  --shadow:0 10px 30px rgba(3,8,20,.55);
  --t:180ms cubic-bezier(.2,.6,.3,1);
  --font-cn:"HarmonyOS Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-num:"Barlow","DIN Alternate",ui-monospace,SFMono-Regular,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  padding-top:76px;
  background:var(--bg-0);
  color:var(--text);
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color var(--t),border-color var(--t),background var(--t);}
button{font-family:inherit;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.28;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.container{max-width:1240px;padding-left:24px;padding-right:24px;}
@media (min-width:1200px){
  .container{max-width:1240px;padding-left:32px;padding-right:32px;}
}
::selection{background:rgba(46,230,200,.28);color:#fff;}

/* ============ 顶部导航 ============ */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1030;
  height:76px;
  display:flex;
  align-items:center;
  background:rgba(5,8,15,.55);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background var(--t),border-color var(--t);
}
.site-header.is-scrolled{
  background:rgba(5,8,15,.92);
  border-bottom-color:var(--line);
}
.nav-shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
}
.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;}
.brand-mark{
  width:40px;height:40px;
  border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(160deg,rgba(46,230,200,.18),rgba(30,60,140,.55));
  border:1px solid var(--line-glow);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:box-shadow var(--t),transform var(--t);
}
.brand-mark svg{width:22px;height:22px;}
.brand:hover .brand-mark{box-shadow:0 0 0 1px var(--line-glow),0 8px 22px rgba(46,230,200,.16);transform:translateY(-1px);}
.brand-text{font-size:17px;font-weight:700;letter-spacing:.3px;color:var(--text);white-space:nowrap;}
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0;
}
.nav-links .nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:40px;
  padding:0 15px;
  border-radius:999px;
  font-size:15px;
  font-weight:500;
  color:var(--text-2);
  background:transparent;
  transition:color var(--t),background var(--t);
}
.nav-links .nav-link::after{
  content:"";
  position:absolute;
  left:15px;right:15px;bottom:3px;
  height:2px;border-radius:2px;
  background:var(--accent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity var(--t),transform var(--t);
}
.nav-links .nav-link:hover{color:var(--text);}
.nav-links .nav-link:hover::after{opacity:1;transform:scaleX(1);}
.nav-links .nav-link.active{
  color:var(--accent);
  background:rgba(46,230,200,.12);
}
.nav-links .nav-link.active::after{opacity:0;}
.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.icon-btn{
  width:44px;height:44px;
  border-radius:12px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  background:var(--bg-1);
  color:var(--text-2);
  font-size:17px;
  cursor:pointer;
  transition:border-color var(--t),color var(--t),background var(--t);
}
.icon-btn:hover{border-color:var(--line-glow);color:var(--accent);background:var(--bg-2);}
.nav-toggle{
  width:44px;height:44px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--bg-1);
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  cursor:pointer;
  transition:border-color var(--t);
}
.nav-toggle span{
  display:block;width:18px;height:1.8px;border-radius:2px;
  background:var(--text);
  transition:background var(--t);
}
.nav-toggle:hover{border-color:var(--line-glow);}
.nav-toggle:hover span{background:var(--accent);}

/* 移动抽屉 */
.offcanvas.mobile-drawer{
  --bs-offcanvas-width:min(88vw,360px);
  --bs-offcanvas-bg:var(--bg-1);
  --bs-offcanvas-color:var(--text);
  --bs-offcanvas-border-color:var(--line);
  background:var(--bg-1);
  color:var(--text);
  border-left:1px solid var(--line);
}
.mobile-drawer .offcanvas-header{
  padding:18px 22px;
  border-bottom:1px solid var(--line);
}
.mobile-drawer .offcanvas-body{
  padding:12px 22px 28px;
  display:flex;
  flex-direction:column;
}
.drawer-close{
  width:40px;height:40px;
  border-radius:10px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text-2);
  font-size:16px;
  cursor:pointer;
  transition:color var(--t),border-color var(--t);
}
.drawer-close:hover{color:var(--accent);border-color:var(--line-glow);}
.drawer-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:52px;
  padding:0 4px;
  font-size:16px;
  color:var(--text-2);
  border-bottom:1px solid var(--line);
}
.drawer-link i{font-size:14px;color:var(--text-3);}
.drawer-link:hover{color:var(--text);}
.drawer-link.active{color:var(--accent);}
.drawer-link.active i{color:var(--accent);}
.drawer-cta{margin-top:24px;}

/* ============ 按钮 ============ */
.btn-cta,.btn-ghost,.btn-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:44px;
  padding:0 22px;
  border-radius:var(--r-btn);
  font-size:15px;
  font-weight:600;
  letter-spacing:.2px;
  cursor:pointer;
  transition:background var(--t),color var(--t),box-shadow var(--t),transform var(--t),border-color var(--t);
}
.btn-cta{
  background:var(--cta);
  color:#0A0F1A;
  border:1px solid transparent;
}
.btn-cta:hover{background:#FFC266;box-shadow:0 8px 26px rgba(255,180,67,.32);color:#0A0F1A;}
.btn-cta:active{transform:translateY(1px);box-shadow:0 4px 14px rgba(255,180,67,.26);}
.btn-ghost{
  background:transparent;
  color:var(--accent);
  border:1px solid var(--accent);
}
.btn-ghost:hover{background:rgba(46,230,200,.10);color:var(--accent);}
.btn-ghost:active{transform:translateY(1px);}
.btn-line{
  background:transparent;
  color:var(--text-2);
  border:1px solid var(--line);
}
.btn-line:hover{color:var(--text);border-color:var(--line-glow);}
.btn-lg-x{height:48px;padding:0 28px;font-size:16px;}
.arrow-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14.5px;
  font-weight:600;
  color:var(--accent);
}
.arrow-link i{transition:transform var(--t);}
.arrow-link:hover{color:#7CF3E1;}
.arrow-link:hover i{transform:translateX(4px);}

/* ============ 徽章 ============ */
.badge-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:30px;
  padding:0 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.3px;
  color:var(--accent);
  background:rgba(46,230,200,.10);
  border:1px solid rgba(46,230,200,.24);
}

/* ============ 面包屑 ============ */
.breadcrumb-x{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 24px;
  padding:0;
  font-size:13px;
  line-height:1.6;
  color:var(--text-3);
}
.breadcrumb-x li{display:inline-flex;align-items:center;gap:8px;}
.breadcrumb-x a{color:var(--text-2);}
.breadcrumb-x a:hover{color:var(--accent);}
.breadcrumb-x .sep{color:var(--text-3);opacity:.7;}
.breadcrumb-x .current{color:var(--text-3);}

/* ============ Hero ============ */
.cat-hero{
  position:relative;
  padding:56px 0 76px;
  overflow:hidden;
  background:
    radial-gradient(900px 460px at 82% 6%,rgba(30,60,140,.55),transparent 66%),
    radial-gradient(620px 320px at 4% 92%,rgba(46,230,200,.10),transparent 72%),
    var(--bg-0);
}
.cat-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(120,170,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,170,255,.05) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(720px 380px at 60% 30%,#000,transparent 78%);
  mask-image:radial-gradient(720px 380px at 60% 30%,#000,transparent 78%);
  pointer-events:none;
}
.cat-hero .container{position:relative;z-index:2;}
.cat-hero h1{
  font-size:clamp(32px,4.4vw,56px);
  line-height:1.18;
  letter-spacing:-.5px;
  margin:18px 0 16px;
  max-width:640px;
}
.lead-sub{
  font-size:17px;
  line-height:1.85;
  color:var(--text-2);
  max-width:600px;
  margin-bottom:28px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.hero-hint{
  margin-top:18px;
  font-size:14px;
  color:var(--text-3);
  letter-spacing:.2px;
}
.hero-visual{
  position:relative;
  margin:0;
  border-radius:var(--r-card);
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  aspect-ratio:16/11;
  background:var(--bg-1);
}
.hero-visual img{
  width:100%;height:100%;
  object-fit:cover;
  opacity:.55;
}
.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,8,15,.10) 0%,rgba(5,8,15,.82) 84%);
  pointer-events:none;
}
.hero-visual figcaption{
  position:absolute;
  left:20px;right:20px;bottom:18px;
  z-index:2;
  font-size:13.5px;
  line-height:1.75;
  color:var(--text-2);
}

/* ============ 快速索引 ============ */
.quick-index-wrap{
  background:linear-gradient(180deg,rgba(10,17,32,.9),rgba(5,8,15,0));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.quick-index{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:18px 0;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.quick-index::-webkit-scrollbar{display:none;}
.quick-index a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  height:40px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg-1);
  color:var(--text-2);
  font-size:14px;
  white-space:nowrap;
  transition:color var(--t),border-color var(--t),background var(--t);
}
.quick-index a:hover{color:var(--text);border-color:var(--line-glow);}
.quick-index a.active{
  color:var(--accent);
  background:rgba(46,230,200,.12);
  border-color:var(--line-glow);
}

/* ============ 板块 ============ */
.section{padding:96px 0;}
.section-alt{background:linear-gradient(180deg,rgba(10,17,32,.6),rgba(5,8,15,0));}
.section-head{max-width:760px;margin-bottom:44px;}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  letter-spacing:1.4px;
  color:var(--accent);
  text-transform:uppercase;
  margin-bottom:14px;
}
.section-head h2{
  position:relative;
  padding-top:20px;
  font-size:clamp(24px,2.8vw,36px);
  line-height:1.28;
  margin-bottom:14px;
}
.section-head h2::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:28px;height:4px;
  border-radius:2px;
  background:var(--accent);
}
.section-head p{font-size:15px;line-height:1.85;color:var(--text-2);}

/* ============ 图文步骤卡 ============ */
.step-row{
  padding:26px;
  border-radius:var(--r-card);
  background:var(--bg-1);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);
}
.step-row + .step-row{margin-top:20px;}
.step-row:hover{
  border-color:var(--line-glow);
  transform:translateY(-2px);
}
.step-media{
  position:relative;
  border-radius:var(--r-img);
  overflow:hidden;
  aspect-ratio:16/11;
  background:var(--bg-2);
  border:1px solid var(--line);
}
.step-media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform var(--t);
}
.step-row:hover .step-media img{transform:scale(1.04);}
.step-body .num{
  font-family:var(--font-num);
  font-size:13px;
  letter-spacing:2.4px;
  color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.step-body h3{
  font-size:20px;
  margin:8px 0 10px;
}
.step-body p{font-size:15px;line-height:1.9;color:var(--text-2);}
.step-body .tag-line{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  font-size:13px;
  color:var(--text-3);
}
.step-body .tag-line i{color:var(--accent);}

/* ============ 流程条 ============ */
.flow{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:8px;
}
.flow::before{
  content:"";
  position:absolute;
  top:22px;left:10%;right:10%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.5),rgba(46,230,200,.5),transparent);
}
.flow-item{position:relative;z-index:2;}
.flow-dot{
  width:44px;height:44px;
  border-radius:50%;
  display:grid;place-items:center;
  background:var(--bg-1);
  border:1px solid var(--line-glow);
  color:var(--accent);
  font-family:var(--font-num);
  font-size:15px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 6px rgba(5,8,15,.9);
}
.flow-item h3{font-size:18px;margin:18px 0 8px;}
.flow-item p{font-size:14.5px;line-height:1.85;color:var(--text-2);max-width:300px;}

/* ============ FAQ ============ */
.faq-list{display:grid;gap:12px;max-width:900px;}
.faq-item{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:rgba(14,22,38,.72);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color var(--t);
}
.faq-item:hover{border-color:var(--line-glow);}
.faq-item::after{
  content:"";
  position:absolute;
  left:0;top:14px;bottom:14px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--accent);
  opacity:0;
  transition:opacity var(--t);
}
.faq-item:has(.faq-btn[aria-expanded="true"])::after{opacity:1;}
.faq-h{margin:0;font-size:17px;}
.faq-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  background:none;
  border:0;
  color:var(--text);
  font-size:17px;
  font-weight:600;
  line-height:1.55;
  text-align:left;
  cursor:pointer;
  transition:color var(--t);
}
.faq-btn:hover{color:var(--accent);}
.faq-btn[aria-expanded="true"]{color:var(--accent);}
.faq-btn .sign{
  position:relative;
  flex:0 0 24px;
  width:24px;height:24px;
  border-radius:50%;
  border:1px solid var(--line);
  transition:border-color var(--t),transform var(--t);
}
.faq-btn[aria-expanded="true"] .sign{border-color:var(--line-glow);transform:rotate(180deg);}
.faq-btn .sign::before,
.faq-btn .sign::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  background:var(--accent);
  border-radius:2px;
  transition:transform var(--t),opacity var(--t);
}
.faq-btn .sign::before{width:11px;height:1.6px;transform:translate(-50%,-50%);}
.faq-btn .sign::after{width:1.6px;height:11px;transform:translate(-50%,-50%);}
.faq-btn[aria-expanded="true"] .sign::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq-body{
  padding:0 24px 22px;
  max-width:740px;
  font-size:15px;
  line-height:1.9;
  color:var(--text-2);
}

/* ============ CTA 条 ============ */
.cta-band{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:52px 44px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line-glow);
  background:
    linear-gradient(135deg,rgba(30,60,140,.85),rgba(10,17,32,.96));
  box-shadow:var(--shadow);
}
.cta-band::after{
  content:"";
  position:absolute;
  right:-40px;bottom:-60px;
  width:340px;height:340px;
  background:url('/assets/images/coverpic/cover-5.webp') center/cover no-repeat;
  opacity:.14;
  border-radius:24px;
  pointer-events:none;
}
.cta-band > *{position:relative;z-index:2;}
.cta-band h2{
  font-size:clamp(22px,2.4vw,30px);
  margin-bottom:12px;
  max-width:520px;
}
.cta-band p{font-size:15px;line-height:1.85;color:var(--text-2);max-width:560px;}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;}

/* ============ 页脚 ============ */
.site-footer{
  position:relative;
  margin-top:96px;
  background:#04070E;
  padding:72px 0 32px;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.5),transparent);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr 1.35fr;
  gap:40px;
}
.footer-title{
  font-size:15px;
  font-weight:600;
  color:var(--text);
  margin-bottom:16px;
  letter-spacing:.2px;
}
.footer-desc{
  margin-top:16px;
  max-width:340px;
  font-size:14px;
  line-height:1.85;
  color:var(--text-2);
}
.footer-links{display:grid;gap:10px;}
.footer-links a{font-size:14.5px;color:var(--text-2);}
.footer-links a:hover{color:var(--accent);}
.footer-contact p{
  font-size:14px;
  line-height:1.85;
  color:var(--text-2);
  margin-bottom:10px;
}
.footer-contact .btn-ghost{
  height:40px;
  padding:0 18px;
  font-size:14px;
  margin-top:6px;
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--text-3);
}

/* ============ 响应式 ============ */
@media (max-width:1199px){
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:32px;}
  .footer-contact{grid-column:1 / -1;}
}
@media (max-width:991px){
  .section{padding:72px 0;}
  .cat-hero{padding:44px 0 64px;}
  .hero-visual{margin-top:12px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-contact{grid-column:auto;}
}
@media (max-width:767px){
  body{font-size:15px;}
  .section{padding:56px 0;}
  .step-row{padding:20px;}
  .flow{grid-template-columns:1fr;gap:20px;}
  .flow::before{display:none;}
  .flow-item p{max-width:none;}
  .flow-dot{box-shadow:none;}
  .cta-band{padding:36px 24px;}
  .cta-band::after{display:none;}
  .faq-btn{font-size:16px;padding:18px 18px;}
  .faq-body{padding:0 18px 20px;}
  .site-footer{margin-top:56px;padding:56px 0 28px;}
  .footer-bottom{flex-direction:column;}
  .lead-sub{font-size:16px;}
}
@media (max-width:575px){
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn-cta,.hero-actions .btn-ghost{width:100%;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .cat-hero h1{font-size:30px;}
}

/* roulang page: article */
:root {
      --bg-0: #05080F;
      --bg-1: #0A1120;
      --bg-2: #0E1626;
      --brand: #1E3C8C;
      --accent: #2EE6C8;
      --cta: #FFB443;
      --text: #E8EEF9;
      --text-2: #9FAFCC;
      --text-3: #6C7C99;
      --line: rgba(120, 170, 255, 0.14);
      --line-glow: rgba(46, 230, 200, 0.38);
      --danger: #FF6B6B;
      --success: #3ED598;
      --radius: 18px;
      --radius-sm: 12px;
      --shadow: 0 10px 30px rgba(3, 8, 20, 0.55);
      --transition: 180ms cubic-bezier(.2, .6, .3, 1);
      --bs-primary: #2EE6C8;
      --bs-body-bg: #05080F;
      --bs-body-color: #E8EEF9;
      --bs-border-color: rgba(120, 170, 255, 0.14);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      padding-top: 76px;
      font-family: "HarmonyOS Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
      font-size: 16px;
      line-height: 1.9;
      color: var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(30, 60, 140, 0.18), transparent 30%),
        radial-gradient(circle at 88% 30%, rgba(46, 230, 200, 0.05), transparent 28%),
        var(--bg-0);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
    }

    a:hover {
      color: var(--accent);
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    button {
      cursor: pointer;
    }

    p {
      margin-top: 0;
      margin-bottom: 1.1em;
    }

    ::selection {
      color: #06110F;
      background: var(--accent);
    }

    :focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 3px;
    }

    .container {
      width: 100%;
      max-width: 1240px;
      margin: 0 auto;
      padding-left: 24px;
      padding-right: 24px;
    }

    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1050;
      height: 76px;
      display: flex;
      align-items: center;
      background: rgba(5, 8, 15, 0.55);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid transparent;
      transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);
    }

    .site-header.scrolled {
      background: rgba(5, 8, 15, 0.92);
      border-bottom-color: var(--line);
      box-shadow: 0 8px 26px rgba(0, 0, 0, 0.22);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      flex: 0 0 auto;
      line-height: 1;
      color: var(--text);
      font-weight: 700;
    }

    .brand:hover {
      color: var(--text);
    }

    .brand-mark {
      width: 40px;
      height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      background: linear-gradient(145deg, rgba(30, 60, 140, 0.72), rgba(14, 22, 38, 0.9));
      border: 1px solid rgba(46, 230, 200, 0.28);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 20px rgba(0, 0, 0, 0.25);
    }

    .brand-mark svg {
      width: 24px;
      height: 24px;
      display: block;
    }

    .brand-text {
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.1px;
      white-space: nowrap;
    }

    .nav-links {
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 auto;
    }

    .nav-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 14px;
      border-radius: 999px;
      color: var(--text-2);
      font-size: 15px;
      font-weight: 500;
      line-height: 1;
      white-space: nowrap;
    }

    .nav-link::after {
      content: "";
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 5px;
      height: 2px;
      border-radius: 2px;
      background: var(--accent);
      opacity: 0;
      transform: scaleX(0.4);
      transition: opacity var(--transition), transform var(--transition);
    }

    .nav-link:hover {
      color: var(--text);
    }

    .nav-link:hover::after {
      opacity: 1;
      transform: scaleX(1);
    }

    .nav-link.active {
      color: var(--accent);
      background: rgba(46, 230, 200, 0.12);
    }

    .nav-link.active::after {
      opacity: 0;
      transform: scaleX(0);
    }

    .header-actions {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
    }

    .btn-cta,
    .btn-ghost,
    .btn-soft {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 0 22px;
      border-radius: 10px;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap;
      border: 1px solid transparent;
      transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);
    }

    .btn-cta {
      color: #0A0F1A;
      background: var(--cta);
      border-color: rgba(255, 180, 67, 0.85);
      box-shadow: 0 0 0 rgba(255, 180, 67, 0);
    }

    .btn-cta:hover {
      color: #0A0F1A;
      filter: brightness(1.06);
      box-shadow: 0 8px 26px rgba(255, 180, 67, 0.32);
      transform: translateY(-1px);
    }

    .btn-cta:active {
      transform: translateY(0);
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18);
    }

    .btn-ghost {
      color: var(--accent);
      background: transparent;
      border-color: var(--accent);
    }

    .btn-ghost:hover {
      color: var(--accent);
      background: rgba(46, 230, 200, 0.10);
      border-color: var(--accent);
      transform: translateY(-1px);
    }

    .btn-soft {
      color: var(--text);
      background: rgba(255, 255, 255, 0.035);
      border-color: var(--line);
    }

    .btn-soft:hover {
      color: var(--accent);
      background: rgba(46, 230, 200, 0.08);
      border-color: var(--line-glow);
      transform: translateY(-1px);
    }

    .btn-sm {
      min-height: 40px;
      padding: 0 18px;
      font-size: 14px;
    }

    .icon-btn {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      color: var(--text-2);
      background: rgba(255, 255, 255, 0.025);
      border: 1px solid var(--line);
      border-radius: 10px;
      transition: color var(--transition), border-color var(--transition), background var(--transition);
    }

    .icon-btn:hover {
      color: var(--accent);
      border-color: var(--line-glow);
      background: rgba(46, 230, 200, 0.08);
    }

    .icon-btn svg {
      width: 20px;
      height: 20px;
    }

    .menu-toggle {
      width: 44px;
      height: 44px;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      padding: 0;
      background: rgba(255, 255, 255, 0.025);
      border: 1px solid var(--line);
      border-radius: 10px;
      color: var(--text);
    }

    .burger-line {
      display: block;
      width: 20px;
      height: 2px;
      border-radius: 2px;
      background: currentColor;
      transition: transform var(--transition), opacity var(--transition);
    }

    body.nav-open .burger-line:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    body.nav-open .burger-line:nth-child(2) {
      opacity: 0;
    }

    body.nav-open .burger-line:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .offcanvas-backdrop.show {
      opacity: 0.72;
    }

    .mobile-drawer {
      --bs-offcanvas-width: 340px;
      color: var(--text);
      background: var(--bg-1);
      border-left: 1px solid var(--line);
      box-shadow: -20px 0 50px rgba(0, 0, 0, 0.4);
    }

    .mobile-drawer .offcanvas-header {
      padding: 20px 22px;
      border-bottom: 1px solid var(--line);
    }

    .drawer-close {
      width: 40px;
      height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      color: var(--text-2);
      background: rgba(255, 255, 255, 0.035);
      border: 1px solid var(--line);
      border-radius: 10px;
      font-size: 24px;
      line-height: 1;
    }

    .drawer-close:hover {
      color: var(--accent);
      border-color: var(--line-glow);
    }

    .mobile-drawer .offcanvas-body {
      display: flex;
      flex-direction: column;
      padding: 20px 22px 28px;
    }

    .mobile-nav {
      display: flex;
      flex-direction: column;
    }

    .mobile-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 52px;
      padding: 0 2px;
      color: var(--text-2);
      font-size: 16px;
      font-weight: 500;
      border-bottom: 1px solid rgba(120, 170, 255, 0.09);
    }

    .mobile-link span {
      color: var(--text-3);
      font-size: 16px;
    }

    .mobile-link:hover,
    .mobile-link.active {
      color: var(--accent);
      border-bottom-color: rgba(46, 230, 200, 0.22);
    }

    .mobile-link:hover span,
    .mobile-link.active span {
      color: var(--accent);
    }

    .breadcrumb-line {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 9px;
      margin-bottom: 26px;
      color: var(--text-3);
      font-size: 13px;
      line-height: 1.6;
    }

    .breadcrumb-line a {
      color: var(--text-2);
    }

    .breadcrumb-line a:hover {
      color: var(--accent);
    }

    .breadcrumb-line .sep {
      color: rgba(108, 124, 153, 0.72);
    }

    .breadcrumb-line .current {
      color: var(--text-3);
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .article-hero {
      position: relative;
      padding: 54px 0 50px;
      background:
        linear-gradient(90deg, rgba(5, 8, 15, 0.97) 0%, rgba(5, 8, 15, 0.84) 55%, rgba(5, 8, 15, 0.96) 100%),
        url('/assets/images/backpic/back-2.png') center / cover no-repeat;
      border-bottom: 1px solid var(--line);
      overflow: hidden;
    }

    .article-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(120, 170, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 255, 0.045) 1px, transparent 1px);
      background-size: 42px 42px;
      opacity: 0.5;
      pointer-events: none;
    }

    .article-hero .container {
      position: relative;
      z-index: 1;
    }

    .article-head {
      max-width: 960px;
    }

    .badge-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 30px;
      padding: 0 13px;
      margin-bottom: 16px;
      color: var(--accent);
      background: rgba(46, 230, 200, 0.10);
      border: 1px solid rgba(46, 230, 200, 0.22);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      line-height: 1;
    }

    .article-head h1 {
      max-width: 980px;
      margin: 0 0 20px;
      color: var(--text);
      font-size: clamp(30px, 4.2vw, 52px);
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.5px;
      overflow-wrap: anywhere;
    }

    .article-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 20px;
      color: var(--text-3);
      font-size: 13px;
      line-height: 1.7;
    }

    .article-meta span {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .article-meta span::before {
      content: "";
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--accent);
      opacity: 0.8;
    }

    .section {
      padding: 72px 0;
    }

    .article-section {
      padding-top: 56px;
      padding-bottom: 72px;
    }

    .article-card {
      padding: 34px 36px;
      background: var(--bg-1);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .reading-note {
      margin-bottom: 28px;
      padding: 18px 20px;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.8;
      background: rgba(46, 230, 200, 0.055);
      border: 1px solid rgba(46, 230, 200, 0.20);
      border-radius: 14px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    }

    .reading-note strong {
      color: var(--text);
      font-weight: 600;
    }

    .article-content {
      max-width: 760px;
      color: var(--text);
      font-size: 16px;
      line-height: 1.95;
      overflow-wrap: anywhere;
    }

    .article-content > :first-child {
      margin-top: 0;
    }

    .article-content > :last-child {
      margin-bottom: 0;
    }

    .article-content p {
      margin: 0 0 1.2em;
      color: var(--text);
    }

    .article-content h2 {
      margin: 40px 0 16px;
      color: var(--text);
      font-size: clamp(24px, 2.6vw, 32px);
      font-weight: 700;
      line-height: 1.32;
      letter-spacing: -0.2px;
    }

    .article-content h2::before {
      content: "";
      display: block;
      width: 28px;
      height: 4px;
      margin-bottom: 12px;
      border-radius: 2px;
      background: var(--accent);
      box-shadow: 0 0 14px rgba(46, 230, 200, 0.3);
    }

    .article-content h3 {
      margin: 30px 0 12px;
      color: var(--text);
      font-size: 22px;
      font-weight: 600;
      line-height: 1.4;
    }

    .article-content h4 {
      margin: 24px 0 10px;
      color: var(--text);
      font-size: 17px;
      font-weight: 600;
      line-height: 1.5;
    }

    .article-content a {
      color: var(--accent);
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }

    .article-content a:hover {
      color: #7ff5e4;
    }

    .article-content ul,
    .article-content ol {
      margin: 0 0 1.2em;
      padding-left: 0;
    }

    .article-content ul {
      list-style: none;
    }

    .article-content ul li {
      position: relative;
      margin: 0 0 10px;
      padding-left: 24px;
      color: var(--text);
    }

    .article-content ul li::before {
      content: "";
      position: absolute;
      top: 0.82em;
      left: 2px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent);
    }

    .article-content ol {
      padding-left: 24px;
    }

    .article-content ol li {
      margin: 0 0 10px;
      padding-left: 4px;
    }

    .article-content ol li::marker {
      color: var(--accent);
      font-weight: 600;
    }

    .article-content blockquote {
      margin: 24px 0;
      padding: 18px 22px;
      color: var(--text-2);
      background: rgba(255, 255, 255, 0.028);
      border-left: 3px solid var(--accent);
      border-radius: 0 14px 14px 0;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
    }

    .article-content blockquote p:last-child {
      margin-bottom: 0;
    }

    .article-content img {
      width: auto;
      max-width: 100%;
      margin: 24px auto;
      border-radius: 14px;
      border: 1px solid var(--line);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
    }

    .article-content figure {
      margin: 24px 0;
    }

    .article-content figcaption {
      margin-top: 10px;
      color: var(--text-3);
      font-size: 13px;
      line-height: 1.7;
      text-align: center;
    }

    .article-content table {
      width: 100%;
      margin: 24px 0;
      border-collapse: separate;
      border-spacing: 0;
      overflow: hidden;
      color: var(--text);
      background: var(--bg-2);
      border: 1px solid var(--line);
      border-radius: 18px;
      font-size: 14px;
    }

    .article-content th,
    .article-content td {
      padding: 13px 16px;
      border-bottom: 1px solid rgba(120, 170, 255, 0.10);
      text-align: left;
      vertical-align: top;
    }

    .article-content th {
      color: var(--text);
      background: var(--bg-2);
      font-weight: 600;
      white-space: nowrap;
    }

    .article-content tbody tr:nth-child(even) td {
      background: rgba(255, 255, 255, 0.018);
    }

    .article-content tbody tr:last-child td {
      border-bottom: 0;
    }

    .article-content pre {
      max-width: 100%;
      margin: 24px 0;
      padding: 18px 20px;
      overflow-x: auto;
      color: var(--text-2);
      background: #070D18;
      border: 1px solid var(--line);
      border-radius: 14px;
      font-size: 14px;
      line-height: 1.75;
    }

    .article-content code {
      padding: 2px 6px;
      color: var(--accent);
      background: rgba(46, 230, 200, 0.07);
      border-radius: 6px;
      font-size: 0.92em;
    }

    .article-content pre code {
      padding: 0;
      color: inherit;
      background: transparent;
      border-radius: 0;
    }

    .empty-state {
      padding: 46px 26px;
      text-align: center;
      background: rgba(255, 255, 255, 0.022);
      border: 1px dashed rgba(120, 170, 255, 0.24);
      border-radius: 16px;
    }

    .empty-state h2 {
      margin: 0 0 18px;
      color: var(--text);
      font-size: 25px;
      font-weight: 700;
      line-height: 1.35;
    }

    .empty-state .btn-ghost {
      min-width: 132px;
    }

    .sidebar-sticky {
      position: sticky;
      top: 96px;
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .side-card {
      padding: 22px;
      background: var(--bg-1);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .side-title {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 15px;
      color: var(--text);
      font-size: 17px;
      font-weight: 600;
      line-height: 1.4;
      letter-spacing: 0.2px;
    }

    .side-title::before {
      content: "";
      width: 22px;
      height: 3px;
      border-radius: 2px;
      background: var(--accent);
      flex: 0 0 auto;
    }

    .side-links {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .side-links a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 42px;
      padding: 0 12px;
      color: var(--text-2);
      background: rgba(255, 255, 255, 0.018);
      border: 1px solid rgba(120, 170, 255, 0.09);
      border-radius: 10px;
      font-size: 14px;
    }

    .side-links a span {
      color: var(--text-3);
      transition: color var(--transition), transform var(--transition);
    }

    .side-links a:hover {
      color: var(--accent);
      background: rgba(46, 230, 200, 0.07);
      border-color: rgba(46, 230, 200, 0.24);
    }

    .side-links a:hover span {
      color: var(--accent);
      transform: translateX(3px);
    }

    .mini-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .mini-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px;
      color: var(--text-2);
      background: rgba(255, 255, 255, 0.018);
      border: 1px solid rgba(120, 170, 255, 0.08);
      border-radius: 12px;
    }

    .mini-item:hover {
      color: var(--text);
      border-color: rgba(46, 230, 200, 0.25);
      background: rgba(46, 230, 200, 0.045);
    }

    .mini-item img {
      width: 72px;
      height: 72px;
      flex: 0 0 72px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid rgba(120, 170, 255, 0.12);
    }

    .mini-item div {
      min-width: 0;
    }

    .mini-item strong {
      display: block;
      margin-bottom: 3px;
      color: var(--text);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }

    .mini-item span {
      display: block;
      color: var(--text-3);
      font-size: 12px;
      line-height: 1.55;
    }

    .side-cta p {
      margin-bottom: 16px;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.75;
    }

    .related-section {
      padding-top: 0;
      padding-bottom: 64px;
    }

    .section-head {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 26px;
    }

    .section-head h2 {
      position: relative;
      margin: 0;
      padding-top: 14px;
      color: var(--text);
      font-size: clamp(24px, 2.8vw, 36px);
      font-weight: 700;
      line-height: 1.28;
      letter-spacing: -0.3px;
    }

    .section-head h2::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 28px;
      height: 4px;
      border-radius: 2px;
      background: var(--accent);
      box-shadow: 0 0 14px rgba(46, 230, 200, 0.28);
    }

    .section-head p {
      max-width: 480px;
      margin: 0;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.75;
    }

    .related-card {
      position: relative;
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow: hidden;
      color: var(--text);
      background: var(--bg-1);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
    }

    .related-card:hover {
      color: var(--text);
      border-color: var(--line-glow);
      transform: translateY(-2px);
      box-shadow: 0 14px 34px rgba(3, 8, 20, 0.62);
    }

    .related-media {
      aspect-ratio: 16 / 9;
      overflow: hidden;
      background: var(--bg-2);
    }

    .related-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 260ms ease;
    }

    .related-card:hover .related-media img {
      transform: scale(1.03);
    }

    .related-body {
      display: flex;
      flex: 1 1 auto;
      flex-direction: column;
      padding: 20px;
    }

    .related-body .badge-pill {
      align-self: flex-start;
      margin-bottom: 12px;
    }

    .related-body h3 {
      margin: 0 0 9px;
      color: var(--text);
      font-size: 19px;
      font-weight: 600;
      line-height: 1.42;
    }

    .related-body p {
      margin: 0 0 16px;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.75;
    }

    .related-link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-top: auto;
      color: var(--accent);
      font-size: 14px;
      font-weight: 600;
    }

    .related-link svg {
      width: 16px;
      height: 16px;
      transition: transform var(--transition);
    }

    .related-card:hover .related-link svg {
      transform: translateX(4px);
    }

    .article-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-top: 30px;
      padding-top: 26px;
      border-top: 1px solid var(--line);
    }

    .cta-section {
      padding-top: 0;
      padding-bottom: 82px;
    }

    .cta-panel {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.8fr);
      gap: 28px;
      align-items: center;
      padding: 38px;
      overflow: hidden;
      background:
        linear-gradient(100deg, rgba(30, 60, 140, 0.32), rgba(14, 22, 38, 0.78)),
        var(--bg-1);
      border: 1px solid rgba(46, 230, 200, 0.20);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .cta-panel::before {
      content: "";
      position: absolute;
      top: -100px;
      right: 8%;
      width: 280px;
      height: 280px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(46, 230, 200, 0.13), transparent 68%);
      pointer-events: none;
    }

    .cta-copy {
      position: relative;
      z-index: 1;
    }

    .cta-copy h2 {
      margin: 0 0 12px;
      color: var(--text);
      font-size: clamp(24px, 2.8vw, 34px);
      font-weight: 700;
      line-height: 1.3;
      letter-spacing: -0.2px;
    }

    .cta-copy p {
      max-width: 640px;
      margin: 0;
      color: var(--text-2);
      font-size: 15px;
      line-height: 1.8;
    }

    .cta-actions {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: flex-end;
    }

    .site-footer {
      position: relative;
      padding: 64px 0 26px;
      background: #04070E;
      border-top: 1px solid rgba(120, 170, 255, 0.08);
    }

    .site-footer::before {
      content: "";
      position: absolute;
      top: -1px;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(46, 230, 200, 0.30), transparent);
      pointer-events: none;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 0.9fr 0.9fr 1.2fr;
      gap: 38px;
      padding-bottom: 36px;
    }

    .footer-brand .brand {
      margin-bottom: 16px;
    }

    .footer-desc {
      max-width: 340px;
      margin: 0;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.8;
    }

    .footer-title {
      margin-bottom: 15px;
      color: var(--text);
      font-size: 15px;
      font-weight: 600;
      line-height: 1.4;
      letter-spacing: 0.2px;
    }

    .footer-links {
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .footer-links a {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.6;
    }

    .footer-links a:hover {
      color: var(--accent);
    }

    .footer-contact p {
      margin: 0 0 9px;
      color: var(--text-2);
      font-size: 14px;
      line-height: 1.75;
    }

    .footer-contact .btn-ghost {
      margin-top: 8px;
      min-height: 40px;
      padding: 0 18px;
      font-size: 14px;
    }

    .footer-bottom {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px 24px;
      padding-top: 24px;
      border-top: 1px solid rgba(120, 170, 255, 0.09);
    }

    .footer-bottom p {
      margin: 0;
      color: var(--text-3);
      font-size: 14px;
      line-height: 1.7;
    }

    @media (min-width: 1200px) {
      .container {
        padding-left: 32px;
        padding-right: 32px;
      }
    }

    @media (max-width: 1199.98px) {
      .nav-link {
        padding-left: 10px;
        padding-right: 10px;
      }

      .header-actions {
        gap: 8px;
      }
    }

    @media (max-width: 991.98px) {
      body {
        padding-top: 68px;
      }

      .site-header {
        height: 68px;
      }

      .brand-mark {
        width: 38px;
        height: 38px;
      }

      .brand-text {
        font-size: 16px;
      }

      .article-hero {
        padding: 42px 0 38px;
      }

      .article-card {
        padding: 26px 24px;
      }

      .sidebar-sticky {
        position: static;
        margin-top: 8px;
      }

      .section {
        padding: 56px 0;
      }

      .article-section {
        padding-top: 40px;
        padding-bottom: 52px;
      }

      .section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
      }

      .cta-panel {
        grid-template-columns: 1fr;
        padding: 30px;
      }

      .cta-actions {
        justify-content: flex-start;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
      }
    }

    @media (max-width: 767.98px) {
      .container {
        padding-left: 20px;
        padding-right: 20px;
      }

      .article-head h1 {
        font-size: clamp(27px, 7vw, 36px);
        letter-spacing: -0.3px;
      }

      .article-meta {
        gap: 8px 16px;
      }

      .article-card {
        border-radius: 16px;
      }

      .article-content {
        font-size: 15px;
        line-height: 1.9;
      }

      .article-content h2 {
        margin-top: 34px;
        font-size: 25px;
      }

      .article-content h3 {
        font-size: 20px;
      }

      .section {
        padding: 48px 0;
      }

      .article-section {
        padding-top: 34px;
        padding-bottom: 44px;
      }

      .related-section {
        padding-bottom: 48px;
      }

      .article-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .article-actions .btn-ghost,
      .article-actions .btn-cta {
        width: 100%;
      }

      .cta-section {
        padding-bottom: 56px;
      }

      .cta-panel {
        padding: 26px 22px;
      }

      .cta-actions {
        flex-direction: column;
      }

      .cta-actions .btn-cta,
      .cta-actions .btn-ghost {
        width: 100%;
      }

      .site-footer {
        padding-top: 50px;
      }

      .footer-grid {
        grid-template-columns: 1fr;
        gap: 26px;
        padding-bottom: 28px;
      }

      .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
      }

      .side-card {
        padding: 20px;
      }

      .mini-item img {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
      }
    }

    @media (max-width: 575.98px) {
      .container {
        padding-left: 16px;
        padding-right: 16px;
      }

      .brand-text {
        font-size: 15px;
      }

      .brand {
        gap: 9px;
      }

      .brand-mark {
        width: 36px;
        height: 36px;
        border-radius: 10px;
      }

      .mobile-drawer {
        --bs-offcanvas-width: 88vw;
      }

      .article-hero {
        padding: 32px 0 30px;
      }

      .breadcrumb-line {
        margin-bottom: 20px;
      }

      .article-card {
        padding: 22px 18px;
      }

      .reading-note {
        padding: 15px 16px;
      }

      .article-content p {
        font-size: 15px;
      }

      .article-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
      }

      .side-links a {
        min-height: 44px;
      }

      .section-head h2 {
        font-size: 26px;
      }

      .related-body {
        padding: 17px;
      }

      .footer-desc {
        font-size: 13px;
      }
    }

/* roulang page: category2 */
:root{
  --bg-0:#05080F;
  --bg-1:#0A1120;
  --bg-2:#0E1626;
  --brand:#1E3C8C;
  --accent:#2EE6C8;
  --cta:#FFB443;
  --text:#E8EEF9;
  --text-2:#9FAFCC;
  --text-3:#6C7C99;
  --line:rgba(120,170,255,.14);
  --line-glow:rgba(46,230,200,.38);
  --danger:#FF6B6B;
  --success:#3ED598;
  --r-card:18px;
  --r-img:14px;
  --r-input:10px;
  --r-btn:10px;
  --shadow:0 10px 30px rgba(3,8,20,.55);
  --ease:180ms cubic-bezier(.2,.6,.3,1);
  --font-cn:"HarmonyOS Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-num:"Barlow","DIN Alternate",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text);
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(rgba(120,170,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,170,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.9;
}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none;transition:color var(--ease)}
a:hover{color:#7CF2E0}
p{margin:0 0 1.1em;color:var(--text-2);max-width:760px}
h1,h2,h3,h4{color:var(--text);margin:0;font-weight:700;letter-spacing:-.2px}
h1{font-size:clamp(32px,4.4vw,56px);line-height:1.18;letter-spacing:-.5px}
h2{font-size:clamp(24px,2.8vw,36px);line-height:1.28}
h3{font-size:20px;line-height:1.4;font-weight:600}
h4{font-size:15px;line-height:1.5;font-weight:600;letter-spacing:.2px}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font-family:inherit;font-size:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.container{max-width:1240px!important;padding-left:24px;padding-right:24px}
@media(min-width:1200px){.container{padding-left:32px;padding-right:32px}}

/* ============ Header ============ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1030;
  height:76px;
  background:rgba(5,8,15,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background var(--ease),border-color var(--ease);
}
.site-header.scrolled{
  background:rgba(5,8,15,.94);
  border-bottom:1px solid var(--line);
}
.header-inner{
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand-mark{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(150deg,rgba(30,60,140,.95),rgba(46,230,200,.22));
  border:1px solid var(--line-glow);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(3,8,20,.6);
}
.brand-mark svg{width:22px;height:22px}
.brand-text{font-size:17px;font-weight:700;color:var(--text);letter-spacing:.2px;white-space:nowrap}
.nav-links{align-items:center;gap:4px}
.nav-link{
  position:relative;display:inline-flex;align-items:center;
  height:44px;padding:0 14px;border-radius:999px;
  font-size:15px;font-weight:500;color:var(--text-2);
  text-decoration:none;transition:all var(--ease);
}
.nav-link::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;
  background:var(--accent);opacity:0;transform:scaleX(.4);transition:all var(--ease);
}
.nav-link:hover{color:var(--text)}
.nav-link:hover::after{opacity:.75;transform:scaleX(1)}
.nav-link.active{background:rgba(46,230,200,.12);color:var(--accent)}
.nav-link.active::after{opacity:0}
.header-actions{display:flex;align-items:center;gap:12px}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--r-btn);border:1px solid transparent;
  background:var(--cta);color:#0A0F1A;font-weight:600;font-size:15px;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:all var(--ease);
}
.btn-cta:hover{filter:brightness(1.06);box-shadow:0 8px 26px rgba(255,180,67,.32);color:#0A0F1A;transform:translateY(-2px)}
.btn-cta:active{transform:translateY(0);box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}
.btn-cta.lg{height:48px;padding:0 28px}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--r-btn);
  border:1px solid var(--accent);background:transparent;color:var(--accent);
  font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;
  transition:all var(--ease);
}
.btn-ghost:hover{background:rgba(46,230,200,.10);color:var(--accent);transform:translateY(-2px)}
.btn-ghost.lg{height:48px;padding:0 28px}
.nav-toggle{
  width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.04);
  border:1px solid var(--line);display:inline-flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0;
}
.nav-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:all var(--ease)}
.nav-toggle:hover span{background:var(--accent)}
.offcanvas.mobile-menu{background:#070C17;color:var(--text);border-left:1px solid var(--line);width:min(86vw,360px)}
.mobile-menu .offcanvas-header{padding:22px 24px;border-bottom:1px solid var(--line)}
.btn-close-custom{
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:transparent;color:var(--text-2);font-size:18px;line-height:1;cursor:pointer;
  transition:all var(--ease);
}
.btn-close-custom:hover{color:var(--accent);border-color:var(--line-glow)}
.mobile-menu .offcanvas-body{padding:16px 24px 28px;display:flex;flex-direction:column}
.m-link{
  display:flex;align-items:center;justify-content:space-between;
  height:52px;color:var(--text-2);font-size:16px;text-decoration:none;
  border-bottom:1px solid rgba(120,170,255,.08);transition:color var(--ease);
}
.m-link span{color:var(--text-3);font-size:15px}
.m-link:hover,.m-link.active{color:var(--accent)}
.mobile-menu .btn-cta{margin-top:24px;width:100%;height:48px}

/* ============ Breadcrumb ============ */
.crumb-bar{padding-top:112px;position:relative;z-index:1}
.crumb{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  font-size:13px;color:var(--text-3);
}
.crumb a{
  font-size:13px;color:var(--text-2);text-decoration:none;
  padding:5px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);transition:all var(--ease);
}
.crumb a:hover{color:var(--accent);border-color:var(--line-glow);background:rgba(46,230,200,.08)}
.crumb .sep{color:var(--text-3);font-size:12px}
.crumb .cur{color:var(--text-3);font-size:13px}

/* ============ Hero ============ */
.cat-hero{
  position:relative;z-index:1;
  padding:44px 0 88px;
  overflow:hidden;
}
.cat-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:140px;
  background:linear-gradient(180deg,rgba(5,8,15,0) 0%,var(--bg-0) 88%);
  pointer-events:none;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;
  position:relative;z-index:2;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;letter-spacing:.6px;
  color:var(--accent);background:rgba(46,230,200,.10);
  border:1px solid var(--line-glow);border-radius:999px;
  padding:6px 14px;margin-bottom:22px;
}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block}
.cat-hero h1{margin-bottom:20px}
.cat-hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{
  font-size:16px;line-height:1.9;color:var(--text-2);
  max-width:620px;margin-bottom:30px;
}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.hero-tips{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px;color:var(--text-3)}
.hero-tips span{display:inline-flex;align-items:center;gap:6px}
.hero-tips span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.8}
.hero-visual{
  position:relative;min-height:380px;border-radius:var(--r-card);
  border:1px solid var(--line);overflow:hidden;
  background:#070D1A;
  box-shadow:var(--shadow);
}
.hero-visual .bg-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.32;filter:saturate(.9);
}
.hero-visual .veil{
  position:absolute;inset:0;
  background:
    linear-gradient(150deg,rgba(5,8,15,.86) 12%,rgba(10,17,32,.62) 58%,rgba(5,8,15,.94) 100%);
}
.hero-visual .lines{
  position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(125deg,rgba(46,230,200,.14) 0 1px,transparent 1px 26px);
  mask-image:radial-gradient(circle at 70% 30%,#000 0%,transparent 72%);
  -webkit-mask-image:radial-gradient(circle at 70% 30%,#000 0%,transparent 72%);
}
.hero-visual .dot{
  position:absolute;border-radius:50%;background:var(--accent);
  box-shadow:0 0 18px 4px rgba(46,230,200,.45);
}
.hero-visual .dot.d1{width:7px;height:7px;top:18%;right:22%}
.hero-visual .dot.d2{width:5px;height:5px;bottom:30%;left:16%;opacity:.7}
.hero-visual .dot.d3{width:4px;height:4px;top:46%;left:38%;opacity:.55}
.hero-panel{
  position:relative;z-index:2;padding:28px;height:100%;
  display:flex;flex-direction:column;justify-content:space-between;gap:22px;
}
.hero-panel-head{font-size:13px;color:var(--text-3);letter-spacing:.4px;margin-bottom:6px}
.hero-panel-title{font-size:17px;font-weight:600;color:var(--text);margin:0}
.mini-rows{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.mini-row{
  border:1px solid var(--line);border-radius:12px;
  background:rgba(10,17,32,.62);
  padding:12px 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:all var(--ease);
}
.mini-row:hover{border-color:var(--line-glow);transform:translateY(-2px)}
.mini-row .label{font-size:13px;color:var(--text-2)}
.mini-row .val{font-family:var(--font-num);font-size:15px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}

/* ============ Sections ============ */
.section{position:relative;z-index:1;padding:88px 0}
.section.tight{padding:64px 0}
.section-head{max-width:780px;margin-bottom:44px}
.section-head h2{position:relative;padding-top:16px;margin-bottom:14px}
.section-head h2::before{
  content:"";position:absolute;top:0;left:0;
  width:28px;height:4px;border-radius:2px;background:var(--accent);
}
.section-head p{font-size:15px;line-height:1.85;color:var(--text-2);margin:0}

/* Timeline + cards */
.flow-grid{display:grid;grid-template-columns:400px 1fr;gap:48px;align-items:start}
.flow-side{position:sticky;top:104px}
.flow-side h2{position:relative;padding-top:16px;margin-bottom:16px;font-size:clamp(24px,2.4vw,32px)}
.flow-side h2::before{
  content:"";position:absolute;top:0;left:0;width:28px;height:4px;border-radius:2px;background:var(--accent);
}
.flow-side p{font-size:15px;line-height:1.85;margin-bottom:28px}
.timeline{position:relative;padding-left:34px}
.timeline::before{
  content:"";position:absolute;left:9px;top:10px;bottom:26px;width:2px;
  background:linear-gradient(180deg,var(--accent),rgba(46,230,200,.10));
  border-radius:2px;
}
.tl-step{position:relative;padding-bottom:30px}
.tl-step:last-child{padding-bottom:0}
.tl-step::before{
  content:"";position:absolute;left:-33px;top:6px;
  width:14px;height:14px;border-radius:50%;
  background:var(--bg-0);border:2px solid var(--accent);
  box-shadow:0 0 0 4px rgba(46,230,200,.10);
}
.tl-step .num{
  font-family:var(--font-num);font-size:13px;font-weight:700;
  color:var(--accent);letter-spacing:1px;display:block;margin-bottom:4px;
}
.tl-step h3{font-size:16px;margin-bottom:6px}
.tl-step p{font-size:14px;line-height:1.8;margin:0;color:var(--text-3);max-width:340px}

.flow-cards{display:flex;flex-direction:column;gap:22px}
.info-card{
  display:grid;grid-template-columns:184px 1fr;gap:24px;
  background:var(--bg-1);
  border:1px solid var(--line);border-radius:var(--r-card);
  padding:22px;
  box-shadow:var(--shadow);
  transition:all var(--ease);
  align-items:center;
}
.info-card:nth-child(even){margin-left:36px}
.info-card:hover{border-color:var(--line-glow);transform:translateY(-2px);box-shadow:0 14px 38px rgba(3,8,20,.7)}
.info-card .thumb{
  border-radius:var(--r-img);overflow:hidden;aspect-ratio:16/10;background:#060B14;
}
.info-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 320ms cubic-bezier(.2,.6,.3,1)}
.info-card:hover .thumb img{transform:scale(1.04)}
.info-card .body h3{font-size:17px;margin-bottom:8px}
.info-card .body p{font-size:14px;line-height:1.8;margin:0 0 12px;color:var(--text-2);max-width:none}
.info-card .tagline{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:var(--accent);
  background:rgba(46,230,200,.10);border-radius:999px;padding:4px 12px;
}

/* Compare */
.compare-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:26px;
}
.compare-col{
  border-radius:var(--r-card);padding:28px;
  border:1px solid var(--line);
  background:rgba(10,17,32,.7);
}
.compare-col.hl{
  border-color:var(--line-glow);
  background:linear-gradient(160deg,rgba(46,230,200,.07),rgba(10,17,32,.9) 62%);
  box-shadow:0 0 0 1px rgba(46,230,200,.10),0 14px 38px rgba(3,8,20,.6);
}
.compare-col h3{font-size:18px;margin-bottom:6px}
.compare-col .col-note{font-size:13px;color:var(--text-3);margin-bottom:22px}
.bar-item{margin-bottom:20px}
.bar-item:last-child{margin-bottom:0}
.bar-item .bar-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;
}
.bar-item .bar-label{font-size:14px;color:var(--text-2)}
.bar-item .bar-num{
  font-family:var(--font-num);font-size:13px;font-weight:700;
  color:var(--text-3);font-variant-numeric:tabular-nums;
}
.compare-col.hl .bar-num{color:var(--accent)}
.bar-track{height:8px;border-radius:4px;background:rgba(120,170,255,.10);overflow:hidden}
.bar-fill{height:100%;border-radius:4px;background:rgba(159,175,204,.38);width:0;transition:width 900ms cubic-bezier(.2,.6,.3,1)}
.compare-col.hl .bar-fill{background:linear-gradient(90deg,var(--accent),rgba(46,230,200,.55))}

/* Form */
.form-shell{
  border-radius:var(--r-card);
  border:1px solid var(--line-glow);
  background:rgba(12,20,36,.72);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),var(--shadow);
  padding:32px;
}
.form-shell .field{margin-bottom:18px}
.form-shell label{
  display:block;font-size:13px;font-weight:600;color:var(--text-2);
  letter-spacing:.2px;margin-bottom:8px;
}
.form-control,.form-select{
  height:46px;width:100%;
  background:#0B1220;border:1px solid var(--line);
  border-radius:var(--r-input);color:var(--text);
  font-size:15px;padding:0 14px;
  transition:all var(--ease);
  box-shadow:none;
}
textarea.form-control{height:auto;min-height:110px;padding:12px 14px;line-height:1.7}
.form-control::placeholder{color:#55647E}
.form-control:focus,.form-select:focus{
  background:#0B1220;border-color:var(--accent);color:var(--text);
  box-shadow:0 0 0 3px rgba(46,230,200,.18);outline:none;
}
.form-select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239FAFCC' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
  padding-right:38px;
}
.form-note{font-size:12px;color:var(--text-3);line-height:1.7;margin:14px 0 0}
.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.form-actions{display:flex;justify-content:flex-end;margin-top:22px}
.form-side h2{position:relative;padding-top:16px;margin-bottom:16px;font-size:clamp(24px,2.4vw,32px)}
.form-side h2::before{content:"";position:absolute;top:0;left:0;width:28px;height:4px;border-radius:2px;background:var(--accent)}
.form-side p{font-size:15px;line-height:1.85}
.check-list{margin:22px 0 0;display:flex;flex-direction:column;gap:14px}
.check-list li{
  position:relative;padding-left:28px;font-size:14px;line-height:1.8;color:var(--text-2);
}
.check-list li::before{
  content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;
  border:1px solid var(--line-glow);background:rgba(46,230,200,.14);
}
.check-list li::after{
  content:"";position:absolute;left:4px;top:12px;width:6px;height:3px;
  border-left:1.6px solid var(--accent);border-bottom:1.6px solid var(--accent);
  transform:rotate(-45deg);
}
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}

/* CTA band */
.cta-band{
  position:relative;z-index:1;
  border:1px solid var(--line-glow);border-radius:var(--r-card);
  background:
    radial-gradient(900px 260px at 12% 0%,rgba(46,230,200,.12),transparent 62%),
    linear-gradient(140deg,rgba(30,60,140,.55),rgba(10,17,32,.92) 70%);
  padding:44px;
  display:flex;align-items:center;justify-content:space-between;gap:36px;
  flex-wrap:wrap;
}
.cta-band h2{font-size:clamp(22px,2.4vw,30px);margin-bottom:10px}
.cta-band p{margin:0;font-size:15px;color:var(--text-2);max-width:620px}
.cta-band .btns{display:flex;gap:14px;flex-wrap:wrap}

/* Footer */
.site-footer{
  position:relative;z-index:1;
  background:#04070E;
  margin-top:88px;
  padding-top:1px;
}
.site-footer::before{
  content:"";display:block;height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.4),transparent);
}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:44px;
  padding:68px 0 52px;
}
.footer-brand .brand{margin-bottom:18px}
.footer-desc{font-size:14px;line-height:1.85;color:var(--text-3);max-width:340px;margin:0}
.footer-title{
  font-size:14px;font-weight:600;color:var(--text);margin-bottom:18px;letter-spacing:.3px;
}
.footer-links{display:flex;flex-direction:column;gap:12px}
.footer-links a{
  font-size:14px;color:var(--text-3);text-decoration:none;transition:color var(--ease);
  width:fit-content;
}
.footer-links a:hover{color:var(--accent)}
.footer-contact p{font-size:14px;line-height:1.85;color:var(--text-3);margin:0 0 10px;max-width:290px}
.footer-contact .btn-ghost{margin-top:14px;height:42px;font-size:14px;padding:0 18px}
.footer-bottom{
  border-top:1px solid rgba(120,170,255,.10);
  padding:26px 0 40px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.footer-bottom p{font-size:14px;color:var(--text-3);margin:0}

/* ============ Responsive ============ */
@media(max-width:1199px){
  .flow-grid{grid-template-columns:340px 1fr;gap:36px}
  .info-card{grid-template-columns:150px 1fr;gap:20px}
}
@media(max-width:991px){
  .header-inner{height:76px}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-visual{min-height:300px;order:-1}
  .flow-grid{grid-template-columns:1fr;gap:34px}
  .flow-side{position:static}
  .info-card:nth-child(even){margin-left:0}
  .form-grid{grid-template-columns:1fr;gap:32px}
  .compare-wrap{grid-template-columns:1fr;gap:20px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;padding:56px 0 40px}
  .section{padding:72px 0}
  .cat-hero{padding:36px 0 76px}
}
@media(max-width:767px){
  .section{padding:56px 0}
  .section-head{margin-bottom:32px}
  .info-card{grid-template-columns:1fr;gap:16px;padding:18px}
  .info-card .thumb{aspect-ratio:16/9}
  .form-row-3{grid-template-columns:1fr}
  .form-shell{padding:22px}
  .cta-band{padding:28px;gap:22px}
  .cta-band .btns{width:100%}
  .cta-band .btns .btn-cta,.cta-band .btns .btn-ghost{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:8px}
  .crumb-bar{padding-top:104px}
  .form-actions{justify-content:stretch}
  .form-actions .btn-cta{width:100%}
}
@media(max-width:575px){
  body{font-size:15px}
  .container{padding-left:18px;padding-right:18px}
  .hero-btns .btn-cta,.hero-btns .btn-ghost{width:100%}
  .cat-hero h1{font-size:30px}
  .hero-visual{min-height:250px}
  .hero-panel{padding:20px}
  .tl-step p{max-width:none}
  .compare-col{padding:20px}
}

/* roulang page: category3 */
:root{
  --bg-0:#05080F;--bg-1:#0A1120;--bg-2:#0E1626;
  --brand:#1E3C8C;--accent:#2EE6C8;--cta:#FFB443;
  --text:#E8EEF9;--text-2:#9FAFCC;--text-3:#6C7C99;
  --line:rgba(120,170,255,.14);--line-glow:rgba(46,230,200,.38);
  --danger:#FF6B6B;--success:#3ED598;
  --r-card:18px;--r-sm:12px;--r-btn:10px;--r-img:14px;
  --shadow-card:0 10px 30px rgba(3,8,20,.55);
  --ease:180ms cubic-bezier(.2,.6,.3,1);
  --font-cn:"HarmonyOS Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-num:"Barlow","DIN Alternate",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;padding:0;background:var(--bg-0);color:var(--text);
  font-family:var(--font-cn);font-size:16px;line-height:1.9;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 12% 8%,rgba(30,60,140,.35),transparent 46%),
    radial-gradient(circle at 88% 62%,rgba(46,230,200,.08),transparent 44%),
    repeating-linear-gradient(0deg,rgba(120,170,255,.05) 0 1px,transparent 1px 64px);
  opacity:.55;
}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
a{color:inherit;text-decoration:none;transition:color var(--ease),border-color var(--ease),background-color var(--ease);}
a:hover{color:var(--accent);}
img{max-width:100%;display:block;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-family:var(--font-cn);color:var(--text);}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;}

.container{width:100%;max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px;}
@media (min-width:1200px){.container{padding-left:32px;padding-right:32px;}}

/* ---------- 导航 ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1030;
  background:rgba(5,8,15,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background-color var(--ease),border-color var(--ease);
}
.site-header.scrolled{background:rgba(5,8,15,.92);border-bottom-color:var(--line);}
.header-inner{display:flex;align-items:center;gap:20px;height:76px;}
.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;}
.brand-mark{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(150deg,#16305f,#0a1120 78%);
  border:1px solid var(--line-glow);
  box-shadow:0 0 0 1px rgba(46,230,200,.06) inset,0 6px 18px rgba(3,8,20,.7);
}
.brand-mark svg{width:22px;height:22px;}
.brand-text{font-size:17px;font-weight:700;letter-spacing:.2px;color:var(--text);white-space:nowrap;}
.brand:hover .brand-text{color:var(--accent);}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto;}
.nav-link{
  position:relative;display:inline-flex;align-items:center;
  padding:10px 14px;font-size:15px;color:var(--text-2);border-radius:999px;
  transition:color var(--ease),background-color var(--ease);
}
.nav-link::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:center;
  transition:transform var(--ease);
}
.nav-link:hover{color:var(--text);}
.nav-link:hover::after{transform:scaleX(1);}
.nav-link.active{color:var(--accent);background:rgba(46,230,200,.12);}
.nav-link.active::after{transform:scaleX(0);}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:16px;}
.icon-btn{
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;border:1px solid var(--line);background:rgba(10,17,32,.7);
  color:var(--text-2);cursor:pointer;transition:color var(--ease),border-color var(--ease),background-color var(--ease);
}
.icon-btn:hover{color:var(--accent);border-color:var(--line-glow);background:rgba(46,230,200,.08);}
.icon-btn svg{width:20px;height:20px;}
.menu-btn{
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:rgba(10,17,32,.7);display:inline-flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;cursor:pointer;
  transition:border-color var(--ease),background-color var(--ease);
}
.menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform var(--ease),opacity var(--ease);}
.menu-btn:hover{border-color:var(--line-glow);}
.menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn.is-open span:nth-child(2){opacity:0;}
.menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* 移动抽屉 */
.drawer-mask{
  position:fixed;inset:0;z-index:1040;background:rgba(3,6,14,.7);
  backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity var(--ease),visibility var(--ease);
}
.drawer-mask.open{opacity:1;visibility:visible;}
.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:1050;width:min(88vw,360px);
  background:linear-gradient(180deg,#08101f,#05080f 70%);
  border-left:1px solid var(--line);
  transform:translateX(105%);transition:transform 240ms cubic-bezier(.2,.6,.3,1);
  display:flex;flex-direction:column;padding:22px 20px 26px;overflow-y:auto;
}
.mobile-drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.drawer-links{display:flex;flex-direction:column;margin-bottom:20px;}
.drawer-link{
  display:flex;align-items:center;justify-content:space-between;
  min-height:52px;padding:0 4px;font-size:16px;color:var(--text-2);
  border-bottom:1px solid var(--line);
}
.drawer-link::after{content:"›";font-size:20px;color:var(--text-3);line-height:1;}
.drawer-link:hover,.drawer-link.active{color:var(--accent);}
.drawer-note{font-size:13px;color:var(--text-3);margin-bottom:16px;line-height:1.75;}
body.drawer-open{overflow:hidden;}

/* ---------- 按钮 ---------- */
.btn-cta,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--r-btn);
  font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;
  border:1px solid transparent;transition:all var(--ease);white-space:nowrap;
}
.btn-cta{
  background:var(--cta);color:#0A0F1A;border-color:rgba(255,180,67,.85);
  box-shadow:0 6px 18px rgba(255,180,67,.16);
}
.btn-cta:hover{color:#0A0F1A;filter:brightness(1.06);box-shadow:0 8px 26px rgba(255,180,67,.32);transform:translateY(-1px);}
.btn-cta:active{transform:translateY(0);box-shadow:0 2px 10px rgba(255,180,67,.24) inset;}
.btn-ghost{background:transparent;color:var(--accent);border-color:rgba(46,230,200,.5);}
.btn-ghost:hover{color:var(--accent);background:rgba(46,230,200,.10);border-color:var(--accent);transform:translateY(-1px);}
.btn-arrow{
  display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--accent);
}
.btn-arrow svg{width:16px;height:16px;transition:transform var(--ease);}
.btn-arrow:hover svg{transform:translateX(4px);}
.btn-lg{height:48px;padding:0 26px;font-size:16px;}
.w-100{width:100%;}

/* ---------- 通用板块 ---------- */
main{position:relative;z-index:1;}
.section{padding:96px 0;}
.section-tight{padding:72px 0;}
.section-head{margin-bottom:40px;max-width:760px;}
.section-kicker{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.6px;
  color:var(--accent);text-transform:uppercase;margin-bottom:14px;font-weight:600;
}
.section-kicker::before{content:"";width:22px;height:1px;background:var(--line-glow);}
h2.section-title{
  position:relative;font-size:clamp(24px,2.8vw,36px);line-height:1.28;font-weight:700;
  padding-top:18px;margin-bottom:14px;
}
h2.section-title::before{
  content:"";position:absolute;top:0;left:0;width:28px;height:4px;border-radius:2px;background:var(--accent);
}
.section-desc{font-size:15px;color:var(--text-2);line-height:1.85;max-width:760px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;border-radius:999px;
  font-size:13px;color:var(--accent);background:rgba(46,230,200,.10);
  border:1px solid rgba(46,230,200,.22);margin-bottom:18px;
}

/* ---------- 面包屑 ---------- */
.breadcrumb-bar{padding:104px 0 0;}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--text-3);}
.crumb a{color:var(--text-2);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(10,17,32,.55);}
.crumb a:hover{color:var(--accent);border-color:var(--line-glow);}
.crumb span.sep{color:var(--text-3);}
.crumb .current{color:var(--text-3);}

/* ---------- Hero ---------- */
.hero{position:relative;padding:44px 0 88px;overflow:hidden;}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-image:url(/assets/images/backpic/back-3.png);
  background-size:cover;background-position:center;opacity:.32;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(112deg,rgba(5,8,15,.97) 18%,rgba(5,8,15,.80) 52%,rgba(5,8,15,.94) 100%);
}
.hero-lines{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(115deg,rgba(46,230,200,.07) 0 1px,transparent 1px 30px),
    radial-gradient(circle at 84% 22%,rgba(46,230,200,.16),transparent 40%);
}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;}
h1.hero-title{
  font-size:clamp(32px,4.4vw,56px);line-height:1.18;font-weight:700;letter-spacing:-.5px;
  margin-bottom:20px;
}
h1.hero-title em{font-style:normal;color:var(--accent);}
.hero-sub{font-size:17px;line-height:1.85;color:var(--text-2);max-width:620px;margin-bottom:26px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.hero-points{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--text-3);}
.hero-points span{display:inline-flex;align-items:center;gap:6px;}
.hero-points span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.8;}

.hero-panel{
  background:linear-gradient(180deg,rgba(14,22,38,.94),rgba(10,17,32,.94));
  border:1px solid var(--line);border-radius:var(--r-card);
  padding:24px 22px;box-shadow:var(--shadow-card);
}
.hero-panel h2{font-size:15px;font-weight:600;letter-spacing:.4px;color:var(--text);margin-bottom:16px;}
.step-list{counter-reset:step;display:flex;flex-direction:column;gap:14px;}
.step-list li{position:relative;padding-left:38px;}
.step-list li::before{
  counter-increment:step;content:"0" counter(step);
  position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:9px;
  display:grid;place-items:center;font-family:var(--font-num);font-size:12px;font-weight:700;
  color:var(--accent);background:rgba(46,230,200,.10);border:1px solid rgba(46,230,200,.28);
}
.step-list strong{display:block;font-size:15px;color:var(--text);font-weight:600;margin-bottom:2px;}
.step-list p{font-size:13px;line-height:1.7;color:var(--text-3);margin:0;}

/* ---------- 编号卡片网格 ---------- */
.num-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.num-card{
  position:relative;overflow:hidden;padding:26px 24px 24px;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow-card);transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.num-card::after{
  content:"";position:absolute;inset:auto -30% -60% auto;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,230,200,.10),transparent 62%);opacity:0;transition:opacity var(--ease);
}
.num-card:hover{transform:translateY(-2px);border-color:var(--line-glow);box-shadow:0 16px 38px rgba(3,8,20,.65);}
.num-card:hover::after{opacity:1;}
.num-index{
  font-family:var(--font-num);font-size:46px;font-weight:700;line-height:1;
  color:rgba(46,230,200,.22);letter-spacing:-1px;margin-bottom:14px;
  font-variant-numeric:tabular-nums;
}
.num-card h3{font-size:18px;font-weight:600;line-height:1.45;margin-bottom:10px;}
.num-card p{font-size:14px;line-height:1.8;color:var(--text-2);margin:0;}
.num-tag{
  display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;
  font-size:12px;color:var(--accent);background:rgba(46,230,200,.10);
  border:1px solid rgba(46,230,200,.2);margin-top:16px;
}

/* ---------- 数据条 ---------- */
.metric-band{
  background:linear-gradient(180deg,var(--bg-2),var(--bg-1));
  border:1px solid var(--line);border-radius:var(--r-card);padding:12px 26px;
  box-shadow:var(--shadow-card);
}
.metric-row{
  display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:center;
  padding:24px 0;border-bottom:1px solid var(--line);
}
.metric-row:last-child{border-bottom:none;}
.metric-label{font-size:13px;color:var(--text-3);letter-spacing:.3px;}
.metric-main{font-size:15px;color:var(--text-2);line-height:1.8;}
.metric-value{
  font-family:var(--font-num);font-size:40px;font-weight:700;line-height:1;
  color:var(--text);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;
}
.metric-value small{font-size:14px;color:var(--text-3);font-weight:500;}
.bar{grid-column:1 / -1;height:8px;border-radius:4px;background:rgba(120,170,255,.10);overflow:hidden;margin-top:14px;}
.bar i{display:block;height:100%;width:var(--w,60%);border-radius:4px;background:linear-gradient(90deg,rgba(46,230,200,.75),rgba(46,230,200,.28));}

/* ---------- 提示语对照 ---------- */
.hint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.hint-item{
  display:grid;grid-template-columns:1fr;gap:8px;padding:20px 22px;
  background:rgba(10,17,32,.85);border:1px solid var(--line);border-radius:var(--r-sm);
  transition:border-color var(--ease),background-color var(--ease);
}
.hint-item:hover{border-color:var(--line-glow);background:rgba(14,22,38,.92);}
.hint-quote{
  font-size:15px;font-weight:600;color:var(--text);
  padding-left:12px;border-left:3px solid rgba(46,230,200,.55);line-height:1.6;
}
.hint-mean{font-size:14px;color:var(--text-2);line-height:1.8;}
.hint-act{font-size:13px;color:var(--text-3);line-height:1.7;}

/* ---------- 交叉链接 ---------- */
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.link-card{
  display:flex;flex-direction:column;background:var(--bg-1);
  border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-card);transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.link-card:hover{transform:translateY(-2px);border-color:var(--line-glow);box-shadow:0 16px 38px rgba(3,8,20,.65);}
.link-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-2);}
.link-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease);}
.link-card:hover .link-thumb img{transform:scale(1.04);}
.link-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,8,15,.72));}
.link-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.link-body h3{font-size:18px;font-weight:600;line-height:1.45;}
.link-body p{font-size:14px;color:var(--text-2);line-height:1.8;margin:0;flex:1;}

/* ---------- CTA ---------- */
.cta-band{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0d1830,#0a1120 62%);
  border:1px solid var(--line-glow);border-radius:22px;
  padding:48px 44px;box-shadow:var(--shadow-card);
}
.cta-band::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.7),transparent);
}
.cta-band::after{
  content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,230,200,.14),transparent 65%);
}
.cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center;}
.cta-band h2{font-size:clamp(22px,2.4vw,30px);line-height:1.35;font-weight:700;margin-bottom:12px;}
.cta-band p{font-size:15px;color:var(--text-2);line-height:1.85;margin:0;}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
.cta-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.cta-list li{
  font-size:13px;color:var(--text-2);padding:7px 13px;border-radius:999px;
  background:rgba(120,170,255,.07);border:1px solid var(--line);
}

/* ---------- 页脚 ---------- */
.site-footer{
  position:relative;z-index:1;margin-top:40px;background:#04070E;padding:64px 0 0;
}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(46,230,200,.45),transparent);
}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.1fr;gap:36px;padding-bottom:44px;}
.footer-brand .brand{margin-bottom:16px;}
.footer-desc{font-size:14px;line-height:1.85;color:var(--text-3);max-width:340px;}
.footer-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:16px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:14px;color:var(--text-3);}
.footer-links a:hover{color:var(--accent);}
.footer-contact p{font-size:14px;line-height:1.8;color:var(--text-3);margin-bottom:10px;}
.footer-contact .btn-ghost{height:40px;padding:0 18px;font-size:14px;margin-top:6px;}
.footer-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
  padding:22px 0 30px;border-top:1px solid var(--line);
}
.footer-bottom p{font-size:14px;color:var(--text-3);margin:0;}

/* ---------- 响应式 ---------- */
@media (max-width:1199.98px){
  .hero-inner{grid-template-columns:1fr;gap:32px;}
  .hero-panel{max-width:580px;}
  .num-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .link-grid .link-card:last-child{grid-column:1 / -1;}
}
@media (max-width:991.98px){
  .section{padding:72px 0;}
  .section-tight{padding:56px 0;}
  .header-actions{margin-left:auto;}
  .nav-links{display:none !important;}
  .hero{padding:32px 0 64px;}
  .breadcrumb-bar{padding:96px 0 0;}
  .cta-inner{grid-template-columns:1fr;}
  .cta-actions{justify-content:flex-start;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
  .metric-row{grid-template-columns:150px 1fr auto;}
}
@media (max-width:767.98px){
  .container{padding-left:20px;padding-right:20px;}
  .section{padding:56px 0;}
  .num-grid{grid-template-columns:1fr;gap:16px;}
  .hint-grid{grid-template-columns:1fr;}
  .link-grid{grid-template-columns:1fr;}
  .link-grid .link-card:last-child{grid-column:auto;}
  .metric-row{grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0;}
  .metric-label{grid-column:1 / -1;}
  .metric-main{grid-column:1 / -1;font-size:14px;}
  .metric-band{padding:8px 20px;}
  .cta-band{padding:32px 24px;border-radius:18px;}
  .hero-sub{font-size:16px;}
  .footer-grid{grid-template-columns:1fr;gap:26px;padding-bottom:32px;}
  .footer-bottom{flex-direction:column;}
}
@media (max-width:575.98px){
  .brand-text{font-size:16px;}
  .hero-actions .btn-cta,.hero-actions .btn-ghost{width:100%;}
  .header-actions .btn-cta{display:none;}
  .num-card{padding:22px 20px;}
  .cta-actions .btn-cta,.cta-actions .btn-ghost{width:100%;}
  body{font-size:15px;}
}
