/* Full-screen branded page loader.
   Ported from project/home.dc.html lines 121-141 (inline styles) — see
   template-parts/loader.php for the markup and assets/js/core/loader.js for
   the dismissal behavior. */

#page-loader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--color-near-black-1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 30px;
	transition: opacity .6s ease;
}

.loader-ring-wrap {
	position: relative;
	width: 118px;
	height: 118px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.loader-ring {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(247, 244, 239, .14);
	border-top-color: var(--color-sage);
	border-radius: 50%;
	animation: ld-spin 1.1s linear infinite;
}

.loader-emblem {
	width: 60px;
	height: auto;
	color: var(--color-cream);
	animation: ld-pulse 1.8s ease-in-out infinite;
}

.loader-wordmark {
	font-family: var(--font-ui);
	font-size: 11px;
	letter-spacing: .4em;
	text-transform: uppercase;
	color: rgba(247, 244, 239, .6);
}

/* Dismissal state toggled by assets/js/core/loader.js */
#page-loader.is-hidden {
	opacity: 0;
	pointer-events: none;
}
