:root {
	--ink: #23201c;
	--ink-soft: #5c5449;
	--paper: #f4f0e6;
	--paper-deep: #e8e1d1;
	--rule: #cfc5ae;
	--accent: #7a3b1e;
}

* { box-sizing: border-box; }

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

.wrap {
	max-width: 41rem;
	margin: 0 auto;
	padding: 0 1.4rem;
}

header.masthead {
	border-bottom: 2px solid var(--rule);
	padding: 2.2rem 0 1.1rem;
	margin-bottom: 2rem;
}

.markname {
	font-size: 1.55rem;
	letter-spacing: 0.04em;
	margin: 0 0 0.15rem;
	font-weight: normal;
}

.markname a { color: var(--ink); text-decoration: none; }

.tagline {
	margin: 0 0 1.1rem;
	color: var(--ink-soft);
	font-size: 0.94rem;
	font-style: italic;
}

nav a {
	color: var(--ink-soft);
	text-decoration: none;
	margin-right: 1.3rem;
	font-size: 0.9rem;
	letter-spacing: 0.07em;
	text-transform: lowercase;
	border-bottom: 1px solid transparent;
	padding-bottom: 2px;
}

nav a:hover, nav a[aria-current="page"] {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

h1 { font-size: 1.7rem; font-weight: normal; line-height: 1.3; margin: 0 0 0.5rem; }
h2 { font-size: 1.16rem; font-weight: normal; margin: 2.1rem 0 0.5rem; color: var(--accent); }

article.entry {
	border-bottom: 1px solid var(--rule);
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}

article.entry:last-of-type { border-bottom: none; }

.dateline {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-bottom: 0.35rem;
}

.entry h1 { font-size: 1.28rem; }

blockquote {
	margin: 1.4rem 0;
	padding: 0.2rem 0 0.2rem 1.1rem;
	border-left: 3px solid var(--rule);
	color: var(--ink-soft);
	font-style: italic;
}

dl.spec { margin: 1.2rem 0; }
dl.spec dt { font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); margin-top: 0.85rem; }
dl.spec dd { margin: 0.1rem 0 0; }

ul.plain { padding-left: 1.15rem; }
ul.plain li { margin-bottom: 0.4rem; }

.plate {
	background: var(--paper-deep);
	border: 1px solid var(--rule);
	padding: 1rem 1.2rem;
	margin: 1.6rem 0;
	font-size: 0.95rem;
}

footer.colophon {
	border-top: 2px solid var(--rule);
	margin-top: 3rem;
	padding: 1.1rem 0 2.6rem;
	font-size: 0.84rem;
	color: var(--ink-soft);
}

footer.colophon a { color: var(--ink-soft); }

a { color: var(--accent); }

.notfound { text-align: center; padding: 3rem 0; }
.notfound .big { font-size: 3.4rem; color: var(--rule); display: block; line-height: 1; margin-bottom: 0.6rem; }

@media (max-width: 30rem) {
	body { font-size: 16px; }
	nav a { margin-right: 0.9rem; }
}
