/**
 * Front-page splash overlay
 */

.site-splash {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	transition: opacity 1.7s ease;
}

.site-splash.is-out {
	opacity: 0;
	pointer-events: none;
}

.site-splash__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.35rem;
}

.site-splash__logo {
	display: block;
	width: clamp(240px, 56vw, 420px);
	height: auto;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.85s ease;
}

.site-splash.is-logo-in .site-splash__logo {
	clip-path: inset(0 0 0 0);
}

.site-splash__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
}

.site-splash__dots span {
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: #5b2784;
	opacity: 0.35;
	animation: splash-dot 1s ease-in-out infinite;
}

.site-splash__dots span:nth-child(2) {
	animation-delay: 0.16s;
}

.site-splash__dots span:nth-child(3) {
	animation-delay: 0.32s;
}

@keyframes splash-dot {
	0%,
	80%,
	100% {
		transform: translateY(0);
		opacity: 0.3;
	}

	40% {
		transform: translateY(-7px);
		opacity: 1;
	}
}

html.is-splash-active,
html.is-splash-active body {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.site-splash__logo {
		clip-path: inset(0 0 0 0);
		transition: none;
	}

	.site-splash__dots span {
		animation: none;
		opacity: 1;
	}

	.site-splash.is-out {
		transition: opacity 0.15s ease;
	}
}
