:root {
	--bg: #fbfaf8;
	--fg: #1d1c1a;
	--muted: #6b6862;
	--rule: #e2ded7;
	--accent: #9a5b2e;
	--card: #ffffff;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #16151a;
		--fg: #ece9e4;
		--muted: #9a958d;
		--rule: #2e2c33;
		--accent: #e0a06a;
		--card: #1e1d23;
	}
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--fg);
	font: 17px/1.65 "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	-webkit-text-size-adjust: 100%;
}

.wrap { width: min(46rem, calc(100% - 3rem)); margin: 0 auto; }

header { border-bottom: 1px solid var(--rule); }

header .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	align-items: baseline;
	padding: 1.6rem 0;
}

.brand {
	font-weight: 700;
	font-size: 1.15rem;
	letter-spacing: .01em;
	text-decoration: none;
	color: var(--fg);
}

.brand span { color: var(--accent); }

nav { margin-left: auto; display: flex; gap: 1.25rem; }

nav a, footer a {
	color: var(--muted);
	text-decoration: none;
	font-size: .93rem;
	font-family: system-ui, sans-serif;
}

nav a:hover, footer a:hover { color: var(--accent); }

main { padding: 3rem 0 4rem; }

h1 {
	font-size: 2.1rem;
	line-height: 1.2;
	margin: 0 0 1rem;
	letter-spacing: -.015em;
}

h2 {
	font-size: 1.2rem;
	margin: 2.6rem 0 .7rem;
	font-family: system-ui, sans-serif;
	letter-spacing: .005em;
}

p { margin: 0 0 1.1rem; }

.lede { font-size: 1.2rem; color: var(--muted); margin-bottom: 2rem; }

.items { display: grid; gap: 1rem; padding: 0; margin: 1.5rem 0 0; list-style: none; }

.items li {
	background: var(--card);
	border: 1px solid var(--rule);
	border-radius: .7rem;
	padding: 1.1rem 1.25rem;
}

.items h3 {
	margin: 0 0 .3rem;
	font-size: 1.02rem;
	font-family: system-ui, sans-serif;
}

.items p { margin: 0; color: var(--muted); font-size: .97rem; }

.tag {
	display: inline-block;
	margin-left: .5rem;
	padding: .1rem .45rem;
	border: 1px solid var(--rule);
	border-radius: .35rem;
	font: 400 .72rem/1.5 system-ui, sans-serif;
	color: var(--muted);
	vertical-align: .12em;
}

footer { border-top: 1px solid var(--rule); padding: 1.7rem 0 2.6rem; }

footer .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: .9rem 1.4rem;
	color: var(--muted);
	font: .88rem/1.6 system-ui, sans-serif;
}

footer .spacer { margin-left: auto; }

.big { font-size: 4rem; margin: 0 0 .4rem; letter-spacing: -.03em; }
