/* ===================== Hero ===================== */
.hero {
  position: relative;
  padding: 100px 0 70px;
  overflow: hidden;
  color: var(--on-dark);
  background: var(--grad-night);
}
.hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(600px 300px at 85% 10%, var(--glow-iris), transparent 60%),
    radial-gradient(500px 260px at 10% 90%, var(--glow-lilac), transparent 60%);
  pointer-events: none;
}
.hero__inner { position: relative; max-width: 760px; }
.hero__brand {
  display: inline-block;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: 1px;
  margin-bottom: 18px;
  background: linear-gradient(90deg, var(--ramp-7), var(--accent), var(--ramp-7));
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 4px 20px var(--glow-lilac));
  animation: hero-brand-gradient 4s linear infinite, hero-brand-in .8s cubic-bezier(.2,.7,.3,1) both;
}
.hero__brand-dot {
  -webkit-text-fill-color: var(--accent);
  color: var(--accent);
  animation: hero-brand-pulse 1.8s ease-in-out infinite;
  display: inline-block;
}
@keyframes hero-brand-gradient {
  to { background-position: 200% center; }
}
@keyframes hero-brand-in {
  from { opacity: 0; transform: translateY(14px) scale(.96); letter-spacing: 6px; }
  to { opacity: 1; transform: translateY(0) scale(1); letter-spacing: 1px; }
}
@keyframes hero-brand-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: .6; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__brand, .hero__brand-dot { animation: none; }
  .hero__brand { background-position: 0 center; }
}
.hero .eyebrow { background: var(--on-dark-line); color: var(--ramp-7); }
.hero h1 { font-size: clamp(2.1rem, 4.2vw, 3.4rem); }
.hero__lead { color: var(--on-dark-strong); font-size: 1.08rem; max-width: 640px; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin: 28px 0 40px; }
.hero__stats { display: flex; gap: 36px; flex-wrap: wrap; }
.hero__stats li { display: flex; flex-direction: column; }
.hero__stats strong { font-size: 1.8rem; font-weight: 800; }
.hero__stats span { color: var(--on-dark-muted); font-size: .85rem; }

