/* CTA v9: satin diagonal flow */
.cta-box {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(135deg, #081c60 0%, #0f2f9e 35%, #1e56c8 70%, #2e6fe8 100%) !important;
}
.cta-box:hover {
  background: linear-gradient(135deg, #081c60 0%, #0f2f9e 35%, #1e56c8 70%, #2e6fe8 100%) !important;
}
.cta-box::before, .cta-box::after { display: none !important; content: none !important; }
.cta-waves { display: none !important; }
.cta-box > * { position: relative; z-index: 3; }
.cta-flow {
  position: absolute; left: -50%; top: -50%; width: 200%; height: 200%;
  z-index: 1; pointer-events: none; will-change: transform;
  filter: blur(26px);
}
.f1 {
  background: repeating-linear-gradient(115deg,
    rgba(133,180,247,0) 0px,
    rgba(133,180,247,.38) 110px,
    rgba(120,160,240,.12) 230px,
    rgba(133,180,247,0) 340px);
  animation: satinA 4.5s ease-in-out infinite alternate;
}
.f2 {
  background: repeating-linear-gradient(100deg,
    rgba(90,150,250,0) 0px,
    rgba(70,120,235,.35) 150px,
    rgba(90,150,250,0) 300px);
  animation: satinB 7s ease-in-out infinite alternate;
}
@keyframes satinA {
  from { transform: translate(0, 0); }
  to   { transform: translate(190px, 130px); }
}
@keyframes satinB {
  from { transform: translate(0, 0); }
  to   { transform: translate(-160px, 110px); }
}
@media (prefers-reduced-motion: reduce) { .cta-flow { animation: none; } }

/* tools page CTA (global) */
.cta-section { padding: 56px 0 0; }
.cta-box { margin: 0; padding: 72px 24px; }
.cta-box h2 { color: #fff; font-size: 34px; font-weight: 800; }
.cta-box p { color: rgba(255,255,255,.85) !important; font-size: 17px; }
.cta-pill-btn { display: inline-block; padding: 14px 34px; border-radius: 999px; background: #fff; color: #1e56c8 !important; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.cta-pill-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.25); color: #1e56c8; }
.cta-pill-arrow { display: inline-block; margin-left: 6px; }
.cta-pill-ghost { display: inline-block; padding: 14px 34px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.65); color: #fff !important; font-weight: 600; text-decoration: none; transition: all .25s ease; }
.cta-pill-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
@media (max-width: 767.98px) { .cta-box { padding: 56px 18px; } .cta-box h2 { font-size: 26px; } }
