.cta-final {
  background: var(--lime);
  color: var(--ink);
  border-radius: var(--r-lg);
  padding: clamp(64px, 10vw, 140px) clamp(32px, 5vw, 80px);
  margin-top: 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-final::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at center, rgba(10,10,10,0.16) 1.6px, transparent 2.2px);
  background-size: 48px 48px;
  opacity: 0.45;
  mask: radial-gradient(circle at center, black 30%, transparent 75%);
  -webkit-mask: radial-gradient(circle at center, black 30%, transparent 75%);
}
.cta-final > * { position: relative; z-index: 1; }
.cta-final .eyebrow { color: var(--ink); opacity: 0.7; justify-content: center; }
.cta-final .section-title {
  font-size: clamp(44px, 6vw, 80px);
  max-width: 880px;
  margin: 18px auto 24px;
}
.cta-final .section-title .moss { color: var(--moss); }
.cta-final .lead {
  color: rgba(10,10,10,0.8);
  max-width: 560px;
  margin: 0 auto 36px;
}
.cta-final .hero-form {
  max-width: 520px;
  margin: 0 auto;
}
.cta-final .hero-form input[type="email"],
.cta-final .hero-form input[type="tel"],
.cta-final .hero-form input[type="text"]:not(.hp-field) {
  background: var(--bone);
  border-color: var(--line-mid);
  text-align: center;
}
.cta-final .hero-form input::placeholder {
  text-align: center;
}
.cta-final .radio-pill span {
  background: var(--bone);
  border-color: rgba(10,10,10,0.2);
}
.cta-final .hero-form .submit-btn-block {
  background: var(--ink);
  color: var(--lime);
}
.cta-final .hero-form .submit-btn-block:hover {
  background: var(--graphite);
}
