/* Agency Framework — front-end styles (animations + reduced-motion safety).
   Device-visibility media queries are generated from settings and inlined. */

.agf-anim {
	opacity: 0;
	transition:
		opacity var( --agf-dur, 0.6s ) var( --agf-ease, cubic-bezier( 0.22, 1, 0.36, 1 ) ),
		transform var( --agf-dur, 0.6s ) var( --agf-ease, cubic-bezier( 0.22, 1, 0.36, 1 ) ),
		filter var( --agf-dur, 0.6s ) var( --agf-ease, cubic-bezier( 0.22, 1, 0.36, 1 ) );
	transition-delay: var( --agf-delay, 0s );
	will-change: opacity, transform;
}

.agf-anim.agf-fade-up    { transform: translateY( 28px ); }
.agf-anim.agf-fade-down  { transform: translateY( -28px ); }
.agf-anim.agf-fade-left  { transform: translateX( 28px ); }
.agf-anim.agf-fade-right { transform: translateX( -28px ); }
.agf-anim.agf-zoom       { transform: scale( 0.94 ); }
.agf-anim.agf-blur       { filter: blur( 8px ); }

.agf-anim.agf-in {
	opacity: 1;
	transform: none;
	filter: none;
}

@media ( prefers-reduced-motion: reduce ) {
	.agf-anim {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
	}
}
