


html.a2p-motion .a2p-m { opacity: 0; transform: translateY(34px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--m-i, 0) * 90ms); }
html.a2p-motion .a2p-m.a2p-m-in { opacity: 1; transform: none; }


.elementor-widget-ld_icon_box { transition: transform .35s ease; }
.elementor-widget-ld_icon_box:hover { transform: translateY(-6px); }


.a2p-band-grad { background: linear-gradient(120deg, #ed1a3d, #c4143a 35%, #0050a4 70%, #ed1a3d) !important; background-size: 300% 300% !important; animation: a2pMFlow 18s ease infinite; }


.a2p-shapes { position: relative; isolation: isolate; }
.a2p-shapes::before, .a2p-shapes::after { content: ""; position: absolute; z-index: -1; width: clamp(60px, 8vw, 140px); aspect-ratio: 1; pointer-events: none; animation: a2pMFloat 10s ease-in-out infinite; }
.a2p-shapes::before { top: 0; right: 0; border-radius: 0 0 0 100%; background: #ed1a3d; }
.a2p-shapes::after { left: 0; bottom: 0; border-radius: 0 100% 0 0; background: #56c5d0; animation-delay: -5s; }

@keyframes a2pMFlow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes a2pMFloat { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-12px, 12px); } }

@media (prefers-reduced-motion: reduce) {
	html.a2p-motion .a2p-m { opacity: 1; transform: none; transition: none; }
	.a2p-band-grad, .a2p-shapes::before, .a2p-shapes::after { animation: none; }
	.elementor-widget-ld_icon_box:hover { transform: none; }
}
