/* Document defaults, typography and keyboard accessibility. */
* {
	box-sizing: border-box;
}

html {
	scroll-behavior: auto;
}

body {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: Inter, Arial, sans-serif;
	font-size: var(--type-body);
	line-height: 1.6;
}

a {
	color: inherit;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible {
	outline: 3px solid #ffcc46;
	outline-offset: 4px;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1,
h2,
h3 {
	line-height: 1.03;
	letter-spacing: -0.045em;
}

h1 {
	font-size: var(--type-display);
}

h2 {
	font-size: var(--type-h2);
}

h3 {
	font-size: 1.5rem;
}

.skip-link {
	position: absolute;
	top: -100px;
	z-index: 99;
	background: #fff;
	color: #000;
	padding: 1rem;
}

.skip-link:focus {
	top: 0;
}

.screen-reader-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* Local typefaces and reduced-motion defaults. */
body {
	font-family: var(--font-body);
}

h1,
h2,
h3 {
	font-family: var(--font-display);
}

h3 {
	font-size: var(--type-h3);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
