/* CTA attention animation - its own file (loaded last, after reponsive.css) so
   it applies on every page and every width. See inc/assets.php.

   Every pill button (.themeBtn) gets a soft shine that sweeps across it and a
   "pop" of its round icon with a pulse ring; buttons GSAP does not reveal
   (.animate_up) also pop as a whole. Submit buttons (.primeBtn) get the shine.

   Nothing here touches `position`: some buttons carry top/left/bottom rules that
   only apply to their absolutely positioned desktop twin (e.g.
   `section.the__team .themeBtn.bg-white {bottom: 220px}`), and making every
   button `relative` would switch those offsets on. The shine is therefore a
   background-image gradient that moves, not a pseudo-element. Only transform,
   box-shadow and background-position animate, so nothing around a button moves.
   The round icon holder itself never gets a transform either: that would
   isolate it, and the white icons inside (.invertEffect, mix-blend-mode:
   difference) would blend with its empty background instead of the pill and
   vanish. The holder only pulses its ring; the icon inside does the pop.
   Paused on hover so the hover state reads cleanly; off for reduced motion. */
.themeBtn, .primeBtn {
	background-image: linear-gradient(100deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 60%);
	background-size: 300% 100%; background-repeat: no-repeat; background-position: 150% 0;
	animation: proxCtaShine 4.5s ease-in-out infinite;
}
.themeBtn:not(.bg-black) {background-image: linear-gradient(100deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.12) 50%, rgba(0,0,0,0) 60%); }
.themeBtn:not(.animate_up) {animation: proxCtaShine 4.5s ease-in-out infinite, proxCtaPop 4.5s ease-in-out infinite; }
.themeBtn .arrow_circle {animation: proxCtaRing 4.5s ease-in-out infinite; }
.themeBtn .arrow_circle > * {animation: proxCtaIcon 4.5s ease-in-out infinite; }
.themeBtn:hover, .themeBtn:hover .arrow_circle, .themeBtn:hover .arrow_circle > *, .primeBtn:hover {animation-play-state: paused; }
@keyframes proxCtaShine { 0%, 55% {background-position: 150% 0; } 80%, 100% {background-position: -50% 0; } }
@keyframes proxCtaRing {
	0%, 12%, 100% {box-shadow: 0 0 0 0 rgba(251,34,36,0); }
	4% {box-shadow: 0 0 0 0 rgba(251,34,36,.55); }
	8% {box-shadow: 0 0 0 8px rgba(251,34,36,0); }
}
@keyframes proxCtaIcon { 0%, 12%, 100% {transform: scale(1); } 4% {transform: scale(1.18); } 8% {transform: scale(.95); } }
@keyframes proxCtaPop { 0%, 12%, 100% {transform: scale(1); } 4% {transform: scale(1.04); } 8% {transform: scale(.99); } }
@media (prefers-reduced-motion: reduce) {
	.themeBtn, .primeBtn, .themeBtn .arrow_circle, .themeBtn .arrow_circle > * {animation: none !important; }
}
