/*
 * Scroll-reveal animations. Shared, enqueued globally. Keyframes live ONLY here.
 *   .ud-fade-up           - whole section fades up on enter.
 *   .ud-fade-up-stagger   - parent; its .ud-fade-up-item children stagger in.
 * Don't combine .ud-fade-up with stagger children on the same element (translateY compounds).
 */

@keyframes ud-fade-up {
	from { opacity: 0; transform: translateY(26px); }
	to   { opacity: 1; transform: translateY(0); }
}

.ud-fade-up,
.ud-fade-up-stagger > .ud-fade-up-item {
	opacity: 0;
	will-change: opacity, transform;
}

.ud-fade-up.is-visible {
	animation: ud-fade-up 0.7s var(--ud-ease) forwards;
}

.ud-fade-up-stagger.is-visible > .ud-fade-up-item {
	animation: ud-fade-up 0.65s var(--ud-ease) forwards;
}
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(1) { animation-delay: 0.00s; }
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(2) { animation-delay: 0.09s; }
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(3) { animation-delay: 0.18s; }
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(4) { animation-delay: 0.27s; }
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(5) { animation-delay: 0.36s; }
.ud-fade-up-stagger.is-visible > .ud-fade-up-item:nth-child(6) { animation-delay: 0.45s; }

@media (prefers-reduced-motion: reduce) {
	.ud-fade-up, .ud-fade-up-stagger > .ud-fade-up-item { opacity: 1 !important; animation: none !important; transform: none !important; }
}
