/* ── hero glow — stronger, layered ── */
.hero-glow {
  background:
    radial-gradient(
      ellipse 50% 40% at 50% 10%,
      rgba(56, 189, 186, 0.12) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 80% 60% at 50% 25%,
      rgba(63, 185, 80, 0.05) 0%,
      transparent 65%
    );
}

/* ── headline gradient text ── */
.hero-headline {
  font-family:
    "Outfit",
    -apple-system,
    sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(
    180deg,
    #e8edf3 0%,
    #b0c4d8 50%,
    rgba(56, 189, 186, 0.7) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ── pill badge glow ── */
.pill-badge {
  position: relative;
}

.pill-badge::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    90deg,
    rgba(30, 42, 58, 0.6) 0%,
    rgba(56, 189, 186, 0.2) 50%,
    rgba(30, 42, 58, 0.6) 100%
  );
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  pointer-events: none;
}

/* ── CTA glow ── */
.cta-primary {
  box-shadow:
    0 0 20px rgba(63, 185, 80, 0.25),
    0 0 60px rgba(63, 185, 80, 0.08);
}

.cta-primary:hover {
  box-shadow:
    0 0 25px rgba(63, 185, 80, 0.35),
    0 0 80px rgba(63, 185, 80, 0.12);
}

/* ── concentric arc lines ── */
.arc-lines {
  position: absolute;
  left: 50%;
  bottom: -60%;
  transform: translateX(-50%);
  width: 160%;
  aspect-ratio: 1;
  pointer-events: none;
}

.arc-lines::before,
.arc-lines::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(56, 189, 186, 0.06);
}

.arc-lines::after {
  inset: 10%;
  border-color: rgba(56, 189, 186, 0.05);
}

.arc-ring-1,
.arc-ring-2,
.arc-ring-3,
.arc-ring-4 {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(56, 189, 186, 0.04);
}

.arc-ring-1 {
  inset: 20%;
}
.arc-ring-2 {
  inset: 30%;
}
.arc-ring-3 {
  inset: 40%;
}
.arc-ring-4 {
  inset: 50%;
}

/* ── scan lines ── */
.scan-lines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent,
    transparent 119px,
    rgba(56, 189, 186, 0.018) 119px,
    rgba(56, 189, 186, 0.018) 120px
  );
}

/* ── feature container ── */
.feature-container {
  position: relative;
  background: rgba(18, 24, 32, 0.5);
  border: 1px solid rgba(30, 42, 58, 0.8);
  border-radius: 0.75rem;
}

.feature-container::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    180deg,
    rgba(56, 189, 186, 0.15) 0%,
    rgba(30, 42, 58, 0.3) 40%,
    rgba(30, 42, 58, 0.08) 100%
  );
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  pointer-events: none;
}

/* ── pricing card ── */
.pricing-card {
  transition: border-color 0.2s ease;
}

.pricing-card:hover {
  border-color: rgba(90, 99, 112, 0.5);
}

/* ── curl prompt ── */
.curl-prompt::before {
  content: "$ ";
  color: rgba(90, 99, 112, 0.6);
}
