/* SGE — Blur-reveal heading animation (site-wide).
   Elements get `.sge-reveal` from JS only (so no-JS / no-IO users see headings
   normally and there is never a flash of hidden content). */

.sge-reveal {
	opacity: 0;
	filter: blur(12px);
	transform: translateY(14px);
	will-change: opacity, filter, transform;
	transition:
		opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		filter 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.sge-reveal.sge-reveal--in {
	opacity: 1;
	filter: blur(0);
	transform: none;
}

/* Once finished, drop will-change so we don't pin layers. */
.sge-reveal.sge-reveal--done {
	will-change: auto;
}

.sge-shop-catalog__card .sge-shop-catalog__title.sge-reveal,
.sge-shop-catalog__card .sge-shop-catalog__title.sge-reveal.sge-reveal--in {
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
	transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.sge-reveal,
	.sge-reveal.sge-reveal--in {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		transition: none !important;
	}
}
