/* Scroll reveal micro-animations — progressive enhancement, no-op without JS */

.js .animate-on-scroll {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.js .animate-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.js .animate-on-scroll.delay-1 { transition-delay: 0.1s; }
.js .animate-on-scroll.delay-2 { transition-delay: 0.2s; }
.js .animate-on-scroll.delay-3 { transition-delay: 0.3s; }
.js .animate-on-scroll.delay-4 { transition-delay: 0.4s; }
.js .animate-on-scroll.delay-5 { transition-delay: 0.5s; }
.js .animate-on-scroll.delay-6 { transition-delay: 0.6s; }

@media (prefers-reduced-motion: reduce) {
	.js .animate-on-scroll {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
