/* Design tokens — Continental redesign (rival.team-inspired: dark, one red accent, sharp edges) */

:root {
	--c-bg: #0a0a0a;
	--c-bg-alt: #131313;
	--c-fg: #ffffff;
	--c-fg-muted: rgba(255, 255, 255, 0.7);
	/* green accent system (client direction):
	   - lines/text/active states use the brighter emerald (6.5:1 on #0a0a0a)
	   - filled buttons use the deep mockup green (white text = 9.4:1) */
	--c-accent: #3fa578;
	--c-accent-dim: rgba(63, 165, 120, 0.35);
	--c-accent-btn: #1e4d3b;
	--c-accent-btn-hover: #27614b;
	--c-line: rgba(255, 255, 255, 0.16);
	--c-overlay: rgba(10, 10, 10, 0.72);

	--font-ui: 'Montserrat', 'Open Sans', sans-serif;
	--font-accent: 'Playfair Display', serif;

	--tracking-ui: 0.08em;
	--tracking-wide: 0.18em;

	--radius: 0px;

	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--dur-fast: 200ms;
	--dur-base: 550ms;
	--stagger-step: 90ms;

	--container-max: 1200px;
	--header-inset: 24px;
}

@media (max-width: 639px) {
	:root {
		--header-inset: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--dur-fast: 1ms;
		--dur-base: 1ms;
		--stagger-step: 0ms;
	}
}

/* Shared reveal-on-scroll primitive: everything using it starts hidden/offset
   and is promoted to visible by reveal.js toggling [data-revealed]. Kept to
   transform+opacity only so it stays GPU-accelerated and reflow-free. */
[data-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
	will-change: opacity, transform;
}
[data-reveal][data-revealed] {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
