html {
	scroll-behavior: smooth;
	scroll-padding-top: 6.5rem;
}

.site-loading {
	align-items: center;
	background: #f8e5e8;
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity .55s ease, visibility .55s ease;
	visibility: hidden;
	z-index: 999999;
}

.site-loading img {
	animation: site-loading-pulse 1.4s ease-in-out infinite;
	filter: drop-shadow(0 8px 24px rgba(116, 45, 58, .18));
	height: auto;
	width: min(360px, 70vw);
}

.site-loading.is-visible {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.site-loading.is-visible.is-leaving {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

@keyframes site-loading-pulse {
	0%, 100% { opacity: .72; transform: scale(.98); }
	50% { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.site-loading {
		transition-duration: .01ms;
	}

	.site-loading img {
		animation: none;
	}
}

.site-quick-header {
	box-sizing: border-box;
	max-width: calc(100vw - 2rem);
	position: fixed;
	right: 1rem;
	top: 1rem;
	width: min(980px, calc(100vw - 2rem));
	z-index: 10000;
}

.site-quick-nav {
	background: rgba(255, 249, 250, .97);
	border: 1px solid rgba(223, 142, 155, .28);
	border-radius: 999px;
	box-shadow: 0 8px 30px rgba(184, 95, 112, .16);
	overflow-x: auto;
	overflow-y: hidden;
	padding: .5rem;
	scrollbar-color: rgba(223, 142, 155, .5) transparent;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.site-quick-nav::-webkit-scrollbar {
	height: 4px;
}

.site-quick-nav::-webkit-scrollbar-thumb {
	background: rgba(223, 142, 155, .5);
	border-radius: 999px;
}

.site-quick-nav ul {
	align-items: center;
	display: flex;
	gap: .25rem;
	list-style: none;
	margin: 0;
	min-width: max-content;
	padding: 0;
}

.site-quick-nav a {
	border-radius: 999px;
	color: #8d4f5b;
	display: block;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .02em;
	padding: .65rem .9rem;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
	white-space: nowrap;
}

.site-quick-nav a:hover,
.site-quick-nav a:focus-visible {
	background: #df8e9b;
	color: #fff;
	outline: none;
}

.site-quick-nav .site-quick-nav__logo {
	align-items: center;
	display: flex;
	height: 100%;
	padding: .35rem .9rem;
	position: relative;
}

.site-quick-nav__logo img {
	display: block;
	height: auto;
	transition: opacity .2s ease;
	width: 175px;
}

.site-quick-nav__logo-white {
	left: .9rem;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.site-quick-nav__logo:hover .site-quick-nav__logo-normal,
.site-quick-nav__logo:focus-visible .site-quick-nav__logo-normal {
	opacity: 0;
}

.site-quick-nav__logo:hover .site-quick-nav__logo-white,
.site-quick-nav__logo:focus-visible .site-quick-nav__logo-white {
	opacity: 1;
}

.admin-bar .site-quick-header {
	top: calc(1rem + 32px);
}

@media (max-width: 782px) {
	html {
		scroll-padding-top: 5.5rem;
	}

	.site-quick-header {
		max-width: calc(100vw - 1rem);
		right: .5rem;
		top: .5rem;
		width: calc(100vw - 1rem);
	}

	.site-quick-nav {
		border-radius: 1.4rem;
		padding: .4rem;
	}

	.site-quick-nav a {
		font-size: .75rem;
		padding: .6rem .8rem;
	}

	.site-quick-nav__logo img {
		width: 140px;
	}

	.admin-bar .site-quick-header {
		top: calc(.5rem + 46px);
	}
}
