:root {
  --bg: #0d0a1f;
  --glow: #7c5cff;
  --gold: #e8c77a;
  --text: #ece8ff;
  --muted: #a49cc8;
}
* { box-sizing: border-box; margin: 0; }
html, body { height: 100%; }
body {
  background: radial-gradient(ellipse at 50% 35%, #2a1f5c 0%, var(--bg) 62%) fixed, var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  text-align: center;
}
.wrap { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; }
.sigil { width: 132px; height: 132px; fill: none; stroke: var(--gold); stroke-width: 1.6; filter: drop-shadow(0 0 14px rgba(124, 92, 255, .65)); animation: spin 60s linear infinite; }
.sigil .thin { stroke-width: .8; opacity: .7; }
.sigil .dot { fill: var(--gold); stroke: none; animation: pulse 3s ease-in-out infinite; }
h1 { font-family: Cinzel, Georgia, serif; font-weight: 600; font-size: clamp(2.4rem, 8vw, 4.2rem); letter-spacing: .06em; text-shadow: 0 0 28px rgba(124, 92, 255, .55); }
.tag { color: var(--muted); font-size: clamp(1rem, 3.6vw, 1.2rem); max-width: 30ch; }
.soon { margin-top: 8px; padding: 8px 22px; border: 1px solid rgba(232, 199, 122, .5); border-radius: 999px; color: var(--gold); font-size: .85rem; letter-spacing: .3em; text-transform: uppercase; }
footer { color: var(--muted); font-size: .8rem; opacity: .7; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .sigil, .sigil .dot { animation: none; } }
.soon a { color: inherit; text-decoration: none; }
