/* =============================================
   CTA BANNER
   ============================================= */

.cta-banner {
  position: relative; overflow: hidden; padding: 100px 0; text-align: center;
  background: linear-gradient(135deg,#1a0e3c 0%,#2d1b69 40%,#1e1040 100%);
}
[data-theme="light"] .cta-banner {
  background: linear-gradient(135deg,#5b52f0 0%,#7c6ff7 40%,#a78bfa 100%);
}
.cta-banner__orb {
  position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none;
  animation: orb-drift 10s ease-in-out infinite alternate;
}
.cta-banner__orb--1 { width: 300px; height: 300px; background: rgba(108,99,255,0.35); top: -60px; left: 10%; animation-duration: 9s; }
.cta-banner__orb--2 { width: 200px; height: 200px; background: rgba(167,139,250,0.3); bottom: -40px; right: 15%; animation-duration: 11s; animation-delay: -3s; }
.cta-banner__orb--3 { width: 160px; height: 160px; background: rgba(236,72,153,0.2); top: 30%; left: 60%; animation-duration: 13s; animation-delay: -6s; }
@keyframes orb-drift {
  0%   { transform: translate(0,0) scale(1); }
  33%  { transform: translate(30px,-20px) scale(1.1); }
  66%  { transform: translate(-20px,15px) scale(0.95); }
  100% { transform: translate(10px,-10px) scale(1.05); }
}
[data-theme="light"] .cta-banner__orb--1 { background: rgba(255,255,255,0.25); }
[data-theme="light"] .cta-banner__orb--2 { background: rgba(255,255,255,0.2); }
[data-theme="light"] .cta-banner__orb--3 { background: rgba(255,200,100,0.2); }

.cta-banner__inner { position: relative; z-index: 1; }
.cta-banner__inner h2 {
  font-family: var(--font-display); font-size: clamp(2rem,4vw,3rem); font-weight: 700; margin-bottom: 12px;
  background: linear-gradient(90deg, #fff 0%, #a78bfa 30%, #6c63ff 50%, #a78bfa 70%, #fff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: gradient-flow 4s linear infinite;
}
@keyframes gradient-flow { 0%{background-position:0% center} 100%{background-position:200% center} }
[data-theme="light"] .cta-banner__inner h2 {
  background: linear-gradient(90deg,#fff 0%,#e0d7ff 30%,#fff 50%,#e0d7ff 70%,#fff 100%);
  background-size: 200% auto; animation: gradient-flow 4s linear infinite;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.cta-banner__inner p { color: rgba(255,255,255,0.75); font-size: 1.05rem; margin-bottom: 32px; }
[data-theme="light"] .cta-banner__inner .btn--primary { background: #fff; color: var(--accent); border-color: #fff; box-shadow: 0 0 30px rgba(255,255,255,0.3); }
[data-theme="light"] .cta-banner__inner .btn--primary:hover { background: rgba(255,255,255,0.9); }
