/* motion.css — initial states for GSAP-driven reveals */

[data-reveal] {
	will-change: transform, opacity;
}

[data-reveal="up"] { transform: none; }
[data-reveal="down"] { transform: none; }
[data-reveal="left"] { transform: none; }
[data-reveal="right"] { transform: none; }
[data-reveal="scale"] { transform: none; }
[data-reveal="fade"] { transform: none; }

[data-reveal-group] > [data-reveal-item] {
	will-change: transform, opacity;
}

.hero__headline .char {
	will-change: transform, opacity;
}

/* Hero content visible by default — GSAP enhances if available */
.hero__eyebrow,
.hero__lead,
.hero__cta-row,
.hero__bottom {
	opacity: 1;
	visibility: visible;
}

.cta-banner__title .char {
	opacity: 0;
	transform: translate3d(0, 0.55em, 0);
}

[data-clip-reveal] {
	clip-path: inset(100% 0 0 0);
	will-change: clip-path;
}

[data-mask-reveal] {
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 0%, transparent 0%);
	mask-image: linear-gradient(180deg, #000 0%, #000 0%, transparent 0%);
}

.usa-map__regions path,
.usa-map__outline path {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

.usa-map__lanes path {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal],
	[data-reveal-group] > [data-reveal-item],
	.hero__headline .char,
	.cta-banner__title .char,
	.hero__eyebrow,
	.hero__lead,
	.hero__cta-row,
	.hero__bottom {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		clip-path: none !important;
		mask-image: none !important;
		-webkit-mask-image: none !important;
	}

	.usa-map__lanes path { stroke-dashoffset: 0 !important; }
}

/* Hover/tilt cards */
.tilt {
	transition: transform 0.3s var(--v-ease);
	transform-style: preserve-3d;
}

/* Magnetic button — JS sets transform directly */
[data-magnetic] {
	transition: transform 0.4s var(--v-ease);
}

@media (prefers-reduced-motion: reduce) {
	[data-magnetic] { transform: none !important; }
}
