/* roulang page: index */
:root{
  --ink:#0C0E12;
  --ink-soft:#39404A;
  --mute:#79818E;
  --bg:#FFFFFF;
  --bg-soft:#F5F7FA;
  --bg-warm:#FFF3EC;
  --brand:#FF4D14;
  --brand-600:#E23C00;
  --brand-050:#FFEDE5;
  --accent:#B7FF3D;
  --dark:#0A0C10;
  --dark-2:#14171D;
  --line:#E6E9EF;
  --star:#FFB020;
  --danger:#E5484D;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:24px;
  --r-pill:999px;
  --sh-1:0 1px 2px rgba(12,14,18,.05);
  --sh-2:0 2px 8px rgba(12,14,18,.06),0 12px 28px rgba(12,14,18,.07);
  --sh-brand:0 8px 20px rgba(255,77,20,.28);
  --ease:220ms cubic-bezier(.2,.7,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
  padding-bottom:0;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,ul,ol,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.bb-container{max-width:1200px;margin:0 auto;padding:0 24px}
.bb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.bb-header{
  position:sticky;top:0;z-index:60;background:#fff;
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--ease);
}
.bb-header.is-scrolled{box-shadow:0 2px 10px rgba(12,14,18,.06)}
.bb-header-inner{display:flex;align-items:center;gap:24px;height:64px}
.bb-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.bb-logo-mark{
  width:32px;height:32px;border-radius:10px;background:var(--brand);
  display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px rgba(255,77,20,.3);
}
.bb-logo-mark svg{width:18px;height:18px;display:block}
.bb-logo-text{font-size:18px;font-weight:800;letter-spacing:-.2px;white-space:nowrap}
.bb-logo-short{display:none;align-items:center;gap:6px;font-size:18px;font-weight:800}
.bb-logo-badge{
  font-size:12px;font-weight:700;line-height:1;padding:3px 6px;border-radius:6px;
  background:var(--brand-050);color:var(--brand);
}
.bb-nav-list{display:flex;align-items:center;gap:28px;margin-left:8px}
.bb-nav-link{
  position:relative;font-size:15px;font-weight:600;color:var(--ink-soft);
  padding:6px 0;transition:color var(--ease);
}
.bb-nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;
  background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform var(--ease);
}
.bb-nav-link:hover{color:var(--ink)}
.bb-nav-link:hover::after{transform:scaleX(1)}
.bb-nav-link.is-active{color:var(--ink)}
.bb-nav-link.is-active::after{transform:scaleX(1)}
.bb-header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.bb-search{
  display:flex;align-items:center;gap:8px;height:40px;width:230px;padding:0 14px;
  border-radius:var(--r-pill);background:var(--bg-soft);border:1px solid transparent;
  transition:background var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.bb-search svg{width:16px;height:16px;flex-shrink:0;stroke:var(--mute)}
.bb-search input{border:0;background:transparent;outline:none;width:100%;font-size:14px}
.bb-search input::placeholder{color:var(--mute)}
.bb-search:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,77,20,.12)}
.bb-burger{
  display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;align-items:center;justify-content:center;cursor:pointer;
}
.bb-burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative}
.bb-burger span::before,.bb-burger span::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px;
}
.bb-burger span::before{top:-6px}
.bb-burger span::after{top:6px}

/* ---------- Buttons ---------- */
.bb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:40px;padding:0 22px;border-radius:var(--r-pill);
  font-size:15px;font-weight:700;letter-spacing:.2px;cursor:pointer;
  border:1px solid transparent;transition:all var(--ease);white-space:nowrap;
}
.bb-btn-primary{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}
.bb-btn-primary:hover{background:var(--brand-600)}
.bb-btn-primary:active{transform:translateY(1px)}
.bb-btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.bb-btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.bb-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.bb-btn-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.06)}
.bb-btn-lg{height:48px;padding:0 28px;font-size:16px}
.bb-btn-block{width:100%}
.bb-btn[disabled]{opacity:.4;cursor:not-allowed}

/* ---------- Drawer ---------- */
.bb-mask{
  position:fixed;inset:0;background:rgba(10,12,16,.5);opacity:0;visibility:hidden;
  transition:opacity var(--ease),visibility var(--ease);z-index:70;
}
.bb-mask.is-open{opacity:1;visibility:visible}
.bb-drawer{
  position:fixed;top:0;right:0;bottom:0;width:84vw;max-width:360px;background:#fff;z-index:80;
  transform:translateX(100%);transition:transform var(--ease);
  display:flex;flex-direction:column;padding:20px;
}
.bb-drawer.is-open{transform:translateX(0)}
.bb-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.bb-drawer-close{
  width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;
  font-size:20px;line-height:1;cursor:pointer;
}
.bb-drawer-link{
  display:flex;align-items:center;height:48px;padding:0 12px;border-radius:var(--r-sm);
  font-size:16px;font-weight:600;color:var(--ink-soft);transition:background var(--ease),color var(--ease);
}
.bb-drawer-link:hover,.bb-drawer-link.is-active{background:var(--brand-050);color:var(--brand)}
.bb-drawer-foot{margin-top:auto;padding-top:16px}

/* ---------- Hero ---------- */
.bb-hero{
  position:relative;background:var(--dark);color:#fff;overflow:hidden;
  min-height:560px;display:flex;align-items:center;padding:72px 0;
}
.bb-hero::before{
  content:"";position:absolute;top:-160px;right:-120px;width:640px;height:640px;
  background:radial-gradient(circle,rgba(255,77,20,.20),transparent 70%);pointer-events:none;
}
.bb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 14px);
  opacity:.6;
}
.bb-hero-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center;width:100%;
}
.bb-badge{
  display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);
  background:rgba(255,77,20,.16);border:1px solid rgba(183,255,61,.5);
  font-size:12px;font-weight:700;color:#fff;margin-bottom:20px;
}
.bb-badge i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block}
.bb-hero h1{
  font-size:clamp(30px,4.2vw,48px);line-height:1.15;font-weight:800;letter-spacing:-.5px;
  max-width:820px;
}
.bb-hero h1 em{font-style:normal;color:var(--brand);}
.bb-hero-sub{margin-top:16px;font-size:17px;line-height:1.7;color:rgba(255,255,255,.72);max-width:520px}
.bb-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.bb-stats{display:flex;align-items:center;gap:28px;margin-top:40px}
.bb-stat{position:relative;padding-right:28px}
.bb-stat:last-child{padding-right:0}
.bb-stat:not(:last-child)::after{
  content:"";position:absolute;right:0;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.14);
}
.bb-stat-num{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.3px}
.bb-stat-label{font-size:12px;color:rgba(255,255,255,.6);margin-top:2px}

/* Phone card */
.bb-hero-visual{display:flex;justify-content:center;position:relative}
.bb-phone{
  position:relative;width:320px;aspect-ratio:9/16;border-radius:var(--r-xl);overflow:hidden;
  background:var(--bg-soft);box-shadow:0 24px 60px rgba(0,0,0,.5);margin:0;
}
.bb-phone img{width:100%;height:100%;object-fit:cover}
.bb-phone::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.28) 42%,rgba(0,0,0,0) 68%);
}
.bb-phone-tag{
  position:absolute;top:14px;left:14px;z-index:3;padding:4px 10px;border-radius:var(--r-pill);
  background:rgba(10,12,16,.6);font-size:12px;font-weight:700;color:#fff;backdrop-filter:blur(4px);
}
.bb-play{
  position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.86);display:grid;place-items:center;
  transition:transform var(--ease),background var(--ease);
}
.bb-play:hover{transform:translate(-50%,-50%) scale(1.06);background:#fff}
.bb-play span{
  width:0;height:0;border-left:16px solid var(--brand);
  border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;
}
.bb-phone-foot{position:absolute;left:16px;right:16px;bottom:16px;z-index:3}
.bb-phone-title{font-size:15px;font-weight:700;color:#fff;line-height:1.4}
.bb-progress{margin-top:10px;height:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.24);overflow:hidden}
.bb-progress i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent)}
.bb-phone-time{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.72)}
.bb-bubble{
  position:absolute;z-index:4;padding:6px 12px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.94);color:var(--ink);font-size:12px;font-weight:700;
  box-shadow:var(--sh-2);animation:bbFloat 3.6s ease-in-out infinite;
}
.bb-bubble-1{top:22%;left:-18px}
.bb-bubble-2{bottom:28%;right:-16px;animation-delay:1.2s}
@keyframes bbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---------- Section ---------- */
.bb-section{padding:72px 0}
.bb-section-alt{background:var(--bg-soft)}
.bb-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;
}
.bb-section-title{
  font-size:clamp(24px,2.6vw,32px);line-height:1.25;font-weight:800;letter-spacing:-.4px;
}
.bb-section-desc{margin-top:8px;font-size:14px;color:var(--ink-soft);max-width:560px}
.bb-text-link{
  font-size:14px;font-weight:700;color:var(--brand);white-space:nowrap;
  display:inline-flex;align-items:center;gap:4px;transition:gap var(--ease);
}
.bb-text-link:hover{gap:8px}

/* ---------- Clip track ---------- */
.bb-track-wrap{position:relative}
.bb-track-wrap::after{
  content:"";position:absolute;top:0;right:0;bottom:16px;width:40px;pointer-events:none;
  background:linear-gradient(to right,rgba(255,255,255,0),var(--bg));
}
.bb-section-alt .bb-track-wrap::after{background:linear-gradient(to right,rgba(245,247,250,0),var(--bg-soft))}
.bb-track{
  display:flex;gap:20px;overflow-x:auto;padding:4px 4px 20px;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.bb-track::-webkit-scrollbar{display:none}
.bb-track.is-dragging{cursor:grabbing}
.bb-clip{
  position:relative;flex:0 0 232px;aspect-ratio:3/4;border-radius:20px;overflow:hidden;
  background:var(--bg-soft);scroll-snap-align:start;
  transition:transform var(--ease),box-shadow var(--ease);
}
.bb-clip:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.bb-clip img{width:100%;height:100%;object-fit:cover;transition:transform 400ms cubic-bezier(.2,.7,.3,1)}
.bb-clip:hover img{transform:scale(1.04)}
.bb-clip::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.18) 46%,rgba(0,0,0,0) 70%);
}
.bb-clip-tag{
  position:absolute;top:10px;left:10px;z-index:2;padding:3px 9px;border-radius:var(--r-pill);
  background:rgba(10,12,16,.6);font-size:12px;font-weight:700;color:#fff;
}
.bb-clip-body{position:absolute;left:12px;right:12px;bottom:12px;z-index:2}
.bb-clip-title{
  font-size:15px;font-weight:700;color:#fff;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bb-clip-meta{margin-top:6px;font-size:13px;color:rgba(255,255,255,.75)}

/* ---------- Rank list ---------- */
.bb-rank{border-top:1px solid var(--line)}
.bb-rank-item{
  display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);
  transition:background var(--ease),padding var(--ease);
}
.bb-rank-item:hover{background:var(--bg-soft);padding-left:16px;padding-right:16px}
.bb-rank-num{
  flex:0 0 52px;height:52px;border-radius:var(--r-md);background:var(--brand-050);
  display:grid;place-items:center;font-size:20px;font-weight:800;color:var(--brand);
}
.bb-rank-body{flex:1;min-width:0}
.bb-rank-title{font-size:18px;font-weight:700;line-height:1.4}
.bb-rank-desc{
  margin-top:6px;font-size:14px;color:var(--ink-soft);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bb-rank-side{display:flex;align-items:center;gap:16px;flex-shrink:0}
.bb-rank-thumb{
  width:96px;height:64px;border-radius:var(--r-md);overflow:hidden;background:var(--bg-soft);
}
.bb-rank-thumb img{width:100%;height:100%;object-fit:cover}
.bb-rank-arrow{font-size:18px;color:var(--brand);transition:transform var(--ease)}
.bb-rank-item:hover .bb-rank-arrow{transform:translateX(4px)}

/* ---------- News / CMS ---------- */
.bb-news-list{display:flex;flex-direction:column;gap:16px}
.bb-news-card{
  display:flex;gap:20px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:#fff;box-shadow:var(--sh-1);transition:box-shadow var(--ease),transform var(--ease);
}
.bb-news-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.bb-news-thumb{
  flex:0 0 200px;height:120px;border-radius:var(--r-md);overflow:hidden;background:var(--bg-soft);
}
.bb-news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 400ms cubic-bezier(.2,.7,.3,1)}
.bb-news-card:hover .bb-news-thumb img{transform:scale(1.04)}
.bb-news-body{flex:1;min-width:0;display:flex;flex-direction:column}
.bb-pill{
  display:inline-flex;align-items:center;align-self:flex-start;
  padding:3px 10px;border-radius:var(--r-pill);background:var(--brand-050);
  color:var(--brand);font-size:12px;font-weight:700;line-height:1.6;
}
.bb-news-title{margin-top:8px;font-size:17px;font-weight:700;line-height:1.4}
.bb-news-title a{transition:color var(--ease)}
.bb-news-title a:hover{color:var(--brand)}
.bb-news-desc{
  margin-top:6px;font-size:14px;line-height:1.7;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bb-news-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:12px}
.bb-meta{font-size:13px;font-weight:500;color:var(--mute)}
.bb-arrow-link{font-size:13px;font-weight:700;color:var(--brand);display:inline-flex;gap:4px;transition:gap var(--ease)}
.bb-arrow-link:hover{gap:8px}
.bb-news-more{margin-top:24px;text-align:center}
.bb-empty{
  border:1px dashed var(--line);border-radius:var(--r-lg);padding:40px 24px;text-align:center;background:#fff;
}
.bb-empty-icon{
  width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--bg-soft);
  display:grid;place-items:center;font-size:20px;color:var(--mute);
}
.bb-empty p{font-size:14px;color:var(--mute)}
.bb-empty .bb-btn{margin-top:16px}

/* ---------- Reviews ---------- */
.bb-review-wrap{position:relative}
.bb-review-track{
  display:flex;gap:16px;overflow-x:auto;padding:4px 4px 16px;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.bb-review-track::-webkit-scrollbar{display:none}
.bb-review-wrap::after{
  content:"";position:absolute;top:0;right:0;bottom:16px;width:32px;pointer-events:none;
  background:linear-gradient(to right,rgba(245,247,250,0),var(--bg-soft));
}
.bb-review{
  flex:0 0 300px;background:#fff;border-radius:var(--r-lg);padding:20px;
  box-shadow:var(--sh-1);scroll-snap-align:start;
  transition:box-shadow var(--ease),transform var(--ease);
}
.bb-review:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.bb-stars{color:var(--star);font-size:14px;letter-spacing:2px}
.bb-review-text{
  margin-top:10px;font-size:14px;line-height:1.7;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bb-review-foot{display:flex;align-items:center;gap:10px;margin-top:16px}
.bb-avatar{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-size:12px;font-weight:700;color:#fff;flex-shrink:0;
}
.bb-avatar-1{background:#FF4D14}
.bb-avatar-2{background:#1F7A6B}
.bb-avatar-3{background:#4C5BD4}
.bb-avatar-4{background:#B5761C}
.bb-avatar-5{background:#8A3FB5}
.bb-avatar-6{background:#2B7BB5}
.bb-review-user{font-size:13px;font-weight:700}
.bb-review-time{font-size:12px;color:var(--mute)}

/* ---------- CTA band ---------- */
.bb-cta-band{
  position:relative;background:var(--bg-warm);border-radius:20px;padding:32px;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.bb-cta-band::after{
  content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;
  background:rgba(255,77,20,.08);pointer-events:none;
}
.bb-cta-band h2{font-size:clamp(20px,2.2vw,26px);font-weight:800;line-height:1.3}
.bb-cta-band p{margin-top:8px;font-size:14px;color:var(--ink-soft)}
.bb-cta-actions{display:flex;align-items:center;gap:16px;flex-shrink:0;position:relative;z-index:2}

/* ---------- FAQ ---------- */
.bb-faq{border-top:1px solid var(--line)}
.bb-faq-item{border-bottom:1px solid var(--line)}
.bb-faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 0;background:none;border:0;cursor:pointer;text-align:left;
  font-size:16px;font-weight:700;color:var(--ink);transition:color var(--ease);
}
.bb-faq-q:hover{color:var(--brand)}
.bb-faq-icon{
  flex-shrink:0;width:20px;height:20px;position:relative;transition:transform var(--ease);
}
.bb-faq-icon::before,.bb-faq-icon::after{
  content:"";position:absolute;background:var(--brand);border-radius:2px;
}
.bb-faq-icon::before{top:9px;left:0;width:20px;height:2px}
.bb-faq-icon::after{left:9px;top:0;width:2px;height:20px}
.bb-faq-item.is-open .bb-faq-icon{transform:rotate(45deg)}
.bb-faq-a{
  max-height:0;overflow:hidden;transition:max-height 320ms cubic-bezier(.2,.7,.3,1);
}
.bb-faq-a p{padding:0 0 22px;font-size:15px;line-height:1.8;color:var(--ink-soft);max-width:820px}

/* ---------- Footer ---------- */
.bb-footer{background:var(--dark);color:#fff;padding:56px 0 0;margin-top:72px}
.bb-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px}
.bb-footer-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800}
.bb-footer-note{margin-top:14px;font-size:14px;color:rgba(255,255,255,.6);max-width:280px;line-height:1.7}
.bb-footer-social{display:flex;gap:10px;margin-top:18px}
.bb-footer-social span{
  width:32px;height:32px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);
  display:grid;place-items:center;font-size:13px;color:rgba(255,255,255,.7);
  transition:background var(--ease),color var(--ease);cursor:pointer;
}
.bb-footer-social span:hover{background:var(--brand);color:#fff}
.bb-footer-title{font-size:14px;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:16px}
.bb-footer-list li+li{margin-top:10px}
.bb-footer-list a,.bb-footer-list span{
  font-size:14px;color:rgba(255,255,255,.6);display:inline-block;
  transition:color var(--ease),transform var(--ease);
}
.bb-footer-list a:hover{color:#fff;transform:translateX(2px)}
.bb-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding:20px 0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:13px;color:rgba(255,255,255,.5);
}

/* ---------- Mobile CTA ---------- */
.bb-mobile-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:65;display:none;
  padding:8px 16px calc(8px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);border-top:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.bb-mobile-cta .bb-btn{height:44px;width:100%}

/* ---------- Responsive ---------- */
@media (max-width:1279px){
  .bb-clip{flex:0 0 216px}
}
@media (max-width:1023px){
  .bb-nav-list{display:none}
  .bb-search{width:180px}
  .bb-hero-inner{grid-template-columns:1fr;gap:40px}
  .bb-hero{padding:56px 0}
  .bb-hero-visual{justify-content:flex-start}
  .bb-phone{width:260px}
  .bb-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:767px){
  .bb-container{padding:0 16px}
  .bb-header-inner{height:56px;gap:12px}
  .bb-logo-text{display:none}
  .bb-logo-short{display:flex}
  .bb-search{display:none}
  .bb-burger{display:flex}
  .bb-header-actions{margin-left:auto}
  .bb-hero{min-height:480px;padding:48px 0}
  .bb-hero-inner{gap:32px}
  .bb-hero-sub{font-size:15px}
  .bb-hero-actions{gap:10px}
  .bb-hero-actions .bb-btn{flex:1 1 auto}
  .bb-stats{gap:16px;margin-top:32px}
  .bb-stat{padding-right:16px}
  .bb-stat:not(:last-child)::after{top:2px;bottom:2px}
  .bb-stat-num{font-size:20px}
  .bb-phone{width:min(72vw,300px)}
  .bb-bubble-1{left:-8px}
  .bb-bubble-2{right:-8px}
  .bb-section{padding:48px 0}
  .bb-section-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}
  .bb-clip{flex:0 0 176px}
  .bb-rank-item{gap:16px;padding:18px 0}
  .bb-rank-num{flex:0 0 40px;height:40px;font-size:16px}
  .bb-rank-title{font-size:16px}
  .bb-rank-thumb{width:72px;height:48px}
  .bb-news-card{flex-direction:column;gap:14px}
  .bb-news-thumb{flex:none;width:100%;height:180px}
  .bb-cta-band{flex-direction:column;align-items:flex-start;padding:24px}
  .bb-cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:12px}
  .bb-cta-actions .bb-btn{width:100%}
  .bb-footer{padding-top:40px;margin-top:48px}
  .bb-footer-grid{gap:28px;padding-bottom:28px}
}
@media (max-width:559px){
  .bb-hero h1{font-size:30px}
  .bb-clip{flex:0 0 62vw}
  .bb-review{flex:0 0 82vw}
  .bb-mobile-cta{display:block}
  body{padding-bottom:72px}
  .bb-footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .bb-bubble{animation:none}
}

/* roulang page: article */
:root{
  --ink:#0C0E12;--ink-soft:#39404A;--mute:#79818E;
  --bg:#FFFFFF;--bg-soft:#F5F7FA;--bg-warm:#FFF3EC;
  --brand:#FF4D14;--brand-600:#E23C00;--brand-050:#FFEDE5;
  --accent:#B7FF3D;--dark:#0A0C10;--dark-2:#14171D;--line:#E6E9EF;
  --star:#FFB020;--danger:#E5484D;
  --r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;
  --sh-1:0 1px 2px rgba(12,14,18,.05);
  --sh-2:0 2px 8px rgba(12,14,18,.06),0 12px 28px rgba(12,14,18,.07);
  --sh-brand:0 8px 20px rgba(255,77,20,.28);
  --ease:220ms cubic-bezier(.2,.7,.3,1);
  --s4:4px;--s8:8px;--s12:12px;--s16:16px;--s20:20px;--s24:24px;--s32:32px;--s40:40px;--s56:56px;--s72:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.75;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
strong,b{font-weight:700}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.bb-num{font-variant-numeric:tabular-nums}
.bb-container{max-width:1200px;margin:0 auto;padding:0 var(--s24)}
.bb-section{padding:var(--s72) 0}
.bb-section--soft{background:var(--bg-soft)}
.bb-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s24);margin-bottom:var(--s32)}
.bb-h2{font-size:clamp(24px,2.6vw,32px);line-height:1.25;font-weight:800;letter-spacing:-.2px}
.bb-sub{font-size:14px;line-height:1.7;color:var(--mute);margin-top:var(--s8)}
.bb-text-link{font-size:14px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color var(--ease),transform var(--ease)}
.bb-text-link:hover{color:var(--brand-600)}
.bb-text-link:hover .bb-arrow{transform:translateX(4px)}
.bb-arrow{transition:transform var(--ease);display:inline-block}

/* ---------- header ---------- */
.bb-header{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}
.bb-header.is-scrolled{box-shadow:0 2px 10px rgba(12,14,18,.06)}
.bb-header-inner{height:64px;display:flex;align-items:center;gap:var(--s24)}
.bb-logo{display:inline-flex;align-items:center;gap:var(--s12);flex:none}
.bb-logo-mark{width:32px;height:32px;border-radius:var(--r-sm);background:var(--brand);display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--sh-brand)}
.bb-logo-mark svg{width:20px;height:20px;display:block}
.bb-logo-text{font-size:18px;font-weight:800;letter-spacing:-.2px;white-space:nowrap}
.bb-logo-badge{display:none;font-size:12px;font-weight:700;color:var(--brand);background:var(--brand-050);border:1px solid rgba(255,77,20,.28);padding:1px 7px;border-radius:var(--r-pill);line-height:1.5}
.bb-nav-list{display:flex;align-items:center;gap:28px;margin-left:var(--s16)}
.bb-nav-link{position:relative;font-size:15px;font-weight:600;color:var(--ink-soft);padding:6px 0;transition:color var(--ease)}
.bb-nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.bb-nav-link:hover{color:var(--ink)}
.bb-nav-link:hover::after,.bb-nav-link.is-active::after{transform:scaleX(1)}
.bb-nav-link.is-active{color:var(--ink)}
.bb-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s12)}
.bb-search{position:relative}
.bb-search input{width:220px;height:40px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--bg-soft);
  padding:0 var(--s16);font-size:14px;transition:border-color var(--ease),background var(--ease),box-shadow var(--ease)}
.bb-search input::placeholder{color:var(--mute)}
.bb-search input:focus{outline:none;background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,77,20,.14)}
.bb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s8);border:1px solid transparent;border-radius:var(--r-pill);
  font-size:15px;font-weight:700;letter-spacing:.2px;padding:0 var(--s24);height:46px;cursor:pointer;
  transition:background var(--ease),color var(--ease),box-shadow var(--ease),transform var(--ease),border-color var(--ease);white-space:nowrap}
.bb-btn-sm{height:40px;font-size:14px;padding:0 var(--s20)}
.bb-btn-primary{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}
.bb-btn-primary:hover{background:var(--brand-600)}
.bb-btn-primary:active{transform:translateY(1px)}
.bb-btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.bb-btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.bb-btn-ghost:active{transform:translateY(1px)}
.bb-btn-dark-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.bb-btn-dark-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.06)}
.bb-btn:disabled,.bb-btn[disabled]{opacity:.4;cursor:not-allowed}
.bb-burger{display:none;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.bb-burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative}
.bb-burger span::before,.bb-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px}
.bb-burger span::before{top:-6px}
.bb-burger span::after{top:6px}

/* drawer */
.bb-drawer-mask{position:fixed;inset:0;background:rgba(10,12,16,.5);opacity:0;visibility:hidden;transition:opacity var(--ease),visibility var(--ease);z-index:90}
.bb-drawer-mask.is-open{opacity:1;visibility:visible}
.bb-drawer{position:fixed;top:0;right:0;bottom:0;width:84vw;max-width:360px;background:#fff;z-index:100;
  transform:translateX(102%);transition:transform var(--ease);display:flex;flex-direction:column;padding:var(--s20) var(--s20) var(--s24)}
.bb-drawer.is-open{transform:translateX(0)}
.bb-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--s16);border-bottom:1px solid var(--line)}
.bb-drawer-close{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;line-height:1}
.bb-drawer-nav{margin-top:var(--s8);display:flex;flex-direction:column}
.bb-drawer-nav a{height:48px;display:flex;align-items:center;font-size:16px;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.bb-drawer-nav a.is-active{color:var(--brand)}
.bb-drawer-foot{margin-top:auto;padding-top:var(--s20)}
.bb-drawer-foot .bb-btn{width:100%}

/* ---------- article head ---------- */
.bb-page-head{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.bb-page-head::before{content:"";position:absolute;inset:0;background:
  radial-gradient(760px 420px at 88% -10%,rgba(255,77,20,.20),transparent 70%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.055) 0 1px,transparent 1px 16px)}
.bb-page-head-inner{position:relative;padding:var(--s56) 0 var(--s40)}
.bb-crumb{font-size:13px;line-height:1.5;color:rgba(255,255,255,.62)}
.bb-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.bb-crumb li{display:inline-flex;align-items:center;gap:6px}
.bb-crumb li+li::before{content:"/";color:rgba(255,255,255,.3)}
.bb-crumb a{color:rgba(255,255,255,.62);transition:color var(--ease)}
.bb-crumb a:hover{color:#fff}
.bb-crumb .is-current{color:rgba(255,255,255,.9);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:44ch;display:inline-block;vertical-align:bottom}
.bb-article-h1{font-size:clamp(28px,3.6vw,42px);line-height:1.25;font-weight:800;letter-spacing:-.4px;margin-top:var(--s16);max-width:24ch}
.bb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s12);margin-top:var(--s20);font-size:13px;font-weight:500;color:rgba(255,255,255,.7)}
.bb-meta .bb-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.35)}
.bb-pill-cat{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;
  background:rgba(255,77,20,.9);color:#fff}
.bb-pill-soft{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;
  background:var(--brand-050);color:var(--brand)}

/* ---------- article layout ---------- */
.bb-article-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s40);padding:var(--s40) 0 var(--s72)}
.bb-main-col{min-width:0}

.bb-article{background:#fff}
.bb-article-body{max-width:760px;font-size:17px;line-height:1.85;color:var(--ink)}
.bb-article-body p{margin:0 0 18px}
.bb-article-body h2{font-size:24px;line-height:1.4;font-weight:800;margin:var(--s32) 0 var(--s16);padding-left:12px;border-left:4px solid var(--brand)}
.bb-article-body h3{font-size:19px;line-height:1.45;font-weight:700;margin:var(--s24) 0 var(--s12)}
.bb-article-body ul,.bb-article-body ol{margin:0 0 18px;padding-left:var(--s20)}
.bb-article-body ul li,.bb-article-body ol li{position:relative;line-height:1.9;padding-left:var(--s16);margin-bottom:6px}
.bb-article-body ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.bb-article-body ol{counter-reset:bbol}
.bb-article-body ol li{counter-increment:bbol}
.bb-article-body ol li::before{content:counter(bbol);position:absolute;left:0;top:0;color:var(--brand);font-weight:800;font-size:14px;line-height:1.9}
.bb-article-body blockquote{margin:var(--s24) 0;padding:var(--s20);background:var(--bg-warm);border-left:3px solid var(--brand);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--ink-soft);font-size:16px;line-height:1.8}
.bb-article-body img{width:100%;border-radius:var(--r-md);margin:var(--s24) 0 var(--s8);object-fit:cover}
.bb-article-body figure{margin:var(--s24) 0}
.bb-article-body figcaption{font-size:13px;color:var(--mute);text-align:center;line-height:1.6}
.bb-article-body a{color:var(--brand);border-bottom:1px solid rgba(255,77,20,.35);transition:color var(--ease),border-color var(--ease)}
.bb-article-body a:hover{color:var(--brand-600);border-color:var(--brand-600)}
.bb-article-body table{width:100%;border-collapse:collapse;margin:var(--s24) 0;font-size:15px}
.bb-article-body th,.bb-article-body td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.bb-article-body th{background:var(--bg-soft);font-weight:700}
.bb-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

.bb-article-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s8);margin-top:var(--s40);padding-top:var(--s24);border-top:1px solid var(--line)}
.bb-article-tags .bb-tag{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:var(--r-pill);
  background:var(--bg-soft);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-soft);transition:background var(--ease),color var(--ease),border-color var(--ease)}
.bb-article-tags .bb-tag:hover{background:var(--brand-050);color:var(--brand);border-color:rgba(255,77,20,.35)}
.bb-share{display:flex;align-items:center;gap:var(--s8);margin-left:auto}
.bb-share button{height:30px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:border-color var(--ease),color var(--ease)}
.bb-share button:hover{border-color:var(--brand);color:var(--brand)}

/* prev / next */
.bb-navcards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);margin-top:var(--s40)}
.bb-navcard{display:block;padding:var(--s20);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease)}
.bb-navcard:hover{box-shadow:var(--sh-2);transform:translateY(-4px);border-color:transparent}
.bb-navcard span{display:block;font-size:12px;font-weight:700;color:var(--brand);margin-bottom:var(--s8)}
.bb-navcard strong{display:block;font-size:16px;font-weight:700;line-height:1.5;color:var(--ink)}
.bb-navcard em{display:block;margin-top:6px;font-size:13px;font-style:normal;color:var(--mute)}

/* related */
.bb-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s24);margin-top:var(--s24)}
.bb-relcard{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease);display:flex;flex-direction:column}
.bb-relcard:hover{box-shadow:var(--sh-2);transform:translateY(-4px);border-color:transparent}
.bb-relcard figure{aspect-ratio:16/10;background:var(--bg-soft);overflow:hidden;margin:0}
.bb-relcard figure img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease)}
.bb-relcard:hover figure img{transform:scale(1.04)}
.bb-relcard-body{padding:var(--s16) var(--s20) var(--s20);display:flex;flex-direction:column;gap:var(--s8);flex:1}
.bb-relcard-body h3{font-size:17px;line-height:1.45;font-weight:700}
.bb-relcard-body p{font-size:14px;line-height:1.7;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bb-relcard-body .bb-meta-line{font-size:13px;color:var(--mute);margin-top:auto;display:flex;align-items:center;gap:var(--s8)}

/* sidebar */
.bb-side{display:none}
.bb-side-inner{position:sticky;top:88px;display:flex;flex-direction:column;gap:var(--s24)}
.bb-sidecard{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s20);background:#fff}
.bb-sidecard-title{font-size:15px;font-weight:800;margin-bottom:var(--s16)}
.bb-buycard{position:relative;overflow:hidden;background:var(--bg-warm);border-color:transparent}
.bb-buycard::after{content:"";position:absolute;right:-40px;bottom:-56px;width:180px;height:180px;border-radius:50%;background:rgba(255,77,20,.08)}
.bb-buycard h2{font-size:17px;font-weight:800;line-height:1.45;position:relative}
.bb-buycard p{margin-top:var(--s8);font-size:13px;line-height:1.7;color:var(--ink-soft);position:relative}
.bb-buycard .bb-btn{width:100%;margin-top:var(--s16);position:relative}
.bb-hotlist li+li{margin-top:var(--s12);padding-top:var(--s12);border-top:1px solid var(--line)}
.bb-hotlist a{display:flex;gap:var(--s12)}
.bb-hotlist .rank{font-size:15px;font-weight:800;color:var(--brand);width:20px;flex:none;line-height:1.5}
.bb-hotlist .txt strong{display:block;font-size:14px;font-weight:700;line-height:1.5;color:var(--ink);transition:color var(--ease)}
.bb-hotlist a:hover .txt strong{color:var(--brand)}
.bb-hotlist .txt em{display:block;font-style:normal;font-size:12px;color:var(--mute);margin-top:2px}

/* empty state */
.bb-empty{border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--bg-soft);padding:var(--s56) var(--s24);text-align:center}
.bb-empty-icon{width:56px;height:56px;margin:0 auto var(--s16);border-radius:var(--r-md);background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--brand)}
.bb-empty p{font-size:14px;color:var(--ink-soft)}
.bb-empty .bb-btn{margin-top:var(--s20)}

/* cta band */
.bb-cta{margin-top:var(--s56);background:var(--bg-warm);border-radius:20px;padding:var(--s32);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s24);flex-wrap:wrap}
.bb-cta::after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:rgba(255,77,20,.08)}
.bb-cta-text{position:relative;max-width:620px}
.bb-cta-text h2{font-size:22px;font-weight:800;line-height:1.4}
.bb-cta-text p{margin-top:var(--s8);font-size:14px;line-height:1.7;color:var(--ink-soft)}
.bb-cta-actions{position:relative;display:flex;align-items:center;gap:var(--s16);flex-wrap:wrap}

/* rail for mobile sidebar sink */
.bb-rail-wrap{position:relative;margin-top:var(--s40)}
.bb-rail{display:flex;gap:var(--s16);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s8);scrollbar-width:none}
.bb-rail::-webkit-scrollbar{display:none}
.bb-rail>*{scroll-snap-align:start;flex:0 0 auto}
.bb-minicard{width:240px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.bb-minicard figure{margin:0;aspect-ratio:16/10;background:var(--bg-soft);overflow:hidden}
.bb-minicard figure img{width:100%;height:100%;object-fit:cover}
.bb-minicard div{padding:var(--s12) var(--s16) var(--s16)}
.bb-minicard strong{display:block;font-size:14px;font-weight:700;line-height:1.5}
.bb-minicard em{display:block;font-style:normal;font-size:12px;color:var(--mute);margin-top:4px}

/* sticky cta */
.bb-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);
  padding:8px 16px calc(8px + env(safe-area-inset-bottom));display:none;align-items:center;gap:var(--s12);
  box-shadow:0 -4px 20px rgba(12,14,18,.08);transform:translateY(120%);transition:transform var(--ease)}
.bb-sticky-cta.is-show{transform:translateY(0)}
.bb-sticky-text{flex:1;min-width:0}
.bb-sticky-text strong{display:block;font-size:14px;font-weight:800}
.bb-sticky-text span{display:block;font-size:12px;color:var(--mute)}

/* ---------- footer ---------- */
.bb-footer{background:var(--dark);color:#fff;margin-top:var(--s72)}
.bb-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s40);padding:var(--s56) 0 var(--s40)}
.bb-footer-brand{display:flex;align-items:center;gap:var(--s12);font-size:17px;font-weight:800}
.bb-footer-note{margin-top:var(--s12);font-size:14px;line-height:1.7;color:rgba(255,255,255,.6);max-width:24ch}
.bb-footer-social{display:flex;gap:var(--s8);margin-top:var(--s20)}
.bb-footer-social span{width:32px;height:32px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:rgba(255,255,255,.75);transition:background var(--ease),color var(--ease)}
.bb-footer-social span:hover{background:var(--brand);color:#fff}
.bb-footer-title{font-size:14px;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:var(--s16)}
.bb-footer-list li+li{margin-top:var(--s12)}
.bb-footer-list a,.bb-footer-list span{font-size:14px;color:rgba(255,255,255,.6);transition:color var(--ease),transform var(--ease);display:inline-block}
.bb-footer-list a:hover{color:#fff;transform:translateX(2px)}
.bb-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--s20) 0 var(--s32);display:flex;justify-content:space-between;gap:var(--s16);flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5)}

/* ---------- responsive ---------- */
@media (min-width:1200px){
  .bb-article-layout{grid-template-columns:minmax(0,1fr) 320px;gap:var(--s40)}
  .bb-side{display:block}
  .bb-rail-wrap{display:none}
}
@media (max-width:1199px){
  .bb-side{display:none}
}
@media (max-width:1023px){
  .bb-nav-list{display:none}
  .bb-burger{display:inline-flex}
  .bb-search input{width:180px}
  .bb-related{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  :root{--s72:48px}
  .bb-container{padding:0 var(--s16)}
  .bb-header-inner{height:56px;gap:var(--s12)}
  .bb-logo-text{font-size:16px}
  .bb-logo-badge{display:inline-flex}
  .bb-search{display:none}
  .bb-section{padding:48px 0}
  .bb-section-head{flex-direction:column;align-items:flex-start;gap:var(--s12);margin-bottom:var(--s24)}
  .bb-article-h1{font-size:26px}
  .bb-crumb .is-current{max-width:100%;white-space:normal}
  .bb-article-layout{padding:var(--s24) 0 48px}
  .bb-navcards{grid-template-columns:1fr}
  .bb-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s16)}
  .bb-cta{padding:var(--s24);border-radius:var(--r-lg)}
  .bb-cta-actions{width:100%}
  .bb-cta-actions .bb-btn{width:100%}
  .bb-footer-grid{grid-template-columns:1fr 1fr;gap:var(--s32);padding:var(--s40) 0 var(--s32)}
  .bb-footer-bottom{flex-direction:column;gap:var(--s8)}
}
@media (max-width:559px){
  .bb-sticky-cta{display:flex}
  body{padding-bottom:72px}
  .bb-related{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--s16);padding-bottom:var(--s8);scrollbar-width:none}
  .bb-related::-webkit-scrollbar{display:none}
  .bb-related>*{flex:0 0 78%;scroll-snap-align:start}
  .bb-btn{width:100%}
  .bb-sticky-cta .bb-btn{width:auto;height:42px;padding:0 var(--s20)}
  .bb-header-actions .bb-btn-sm{display:none}
  .bb-article-body{font-size:16px}
}
@media (max-width:400px){
  .bb-logo-text{font-size:15px}
  .bb-related>*{flex:0 0 88%}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}

/* roulang page: category1 */
:root{
  --ink:#0C0E12;
  --ink-soft:#39404A;
  --mute:#79818E;
  --bg:#FFFFFF;
  --bg-soft:#F5F7FA;
  --bg-warm:#FFF3EC;
  --brand:#FF4D14;
  --brand-600:#E23C00;
  --brand-050:#FFEDE5;
  --accent:#B7FF3D;
  --dark:#0A0C10;
  --dark-2:#14171D;
  --line:#E6E9EF;
  --star:#FFB020;
  --danger:#E5484D;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:24px;
  --r-pill:999px;
  --sh-1:0 1px 2px rgba(12,14,18,.05);
  --sh-2:0 2px 8px rgba(12,14,18,.06),0 12px 28px rgba(12,14,18,.07);
  --sh-brand:0 8px 20px rgba(255,77,20,.28);
  --ease:220ms cubic-bezier(.2,.7,.3,1);
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;
  --sp-7:32px;--sp-8:40px;--sp-9:56px;--sp-10:72px;--sp-11:96px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border:0;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px;}
.bb-num{font-variant-numeric:tabular-nums;}

/* ============ 容器 ============ */
.bb-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--sp-6);
}

/* ============ 按钮 ============ */
.bb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-2);
  height:44px;
  padding:0 var(--sp-6);
  border-radius:var(--r-pill);
  font-size:15px;
  font-weight:700;
  letter-spacing:.2px;
  line-height:1;
  transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease);
  white-space:nowrap;
}
.bb-btn-primary{background:var(--brand);color:#fff;box-shadow:var(--sh-brand);}
.bb-btn-primary:hover{background:var(--brand-600);}
.bb-btn-primary:active{transform:translateY(1px);box-shadow:0 4px 12px rgba(255,77,20,.24);}
.bb-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);}
.bb-btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);}
.bb-btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line);}
.bb-btn-outline:hover{border-color:var(--brand);color:var(--brand-600);}
.bb-btn-outline:active{transform:translateY(1px);}
.bb-btn-sm{height:40px;padding:0 var(--sp-5);font-size:14px;}
.bb-btn[disabled],.bb-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}

/* ============ 标签 / 徽章 ============ */
.bb-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:26px;
  padding:0 var(--sp-3);
  border-radius:var(--r-pill);
  font-size:12px;
  font-weight:600;
  letter-spacing:.2px;
}
.bb-pill-brand{background:var(--brand-050);color:var(--brand-600);}
.bb-pill-outline{background:transparent;color:var(--ink-soft);border:1px solid var(--line);}
.bb-pill-accent{background:rgba(183,255,61,.16);color:#5F8B12;border:1px solid rgba(183,255,61,.55);}
.bb-pill-dark{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18);}

/* ============ 头部导航 ============ */
.bb-header{
  position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--ease);
}
.bb-header.is-scrolled{box-shadow:0 2px 10px rgba(12,14,18,.06);}
.bb-header-inner{
  display:flex;
  align-items:center;
  gap:var(--sp-6);
  height:64px;
}
.bb-logo{
  display:flex;
  align-items:center;
  gap:var(--sp-3);
  font-size:18px;
  font-weight:800;
  letter-spacing:.2px;
  color:var(--ink);
  flex-shrink:0;
}
.bb-logo-mark{
  width:32px;
  height:32px;
  border-radius:var(--r-sm);
  background:linear-gradient(150deg,var(--brand),#FF7A3D);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.bb-logo-mark svg{width:22px;height:22px;}
.bb-logo-badge{
  display:none;
  height:18px;
  padding:0 6px;
  border-radius:var(--r-pill);
  background:var(--brand-050);
  color:var(--brand-600);
  font-size:12px;
  font-weight:700;
  line-height:18px;
}
.bb-nav-list{display:flex;align-items:center;gap:28px;margin-right:auto;}
.bb-nav-link{
  position:relative;
  display:inline-block;
  padding:6px 0;
  font-size:15px;
  font-weight:600;
  color:var(--ink-soft);
  transition:color var(--ease);
}
.bb-nav-link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:2px;
  background:var(--brand);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--ease);
}
.bb-nav-link:hover{color:var(--ink);}
.bb-nav-link:hover::after{transform:scaleX(1);}
.bb-nav-link.is-active{color:var(--ink);}
.bb-nav-link.is-active::after{transform:scaleX(1);}
.bb-header-tools{display:flex;align-items:center;gap:var(--sp-3);}
.bb-search{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  width:220px;
  height:40px;
  padding:0 var(--sp-4);
  border-radius:var(--r-pill);
  background:var(--bg-soft);
  border:1px solid transparent;
  transition:background var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.bb-search svg{width:16px;height:16px;flex-shrink:0;stroke:var(--mute);}
.bb-search input{
  width:100%;
  border:0;
  background:transparent;
  font-size:14px;
  outline:none;
}
.bb-search input::placeholder{color:var(--mute);}
.bb-search:focus-within{
  background:#fff;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(255,77,20,.18);
}
.bb-burger{
  display:none;
  width:40px;height:40px;
  border-radius:var(--r-sm);
  border:1px solid var(--line);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  flex-shrink:0;
}
.bb-burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform var(--ease),opacity var(--ease);}
.bb-burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.bb-burger.is-open span:nth-child(2){opacity:0;}
.bb-burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.bb-drawer{
  position:fixed;
  top:0;right:0;
  z-index:80;
  width:84vw;
  max-width:360px;
  height:100%;
  background:#fff;
  border-left:1px solid var(--line);
  box-shadow:-16px 0 40px rgba(12,14,18,.14);
  padding:var(--sp-6) var(--sp-6) var(--sp-8);
  display:flex;
  flex-direction:column;
  transform:translateX(102%);
  transition:transform 260ms cubic-bezier(.2,.7,.3,1);
  overflow-y:auto;
}
.bb-drawer.is-open{transform:translateX(0);}
.bb-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-5);}
.bb-drawer-close{
  width:36px;height:36px;border-radius:var(--r-sm);
  border:1px solid var(--line);
  font-size:18px;line-height:1;color:var(--ink-soft);
}
.bb-drawer-list{margin-bottom:var(--sp-6);}
.bb-drawer-list a{
  display:flex;
  align-items:center;
  height:48px;
  border-bottom:1px solid var(--line);
  font-size:16px;
  font-weight:600;
  color:var(--ink-soft);
}
.bb-drawer-list a.is-active{color:var(--brand-600);}
.bb-drawer .bb-btn{width:100%;}
.bb-mask{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(10,12,16,.44);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--ease),visibility var(--ease);
}
.bb-mask.is-open{opacity:1;visibility:visible;}

/* ============ 页头 ============ */
.bb-pagehead{
  position:relative;
  padding:var(--sp-9) 0 var(--sp-7);
  background:
    radial-gradient(720px 320px at 88% -10%,rgba(255,77,20,.16),transparent 70%),
    linear-gradient(180deg,var(--bg-soft),#fff 88%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.bb-pagehead::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(115deg,rgba(12,14,18,.035) 0 1px,transparent 1px 12px);
  opacity:.6;
  pointer-events:none;
}
.bb-crumb{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  font-size:13px;
  font-weight:500;
  color:var(--mute);
  margin-bottom:var(--sp-5);
}
.bb-crumb a:hover{color:var(--brand-600);}
.bb-crumb-sep{color:var(--line);}
.bb-pagehead h1{
  position:relative;
  z-index:1;
  font-size:clamp(30px,4.2vw,46px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.5px;
  max-width:760px;
}
.bb-pagehead h1 em{
  font-style:normal;
  background:linear-gradient(180deg,transparent 62%,rgba(183,255,61,.62) 62%);
  padding:0 2px;
}
.bb-pagehead-sub{
  position:relative;
  z-index:1;
  margin-top:var(--sp-4);
  max-width:680px;
  font-size:16px;
  color:var(--ink-soft);
}
.bb-pagehead-meta{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-3);
  margin-top:var(--sp-6);
}

/* ============ 筛选条 ============ */
.bb-filterbar{
  position:sticky;
  top:64px;
  z-index:40;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.bb-filter-inner{
  display:flex;
  align-items:center;
  gap:var(--sp-5);
  padding:var(--sp-4) 0;
}
.bb-chips{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  overflow-x:auto;
  scrollbar-width:none;
  padding-bottom:2px;
  flex:1;
}
.bb-chips::-webkit-scrollbar{display:none;}
.bb-chip{
  flex-shrink:0;
  height:36px;
  padding:0 var(--sp-5);
  border-radius:var(--r-pill);
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink-soft);
  font-size:14px;
  font-weight:600;
  transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.bb-chip:hover{border-color:var(--brand);color:var(--brand-600);}
.bb-chip.is-active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  box-shadow:0 4px 12px rgba(12,14,18,.16);
}
.bb-result-count{
  flex-shrink:0;
  font-size:13px;
  font-weight:500;
  color:var(--mute);
}
.bb-result-count b{color:var(--brand-600);font-variant-numeric:tabular-nums;}

/* ============ 板块 ============ */
.bb-section{padding:var(--sp-10) 0;}
.bb-section-tight{padding:var(--sp-9) 0;}
.bb-section-soft{background:var(--bg-soft);}
.bb-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--sp-6);
  margin-bottom:var(--sp-7);
}
.bb-section-head h2{
  font-size:clamp(24px,2.6vw,32px);
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.3px;
}
.bb-section-head p{
  margin-top:var(--sp-2);
  font-size:14px;
  color:var(--ink-soft);
  max-width:640px;
}
.bb-textlink{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:700;
  color:var(--brand-600);
  flex-shrink:0;
  transition:gap var(--ease),color var(--ease);
}
.bb-textlink:hover{gap:10px;color:var(--brand);}

/* ============ 竖屏片段卡网格 ============ */
.bb-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--sp-6);
}
.bb-clip{
  display:block;
  border-radius:20px;
  overflow:hidden;
  background:var(--bg-soft);
  border:1px solid var(--line);
  transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
}
.bb-clip:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:transparent;}
.bb-clip-media{
  position:relative;
  aspect-ratio:3 / 4;
  background:var(--bg-soft);
  overflow:hidden;
}
.bb-clip-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 320ms cubic-bezier(.2,.7,.3,1);
}
.bb-clip:hover .bb-clip-media img{transform:scale(1.04);}
.bb-clip-media::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:58%;
  background:linear-gradient(180deg,rgba(10,12,16,0),rgba(10,12,16,.82));
  pointer-events:none;
}
.bb-clip-time{
  position:absolute;
  top:var(--sp-3);
  left:var(--sp-3);
  z-index:2;
  height:24px;
  padding:0 10px;
  border-radius:var(--r-pill);
  background:rgba(10,12,16,.62);
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:24px;
}
.bb-clip-body{
  position:absolute;
  left:var(--sp-4);
  right:var(--sp-4);
  bottom:var(--sp-4);
  z-index:2;
  color:#fff;
}
.bb-clip-title{
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bb-clip-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
  margin-top:var(--sp-2);
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.78);
  font-variant-numeric:tabular-nums;
}
.bb-clip-play{
  position:absolute;
  top:calc(50% - 26px);
  left:calc(50% - 26px);
  z-index:2;
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background var(--ease),transform var(--ease);
}
.bb-clip-play::before{
  content:"";
  width:0;height:0;
  border-left:13px solid #fff;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  margin-left:3px;
}
.bb-clip:hover .bb-clip-play{background:rgba(255,77,20,.86);transform:scale(1.06);}
.bb-clip-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-3);
  padding:var(--sp-4);
  background:#fff;
}
.bb-clip-cat{
  font-size:12px;
  font-weight:700;
  color:var(--brand-600);
  background:var(--brand-050);
  border-radius:var(--r-pill);
  padding:4px 10px;
}
.bb-clip-date{font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums;}

.bb-loadmore{display:flex;justify-content:center;margin-top:var(--sp-8);}
.bb-loadmore .bb-btn{min-width:220px;}

/* ============ 图文区块（步骤） ============ */
.bb-howto{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:var(--sp-9);
  align-items:center;
}
.bb-howto-media{
  border-radius:var(--r-xl);
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--bg-soft);
  aspect-ratio:16 / 11;
}
.bb-howto-media img{width:100%;height:100%;object-fit:cover;}
.bb-howto h2{
  font-size:clamp(24px,2.6vw,32px);
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.3px;
}
.bb-howto > div > p{margin-top:var(--sp-4);color:var(--ink-soft);}
.bb-steps{margin-top:var(--sp-6);border-top:1px solid var(--line);}
.bb-step{
  display:flex;
  gap:var(--sp-5);
  padding:var(--sp-5) 0;
  border-bottom:1px solid var(--line);
  transition:background var(--ease),padding-left var(--ease);
}
.bb-step:hover{background:var(--bg-soft);padding-left:var(--sp-3);}
.bb-step-idx{
  flex-shrink:0;
  width:38px;height:38px;
  border-radius:var(--r-sm);
  background:var(--brand-050);
  color:var(--brand-600);
  font-size:15px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  font-variant-numeric:tabular-nums;
}
.bb-step h3{font-size:17px;font-weight:700;line-height:1.4;}
.bb-step p{margin-top:6px;font-size:14px;color:var(--ink-soft);}

/* ============ 深色看点面板 ============ */
.bb-darkpanel{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  background:var(--dark);
  color:#fff;
  padding:var(--sp-9) var(--sp-8);
}
.bb-darkpanel-bg{
  position:absolute;
  inset:0;
  opacity:.34;
}
.bb-darkpanel-bg img{width:100%;height:100%;object-fit:cover;}
.bb-darkpanel::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(620px 320px at 82% 6%,rgba(255,77,20,.34),transparent 68%);
  pointer-events:none;
}
.bb-darkpanel-inner{position:relative;z-index:2;}
.bb-darkpanel h2{
  font-size:clamp(24px,2.6vw,32px);
  font-weight:800;
  line-height:1.25;
}
.bb-darkpanel .bb-lead{margin-top:var(--sp-3);font-size:14px;color:rgba(255,255,255,.68);max-width:640px;}
.bb-darkgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--sp-5);
  margin-top:var(--sp-7);
}
.bb-darkcard{
  border-radius:var(--r-lg);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  padding:var(--sp-5);
  transition:background var(--ease),border-color var(--ease);
}
.bb-darkcard:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);}
.bb-darkcard h3{font-size:17px;font-weight:700;}
.bb-darkcard p{margin-top:var(--sp-2);font-size:14px;color:rgba(255,255,255,.68);}
.bb-bar{
  margin-top:var(--sp-4);
  height:5px;
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.14);
  overflow:hidden;
}
.bb-bar span{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);}

/* ============ FAQ ============ */
.bb-faq{border-top:1px solid var(--line);}
.bb-faq-item{border-bottom:1px solid var(--line);}
.bb-faq-q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-5);
  padding:var(--sp-5) 0;
  text-align:left;
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  transition:color var(--ease);
}
.bb-faq-q:hover{color:var(--brand-600);}
.bb-faq-icon{
  position:relative;
  flex-shrink:0;
  width:20px;height:20px;
  transition:transform var(--ease);
}
.bb-faq-icon::before,.bb-faq-icon::after{
  content:"";
  position:absolute;
  background:var(--brand);
  border-radius:2px;
}
.bb-faq-icon::before{left:0;top:9px;width:20px;height:2px;}
.bb-faq-icon::after{top:0;left:9px;width:2px;height:20px;}
.bb-faq-item.is-open .bb-faq-icon{transform:rotate(45deg);}
.bb-faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 280ms cubic-bezier(.2,.7,.3,1);
}
.bb-faq-a p{
  padding:0 var(--sp-8) var(--sp-5) 0;
  font-size:15px;
  line-height:1.8;
  color:var(--ink-soft);
}

/* ============ CTA 转化条 ============ */
.bb-cta{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background:var(--bg-warm);
  border:1px solid rgba(255,77,20,.16);
  padding:var(--sp-7);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-7);
}
.bb-cta::after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-90px;
  width:280px;height:280px;
  border-radius:50%;
  background:rgba(255,77,20,.14);
  pointer-events:none;
}
.bb-cta-copy{position:relative;z-index:2;max-width:640px;}
.bb-cta-copy h2{font-size:clamp(22px,2.4vw,28px);font-weight:800;line-height:1.28;letter-spacing:-.2px;}
.bb-cta-copy p{margin-top:var(--sp-2);font-size:15px;color:var(--ink-soft);}
.bb-cta-actions{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:var(--sp-5);
  flex-shrink:0;
}

/* ============ 页脚 ============ */
.bb-footer{background:var(--dark);color:#fff;padding:var(--sp-10) 0 var(--sp-6);margin-top:var(--sp-10);}
.bb-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:var(--sp-8);
  padding-bottom:var(--sp-8);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.bb-footer-brand{
  display:flex;
  align-items:center;
  gap:var(--sp-3);
  font-size:18px;
  font-weight:800;
  letter-spacing:.2px;
}
.bb-footer-note{margin-top:var(--sp-4);font-size:14px;color:rgba(255,255,255,.6);max-width:280px;}
.bb-footer-social{display:flex;gap:var(--sp-2);margin-top:var(--sp-5);}
.bb-footer-social span{
  width:34px;height:34px;
  border-radius:var(--r-sm);
  border:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.7);
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
.bb-footer-social span:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
.bb-footer-title{font-size:14px;font-weight:700;color:rgba(255,255,255,.82);margin-bottom:var(--sp-4);}
.bb-footer-list li{margin-bottom:var(--sp-3);}
.bb-footer-list a,.bb-footer-list span{
  display:inline-block;
  font-size:14px;
  color:rgba(255,255,255,.6);
  transition:color var(--ease),transform var(--ease);
}
.bb-footer-list a:hover{color:#fff;transform:translateX(2px);}
.bb-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-5);
  padding-top:var(--sp-6);
  font-size:13px;
  color:rgba(255,255,255,.5);
}

/* ============ 吸底 CTA ============ */
.bb-sticky-cta{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:65;
  display:none;
  align-items:center;
  gap:var(--sp-4);
  height:60px;
  padding:0 var(--sp-4) env(safe-area-inset-bottom);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  transform:translateY(110%);
  transition:transform 260ms cubic-bezier(.2,.7,.3,1);
}
.bb-sticky-cta.is-show{transform:translateY(0);}
.bb-sticky-cta .bb-btn{flex:1;}
.bb-sticky-cta-info{font-size:13px;color:var(--ink-soft);line-height:1.35;}
.bb-sticky-cta-info b{display:block;font-size:15px;color:var(--ink);font-weight:800;}

/* ============ 响应式 ============ */
@media (max-width:1279px){
  .bb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);}
}
@media (max-width:1023px){
  .bb-nav-list{display:none;}
  .bb-burger{display:flex;}
  .bb-search{width:180px;}
  .bb-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bb-howto{grid-template-columns:1fr;gap:var(--sp-7);}
  .bb-darkgrid{grid-template-columns:1fr;}
  .bb-filterbar{top:56px;}
  .bb-footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-7);}
}
@media (max-width:767px){
  .bb-container{padding:0 var(--sp-4);}
  .bb-header-inner{height:56px;gap:var(--sp-4);}
  .bb-logo{font-size:16px;gap:var(--sp-2);}
  .bb-logo-full{display:none;}
  .bb-logo-badge{display:inline-block;}
  .bb-search{display:none;}
  .bb-header-tools .bb-btn-primary{display:none;}
  .bb-pagehead{padding:var(--sp-8) 0 var(--sp-6);}
  .bb-pagehead-sub{font-size:15px;}
  .bb-section{padding:var(--sp-8) 0;}
  .bb-section-head{flex-direction:column;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-6);}
  .bb-filter-inner{flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) 0;}
  .bb-chips{width:100%;}
  .bb-result-count{padding-left:2px;}
  .bb-cta{flex-direction:column;align-items:flex-start;padding:var(--sp-6);gap:var(--sp-5);}
  .bb-cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:var(--sp-3);}
  .bb-cta-actions .bb-btn{width:100%;}
  .bb-darkpanel{padding:var(--sp-7) var(--sp-5);}
  .bb-faq-a p{padding-right:0;}
  .bb-footer{padding:var(--sp-9) 0 var(--sp-6);}
  .bb-footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--sp-2);}
}
@media (max-width:559px){
  .bb-grid{grid-template-columns:1fr;gap:var(--sp-5);}
  .bb-sticky-cta{display:flex;}
  body.has-sticky-cta{padding-bottom:72px;}
  .bb-btn{width:100%;}
  .bb-clip-foot{padding:var(--sp-3) var(--sp-4);}
  .bb-loadmore .bb-btn{width:100%;}
  .bb-section-head h2{font-size:23px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* roulang page: category2 */
:root{
  --ink:#0C0E12;
  --ink-soft:#39404A;
  --mute:#79818E;
  --bg:#FFFFFF;
  --bg-soft:#F5F7FA;
  --bg-warm:#FFF3EC;
  --brand:#FF4D14;
  --brand-600:#E23C00;
  --brand-050:#FFEDE5;
  --accent:#B7FF3D;
  --dark:#0A0C10;
  --dark-2:#14171D;
  --line:#E6E9EF;
  --star:#FFB020;
  --danger:#E5484D;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:24px;
  --r-pill:999px;
  --sh-1:0 1px 2px rgba(12,14,18,.05);
  --sh-2:0 2px 8px rgba(12,14,18,.06),0 12px 28px rgba(12,14,18,.07);
  --sh-brand:0 8px 20px rgba(255,77,20,.28);
  --t:220ms cubic-bezier(.2,.7,.3,1);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;
  --s7:32px;--s8:40px;--s9:56px;--s10:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  background:var(--bg);
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
  border-radius:var(--r-sm);
}
.bb-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--s6);
}
.bb-section{
  padding:var(--s10) 0;
}
.bb-section--soft{
  background:var(--bg-soft);
}
.bb-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--s6);
  margin-bottom:var(--s7);
}
.bb-section-head h2{
  font-size:clamp(24px,2.6vw,32px);
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.2px;
}
.bb-section-head p{
  font-size:14px;
  color:var(--mute);
  margin-top:var(--s2);
}
.bb-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.6px;
  color:var(--brand);
  background:var(--brand-050);
  border-radius:var(--r-pill);
  padding:5px 12px;
}
.bb-eyebrow--dark{
  color:var(--accent);
  background:rgba(183,255,61,.12);
  border:1px solid rgba(183,255,61,.4);
}

/* ---------- header ---------- */
.bb-header{
  position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--t);
}
.bb-header.is-scrolled{
  box-shadow:0 2px 10px rgba(12,14,18,.06);
}
.bb-header-inner{
  height:64px;
  display:flex;
  align-items:center;
  gap:var(--s6);
}
.bb-brand{
  display:flex;
  align-items:center;
  gap:var(--s3);
  flex-shrink:0;
}
.bb-logo-mark{
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--brand);
  display:grid;
  place-items:center;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(255,77,20,.24);
}
.bb-logo-mark svg{width:22px;height:22px}
.bb-brand-text{
  font-size:18px;
  font-weight:800;
  letter-spacing:-.2px;
  white-space:nowrap;
}
.bb-brand-badge{
  display:none;
  font-size:12px;
  font-weight:700;
  color:var(--brand);
  background:var(--brand-050);
  border-radius:var(--r-pill);
  padding:3px 8px;
  line-height:1.2;
}
.bb-nav-list{
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:var(--s6);
}
.bb-nav-link{
  position:relative;
  font-size:15px;
  font-weight:600;
  color:var(--ink-soft);
  padding:6px 0;
  transition:color var(--t);
}
.bb-nav-link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:var(--brand);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--t);
}
.bb-nav-link:hover{color:var(--ink)}
.bb-nav-link:hover::after,.bb-nav-link.is-active::after{transform:scaleX(1)}
.bb-nav-link.is-active{color:var(--ink)}
.bb-header-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:var(--s3);
}
.bb-search{
  display:flex;
  align-items:center;
  height:40px;
  width:220px;
  background:var(--bg-soft);
  border:1px solid transparent;
  border-radius:var(--r-pill);
  padding:0 var(--s4);
  transition:background var(--t),border-color var(--t),box-shadow var(--t);
}
.bb-search input{
  border:0;
  background:transparent;
  outline:none;
  width:100%;
  font-size:14px;
  color:var(--ink);
}
.bb-search input::placeholder{color:var(--mute)}
.bb-search:focus-within{
  background:#fff;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(255,77,20,.14);
}
.bb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  height:44px;
  padding:0 var(--s6);
  border-radius:var(--r-pill);
  font-size:15px;
  font-weight:700;
  letter-spacing:.2px;
  border:1px solid transparent;
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t),box-shadow var(--t);
  white-space:nowrap;
}
.bb-btn:active{transform:translateY(1px)}
.bb-btn-primary{
  background:var(--brand);
  color:#fff;
  box-shadow:var(--sh-brand);
}
.bb-btn-primary:hover{background:var(--brand-600)}
.bb-btn-outline{
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
}
.bb-btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.bb-btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.bb-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.bb-btn-sm{height:40px;padding:0 var(--s5);font-size:14px}
.bb-btn-block{width:100%}
.bb-btn[disabled]{opacity:.4;cursor:not-allowed}
.bb-burger{
  display:none;
  width:40px;height:40px;
  border-radius:var(--r-sm);
  border:1px solid var(--line);
  place-items:center;
}
.bb-burger span{
  display:block;
  width:16px;height:2px;
  background:var(--ink);
  border-radius:2px;
  position:relative;
}
.bb-burger span::before,.bb-burger span::after{
  content:"";
  position:absolute;left:0;
  width:16px;height:2px;
  background:var(--ink);
  border-radius:2px;
}
.bb-burger span::before{top:-5px}
.bb-burger span::after{top:5px}

/* ---------- drawer ---------- */
.bb-drawer-mask{
  position:fixed;
  inset:0;
  background:rgba(10,12,16,.5);
  opacity:0;
  pointer-events:none;
  transition:opacity var(--t);
  z-index:70;
}
.bb-drawer-mask.is-open{opacity:1;pointer-events:auto}
.bb-drawer{
  position:fixed;
  top:0;right:0;
  height:100%;
  width:84vw;
  max-width:360px;
  background:#fff;
  z-index:80;
  transform:translateX(100%);
  transition:transform var(--t);
  display:flex;
  flex-direction:column;
  padding:var(--s5) var(--s5) var(--s6);
  box-shadow:-12px 0 32px rgba(12,14,18,.14);
}
.bb-drawer.is-open{transform:none}
.bb-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:var(--s4);
  border-bottom:1px solid var(--line);
}
.bb-drawer-title{font-size:15px;font-weight:800}
.bb-drawer-close{
  width:36px;height:36px;
  border-radius:var(--r-sm);
  border:1px solid var(--line);
  font-size:18px;
  color:var(--ink-soft);
  line-height:1;
}
.bb-drawer-list{margin-top:var(--s3);flex:1}
.bb-drawer-list a{
  display:flex;
  align-items:center;
  height:48px;
  font-size:16px;
  font-weight:600;
  color:var(--ink-soft);
  border-bottom:1px solid var(--line);
}
.bb-drawer-list a.is-active{color:var(--brand)}
.bb-drawer-foot{padding-top:var(--s5)}

/* ---------- page head ---------- */
.bb-page-head{
  position:relative;
  overflow:hidden;
  background:var(--dark);
  color:#fff;
  min-height:300px;
  display:flex;
  align-items:center;
  padding:var(--s9) 0;
}
.bb-page-head-bg{
  position:absolute;
  inset:0;
  background-image:url("/assets/images/backpic/back-2.webp");
  background-size:cover;
  background-position:center;
  opacity:.42;
}
.bb-page-head::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(560px 320px at 88% 12%,rgba(255,77,20,.24),transparent 70%),
    linear-gradient(180deg,rgba(10,12,16,.55) 0%,rgba(10,12,16,.88) 100%);
}
.bb-page-head .bb-container{position:relative;z-index:2}
.bb-page-head h1{
  font-size:clamp(30px,4.2vw,48px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.5px;
  margin:var(--s4) 0 var(--s3);
  max-width:860px;
}
.bb-page-head p{
  font-size:16px;
  color:rgba(255,255,255,.74);
  max-width:660px;
}
.bb-page-head-meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s3);
  margin-top:var(--s6);
  font-size:13px;
  color:rgba(255,255,255,.6);
}
.bb-page-head-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-pill);
  padding:5px 12px;
}

/* ---------- list table ---------- */
.bb-list-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--s4);
  margin-bottom:var(--s5);
}
.bb-count{
  font-size:13px;
  font-weight:500;
  color:var(--mute);
}
.bb-count strong{color:var(--brand);font-weight:800}
.bb-legend{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s2);
}
.bb-chip{
  font-size:12px;
  font-weight:600;
  color:var(--ink-soft);
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  padding:5px 12px;
}
.bb-chip--on{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.bb-table-wrap{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  background:#fff;
}
.bb-list-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.bb-list-table thead th{
  background:var(--bg-soft);
  font-size:13px;
  font-weight:700;
  color:var(--ink-soft);
  text-align:left;
  padding:var(--s4) var(--s5);
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.bb-list-table tbody td{
  padding:var(--s5);
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  font-size:15px;
}
.bb-list-table tbody tr:last-child td{border-bottom:0}
.bb-list-table tbody tr{transition:background var(--t)}
.bb-list-table tbody tr:hover{background:#FCFCFD}
.bb-td-index{
  font-size:22px;
  font-weight:800;
  color:var(--brand);
  width:64px;
}
.bb-td-name{
  width:20%;
  font-size:17px;
  font-weight:700;
  line-height:1.4;
}
.bb-td-name small{
  display:block;
  font-size:13px;
  font-weight:500;
  color:var(--mute);
  margin-top:2px;
}
.bb-td-flags{width:30%}
.bb-tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.bb-tag{
  font-size:12px;
  font-weight:600;
  color:var(--brand);
  background:var(--brand-050);
  border-radius:var(--r-pill);
  padding:4px 10px;
  line-height:1.4;
}
.bb-td-scene{
  width:22%;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.7;
}
.bb-td-go{width:96px;text-align:right}
.bb-link-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  transition:border-color var(--t),color var(--t),transform var(--t);
}
.bb-link-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateX(2px)}
.bb-table-note{
  margin-top:var(--s5);
  font-size:13px;
  color:var(--mute);
}

/* ---------- insert band ---------- */
.bb-band{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:var(--s8);
  align-items:center;
}
.bb-band-media{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  background:var(--bg-soft);
  min-height:340px;
  box-shadow:var(--sh-2);
}
.bb-band-media > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.bb-band-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,12,16,0) 45%,rgba(10,12,16,.55) 100%);
}
.bb-band-mini{
  position:absolute;
  left:var(--s5);
  bottom:var(--s5);
  width:150px;
  border-radius:var(--r-md);
  overflow:hidden;
  border:2px solid rgba(255,255,255,.85);
  z-index:2;
  background:var(--bg-soft);
  aspect-ratio:4/3;
}
.bb-band-mini img{width:100%;height:100%;object-fit:cover}
.bb-band-body h2{
  font-size:clamp(24px,2.6vw,32px);
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.2px;
  margin-bottom:var(--s4);
}
.bb-band-body > p{
  color:var(--ink-soft);
  margin-bottom:var(--s6);
}
.bb-check-list{
  display:grid;
  gap:var(--s4);
}
.bb-check-item{
  display:flex;
  gap:var(--s4);
  padding:var(--s5);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  transition:box-shadow var(--t),transform var(--t),border-color var(--t);
}
.bb-check-item:hover{
  box-shadow:var(--sh-2);
  transform:translateY(-4px);
  border-color:#DCE1EA;
}
.bb-check-num{
  flex-shrink:0;
  width:36px;height:36px;
  border-radius:var(--r-sm);
  background:var(--brand-050);
  color:var(--brand);
  font-weight:800;
  font-size:15px;
  display:grid;
  place-items:center;
}
.bb-check-item h3{font-size:17px;line-height:1.4;font-weight:700;margin-bottom:4px}
.bb-check-item p{font-size:14px;color:var(--ink-soft);line-height:1.7}

/* ---------- faq ---------- */
.bb-faq{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.bb-faq-item{border-bottom:1px solid var(--line)}
.bb-faq-item:last-child{border-bottom:0}
.bb-faq-q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s5);
  text-align:left;
  padding:var(--s5) var(--s6);
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  transition:background var(--t);
}
.bb-faq-q:hover{background:var(--bg-soft)}
.bb-faq-icon{
  flex-shrink:0;
  width:20px;height:20px;
  position:relative;
  transition:transform var(--t);
}
.bb-faq-icon::before,.bb-faq-icon::after{
  content:"";
  position:absolute;
  background:var(--brand);
  border-radius:2px;
}
.bb-faq-icon::before{left:0;top:9px;width:20px;height:2px}
.bb-faq-icon::after{left:9px;top:0;width:2px;height:20px}
.bb-faq-item.is-open .bb-faq-icon{transform:rotate(45deg)}
.bb-faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 320ms cubic-bezier(.2,.7,.3,1);
}
.bb-faq-a-inner{
  padding:0 var(--s6) var(--s5);
  font-size:15px;
  line-height:1.8;
  color:var(--ink-soft);
}

/* ---------- consult ---------- */
.bb-consult-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:var(--s8);
  align-items:start;
}
.bb-form-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-1);
  padding:var(--s7);
}
.bb-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s5);
}
.bb-field{display:flex;flex-direction:column;gap:var(--s2)}
.bb-field--full{grid-column:1/-1}
.bb-field label{font-size:14px;font-weight:700;color:var(--ink)}
.bb-field input,.bb-field select,.bb-field textarea{
  width:100%;
  min-height:46px;
  padding:0 var(--s4);
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-size:15px;
  outline:none;
  transition:border-color var(--t),box-shadow var(--t);
}
.bb-field textarea{
  min-height:110px;
  padding:var(--s3) var(--s4);
  resize:vertical;
  line-height:1.7;
}
.bb-field input:focus,.bb-field select:focus,.bb-field textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(255,77,20,.12);
}
.bb-field.has-error input,.bb-field.has-error textarea,.bb-field.has-error select{
  border-color:var(--danger);
}
.bb-field-hint{font-size:12px;color:var(--danger);display:none}
.bb-field.has-error .bb-field-hint{display:block}
.bb-form-actions{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s4);
  flex-wrap:wrap;
}
.bb-form-actions small{font-size:12px;color:var(--mute)}
.bb-trust{
  display:grid;
  gap:var(--s4);
  margin-top:var(--s6);
}
.bb-trust-item{
  display:flex;
  align-items:center;
  gap:var(--s3);
  font-size:14px;
  color:var(--ink-soft);
}
.bb-trust-dot{
  width:22px;height:22px;
  border-radius:50%;
  background:var(--brand-050);
  color:var(--brand);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:800;
  flex-shrink:0;
}
.bb-consult-side{
  background:var(--dark);
  color:#fff;
  border-radius:var(--r-lg);
  padding:var(--s7);
  position:relative;
  overflow:hidden;
}
.bb-consult-side::after{
  content:"";
  position:absolute;
  right:-60px;top:-60px;
  width:220px;height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,77,20,.35),transparent 70%);
}
.bb-consult-side h2{
  position:relative;
  font-size:22px;
  font-weight:800;
  line-height:1.35;
  margin-bottom:var(--s4);
}
.bb-consult-side p{
  position:relative;
  font-size:15px;
  color:rgba(255,255,255,.7);
  margin-bottom:var(--s6);
}
.bb-side-list{
  position:relative;
  display:grid;
  gap:var(--s3);
  font-size:14px;
  color:rgba(255,255,255,.82);
}
.bb-side-list li{
  display:flex;
  gap:var(--s3);
  align-items:flex-start;
  padding-bottom:var(--s3);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.bb-side-list li:last-child{border-bottom:0;padding-bottom:0}
.bb-side-list b{color:var(--accent);font-weight:700}

/* ---------- cta bar ---------- */
.bb-cta-bar{
  position:relative;
  overflow:hidden;
  background:var(--bg-warm);
  border-radius:20px;
  padding:var(--s7);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s7);
}
.bb-cta-bar::after{
  content:"";
  position:absolute;
  right:-40px;bottom:-70px;
  width:220px;height:220px;
  border-radius:50%;
  background:rgba(255,77,20,.08);
}
.bb-cta-bar h2{
  position:relative;
  font-size:clamp(20px,2.2vw,26px);
  font-weight:800;
  line-height:1.35;
  margin-bottom:var(--s2);
}
.bb-cta-bar p{
  position:relative;
  font-size:15px;
  color:var(--ink-soft);
}
.bb-cta-actions{
  position:relative;
  display:flex;
  align-items:center;
  gap:var(--s5);
  flex-shrink:0;
}
.bb-text-link{
  font-size:14px;
  font-weight:700;
  color:var(--brand);
  border-bottom:1px solid rgba(255,77,20,.35);
  padding-bottom:2px;
  transition:border-color var(--t),color var(--t);
}
.bb-text-link:hover{border-color:var(--brand);color:var(--brand-600)}

/* ---------- footer ---------- */
.bb-footer{
  background:var(--dark);
  color:#fff;
  padding:var(--s9) 0 var(--s6);
  margin-top:var(--s10);
}
.bb-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:var(--s8);
}
.bb-footer-brand{
  display:flex;
  align-items:center;
  gap:var(--s3);
  font-size:18px;
  font-weight:800;
  margin-bottom:var(--s4);
}
.bb-footer-note{
  font-size:14px;
  color:rgba(255,255,255,.6);
  max-width:280px;
}
.bb-footer-social{
  display:flex;
  gap:var(--s3);
  margin-top:var(--s5);
}
.bb-footer-social span{
  width:34px;height:34px;
  border-radius:var(--r-sm);
  border:1px solid rgba(255,255,255,.14);
  display:grid;
  place-items:center;
  font-size:13px;
  color:rgba(255,255,255,.7);
  transition:border-color var(--t),color var(--t);
}
.bb-footer-social span:hover{border-color:var(--brand);color:#fff}
.bb-footer-title{
  font-size:14px;
  font-weight:700;
  color:rgba(255,255,255,.8);
  margin-bottom:var(--s4);
}
.bb-footer-list li{margin-bottom:var(--s3)}
.bb-footer-list a,.bb-footer-list span{
  font-size:14px;
  color:rgba(255,255,255,.6);
  transition:color var(--t),transform var(--t);
  display:inline-block;
}
.bb-footer-list a:hover{color:#fff;transform:translateX(2px)}
.bb-footer-bottom{
  margin-top:var(--s8);
  padding-top:var(--s5);
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  flex-wrap:wrap;
  gap:var(--s3);
  justify-content:space-between;
  font-size:13px;
  color:rgba(255,255,255,.45);
}

/* ---------- sticky cta ---------- */
.bb-sticky-cta{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:90;
  align-items:center;
  justify-content:space-between;
  gap:var(--s4);
  height:60px;
  padding:0 var(--s4);
  padding-bottom:env(safe-area-inset-bottom);
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(12,14,18,.08);
  transform:translateY(110%);
  opacity:0;
  pointer-events:none;
  transition:transform var(--t),opacity var(--t);
}
.bb-sticky-cta.is-visible{transform:none;opacity:1;pointer-events:auto}
.bb-sticky-cta strong{display:block;font-size:14px;font-weight:800;line-height:1.3}
.bb-sticky-cta span{font-size:12px;color:var(--mute)}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .bb-nav-list{display:none}
  .bb-search{display:none}
  .bb-burger{display:grid}
  .bb-band{grid-template-columns:1fr;gap:var(--s7)}
  .bb-consult-grid{grid-template-columns:1fr}
  .bb-footer-grid{grid-template-columns:1fr 1fr;gap:var(--s7)}
  .bb-td-name{width:24%}
  .bb-td-flags{width:26%}
  .bb-td-scene{width:22%}
}
@media (max-width:768px){
  .bb-container{padding:0 var(--s4)}
  .bb-section{padding:48px 0}
  .bb-brand-text{font-size:17px}
  .bb-brand-suffix{display:none}
  .bb-brand-badge{display:inline-block}
  .bb-header-inner{height:56px;gap:var(--s3)}
  .bb-page-head{padding:var(--s8) 0;min-height:260px}
  .bb-section-head{flex-direction:column;align-items:flex-start;gap:var(--s3)}
  .bb-cta-bar{flex-direction:column;align-items:flex-start;padding:var(--s6)}
  .bb-cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:var(--s4)}
  .bb-cta-actions .bb-btn{width:100%}
  .bb-text-link{text-align:center}
  .bb-form-grid{grid-template-columns:1fr}
  .bb-form-card{padding:var(--s6)}
  .bb-band-media{min-height:260px}
  .bb-band-mini{width:116px;left:var(--s4);bottom:var(--s4)}

  /* table -> stacked cards */
  .bb-table-wrap{border:0;border-radius:0;overflow:visible;background:transparent}
  .bb-list-table,.bb-list-table tbody,.bb-list-table tr,.bb-list-table td{display:block;width:100%}
  .bb-list-table thead{display:none}
  .bb-list-table tbody tr{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--r-lg);
    padding:var(--s5);
    margin-bottom:var(--s4);
  }
  .bb-list-table tbody tr:hover{background:#fff;box-shadow:var(--sh-2)}
  .bb-list-table tbody td{
    border-bottom:0;
    padding:0;
    width:100% !important;
  }
  .bb-td-index{
    position:absolute;
    right:var(--s5);
    top:var(--s4);
    font-size:14px;
    font-weight:800;
    color:var(--brand);
    background:var(--brand-050);
    border-radius:var(--r-pill);
    padding:3px 10px;
    width:auto;
    line-height:1.4;
  }
  .bb-td-name{
    font-size:17px;
    padding-right:56px !important;
    margin-bottom:var(--s4);
  }
  .bb-td-flags{margin-bottom:var(--s4)}
  .bb-td-flags::before,.bb-td-scene::before{
    display:block;
    font-size:12px;
    font-weight:700;
    color:var(--mute);
    margin-bottom:6px;
  }
  .bb-td-flags::before{content:"核心亮点"}
  .bb-td-scene::before{content:"适配场景"}
  .bb-td-scene{
    font-size:14px;
    color:var(--ink-soft);
    margin-bottom:var(--s4);
  }
  .bb-td-go{text-align:left}
  .bb-link-btn{width:100%;justify-content:space-between}
}
@media (max-width:559px){
  .bb-section{padding:48px 0}
  .bb-page-head h1{font-size:clamp(26px,7vw,32px)}
  .bb-btn{width:100%}
  .bb-header-actions .bb-btn{width:auto}
  .bb-footer-grid{grid-template-columns:1fr 1fr;gap:var(--s6)}
  .bb-sticky-cta{display:flex}
  body{padding-bottom:72px}
  .bb-faq-q{padding:var(--s4) var(--s5);font-size:15px}
  .bb-faq-a-inner{padding:0 var(--s5) var(--s5)}
  .bb-trust-item{font-size:13px}
}
@media (max-width:400px){
  .bb-brand-text{font-size:16px}
  .bb-td-name{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
