html { scroll-behavior: smooth; }
body { overflow-x: hidden; font-family: 'Inter', sans-serif; color:#0f1530; background:#ffffff; }
/* Grid background */
.grid-bg {
  background-image:
    linear-gradient(rgba(108,99,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108,99,255,0.07) 1px, transparent 1px);
  background-size: 44px 44px;
  background-position: center;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 55%, transparent 85%);
          mask-image: radial-gradient(ellipse at center, #000 55%, transparent 85%);
}
.glass {
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(108,99,255,0.12);
}
.glass-dark {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.15);
}
.gradient-purple { background: linear-gradient(135deg,#6C63FF 0%,#8a7bff 50%,#5249e0 100%); }
.gradient-hero-text {
  background: linear-gradient(90deg,#070B2A 0%, #5249e0 60%, #6C63FF 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.btn-primary {
  background: linear-gradient(135deg,#6C63FF,#5249e0);
  color: #fff;
  box-shadow: 0 10px 24px -10px rgba(108,99,255,0.65);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 18px 30px -12px rgba(108,99,255,0.7); }
.btn-ghost {
  background: #fff; color:#070B2A; border:1px solid rgba(7,11,42,0.12);
  transition: all .2s ease;
}
.btn-ghost:hover { border-color:#6C63FF; color:#6C63FF; transform: translateY(-2px); }
.reveal { opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform: translateY(0); }
.header-scrolled { background: rgba(255,255,255,0.85) !important; backdrop-filter: blur(14px); box-shadow: 0 6px 20px rgba(7,11,42,0.06); }
.badge-dot::before {
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  background:#2ED47A; margin-right:8px; box-shadow:0 0 0 4px rgba(46,212,122,.18);
}
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display:none; }
details[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .25s ease; }
.ring-grad { position: relative; }
.ring-grad::before {
  content:""; position:absolute; inset:-1px; border-radius: inherit;
  background: linear-gradient(135deg,#6C63FF,#2ED47A); z-index:-1; opacity:.6;
}
.scroll-fade { mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }

.gradient-purple{
    background:linear-gradient(135deg,#7c6cff,#4f46e5);
}

.bg-brand-navy{
    background:#070B2A;
}

.text-brand-purple{
    color:#6C63FF;
}

.text-brand-navy{
    color:#111827;
}

.glass{
    background:#fff;
    border:1px solid #e5e7eb;
}

.shadow-card,
.shadow-soft{
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.btn-primary{
    background:#6C63FF;
    color:#fff;
}

.btn-ghost{
    border:1px solid #d1d5db;
    color:#111827;
}

.gradient-hero-text{
    background:linear-gradient(135deg,#6C63FF,#4f46e5);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}