.site-preloader {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
}

.site-preloader--done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.site-preloader__inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-preloader__sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-preloader__logo {
	width: min(176px, 42vw);
	animation: site-preloader-breathe 1.4s ease-in-out infinite alternate;
	will-change: transform;
}

.site-preloader__svg {
	display: block;
	width: 100%;
	height: auto;
}

.site-preloader__segment {
	transform-box: fill-box;
	transform-origin: center;
	animation: site-preloader-segment 0.55s cubic-bezier(0.34, 1.45, 0.64, 1) both;
}

.site-preloader__segment:nth-child(1) {
	animation-delay: 0.05s;
}

.site-preloader__segment:nth-child(2) {
	animation-delay: 0.12s;
}

.site-preloader__segment:nth-child(3) {
	animation-delay: 0.19s;
}

.site-preloader__segment:nth-child(4) {
	animation-delay: 0.26s;
}

.site-preloader__segment:nth-child(5) {
	animation-delay: 0.33s;
}

.site-preloader__segment:nth-child(6) {
	animation-delay: 0.4s;
}

@keyframes site-preloader-segment {
	0% {
		opacity: 0;
		transform: scale(0.35);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes site-preloader-breathe {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.07);
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-preloader {
		transition:
			opacity 0.2s ease,
			visibility 0.2s ease;
	}

	.site-preloader__logo {
		animation: none;
	}

	.site-preloader__segment {
		animation: none;
		opacity: 1;
		transform: none;
	}
}
