/* Elements start hidden; JS adds .is-visible when they scroll into view */
.reveal-up,
.reveal-scale {
	opacity: 0;
}

.reveal-up.is-visible {
	animation: revealUp 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.reveal-scale.is-visible {
	animation: revealScale 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }

@keyframes revealUp {
	from {
		opacity: 0;
		transform: translateY(26px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes revealScale {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal-up,
	.reveal-scale {
		opacity: 1;
		animation: none !important;
	}

	html {
		scroll-behavior: auto;
	}
}
