:root{
  --bg1:#0b0e19; --bg2:#10162a; --bg3:#0c1324;
  --accent:#5b8cff;
  --text:#e9edf3; --muted:#9aa4b2;
  --surface:rgba(255,255,255,0.06);
  --border:rgba(255,255,255,0.18);
  --shadow:0 20px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--text);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background: var(--bg1);
  overflow-x:hidden;
}
/* Background layers */
.bg{position:fixed; inset:0; z-index:-1; overflow:hidden}
.bg-gradient{
  position:absolute; inset:-10%;
  background-image:
    radial-gradient(1200px 800px at 20% 10%, #1a2b5a55, transparent 60%),
    radial-gradient(1000px 700px at 80% 90%, #3b82f633, transparent 60%),
    linear-gradient(180deg, var(--bg2), var(--bg3));
  filter: saturate(120%);
  transform: translateZ(0);
}
.bg-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 80px 80px, 80px 80px;
  mix-blend-mode: overlay;
  opacity:.6;
}
.bg-vignette{
  position:absolute; inset:-5%;
  background: radial-gradient(1200px 500px at 50% 120%, rgba(0,0,0,.8), transparent 60%),
              radial-gradient(700px 300px at -20% -20%, rgba(0,0,0,.6), transparent 40%),
              radial-gradient(700px 300px at 120% -20%, rgba(0,0,0,.6), transparent 40%);
  pointer-events:none;
}

/* Layout */
.wrap{min-height:100vh; display:grid; place-items:center; padding:56px 24px}
.card{
  width:min(820px, 100%);
  border-radius:20px;
  padding:32px;
  background: var(--surface);
  border: 1px solid var(--border);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: var(--shadow);
  transform-style: preserve-3d;
  will-change: transform;
}
.header{display:flex; align-items:center; gap:14px}
.logo{width:40px; height:40px}
h1{margin:0 0 8px; font-size:34px; letter-spacing:.2px}
h2{margin:22px 0 10px; font-size:18px; color:var(--muted)}
p{margin:0 0 14px}
.muted{color:var(--muted)}

.badges{list-style:none; display:flex; gap:12px; padding:0; margin:14px 0 22px; flex-wrap:wrap}
.badges li{
  padding:8px 12px; border-radius:999px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-size:14px;
}

/* Button */
.btn{
  appearance:none; border:0; border-radius:12px; padding:12px 18px;
  color:#fff; cursor:pointer; font-weight:600; text-decoration:none; display:inline-block;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%),
    linear-gradient(90deg, #5b8cff, #8aa6ff 50%, #5b8cff);
  box-shadow: 0 10px 30px rgba(91,140,255,.35);
}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform: translateY(1px)}
.note{font-size:12px; color:var(--muted); margin-top:4px}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .parallax{transform:none !important}
}
