body {
	color: var(--bp-color-text);
	font-family: var(--bp-font-family-sans);
	font-size: var(--bp-font-size-body);
	font-weight: var(--bp-font-weight-regular);
	line-height: var(--bp-line-height-body);
	text-rendering: optimizeLegibility;
}

:is(h1, h2, h3, h4, .bp-heading) {
	margin-block: 0;
	color: var(--bp-color-primary);
	font-family: var(--bp-font-family-heading);
	font-weight: var(--bp-font-weight-bold);
	line-height: var(--bp-line-height-heading);
	text-wrap: balance;
}

h1,
.bp-heading--h1 {
	font-size: var(--bp-font-size-h1);
	line-height: var(--bp-line-height-tight);
	letter-spacing: -0.035em;
}

h2,
.bp-heading--h2 {
	font-size: var(--bp-font-size-h2);
	letter-spacing: -0.025em;
}

h3,
.bp-heading--h3 {
	font-size: var(--bp-font-size-h3);
	letter-spacing: -0.015em;
}

h4,
.bp-heading--h4 {
	font-size: var(--bp-font-size-h4);
}

p {
	margin-block: 0;
}

a {
	color: var(--bp-color-link);
	text-underline-offset: 0.16em;
}

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

.bp-body-large {
	font-size: var(--bp-font-size-body-large);
}

.bp-small {
	font-size: var(--bp-font-size-small);
	line-height: var(--bp-line-height-small);
}

.bp-caption {
	font-size: var(--bp-font-size-caption);
	line-height: var(--bp-line-height-small);
}

.bp-eyebrow {
	color: var(--bp-color-accent-hover);
	font-size: var(--bp-font-size-caption);
	font-weight: var(--bp-font-weight-bold);
	letter-spacing: var(--bp-letter-spacing-eyebrow);
	text-transform: uppercase;
}

.bp-prose {
	max-width: 68ch;
}
