/**
 * Homepage v4 motion layer.
 */

:root {
	--motion-fast: 160ms;
	--motion-base: 240ms;
	--motion-slow: 420ms;
	--motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--motion-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
}

.section-01-hero .hero-nav,
.section-01-hero .hero-eyebrow,
.section-01-hero .hero-h1,
.section-01-hero .icon-chip-row,
.section-01-hero .hero-intro,
.section-01-hero .hero-ctas,
.section-01-hero .hero-image,
.section-01-hero .hero-col3__card {
	animation: homepage-v4-fade-up var(--motion-slow) var(--motion-ease-out) both;
}

.section-01-hero .hero-eyebrow { animation-delay: 80ms; }
.section-01-hero .hero-h1 { animation-delay: 140ms; }
.section-01-hero .icon-chip-row { animation-delay: 200ms; }
.section-01-hero .hero-intro { animation-delay: 260ms; }
.section-01-hero .hero-ctas { animation-delay: 320ms; }
.section-01-hero .hero-image { animation-delay: 380ms; }
.section-01-hero .hero-col3__card:first-child { animation-delay: 440ms; }
.section-01-hero .hero-col3__card:last-child { animation-delay: 500ms; }

.hero-h1__accent {
	animation: homepage-v4-accent-glow 760ms var(--motion-ease-soft) both;
}

.hero-h1__accent:nth-of-type(1) { animation-delay: 360ms; }
.hero-h1__accent:nth-of-type(2) { animation-delay: 480ms; }
.hero-h1__accent:nth-of-type(3) { animation-delay: 600ms; }

.hero-eyebrow__dot,
.eyebrow-dot {
	animation: homepage-v4-dot-pulse 2200ms ease-in-out infinite;
}

.btn-pill,
.hero-nav__menu a,
.hero-nav__cta,
.icon-chip,
.floating-chip,
.hero-col3__card,
.news-card,
.knowledge-mini-card,
.section-tabs__tab,
.info-chip {
	transition:
		transform var(--motion-base) var(--motion-ease-out),
		box-shadow var(--motion-base) var(--motion-ease-out),
		background-color var(--motion-base) var(--motion-ease-out),
		color var(--motion-base) var(--motion-ease-out),
		border-color var(--motion-base) var(--motion-ease-out);
}

.btn-pill:hover,
.hero-nav__cta:hover,
.icon-chip:hover,
.floating-chip:hover,
.info-chip--link:hover,
.hero-col3__card:hover,
.news-card:hover,
.knowledge-mini-card:hover {
	transform: translateY(-2px);
}

.section-tabs__panel {
	animation: homepage-v4-panel-in var(--motion-base) var(--motion-ease-out) both;
}

.faq-answer,
.accordion__content,
.content-accordion__content {
	transition: grid-template-rows var(--motion-base) var(--motion-ease-out), opacity var(--motion-base) var(--motion-ease-out);
}

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

@keyframes homepage-v4-fade-up {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes homepage-v4-panel-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes homepage-v4-accent-glow {
	from { color: var(--color-text-primary); }
	to { color: var(--color-forest-700); }
}

@keyframes homepage-v4-dot-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.28); opacity: 0.72; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	[data-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}
