/* Keep clear of the mobile contact dock. */
.back-to-top {
	position: fixed;
	right: max(22px, env(safe-area-inset-right));
	bottom: max(22px, env(safe-area-inset-bottom));
	z-index: 46;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--lime);
	color: var(--bark);
	box-shadow: var(--shadow, 0 4px 16px rgba(0, 0, 0, .2));
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.back-to-top[hidden], body.lock .back-to-top { display: none; }
.back-to-top svg { width: 22px; height: 22px; }
.back-to-top:hover { transform: translateY(-2px); box-shadow: 0 8px 24px -8px rgba(168,207,82,.7); }
.back-to-top:focus-visible { outline: 3px solid var(--lime, #a8cf52); outline-offset: 3px; }
@media (max-width: 1080px) {
	.back-to-top { right: max(20px, env(safe-area-inset-right)); bottom: calc(94px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.back-to-top { transition: none; }
}
