@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url("/font-be-vietnam-pro-400.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url("/font-be-vietnam-pro-500.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url("/font-be-vietnam-pro-600.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:800;font-display:swap;src:url("/font-be-vietnam-pro-800.ttf") format("truetype")}
@font-face{font-family:"Little Thiing";font-style:normal;font-weight:400;font-display:swap;src:url("/Little-Thiing-Regular.otf") format("opentype")}

:root{
  --ink:#FFFFFF;
  --ink-on-accent:#052e16;
  --muted:#9A9A9A;
  --line:rgba(255,255,255,.14);
  --accent:#22C55E;
  --accent-hover:#16A34A;
  --accent-bright:#4ADE80;
  --signal:#22C55E;
  --radius-sm:6px;
  --container:1080px;
}

*{box-sizing:border-box}
::selection{background:rgba(154,154,154,.4);color:var(--ink)}
html{scroll-behavior:smooth;background:#000000;min-height:100%;overflow-anchor:none}
body{
  margin:0;
  min-height:100dvh;
  background:radial-gradient(1000px 560px at 55% 0%,rgba(245,158,11,.12),transparent 62%),#000000;
  color:var(--ink);
  font:400 16px/1.6 "Be Vietnam Pro","Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}

.eyebrow{
  margin:0 0 14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

/* -- nav -- */
.nav-bar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nav{
  max-width:var(--container);
  margin:0 auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font:400 28px/1 "Little Thiing","Be Vietnam Pro",sans-serif;
  letter-spacing:0;
  text-decoration:none;
}
.brand-mark{width:30px;height:30px;object-fit:contain;border-radius:8px;flex:0 0 auto}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{font-size:14px;font-weight:600;text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{
  padding:9px 16px;
  border-radius:var(--radius-sm);
  background:var(--accent)!important;
  color:var(--ink-on-accent)!important;
  font-weight:700;
  transition:background .18s ease,transform .12s ease;
}
.nav-cta:hover{background:var(--accent-hover)!important}
.nav-cta:active{transform:scale(.97)}

.lang-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:64px;
  height:30px;
  padding:3px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08),inset 0 0 0 1px var(--line);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.lang-switch-thumb{
  position:absolute;
  top:3px;left:3px;
  width:29px;
  height:24px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 4px 12px rgba(34,197,94,.35),inset 0 1px 1px rgba(255,255,255,.25);
  transition:transform .5s cubic-bezier(.32,.72,0,1);
  will-change:transform;
}
.lang-switch[data-lang="en"] .lang-switch-thumb{transform:translateX(29px)}
.lang-switch-opt{
  position:relative;
  z-index:1;
  flex:1;
  text-align:center;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--muted);
  transition:color .4s cubic-bezier(.32,.72,0,1);
  pointer-events:none;
}
.lang-switch[data-lang="vi"] .lang-switch-opt:first-child,
.lang-switch[data-lang="en"] .lang-switch-opt:last-child{color:var(--ink-on-accent)}

/* -- hero -- */
.hero{
  max-width:var(--container);
  margin:0 auto;
  padding:40px 24px 48px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:48px;
  align-items:center;
}

.discord-card{
  width:100%;
  max-width:360px;
  margin:0 auto;
  background:#111214;
  border-radius:16px;
  overflow:visible;
  border:1px solid var(--line);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  position:relative;
}
.discord-card-loading{width:80%;max-width:288px;min-height:372px;overflow:hidden}
.discord-card-skeleton{display:none}
.discord-card-loading > :not(.discord-card-skeleton){visibility:hidden}
.discord-card-loading .discord-card-skeleton{display:block;position:absolute;inset:0;z-index:30;background:#111214}
.discord-skeleton-content{padding:0 18px 18px}
.discord-skeleton-block{display:block;background:linear-gradient(100deg,#1b1d20 25%,#292d32 45%,#1b1d20 65%);background-size:200% 100%;animation:discord-skeleton-shimmer 1.4s linear infinite}
.discord-skeleton-banner{height:100px;border-radius:15px 15px 0 0}
.discord-skeleton-avatar{width:78px;height:78px;margin-top:-39px;border-radius:50%;border:3px solid #111214}
.discord-skeleton-name{width:44%;height:19px;margin-top:14px;border-radius:6px}
.discord-skeleton-user{width:30%;height:13px;margin-top:9px;border-radius:5px}
.discord-skeleton-activity{height:132px;margin-top:20px;border-radius:8px}
@keyframes discord-skeleton-shimmer{to{background-position:-200% 0}}
.discord-banner{
  position:relative;
  z-index:1;
  height:100px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%) center/cover;
  border-radius:15px 15px 0 0;
}
.discord-body{padding:0 18px 18px;position:relative;z-index:1;border-radius:0 0 15px 15px}
.discord-effect,.discord-frame{position:absolute;pointer-events:none}
.discord-card.has-discord-frame{width:80%;max-width:288px;border:0;box-shadow:none}
.discord-effect{inset:0;z-index:10;overflow:hidden;border-radius:16px}
.discord-effect img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;mix-blend-mode:screen}
.discord-frame{inset:0;z-index:20}
.discord-frame-back{z-index:0}
.discord-frame-front{z-index:20}
.discord-frame img{position:absolute;left:var(--discord-frame-left);width:var(--discord-frame-width);height:auto;max-width:none}
.discord-frame-top{top:var(--discord-frame-top);transform:scaleY(.7);transform-origin:top}.discord-frame-bottom{bottom:var(--discord-frame-bottom);transform:scaleY(.7);transform-origin:bottom}
.discord-avatar-wrap{position:relative;width:84px;height:84px;margin-top:-42px;margin-bottom:10px}
.discord-avatar-img{
  position:relative;
  width:84px;height:84px;
  border-radius:50%;
  border:3px solid #111214;
  background:#1A1200;
  object-fit:cover;
  display:block;
}
.discord-decoration{
  position:absolute;
  top:50%;left:50%;
  width:120%;height:120%;
  transform:translate(-50%,-50%);
  object-fit:contain;
  pointer-events:none;
  z-index:2;
}
.discord-status{
  position:absolute;
  right:2px;bottom:8px;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--signal);
  border:4px solid #111214;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
}
.discord-identity{display:flex;flex-direction:column;gap:4px}
.discord-identity b{font-size:18px;font-weight:800;color:#fff}
.discord-identity span{font-size:13px;color:var(--muted)}
.discord-identity-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.discord-clan-tag{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 8px 2px 4px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:12px;
  font-weight:600;
}
.discord-clan-tag img{width:14px;height:14px;border-radius:50%}
.discord-badge{width:20px;height:20px}
#discordBadges{display:inline-flex;gap:6px}
.discord-activity{
  margin-top:16px;
  padding:12px;
  background:rgba(255,255,255,.05);
  border-radius:8px;
}
.discord-activity-kicker{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--muted);
  margin-bottom:8px;
}
.discord-activity-row{
  display:flex;
  gap:12px;
  align-items:center;
}
.discord-activity-icon{
  flex:none;
  width:44px;height:44px;
  border-radius:8px;
  background:var(--accent) center/cover;
}
.discord-activity-text{display:flex;flex-direction:column;gap:2px}
.discord-activity-text em{font-size:13px;font-weight:700;font-style:normal;color:#fff}
.discord-activity-text span{font-size:12.5px;color:var(--muted)}
.discord-activity-text small{font-size:11px;color:var(--muted);opacity:.7}
.discord-activity-buttons{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.discord-activity-buttons a{
  display:block;
  text-align:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:12.5px;
  font-weight:600;
  text-decoration:none;
  transition:background .15s ease,transform .12s ease;
}
.discord-activity-buttons a:hover{background:rgba(255,255,255,.14)}
.discord-activity-buttons a:active{transform:scale(.97)}

.highlights{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.highlights-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:28px 24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 40px;
}
.highlights-inner h2{
  margin:0;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.01em;
}
.highlights-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px 32px;
}
.highlight{
  position:relative;
  padding-left:16px;
  font-size:13.5px;
  color:var(--muted);
}
.highlight::before{
  content:'';
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:6px;height:6px;
  border-radius:50%;
  background:var(--signal);
}
.hero-text h1{
  margin:0 0 22px;
  font-size:clamp(40px,6vw,80px);
  font-weight:800;
  line-height:.98;
  letter-spacing:-.03em;
}
.hero-text h1 em{
  font-style:normal;
  color:var(--accent-bright);
}
.lede{
  max-width:46ch;
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:var(--muted);
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:34px;
  flex-wrap:wrap;
}
.btn-primary{
  padding:13px 22px;
  border-radius:var(--radius-sm);
  background:var(--accent);
  color:var(--ink-on-accent);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  transition:background .18s ease,transform .18s ease;
}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-primary:active{transform:scale(.97)}
.btn-ghost{
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  padding-bottom:2px;
  transition:border-color .18s ease,color .18s ease;
}
.btn-ghost:hover{color:var(--accent-bright);border-color:var(--accent-bright)}
.btn-ghost:active{opacity:.7}

/* -- shared section head -- */
.section-head{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
.section-head h2{
  margin:8px 0 0;
  font-size:clamp(30px,4.2vw,52px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.02em;
}

/* -- modules -- */
.modules{padding:64px 0 48px}
.module-list{
  max-width:var(--container);
  margin:48px auto 0;
  padding:0 24px;
}
.module-row{
  display:grid;
  grid-template-columns:20px minmax(0,220px) minmax(0,1fr);
  align-items:baseline;
  gap:20px;
  padding:22px 0;
  border-top:1px solid var(--line);
  transition:background .18s ease;
}
.module-list .module-row:last-child{border-bottom:1px solid var(--line)}
.module-row .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--signal);
  align-self:center;
}
.module-row h3{margin:0;font-size:18px;font-weight:700}
.module-row p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.module-row:hover{background:rgba(255,255,255,.06)}

/* -- final cta -- */
.final-inner{
  max-width:var(--container);
  margin:64px auto 0;
  padding:0 24px;
  text-align:center;
}
.final-inner h2{
  margin:0 0 10px;
  font-size:clamp(28px,4.4vw,48px);
  font-weight:800;
  letter-spacing:-.02em;
}
.final-inner .price-note{margin:0 0 32px;font-size:14.5px;color:var(--muted)}

.plan-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0 0 36px;
  text-align:left;
}
.plan-card{
  position:relative;
  padding:2px;
  border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.02));
  box-shadow:0 24px 50px -32px rgba(0,0,0,.65);
  transition:transform .4s cubic-bezier(.32,.72,0,1),box-shadow .4s cubic-bezier(.32,.72,0,1);
}
.plan-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.plan-card-featured{
  background:linear-gradient(160deg,color-mix(in oklab,var(--accent),white 18%),color-mix(in oklab,var(--accent),transparent 55%));
  box-shadow:0 28px 60px -26px color-mix(in oklab,var(--accent),transparent 35%);
}
.plan-card-badge{
  position:absolute;
  top:-11px;
  left:50%;
  transform:translateX(-50%);
  padding:5px 14px;
  border-radius:999px;
  background:var(--accent);
  color:var(--ink-on-accent);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  z-index:1;
}
.plan-card-core{
  height:100%;
  padding:28px 24px;
  border-radius:24px;
  background:linear-gradient(180deg,#181818,#080808);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
}
.plan-card-kicker{display:block;margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--muted)}
.plan-card h3{margin:0 0 14px;font-size:20px;font-weight:700;color:var(--ink)}
.plan-card-price{margin:0 0 20px;font-size:27px;font-weight:800;color:var(--accent-bright)}
.plan-card-price span{margin-left:4px;font-size:13px;font-weight:600;color:var(--muted)}
.plan-card-cta{
  margin-top:auto;
  display:block;
  padding:12px 0;
  border-radius:999px;
  background:var(--accent);
  color:var(--ink-on-accent);
  font-size:14px;
  font-weight:700;
  text-align:center;
  text-decoration:none;
  transition:background .3s cubic-bezier(.32,.72,0,1),transform .3s cubic-bezier(.32,.72,0,1);
}
.plan-card-cta:hover{background:var(--accent-hover)}
.plan-card-cta:active{transform:scale(.98)}
.plan-card-cta-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}
.plan-card-cta-outline:hover{background:rgba(255,255,255,.06);border-color:color-mix(in oklab,var(--accent),var(--line) 40%)}

/* -- footer -- */
.foot{padding:28px 0 52px}
.foot-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  color:var(--muted);
}
.foot-inner a{text-decoration:none;color:inherit}
.foot-inner a:hover{color:var(--ink)}

/* -- scroll reveal -- */
.reveal{opacity:0;filter:blur(8px);transform:translateY(18px);transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.reveal-visible{opacity:1;filter:none;transform:none}

@media(max-width:820px){
  .hero{grid-template-columns:1fr;gap:32px;padding:24px 20px 40px}
  .discord-card{max-width:400px;margin:0 auto}
  .nav{padding:14px 20px}
  .brand{font-size:20px;gap:6px}
  .brand-mark{width:22px;height:22px}
  .nav-links{gap:10px}
  .nav-links a:not(.nav-cta){display:none}
  .lang-switch{width:56px;height:26px}
  .lang-switch-thumb{width:25px;height:20px}
  .lang-switch[data-lang="en"] .lang-switch-thumb{transform:translateX(25px)}
  .module-row{grid-template-columns:16px 1fr;row-gap:6px}
  .module-row h3{grid-column:2}
  .module-row p{grid-column:2}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .foot{padding:20px 0 40px}
  .foot-inner{padding:0 20px}
}

@media(max-width:560px){
  .plan-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;filter:none;transform:none;transition:none}
}

.plan-card-benefits{margin:0 0 16px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.045)}
.plan-card-benefits small{display:block;margin-bottom:6px;color:var(--muted,var(--dash-ink-muted));font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.plan-card-benefits ul{display:grid;gap:4px;margin:0;padding-left:17px;color:var(--ink,var(--dash-ink));font-size:12px;line-height:1.45}
