/* roulang page: index */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink:#0E1A2B;
  --ink-2:#5A6B80;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --r-lg:18px;
  --r-md:14px;
  --r-sm:12px;
  --r-pill:999px;
  --shadow-glow:0 8px 24px rgba(31,182,255,.32);
  --shadow-glow-hi:0 12px 30px rgba(31,182,255,.45);
  --shadow-light:0 2px 12px rgba(11,26,48,.06);
  --ease:cubic-bezier(.2,.7,.3,1);
  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-link-color:#0B6FD1;
  --bs-link-hover-color:#1FB6FF;
  --bs-body-color:#0E1A2B;
  --bs-border-radius:12px;
  --bs-font-sans-serif:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  background:var(--bg-0);
  color:var(--text-1);
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease);}
button,input,select,textarea{font:inherit;}
h1,h2,h3,h4{margin:0;letter-spacing:-.5px;font-weight:800;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
::selection{background:rgba(31,182,255,.25);}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px;width:100%;}
.num{font-variant-numeric:tabular-nums;font-family:"Inter","DIN Alternate",system-ui,sans-serif;}

/* ============ 顶部导航 ============ */
.site-header{
  position:sticky;top:0;z-index:1030;
  background:#FFFFFF;
  border-bottom:1px solid var(--light-border);
  box-shadow:0 2px 12px rgba(11,26,48,.06);
  transition:box-shadow .24s var(--ease);
}
.site-header.is-stuck{box-shadow:0 8px 28px rgba(11,26,48,.13);}
.nav-inner{display:flex;align-items:center;gap:20px;min-height:72px;}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-mark{
  width:32px;height:32px;border-radius:9px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  display:grid;place-items:center;color:#fff;
  box-shadow:0 6px 16px rgba(31,182,255,.28);
}
.logo-text{font-size:19px;font-weight:800;letter-spacing:-.5px;color:var(--ink);}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:6px;}
.nav-links a{
  position:relative;
  padding:9px 13px;border-radius:10px;
  font-size:15px;color:#41536b;white-space:nowrap;
}
.nav-links a:hover{color:var(--ink);background:var(--light-bg-2);}
.nav-links a.active{color:var(--brand-deep);font-weight:700;}
.nav-links a.active::after{
  content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;
  background:var(--brand);border-radius:2px;
}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.search-box{
  display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;
  border-radius:var(--r-pill);background:var(--light-bg-2);
  border:1px solid transparent;transition:border-color .22s var(--ease),box-shadow .22s var(--ease);
}
.search-box svg{flex-shrink:0;color:var(--ink-2);}
.search-box input{
  border:0;background:transparent;outline:none;width:126px;
  font-size:14px;color:var(--ink);
}
.search-box input::placeholder{color:#93a2b5;}
.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,182,255,.12);}
.btn-cta{
  display:inline-flex;align-items:center;gap:8px;
  height:42px;padding:0 20px;border:0;border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:var(--shadow-glow);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
.btn-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-hi);filter:brightness(1.06);color:#fff;}
.btn-cta:active{transform:translateY(1px);}
.btn-cta:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.45);}
.nav-toggle{
  display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--light-border);
  background:#fff;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;
}
.nav-toggle:hover{background:var(--light-bg-2);}

/* ============ 按钮体系 ============ */
.btn-solid{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:var(--r-sm);border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-weight:700;font-size:15.5px;
  box-shadow:var(--shadow-glow);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
.btn-solid:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-hi);filter:brightness(1.06);color:#fff;}
.btn-solid:active{transform:translateY(1px);}
.btn-solid:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.45);}
.btn-solid:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:var(--r-sm);
  background:transparent;border:1px solid rgba(255,255,255,.22);
  color:var(--text-1);font-weight:600;font-size:15.5px;cursor:pointer;
  transition:background-color .22s var(--ease),border-color .22s var(--ease),transform .2s var(--ease);
}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.36);color:#fff;}
.btn-ghost:active{transform:translateY(1px);}
.btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.35);}
.btn-accent{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:var(--r-sm);border:0;cursor:pointer;
  background:linear-gradient(135deg,#FF9E5C,#F4762A);color:#1A0E04;font-weight:800;font-size:15.5px;
  box-shadow:0 8px 22px rgba(255,138,61,.28);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,138,61,.4);}
.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:14.5px;font-weight:600;}
.text-link:hover{color:#7FD6FF;}
.text-link svg{transition:transform .22s var(--ease);}
.text-link:hover svg{transform:translateX(3px);}

/* ============ Hero ============ */
.hero{
  position:relative;overflow:hidden;min-height:660px;
  display:flex;align-items:center;padding:76px 0 84px;
  background:linear-gradient(135deg,#060A12 0%,#0C1424 58%,#0A1526 100%);
}
.hero::before{
  content:"";position:absolute;width:620px;height:620px;left:-220px;top:-260px;
  background:radial-gradient(circle,rgba(31,182,255,.09),transparent 66%);pointer-events:none;
}
.hero-media{position:absolute;top:0;right:0;width:52%;height:100%;z-index:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.55;}
.hero-media::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#060A12 0%,rgba(6,10,18,.78) 34%,rgba(6,10,18,.42) 100%);
}
.hero-media::after{content:"";position:absolute;inset:0;background:rgba(4,8,15,.34);}
.hero-inner{position:relative;z-index:2;width:100%;}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center;}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:var(--r-pill);
  background:var(--brand-soft);border:1px solid rgba(31,182,255,.28);
  color:#8FDCFF;font-size:13px;font-weight:600;margin-bottom:20px;
}
.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(53,224,161,.16);}
.hero h1{
  font-size:clamp(30px,4.2vw,54px);line-height:1.2;color:#FFFFFF;
  text-shadow:0 2px 24px rgba(0,0,0,.4);margin-bottom:18px;
}
.hero-sub{color:var(--text-2);font-size:17.5px;line-height:1.8;max-width:520px;}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:40px;padding:20px 8px;border-radius:16px;
  background:rgba(255,255,255,.055);border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  max-width:520px;
}
.hero-stats>div{padding:0 18px;border-right:1px solid rgba(255,255,255,.09);}
.hero-stats>div:last-child{border-right:0;}
.hero-stats .v{
  font-size:26px;font-weight:800;letter-spacing:-.5px;
  background:linear-gradient(120deg,#8FDCFF,#1FB6FF 60%,#0B6FD1);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-stats .k{font-size:13px;color:var(--text-3);margin-top:2px;}
.hero-panel{
  position:relative;
  border-radius:20px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 26px 60px rgba(0,0,0,.5);
  background:linear-gradient(140deg,#0E1930,#0A1220);
}
.hero-panel img{width:100%;aspect-ratio:16/11;object-fit:cover;}
.hero-panel .pbar{
  position:absolute;left:18px;right:18px;bottom:18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border-radius:14px;
  background:rgba(8,14,26,.72);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px) saturate(120%);
}
.hero-panel .pbar strong{font-size:14.5px;color:#fff;font-weight:700;}
.hero-panel .pbar span{font-size:12.5px;color:var(--text-2);}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(53,224,161,.15);}

/* ============ 区块通用 ============ */
.section{padding:96px 0;position:relative;background:var(--bg-0);}
.section.alt{background:var(--bg-1);}
.section.deep{background:var(--bg-2);}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:44px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;color:var(--brand);
  letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase;
}
.eyebrow::before{content:"";width:22px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--brand),var(--brand-deep));}
.section h2{font-size:clamp(24px,2.6vw,34px);line-height:1.3;color:#fff;}
.section .lead{color:var(--text-2);font-size:15.5px;margin-top:12px;max-width:620px;line-height:1.8;}

/* ============ 服务能力（非对称栅格） ============ */
.cards-asym{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;}
.card-glass{
  background:var(--surface-glass);border:1px solid var(--border-glass);
  border-radius:var(--r-lg);padding:28px;
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease);
  display:flex;flex-direction:column;gap:12px;
}
.card-glass:hover{
  border-color:rgba(31,182,255,.35);
  transform:translateY(-4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px rgba(0,0,0,.42);
}
.card-lg{grid-column:span 6;}
.card-sm{grid-column:span 3;}
.card-lg .thumb{border-radius:var(--r-md);overflow:hidden;margin-bottom:6px;}
.card-lg .thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.card-glass h3{font-size:19px;line-height:1.4;color:#fff;}
.card-sm h3{font-size:17px;}
.card-glass p{font-size:14.5px;line-height:1.8;color:var(--text-2);}
.card-ico{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:var(--brand-soft);border:1px solid rgba(31,182,255,.24);color:var(--brand);
}

/* ============ 优势数据条带 ============ */
.stat-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-radius:var(--r-lg);overflow:hidden;
  background:rgba(255,255,255,.045);border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
}
.stat-strip>div{padding:34px 26px;border-right:1px solid rgba(255,255,255,.08);}
.stat-strip>div:last-child{border-right:0;}
.stat-strip .v{
  font-size:clamp(30px,3vw,44px);font-weight:800;letter-spacing:-1px;line-height:1.1;
  background:linear-gradient(120deg,#8FDCFF,#1FB6FF 55%,#0B6FD1);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat-strip .k{font-size:13.5px;color:var(--text-2);margin-top:8px;}

/* ============ 案例交替图文 ============ */
.case-row{
  display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;
  padding:34px 0;border-bottom:1px solid rgba(255,255,255,.07);
}
.case-row:last-child{border-bottom:0;}
.case-row.reverse .case-media{order:2;}
.case-row.reverse .case-body{order:1;}
.case-media{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.09);}
.case-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s var(--ease);}
.case-row:hover .case-media img{transform:scale(1.03);}
.badge-tag{
  display:inline-flex;align-items:center;padding:5px 13px;border-radius:var(--r-pill);
  background:var(--brand-soft);border:1px solid rgba(31,182,255,.28);
  color:#8FDCFF;font-size:12.5px;font-weight:600;margin-bottom:14px;
}
.case-body h3{font-size:21px;color:#fff;margin-bottom:12px;}
.case-body p{color:var(--text-2);font-size:15px;line-height:1.85;margin-bottom:16px;max-width:520px;}

/* ============ 步骤路径 ============ */
.steps{position:relative;max-width:820px;}
.step{position:relative;display:grid;grid-template-columns:56px 1fr;gap:22px;padding-bottom:34px;}
.step:last-child{padding-bottom:0;}
.step::before{
  content:"";position:absolute;left:27px;top:56px;bottom:0;width:1px;
  background:linear-gradient(180deg,rgba(31,182,255,.45),rgba(31,182,255,.05));
}
.step:last-child::before{display:none;}
.step-no{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(31,182,255,.18),rgba(11,111,209,.12));
  border:1px solid rgba(31,182,255,.35);color:#8FDCFF;
  font-weight:800;font-size:17px;
}
.step h3{font-size:18px;color:#fff;margin-bottom:8px;}
.step p{color:var(--text-2);font-size:14.8px;line-height:1.85;max-width:620px;}

/* ============ 最新信息（CMS） ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-card{
  display:flex;flex-direction:column;gap:12px;
  background:var(--surface-glass);border:1px solid var(--border-glass);
  border-radius:var(--r-lg);padding:24px;
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease);
}
.news-card:hover{border-color:rgba(31,182,255,.35);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.42);}
.news-card:hover h3{color:var(--brand);}
.news-card h3{font-size:17.5px;line-height:1.5;color:#fff;transition:color .22s var(--ease);}
.news-card p{color:var(--text-2);font-size:14.3px;line-height:1.8;}
.news-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);
  font-size:13px;color:var(--text-3);
}
.badge-cat{
  display:inline-flex;align-items:center;align-self:flex-start;
  padding:4px 12px;border-radius:var(--r-pill);
  background:var(--brand-soft);color:#8FDCFF;font-size:12.5px;font-weight:600;
}
.empty-card{
  min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  border-radius:var(--r-lg);border:1px dashed rgba(255,255,255,.16);
  background:rgba(255,255,255,.035);padding:36px 24px;text-align:center;
}
.empty-card svg{color:var(--text-3);}
.empty-card p{color:var(--text-2);font-size:15px;}

/* ============ FAQ ============ */
.faq-panel{
  border-radius:var(--r-lg);border:1px solid var(--border-glass);
  background:rgba(255,255,255,.04);backdrop-filter:blur(14px) saturate(120%);
  overflow:hidden;
}
.faq-item+.faq-item{border-top:1px solid rgba(255,255,255,.08);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 26px;background:transparent;border:0;text-align:left;cursor:pointer;
  color:#fff;font-size:16.5px;font-weight:700;line-height:1.6;
  transition:background-color .22s var(--ease);
}
.faq-q:hover{background:rgba(255,255,255,.04);}
.faq-q:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:-2px;}
.faq-q .mark{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);
  color:var(--brand);transition:transform .24s var(--ease),border-color .24s var(--ease);
}
.faq-q[aria-expanded="true"] .mark{transform:rotate(45deg);border-color:rgba(31,182,255,.5);}
.faq-a{padding:0 26px 24px;color:var(--text-2);font-size:14.8px;line-height:1.85;display:none;max-width:900px;}
.faq-a.open{display:block;}

/* ============ CTA / 表单 ============ */
.cta-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:start;}
.contact-line{display:flex;align-items:flex-start;gap:12px;margin-top:16px;color:var(--text-2);font-size:14.8px;}
.contact-line .ico{
  width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  background:var(--brand-soft);border:1px solid rgba(31,182,255,.22);color:var(--brand);
}
.form-card{
  border-radius:var(--r-lg);border:1px solid var(--border-glass);
  background:rgba(255,255,255,.055);backdrop-filter:blur(14px) saturate(120%);
  padding:30px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.form-row{margin-bottom:18px;}
.form-row label{display:block;font-size:14px;color:var(--text-2);margin-bottom:8px;}
.form-row label .req{color:var(--accent);margin-left:4px;}
.form-control-dark{
  width:100%;height:48px;padding:0 14px;border-radius:var(--r-sm);
  background:rgba(8,14,26,.6);border:1px solid rgba(255,255,255,.14);
  color:var(--text-1);font-size:15px;outline:none;
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease);
}
textarea.form-control-dark{height:120px;padding:12px 14px;line-height:1.7;resize:vertical;}
.form-control-dark::placeholder{color:#7286a0;}
.form-control-dark:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,182,255,.12);}
.form-note{font-size:12.8px;color:var(--text-3);margin-top:14px;line-height:1.7;}

/* ============ 页脚 ============ */
.site-footer{background:#05080F;border-top:1px solid rgba(255,255,255,.08);padding:64px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{color:var(--text-2);font-size:14.3px;line-height:1.9;margin-top:16px;max-width:320px;}
.footer-col h4{font-size:15px;color:#fff;margin-bottom:18px;letter-spacing:0;}
.footer-col li{margin-bottom:11px;}
.footer-col a{color:var(--text-2);font-size:14.3px;line-height:1.9;}
.footer-col a:hover{color:var(--brand);}
.footer-bottom{
  margin-top:52px;padding:22px 0;border-top:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:13px;color:var(--text-3);
}
.footer-bottom a{color:var(--text-2);}
.footer-bottom a:hover{color:var(--brand);}

/* ============ 返回顶部 ============ */
.to-top{
  position:fixed;right:22px;bottom:26px;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:rgba(16,26,44,.78);border:1px solid rgba(255,255,255,.16);color:var(--text-1);
  backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;
  z-index:1040;
}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.to-top:hover{border-color:rgba(31,182,255,.5);color:var(--brand);}
.to-top:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:2px;}

/* ============ 响应式 ============ */
@media (max-width:1199.98px){
  .card-lg{grid-column:span 12;}
  .card-sm{grid-column:span 6;}
  .news-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px;}
}
@media (max-width:991.98px){
  .nav-toggle{display:flex;}
  .search-box{display:none;}
  .nav-links{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:4px;
    background:rgba(255,255,255,.97);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--light-border);
    padding:14px 20px 20px;box-shadow:0 18px 36px rgba(11,26,48,.14);
    margin-left:0;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 14px;font-size:16px;}
  .nav-links a.active::after{display:none;}
  .nav-links a.active{background:var(--brand-soft);}
  .nav-right .btn-cta{height:40px;padding:0 16px;font-size:14px;}
  .section{padding:64px 0;}
  .hero{padding:56px 0 64px;min-height:auto;}
  .hero-media{width:100%;opacity:.4;}
  .hero-media::before{background:linear-gradient(180deg,rgba(6,10,18,.82) 0%,rgba(6,10,18,.94) 100%);}
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .hero-panel{max-width:560px;}
  .case-row{grid-template-columns:1fr;gap:22px;}
  .case-row.reverse .case-media{order:0;}
  .case-row.reverse .case-body{order:0;}
  .cta-grid{grid-template-columns:1fr;gap:34px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:14px;}
}
@media (max-width:767.98px){
  .section{padding:48px 0;}
  .card-sm{grid-column:span 12;}
  .news-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .stat-strip>div{border-bottom:1px solid rgba(255,255,255,.08);}
  .stat-strip>div:nth-child(2n){border-right:0;}
  .stat-strip>div:nth-child(n+3){border-bottom:0;}
  .hero-stats{grid-template-columns:1fr;padding:16px;}
  .hero-stats>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:12px 6px;}
  .hero-stats>div:last-child{border-bottom:0;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn-solid,.hero-actions .btn-ghost{justify-content:center;width:100%;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .faq-q{padding:18px;font-size:15.5px;}
  .faq-a{padding:0 18px 20px;}
  .form-card{padding:22px;}
}

/* roulang page: article */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink:#0E1A2B;
  --ink-2:#5A6B80;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --radius-card:18px;
  --radius-sm:14px;
  --radius-btn:12px;
  --shadow-brand:0 8px 24px rgba(31,182,255,.32);
  --shadow-brand-hi:0 12px 30px rgba(31,182,255,.45);
  --shadow-light:0 2px 12px rgba(11,26,48,.06);
  --ease:cubic-bezier(.2,.7,.3,1);
  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-body-bg:#060A12;
  --bs-body-color:#EAF2FB;
  --bs-border-color:rgba(255,255,255,.10);
  --bs-link-color:#1FB6FF;
  --bs-link-hover-color:#FF8A3D;
  --bs-font-sans-serif:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text-1);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.85;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border:0;}
a{color:var(--brand);text-decoration:none;transition:color .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease);}
a:hover{color:var(--accent);}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
::selection{background:rgba(31,182,255,.25);}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.5px;line-height:1.35;}
p{margin:0 0 1em;}
ul,ol{margin:0;padding:0;list-style:none;}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--light-bg);
  border-bottom:1px solid var(--light-border);
  box-shadow:0 2px 12px rgba(11,26,48,.06);
  transition:box-shadow .24s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 8px 26px rgba(11,26,48,.14);}
.nav-inner{display:flex;align-items:center;gap:22px;min-height:72px;}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;letter-spacing:-.5px;font-size:19px;}
.logo:hover{color:var(--ink);}
.logo-mark{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 6px 16px rgba(31,182,255,.32);
}
.logo-text{white-space:nowrap;}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:8px;flex:1 1 auto;}
.nav-links a{
  position:relative;display:inline-block;padding:22px 12px;color:var(--ink-2);font-size:15px;font-weight:600;
  transition:color .2s var(--ease);
}
.nav-links a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:14px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-deep));transform:scaleX(0);transform-origin:left;
  transition:transform .22s var(--ease);
}
.nav-links a:hover{color:var(--brand);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--brand);}
.nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;}
.search-box{
  display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;
  background:var(--light-bg-2);border:1px solid transparent;color:var(--text-3);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);
}
.search-box:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(31,182,255,.14);}
.search-box input{border:0;outline:0;background:transparent;width:132px;font-size:14px;color:var(--ink);}
.search-box input::placeholder{color:#96A6BA;}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;font-weight:700;font-size:15px;
  box-shadow:0 6px 18px rgba(31,182,255,.28);white-space:nowrap;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
.btn-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-brand-hi);filter:brightness(1.06);}
.btn-cta:active{transform:translateY(1px);}
.nav-toggle{
  display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--light-border);background:#fff;color:var(--ink);cursor:pointer;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.nav-toggle:hover{border-color:var(--brand);color:var(--brand);}

/* ---------- progress ---------- */
.read-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:80;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .1s linear;}

/* ---------- banner ---------- */
.page-banner{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#060A12 0%,#0C1424 100%);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.page-banner::before{
  content:"";position:absolute;inset:0;
  background-image:url("/assets/images/backpic/back-1.png");
  background-size:cover;background-position:center right;
  opacity:.34;
}
.page-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,10,18,.96) 0%,rgba(6,10,18,.82) 45%,rgba(6,10,18,.46) 100%);
}
.banner-inner{position:relative;z-index:2;padding:40px 0 46px;}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--text-3);margin-bottom:18px;}
.crumb a{color:var(--text-2);}
.crumb a:hover{color:var(--brand);}
.crumb li{display:inline-flex;align-items:center;gap:8px;}
.crumb li+li::before{content:"/";color:rgba(255,255,255,.22);}
.crumb .current{color:#6E809A;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.banner-inner h1{
  font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.3;max-width:900px;
}
.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;font-size:13.5px;color:var(--text-2);}
.meta-row .dot{width:1px;height:13px;background:rgba(255,255,255,.14);}
.badge-cat{
  display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;
  background:var(--brand-soft);color:var(--brand);border:1px solid rgba(31,182,255,.28);
}
.badge-status{
  display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;
  background:rgba(53,224,161,.12);color:var(--ok);border:1px solid rgba(53,224,161,.28);
}
.badge-status i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block;}

/* ---------- layout ---------- */
.page-main{padding:56px 0 96px;background:var(--bg-0);}
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;}
@media(min-width:1200px){.layout{grid-template-columns:minmax(0,1fr) 328px;}}

/* ---------- article body ---------- */
.article-shell{
  background:var(--bg-1);
  border:1px solid var(--border-glass);
  border-radius:var(--radius-card);
  padding:34px 36px 40px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.prose{max-width:840px;font-size:17px;line-height:1.9;color:#C6D3E3;}
.prose>*:last-child{margin-bottom:0;}
.prose p{margin:0 0 20px;}
.prose h2{
  position:relative;margin:44px 0 18px;padding-left:16px;
  font-size:23px;font-weight:700;color:var(--text-1);line-height:1.4;
}
.prose h2::before{
  content:"";position:absolute;left:0;top:.28em;width:4px;height:20px;border-radius:3px;
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
}
.prose h3{margin:32px 0 14px;font-size:19.5px;font-weight:700;color:var(--text-1);}
.prose h4{margin:26px 0 12px;font-size:17px;font-weight:700;color:var(--text-1);}
.prose ul,.prose ol{margin:0 0 22px;padding-left:4px;}
.prose ul li{position:relative;padding-left:22px;margin-bottom:10px;}
.prose ul li::before{
  content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;
  background:var(--brand);box-shadow:0 0 0 4px rgba(31,182,255,.12);
}
.prose ol{counter-reset:item;}
.prose ol li{position:relative;padding-left:30px;margin-bottom:10px;counter-increment:item;}
.prose ol li::before{
  content:counter(item);position:absolute;left:0;top:.18em;width:20px;height:20px;border-radius:6px;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--brand);
  background:var(--brand-soft);border:1px solid rgba(31,182,255,.26);
}
.prose blockquote{
  margin:24px 0;padding:16px 20px 16px 22px;border-left:3px solid var(--brand);
  background:var(--surface-glass);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);
}
.prose blockquote p:last-child{margin-bottom:0;}
.prose img{border-radius:16px;margin:24px auto;border:1px solid rgba(255,255,255,.08);}
.prose figure{margin:24px 0;}
.prose figcaption{font-size:13px;color:var(--text-3);text-align:center;margin-top:10px;}
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--accent);}
.prose strong{color:#EAF2FB;font-weight:700;}
.prose hr{border:0;height:1px;background:rgba(255,255,255,.08);margin:34px 0;}
.prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14.5px;
  background:rgba(31,182,255,.10);border:1px solid rgba(31,182,255,.20);border-radius:6px;padding:2px 6px;color:#9FE0FF;
}
.prose pre{
  margin:22px 0;padding:18px 20px;background:#0A101C;border:1px solid rgba(255,255,255,.08);
  border-radius:12px;overflow-x:auto;
}
.prose pre code{background:transparent;border:0;padding:0;color:#C6D3E3;font-size:14px;line-height:1.8;}
.prose table{width:100%;margin:24px 0;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto;}
.prose th,.prose td{padding:12px 14px;border:1px solid rgba(255,255,255,.10);text-align:left;white-space:nowrap;}
.prose thead th{background:#0E1626;color:var(--text-1);font-weight:700;}
.prose tbody tr:nth-child(even){background:rgba(255,255,255,.03);}

.empty-note{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  min-height:220px;padding:36px 24px;text-align:center;
  background:var(--surface-glass);border:1px dashed rgba(255,255,255,.16);border-radius:var(--radius-card);
}
.empty-note p{color:var(--text-2);margin:0;}
.empty-note .icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft);border:1px solid rgba(31,182,255,.26);}

/* ---------- tags + nav ---------- */
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.tag{
  display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:999px;font-size:13.5px;
  color:var(--text-2);background:var(--surface-glass);border:1px solid var(--border-glass);
  transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.tag:hover{color:var(--brand);border-color:rgba(31,182,255,.35);transform:translateY(-1px);}
.post-nav{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px;}
@media(min-width:768px){.post-nav{grid-template-columns:1fr 1fr;}}
.post-nav a{
  display:block;padding:18px 20px;border-radius:var(--radius-sm);
  background:var(--bg-1);border:1px solid var(--border-glass);
  transition:border-color .2s var(--ease),transform .2s var(--ease),background-color .2s var(--ease);
}
.post-nav a:hover{border-color:rgba(31,182,255,.35);transform:translateY(-3px);background:var(--bg-2);}
.post-nav span{display:block;font-size:12.5px;color:var(--text-3);margin-bottom:6px;}
.post-nav strong{display:block;font-size:15.5px;font-weight:700;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.post-nav a:hover strong{color:var(--brand);}

/* ---------- sidebar ---------- */
.side-col{display:flex;flex-direction:column;gap:20px;}
.side-card{
  padding:24px 22px;border-radius:var(--radius-card);
  background:var(--bg-1);border:1px solid var(--border-glass);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.side-card h3{font-size:16px;font-weight:700;color:var(--text-1);margin-bottom:16px;letter-spacing:0;}
.side-list li+li{border-top:1px solid rgba(255,255,255,.07);}
.side-list a{display:flex;align-items:center;gap:10px;padding:12px 0;font-size:14.5px;color:var(--text-2);}
.side-list a:hover{color:var(--brand);}
.side-list .num{
  width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:grid;place-items:center;
  font-size:12px;font-weight:700;color:var(--brand);background:var(--brand-soft);border:1px solid rgba(31,182,255,.24);
}
.side-cta{
  background:linear-gradient(150deg,rgba(31,182,255,.16),rgba(11,111,209,.10)),var(--bg-2);
  border:1px solid rgba(31,182,255,.26);
}
.side-cta p{color:var(--text-2);font-size:14.3px;margin:0 0 18px;}
.sticky-side{position:sticky;top:88px;}

/* ---------- buttons ---------- */
.btn-brand,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;
  border-radius:var(--radius-btn);font-weight:700;font-size:15px;cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn-brand{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;border:0;box-shadow:var(--shadow-brand);}
.btn-brand:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-brand-hi);}
.btn-brand:active{transform:translateY(1px);}
.btn-brand:focus-visible,.btn-ghost:focus-visible,.btn-cta:focus-visible{outline:2px solid rgba(31,182,255,.45);outline-offset:2px;}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.22);color:var(--text-1);}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateY(-1px);}
.btn-accent{background:linear-gradient(135deg,var(--accent),#E06A1E);color:#fff;border:0;box-shadow:0 8px 24px rgba(255,138,61,.28);}
.btn-accent:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 30px rgba(255,138,61,.40);}
.btn-brand:disabled,.btn-ghost:disabled,.btn-accent:disabled{opacity:.5;box-shadow:none;transform:none;cursor:not-allowed;}

/* ---------- section head ---------- */
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;}
.section-head h2{font-size:clamp(22px,2.6vw,30px);font-weight:700;position:relative;padding-left:18px;}
.section-head h2::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:22px;border-radius:4px;background:linear-gradient(180deg,var(--brand),var(--brand-deep));
}
.section-head p{color:var(--text-2);font-size:14.5px;margin:0;}

/* ---------- related ---------- */
.related-sec{margin-top:64px;}
.card-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1200px){.card-grid{grid-template-columns:repeat(3,1fr);}}
.info-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-card);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.info-card:hover{border-color:rgba(31,182,255,.35);transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.36);}
.info-card .thumb{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(140deg,#0F1B2E,#0A101C);}
.info-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease);}
.info-card:hover .thumb img{transform:scale(1.04);}
.info-card .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;}
.info-card h3{font-size:18px;font-weight:700;color:var(--text-1);}
.info-card p{font-size:14.5px;color:var(--text-2);margin:0;}
.info-card:hover h3{color:var(--brand);}
.info-card .foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--text-3);}

/* ---------- faq ---------- */
.faq-sec{margin-top:64px;}
.faq-panel{background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-card);overflow:hidden;}
.faq-item+.faq-item{border-top:1px solid rgba(255,255,255,.08);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 24px;background:transparent;border:0;text-align:left;cursor:pointer;
  font-size:16.5px;font-weight:600;color:var(--text-1);
  transition:background-color .2s var(--ease);
}
.faq-q:hover{background:rgba(255,255,255,.04);}
.faq-q:focus-visible{outline:2px solid rgba(31,182,255,.45);outline-offset:-2px;}
.faq-q .chev{flex:0 0 auto;color:var(--text-2);transition:transform .24s var(--ease),color .24s var(--ease);}
.faq-q[aria-expanded="true"] .chev{transform:rotate(180deg);color:var(--brand);}
.faq-a{display:none;padding:0 24px 22px;font-size:15px;line-height:1.85;color:var(--text-2);}
.faq-a.open{display:block;}

/* ---------- cta band ---------- */
.cta-band{
  margin-top:72px;padding:38px 36px;border-radius:var(--radius-card);
  background:linear-gradient(120deg,rgba(31,182,255,.16),rgba(255,138,61,.10)),var(--bg-2);
  border:1px solid rgba(31,182,255,.24);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
}
.cta-band h2{font-size:clamp(20px,2.4vw,26px);font-weight:700;margin-bottom:10px;}
.cta-band p{color:var(--text-2);margin:0;font-size:14.8px;max-width:620px;}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;}

/* ---------- footer ---------- */
.site-footer{background:#05080F;border-top:1px solid rgba(255,255,255,.08);padding:64px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:992px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}}
.footer-brand .logo{color:#fff;margin-bottom:14px;}
.footer-brand p{color:var(--text-2);font-size:14.3px;line-height:1.9;margin:0;max-width:340px;}
.footer-col h4{font-size:15px;font-weight:700;color:#fff;margin-bottom:16px;}
.footer-col li{margin-bottom:10px;}
.footer-col a{color:var(--text-2);font-size:14.3px;line-height:1.9;}
.footer-col a:hover{color:var(--brand);}
.footer-bottom{
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-size:13px;color:var(--text-3);
}

/* ---------- back to top ---------- */
.to-top{
  position:fixed;right:24px;bottom:28px;width:46px;height:46px;border-radius:50%;
  display:none;place-items:center;cursor:pointer;z-index:70;
  background:var(--surface-glass);border:1px solid var(--border-glass);color:var(--text-2);
  backdrop-filter:blur(14px) saturate(120%);
  transition:color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);
}
.to-top.show{display:grid;}
.to-top:hover{color:var(--brand);border-color:rgba(31,182,255,.4);transform:translateY(-3px);}

/* ---------- bootstrap override ---------- */
.btn-primary{
  --bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-bg:transparent;
  --bs-btn-active-bg:transparent;--bs-btn-disabled-bg:transparent;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;border:0;
  border-radius:var(--radius-btn);box-shadow:var(--shadow-brand);font-weight:700;
}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#37BEFF,var(--brand-deep));color:#fff;box-shadow:var(--shadow-brand-hi);}
.card{background:var(--bg-1);border:1px solid var(--border-glass);border-radius:var(--radius-card);color:var(--text-1);}
.navbar{background:var(--light-bg);border-bottom:1px solid var(--light-border);}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:rgba(255,255,255,.08);--bs-accordion-btn-color:var(--text-1);--bs-accordion-active-bg:transparent;}
.form-control,.form-select{
  background:rgba(255,255,255,.05);border:1px solid var(--border-glass);color:var(--text-1);
  border-radius:var(--radius-btn);min-height:46px;
}
.form-control:focus,.form-select:focus{background:rgba(255,255,255,.07);border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,182,255,.14);color:var(--text-1);}
.form-control::placeholder{color:var(--text-3);}
.table{color:var(--text-2);border-color:rgba(255,255,255,.10);}
.badge{border-radius:999px;}
.breadcrumb{background:transparent;padding:0;margin:0;}
.pagination .page-link{background:var(--bg-1);border-color:var(--border-glass);color:var(--text-2);}
.dropdown-menu{background:var(--bg-2);border:1px solid var(--border-glass);border-radius:var(--radius-sm);}
.dropdown-item{color:var(--text-2);}
.dropdown-item:hover{background:rgba(255,255,255,.06);color:var(--brand);}

/* ---------- responsive ---------- */
@media(max-width:1199px){
  .sticky-side{position:static;}
}
@media(max-width:991px){
  .nav-toggle{display:inline-flex;}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;
    gap:0;margin:0;padding:10px 24px 22px;display:none;
    background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--light-border);box-shadow:0 18px 36px rgba(11,26,48,.14);
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 0;font-size:15.5px;}
  .nav-links a::after{display:none;}
  .nav-links a.active{color:var(--brand);}
  .site-header{position:sticky;}
  .nav-inner{position:relative;flex-wrap:wrap;}
  .search-box{display:none;}
  .article-shell{padding:26px 22px 30px;}
  .prose{font-size:16.5px;}
}
@media(max-width:767px){
  .wrap{padding:0 18px;}
  .page-main{padding:36px 0 72px;}
  .banner-inner{padding:28px 0 34px;}
  .btn-cta{height:40px;padding:0 16px;font-size:14px;}
  .cta-band{padding:28px 22px;}
  .cta-actions{width:100%;}
  .cta-actions .btn-brand,.cta-actions .btn-ghost{width:100%;}
  .footer-bottom{flex-direction:column;}
  .to-top{right:16px;bottom:18px;}
}

/* roulang page: category1 */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --accent-soft:rgba(255,138,61,.14);
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink:#0E1A2B;
  --ink-2:#5A6B80;
  --ink-3:#8496AB;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --r-lg:18px;
  --r-md:14px;
  --r-sm:12px;
  --shadow-soft:0 2px 12px rgba(11,26,48,.06);
  --shadow-glow:0 8px 24px rgba(31,182,255,.32);
  --shadow-glow-hi:0 12px 30px rgba(31,182,255,.45);
  --ease:cubic-bezier(.2,.7,.3,1);
  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-body-bg:#060A12;
  --bs-body-color:#EAF2FB;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text-1);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.85;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border-style:none;}
a{color:inherit;text-decoration:none;transition:color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease);}
button{font-family:inherit;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.5px;color:var(--text-1);line-height:1.32;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
::selection{background:rgba(31,182,255,.25);color:#fff;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:rgba(31,182,255,.4);}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:#fff;
  border-bottom:1px solid var(--light-border);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .24s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 6px 22px rgba(11,26,48,.13);}
.nav-inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:26px;
  min-height:72px;
}
.logo{display:inline-flex;align-items:center;gap:10px;flex:none;}
.logo-mark{
  width:32px;height:32px;border-radius:10px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;
  box-shadow:0 6px 16px rgba(31,182,255,.32);
}
.logo-text{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.5px;}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{
  position:relative;
  padding:9px 14px;
  border-radius:10px;
  font-size:15px;
  font-weight:600;
  color:#3E4E63;
}
.nav-links a:hover{background:#F3F6FA;color:var(--brand-deep);}
.nav-links a.active{color:var(--brand-deep);}
.nav-links a.active::after{
  content:"";
  position:absolute;
  left:14px;right:14px;bottom:-1px;
  height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-deep));
}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.search-box{
  display:flex;align-items:center;gap:8px;
  height:40px;padding:0 14px;
  border-radius:999px;
  background:#F3F6FA;
  border:1px solid transparent;
  color:var(--ink-3);
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background-color .22s var(--ease);
}
.search-box:focus-within{
  background:#fff;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(31,182,255,.16);
}
.search-box input{
  border:0;background:transparent;outline:none;
  width:148px;font-size:14.5px;color:var(--ink);
}
.search-box input::placeholder{color:var(--ink-3);}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  height:42px;padding:0 20px;
  border-radius:var(--r-sm);
  font-size:15px;font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:var(--shadow-glow);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-hi);filter:brightness(1.06);color:#fff;}
.btn-cta:active{transform:translateY(1px);box-shadow:0 4px 14px rgba(31,182,255,.28);}
.btn-cta:focus-visible{outline:2px solid rgba(31,182,255,.5);outline-offset:2px;}
.nav-toggle{
  display:none;
  width:42px;height:42px;
  border:1px solid var(--light-border);
  border-radius:var(--r-sm);
  background:#fff;color:var(--ink);
  place-items:center;
  cursor:pointer;
}

/* ---------- Buttons ---------- */
.btn-primary,
.btn-ghost,
.btn-accent{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:48px;padding:0 26px;
  border-radius:var(--r-sm);
  font-size:15.5px;font-weight:700;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:var(--shadow-glow);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-hi);filter:brightness(1.06);color:#fff;}
.btn-primary:active{transform:translateY(1px);}
.btn-primary:focus-visible{outline:2px solid rgba(31,182,255,.5);outline-offset:2px;}
.btn-ghost{
  color:var(--text-1);
  background:transparent;
  border-color:rgba(255,255,255,.22);
}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;}
.btn-ghost:focus-visible{outline:2px solid rgba(31,182,255,.45);outline-offset:2px;}
.btn-accent{
  color:#20130A;
  background:linear-gradient(135deg,#FFB077,var(--accent));
  box-shadow:0 8px 24px rgba(255,138,61,.28);
}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(255,138,61,.36);}
.btn-accent:focus-visible{outline:2px solid rgba(255,138,61,.5);outline-offset:2px;}
.btn-primary[disabled],.btn-ghost[disabled],.btn-accent[disabled]{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none;}

/* ---------- Banner ---------- */
.page-banner{
  position:relative;
  overflow:hidden;
  padding:56px 0 68px;
  background:linear-gradient(135deg,#060A12 0%,#0C1424 100%);
  border-bottom:1px solid var(--border-glass);
}
.page-banner::before{
  content:"";
  position:absolute;inset:0;
  background-image:url('/assets/images/backpic/back-1.png');
  background-size:cover;
  background-position:center right;
  opacity:.30;
}
.page-banner::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(6,10,18,.96) 0%,rgba(6,10,18,.82) 44%,rgba(6,10,18,.42) 100%);
}
.banner-inner{position:relative;z-index:2;}
.crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-bottom:22px;
  font-size:13px;color:var(--text-3);
}
.crumb li{display:flex;align-items:center;gap:8px;}
.crumb li+li::before{content:"/";color:rgba(255,255,255,.24);}
.crumb a:hover{color:var(--brand);}
.crumb li[aria-current] {color:var(--text-2);}
.page-banner h1{
  font-size:clamp(28px,3.9vw,44px);
  font-weight:800;
  line-height:1.24;
  max-width:900px;
  margin-bottom:16px;
}
.banner-lead{
  max-width:660px;
  font-size:17px;
  line-height:1.8;
  color:var(--text-2);
}
.banner-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.tag{
  display:inline-flex;align-items:center;
  padding:5px 14px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:600;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.24);
}
.tag-accent{
  color:var(--accent);
  background:var(--accent-soft);
  border-color:rgba(255,138,61,.28);
}

/* ---------- Section base ---------- */
.section{padding:96px 0;}
.sec-alt{background:var(--bg-1);}
.sec-head{max-width:720px;margin-bottom:44px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  margin-bottom:14px;
  font-size:13px;font-weight:700;
  letter-spacing:.04em;
  color:var(--brand);
}
.eyebrow::before{
  content:"";
  width:6px;height:20px;border-radius:3px;
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
}
.sec-head h2{font-size:clamp(24px,2.6vw,32px);font-weight:700;margin-bottom:14px;}
.sec-head p{font-size:16px;color:var(--text-2);line-height:1.85;}

/* ---------- Intro ---------- */
.intro-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.intro-text h2{font-size:clamp(24px,2.6vw,32px);margin:14px 0 16px;}
.intro-text p{color:var(--text-2);font-size:16.2px;line-height:1.9;margin-bottom:26px;}
.fact-list{display:grid;gap:14px;}
.fact-list li{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;
  border-radius:var(--r-md);
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  font-size:15px;
  color:var(--text-2);
}
.fact-list strong{color:var(--text-1);font-weight:700;}
.fact-list svg{flex:none;margin-top:5px;color:var(--brand);}
.intro-figure{
  margin:0;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--border-glass);
  background:linear-gradient(140deg,#101A2C,#0B1220);
}
.intro-figure img{width:100%;aspect-ratio:16/11;object-fit:cover;}
.intro-figure figcaption{
  padding:14px 18px;
  font-size:13px;
  color:var(--text-3);
  border-top:1px solid var(--border-glass);
}

/* ---------- Doc layout ---------- */
.doc-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:52px;
  align-items:start;
}
.side-nav{position:sticky;top:98px;}
.side-title{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--text-3);
  margin-bottom:14px;
}
.side-nav nav{display:flex;flex-direction:column;gap:2px;}
.side-nav a{
  display:block;
  padding:10px 14px;
  border-left:2px solid transparent;
  border-radius:0 10px 10px 0;
  font-size:14.6px;
  font-weight:600;
  color:var(--text-2);
}
.side-nav a:hover{color:var(--brand);background:rgba(255,255,255,.04);}
.side-nav a.is-active{
  color:var(--brand);
  border-left-color:var(--brand);
  background:var(--brand-soft);
}

.entry-group{margin-bottom:56px;}
.entry-group:last-child{margin-bottom:0;}
.entry-group > h2{
  font-size:clamp(21px,2.2vw,26px);
  margin-bottom:10px;
}
.group-note{font-size:15px;color:var(--text-2);margin-bottom:22px;max-width:760px;}
.entry-list{border-bottom:1px solid rgba(255,255,255,.08);}
.entry-row{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:24px 16px;
  border-radius:var(--r-md);
  transition:background-color .22s var(--ease),transform .22s var(--ease);
}
.entry-row + .entry-row{border-top:1px solid rgba(255,255,255,.08);}
.entry-row:hover{background:rgba(255,255,255,.045);}
.entry-icon{
  flex:none;
  width:44px;height:44px;
  border-radius:var(--r-sm);
  display:grid;place-items:center;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.26);
}
.entry-main{min-width:0;flex:1;}
.entry-main h3{font-size:18px;margin-bottom:8px;}
.entry-main p{font-size:14.8px;line-height:1.85;color:var(--text-2);}
.entry-arrow{
  flex:none;
  margin-top:12px;
  color:var(--text-3);
  transition:transform .22s var(--ease),color .22s var(--ease);
}
.entry-row:hover .entry-arrow{transform:translateX(4px);color:var(--brand);}

/* ---------- Scene ---------- */
.scene-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--border-glass);
  border:1px solid var(--border-glass);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.scene-item{
  padding:30px 30px 34px;
  background:var(--bg-1);
  transition:background-color .22s var(--ease);
}
.scene-item:hover{background:var(--bg-2);}
.scene-num{
  display:block;
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  font-size:26px;
  font-weight:800;
  color:var(--brand);
  opacity:.85;
  margin-bottom:12px;
}
.scene-item h3{font-size:18px;margin-bottom:8px;}
.scene-item p{font-size:14.8px;color:var(--text-2);line-height:1.85;}

/* ---------- Flow ---------- */
.flow-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  counter-reset:step;
}
.flow-list li{
  position:relative;
  padding:26px 22px;
  border-radius:var(--r-lg);
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.flow-list li:hover{border-color:rgba(31,182,255,.35);transform:translateY(-4px);box-shadow:0 16px 34px rgba(3,8,18,.5);}
.flow-idx{
  display:grid;place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  margin-bottom:16px;
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  font-size:15px;font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 6px 16px rgba(31,182,255,.30);
}
.flow-list h3{font-size:17px;margin-bottom:8px;}
.flow-list p{font-size:14.4px;color:var(--text-2);line-height:1.82;}

/* ---------- FAQ ---------- */
.faq-accordion{
  --bs-accordion-bg:transparent;
  --bs-accordion-border-color:rgba(255,255,255,.10);
  --bs-accordion-btn-color:var(--text-1);
  --bs-accordion-color:var(--text-2);
  --bs-accordion-active-bg:rgba(31,182,255,.08);
  --bs-accordion-active-color:#FFFFFF;
  --bs-accordion-btn-focus-box-shadow:none;
  --bs-accordion-border-radius:16px;
  --bs-accordion-inner-border-radius:16px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border-glass);
  background:var(--surface-glass);
  backdrop-filter:blur(14px) saturate(120%);
}
.faq-accordion .accordion-item{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.08);}
.faq-accordion .accordion-item:last-child{border-bottom:0;}
.faq-accordion .accordion-button{
  background:transparent;
  color:var(--text-1);
  font-size:16.5px;
  font-weight:700;
  padding:22px 24px;
  box-shadow:none;
  transition:background-color .22s var(--ease),color .22s var(--ease);
}
.faq-accordion .accordion-button:hover{background:rgba(255,255,255,.04);}
.faq-accordion .accordion-button:not(.collapsed){
  color:#fff;
  background:rgba(31,182,255,.08);
}
.faq-accordion .accordion-button::after{
  width:16px;height:16px;
  background-size:16px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A7B7CC' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  transition:transform .24s var(--ease);
}
.faq-accordion .accordion-button:not(.collapsed)::after{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FB6FF' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.faq-accordion .accordion-button:focus-visible{outline:2px solid rgba(31,182,255,.5);outline-offset:-2px;}
.faq-accordion .accordion-body{
  padding:0 24px 24px;
  font-size:15px;
  line-height:1.88;
  color:var(--text-2);
}

/* ---------- CTA band ---------- */
.cta-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px 38px;
  border-radius:22px;
  border:1px solid var(--border-glass);
  background:
    radial-gradient(120% 160% at 0% 0%,rgba(31,182,255,.20) 0%,rgba(31,182,255,0) 58%),
    radial-gradient(120% 160% at 100% 100%,rgba(255,138,61,.16) 0%,rgba(255,138,61,0) 60%),
    rgba(255,255,255,.045);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.cta-band h2{font-size:clamp(21px,2.2vw,27px);margin-bottom:8px;}
.cta-band p{font-size:15px;color:var(--text-2);}
.cta-actions{display:flex;align-items:center;gap:20px;flex:none;}
.cta-link{
  font-size:15px;font-weight:700;color:var(--brand);
  display:inline-flex;align-items:center;gap:6px;
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}
.cta-link:hover{color:#7FD4FF;border-bottom-color:rgba(31,182,255,.5);}

/* ---------- Footer ---------- */
.site-footer{
  background:#05080F;
  border-top:1px solid var(--border-glass);
  padding:72px 0 26px;
  margin-top:0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  gap:32px;
  padding-bottom:44px;
}
.footer-brand .logo{margin-bottom:16px;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{
  font-size:14.3px;
  line-height:1.9;
  color:var(--text-2);
  max-width:320px;
}
.footer-col h4{
  font-size:15px;
  font-weight:700;
  color:#fff;
  margin-bottom:18px;
}
.footer-col ul{display:grid;gap:12px;}
.footer-col a{font-size:14.3px;color:var(--text-2);line-height:1.9;}
.footer-col a:hover{color:var(--brand);}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:13.4px;
  color:var(--text-3);
}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .doc-layout{grid-template-columns:1fr;gap:32px;}
  .side-nav{
    position:static;
    display:flex;
    align-items:center;
    gap:10px;
    overflow-x:auto;
    padding-bottom:6px;
  }
  .side-title{display:none;}
  .side-nav nav{flex-direction:row;gap:8px;}
  .side-nav a{
    white-space:nowrap;
    border-left:0;
    border:1px solid var(--border-glass);
    border-radius:999px;
    padding:8px 16px;
    font-size:14px;
    background:var(--surface-glass);
  }
  .side-nav a.is-active{border-color:rgba(31,182,255,.4);background:var(--brand-soft);}
  .flow-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .intro-grid{grid-template-columns:1fr;gap:36px;}
}

@media (max-width:991px){
  .nav-inner{flex-wrap:wrap;gap:14px;min-height:64px;}
  .nav-toggle{display:grid;margin-left:auto;}
  .nav-right{margin-left:auto;gap:10px;}
  .nav-links{
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 24px 20px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px) saturate(120%);
    border-bottom:1px solid var(--light-border);
    box-shadow:0 18px 36px rgba(11,26,48,.14);
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:13px 6px;border-bottom:1px solid #EEF3F9;border-radius:0;}
  .nav-links a.active::after{display:none;}
  .nav-links a.active{color:var(--brand-deep);}
  .search-box{display:none;}
  .section{padding:64px 0;}
  .page-banner{padding:44px 0 54px;}
  .scene-grid{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;align-items:flex-start;padding:28px 24px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
}

@media (max-width:767px){
  body{font-size:15.5px;}
  .wrap{padding:0 18px;}
  .section{padding:48px 0;}
  .page-banner{padding:34px 0 44px;}
  .page-banner::before{background-position:center;}
  .flow-list{grid-template-columns:1fr;gap:16px;}
  .entry-row{padding:20px 12px;gap:14px;}
  .entry-icon{width:40px;height:40px;}
  .entry-main h3{font-size:17px;}
  .entry-arrow{display:none;}
  .cta-actions{flex-direction:column;align-items:stretch;width:100%;gap:14px;}
  .cta-actions .btn-primary{width:100%;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .banner-tags{gap:8px;}
}

/* roulang page: category2 */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink-1:#0E1A2B;
  --ink-2:#5A6B80;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --radius-card:18px;
  --radius-sm:14px;
  --radius-btn:12px;
  --shadow-light:0 2px 12px rgba(11,26,48,.06);
  --shadow-glow:0 8px 24px rgba(31,182,255,.32);
  --shadow-glow-hover:0 12px 30px rgba(31,182,255,.45);
  --ease:cubic-bezier(.2,.7,.3,1);
  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-link-color:#1FB6FF;
  --bs-link-hover-color:#63CDFF;
  --bs-body-font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text-1);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none;transition:color .22s var(--ease),border-color .22s var(--ease)}
a:hover{color:#63CDFF}
button,input{font-family:inherit}
::selection{background:rgba(31,182,255,.25);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26)}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid var(--light-border);
  box-shadow:0 2px 12px rgba(11,26,48,.06);
  transition:box-shadow .24s var(--ease);
}
.site-header.scrolled{box-shadow:0 6px 22px rgba(11,26,48,.13)}
.nav-inner{display:flex;align-items:center;gap:22px;height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink-1);font-weight:800;font-size:19px;letter-spacing:-0.5px;text-decoration:none}
.logo:hover{color:var(--ink-1)}
.logo-mark{
  width:32px;height:32px;border-radius:10px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;
  box-shadow:0 6px 16px rgba(31,182,255,.30);
  flex:0 0 32px;
}
.nav-links{display:flex;align-items:center;gap:22px;margin-left:10px}
.nav-links a{
  position:relative;
  display:inline-block;
  padding:6px 0;
  color:#41546B;
  font-size:15px;
  text-decoration:none;
  transition:color .22s var(--ease);
}
.nav-links a:hover{color:var(--brand-deep)}
.nav-links a.active{color:var(--brand-deep);font-weight:700}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:var(--brand);
}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.search-box{
  display:flex;align-items:center;gap:8px;
  height:40px;padding:0 14px;
  border-radius:999px;
  background:#F3F6FA;
  border:1px solid transparent;
  color:#8496AC;
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background-color .22s var(--ease);
}
.search-box:focus-within{
  background:#fff;
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(31,182,255,.12);
}
.search-box input{
  border:0;background:transparent;outline:none;
  font-size:14px;width:138px;color:var(--ink-1);
}
.search-box input::placeholder{color:#98A8BC}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  height:42px;padding:0 20px;
  border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-weight:700;font-size:14.5px;
  text-decoration:none;white-space:nowrap;
  box-shadow:var(--shadow-glow);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-glow-hover);filter:brightness(1.05)}
.btn-cta:active{transform:translateY(0)}
.btn-cta:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.45),var(--shadow-glow)}
.nav-toggle{
  display:none;
  width:42px;height:42px;border-radius:12px;
  align-items:center;justify-content:center;
  background:#F3F6FA;border:1px solid var(--light-border);
  color:var(--ink-1);cursor:pointer;
  transition:background-color .22s var(--ease),border-color .22s var(--ease);
}
.nav-toggle:hover{background:#E9F1FA;border-color:#D6E4F2}
.nav-toggle:focus-visible{outline:2px solid rgba(31,182,255,.5);outline-offset:2px}

/* ---------- Page banner ---------- */
.page-banner{
  position:relative;
  overflow:hidden;
  min-height:280px;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#060A12 0%,#0C1424 100%);
  border-bottom:1px solid var(--border-glass);
}
.banner-media{
  position:absolute;inset:0;
  background-image:url('/assets/images/backpic/back-2.png');
  background-size:cover;
  background-position:center;
  opacity:.38;
}
.page-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,10,18,.95) 0%,rgba(6,10,18,.74) 52%,rgba(6,10,18,.9) 100%);
}
.banner-inner{position:relative;z-index:2;padding-top:54px;padding-bottom:54px}
.page-banner .breadcrumb{
  background:transparent;
  padding:0;margin:0 0 16px;
  font-size:13px;
  --bs-breadcrumb-divider:"/";
  --bs-breadcrumb-item-padding-x:.55rem;
}
.page-banner .breadcrumb-item a{color:var(--text-3)}
.page-banner .breadcrumb-item a:hover{color:var(--brand)}
.page-banner .breadcrumb-item.active{color:#7E90A8}
.page-banner .breadcrumb-item+.breadcrumb-item::before{color:#43536A}
.page-banner h1{
  margin:0 0 14px;
  font-size:clamp(28px,3.7vw,44px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-0.5px;
  color:#fff;
  max-width:900px;
}
.banner-lead{
  margin:0;
  max-width:720px;
  font-size:16.5px;
  line-height:1.8;
  color:var(--text-2);
}

/* ---------- Section base ---------- */
.section{padding:96px 0;position:relative}
.section--alt{background:var(--bg-1)}
.section-head{max-width:760px;margin-bottom:56px}
.eyebrow{
  display:inline-block;
  padding:5px 14px;
  border-radius:999px;
  font-size:12.5px;
  letter-spacing:.10em;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.30);
  margin-bottom:18px;
}
.section-head h2{
  margin:0 0 14px;
  font-size:clamp(24px,2.6vw,32px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-0.5px;
  color:var(--text-1);
}
.section-head h2::before{
  content:"";display:block;
  width:22px;height:6px;border-radius:3px;
  background:var(--brand);
  margin-bottom:16px;
}
.section-sub{margin:0;color:var(--text-2);font-size:15.5px;line-height:1.85}

/* ---------- Scene rows ---------- */
.scene-row{
  display:grid;
  grid-template-columns:7fr 5fr;
  gap:52px;
  align-items:center;
  margin-bottom:80px;
}
.scene-row:last-child{margin-bottom:0}
.scene-row.reverse{grid-template-columns:5fr 7fr}
.scene-row.reverse .scene-text{order:2}
.scene-row.reverse .scene-media{order:1}

.badge-tag{
  display:inline-block;
  padding:5px 13px;
  border-radius:999px;
  font-size:12.5px;
  background:var(--brand-soft);
  color:var(--brand);
  border:1px solid rgba(31,182,255,.28);
  margin-bottom:16px;
}
.scene-text h3{
  margin:0 0 14px;
  font-size:clamp(20px,2.1vw,24px);
  font-weight:700;
  line-height:1.4;
  letter-spacing:-0.4px;
  color:var(--text-1);
}
.scene-text p{
  margin:0;
  color:var(--text-2);
  font-size:15.5px;
  line-height:1.85;
}
.check-list{
  list-style:none;
  padding:0;
  margin:24px 0 26px;
  display:grid;
  gap:12px;
}
.check-list li{
  display:flex;
  gap:12px;
  color:var(--text-2);
  font-size:15.2px;
  line-height:1.75;
}
.check-list svg{
  flex:0 0 20px;
  width:20px;height:20px;
  margin-top:4px;
  color:var(--ok);
}
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand);
  font-weight:700;
  font-size:15px;
  transition:color .22s var(--ease),gap .22s var(--ease);
}
.link-arrow:hover{color:#63CDFF;gap:13px}
.link-arrow svg{width:16px;height:16px}

.scene-media{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--border-glass);
  background:linear-gradient(135deg,#101A2C,#0B1220);
}
.scene-media img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .5s var(--ease);
}
.scene-media::after{
  content:"";position:absolute;inset:0;
  border-radius:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  pointer-events:none;
}
.scene-media:hover img{transform:scale(1.03)}

/* ---------- Steps ---------- */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.step{
  padding:28px 24px;
  border-radius:var(--radius-card);
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.step:hover{
  border-color:rgba(31,182,255,.35);
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(4,10,20,.55),inset 0 1px 0 rgba(255,255,255,.08);
}
.step-num{
  width:38px;height:38px;
  border-radius:50%;
  display:grid;place-items:center;
  font-weight:800;
  font-size:15px;
  color:var(--brand);
  background:rgba(31,182,255,.10);
  border:1px solid rgba(31,182,255,.35);
  margin-bottom:16px;
}
.step h3{margin:0 0 10px;font-size:17.5px;font-weight:700;line-height:1.4;color:var(--text-1)}
.step p{margin:0;font-size:14.6px;line-height:1.8;color:var(--text-2)}

/* ---------- Risk cards ---------- */
.risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.risk-card{
  padding:26px 26px 26px 28px;
  border-radius:var(--radius-card);
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-left:3px solid var(--accent);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease);
}
.risk-card:hover{border-color:rgba(255,138,61,.45);border-left-color:var(--accent);transform:translateY(-3px)}
.risk-card h3{margin:0 0 10px;font-size:17px;font-weight:700;color:var(--text-1);line-height:1.45}
.risk-card p{margin:0;font-size:14.8px;line-height:1.85;color:var(--text-2)}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:900px}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-width:0;--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-transition:none}
.accordion-item{
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-radius:16px;
  margin-bottom:14px;
  overflow:hidden;
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease);
}
.accordion-item:hover{border-color:rgba(31,182,255,.30)}
.accordion-button{
  background:transparent;
  color:var(--text-1);
  font-weight:700;
  font-size:16.3px;
  line-height:1.6;
  padding:20px 58px 20px 22px;
  box-shadow:none;
  transition:background-color .22s var(--ease),color .22s var(--ease);
}
.accordion-button:not(.collapsed){color:var(--brand);background:rgba(31,182,255,.06)}
.accordion-button:hover{background:rgba(255,255,255,.04)}
.accordion-button:focus-visible{box-shadow:0 0 0 2px rgba(31,182,255,.45);outline:none}
.accordion-button::after{
  width:18px;height:18px;background-size:18px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FB6FF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  transition:transform .24s var(--ease);
}
.accordion-button:not(.collapsed)::after{transform:rotate(-180deg)}
.accordion-body{
  padding:0 22px 22px;
  color:var(--text-2);
  font-size:14.9px;
  line-height:1.85;
}

/* ---------- CTA band ---------- */
.cta-band{padding:0 0 96px}
.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:46px 48px;
  border-radius:24px;
  background:linear-gradient(120deg,rgba(31,182,255,.16),rgba(11,111,209,.06) 55%,rgba(255,138,61,.10)),rgba(255,255,255,.05);
  border:1px solid rgba(31,182,255,.28);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.cta-text h2{
  margin:0 0 10px;
  font-size:clamp(21px,2.2vw,27px);
  font-weight:700;
  letter-spacing:-0.4px;
  color:#fff;
}
.cta-text p{margin:0;color:var(--text-2);font-size:15.2px;max-width:520px;line-height:1.8}
.cta-actions{display:flex;align-items:center;gap:22px;flex:0 0 auto}

.btn-main{
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 26px;
  border:0;border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-weight:700;font-size:15.5px;
  cursor:pointer;white-space:nowrap;
  box-shadow:var(--shadow-glow);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-main:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-glow-hover);filter:brightness(1.05)}
.btn-main:active{transform:translateY(1px);box-shadow:0 4px 14px rgba(31,182,255,.28)}
.btn-main:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.45),var(--shadow-glow)}
.btn-main:disabled,.btn-main.disabled{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none}

.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-btn);
  background:transparent;
  color:var(--text-1);
  font-weight:600;font-size:15.2px;
  cursor:pointer;white-space:nowrap;
  transition:background-color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease),color .22s var(--ease);
}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.34);transform:translateY(-1px)}
.btn-ghost:active{transform:translateY(1px)}
.btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,182,255,.40)}

.btn-primary{
  --bs-btn-bg:linear-gradient(135deg,#1FB6FF,#0B6FD1);
  --bs-btn-border-color:transparent;
  --bs-btn-hover-border-color:transparent;
  --bs-btn-color:#fff;
  --bs-btn-hover-color:#fff;
  border-radius:var(--radius-btn);
  box-shadow:var(--shadow-glow);
}

/* ---------- Footer ---------- */
.site-footer{
  background:#05080F;
  border-top:1px solid var(--border-glass);
  padding:64px 0 28px;
  color:var(--text-2);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:32px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand .logo{color:#fff;margin-bottom:16px}
.footer-brand .logo:hover{color:#fff}
.footer-brand p{margin:0;font-size:14.2px;line-height:1.9;color:var(--text-3);max-width:340px}
.footer-col h4{margin:0 0 16px;font-size:15px;font-weight:700;color:#fff;letter-spacing:-0.2px}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-col a{color:var(--text-2);font-size:14.3px;line-height:1.9;transition:color .22s var(--ease)}
.footer-col a:hover{color:var(--brand)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-top:22px;
  font-size:13.4px;
  color:var(--text-3);
}

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;
  right:24px;bottom:28px;
  width:44px;height:44px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.09);
  border:1px solid var(--border-glass);
  backdrop-filter:blur(10px);
  color:var(--text-1);
  cursor:pointer;
  opacity:0;visibility:hidden;
  transform:translateY(10px);
  transition:opacity .24s var(--ease),visibility .24s var(--ease),transform .24s var(--ease),background-color .24s var(--ease);
  z-index:900;
}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:rgba(31,182,255,.22);border-color:rgba(31,182,255,.5)}
.to-top:focus-visible{outline:2px solid rgba(31,182,255,.5);outline-offset:2px}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .section{padding:80px 0}
  .scene-row{gap:40px}
}
@media (max-width:991px){
  .nav-inner{height:68px;gap:14px}
  .nav-links{
    position:absolute;
    top:68px;left:0;right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:10px 24px 18px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(14px) saturate(120%);
    border-bottom:1px solid var(--light-border);
    box-shadow:0 14px 34px rgba(11,26,48,.14);
    display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 0;border-bottom:1px solid #EEF3F9}
  .nav-links a:last-child{border-bottom:0}
  .nav-links a.active::after{display:none}
  .nav-toggle{display:inline-flex}
  .search-box{display:none}
  .scene-row,
  .scene-row.reverse{grid-template-columns:1fr;gap:28px}
  .scene-row.reverse .scene-text{order:1}
  .scene-row.reverse .scene-media{order:2}
  .steps{grid-template-columns:repeat(2,1fr)}
  .risk-grid{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;align-items:flex-start;padding:36px 32px}
  .cta-actions{flex-wrap:wrap;gap:16px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .banner-inner{padding-top:44px;padding-bottom:44px}
}
@media (max-width:767px){
  .section{padding:56px 0}
  .section-head{margin-bottom:36px}
  .scene-row{margin-bottom:56px}
  .cta-band{padding-bottom:64px}
  .site-footer{padding:48px 0 24px}
  .to-top{right:16px;bottom:18px}
}
@media (max-width:575px){
  .wrap{padding:0 18px}
  .logo-text{font-size:17px}
  .btn-cta{height:40px;padding:0 14px;font-size:13.4px}
  .page-banner{min-height:230px}
  .banner-lead{font-size:15.2px}
  .steps{grid-template-columns:1fr}
  .cta-inner{padding:28px 22px;border-radius:20px}
  .cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:12px}
  .btn-main,.btn-ghost{width:100%}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
}

/* roulang page: category3 */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink:#0E1A2B;
  --ink-2:#5A6B80;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --radius:18px;
  --radius-sm:14px;
  --radius-btn:12px;
  --shadow-brand:0 8px 24px rgba(31,182,255,.32);
  --shadow-brand-hover:0 12px 30px rgba(31,182,255,.45);
  --shadow-light:0 2px 12px rgba(11,26,48,.06);
  --ease:cubic-bezier(.2,.7,.3,1);

  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-body-bg:#060A12;
  --bs-body-color:#EAF2FB;
  --bs-border-color:rgba(255,255,255,.10);
  --bs-border-radius:14px;
  --bs-link-color:#1FB6FF;
  --bs-link-hover-color:#66CDFF;
  --bs-font-sans-serif:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--bg-0);
  color:var(--text-1);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;height:auto;}
a{color:var(--brand);text-decoration:none;transition:color .22s var(--ease);}
a:hover{color:#66CDFF;}
button{font-family:inherit;}
ul,ol{margin:0;padding:0;}
h1,h2,h3,h4{margin:0;letter-spacing:-.5px;line-height:1.3;}
p{margin:0;}

::selection{background:rgba(31,182,255,.25);}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px;}

.wrap{max-width:1240px;margin:0 auto;padding:0 24px;}

/* ============ 顶部导航 ============ */
.site-header{
  position:sticky;top:0;z-index:1030;
  background:var(--light-bg);
  border-bottom:1px solid var(--light-border);
  box-shadow:var(--shadow-light);
  transition:box-shadow .24s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 6px 22px rgba(11,26,48,.13);}
.nav-inner{position:relative;display:flex;align-items:center;gap:26px;height:72px;}

.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);}
.logo:hover{color:var(--ink);}
.logo-mark{
  width:32px;height:32px;flex:none;border-radius:9px;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 6px 16px rgba(31,182,255,.28);
}
.logo-text{font-weight:800;font-size:19px;letter-spacing:-.5px;}

.nav-links{display:flex;align-items:center;gap:4px;margin-left:6px;}
.nav-links a{
  position:relative;
  display:block;
  padding:10px 12px;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  border-radius:10px;
  transition:color .22s var(--ease),background-color .22s var(--ease);
}
.nav-links a:hover{color:var(--brand-deep);background:var(--light-bg-2);}
.nav-links a.active{color:var(--brand-deep);}
.nav-links a.active::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
  border-radius:2px;background:var(--brand);
}

.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.search-box{
  display:flex;align-items:center;gap:8px;
  height:40px;padding:0 14px;
  border-radius:999px;
  background:var(--light-bg-2);
  border:1px solid transparent;
  color:var(--ink-2);
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background-color .22s var(--ease);
}
.search-box:focus-within{
  background:#fff;border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(31,182,255,.14);
}
.search-box input{
  border:0;background:transparent;outline:none;
  width:148px;font-size:14px;color:var(--ink);
}
.search-box input::placeholder{color:#93A3B8;}

.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;
  font-size:14.5px;font-weight:700;color:#fff;
  border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 6px 18px rgba(31,182,255,.26);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-cta:hover{
  color:#fff;transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(31,182,255,.42);
  filter:brightness(1.06);
}

.nav-toggle{
  display:none;
  width:42px;height:42px;place-items:center;
  border-radius:10px;border:1px solid var(--light-border);
  background:#fff;color:var(--ink);cursor:pointer;
  transition:background-color .22s var(--ease),border-color .22s var(--ease);
}
.nav-toggle:hover{background:var(--light-bg-2);border-color:#D3E0EE;}

/* ============ 页面 Banner ============ */
.page-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#060A12 0%,#0C1424 100%);
  border-bottom:1px solid var(--border-glass);
  padding:56px 0 66px;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:url('/assets/images/backpic/back-2.png') center/cover no-repeat;
  opacity:.30;
}
.page-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(6,10,18,.96) 12%,rgba(6,10,18,.70) 62%,rgba(6,10,18,.90) 100%);
}
.page-hero .wrap{position:relative;z-index:2;}

.breadcrumb-list{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  list-style:none;font-size:13px;color:var(--text-3);
  margin-bottom:20px;
}
.breadcrumb-list li{display:flex;align-items:center;gap:9px;}
.breadcrumb-list li+li::before{content:"/";color:#3B4A5F;}
.breadcrumb-list a{color:var(--text-2);}
.breadcrumb-list a:hover{color:var(--brand);}
.breadcrumb-list .current{color:#5F7characters;}
.breadcrumb-list .current{color:#6E809A;}

.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;margin-bottom:18px;
  font-size:12.6px;font-weight:700;letter-spacing:.4px;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.26);
  border-radius:999px;
}
.hero-tag i{
  width:6px;height:6px;border-radius:50%;background:var(--brand);
  box-shadow:0 0 0 3px rgba(31,182,255,.18);
}

.page-hero h1{
  font-size:clamp(30px,4.2vw,50px);
  font-weight:800;line-height:1.2;color:#fff;
  max-width:820px;
}
.hero-lead{
  margin-top:16px;max-width:700px;
  font-size:17px;line-height:1.85;color:var(--text-2);
}

.doc-search{
  display:flex;align-items:center;gap:12px;
  margin-top:30px;max-width:520px;
  height:52px;padding:0 18px;
  border-radius:999px;
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  color:var(--text-3);
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease);
}
.doc-search:focus-within{
  border-color:rgba(31,182,255,.55);
  box-shadow:0 0 0 5px rgba(31,182,255,.12);
}
.doc-search input{
  flex:1;min-width:0;border:0;background:transparent;outline:none;
  font-size:14.6px;color:var(--text-1);
}
.doc-search input::placeholder{color:var(--text-3);}
.doc-search-hint{
  flex:none;font-size:12.6px;color:var(--text-3);
  padding-left:12px;border-left:1px solid var(--border-glass);
}

/* ============ 通用区块 ============ */
.section{padding:92px 0;}
.section-alt{background:var(--bg-1);}
.section-head{max-width:720px;margin-bottom:44px;}
.section-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:700;letter-spacing:.6px;color:var(--brand);
  margin-bottom:14px;
}
.section-kicker::before{
  content:"";width:22px;height:6px;border-radius:6px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
}
.section-head h2{font-size:clamp(24px,3vw,33px);font-weight:700;color:#fff;}
.section-head p{margin-top:14px;font-size:15.6px;line-height:1.9;color:var(--text-2);}

/* ============ 文档双栏 ============ */
.doc-grid{
  display:grid;
  grid-template-columns:272px minmax(0,1fr);
  gap:36px;
  align-items:start;
}

.doc-tree{
  position:sticky;top:96px;
  padding:22px 18px;
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-radius:var(--radius);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.doc-tree h2{
  font-size:13px;font-weight:700;letter-spacing:.6px;
  color:var(--text-3);text-transform:uppercase;
  padding:0 10px 12px;
}
.doc-tree ul{list-style:none;}
.doc-tree li{margin-bottom:3px;}
.doc-tree a{
  display:block;
  padding:9px 12px;
  font-size:14.2px;color:var(--text-2);
  border-left:2px solid transparent;
  border-radius:0 10px 10px 0;
  transition:color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease);
}
.doc-tree a:hover{color:var(--text-1);background:rgba(255,255,255,.05);}
.doc-tree a.is-current{
  color:var(--brand);font-weight:600;
  border-left-color:var(--brand);
  background:var(--brand-soft);
}
.doc-tree .tree-sub{margin:4px 0 10px 12px;}
.doc-tree .tree-sub a{padding-left:20px;font-size:13.5px;color:var(--text-3);}

/* ============ 折叠文档面板 ============ */
.doc-panel{
  margin-bottom:14px;
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-radius:var(--radius);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  transition:border-color .24s var(--ease),transform .24s var(--ease);
}
.doc-panel:hover{border-color:rgba(31,182,255,.30);transform:translateY(-2px);}

.panel-toggle{
  display:flex;align-items:center;gap:16px;
  width:100%;padding:20px 22px;
  background:transparent;border:0;
  color:var(--text-1);text-align:left;cursor:pointer;
  font-size:17.5px;font-weight:700;letter-spacing:-.3px;line-height:1.5;
  transition:background-color .22s var(--ease);
}
.panel-toggle:hover{background:rgba(255,255,255,.04);}
.panel-toggle:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:-2px;}

.panel-num{
  flex:none;width:36px;height:36px;
  display:grid;place-items:center;
  font-size:13.5px;font-weight:800;
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.28);
  border-radius:10px;
}
.panel-chevron{
  margin-left:auto;flex:none;color:var(--text-3);
  transition:transform .24s var(--ease),color .24s var(--ease);
}
.panel-toggle[aria-expanded="true"] .panel-chevron{transform:rotate(180deg);color:var(--brand);}
.panel-toggle[aria-expanded="true"] .panel-num{
  color:#04121E;background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  border-color:transparent;
}

.panel-body{
  padding:0 22px 24px 74px;
  font-size:15.2px;line-height:1.9;color:var(--text-2);
}
.panel-body p+p{margin-top:14px;}
.panel-body strong{color:var(--text-1);font-weight:700;}

.doc-list{list-style:none;margin-top:14px;}
.doc-list li{
  position:relative;padding-left:22px;margin-bottom:10px;
}
.doc-list li::before{
  content:"";position:absolute;left:2px;top:11px;
  width:8px;height:8px;border-radius:2px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
}

.note-box{
  margin-top:16px;padding:14px 18px;
  background:rgba(255,138,61,.08);
  border:1px solid rgba(255,138,61,.28);
  border-left:3px solid var(--accent);
  border-radius:12px;
  font-size:14.4px;color:#F5D9C4;
}

/* ============ 排查步骤 ============ */
.step-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.step-item{
  padding:26px 22px 24px;
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-radius:var(--radius);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease);
}
.step-item:hover{
  border-color:rgba(31,182,255,.35);
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(4,10,20,.5);
}
.step-index{
  width:42px;height:42px;margin-bottom:16px;
  display:grid;place-items:center;
  font-size:15px;font-weight:800;
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.32);
  border-radius:50%;
}
.step-item h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:10px;}
.step-item p{font-size:14.6px;line-height:1.85;color:var(--text-2);}

/* ============ 现象对照 ============ */
.pattern-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:38px;
  align-items:center;
}
.pattern-figure{
  position:relative;overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,#0E1A2C,#070C16);
}
.pattern-figure img{
  width:100%;aspect-ratio:16/10;object-fit:cover;
  transition:transform .5s var(--ease);
}
.pattern-figure:hover img{transform:scale(1.03);}
.pattern-figure figcaption{
  position:absolute;left:18px;bottom:16px;
  padding:6px 14px;font-size:12.6px;font-weight:600;
  color:#EAF2FB;border-radius:999px;
  background:rgba(6,10,18,.62);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
}

.pattern-list{list-style:none;}
.pattern-list li{
  display:flex;gap:16px;
  padding:18px 0;
  border-bottom:1px solid var(--border-glass);
}
.pattern-list li:first-child{padding-top:0;}
.pattern-list li:last-child{border-bottom:0;padding-bottom:0;}
.pattern-icon{
  flex:none;width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:12px;color:var(--brand);
  background:var(--brand-soft);
  border:1px solid rgba(31,182,255,.26);
}
.pattern-list h3{font-size:17px;font-weight:700;color:#fff;margin-bottom:7px;}
.pattern-list p{font-size:14.6px;line-height:1.85;color:var(--text-2);}

/* ============ 提交反馈要点 ============ */
.tip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.tip-card{
  padding:28px 26px;
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  border-radius:var(--radius);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .24s var(--ease),transform .24s var(--ease);
}
.tip-card:hover{border-color:rgba(31,182,255,.34);transform:translateY(-4px);}
.tip-card h3{
  display:flex;align-items:center;gap:10px;
  font-size:18px;font-weight:700;color:#fff;margin-bottom:16px;
}
.tip-card h3 svg{color:var(--brand);flex:none;}
.tip-card ul{list-style:none;}
.tip-card li{
  position:relative;padding-left:20px;margin-bottom:10px;
  font-size:14.8px;line-height:1.85;color:var(--text-2);
}
.tip-card li::before{
  content:"";position:absolute;left:0;top:10px;
  width:6px;height:6px;border-radius:50%;background:var(--brand);
}

/* ============ CTA 条带 ============ */
.cta-wrap{padding:0 0 96px;}
.cta-band{
  display:flex;flex-wrap:wrap;align-items:center;gap:26px;
  padding:36px 40px;
  border-radius:24px;
  background:linear-gradient(120deg,rgba(31,182,255,.16),rgba(255,138,61,.10));
  border:1px solid rgba(31,182,255,.30);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.cta-text{flex:1 1 380px;min-width:260px;}
.cta-text h2{font-size:clamp(21px,2.6vw,27px);font-weight:700;color:#fff;}
.cta-text p{margin-top:10px;font-size:15px;line-height:1.85;color:var(--text-2);}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}

.btn-primary-solid{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 26px;
  font-size:15px;font-weight:700;color:#fff;
  border:0;border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:var(--shadow-brand);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-primary-solid:hover{
  color:#fff;transform:translateY(-1px);
  box-shadow:var(--shadow-brand-hover);filter:brightness(1.06);
}
.btn-primary-solid:active{transform:translateY(1px);}
.btn-primary-solid:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:3px;}

.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;
  font-size:14.6px;font-weight:600;color:var(--text-1);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-btn);
  background:transparent;
  transition:background-color .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.btn-ghost:hover{
  color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.38);
}
.btn-ghost:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:3px;}

.text-link{
  display:inline-flex;align-items:center;gap:7px;
  font-size:14.6px;font-weight:600;color:var(--text-1);
  border-bottom:1px solid rgba(255,255,255,.24);
  padding-bottom:3px;
  transition:color .22s var(--ease),border-color .22s var(--ease),gap .22s var(--ease);
}
.text-link:hover{color:var(--brand);border-color:var(--brand);gap:11px;}

/* ============ 页脚 ============ */
.site-footer{
  background:#05080F;
  border-top:1px solid rgba(255,255,255,.08);
  padding:64px 0 28px;
  color:var(--text-2);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:32px;
}
.footer-brand .logo{color:var(--text-1);}
.footer-brand .logo:hover{color:var(--text-1);}
.footer-brand p{
  margin-top:16px;max-width:330px;
  font-size:14.3px;line-height:1.9;color:var(--text-2);
}
.footer-col h4{font-size:15px;font-weight:700;color:var(--text-1);margin-bottom:14px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:10px;line-height:1.9;}
.footer-col a{font-size:14.3px;color:var(--text-2);}
.footer-col a:hover{color:var(--brand);}
.footer-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;
  margin-top:46px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:13.4px;color:var(--text-3);
}

/* ============ 响应式 ============ */
@media (max-width:1199px){
  .doc-grid{grid-template-columns:236px minmax(0,1fr);gap:28px;}
  .step-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:28px;}
}

@media (max-width:991px){
  .nav-inner{height:66px;gap:16px;}
  .nav-toggle{display:grid;}
  .search-box{display:none;}
  .nav-links{
    display:none;
    position:absolute;left:-24px;right:-24px;top:100%;
    flex-direction:column;align-items:stretch;gap:2px;
    padding:14px 24px 20px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px) saturate(120%);
    border-bottom:1px solid var(--light-border);
    box-shadow:0 18px 40px rgba(11,26,48,.14);
  }
  .nav-links.is-open{display:flex;}
  .nav-links a{padding:12px 10px;font-size:15.5px;}
  .nav-links a.active::after{left:10px;right:auto;width:18px;bottom:8px;}
  .btn-cta{padding:9px 14px;font-size:13.8px;}

  .page-hero{padding:44px 0 52px;}
  .section{padding:64px 0;}
  .doc-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
  .doc-tree{position:static;}
  .pattern-grid{grid-template-columns:minmax(0,1fr);gap:26px;}
  .tip-grid{grid-template-columns:minmax(0,1fr);}
  .cta-band{padding:30px 26px;}
  .cta-wrap{padding-bottom:72px;}
}

@media (max-width:767px){
  .wrap{padding:0 18px;}
  .logo-text{font-size:17.5px;}
  .page-hero h1{font-size:clamp(26px,7vw,34px);}
  .hero-lead{font-size:15.6px;}
  .doc-search{height:48px;padding:0 16px;}
  .doc-search-hint{display:none;}
  .panel-toggle{padding:17px 16px;font-size:16px;gap:12px;}
  .panel-num{width:32px;height:32px;font-size:12.6px;}
  .panel-body{padding:0 16px 20px 16px;font-size:14.8px;}
  .step-grid{grid-template-columns:minmax(0,1fr);}
  .section{padding:52px 0;}
  .cta-actions{width:100%;}
  .btn-primary-solid,.btn-ghost{width:100%;justify-content:center;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
  .footer-brand{grid-column:1 / -1;}
}

/* roulang page: category4 */
:root{
  --bg-0:#060A12;
  --bg-1:#0B1220;
  --bg-2:#101A2C;
  --table-head:#0E1626;
  --surface-glass:rgba(255,255,255,.055);
  --border-glass:rgba(255,255,255,.10);
  --brand:#1FB6FF;
  --brand-deep:#0B6FD1;
  --brand-soft:rgba(31,182,255,.14);
  --accent:#FF8A3D;
  --accent-soft:rgba(255,138,61,.14);
  --ok:#35E0A1;
  --light-bg:#FFFFFF;
  --light-bg-2:#F5F8FC;
  --light-border:#E6EDF5;
  --ink-1:#0E1A2B;
  --ink-2:#5A6B80;
  --text-1:#EAF2FB;
  --text-2:#A7B7CC;
  --text-3:#6E809A;
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:12px;
  --shadow-brand:0 8px 24px rgba(31,182,255,.32);
  --shadow-brand-hover:0 12px 30px rgba(31,182,255,.45);
  --shadow-soft:0 2px 12px rgba(11,26,48,.06);
  --wrap:1240px;
  --ease:cubic-bezier(.2,.7,.3,1);

  --bs-primary:#1FB6FF;
  --bs-primary-rgb:31,182,255;
  --bs-body-bg:#060A12;
  --bs-body-color:#EAF2FB;
  --bs-border-color:rgba(255,255,255,.10);
  --bs-border-radius:14px;
  --bs-link-color:#1FB6FF;
  --bs-link-hover-color:#FF8A3D;
  --bs-font-sans-serif:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text-1);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--brand);text-decoration:none;transition:color .22s var(--ease);}
a:hover{color:var(--accent);}
button,input,textarea,select{font-family:inherit;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.5px;color:var(--text-1);}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
::selection{background:rgba(31,182,255,.25);}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;}
:focus-visible{outline:2px solid rgba(31,182,255,.55);outline-offset:2px;}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:#FFFFFF;
  border-bottom:1px solid var(--light-border);
  box-shadow:0 2px 12px rgba(11,26,48,.06);
  transition:box-shadow .24s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 6px 22px rgba(11,26,48,.12);}
.nav-inner{display:flex;align-items:center;gap:22px;min-height:70px;}
.logo{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--ink-1);font-weight:800;letter-spacing:-.5px;font-size:19px;
  white-space:nowrap;
}
.logo:hover{color:var(--ink-1);}
.logo-mark{
  width:32px;height:32px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;box-shadow:0 6px 16px rgba(31,182,255,.28);
  flex:none;
}
.logo-text{color:var(--ink-1);}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:8px;}
.nav-links a{
  position:relative;
  display:inline-block;
  padding:8px 12px 10px;
  font-size:15px;font-weight:600;color:#43536B;
  border-radius:8px;
  transition:color .2s var(--ease),background-color .2s var(--ease);
}
.nav-links a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
  border-radius:2px;background:var(--brand);opacity:0;transform:scaleX(.5);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.nav-links a:hover{color:var(--brand-deep);background:rgba(31,182,255,.07);}
.nav-links a.active{color:var(--brand-deep);}
.nav-links a.active::after{opacity:1;transform:scaleX(1);}
.nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;}
.search-box{
  display:flex;align-items:center;gap:8px;
  height:40px;padding:0 14px;
  background:#F3F6FA;border:1px solid transparent;border-radius:999px;
  color:#7A8798;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);
}
.search-box:focus-within{
  background:#fff;border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(31,182,255,.14);
}
.search-box input{
  border:0;background:transparent;outline:none;width:132px;
  font-size:14px;color:var(--ink-1);
}
.search-box input::placeholder{color:#93A0B3;}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:0 18px;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-size:15px;font-weight:700;white-space:nowrap;
  border:0;box-shadow:var(--shadow-brand);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
.btn-cta:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-brand-hover);}
.btn-cta:active{transform:translateY(1px);}
.nav-toggle{
  display:none;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--light-border);background:#F5F8FC;color:var(--ink-1);
  align-items:center;justify-content:center;cursor:pointer;
}

/* ---------- Buttons ---------- */
.btn-primary{
  --bs-btn-bg:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border:0;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:#fff;font-size:15.5px;font-weight:700;
  box-shadow:var(--shadow-brand);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease),color .2s var(--ease);
}
.btn-primary:hover{color:#fff;filter:brightness(1.07);transform:translateY(-1px);box-shadow:var(--shadow-brand-hover);}
.btn-primary:active{transform:translateY(1px);box-shadow:0 4px 14px rgba(31,182,255,.28);}
.btn-primary:focus-visible{outline:2px solid rgba(31,182,255,.45);outline-offset:2px;}
.btn-primary:disabled,.btn-primary.disabled{opacity:.5;box-shadow:none;transform:none;pointer-events:none;}
.btn-accent{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border:1px solid rgba(255,138,61,.42);border-radius:var(--radius-sm);
  background:linear-gradient(135deg,rgba(255,138,61,.92),#E0701F);
  color:#fff;font-size:15.5px;font-weight:700;
  box-shadow:0 8px 22px rgba(255,138,61,.28);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
.btn-accent:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,138,61,.38);}
.btn-accent:active{transform:translateY(1px);}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.22);
  background:transparent;color:var(--text-1);font-size:15px;font-weight:600;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),color .2s var(--ease);
}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(31,182,255,.5);color:#fff;transform:translateY(-1px);}
.btn-outline:active{transform:translateY(1px);}
.btn-text{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--brand);font-weight:600;font-size:14.5px;
}
.btn-text svg{transition:transform .2s var(--ease);}
.btn-text:hover svg{transform:translateX(4px);}

.badge-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:999px;
  font-size:12.5px;font-weight:600;line-height:1.7;
  background:var(--brand-soft);color:var(--brand);
}
.badge-pill.accent{background:var(--accent-soft);color:var(--accent);}
.badge-pill.ok{background:rgba(53,224,161,.13);color:var(--ok);}
.badge-num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;height:24px;padding:0 7px;border-radius:999px;
  background:var(--brand-soft);color:var(--brand);
  font-size:13px;font-weight:700;
}

/* ---------- Breadcrumb ---------- */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;margin:0;background:transparent;font-size:13px;}
.breadcrumb li{color:var(--text-3);display:flex;align-items:center;gap:8px;}
.breadcrumb li+li::before{content:"/";color:rgba(255,255,255,.22);}
.breadcrumb a{color:var(--text-2);}
.breadcrumb a:hover{color:var(--brand);}
.breadcrumb .current{color:var(--text-3);}

/* ---------- Banner ---------- */
.page-banner{
  position:relative;overflow:hidden;
  background-color:var(--bg-1);
  background-image:url("/assets/images/backpic/back-2.png");
  background-size:cover;background-position:center right;
  border-bottom:1px solid var(--border-glass);
}
.page-banner::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(6,10,18,.96) 0%,rgba(6,10,18,.86) 46%,rgba(6,10,18,.55) 100%);
}
.page-banner .wrap{position:relative;z-index:2;padding-top:34px;padding-bottom:44px;min-height:270px;display:flex;flex-direction:column;justify-content:center;}
.page-banner h1{
  margin-top:20px;
  font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.22;
}
.page-banner h1 span{color:var(--brand);}
.page-banner .lede{margin-top:14px;max-width:720px;color:var(--text-2);font-size:16.5px;line-height:1.85;}
.banner-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}

/* ---------- Section base ---------- */
.section{padding:96px 0;}
.section.tight{padding:76px 0;}
.section.alt{background:var(--bg-1);}
.section-head{margin-bottom:44px;max-width:760px;}
.section-head .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.6px;color:var(--brand);
  text-transform:uppercase;
}
.section-head .bar{
  display:block;width:22px;height:6px;border-radius:999px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  margin-bottom:14px;
}
.section-head h2{margin-top:12px;font-size:clamp(24px,2.6vw,32px);line-height:1.32;}
.section-head p{margin-top:14px;color:var(--text-2);font-size:15.5px;}

/* ---------- Metric cards ---------- */
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.metric-card{
  position:relative;overflow:hidden;
  padding:28px 24px;border-radius:var(--radius-lg);
  background:var(--surface-glass);
  border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.metric-card:hover{border-color:rgba(31,182,255,.35);transform:translateY(-4px);box-shadow:0 16px 34px rgba(4,10,20,.5),inset 0 1px 0 rgba(255,255,255,.06);}
.metric-card .cap{font-size:13.5px;color:var(--text-2);}
.metric-card .num{
  margin-top:12px;
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1.1;letter-spacing:-1px;
  background:linear-gradient(135deg,var(--brand),var(--ok));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.metric-card .num.accent{background:linear-gradient(135deg,var(--accent),#FFBE7A);-webkit-background-clip:text;background-clip:text;}
.metric-card .note{margin-top:10px;font-size:13.5px;color:var(--text-3);line-height:1.75;}
.metric-card .rail{
  position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--brand),transparent);
}

/* ---------- Table ---------- */
.table-panel{
  border-radius:var(--radius-lg);
  border:1px solid var(--border-glass);
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.table-panel-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 24px;border-bottom:1px solid var(--border-glass);
}
.table-panel-head h3{font-size:18px;}
.table-panel-head .meta{font-size:13px;color:var(--text-3);}
.table-scroll{overflow-x:auto;}
table.data-table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--text-1);
  --bs-table-border-color:rgba(255,255,255,.09);
  width:100%;min-width:820px;border-collapse:collapse;
  margin:0;font-size:14.6px;color:var(--text-1);
}
table.data-table thead th{
  background:var(--table-head);
  color:var(--text-2);
  font-size:13px;font-weight:700;letter-spacing:.4px;
  padding:14px 18px;text-align:left;white-space:nowrap;
  border-bottom:1px solid rgba(255,255,255,.10);
}
table.data-table tbody td{
  padding:15px 18px;vertical-align:top;line-height:1.75;
  border-bottom:1px solid rgba(255,255,255,.07);
  color:var(--text-2);
}
table.data-table tbody td:first-child{color:var(--text-1);font-weight:600;}
table.data-table tbody tr{transition:background-color .2s var(--ease);}
table.data-table tbody tr:hover{background:rgba(255,255,255,.05);}
table.data-table tbody tr:last-child td{border-bottom:0;}
table.data-table .num-cell{
  font-family:"Inter","DIN Alternate",system-ui,sans-serif;
  font-weight:700;color:var(--text-1);white-space:nowrap;
}
.level{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap;}
.level::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-3);}
.level.high::before{background:var(--accent);}
.level.mid::before{background:var(--brand);}
.level.low::before{background:var(--ok);}
.table-foot{padding:14px 24px 18px;font-size:13px;color:var(--text-3);border-top:1px solid var(--border-glass);}

/* ---------- Figure block ---------- */
.figure-band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center;
  padding:28px;border-radius:var(--radius-lg);
  background:var(--surface-glass);border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.figure-band img{
  width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,#0C1424,#101A2C);
}
.figure-band h3{font-size:20px;margin-bottom:12px;}
.figure-band p{color:var(--text-2);font-size:15px;}
.figure-band ul{margin-top:16px;display:grid;gap:10px;}
.figure-band li{display:flex;gap:10px;color:var(--text-2);font-size:14.6px;}
.figure-band li svg{flex:none;margin-top:6px;color:var(--brand);}

/* ---------- Key point cards ---------- */
.point-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.point-card{
  padding:30px 28px;border-radius:var(--radius-lg);
  background:var(--surface-glass);border:1px solid var(--border-glass);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.point-card:hover{border-color:rgba(31,182,255,.35);transform:translateY(-4px);box-shadow:0 16px 34px rgba(4,10,20,.5),inset 0 1px 0 rgba(255,255,255,.06);}
.point-card h3{font-size:19px;margin-bottom:10px;}
.point-card > p{color:var(--text-2);font-size:15px;}
.point-list{margin-top:18px;display:grid;gap:12px;}
.point-list li{display:flex;gap:12px;font-size:14.8px;color:var(--text-2);line-height:1.8;}
.point-list li strong{color:var(--text-1);font-weight:700;}

/* ---------- FAQ ---------- */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:transparent;--bs-accordion-border-radius:var(--radius-lg);}
.faq-item{
  border:1px solid var(--border-glass);border-radius:var(--radius-md);
  background:var(--surface-glass);
  backdrop-filter:blur(14px) saturate(120%);
  margin-bottom:12px;overflow:hidden;
  transition:border-color .2s var(--ease);
}
.faq-item:hover{border-color:rgba(31,182,255,.32);}
.faq-item .accordion-button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:transparent;border:0;box-shadow:none;
  color:var(--text-1);font-size:16.5px;font-weight:700;text-align:left;
  padding:20px 22px;line-height:1.6;
}
.faq-item .accordion-button:not(.collapsed){color:var(--brand);background:rgba(31,182,255,.06);}
.faq-item .accordion-button:hover{background:rgba(255,255,255,.04);}
.faq-item .accordion-button:focus{box-shadow:none;outline:2px solid rgba(31,182,255,.45);outline-offset:-2px;}
.faq-item .accordion-button::after{
  content:"";flex:none;width:22px;height:22px;margin:0;
  background-image:none;
  border-radius:50%;border:1px solid rgba(255,255,255,.22);
  position:relative;
  transition:transform .22s var(--ease),border-color .22s var(--ease);
}
.faq-item .accordion-button::before{
  content:"";position:absolute;
}
.faq-item .accordion-button:not(.collapsed)::after{
  transform:rotate(45deg);border-color:rgba(31,182,255,.6);
}
.faq-icon{
  flex:none;width:22px;height:22px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);
  transition:transform .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.accordion-button:not(.collapsed) .faq-icon{transform:rotate(45deg);border-color:rgba(31,182,255,.6);color:var(--brand);}
.faq-item .accordion-body{padding:0 22px 22px;color:var(--text-2);font-size:15px;line-height:1.9;}

/* ---------- CTA band ---------- */
.cta-band{
  position:relative;overflow:hidden;
  border-radius:22px;padding:44px 40px;
  background:linear-gradient(120deg,rgba(31,182,255,.16),rgba(255,138,61,.10) 62%,rgba(255,255,255,.05));
  border:1px solid rgba(31,182,255,.28);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;
}
.cta-band h2{font-size:clamp(22px,2.4vw,28px);line-height:1.35;}
.cta-band p{margin-top:10px;color:var(--text-2);font-size:15px;max-width:560px;}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}

/* ---------- Footer ---------- */
.site-footer{
  background:#05080F;border-top:1px solid var(--border-glass);
  padding:64px 0 26px;margin-top:8px;
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;}
.footer-brand .logo{color:#fff;font-size:18px;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{margin-top:16px;color:var(--text-2);font-size:14.3px;line-height:1.9;max-width:320px;}
.footer-col h4{font-size:15px;color:#fff;margin-bottom:16px;letter-spacing:0;}
.footer-col ul{display:grid;gap:10px;}
.footer-col a{color:var(--text-2);font-size:14.3px;}
.footer-col a:hover{color:var(--brand);}
.site-footer .wrap > .footer-grid{padding-bottom:38px;}
.footer-bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.08);
  color:var(--text-3);font-size:13.5px;
}

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;right:22px;bottom:26px;z-index:900;
  width:44px;height:44px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border:1px solid var(--border-glass);
  backdrop-filter:blur(12px);color:var(--text-1);cursor:pointer;
  transition:border-color .2s var(--ease),transform .2s var(--ease),background-color .2s var(--ease);
}
.to-top.show{display:inline-flex;}
.to-top:hover{border-color:rgba(31,182,255,.5);transform:translateY(-2px);background:rgba(255,255,255,.12);}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .metric-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;}
  .footer-grid .footer-col:last-child{grid-column:span 3;}
}
@media (max-width:991px){
  .nav-links{
    position:absolute;left:0;right:0;top:100%;
    display:none;flex-direction:column;align-items:stretch;gap:2px;
    padding:14px 20px 20px;margin:0;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--light-border);
    box-shadow:0 16px 30px rgba(11,26,48,.12);
    backdrop-filter:blur(12px);
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 10px;border-radius:10px;}
  .nav-links a::after{display:none;}
  .nav-links a.active{background:rgba(31,182,255,.10);}
  .nav-toggle{display:inline-flex;}
  .search-box{display:none;}
  .section{padding:64px 0;}
  .figure-band{grid-template-columns:1fr;}
  .point-grid{grid-template-columns:1fr;}
  .page-banner .wrap{min-height:230px;padding-bottom:34px;}
  .cta-band{padding:32px 26px;}
}
@media (max-width:767px){
  .wrap{padding:0 18px;}
  .metric-grid{grid-template-columns:1fr;}
  .section{padding:48px 0;}
  .section-head{margin-bottom:30px;}
  .btn-primary,.btn-accent,.btn-outline{width:100%;}
  .cta-actions{width:100%;flex-direction:column;align-items:stretch;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-grid .footer-col:last-child{grid-column:auto;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .page-banner h1{font-size:26px;}
  .metric-card{padding:24px 20px;}
}
