/* =========================
FILE: css/animations.css
Purpose:
- Site-wide reveal animation system
- Works on every page
- Controlled by js/reveal.js
========================= */

.reveal-ready.reveal,
.reveal-ready.reveal-soft,
.reveal-ready.reveal-stagger {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.62s ease, transform 0.62s ease;
	will-change: opacity, transform;
}

.reveal-ready.reveal-up {
	opacity: 0;
	transform: translateY(34px);
	transition: opacity 0.72s ease, transform 0.72s ease;
	will-change: opacity, transform;
}

.reveal-ready.reveal-down {
	opacity: 0;
	transform: translateY(-28px);
	transition: opacity 0.72s ease, transform 0.72s ease;
	will-change: opacity, transform;
}

.reveal-ready.reveal-left {
	opacity: 0;
	transform: translateX(-64px);
	transition: opacity 1.05s ease, transform 1.05s ease;
	will-change: opacity, transform;
}

.reveal-ready.reveal-right {
	opacity: 0;
	transform: translateX(64px);
	transition: opacity 1.05s ease, transform 1.05s ease;
	will-change: opacity, transform;
}

.reveal-ready.reveal-scale {
	opacity: 0;
	transform: translateY(18px) scale(0.965);
	transition: opacity 0.72s ease, transform 0.72s ease;
	will-change: opacity, transform;
}

.reveal-ready.pill-load-left {
	opacity: 0;
	transform: translateX(-38px);
	transition: opacity 0.66s ease, transform 0.66s ease, box-shadow 0.25s ease;
	will-change: opacity, transform;
}

.reveal-ready.pill-load-right {
	opacity: 0;
	transform: translateX(38px);
	transition: opacity 0.66s ease, transform 0.66s ease, box-shadow 0.25s ease;
	will-change: opacity, transform;
}

.reveal-ready.card,
.reveal-ready.panel {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.58s ease, transform 0.58s ease, box-shadow 0.25s ease;
	will-change: opacity, transform;
}

.reveal-ready.process-step {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.55s ease, transform 0.55s ease, box-shadow 0.25s ease;
	will-change: opacity, transform;
}

	.reveal-ready.is-visible,
	.reveal-ready.reveal.is-visible,
	.reveal-ready.reveal-soft.is-visible,
	.reveal-ready.reveal-stagger.is-visible,
	.reveal-ready.reveal-up.is-visible,
	.reveal-ready.reveal-down.is-visible,
	.reveal-ready.reveal-left.is-visible,
	.reveal-ready.reveal-right.is-visible,
	.reveal-ready.reveal-scale.is-visible,
	.reveal-ready.pill-load-left.is-visible,
	.reveal-ready.pill-load-right.is-visible,
	.reveal-ready.card.is-visible,
	.reveal-ready.panel.is-visible,
	.reveal-ready.process-step.is-visible {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}

.reveal-delay-1 {
	transition-delay: 0.08s;
}

.reveal-delay-2 {
	transition-delay: 0.16s;
}

.reveal-delay-3 {
	transition-delay: 0.24s;
}

.reveal-delay-4 {
	transition-delay: 0.32s;
}

.reveal-delay-5 {
	transition-delay: 0.40s;
}

.reveal-delay-6 {
	transition-delay: 0.48s;
}

.reveal-delay-7 {
	transition-delay: 0.56s;
}

.reveal-delay-8 {
	transition-delay: 0.64s;
}

.reveal-sequence > *:nth-child(1) {
	transition-delay: 0.06s;
}

.reveal-sequence > *:nth-child(2) {
	transition-delay: 0.12s;
}

.reveal-sequence > *:nth-child(3) {
	transition-delay: 0.18s;
}

.reveal-sequence > *:nth-child(4) {
	transition-delay: 0.24s;
}

.reveal-sequence > *:nth-child(5) {
	transition-delay: 0.30s;
}

.reveal-sequence > *:nth-child(6) {
	transition-delay: 0.36s;
}

.reveal-sequence > *:nth-child(7) {
	transition-delay: 0.42s;
}

.reveal-sequence > *:nth-child(8) {
	transition-delay: 0.48s;
}

@media (hover: hover) and (pointer: fine) {
	.reveal-ready.process-step.is-visible:hover {
		transform: translateY(-2px);
	}

	.reveal-ready.card.is-visible:hover {
		transform: translateY(-3px);
	}

	.reveal-ready.pill-load-left.is-visible:hover,
	.reveal-ready.pill-load-right.is-visible:hover {
		transform: translateY(-4px) scale(1.03);
	}
}

@media (max-width: 860px) {
	.reveal-ready.reveal-left,
	.reveal-ready.reveal-right,
	.reveal-ready.pill-load-left,
	.reveal-ready.pill-load-right {
		transform: translateY(18px);
	}

		.reveal-ready.reveal-left.is-visible,
		.reveal-ready.reveal-right.is-visible,
		.reveal-ready.pill-load-left.is-visible,
		.reveal-ready.pill-load-right.is-visible {
			transform: translateY(0);
		}
}

@media (prefers-reduced-motion: reduce) {
	.reveal-ready.reveal,
	.reveal-ready.reveal-soft,
	.reveal-ready.reveal-stagger,
	.reveal-ready.reveal-up,
	.reveal-ready.reveal-down,
	.reveal-ready.reveal-left,
	.reveal-ready.reveal-right,
	.reveal-ready.reveal-scale,
	.reveal-ready.pill-load-left,
	.reveal-ready.pill-load-right,
	.reveal-ready.card,
	.reveal-ready.panel,
	.reveal-ready.process-step {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.reveal-ready.company-headshot-reveal {
		opacity: 0;
		transform: scale(1.04);
		transition: opacity 1.35s ease, transform 1.35s ease;
		will-change: opacity, transform;
	}

		.reveal-ready.company-headshot-reveal.is-visible {
			opacity: 1;
			transform: scale(1);
		}
}
