/* Static content is the default. Motion is activated only after JS support is known. */
[data-kl-motion] {
	--kl-motion-delay: 0ms;
}

.kl-motion-ready [data-kl-motion="scan"],
.kl-motion-ready [data-kl-motion="emit"],
.kl-motion-ready [data-kl-motion="diffuse"] {
	opacity: 0;
	transition:
		opacity var(--kl-motion-duration-slow) var(--kl-motion-easing-emission) var(--kl-motion-delay),
		transform var(--kl-motion-duration-slow) var(--kl-motion-easing-emission) var(--kl-motion-delay),
		clip-path var(--kl-motion-duration-slow) var(--kl-motion-easing-standard) var(--kl-motion-delay);
}

.kl-motion-ready [data-kl-motion="scan"] {
	clip-path: inset(0 12% 0 0);
	transform: translateX(-0.5rem);
}

.kl-motion-ready [data-kl-motion="emit"] {
	transform: scale(0.96);
}

.kl-motion-ready [data-kl-motion="diffuse"] {
	transform: translateY(0.65rem);
}

.kl-motion-ready [data-kl-motion].is-observed {
	opacity: 1;
	clip-path: inset(0);
	transform: none;
}

.kl-motion-stagger > :nth-child(2) { --kl-motion-delay: 80ms; }
.kl-motion-stagger > :nth-child(3) { --kl-motion-delay: 160ms; }
.kl-motion-stagger > :nth-child(4) { --kl-motion-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	[data-kl-motion] {
		opacity: 1 !important;
		clip-path: none !important;
		transform: none !important;
		transition: none !important;
	}
}
