:root {
  --bg: #0b0b0f;
  --panel: #16161f;
  --text: #f2f3f5;
  --muted: #a7aab3;
  --brand: #7c3aed;
  --brand-2: #22d3ee;
  --accent: #2dd4bf;
  --card: #14141c;
  --border: #262637;
  --focus: rgba(124,58,237,.5);
}
* { box-sizing: border-box; }
html, body {
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  scroll-behavior:smooth;
}
a { color:inherit; text-decoration:none; }
.container { width: min(1100px, 92vw); margin: 0 auto; }
.btn { display:inline-flex; align-items:center; gap:.5rem;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  border: 0; color:white; padding:.9rem 1.2rem; border-radius: .8rem;
  font-weight: 600; cursor: pointer;
  box-shadow: 0 8px 24px rgba(124,58,237,.25);
  transition: transform .2s ease, box-shadow .3s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(34,211,238,.25); }
.btn.secondary { background: transparent; border:1px solid var(--border); box-shadow:none; }
header.nav { position: sticky; top:0; z-index:50;
  background: rgba(11,11,15,.65); backdrop-filter: blur(8px);
  border-bottom:1px solid var(--border);
}
header .wrap { display:flex; align-items:center; justify-content:space-between; padding:.8rem 0; }
.logo { display:flex; align-items:center; gap:.8rem; }
.logo img { height:34px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.menu a { padding:.6rem .9rem; color: var(--muted); border-radius:.6rem; transition: background .2s, color .2s; }
.menu a:hover { background: var(--panel); color: var(--text); }
.tag { padding:.35rem .6rem; background: rgba(124,58,237,.18); border:1px solid rgba(124,58,237,.35); color:#e0d7ff; border-radius: 999px; font-size:.8rem; }
.hero { padding: 5rem 0 4rem; background: radial-gradient(1000px 600px at 10% -10%, rgba(124,58,237,.18), transparent), radial-gradient(900px 600px at 100% 10%, rgba(34,211,238,.12), transparent); }
.hero h1 { font-size: clamp(2rem, 5vw, 3rem); line-height:1.1; margin: 1rem 0; }
.muted { color: var(--muted); }
.grid { display:grid; gap:1.2rem; }
.cards-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width:900px){ .cards-3 { grid-template-columns:1fr; } }
.card { background: linear-gradient(180deg, var(--card), #0e0e14);
  padding:1.2rem; border: 1px solid var(--border); border-radius: 1rem;
  transition: transform .25s, box-shadow .25s;
}
.card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,.25); }
section { padding:4rem 0; }
h2.section-title { font-size: clamp(1.6rem, 3.2vw, 2.2rem); margin-bottom:1rem; }
.pill { font-size:.9rem; color: var(--muted); margin-bottom:.5rem; display:block; }
.list { list-style:none; padding:0; margin:.4rem 0 0; }
.list li::before { content:'•'; margin-right:.6rem; color: var(--accent); }
.twocol { display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; }
@media (max-width:900px){ .twocol { grid-template-columns:1fr; } }
.footer { padding:2rem 0; border-top:1px solid var(--border); color:var(--muted); }
.cta-row { display:flex; gap:1rem; flex-wrap:wrap; }
.kicker { font-size:.95rem; color: var(--muted); }
.badge { font-size:.75rem; color:var(--muted); }
.testimonial { font-style: italic; color:#d9dbe3; }
.note { font-size:.85rem; color:var(--muted); }
.divider { height:1px; background:var(--border); margin: 2rem 0; }
.float-accent { position: relative; overflow:hidden; }
.float-accent::after { content:''; position:absolute; inset: -120px -140px auto auto;
  width: 340px; height: 340px; background: radial-gradient(closest-side, rgba(34,211,238,.12), transparent);
}
@media (prefers-reduced-motion:no-preference){
  .reveal { opacity:0; transform:translateY(16px); transition: opacity .6s, transform .6s; }
  .reveal.is-visible { opacity:1; transform:translateY(0); }
}