/* ============ CTA SECTION ============ */
.cta-final {
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.cta-wrap {
  background: linear-gradient(160deg, #0e0e12 0%, #1a1a22 100%);
  border-radius: var(--radius-xl);
  padding: 60px 40px;
  text-align: center;
  color: white;
  position: relative;
  overflow: hidden;
}
.cta-wrap::before, .cta-wrap::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.cta-wrap::before {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(107, 70, 193, .30), transparent 65%);
  top: -200px; right: -100px;
}
.cta-wrap::after {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(124, 58, 237, .25), transparent 65%);
  bottom: -200px; left: -100px;
}
.cta-wrap > * { position: relative; z-index: 1; }
.cta-wrap h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  color: white;
  margin-bottom: 16px;
}
.cta-wrap p {
  color: rgba(255,255,255,.78);
  font-size: 1.05rem;
  margin-bottom: 28px;
  max-width: 50ch;
  margin-left: auto; margin-right: auto;
}
.cta-wrap .btn-wa {
  box-shadow: 0 8px 24px rgba(37, 211, 102, .4);
}

@media (max-width: 640px) {
  .cta-wrap { padding: 44px 24px; }
}