:where(body) {
	font-family: var(--font-body);
	font-size: var(--body-size);
	line-height: var(--line-height-normal);
	color: var(--text-body);
	background-color: var(--bg-body);
}

:where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-heading);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-snug);
	color: var(--text-heading);
}

:where(h1) {
	font-size: var(--h1-size);
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

:where(h2) {
	font-size: var(--h2-size);
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

:where(h3) { font-size: var(--h3-size); }
:where(h4) { font-size: var(--h4-size); }
:where(h5) { font-size: var(--h5-size); }
:where(h6) { font-size: var(--h6-size); }

:where(small) {
	font-size: var(--small-size);
}

:where(a) {
	color: var(--link-color);
	transition: color var(--transition-base);
}

:where(a:hover) {
	color: var(--link-color-hover);
}

:where(:focus-visible) {
	outline: var(--focus-ring);
	outline-offset: var(--focus-ring-offset);
}

::selection {
	background-color: var(--selection-bg);
}

:where(code, kbd, samp, pre) {
	font-family: var(--font-mono);
}

:where(hr) {
	border: 0;
	border-block-start: var(--border-default);
}

:where(.u-flow) > * + * {
	margin-block-start: var(--flow-space);
}
