* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 16px/1.5 var(--font-sans);
}

a {
	color: inherit;
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

h1,
h2 {
	line-height: 1.2;
}

.page-title {
	margin: var(--space-4) 0 var(--space-2);
	font-size: 1.6rem;
}

.intro {
	margin: 0 0 var(--space-4);
	color: var(--muted);
}

.meta {
	margin: var(--space-2) 0;
	color: var(--muted);
	font-size: 0.9rem;
}

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

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
	}
}
