/* All motion in the site is intentionally very subtle (gentle hover
   lift, a small badge pop-in, a soft portal shimmer) and must be
   killable in two ways: the OS-level prefers-reduced-motion preference,
   and the manual in-page toggle (reduced-motion.js sets
   [data-reduced-motion="on"] on <html>). Both selectors below zero out
   the same set of things so "calm" only has to be defined once. */

@keyframes psc-pop-in {
	from { transform: scale(0.85); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

@keyframes psc-shimmer {
	0%, 100% { opacity: 0.85; }
	50% { opacity: 1; }
}

.psc-anim-pop-in {
	animation: psc-pop-in var(--duration-slow) var(--ease-standard) both;
}

.psc-anim-shimmer {
	animation: psc-shimmer 3.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
	.card--interactive:hover,
	.route-map__stop:hover .route-map__badge {
		transform: none !important;
	}
}

html[data-reduced-motion="on"] *,
html[data-reduced-motion="on"] *::before,
html[data-reduced-motion="on"] *::after {
	animation-duration: 0.001ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.001ms !important;
}

html[data-reduced-motion="on"] .card--interactive:hover,
html[data-reduced-motion="on"] .route-map__stop:hover .route-map__badge {
	transform: none !important;
}
