:root{
  --bg:#0B1020;
  --text:#E5E7EB;
  --muted:#94A3B8;
  --primary1:#18C8FF;
  --primary2:#5865F2;
  --primary3:#8B5CF6;
  --accent:#22D3EE;
  --glow: 0 0 24px rgba(34,211,238,.25), 0 0 60px rgba(139,92,246,.15);
}

*{box-sizing:border-box}
html,body{height:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  /* smoother, larger gradients to avoid seams */
  background:
    radial-gradient(1600px 900px at 50% -25%, rgba(88,101,242,.28), transparent 72%),
    radial-gradient(1200px 800px at 0% 25%, rgba(24,200,255,.18), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 40%),
    var(--bg);
  background-repeat:no-repeat;
  overflow-x:hidden;
}

.nav{
  position:sticky;top:0;z-index:50;
  background: linear-gradient(180deg, rgba(11,16,32,.85), rgba(11,16,32,.55));
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-inner{
  max-width:1180px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:16px;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px}
.brand img{width:28px;height:28px;border-radius:8px;box-shadow:var(--glow);object-fit:cover}
.nav .links{display:none;gap:16px}
.nav .links a{color:var(--muted);text-decoration:none}
.nav .links a:hover{color:var(--text)}
.auth{display:flex;gap:10px}

@media(min-width:900px){
  .nav .links{display:flex}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:600;letter-spacing:.2px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn.primary{
  color:#001018;background: linear-gradient(90deg,var(--primary1),var(--primary2),var(--primary3));
  box-shadow:var(--glow);
}
.btn.primary:hover{transform:translateY(-1px)}
.btn.glow{
  color:#E9E9FF;background: linear-gradient(90deg,var(--primary2),var(--primary3));
  box-shadow:var(--glow)
}
.btn.outline{
  color:var(--text);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);
}
.btn.ghost{
  color:var(--text);border:1px solid rgba(255,255,255,.12);background:transparent;
}
.btn.lg{padding:14px 22px;border-radius:14px;font-size:15px}

.hero{position:relative;padding:110px 20px 60px}
.hero-inner{max-width:1100px;margin:0 auto;text-align:center}
.logo-badge img{width:66px;height:66px;border-radius:24px;box-shadow:0 0 40px rgba(88,101,242,.4)}
h1{
  margin:22px auto 16px;max-width:900px;
  font-weight:800;font-size:44px;line-height:1.05;
  background: linear-gradient(90deg, #9ddfff, #aeb4ff, #c2a5ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 22px rgba(139,92,246,.2);
}
@media(min-width:900px){ h1{font-size:64px} }
.sub{max-width:900px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.6}
.cta-row{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-row.mid{margin-top:24px}

.section{margin:0;padding:70px 20px 50px}
.section h2{
  margin-top:0;text-align:center;margin-bottom:28px;font-size:32px;font-weight:800;
  background:linear-gradient(90deg,#b7e9ff,#c4c8ff,#d0b7ff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}

.grid.features{
  max-width:1100px;margin:0 auto;display:grid;gap:14px;
  grid-template-columns: repeat(1, minmax(0,1fr));
}
@media(min-width:700px){ .grid.features{grid-template-columns: repeat(2,1fr)} }
@media(min-width:1050px){ .grid.features{grid-template-columns: repeat(3,1fr)} }

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;padding:22px;min-height:140px;
  box-shadow:0 6px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-2px);border-color:rgba(139,92,246,.45);box-shadow:var(--glow)}
.card h3{margin:6px 0 6px;font-size:20px}
.card p{margin:0;color:var(--muted)}

.carousel{
  max-width:1100px;margin:0 auto;display:grid;gap:14px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media(min-width:900px){ .carousel{grid-template-columns: repeat(4,1fr)} }
.reward{
  text-align:center;padding:26px;border-radius:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 6px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.03);
  font-weight:700;color:#dfe6ff
}

/* Success section (matches neon/glass look) */
.success-wrap{
  max-width: 1100px;
  margin: 0 auto;
}
.success-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 6px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.03);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.success-card:hover{
  transform: translateY(-2px);
  border-color: rgba(139,92,246,.45);
  box-shadow: 0 0 24px rgba(34,211,238,.25), 0 0 60px rgba(139,92,246,.15);
}
.success-card p{
  margin:0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

/* Slightly increase spacing above/below VIP section so 'Your Success' breathes */
#rewards.section { padding-bottom: 64px; }
#success.section { padding-top: 64px; }

/* Remove default ordered-list numbering (we use custom bubbles) */
.steps { counter-reset: step; list-style: none; padding-left: 0; }
.steps .step { position: relative; }
.steps .step::marker { content: none; } /* Safari */
.steps li { list-style: none; }         /* Chrome/Firefox */

.steps{
  max-width:900px;margin:0 auto;display:grid;gap:18px;
  grid-template-columns: repeat(1, minmax(0,1fr));
}
@media(min-width:900px){ .steps{grid-template-columns: repeat(3,1fr)} }
.step{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px;
  box-shadow:0 6px 40px rgba(0,0,0,.25); position:relative;
}
.num{
  position:absolute;top:-12px;left:-12px;width:36px;height:36px;border-radius:50%;
  background:linear-gradient(90deg,var(--primary1),var(--primary2));display:grid;place-items:center;
  color:#001018;font-weight:800;box-shadow:var(--glow)
}
.step h4{margin:12px 0 8px}
.step p{margin:0;color:var(--muted)}

.faq{max-width:900px;margin:0 auto 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 18px;background:rgba(255,255,255,.03)}
.faq summary{cursor:pointer;font-weight:700}
.faq p{color:var(--muted);margin:8px 0 0}

.footer{padding:40px 20px;border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.2)}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.footer .brand.mini img{width:22px;height:22px;border-radius:6px;object-fit:cover}
.footer nav a{color:var(--muted);text-decoration:none;margin-right:12px}
.footer nav a:hover{color:var(--text)}
.copy{color:var(--muted);font-size:14px}

/* ensure the canvas fully covers and doesn't introduce 1px gaps */
#bg-particles{
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.35; display:block;
}

/* create a smooth stacking context */
.hero, .section { position:relative; z-index:0 }

/* cards draw above without bleeding an edge */
.grid.features, .carousel, .steps { isolation:isolate }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  #bg-particles{display:none}
  .btn:hover,.card:hover{transform:none}
}
/* Dashboard Preview Section */
.dashboard-preview {
  padding: 80px 20px;
  position: relative;
  overflow: visible;
  text-align: center;
}

.dashboard-preview h2 {
  margin-bottom: 16px;
}

.dashboard-subtitle {
  font-size: 18px;
  color: var(--muted);
  max-width: 700px;
  margin: 0 auto 60px;
  line-height: 1.6;
}

.dashboard-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  perspective: 1500px;
  transform-style: preserve-3d;
}

.dashboard-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.4),
    0 0 80px rgba(88, 101, 242, 0.15);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.dashboard-container:hover .dashboard-img {
  transform: scale(1.02);
  box-shadow: 
    0 30px 80px rgba(0, 0, 0, 0.5),
    0 0 100px rgba(88, 101, 242, 0.25);
}

.dashboard-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.15), rgba(139, 92, 246, 0.15));
  filter: blur(60px);
  z-index: -1;
  opacity: 0.6;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .dashboard-preview {
    padding: 60px 20px;
  }
  
  .dashboard-subtitle {
    font-size: 16px;
    margin-bottom: 40px;
  }
  
  .dashboard-container {
    perspective: none;
  }
  
  .dashboard-img {
    transform: none !important;
    box-shadow: 
      0 10px 40px rgba(0, 0, 0, 0.3),
      0 0 60px rgba(88, 101, 242, 0.1);
  }
  
  .dashboard-container:hover .dashboard-img {
    transform: none !important;
  }
}
