/* Lightweight, progressive motion. No layout properties are animated. */
:root {
	--motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html.motion-ready .motion-reveal {
	opacity: 0;
	transform: translate3d(0, 14px, 0);
	transition:
		opacity 560ms var(--motion-ease) var(--motion-delay, 0ms),
		transform 620ms var(--motion-ease) var(--motion-delay, 0ms),
		box-shadow 240ms var(--motion-ease),
		border-color 240ms var(--motion-ease);
	will-change: opacity, transform;
}

html.motion-ready .motion-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

html.motion-ready .hero-map.motion-reveal {
	transform: translate3d(10px, 0, 0) scale(0.992);
}

html.motion-ready .hero-map.motion-reveal.is-visible {
	transform: translate3d(0, 0, 0) scale(1);
}

@media (hover: hover) and (pointer: fine) {
	.button,
	.z-button,
	.resource-card,
	.community-card,
	.process-card,
	.z-resource-card,
	.z-amenity {
		transition-timing-function: var(--motion-ease);
	}

	.resource-card,
	.community-card,
	.process-card,
	.z-resource-card,
	.z-amenity {
		transition-property: transform, box-shadow, border-color;
		transition-duration: 240ms;
	}

	.resource-card:hover,
	.community-card:hover,
	.process-card:hover,
	.z-resource-card:hover,
	.z-amenity:hover {
		transform: translateY(-2px);
		box-shadow: 0 14px 32px rgb(15 39 51 / 11%);
	}

	html.motion-ready .motion-reveal.is-visible:is(.resource-card, .community-card, .process-card, .z-resource-card, .z-amenity):hover {
		transform: translate3d(0, -2px, 0);
	}

	.resource-card img,
	.community-card img,
	.process-card img,
	.z-resource-card > a > img,
	.z-community-photo img {
		transition: transform 520ms var(--motion-ease);
	}

	.resource-card:hover img,
	.community-card:hover img,
	.process-card:hover img,
	.z-resource-card:hover > a > img,
	.z-community-card:hover .z-community-photo img {
		transform: scale(1.018);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.motion-ready .motion-reveal,
	html.motion-ready .motion-reveal.is-visible {
		opacity: 1;
		transform: none;
		animation: none !important;
		transition: none !important;
		will-change: auto;
	}

	.resource-card img,
	.community-card img,
	.process-card img,
	.z-resource-card > a > img,
	.z-community-photo img {
		transform: none !important;
	}
}
