/* ========================================
   Splash — オープニング
   ======================================== */

body.is-splash-active {
	overflow: hidden;
}

.splash {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg);
	opacity: 1;
	transition: opacity 0.9s ease;
}

.splash.is-hidden {
	opacity: 0;
	pointer-events: none;
}

.splash__logo {
	font-family: var(--font-serif);
	font-size: clamp(36px, 7vw, 56px);
	font-weight: 500;
	color: var(--color-bg-dark);
	letter-spacing: 0.14em;
	text-align: center;
	animation: splash-logo-in 0.9s ease both;
}

@keyframes splash-logo-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.splash {
		transition: none;
	}

	.splash__logo {
		animation: none;
	}
}
