/**
 * Motion tokens — the single source of truth for animation timing.
 * JS modules read these via getComputedStyle so durations are never
 * hand-typed twice. Theme modes may shift the pace (e.g. psychiatry
 * slower, ambulance snappier) without any component/JS change.
 */

:root {
	--motion-fast: 200ms;
	--motion-normal: 420ms;
	--motion-slow: 700ms;
	--motion-reveal: 900ms;

	--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
	--ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-expo: cubic-bezier(0.87, 0, 0.13, 1);

	/* Distance/scale primitives used by scroll-reveal.js */
	--reveal-distance: 32px;
	--reveal-scale-from: 1.06;

	--parallax-strength: 0.12; /* fraction of scroll delta */
}

[data-theme-mode="psychiatry"],
[data-theme-mode="psychology"] {
	--motion-normal: 600ms;
	--motion-slow: 1000ms;
	--motion-reveal: 1300ms;
	--reveal-distance: 20px;
	--parallax-strength: 0.06;
}

[data-theme-mode="ambulance"],
[data-theme-mode="emergency"] {
	--motion-fast: 140ms;
	--motion-normal: 300ms;
	--motion-slow: 480ms;
	--motion-reveal: 600ms;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--motion-fast: 1ms;
		--motion-normal: 1ms;
		--motion-slow: 1ms;
		--motion-reveal: 1ms;
		--reveal-distance: 0px;
		--parallax-strength: 0;
	}
}
