.pct-reveal {
	opacity: 1;
	transform: none;
	transition: opacity 0.75s var(--pct-ease), transform 0.75s var(--pct-ease);
	transition-delay: var(--pct-delay, 0ms);
}

.pct-js .pct-reveal:not(.is-visible) {
	opacity: 0;
	transform: translateY(28px);
}

.pct-js .pct-reveal--down:not(.is-visible) {
	transform: translateY(-24px);
}

.pct-js .pct-reveal--left:not(.is-visible) {
	transform: translateX(-36px);
}

.pct-js .pct-reveal--right:not(.is-visible) {
	transform: translateX(36px);
}

.pct-js .pct-reveal--scale:not(.is-visible) {
	transform: scale(1.04);
}

.pct-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.pct-image-reveal {
	clip-path: inset(0 0 0 0);
	transform: scale(1);
	transition: clip-path 1s var(--pct-ease), transform 1.1s var(--pct-ease);
}

.pct-js .pct-image-reveal:not(.is-visible) {
	clip-path: inset(0 100% 0 0);
	transform: scale(1.05);
}

.pct-image-reveal.is-visible {
	clip-path: inset(0 0 0 0);
	transform: scale(1);
}

.pct-float {
	animation: pct-float 6s ease-in-out infinite;
}

.pct-pulse {
	animation: pct-pulse 2.4s ease-in-out infinite;
}

@keyframes pct-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@keyframes pct-pulse {
	0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.45); }
	50% { transform: scale(1.04); box-shadow: 0 0 0 16px rgba(255, 255, 255, 0); }
}

.pct-header {
	animation: pct-fade-down 0.7s var(--pct-ease) both;
}

@keyframes pct-fade-down {
	from { opacity: 0; transform: translateY(-12px); }
	to { opacity: 1; transform: none; }
}

.pct-hero.is-ready .pct-hero__eyebrow {
	animation: pct-fade-up 0.8s var(--pct-ease) 0.1s both;
}

.pct-hero.is-ready .pct-hero__title {
	animation: pct-fade-up 0.85s var(--pct-ease) 0.22s both;
}

.pct-hero.is-ready .pct-hero__script {
	animation: pct-fade-up 0.85s var(--pct-ease) 0.34s both;
}

.pct-hero.is-ready .pct-hero__desc {
	animation: pct-fade-up 0.85s var(--pct-ease) 0.46s both;
}

.pct-hero.is-ready .pct-hero__cta {
	animation: pct-fade-up 0.85s var(--pct-ease) 0.58s both;
}

.pct-hero.is-ready .pct-hero__bg img {
	animation: pct-hero-scale 1.4s var(--pct-ease) both;
}

@keyframes pct-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}

@keyframes pct-hero-scale {
	from { transform: scale(1.04); }
	to { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}

	.pct-js .pct-reveal:not(.is-visible),
	.pct-js .pct-image-reveal:not(.is-visible),
	.pct-reveal,
	.pct-image-reveal,
	.pct-hero.is-ready .pct-hero__eyebrow,
	.pct-hero.is-ready .pct-hero__title,
	.pct-hero.is-ready .pct-hero__script,
	.pct-hero.is-ready .pct-hero__desc,
	.pct-hero.is-ready .pct-hero__cta,
	.pct-hero.is-ready .pct-hero__bg img {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		animation: none !important;
	}
}
