/**
 * Reveal animation initial states.
 *
 * These rules hide reveal targets ONLY when the `.pg-anim` gate class is present
 * on <html> — added by a tiny inline script in the head, and skipped entirely
 * for `prefers-reduced-motion`. GSAP (footer) then animates each target to
 * visible, writing inline styles that win over these rules. A head failsafe
 * removes `.pg-anim` if GSAP never runs, so content can never stay hidden.
 */

.pg-anim .pg-hero__eyebrow,
.pg-anim .pg-hero__heading,
.pg-anim .pg-hero__lead,
.pg-anim .pg-hero__actions,
.pg-anim .pg-hero__services,
.pg-anim .pg-hero__search,
.pg-anim .pg-page-hero__eyebrow,
.pg-anim .pg-page-hero__heading,
.pg-anim .pg-page-hero__subheading,
.pg-anim .pg-section-head,
.pg-anim .pg-card,
.pg-anim .pg-project,
.pg-anim .pg-faq__item,
.pg-anim .pg-stat,
.pg-anim .pg-testimonio,
.pg-anim .pg-cta__panel,
.pg-anim [data-anim] {
	opacity: 0;
}

/* Belt-and-braces: if motion is reduced, never keep anything hidden. */
@media (prefers-reduced-motion: reduce) {
	.pg-anim .pg-hero__eyebrow,
	.pg-anim .pg-hero__heading,
	.pg-anim .pg-hero__lead,
	.pg-anim .pg-hero__actions,
	.pg-anim .pg-hero__services,
	.pg-anim .pg-hero__search,
	.pg-anim .pg-page-hero__eyebrow,
	.pg-anim .pg-page-hero__heading,
	.pg-anim .pg-page-hero__subheading,
	.pg-anim .pg-section-head,
	.pg-anim .pg-card,
	.pg-anim .pg-project,
	.pg-anim .pg-faq__item,
	.pg-anim .pg-stat,
	.pg-anim .pg-testimonio,
	.pg-anim .pg-cta__panel,
	.pg-anim [data-anim] {
		opacity: 1 !important;
		transform: none !important;
	}
}
