@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

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

body {
	margin: 0;
	font-family: var(--font-ui);
	font-size: var(--fs-base);
	line-height: var(--lh-base);
	color: var(--c-text);
	background: var(--c-surface);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	margin: 0;
	font-family: var(--font-ui);
	line-height: 1;
	color: var(--c-heading);
	font-weight: 500;
}

h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-xl); }
h3 { font-size: var(--fs-lg); }
h4 { font-size: var(--fs-base); }

p {
	margin: 0 0 0.9em;
	line-height: 1.5;
}

:is(h1, h2, h3, h4) + :is(h2, h3, h4) {
	margin-top: var(--sp-4);
}

ul, ol { line-height: 1.5; }

a { color: var(--c-accent); }
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--c-ink);
	outline-offset: 2px;
}

img { max-width: 100%; height: auto; }

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

.entry:not(.entry--wide) .entry__content,
.entry:not(.entry--wide) .entry__content :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, td, th, dt, dd) {
	font-family: var(--font-body);
}

.page-hero--home .page-hero__intro p {
	font-family: var(--font-body);
}
