.premium-reveal {
	opacity: 0;
	transform: translateY(28px) scale(.985);
	transition: opacity .55s ease, transform .55s cubic-bezier(.2, .8, .2, 1);
	transition-delay: var(--reveal-delay, 0ms);
}

.premium-reveal.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.premium-hero-active .dc-hero-slide {
	overflow: hidden;
}

.premium-hero-active .dc-display,
.premium-hero-active .dc-lead,
.premium-hero-active .dc-kicker,
.premium-hero-active .dc-hero-visual,
.premium-hero-active .dc-badge {
	transform: translate3d(var(--premium-tx, 0), var(--premium-ty, 0), 0);
	transition: transform .12s ease-out;
}

.premium-hero-active .dc-hero-visual {
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .12));
}

.premium-hero-active .carousel-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at var(--hero-glow-x, 50%) var(--hero-glow-y, 30%), rgba(255,255,255,.2), transparent 30%),
		radial-gradient(circle at 78% 20%, rgba(255,255,255,.12), transparent 28%);
	pointer-events: none;
	mix-blend-mode: soft-light;
}

.dc-quad {
	transition: transform .22s ease, box-shadow .22s ease;
}

.dc-quad:hover {
	transform: translateY(-4px);
}

.dc-quad .premium-spotlight {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(180px circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%), rgba(255,255,255,.16), transparent 60%);
	opacity: 0;
	transition: opacity .2s ease;
}

.dc-quad:hover .premium-spotlight {
	opacity: 1;
}

.dc-quad .premium-noise {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: .08;
	background-image:
		linear-gradient(rgba(255,255,255,.9) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.9) 1px, transparent 1px);
	background-size: 22px 22px;
	mask-image: radial-gradient(circle at center, black, transparent 88%);
}

.btn-dc-primary,
.btn-dc-outline,
.btn-dc-hero-primary,
.btn-dc-hero-outline,
.dc-quad-cta {
	transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease;
}

.premium-magnetic {
	transform: translate3d(var(--mag-x, 0), var(--mag-y, 0), 0);
}

.premium-magnetic:hover {
	box-shadow: 0 18px 32px rgba(15, 23, 42, .14);
}

.dc-game-tile::before {
	content: "";
	position: absolute;
	inset: -30%;
	background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.16) 50%, transparent 65%);
	transform: translateX(-90%) rotate(10deg);
	transition: transform .55s ease;
	pointer-events: none;
}

.dc-game-tile:hover::before {
	transform: translateX(90%) rotate(10deg);
}

.dc-trustnum {
	display: inline-block;
	min-width: 4ch;
}

@media (prefers-reduced-motion: reduce) {
	.premium-reveal,
	.premium-reveal.is-visible,
	.premium-hero-active .dc-display,
	.premium-hero-active .dc-lead,
	.premium-hero-active .dc-kicker,
	.premium-hero-active .dc-hero-visual,
	.premium-hero-active .dc-badge,
	.premium-magnetic,
	.dc-quad,
	.dc-game-tile::before {
		transition: none !important;
		animation: none !important;
		transform: none !important;
		filter: none !important;
		opacity: 1 !important;
	}
}

@media (max-width: 991.98px), (pointer: coarse) {
	.premium-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.premium-hero-active .dc-display,
	.premium-hero-active .dc-lead,
	.premium-hero-active .dc-kicker,
	.premium-hero-active .dc-hero-visual,
	.premium-hero-active .dc-badge,
	.premium-magnetic,
	.dc-quad,
	.dc-game-tile::before {
		transform: none !important;
		transition: none !important;
		filter: none !important;
	}

	.premium-hero-active .carousel-item::after,
	.dc-quad .premium-spotlight,
	.dc-quad .premium-noise {
		display: none !important;
	}
}
