:root {
	--prance-duration-fast: 160ms;
	--prance-duration-base: 320ms;
	--prance-duration-slow: 700ms;
	--prance-duration-hero: 900ms;
	--prance-ease-standard: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--prance-ease-emphasis: cubic-bezier(0.22, 1, 0.36, 1);
	--prance-distance-sm: 16px;
	--prance-distance-md: 32px;
}

[data-animate="reveal"],
[data-animate="reveal-card"],
[data-animate="text-reveal"],
[data-animate="image-reveal"],
[data-animate="hero"] > .prance-container > * {
	opacity: 0;
	transform: translateY(var(--prance-distance-sm));
	transition:
		opacity var(--prance-duration-slow) var(--prance-ease-standard),
		transform var(--prance-duration-slow) var(--prance-ease-standard);
}

.prance-is-visible[data-animate="reveal"],
.prance-is-visible[data-animate="reveal-card"],
.prance-is-visible[data-animate="text-reveal"],
.prance-is-visible[data-animate="image-reveal"],
.prance-is-visible[data-animate="hero"] > .prance-container > * {
	opacity: 1;
	transform: none;
}

.prance-product-card__link img,
.prance-case-card__media img {
	transition: transform var(--prance-duration-fast) var(--prance-ease-standard);
}

.prance-product-card:hover .prance-product-card__link img,
.prance-case-card:hover .prance-case-card__media img {
	transform: scale(1.03);
}

.prance-accordion__panel {
	transition:
		opacity var(--prance-duration-base) var(--prance-ease-standard),
		max-height var(--prance-duration-base) var(--prance-ease-standard);
}

.prance-tabs__panel {
	transition: opacity 150ms var(--prance-ease-standard);
}

.prance-header {
	transition:
		background-color var(--prance-duration-base) var(--prance-ease-standard),
		box-shadow var(--prance-duration-base) var(--prance-ease-standard);
}

.prance-header.is-sticky {
	box-shadow: 0 8px 24px rgba(11, 31, 58, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	[data-animate],
	.prance-product-card__link img,
	.prance-case-card__media img,
	.prance-accordion__panel,
	.prance-tabs__panel,
	.prance-header {
		transition: none !important;
		animation: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
}

.prance-reduced-motion [data-animate] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

/* Manual category tabs — show all case cards immediately (no scroll-reveal skip) */
.prance-case-tabs[data-sync-url="0"] [data-animate="reveal-card"] {
	opacity: 1;
	transform: none;
}

.no-js [data-animate] {
	opacity: 1;
	transform: none;
}
