:root {
  --navy: #02061f;
  --deep: #00043d;
  --aurora: #81d742;
  --mist: #c8d6ff;
  --paper: #eef2ff;
  --font-display: "Syne", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }

body {
  font-family: var(--font-body);
  color: var(--paper);
  background: var(--navy);
}

.hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(2rem, 6vw, 4rem);
  overflow: hidden;
  background:
    radial-gradient(80% 55% at 50% 115%, rgba(129, 215, 66, 0.28), transparent 55%),
    radial-gradient(60% 45% at 15% 10%, rgba(80, 120, 255, 0.22), transparent 50%),
    radial-gradient(50% 40% at 90% 20%, rgba(129, 215, 66, 0.12), transparent 45%),
    linear-gradient(180deg, #010318 0%, var(--deep) 45%, #011018 100%);
}

.hero__glow {
  position: absolute;
  inset: auto -10% -25% -10%;
  height: 55%;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(129, 215, 66, 0.15) 25%,
      rgba(100, 180, 255, 0.2) 50%,
      rgba(129, 215, 66, 0.18) 75%,
      transparent 100%);
  filter: blur(40px);
  animation: curtain 10s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes curtain {
  from { transform: translateX(-4%) scaleY(0.95); opacity: 0.7; }
  to { transform: translateX(4%) scaleY(1.05); opacity: 1; }
}

.hero__copy {
  position: relative;
  z-index: 1;
  max-width: 38rem;
  text-align: center;
}

.brand {
  margin: 0 0 1.25rem;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 7vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #fff;
}

h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 600;
  color: var(--aurora);
  letter-spacing: -0.01em;
}

.lede {
  margin: 1.1rem auto 0;
  max-width: 34ch;
  color: var(--mist);
  font-size: 1.05rem;
  line-height: 1.55;
}

.cta {
  margin: 2rem 0 0;
}

.cta a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(129, 215, 66, 0.7);
  padding-bottom: 0.15rem;
  font-weight: 600;
}

.cta a:hover {
  color: var(--aurora);
}
