:root {
  --bg: #0b0b10;
  --fg: #f4f1ea;
  --muted: #9a97a3;
  --accent-1: #ff6b3d;
  --accent-2: #7b5cff;
  --accent-3: #18c8a8;
}
@media (prefers-color-scheme: light) {
  :root { --bg: #f6f3ec; --fg: #14131a; --muted: #6b6875; }
}

* { box-sizing: border-box; margin: 0; }

body {
  min-height: 100svh;
  display: grid;
  grid-template-rows: 1fr auto;
  background: var(--bg);
  color: var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  overflow: hidden;
}

/* Slowly drifting colour field behind the text. */
.glow {
  position: fixed;
  inset: -30vmax;
  background:
    radial-gradient(35vmax 35vmax at 30% 40%, var(--accent-1), transparent 60%),
    radial-gradient(30vmax 30vmax at 70% 60%, var(--accent-2), transparent 60%),
    radial-gradient(25vmax 25vmax at 50% 20%, var(--accent-3), transparent 60%);
  filter: blur(60px);
  opacity: .5;
  animation: drift 24s ease-in-out infinite alternate;
  z-index: 0;
}
@keyframes drift {
  from { transform: rotate(0deg) scale(1); }
  to   { transform: rotate(40deg) scale(1.15); }
}

main, footer { position: relative; z-index: 1; }

main {
  align-self: center;
  padding: 0 clamp(16px, 8vw, 120px);
  max-width: 1100px;
}

.eyebrow {
  color: var(--muted);
  font-size: .85rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

h1 {
  font-size: clamp(3.5rem, 13vw, 10rem);
  line-height: .9;
  letter-spacing: -.04em;
  font-weight: 800;
}

.lead {
  margin-top: 2rem;
  font-size: clamp(1.1rem, 2.4vw, 1.6rem);
  line-height: 1.4;
  color: var(--muted);
}

.status {
  margin-top: 2.5rem;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem 1rem;
  border: 1px solid color-mix(in srgb, var(--fg) 18%, transparent);
  border-radius: 999px;
  font-size: .9rem;
}
.dot {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--accent-3);
  box-shadow: 0 0 0 0 var(--accent-3);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  70%  { box-shadow: 0 0 0 .6rem transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

footer {
  padding: 1.5rem clamp(16px, 8vw, 120px);
  color: var(--muted);
  font-size: .8rem;
}

@media (prefers-reduced-motion: reduce) {
  .glow, .dot { animation: none; }
}
