/* Hero visual "fb-ads": feed card → "Send message" tapped → chat sheet with an automatic reply → "New lead".
   One 10 s loop (keyframes from reference/components/hero-visual-fb-ads/visual.html). Reduced motion shows the end state. */
.fx-stage.fx-v-fb-ads { background: linear-gradient(160deg, #F7F6FF, #FFF3EF); }
.fx-v-fb-ads .fb-feed { animation: fbFeed 10s infinite; }
.fx-v-fb-ads .fb-btn { animation: fbBtn 10s infinite; }
.fx-v-fb-ads .fb-tap { animation: fbTap 10s infinite; opacity: 0; }
.fx-v-fb-ads .fb-chat { animation: fbChat 10s infinite; transform: translateY(105%); }
.fx-v-fb-ads .fb-b1 { animation: fbB1 10s infinite; opacity: 0; }
.fx-v-fb-ads .fb-ty { animation: fbTy 10s infinite; opacity: 0; }
.fx-v-fb-ads .fb-b2 { animation: fbB2 10s infinite; opacity: 0; }
.fx-v-fb-ads .fb-lead { animation: fbLead 10s infinite; opacity: 0; }
.fx-v-fb-ads .fb-bar { transform-origin: left; animation: fbBar 10s infinite; }
@keyframes fbFeed { 0%, 34% { transform: none; filter: none; } 40%, 100% { transform: translateY(-6px) scale(.98); filter: blur(1px) brightness(.92); } }
@keyframes fbBtn { 0%, 26% { transform: none; background-color: #5B2BD9; } 29% { transform: scale(.92); background-color: #4A1FC0; } 32%, 100% { transform: none; background-color: #5B2BD9; } }
@keyframes fbTap { 0%, 24% { opacity: 0; transform: scale(.4); } 28% { opacity: .9; transform: scale(1); } 33%, 100% { opacity: 0; transform: scale(1.6); } }
@keyframes fbChat { 0%, 34% { transform: translateY(105%); } 42%, 94% { transform: none; } 100% { transform: translateY(105%); } }
@keyframes fbB1 { 0%, 46% { opacity: 0; transform: translateY(8px); } 50%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes fbTy { 0%, 52% { opacity: 0; } 54%, 60% { opacity: 1; } 62%, 100% { opacity: 0; } }
@keyframes fbB2 { 0%, 61% { opacity: 0; transform: translateY(8px); } 65%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes fbLead { 0%, 70% { opacity: 0; transform: translateX(30px); } 76%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateX(30px); } }
@keyframes fbBar { 0% { transform: scaleX(.15); } 30%, 94% { transform: scaleX(1); } 100% { transform: scaleX(.15); } }
@media (prefers-reduced-motion: reduce) {
	.fx-v-fb-ads .fb-chat, .fx-v-fb-ads .fb-b1, .fx-v-fb-ads .fb-b2, .fx-v-fb-ads .fb-lead { animation: none !important; opacity: 1 !important; transform: none !important; }
	.fx-v-fb-ads .fb-tap, .fx-v-fb-ads .fb-ty { display: none; }
}
