/* Home (Elementor document 166): retain native entrance controls and layout. */
.elementor-166 .bf-home-motion.animated {
	--bf-home-rise: 22px;
	animation-duration: 700ms;
	animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.elementor-166 .bf-home-motion.animated-fast { animation-duration: 500ms; }
.elementor-166 .bf-home-motion.animated-slow { animation-duration: 950ms; }
.elementor-166 .bf-home-motion.fadeInUp { animation-name: bf-home-rise; }
.elementor-166 .bf-home-motion.fadeIn { animation-name: bf-home-fade; }
.elementor-166 .bf-home-motion.zoomIn { animation-name: bf-home-image; }

/* Individual transform properties preserve the element's existing transform. */
@keyframes bf-home-rise {
	from { opacity: 0; translate: 0 var(--bf-home-rise, 22px); }
	to { opacity: 1; translate: none; }
}
@keyframes bf-home-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes bf-home-image {
	from { opacity: 0; scale: .985; }
	to { opacity: 1; scale: none; }
}

@media (max-width: 767px) {
	.elementor-166 .bf-home-motion.animated {
		--bf-home-rise: 12px;
		animation-duration: 600ms;
		animation-timing-function: cubic-bezier(.2, .65, .3, 1);
	}
	.elementor-166 .bf-home-motion.animated-fast { animation-duration: 400ms; }
	.elementor-166 .bf-home-motion.animated-slow { animation-duration: 650ms; }
	/* CSS keeps the sequence even when mobile JS timers run in the same frame. */
	.elementor-166 .bf-home-mobile-copy.animated { animation-delay: 110ms; }
	.elementor-166 .bf-home-mobile-action.animated { animation-delay: 180ms; }
	/* Backgrounds stay still while their individual mobile contents enter. */
	.elementor-166 .bf-home-mobile-static {
		visibility: visible !important;
		opacity: 1 !important;
		animation: none !important;
	}
	/* Plugin cards follow the vertical mobile flow without a desktop stagger. */
	.elementor-166 .bf-cards, .elementor-166 .bf-testimonials {
		--bf-entrance-distance: 12;
		--bf-entrance-duration: 600;
		--bf-entrance-delay: 0;
		--bf-entrance-stagger: 0;
	}
}

.elementor-166 .bf-home-motion:focus-within {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
}
@media (prefers-reduced-motion: reduce), print {
	.elementor-166 .bf-home-motion {
		visibility: visible !important;
		opacity: 1 !important;
		animation: none !important;
	}
}
