:where(html) {
	font-size: var(--bb-root-font-size, 100%);
}

:where(body) {
	color: var(--bb-body, var(--bb-text));
	font-family: var(--bb-font-body, system-ui, sans-serif);
	font-size: var(--bb-text-body, 1rem);
	font-style: var(--bb-font-style-body, normal);
	font-weight: var(--bb-font-weight-body, 400);
	letter-spacing: var(--bb-letter-spacing-body, 0);
	line-height: var(--bb-line-height-body, 1.6);
	text-transform: var(--bb-text-transform-body, none);
	text-wrap: var(--bb-text-wrap-body, pretty);
}

:where(h1, h2, h3, h4, h5, h6) {
	color: var(--bb-heading, var(--bb-text));
	font-family: var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif));
	font-style: var(--bb-font-style-heading, normal);
	font-weight: var(--bb-font-weight-heading, 700);
	letter-spacing: var(--bb-letter-spacing-heading, 0);
	line-height: var(--bb-line-height-heading, 1.2);
	text-transform: var(--bb-text-transform-heading, none);
	text-wrap: var(--bb-text-wrap-heading, balance);
}

:where(h1) {
	font-size: var(--bb-text-h1);
	color: var(--bb-heading-h1-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h1-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h1-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h1-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h1-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h1-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h1-max-width, none);
	text-transform: var(--bb-heading-h1-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h1-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(h2) {
	font-size: var(--bb-text-h2);
	color: var(--bb-heading-h2-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h2-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h2-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h2-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h2-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h2-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h2-max-width, none);
	text-transform: var(--bb-heading-h2-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h2-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(h3) {
	font-size: var(--bb-text-h3);
	color: var(--bb-heading-h3-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h3-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h3-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h3-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h3-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h3-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h3-max-width, none);
	text-transform: var(--bb-heading-h3-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h3-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(h4) {
	font-size: var(--bb-text-h4);
	color: var(--bb-heading-h4-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h4-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h4-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h4-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h4-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h4-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h4-max-width, none);
	text-transform: var(--bb-heading-h4-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h4-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(h5) {
	font-size: var(--bb-text-h5);
	color: var(--bb-heading-h5-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h5-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h5-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h5-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h5-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h5-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h5-max-width, none);
	text-transform: var(--bb-heading-h5-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h5-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(h6) {
	font-size: var(--bb-text-h6);
	color: var(--bb-heading-h6-color, var(--bb-heading, var(--bb-text)));
	font-family: var(--bb-heading-h6-font-family, var(--bb-font-heading, var(--bb-font-body, system-ui, sans-serif)));
	font-style: var(--bb-heading-h6-font-style, var(--bb-font-style-heading, normal));
	font-weight: var(--bb-heading-h6-font-weight, var(--bb-font-weight-heading, 700));
	letter-spacing: var(--bb-heading-h6-letter-spacing, var(--bb-letter-spacing-heading, 0));
	line-height: var(--bb-heading-h6-line-height, var(--bb-line-height-heading, 1.2));
	max-width: var(--bb-heading-h6-max-width, none);
	text-transform: var(--bb-heading-h6-text-transform, var(--bb-text-transform-heading, none));
	text-wrap: var(--bb-heading-h6-text-wrap, var(--bb-text-wrap-heading, balance));
}

:where(.bb-text-xxl, .bb-text-xl, .bb-text-l, .bb-text-m, .bb-text-s, .bb-text-xs) {
	color: var(--bb-text-size-color, var(--bb-body, var(--bb-text)));
	font-family: var(--bb-text-size-font-family, var(--bb-font-body, system-ui, sans-serif));
	font-size: var(--bb-text-size);
	font-style: var(--bb-text-size-font-style, var(--bb-font-style-body, normal));
	font-weight: var(--bb-text-size-font-weight, var(--bb-font-weight-body, 400));
	letter-spacing: var(--bb-text-size-letter-spacing, var(--bb-letter-spacing-body, 0));
	line-height: var(--bb-text-size-line-height, var(--bb-line-height-body, 1.6));
	max-width: var(--bb-text-size-max-width, var(--bb-text-max-width-body, none));
	text-transform: var(--bb-text-size-text-transform, var(--bb-text-transform-body, none));
	text-wrap: var(--bb-text-size-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-xxl {
	--bb-text-size: var(--bb-text-xxl);
	--bb-text-size-color: var(--bb-text-xxl-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-xxl-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-xxl-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-xxl-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-xxl-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-xxl-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-xxl-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-xxl-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-xxl-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-xl {
	--bb-text-size: var(--bb-text-xl);
	--bb-text-size-color: var(--bb-text-xl-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-xl-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-xl-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-xl-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-xl-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-xl-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-xl-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-xl-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-xl-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-l {
	--bb-text-size: var(--bb-text-l);
	--bb-text-size-color: var(--bb-text-l-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-l-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-l-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-l-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-l-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-l-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-l-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-l-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-l-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-m {
	--bb-text-size: var(--bb-text-m);
	--bb-text-size-color: var(--bb-text-m-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-m-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-m-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-m-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-m-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-m-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-m-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-m-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-m-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-s {
	--bb-text-size: var(--bb-text-s);
	--bb-text-size-color: var(--bb-text-s-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-s-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-s-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-s-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-s-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-s-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-s-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-s-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-s-text-wrap, var(--bb-text-wrap-body, pretty));
}

.bb-text-xs {
	--bb-text-size: var(--bb-text-xs);
	--bb-text-size-color: var(--bb-text-xs-color, var(--bb-body, var(--bb-text)));
	--bb-text-size-font-family: var(--bb-text-xs-font-family, var(--bb-font-body, system-ui, sans-serif));
	--bb-text-size-font-style: var(--bb-text-xs-font-style, var(--bb-font-style-body, normal));
	--bb-text-size-font-weight: var(--bb-text-xs-font-weight, var(--bb-font-weight-body, 400));
	--bb-text-size-letter-spacing: var(--bb-text-xs-letter-spacing, var(--bb-letter-spacing-body, 0));
	--bb-text-size-line-height: var(--bb-text-xs-line-height, var(--bb-line-height-body, 1.6));
	--bb-text-size-max-width: var(--bb-text-xs-max-width, var(--bb-text-max-width-body, none));
	--bb-text-size-text-transform: var(--bb-text-xs-text-transform, var(--bb-text-transform-body, none));
	--bb-text-size-text-wrap: var(--bb-text-xs-text-wrap, var(--bb-text-wrap-body, pretty));
}

:where(section:not(section section)) {
	gap: var(--bb-container-gap);
}

:where(section:not(section section)) > :where(div, ul, ol),
:where(.brxe-block),
:where(.brxe-div) {
	gap: var(--bb-content-gap);
}

:where(section > div[class*="grid--"]),
:where([class*="grid--"]) {
	gap: var(--bb-grid-gap);
}
