/* 1838 — base. Element defaults only; anything visual beyond this is a component. */

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

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--c-paper);
	color: var(--c-ink);
	font-family: var(--f-serif);
	font-size: var(--t-body);
	line-height: var(--t-body-lh);
}

h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }
h1, h2, h3, h4 { font-weight: 400; }

a { color: var(--c-ink); text-decoration: none; }
a:hover { color: var(--c-ink-quiet); }

img, svg { display: block; max-width: 100%; height: auto; }

button, input, select, textarea { font: inherit; color: inherit; }

main:focus { outline: none; }

/* Utilities */
.u-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.u-flow > * + * { margin-top: 1em; }

/* Skip link (every template; the preview only had one on Membership) */
.c-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 200;
	padding: 14px 20px;
	background: var(--c-ink);
	color: var(--c-plate);
	font-family: var(--f-mono);
	font-size: var(--t-mono);
	letter-spacing: var(--ls-mono);
	text-transform: uppercase;
}
.c-skip:focus { left: 0; color: var(--c-plate); }
