.js [data-reveal] {
	transition: opacity .8s var(--ease-out),transform .8s var(--ease-out);
}

.js [data-reveal]:not(.is-visible) {
	opacity: 0;
}

.js [data-reveal=left]:not(.is-visible) {
	transform: translateX(-2rem);
}

.js [data-reveal=up]:not(.is-visible) {
	transform: translateY(1.5rem);
}

.js [data-reveal=scale]:not(.is-visible) {
	transform: scale(0);
}

@media (prefers-reduced-motion:reduce) {

	.js [data-reveal] {
		opacity: 1!important;
		transform: none!important;
	}

	.ornament {
		transform: rotate(var(--ornament-angle,0deg));
	}
}

/* These values are sampled from scroll position, without time-based transitions. */
.js .timeline-step {
	opacity: var(--timeline-opacity,1);
}

.js .timeline-step:focus-within {
	opacity: 1;
}

.js .timeline-spark {
	opacity: var(--spark-opacity,1);
}

.js .footer-letter {
	opacity: var(--letter-opacity,1);
	transform: translateY(var(--letter-offset,0%));
}

@media (prefers-reduced-motion:reduce) {

	.js .timeline-step,.js .timeline-spark,.js .footer-letter {
		opacity: 1!important;
		transform: none!important;
	}
}

@media print {

	.js [data-reveal],.js .timeline-step,.js .timeline-spark,.js .footer-letter {
		opacity: 1!important;
		transform: none!important;
	}

	.timeline-intro,.timeline-spark {
		position: static;
	}

	.faq-panel[hidden] {
		display: block!important;
	}
}
