/* roulang page: index */
:root{
  --bg-deep:#051F14;
  --bg-velvet:#0B2E1E;
  --bg-card:#0F3826;
  --gold-1:#F59E0B;
  --gold-2:#FCD34D;
  --dragon:#DC2626;
  --ivory:#F8FAFC;
  --mint:#D1FAE5;
  --olive:#A3A375;
  --line:rgba(245,158,11,.28);
  --line-soft:rgba(209,250,229,.12);
  --radius-s:10px;
  --radius:16px;
  --radius-l:24px;
  --shadow:0 18px 45px rgba(0,0,0,.45);
  --shadow-gold:0 8px 28px rgba(245,158,11,.28);
  --space:clamp(56px,7vw,104px);
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(1200px 600px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
    radial-gradient(900px 500px at -10% 20%,rgba(16,185,129,.10),transparent 55%),
    var(--bg-deep);
  color:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .22s ease,opacity .22s ease}
a:hover{color:var(--gold-2)}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.25;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
section{position:relative}
.section{padding:var(--space) 0}
.section-alt{background:linear-gradient(180deg,rgba(11,46,30,.72),rgba(5,31,20,.35));border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-2);background:rgba(245,158,11,.10);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:16px;
}
.section-title{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.section-lead{color:var(--mint);max-width:760px;font-size:1.02rem}
.muted{color:var(--olive)}
.text-gold{color:var(--gold-2)}

/* ===== Header / Nav ===== */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(5,31,20,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-wrap{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{
  width:44px;height:44px;flex:0 0 44px;border-radius:13px;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
  color:#052015;display:grid;place-items:center;font-weight:900;font-size:1.05rem;
  box-shadow:var(--shadow-gold);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-text b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.brand-text span{font-size:.7rem;color:var(--olive);letter-spacing:.1em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-links a{
  font-size:.9rem;font-weight:600;padding:9px 14px;border-radius:999px;color:var(--mint);
}
.nav-links a:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.nav-links a.active{background:rgba(245,158,11,.16);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--line)}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.btn-ghost{
  border:1px solid var(--line);color:var(--gold-2);background:transparent;
  padding:9px 16px;border-radius:999px;font-weight:700;font-size:.88rem;
}
.btn-ghost:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.btn-gold{
  background:linear-gradient(140deg,var(--gold-1),var(--gold-2));
  color:#052015;font-weight:800;border:none;border-radius:999px;
  padding:10px 20px;font-size:.9rem;box-shadow:var(--shadow-gold);
}
.btn-gold:hover{transform:translateY(-2px);color:#052015;filter:brightness(1.05)}
.btn-gold:active{transform:translateY(0)}
.btn-outline-gold{
  border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.06);
  border-radius:999px;padding:10px 20px;font-weight:700;font-size:.9rem;
}
.btn-outline-gold:hover{background:rgba(245,158,11,.16);color:var(--gold-2)}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--line);
  color:var(--gold-2);width:42px;height:42px;border-radius:12px;font-size:1rem;
}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}

/* ===== Hero ===== */
.hero{
  position:relative;overflow:hidden;
  background-image:linear-gradient(115deg,rgba(5,31,20,.94),rgba(5,31,20,.62)),url('/assets/images/55b1ce1f51aa315d.jpg');
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--line-soft);
}
.hero-inner{padding:clamp(48px,7vw,96px) 0;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(1.75rem,4vw,2.9rem);max-width:800px}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-lead{color:var(--mint);font-size:1.05rem;max-width:640px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 22px}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;padding-top:20px;border-top:1px solid var(--line-soft)}
.hero-stats div b{display:block;font-size:1.4rem;color:var(--gold-2)}
.hero-stats div span{font-size:.82rem;color:var(--olive)}
.coupon{
  background:linear-gradient(160deg,rgba(15,56,38,.96),rgba(5,31,20,.96));
  border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;
  box-shadow:var(--shadow);position:relative;
}
.coupon::after{
  content:"HOT";position:absolute;top:-12px;right:20px;
  background:linear-gradient(140deg,var(--dragon),#f97316);color:#fff;
  font-size:.7rem;font-weight:900;letter-spacing:.12em;padding:6px 12px;border-radius:999px;
}
.coupon h3{font-size:1.15rem;margin-bottom:6px}
.coupon .value{font-size:2.2rem;font-weight:900;color:var(--gold-2);line-height:1.1}
.coupon small{color:var(--olive);display:block;margin-bottom:16px}
.coupon-input{
  display:flex;gap:8px;background:rgba(5,31,20,.8);border:1px dashed var(--line);
  border-radius:var(--radius-s);padding:10px 14px;margin-bottom:14px;font-size:.9rem;color:var(--gold-2);
}
.pay-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pay-badges span{
  font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:999px;
  background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#A7F3D0;
}

/* ===== Generic components ===== */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:linear-gradient(165deg,rgba(15,56,38,.85),rgba(5,31,20,.9));
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.card h3{font-size:1.08rem;margin-bottom:8px}
.card p{color:var(--mint);font-size:.94rem;margin-bottom:0}
.card .icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:rgba(245,158,11,.12);color:var(--gold-2);font-size:1.15rem;margin-bottom:14px;
  border:1px solid var(--line);
}
.tag{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}
.stat-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;
}
.stat-strip div{background:rgba(5,31,20,.92);padding:22px 20px}
.stat-strip b{display:block;font-size:1.6rem;color:var(--gold-2)}
.stat-strip span{font-size:.84rem;color:var(--olive)}
.steps{counter-reset:step}
.step{display:flex;gap:16px;padding:18px 0;border-bottom:1px dashed var(--line-soft)}
.step:last-child{border-bottom:none}
.step-no{
  flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--gold-1),var(--gold-2));color:#052015;font-weight:900;
}
.step h4{font-size:1rem;margin-bottom:4px}
.step p{margin:0;color:var(--mint);font-size:.92rem}
.check-list li{display:flex;gap:10px;padding:9px 0;font-size:.94rem;color:var(--mint);border-bottom:1px dashed rgba(209,250,229,.08)}
.check-list li:last-child{border-bottom:none}
.check-list i{color:var(--gold-2);margin-top:5px}

/* ===== Article / CMS list ===== */
.article-list{display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:start}
.post{
  display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px;border-radius:var(--radius);
  border:1px solid var(--line-soft);background:rgba(11,46,30,.55);
  transition:border-color .22s ease,transform .22s ease;
}
.post:hover{border-color:var(--line);transform:translateX(4px)}
.post img{width:100%;height:100%;min-height:104px;object-fit:cover;border-radius:12px}
.post h3{font-size:1rem;margin-bottom:6px;color:var(--ivory)}
.post .meta{font-size:.78rem;color:var(--olive);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.post p{font-size:.9rem;color:var(--mint);margin:0}
.side-panel{
  background:linear-gradient(165deg,rgba(15,56,38,.86),rgba(5,31,20,.94));
  border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:92px;
}
.side-panel h3{font-size:1.05rem}
.rank-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line-soft);font-size:.9rem}
.rank-row:last-child{border-bottom:none}
.rank-no{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:grid;place-items:center;background:rgba(245,158,11,.14);color:var(--gold-2);font-weight:800;font-size:.78rem}
.empty-note{color:var(--olive);font-size:.92rem;padding:18px;border:1px dashed var(--line-soft);border-radius:var(--radius)}

/* ===== FAQ ===== */
.faq-item{border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px;background:rgba(11,46,30,.5)}
.faq-item h4{font-size:1rem;margin-bottom:8px;color:var(--gold-2)}
.faq-item p{margin:0;color:var(--mint);font-size:.94rem}

/* ===== CTA ===== */
.cta-band{
  background:linear-gradient(120deg,rgba(245,158,11,.16),rgba(5,31,20,.9)),url('/assets/images/e89fa13e660512c0.jpg');
  background-size:cover;background-position:center;
  border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(30px,5vw,54px);
  display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:center;
}
.cta-band h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:10px}
.cta-band p{color:var(--mint);margin-bottom:0}

/* ===== Footer ===== */
.site-footer{background:#04170F;border-top:1px solid var(--line-soft);padding:56px 0 26px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:30px}
.site-footer h4{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:14px}
.site-footer li{margin-bottom:9px;font-size:.9rem;color:var(--mint)}
.site-footer p{font-size:.9rem;color:var(--olive)}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.trust-row span{font-size:.72rem;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.08)}
.footer-bottom{border-top:1px solid var(--line-soft);margin-top:34px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.82rem;color:var(--olive)}
.age-badge{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:2px solid var(--dragon);color:#fff;font-weight:900;font-size:.78rem;background:rgba(220,38,38,.2);
}

/* ===== FAB ===== */
.fab{
  position:fixed;left:16px;bottom:96px;z-index:70;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(150deg,var(--gold-1),var(--gold-2));
  color:#052015;font-size:1.3rem;box-shadow:0 8px 26px rgba(245,158,11,.4);
  animation:fabFloat 3.2s ease-in-out infinite;
}
.fab:hover{transform:scale(1.08) rotate(8deg);color:#052015}
.fab:active{transform:scale(.94)}
.fab .dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:var(--dragon);border:2px solid #fff}
@keyframes fabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ===== Mobile bottom bar ===== */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:75;display:none;
  background:rgba(5,31,20,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);
  padding:8px 12px;gap:10px;
}
.mobile-bar a{flex:1;text-align:center;font-size:.82rem;font-weight:700;padding:10px 4px;border-radius:12px;color:var(--mint)}
.mobile-bar a.primary{background:linear-gradient(140deg,var(--gold-1),var(--gold-2));color:#052015}

@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .article-list{grid-template-columns:1fr}
  .side-panel{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-band{grid-template-columns:1fr}
}
@media (max-width:768px){
  .nav-links{display:none}
  .nav-toggle{display:grid;place-items:center;margin-left:auto}
  .nav-cta .btn-ghost{display:none}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr 1fr}
  .post{grid-template-columns:1fr}
  .post img{height:170px}
  .mobile-bar{display:flex}
  .brand-text b{max-width:52vw}
}
@media (max-width:520px){
  .grid-4{grid-template-columns:1fr}
  .hero-actions .btn-gold,.hero-actions .btn-outline-gold{width:100%;text-align:center}
  .footer-grid{grid-template-columns:1fr}
}

/* roulang page: article */
:root{
  --bg-deep:#051F14;
  --bg-velvet:#0B2E1E;
  --bg-card:#0F3826;
  --gold-1:#F59E0B;
  --gold-2:#FCD34D;
  --dragon:#DC2626;
  --ivory:#F8FAFC;
  --mint:#D1FAE5;
  --olive:#A3A375;
  --line:rgba(245,158,11,.28);
  --line-soft:rgba(209,250,229,.12);
  --radius-s:10px;
  --radius:16px;
  --radius-l:24px;
  --shadow:0 18px 45px rgba(0,0,0,.45);
  --shadow-gold:0 8px 28px rgba(245,158,11,.28);
  --space:clamp(56px,7vw,104px);
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(1200px 600px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
    radial-gradient(900px 500px at -10% 20%,rgba(16,185,129,.10),transparent 55%),
    var(--bg-deep);
  color:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .22s ease,opacity .22s ease}
a:hover{color:var(--gold-2)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
section{position:relative}
.section{padding:var(--space) 0}
.section-alt{background:linear-gradient(180deg,rgba(11,46,30,.72),rgba(5,31,20,.35));border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-2);background:rgba(245,158,11,.10);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:16px;
}
.section-title{font-size:clamp(1.5rem,3.4vw,2.2rem);margin:0 0 14px}
.section-lead{color:var(--mint);max-width:760px;font-size:1.02rem;margin:0 0 0}
.muted{color:var(--olive)}
.text-gold{color:var(--gold-2)}
/* ===== Header / Nav ===== */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(5,31,20,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-wrap{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{
  width:44px;height:44px;flex:0 0 44px;border-radius:13px;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
  color:#052015;display:grid;place-items:center;font-weight:900;font-size:1.05rem;
  box-shadow:var(--shadow-gold);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-text b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.brand-text span{font-size:.7rem;color:var(--olive);letter-spacing:.1em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-links a{
  font-size:.9rem;font-weight:600;padding:9px 14px;border-radius:999px;color:var(--mint);
}
.nav-links a:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.nav-links a.active{background:rgba(245,158,11,.16);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--line)}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.btn-ghost{
  border:1px solid var(--line);color:var(--gold-2);background:transparent;
  padding:9px 16px;border-radius:999px;font-weight:700;font-size:.88rem;
}
.btn-ghost:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.btn-gold{
  background:linear-gradient(140deg,var(--gold-1),var(--gold-2));
  color:#052015;font-weight:800;border:none;border-radius:999px;
  padding:10px 20px;font-size:.9rem;box-shadow:var(--shadow-gold);
  display:inline-block;
}
.btn-gold:hover{transform:translateY(-2px);color:#052015;filter:brightness(1.05)}
.btn-gold:active{transform:translateY(0)}
.btn-outline-gold{
  border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.06);
  border-radius:999px;padding:10px 20px;font-weight:700;font-size:.9rem;display:inline-block;
}
.btn-outline-gold:hover{background:rgba(245,158,11,.16);color:var(--gold-2)}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--line);
  color:var(--gold-2);width:42px;height:42px;border-radius:12px;font-size:1rem;
}
/* ===== Article hero ===== */
.article-hero{
  position:relative;overflow:hidden;
  background-image:linear-gradient(115deg,rgba(5,31,20,.95),rgba(5,31,20,.6)),url('/assets/images/e89fa13e660512c0.jpg');
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--line-soft);
}
.article-hero-inner{padding:clamp(40px,6vw,80px) 0;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.article-hero h1{font-size:clamp(1.6rem,3.6vw,2.6rem);margin:0 0 16px;line-height:1.25;max-width:820px}
.article-hero h1 em{font-style:normal;color:var(--gold-2)}
.article-hero .lead{color:var(--mint);max-width:640px;font-size:1.02rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;align-items:center}
.hero-meta span{font-size:.8rem;color:var(--olive)}
.hero-cover{
  border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;
  box-shadow:var(--shadow);background:rgba(5,31,20,.6);
}
.hero-cover img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
/* ===== Generic components ===== */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:linear-gradient(165deg,rgba(15,56,38,.85),rgba(5,31,20,.9));
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.card h3{font-size:1.08rem;margin:0 0 8px;color:var(--ivory)}
.card p{color:var(--mint);font-size:.94rem;margin:0}
.card .icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:rgba(245,158,11,.12);color:var(--gold-2);font-size:1.15rem;margin-bottom:14px;
  border:1px solid var(--line);
}
.tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{display:flex;gap:10px;padding:9px 0;font-size:.94rem;color:var(--mint);border-bottom:1px dashed rgba(209,250,229,.08);align-items:flex-start}
.check-list li i{color:var(--gold-1);margin-top:4px}
/* ===== Article body ===== */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.article-body{
  background:linear-gradient(180deg,rgba(11,46,30,.55),rgba(5,31,20,.35));
  border:1px solid var(--line-soft);border-radius:var(--radius-l);padding:clamp(22px,3vw,40px);
}
.article-body h2{font-size:clamp(1.25rem,2.4vw,1.6rem);margin:34px 0 12px;color:var(--gold-2)}
.article-body h3{font-size:1.1rem;margin:26px 0 10px;color:var(--ivory)}
.article-body p{color:var(--mint);margin:0 0 14px;font-size:1rem}
.article-body ul,.article-body ol{color:var(--mint);padding-left:22px;margin:0 0 16px}
.article-body li{margin-bottom:8px}
.article-body strong{color:var(--ivory)}
.article-body img{border-radius:var(--radius);margin:18px 0;border:1px solid var(--line-soft)}
.article-body blockquote{
  margin:20px 0;padding:16px 20px;border-left:3px solid var(--gold-1);
  background:rgba(245,158,11,.07);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--mint);
}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.92rem}
.article-body th,.article-body td{border:1px solid var(--line-soft);padding:10px 12px;color:var(--mint);text-align:left}
.article-body th{background:rgba(245,158,11,.1);color:var(--gold-2);font-weight:700}
.article-body a{color:var(--gold-2);text-decoration:underline}
/* Sidebar */
.side-col{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
.side-card{
  background:linear-gradient(165deg,rgba(15,56,38,.9),rgba(5,31,20,.92));
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px;
}
.side-card h4{font-size:1rem;margin:0 0 12px;color:var(--gold-2)}
.side-card ul{list-style:none;padding:0;margin:0}
.side-card ul li{padding:8px 0;border-bottom:1px dashed rgba(209,250,229,.08);font-size:.9rem;color:var(--mint);display:flex;gap:8px;align-items:flex-start}
.side-card ul li:last-child{border-bottom:none}
.side-card ul li i{color:var(--gold-1);margin-top:4px}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.tag-row span{font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(245,158,11,.1);border:1px solid var(--line);color:var(--gold-2)}
.pay-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pay-badges span{
  font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:999px;
  background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#A7F3D0;
}
/* ===== CTA strip ===== */
.cta-strip{
  background:linear-gradient(120deg,rgba(245,158,11,.16),rgba(5,31,20,.9));
  border:1px solid var(--line);border-radius:var(--radius-l);
  padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;
}
.cta-strip h2{font-size:clamp(1.3rem,2.8vw,1.9rem);margin:0 0 12px}
.cta-strip p{color:var(--mint);margin:0}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px}
/* ===== FAQ ===== */
.faq-item{
  border:1px solid var(--line-soft);border-radius:var(--radius);margin-bottom:12px;
  background:rgba(11,46,30,.5);overflow:hidden;
}
.faq-item summary{
  cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;color:var(--ivory);
  display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.98rem;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--gold-2);font-size:.8rem}
.faq-item[open] summary::after{content:"\f068"}
.faq-item .faq-body{padding:0 22px 20px;color:var(--mint);font-size:.94rem}
/* ===== Footer ===== */
.site-footer{background:linear-gradient(180deg,rgba(5,31,20,.6),#041710);border-top:1px solid var(--line-soft);margin-top:0;padding-top:var(--space)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:36px}
.site-footer h4{font-size:.98rem;margin:0 0 14px;color:var(--gold-2)}
.site-footer p{color:var(--mint);font-size:.9rem;margin:0 0 14px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer ul li{padding:6px 0;font-size:.9rem;color:var(--mint)}
.site-footer ul li a:hover{color:var(--gold-2)}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.trust-row span{font-size:.74rem;font-weight:700;padding:5px 12px;border-radius:999px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#A7F3D0}
.age-badge{
  display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;
  border:2px solid var(--gold-1);color:var(--gold-2);font-weight:900;font-size:.85rem;margin-top:8px;
}
.footer-bottom{
  border-top:1px solid var(--line-soft);padding:18px 0 26px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-size:.82rem;color:var(--olive);
}
/* ===== FAB ===== */
.fab-royal{
  position:fixed;left:16px;bottom:96px;z-index:60;width:56px;height:56px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#0B2E1E,#051F14 70%);
  border:2px solid var(--gold-1);color:var(--gold-2);display:grid;place-items:center;
  font-size:1.2rem;box-shadow:0 6px 25px rgba(245,158,11,.35);
  transition:transform .28s ease,opacity .28s ease;opacity:.85;
  animation:fabFloat 3.4s ease-in-out infinite;
}
.fab-royal:hover{transform:scale(1.1);opacity:1;color:var(--gold-2)}
.fab-royal:active{transform:scale(.95) translateY(3px)}
.fab-royal .dot{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 2px #fff}
@keyframes fabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* ===== Responsive ===== */
@media(max-width:1024px){
  .hero-inner,.article-hero-inner{grid-template-columns:1fr}
  .article-layout{grid-template-columns:1fr}
  .side-col{position:static}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .cta-strip{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(5,31,20,.98);border-bottom:1px solid var(--line);padding:14px 20px;gap:4px;
  }
  .nav-links.open{display:flex}
  .nav-toggle{display:grid;place-items:center;margin-left:auto}
  .nav-cta{margin-left:0}
  .nav-cta .btn-ghost{display:inline-block}
  .nav-wrap{flex-wrap:wrap;position:relative}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .brand-text b{max-width:60vw}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr}
  .nav-cta{gap:8px;width:100%;justify-content:flex-start}
  .btn-ghost,.btn-gold{padding:8px 14px;font-size:.84rem}
  .fab-royal{width:50px;height:50px;bottom:88px}
  .hero-meta{flex-direction:column;align-items:flex-start;gap:6px}
}

/* roulang page: category1 */
:root{
  --bg-deep:#051F14;
  --bg-velvet:#0B2E1E;
  --bg-card:#0F3826;
  --gold-1:#F59E0B;
  --gold-2:#FCD34D;
  --dragon:#DC2626;
  --ivory:#F8FAFC;
  --mint:#D1FAE5;
  --olive:#A3A375;
  --line:rgba(245,158,11,.28);
  --line-soft:rgba(209,250,229,.12);
  --radius-s:10px;
  --radius:16px;
  --radius-l:24px;
  --shadow:0 18px 45px rgba(0,0,0,.45);
  --shadow-gold:0 8px 28px rgba(245,158,11,.28);
  --space:clamp(56px,7vw,104px);
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(1200px 600px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
    radial-gradient(900px 500px at -10% 20%,rgba(16,185,129,.10),transparent 55%),
    var(--bg-deep);
  color:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .22s ease,opacity .22s ease,transform .22s ease}
a:hover{color:var(--gold-2)}
button,input,select{font-family:inherit}
.container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
section{position:relative}
.section{padding:var(--space) 0}
.section-alt{background:linear-gradient(180deg,rgba(11,46,30,.72),rgba(5,31,20,.35));border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-2);background:rgba(245,158,11,.10);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:16px;
}
.section-title{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.section-lead{color:var(--mint);max-width:780px;font-size:1.02rem;margin-bottom:0}
.muted{color:var(--olive)}
.text-gold{color:var(--gold-2)}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:end;margin-bottom:34px}
/* ===== Header / Nav ===== */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(5,31,20,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-wrap{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{
  width:44px;height:44px;flex:0 0 44px;border-radius:13px;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
  color:#052015;display:grid;place-items:center;font-weight:900;font-size:1.05rem;
  box-shadow:var(--shadow-gold);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-text b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.brand-text span{font-size:.7rem;color:var(--olive);letter-spacing:.1em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-links a{
  font-size:.9rem;font-weight:600;padding:9px 14px;border-radius:999px;color:var(--mint);
}
.nav-links a:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.nav-links a.active{background:rgba(245,158,11,.16);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--line)}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.btn-ghost{
  border:1px solid var(--line);color:var(--gold-2);background:transparent;
  padding:9px 16px;border-radius:999px;font-weight:700;font-size:.88rem;display:inline-block;
}
.btn-ghost:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.btn-gold{
  background:linear-gradient(140deg,var(--gold-1),var(--gold-2));
  color:#052015;font-weight:800;border:none;border-radius:999px;
  padding:10px 20px;font-size:.9rem;box-shadow:var(--shadow-gold);display:inline-block;
}
.btn-gold:hover{transform:translateY(-2px);color:#052015;filter:brightness(1.05)}
.btn-gold:active{transform:translateY(0)}
.btn-outline-gold{
  border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.06);
  border-radius:999px;padding:10px 20px;font-weight:700;font-size:.9rem;display:inline-block;
}
.btn-outline-gold:hover{background:rgba(245,158,11,.16);color:var(--gold-2)}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--line);
  color:var(--gold-2);width:42px;height:42px;border-radius:12px;font-size:1rem;
}
/* ===== Hero ===== */
.hero{
  position:relative;overflow:hidden;
  background-image:linear-gradient(115deg,rgba(5,31,20,.95),rgba(5,31,20,.60)),url('/assets/images/3f3a0a2b489686eb.jpg');
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--line-soft);
}
.hero-inner{padding:clamp(48px,7vw,92px) 0;display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}
.hero h1{font-size:clamp(1.7rem,3.9vw,2.75rem);font-weight:800;letter-spacing:-.015em;max-width:820px}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-lead{color:var(--mint);font-size:1.05rem;max-width:640px;margin-top:16px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 22px}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;padding-top:22px;border-top:1px solid var(--line-soft)}
.hero-stats div b{display:block;font-size:1.45rem;color:var(--gold-2);font-weight:800;line-height:1.2}
.hero-stats div span{font-size:.82rem;color:var(--olive)}
.console-panel{
  background:linear-gradient(170deg,rgba(15,56,38,.95),rgba(5,31,20,.98));
  border:1px solid var(--line);border-radius:var(--radius-l);
  box-shadow:var(--shadow);padding:22px;
}
.console-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.console-dot{width:11px;height:11px;border-radius:50%}
.console-bar .label{margin-left:auto;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}
.code-block{
  background:rgba(2,14,9,.86);border:1px dashed var(--line);
  border-radius:var(--radius-s);padding:16px 16px 14px;font-family:"SFMono-Regular",Consolas,Menlo,monospace;
  font-size:.83rem;line-height:1.75;color:var(--mint);overflow-x:auto;
}
.code-block .k{color:var(--gold-2)}
.code-block .s{color:#A7F3D0}
.code-block .c{color:var(--olive)}
.device-note{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:.88rem;color:var(--mint)}
.device-note i{color:var(--gold-2);margin-top:4px}
.pay-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pay-badges span{
  font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:999px;
  background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#A7F3D0;
}
/* ===== Generic components ===== */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  background:linear-gradient(165deg,rgba(15,56,38,.85),rgba(5,31,20,.9));
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;height:100%;
}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.card h3{font-size:1.08rem;font-weight:800;margin-bottom:10px}
.card p{color:var(--mint);font-size:.94rem;margin-bottom:0}
.card .icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:rgba(245,158,11,.12);color:var(--gold-2);font-size:1.15rem;margin-bottom:14px;
  border:1px solid var(--line);
}
.tag{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}
.check-list{list-style:none;padding:0;margin:14px 0 0}
.check-list li{display:flex;gap:10px;padding:9px 0;font-size:.94rem;color:var(--mint);border-bottom:1px dashed rgba(209,250,229,.08)}
.check-list li:last-child{border-bottom:none}
.check-list li i{color:var(--gold-2);margin-top:5px;font-size:.8rem}
/* ===== Metric board ===== */
.metric-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric{
  padding:22px 20px;border-radius:var(--radius);
  background:linear-gradient(170deg,rgba(15,56,38,.9),rgba(5,31,20,.95));
  border:1px solid var(--line-soft);
}
.metric b{display:block;font-size:1.7rem;font-weight:900;color:var(--gold-2);line-height:1.1}
.metric span{font-size:.82rem;color:var(--olive)}
/* ===== Comparison table ===== */
.compare-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--radius);background:rgba(5,31,20,.55)}
table.compare{width:100%;border-collapse:collapse;min-width:680px}
table.compare th,table.compare td{padding:14px 16px;text-align:left;font-size:.9rem}
table.compare thead th{background:rgba(245,158,11,.10);color:var(--gold-2);font-weight:800;text-transform:uppercase;font-size:.74rem;letter-spacing:.1em}
table.compare tbody tr{border-top:1px solid var(--line-soft)}
table.compare tbody tr:hover{background:rgba(245,158,11,.05)}
table.compare td{color:var(--mint)}
table.compare td:first-child{color:var(--ivory);font-weight:700}
/* ===== Milestones ===== */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.timeline li{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:20px;border-radius:var(--radius);background:rgba(15,56,38,.55);border:1px solid var(--line-soft)}
.timeline .step{font-size:1.35rem;font-weight:900;color:var(--gold-2);line-height:1}
.timeline h3{font-size:1.02rem;font-weight:800;margin-bottom:6px}
.timeline p{color:var(--mint);font-size:.92rem;margin:0}
/* ===== Post list ===== */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post-card{
  display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(165deg,rgba(15,56,38,.85),rgba(5,31,20,.92));
  border:1px solid var(--line-soft);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;height:100%;
}
.post-card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.post-thumb{position:relative;aspect-ratio:16/10;overflow:hidden}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-thumb .chip{
  position:absolute;top:12px;left:12px;font-size:.68rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;background:rgba(5,31,20,.86);border:1px solid var(--line);
  color:var(--gold-2);padding:5px 10px;border-radius:999px;
}
.post-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-body h3{font-size:1rem;font-weight:800;line-height:1.45;margin:0}
.post-body p{font-size:.88rem;color:var(--mint);margin:0}
.post-meta{display:flex;align-items:center;gap:12px;font-size:.76rem;color:var(--olive);margin-top:auto}
.post-link{font-size:.84rem;font-weight:800;color:var(--gold-2)}
/* ===== Guarantee strip ===== */
.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.trust-item{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--radius);background:rgba(15,56,38,.5);border:1px solid var(--line-soft)}
.trust-item i{color:var(--gold-2);font-size:1.25rem;margin-top:3px}
.trust-item b{display:block;font-size:.98rem;margin-bottom:4px}
.trust-item span{font-size:.85rem;color:var(--mint)}
/* ===== FAQ ===== */
.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid var(--line-soft);border-radius:var(--radius);background:rgba(15,56,38,.5);overflow:hidden}
.faq-item summary{
  cursor:pointer;padding:18px 20px;font-weight:700;font-size:.98rem;list-style:none;
  display:flex;align-items:center;gap:12px;color:var(--ivory);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"\f107";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:auto;color:var(--gold-2);transition:transform .25s ease}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-item .faq-body{padding:0 20px 20px;color:var(--mint);font-size:.93rem}
/* ===== CTA form ===== */
.cta-panel{
  border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(26px,4vw,44px);
  background:linear-gradient(140deg,rgba(245,158,11,.14),rgba(5,31,20,.95) 45%),var(--bg-velvet);
  box-shadow:var(--shadow);
}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--mint);margin-bottom:7px}
.field input,.field select{
  width:100%;padding:12px 14px;border-radius:var(--radius-s);
  background:rgba(2,14,9,.7);border:1px solid var(--line-soft);color:var(--ivory);font-size:.92rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold-1);box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.form-note{font-size:.8rem;color:var(--olive);margin-top:12px}
/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(11,46,30,.85),rgba(5,31,20,.98));padding:var(--space) 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:32px}
.site-footer h4{font-size:.95rem;font-weight:800;color:var(--gold-2);margin-bottom:14px}
.site-footer p{color:var(--mint);font-size:.88rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.site-footer ul li{font-size:.88rem;color:var(--mint)}
.site-footer ul li a:hover{color:var(--gold-2)}
.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.trust-row span{font-size:.72rem;font-weight:700;padding:5px 11px;border-radius:999px;background:rgba(245,158,11,.1);border:1px solid var(--line);color:var(--gold-2)}
.age-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2px solid var(--gold-1);color:var(--gold-2);font-weight:900;margin-top:12px}
.footer-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid var(--line-soft);margin-top:36px;padding-top:22px;font-size:.8rem;color:var(--olive)}
/* ===== FAB ===== */
.fab{
  position:fixed;left:16px;bottom:96px;z-index:50;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;font-size:1.25rem;color:#052015;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
  border:2px solid #FDE68A;box-shadow:0 6px 25px rgba(245,158,11,.35);
  opacity:.85;transition:transform .25s ease,opacity .25s ease;
}
.fab:hover{opacity:1;transform:scale(1.1);color:#052015}
.fab:active{transform:scale(.95) translateY(3px)}
.fab .badge-dot{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--dragon);box-shadow:0 0 0 2px #fff}
/* ===== Responsive ===== */
@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:32px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-head{grid-template-columns:1fr;align-items:start}
}
@media (max-width:820px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(5,31,20,.98);border-bottom:1px solid var(--line-soft);
    padding:12px 20px 18px;gap:4px;display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 14px;border-radius:12px}
  .nav-toggle{display:grid;place-items:center;margin-left:auto}
  .nav-cta{margin-left:0}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr}
}
@media (max-width:520px){
  .grid-4,.metric-board,.post-grid,.form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .brand-text b{max-width:52vw;font-size:.88rem}
  .btn-ghost,.btn-gold{padding:8px 13px;font-size:.8rem}
  .hero-stats{gap:18px}
  .form-grid .full{grid-column:auto}
}

/* roulang page: category3 */
:root{
  --bg-deep:#051F14;
  --bg-velvet:#0B2E1E;
  --bg-card:#0F3826;
  --gold-1:#F59E0B;
  --gold-2:#FCD34D;
  --dragon:#DC2626;
  --ivory:#F8FAFC;
  --mint:#D1FAE5;
  --olive:#A3A375;
  --line:rgba(245,158,11,.28);
  --line-soft:rgba(209,250,229,.12);
  --radius-s:10px;
  --radius:16px;
  --radius-l:24px;
  --shadow:0 18px 45px rgba(0,0,0,.45);
  --shadow-gold:0 8px 28px rgba(245,158,11,.28);
  --space:clamp(56px,7vw,104px);
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(1200px 600px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
    radial-gradient(900px 500px at -10% 20%,rgba(16,185,129,.10),transparent 55%),
    var(--bg-deep);
  color:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .22s ease,opacity .22s ease}
a:hover{color:var(--gold-2)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
h1,h2,h3,h4{margin:0 0 .55em;line-height:1.25;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
section{position:relative}
.section{padding:var(--space) 0}
.section-alt{background:linear-gradient(180deg,rgba(11,46,30,.72),rgba(5,31,20,.35));border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-2);background:rgba(245,158,11,.10);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:16px;
}
.section-title{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.section-lead{color:var(--mint);max-width:760px;font-size:1.02rem}
.muted{color:var(--olive)}
.text-gold{color:var(--gold-2)}
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(5,31,20,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-wrap{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{
  width:44px;height:44px;flex:0 0 44px;border-radius:13px;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
  color:#052015;display:grid;place-items:center;font-weight:900;font-size:1.05rem;
  box-shadow:var(--shadow-gold);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-text b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.brand-text span{font-size:.7rem;color:var(--olive);letter-spacing:.1em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-links a{font-size:.9rem;font-weight:600;padding:9px 14px;border-radius:999px;color:var(--mint)}
.nav-links a:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.nav-links a.active{background:rgba(245,158,11,.16);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--line)}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.btn-ghost{
  border:1px solid var(--line);color:var(--gold-2);background:transparent;
  padding:9px 16px;border-radius:999px;font-weight:700;font-size:.88rem;display:inline-block;
}
.btn-ghost:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
.btn-gold{
  background:linear-gradient(140deg,var(--gold-1),var(--gold-2));
  color:#052015;font-weight:800;border:none;border-radius:999px;
  padding:10px 20px;font-size:.9rem;box-shadow:var(--shadow-gold);display:inline-block;
  transition:transform .2s ease,filter .2s ease;
}
.btn-gold:hover{transform:translateY(-2px);color:#052015;filter:brightness(1.05)}
.btn-gold:active{transform:translateY(0)}
.btn-outline-gold{
  border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.06);
  border-radius:999px;padding:10px 20px;font-weight:700;font-size:.9rem;display:inline-block;
}
.btn-outline-gold:hover{background:rgba(245,158,11,.16);color:var(--gold-2)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--gold-2);width:42px;height:42px;border-radius:12px;font-size:1rem;margin-left:auto}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:linear-gradient(165deg,rgba(15,56,38,.85),rgba(5,31,20,.9));
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.card h3{font-size:1.08rem;margin-bottom:8px}
.card p{color:var(--mint);font-size:.94rem;margin-bottom:0}
.card .icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:rgba(245,158,11,.12);color:var(--gold-2);font-size:1.15rem;margin-bottom:14px;
  border:1px solid var(--line);
}
.tag{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}
.check-list li{display:flex;gap:10px;padding:9px 0;font-size:.94rem;color:var(--mint);border-bottom:1px dashed rgba(209,250,229,.08)}
.check-list li:last-child{border-bottom:0}
.check-list i{color:var(--gold-2);margin-top:4px}
.pay-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pay-badges span{
  font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:999px;
  background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#A7F3D0;
}
/* Category hero */
.cat-hero{
  position:relative;overflow:hidden;
  background-image:linear-gradient(115deg,rgba(5,31,20,.95),rgba(5,31,20,.68)),url('/assets/images/e89fa13e660512c0.jpg');
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--line-soft);
}
.cat-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:clamp(48px,7vw,92px) 0}
.cat-hero h1{font-size:clamp(1.7rem,3.9vw,2.75rem)}
.cat-hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-lead{color:var(--mint);font-size:1.04rem;max-width:640px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 20px}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;padding-top:20px;border-top:1px solid var(--line-soft)}
.hero-stats div b{display:block;font-size:1.4rem;color:var(--gold-2)}
.hero-stats div span{font-size:.82rem;color:var(--olive)}
.hero-panel{
  background:linear-gradient(168deg,rgba(15,56,38,.92),rgba(5,31,20,.95));
  border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;box-shadow:var(--shadow);
}
.hero-panel h3{font-size:1.05rem}
.license-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed rgba(209,250,229,.1);font-size:.9rem;color:var(--mint)}
.license-row:last-of-type{border-bottom:0}
.license-row i{color:var(--gold-2);width:20px;text-align:center}
.coupon-input{
  display:flex;gap:8px;background:rgba(5,31,20,.8);border:1px dashed var(--line);
  border-radius:var(--radius-s);padding:10px 14px;margin-bottom:14px;font-size:.9rem;color:var(--gold-2);
}
/* Matrix */
.matrix-item{
  display:flex;gap:16px;padding:20px;border-radius:var(--radius);
  background:rgba(15,56,38,.55);border:1px solid var(--line-soft);
  transition:border-color .25s ease,transform .25s ease;
}
.matrix-item:hover{border-color:var(--line);transform:translateY(-3px)}
.matrix-item .idx{
  flex:0 0 46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--gold-1),var(--gold-2));color:#052015;font-weight:900;
}
.matrix-item h3{font-size:1rem;margin-bottom:6px}
.matrix-item p{color:var(--mint);font-size:.9rem;margin:0}
/* Compare table */
.compare-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--radius);background:rgba(5,31,20,.55)}
table.compare{width:100%;border-collapse:collapse;min-width:640px}
table.compare th,table.compare td{padding:15px 18px;text-align:left;font-size:.9rem;border-bottom:1px solid var(--line-soft)}
table.compare th{background:rgba(245,158,11,.10);color:var(--gold-2);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
table.compare td{color:var(--mint)}
table.compare tr:last-child td{border-bottom:0}
table.compare td b{color:var(--ivory)}
.badge-ok{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.34);color:#A7F3D0}
.badge-warn{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(220,38,38,.14);border:1px solid rgba(220,38,38,.34);color:#FCA5A5}
/* Timeline */
.timeline{position:relative;padding-left:26px}
.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--gold-1),rgba(245,158,11,.05))}
.timeline-item{position:relative;padding:0 0 26px 12px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item:before{content:"";position:absolute;left:-25px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--bg-deep);border:2px solid var(--gold-1)}
.timeline-item h3{font-size:1rem;margin-bottom:6px}
.timeline-item p{color:var(--mint);font-size:.91rem;margin:0}
/* Steps */
.step{padding:22px;border-radius:var(--radius);border:1px solid var(--line-soft);background:linear-gradient(170deg,rgba(15,56,38,.7),rgba(5,31,20,.85))}
.step b{display:block;color:var(--gold-2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.step h3{font-size:1.02rem}
.step p{color:var(--mint);font-size:.9rem;margin:0}
/* News list */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post-card{background:linear-gradient(168deg,rgba(15,56,38,.8),rgba(5,31,20,.9));border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-5px);border-color:var(--line);box-shadow:var(--shadow)}
.post-thumb{aspect-ratio:16/9;overflow:hidden;background:rgba(237,236,233,.05)}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.post-card:hover .post-thumb img{transform:scale(1.05)}
.post-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-body h3{font-size:1rem;margin:0}
.post-body h3 a:hover{color:var(--gold-2)}
.post-body p{font-size:.88rem;color:var(--mint);margin:0}
.post-meta{font-size:.76rem;color:var(--olive);letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.empty-note{color:var(--mint);font-size:.95rem;padding:22px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}
/* FAQ */
.faq-item{border:1px solid var(--line-soft);border-radius:var(--radius);background:rgba(15,56,38,.5);margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:transparent;border:0;color:var(--ivory);font-weight:700;font-size:1rem;padding:18px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer}
.faq-q i{color:var(--gold-2);transition:transform .25s ease}
.faq-item.open .faq-q i{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 22px}
.faq-item.open .faq-a{max-height:420px;padding-bottom:20px}
.faq-a p{color:var(--mint);font-size:.93rem;margin:0}
/* CTA */
.cta-band{
  background-image:linear-gradient(120deg,rgba(5,31,20,.95),rgba(11,46,30,.82)),url('/assets/images/10bce05d16b4b3e9.jpg');
  background-size:cover;background-position:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.cta-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:clamp(44px,6vw,80px) 0}
.cta-grid h2{font-size:clamp(1.4rem,3vw,2rem)}
.cta-grid p{color:var(--mint);max-width:560px}
.form-card{background:linear-gradient(168deg,rgba(15,56,38,.95),rgba(5,31,20,.98));border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;box-shadow:var(--shadow)}
.field{margin-bottom:14px}
.field label{display:block;font-size:.8rem;font-weight:700;color:var(--gold-2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.field input,.field select{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--line-soft);border-radius:var(--radius-s);color:var(--ivory);padding:12px 14px;font-size:.94rem;font-family:inherit;transition:border-color .2s ease}
.field input::placeholder{color:rgba(209,250,229,.45)}
.field input:focus,.field select:focus{border-color:var(--gold-1);outline:none}
.form-note{font-size:.78rem;color:var(--olive);margin-top:10px}
/* FAB */
.fab{
  position:fixed;left:16px;bottom:96px;z-index:70;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;font-size:1.25rem;
  background:radial-gradient(circle at 32% 28%,#2b6a4d,#0B2E1E 70%);
  border:2px solid var(--gold-1);color:var(--gold-2);
  box-shadow:0 6px 25px rgba(245,158,11,.35);
  opacity:.85;transition:transform .25s ease,opacity .25s ease;
}
.fab:hover{opacity:1;transform:scale(1.1);color:var(--gold-2)}
.fab:active{transform:scale(.95) translateY(3px)}
.fab .dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:var(--dragon);box-shadow:0 0 0 2px #fff}
/* Footer */
.site-footer{background:rgba(3,20,13,.92);border-top:1px solid var(--line-soft);padding:56px 0 26px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.site-footer h4{font-size:.95rem;color:var(--gold-2);margin-bottom:14px}
.site-footer p{color:var(--olive);font-size:.9rem}
.site-footer ul li{font-size:.9rem;color:var(--mint);padding:5px 0}
.site-footer ul li a:hover{color:var(--gold-2)}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.trust-row span,.age-badge{font-size:.72rem;font-weight:800;padding:5px 11px;border-radius:999px;background:rgba(245,158,11,.1);border:1px solid var(--line);color:var(--gold-2)}
.age-badge{display:inline-block;margin-top:12px}
.footer-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid var(--line-soft);margin-top:36px;padding-top:20px;font-size:.82rem;color:var(--olive)}
@media (max-width:1024px){
  .cat-hero-grid,.cta-grid{grid-template-columns:1fr;gap:30px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(5,31,20,.98);border-bottom:1px solid var(--line);padding:14px 20px;gap:4px;
    display:none;
  }
  .nav-links.show{display:flex}
  .nav-links a{padding:12px 14px;border-radius:var(--radius-s)}
  .nav-toggle{display:grid;place-items:center}
  .nav-cta{margin-left:0}
  .nav-wrap{position:relative;flex-wrap:wrap}
  .grid-3,.grid-2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .grid-4{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .brand-text b{max-width:52vw;font-size:.88rem}
  .nav-cta .btn-ghost{padding:8px 12px;font-size:.8rem}
  .nav-cta .btn-gold{padding:9px 14px;font-size:.82rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions a{text-align:center}
  .fab{bottom:88px}
}

/* roulang page: category2 */
:root{
      --bg-deep:#051F14;
      --bg-velvet:#0B2E1E;
      --bg-card:#0F3826;
      --gold-1:#F59E0B;
      --gold-2:#FCD34D;
      --dragon:#DC2626;
      --ivory:#F8FAFC;
      --mint:#D1FAE5;
      --olive:#A3A375;
      --line:rgba(245,158,11,.28);
      --line-soft:rgba(209,250,229,.12);
      --radius-s:10px;
      --radius:16px;
      --radius-l:24px;
      --shadow:0 18px 45px rgba(0,0,0,.45);
      --shadow-gold:0 8px 28px rgba(245,158,11,.28);
      --space:clamp(56px,7vw,104px);
      --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font);
      background:
        radial-gradient(1200px 600px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
        radial-gradient(900px 500px at -10% 20%,rgba(16,185,129,.10),transparent 55%),
        var(--bg-deep);
      color:var(--ivory);
      line-height:1.62;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    body::selection{background:var(--gold-2);color:#052015}
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none;transition:color .22s ease,opacity .22s ease,transform .22s ease}
    a:hover{color:var(--gold-2)}
    button,input,select,textarea{font:inherit}
    button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
    :focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
    .container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
    section{position:relative;scroll-margin-top:100px}
    .section{padding:var(--space) 0}
    .section-alt{
      background:linear-gradient(180deg,rgba(11,46,30,.72),rgba(5,31,20,.35));
      border-top:1px solid var(--line-soft);
      border-bottom:1px solid var(--line-soft);
    }
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase;
      color:var(--gold-2);background:rgba(245,158,11,.10);
      border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:16px;
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1,h2,h3,h4{line-height:1.2}
    h1{font-size:2.85rem;font-weight:900}
    h2{font-size:2.15rem;font-weight:850}
    h3{font-size:1.08rem;font-weight:800}
    p{color:var(--mint)}
    .section-title{font-size:2.15rem;font-weight:850}
    .section-lead{color:var(--mint);max-width:760px;font-size:1.02rem}
    .muted{color:var(--olive)}
    .text-gold{color:var(--gold-2)}
    .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
    .section-head .section-lead{margin-bottom:0}

    /* Header */
    .site-header{
      position:sticky;top:0;z-index:80;
      background:rgba(5,31,20,.90);
      backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line-soft);
    }
    .nav-wrap{display:flex;align-items:center;gap:18px;padding:12px 0}
    .brand{display:flex;align-items:center;gap:12px;min-width:0}
    .brand-mark{
      width:44px;height:44px;flex:0 0 44px;border-radius:13px;
      background:linear-gradient(145deg,var(--gold-1),var(--gold-2));
      color:#052015;display:grid;place-items:center;font-weight:900;font-size:1.05rem;
      box-shadow:var(--shadow-gold);
    }
    .brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
    .brand-text b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
    .brand-text span{font-size:.7rem;color:var(--olive);letter-spacing:0;text-transform:uppercase}
    .nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
    .nav-links a{font-size:.88rem;font-weight:650;padding:9px 12px;border-radius:999px;color:var(--mint);white-space:nowrap}
    .nav-links a:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
    .nav-links a.active{background:rgba(245,158,11,.16);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--line)}
    .nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
    .nav-toggle{
      display:none;background:transparent;border:1px solid var(--line);
      color:var(--gold-2);width:42px;height:42px;border-radius:12px;font-size:1rem;
    }
    .btn-ghost,.btn-gold,.btn-outline-gold{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      border-radius:999px;font-weight:800;font-size:.9rem;padding:10px 19px;
      transition:transform .2s ease,background .2s ease,filter .2s ease,box-shadow .2s ease;
    }
    .btn-ghost{border:1px solid var(--line);color:var(--gold-2);background:transparent}
    .btn-ghost:hover{background:rgba(245,158,11,.12);color:var(--gold-2)}
    .btn-gold{background:linear-gradient(140deg,var(--gold-1),var(--gold-2));color:#052015;border:none;box-shadow:var(--shadow-gold)}
    .btn-gold:hover{transform:translateY(-2px);color:#052015;filter:brightness(1.05)}
    .btn-gold:active,.btn-outline-gold:active,.btn-ghost:active{transform:translateY(0)}
    .btn-outline-gold{border:1px solid var(--line);color:var(--gold-2);background:rgba(245,158,11,.06)}
    .btn-outline-gold:hover{background:rgba(245,158,11,.16);color:var(--gold-2)}

    /* Hero */
    .hero{
      position:relative;overflow:hidden;
      background-image:linear-gradient(112deg,rgba(5,31,20,.96),rgba(5,31,20,.72)),url('/assets/images/e89fa13e660512c0.jpg');
      background-size:cover;background-position:center;
      border-bottom:1px solid var(--line-soft);
    }
    .hero::after{
      content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
      background-image:linear-gradient(rgba(252,211,77,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(252,211,77,.11) 1px,transparent 1px);
      background-size:46px 46px;
      mask-image:linear-gradient(to bottom,black,transparent 85%);
    }
    .hero-inner{position:relative;z-index:1;padding:82px 0;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
    .hero-question{display:inline-flex;align-items:center;gap:9px;color:var(--gold-2);font-weight:800;margin-bottom:14px}
    .hero h1{font-size:2.72rem;max-width:820px;margin-bottom:20px}
    .h1-kicker{display:block;color:var(--gold-2);font-size:1rem;font-weight:850;text-transform:uppercase;margin-bottom:12px}
    .hero-lead{color:var(--mint);font-size:1.06rem;max-width:660px}
    .hero-points{display:grid;gap:10px;margin:22px 0 26px;padding:0;list-style:none}
    .hero-points li{display:flex;gap:10px;align-items:flex-start;color:var(--mint)}
    .hero-points i{color:var(--gold-2);margin-top:5px}
    .lead-form{
      background:rgba(5,31,20,.84);border:1px solid var(--line);
      border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);
    }
    .lead-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
    .lead-form-head strong{font-size:1rem;color:var(--ivory)}
    .lead-form-head span{font-size:.78rem;color:var(--olive)}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .field{display:grid;gap:6px}
    .field label{font-size:.78rem;font-weight:750;color:var(--mint)}
    .field input,.field select{
      width:100%;min-height:46px;border:1px solid var(--line-soft);border-radius:var(--radius-s);
      background:#071f16;color:var(--ivory);padding:10px 12px;
    }
    .field input::placeholder{color:#789181}
    .field input:focus,.field select:focus{border-color:var(--gold-1);outline:none;box-shadow:0 0 0 3px rgba(245,158,11,.13)}
    .form-check-row{display:flex;align-items:flex-start;gap:9px;margin:14px 0;color:var(--olive);font-size:.79rem}
    .form-check-row input{width:17px;height:17px;margin-top:3px;accent-color:var(--gold-1)}
    .form-status{min-height:20px;margin:10px 0 0;color:var(--gold-2);font-size:.83rem}
    .hero-visual{position:relative}
    .app-frame{
      position:relative;border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);
      background:#0a2b1d;box-shadow:var(--shadow);min-height:470px;
    }
    .app-frame img{width:100%;height:100%;min-height:470px;object-fit:cover}
    .app-frame::after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(to top,rgba(5,31,20,.94),transparent 58%);
    }
    .app-status{
      position:absolute;left:18px;right:18px;bottom:18px;z-index:2;
      display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
    }
    .app-status div{
      background:rgba(7,31,22,.82);backdrop-filter:blur(10px);
      border:1px solid var(--line-soft);border-radius:12px;padding:11px 10px;text-align:center;
    }
    .app-status b{display:block;color:var(--gold-2);font-size:.95rem}
    .app-status span{display:block;color:var(--olive);font-size:.68rem;line-height:1.35}

    /* Metrics */
    .metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
    .metric{background:#08261a;padding:25px 22px}
    .metric i{color:var(--gold-2);font-size:1.25rem;margin-bottom:14px}
    .metric b{display:block;font-size:1.55rem;color:var(--ivory);line-height:1.2;margin-bottom:5px}
    .metric span{display:block;color:var(--olive);font-size:.82rem}
    .metric-note{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}
    .metric-note p{margin:0;font-size:.9rem}
    .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10B981;box-shadow:0 0 0 5px rgba(16,185,129,.12);margin-right:8px}

    /* Service matrix */
    .services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
    .service-card{
      background:linear-gradient(155deg,rgba(15,56,38,.88),rgba(5,31,20,.92));
      border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
      transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
    }
    .service-card:hover{transform:translateY(-5px);border-color:var(--line);box-shadow:var(--shadow)}
    .service-card.span-7{grid-column:span 7}
    .service-card.span-5{grid-column:span 5}
    .service-card.span-4{grid-column:span 4}
    .service-card.span-6{grid-column:span 6}
    .service-card .icon{
      width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
      background:rgba(245,158,11,.12);color:var(--gold-2);font-size:1.15rem;margin-bottom:14px;
      border:1px solid var(--line);
    }
    .service-card p{color:var(--mint);font-size:.93rem;margin-bottom:0}
    .service-card ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:9px}
    .service-card li{display:flex;gap:9px;color:var(--mint);font-size:.9rem}
    .service-card li i{color:#10B981;margin-top:5px}
    .feature-callout{display:flex;align-items:center;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft)}
    .feature-callout b{color:var(--gold-2);font-size:1.35rem}
    .feature-callout span{color:var(--olive);font-size:.8rem}

    /* Comparison */
    .compare-shell{border:1px solid var(--line-soft);border-radius:var(--radius-l);overflow:hidden;background:rgba(5,31,20,.58)}
    .compare-head,.compare-row{display:grid;grid-template-columns:1.05fr 1fr 1fr}
    .compare-head{background:rgba(245,158,11,.08);border-bottom:1px solid var(--line-soft)}
    .compare-head div,.compare-row div{padding:18px 20px}
    .compare-head strong{font-size:.84rem;text-transform:uppercase;color:var(--gold-2)}
    .compare-row{border-bottom:1px solid var(--line-soft)}
    .compare-row:last-child{border-bottom:none}
    .compare-row div+div{border-left:1px solid var(--line-soft)}
    .compare-label{color:var(--ivory);font-weight:750}
    .compare-good{color:#A7F3D0}
    .compare-watch{color:#FDE68A}
    .compare-good i,.compare-watch i{margin-right:8px}

    /* Timeline */
    .timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
    .timeline::before{content:"";position:absolute;left:8%;right:8%;top:27px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-1),transparent)}
    .milestone{position:relative;padding-top:62px}
    .milestone-index{
      position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
      background:#08261a;border:1px solid var(--gold-1);color:var(--gold-2);font-weight:900;
      box-shadow:0 0 0 8px rgba(5,31,20,.95),var(--shadow-gold);
    }
    .milestone h3{margin-bottom:8px}
    .milestone p{font-size:.9rem;margin-bottom:0}

    /* Payments */
    .payment-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:32px;align-items:stretch}
    .payment-intro{padding:30px;border-radius:var(--radius-l);background:linear-gradient(145deg,rgba(245,158,11,.12),rgba(15,56,38,.7));border:1px solid var(--line)}
    .payment-intro .big-number{font-size:3.4rem;font-weight:900;color:var(--gold-2);line-height:1;margin-bottom:14px}
    .payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .pay-card{border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px;background:rgba(7,31,22,.72)}
    .pay-card i{font-size:1.25rem;color:var(--gold-2);margin-bottom:12px}
    .pay-card b{display:block;margin-bottom:7px}
    .pay-card p{font-size:.87rem;margin-bottom:0}

    /* Quick answers */
    .quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .quick-answer{border-left:3px solid var(--gold-1);padding:6px 0 6px 20px}
    .quick-answer span{display:block;color:var(--gold-2);font-size:.75rem;font-weight:800;text-transform:uppercase;margin-bottom:8px}
    .quick-answer h3{margin-bottom:9px}
    .quick-answer p{font-size:.92rem;margin-bottom:0}

    /* Security */
    .security-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:center}
    .security-image{border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
    .security-image img{width:100%;min-height:420px;object-fit:cover}
    .security-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}
    .security-item{border-top:1px solid var(--line-soft);padding-top:18px}
    .security-item i{color:var(--gold-2);margin-bottom:10px}
    .security-item h3{font-size:1rem;margin-bottom:7px}
    .security-item p{font-size:.88rem;margin-bottom:0}

    /* FAQ */
    .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:start}
    .faq-list{display:grid;gap:12px}
    details.faq-item{border:1px solid var(--line-soft);border-radius:var(--radius);background:rgba(7,31,22,.72);overflow:hidden}
    details.faq-item[open]{border-color:var(--line)}
    details.faq-item summary{
      list-style:none;cursor:pointer;padding:19px 50px 19px 20px;font-weight:800;color:var(--ivory);position:relative;
    }
    details.faq-item summary::-webkit-details-marker{display:none}
    details.faq-item summary::after{content:"+";position:absolute;right:19px;top:50%;transform:translateY(-50%);color:var(--gold-2);font-size:1.35rem}
    details.faq-item[open] summary::after{content:"−"}
    .faq-answer{padding:0 20px 20px;color:var(--mint);font-size:.93rem}

    /* CTA */
    .cta-section{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(15,56,38,.72));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .cta-layout{display:grid;grid-template-columns:1fr .92fr;gap:46px;align-items:center}
    .cta-offer{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
    .cta-offer span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(5,31,20,.5);color:var(--mint);font-size:.8rem}
    .cta-form{background:rgba(5,31,20,.88);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;box-shadow:var(--shadow)}
    .cta-form .field{margin-bottom:13px}

    /* Footer */
    .site-footer{background:#03170f;border-top:1px solid var(--line-soft);padding:62px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.35fr .75fr .9fr 1fr;gap:32px}
    .site-footer h4{font-size:1rem;margin-bottom:16px}
    .site-footer p,.site-footer li{color:var(--olive);font-size:.88rem}
    .site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
    .site-footer a:hover{color:var(--gold-2)}
    .trust-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
    .trust-row span,.age-badge{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid var(--line-soft);color:var(--mint);font-size:.72rem}
    .age-badge{color:var(--gold-2);border-color:var(--line);margin-top:12px;font-weight:900}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line-soft);color:var(--olive);font-size:.76rem}

    /* FAB */
    .support-fab{
      position:fixed;left:16px;bottom:96px;z-index:50;
      width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
      background:radial-gradient(circle at 35% 28%,#3a1e08,#0B2E1E 62%);
      border:2px solid var(--gold-1);color:var(--gold-2);
      box-shadow:0 6px 25px rgba(245,158,11,.35);
      opacity:.84;animation:floatFab 2.8s ease-in-out infinite;
    }
    .support-fab:hover{opacity:1;transform:scale(1.1);color:var(--gold-2)}
    .support-fab:active{transform:scale(.95) translateY(4px)}
    .support-fab i{font-size:1.22rem;transition:transform .4s ease}
    .support-fab:hover i{transform:rotate(360deg)}
    .support-fab .notify{position:absolute;top:-1px;right:-1px;width:14px;height:14px;border-radius:50%;background:var(--dragon);border:2px solid #fff}
    @keyframes floatFab{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

    @media (max-width:1024px){
      h1{font-size:2.35rem}
      h2,.section-title{font-size:1.85rem}
      .nav-links a{font-size:.8rem;padding:8px 9px}
      .hero-inner{grid-template-columns:1fr .9fr;gap:30px}
      .hero h1{font-size:2.25rem}
      .app-frame,.app-frame img{min-height:420px}
      .footer-grid{grid-template-columns:1.35fr 1fr;row-gap:36px}
      .timeline{grid-template-columns:repeat(3,1fr);gap:28px}
      .timeline::before{display:none}
      .milestone{padding-top:0;padding-left:66px;min-height:62px}
      .milestone-index{top:0}
    }
    @media (max-width:850px){
      .nav-wrap{display:grid;grid-template-columns:1fr auto;gap:12px}
      .brand{grid-column:1;grid-row:1}
      .nav-toggle{display:grid;place-items:center;grid-column:2;grid-row:1;margin-left:auto}
      .nav-cta{grid-column:1/-1;grid-row:2;justify-content:center;margin:0;padding-top:10px;border-top:1px solid var(--line-soft)}
      .nav-links{
        display:none;grid-column:1/-1;grid-row:3;margin:0;padding:10px;border:1px solid var(--line-soft);
        border-radius:var(--radius);background:rgba(5,31,20,.98);flex-direction:column;align-items:stretch;
      }
      .nav-links.open{display:flex}
      .nav-links a{text-align:center}
      .section-head{display:block}
      .section-head .section-lead{margin-top:12px}
      .hero-inner{grid-template-columns:1fr;padding:64px 0}
      .hero h1{font-size:2.1rem}
      .app-frame,.app-frame img{min-height:370px}
      .metrics-grid{grid-template-columns:repeat(2,1fr)}
      .services-grid{grid-template-columns:repeat(2,1fr)}
      .service-card.span-7,.service-card.span-5,.service-card.span-4,.service-card.span-6{grid-column:span 1}
      .compare-head,.compare-row{grid-template-columns:1fr 1fr}
      .compare-head div:first-child,.compare-row .compare-label{grid-column:1/-1;border-bottom:1px solid var(--line-soft)}
      .compare-row div+div{border-left:none}
      .compare-row div:nth-child(2){border-right:1px solid var(--line-soft)}
      .payment-layout,.security-layout,.faq-layout,.cta-layout{grid-template-columns:1fr;gap:30px}
      .quick-grid{grid-template-columns:1fr;gap:24px}
      .security-image img{min-height:360px}
      .footer-bottom{flex-direction:column}
    }
    @media (max-width:600px){
      .container-x{padding:0 15px}
      h1{font-size:1.75rem}
      h2,.section-title{font-size:1.55rem}
      .hero h1{font-size:1.72rem}
      .brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:11px}
      .brand-text b{max-width:58vw;font-size:.82rem}
      .brand-text span{font-size:.62rem}
      .nav-toggle{width:40px;height:40px}
      .btn-ghost,.btn-gold{padding:8px 12px;font-size:.74rem}
      .lead-form{padding:16px}
      .form-grid{grid-template-columns:1fr}
      .app-frame,.app-frame img{min-height:310px}
      .app-status{grid-template-columns:1fr 1fr 1fr;left:10px;right:10px;bottom:10px}
      .app-status div{padding:9px 6px}
      .app-status span{font-size:.6rem}
      .metrics-grid{grid-template-columns:1fr}
      .metric{padding:21px 18px}
      .metric-note{display:block}
      .metric-note p+p{margin-top:10px}
      .services-grid{grid-template-columns:1fr}
      .service-card{padding:20px}
      .compare-head,.compare-row{grid-template-columns:1fr}
      .compare-head div:first-child,.compare-row .compare-label{grid-column:auto}
      .compare-row div+div{border-left:none}
      .compare-row div:nth-child(2){border-right:none}
      .timeline{grid-template-columns:1fr}
      .milestone{padding-left:60px}
      .milestone-index{width:48px;height:48px}
      .payment-intro{padding:22px}
      .payment-grid,.security-list{grid-template-columns:1fr}
      .security-image img{min-height:300px}
      .cta-form{padding:20px}
      .footer-grid{grid-template-columns:1fr}
      .support-fab{left:12px;bottom:88px;width:52px;height:52px}
    }
    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
