/* Homepage-only showcase layer. Loaded solely on the front page so content
   pages stay lean. Uses transform/opacity only; respects reduced-motion. */

/* Glow background only for the text-only hero — never override the image hero. */
.home .pc-hero:not(.pc-hero--image) {
	background:
		radial-gradient(1200px 500px at 80% -10%, rgba(201,154,4,.18), transparent 60%),
		radial-gradient(900px 400px at 10% 110%, rgba(33,26,20,.10), transparent 60%),
		var(--white);
}
.pc-hero__glow {
	position: absolute; inset: -20% 30% auto -20%; height: 60vh; z-index: 0;
	background: radial-gradient(closest-side, rgba(201,154,4,.28), transparent 70%);
	filter: blur(30px); pointer-events: none;
	animation: pc-float 14s ease-in-out infinite alternate;
	will-change: transform;
}
@keyframes pc-float {
	from { transform: translate3d(0,0,0) scale(1); }
	to   { transform: translate3d(4%, 3%, 0) scale(1.12); }
}

/* Staged entrance for hero + first sections. JS adds .is-in when visible. */
.home [data-anim] { opacity: 0; transform: translateY(18px); }
.home [data-anim].is-in { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.home .pc-section { opacity: 0; transform: translateY(24px); }
.home .pc-section.is-in { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }

@media (prefers-reduced-motion: reduce) {
	.pc-hero__glow { animation: none; }
	.home [data-anim], .home .pc-section { opacity: 1 !important; transform: none !important; }
}
