*,
*::before,
*::after {
	box-sizing: border-box;
}

html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100;
	padding: 0.75rem 1rem;
	background: #fff;
	color: #232522;
	transform: translateY(-180%);
}

.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
