/**/
/*** TYPOGRAPHY ***/
/**/

@font-face {
	font-family: "Awesome Ways";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/awesome-ways.woff2") format("woff2");
}

:root {
	--type-body: "Manrope", sans-serif;
	--type-mono: "IBM Plex Mono", monospace;
	--type-headline: "trust-3a", serif;
	--type-accent: "Awesome Ways", cursive;
}

body {
	font-family: var(--type-body);
	font-size: var(--text-p);
	font-weight: var(--font-weight-normal);
	font-style: normal;
	font-optical-sizing: auto;
	line-height: var(--leading-normal);
	margin: 0;
	padding: 0;
	color: var(--color-confident-charcoal);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: var(--type-headline);
	font-weight: var(--font-weight-normal);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-tight);
	margin-block: 0.5rem;
	text-wrap: balance;
}

h1,
.h1 {
	font-size: clamp(var(--text-min-h1), 7.5vw, var(--text-max-h1));
}

h2,
.h2 {
	font-size: clamp(var(--text-min-h2), 6vw, var(--text-max-h2));
}

h3,
.h3 {
	font-size: clamp(var(--text-min-h3), 3.75vw, var(--text-max-h3));
}

h4,
.h4 {
	font-size: clamp(var(--text-min-h4), 2.25vw, var(--text-max-h4));
	line-height: var(--leading-snug);
}

h5,
h6,
.h5,
.h6 {
	line-height: var(--leading-base);
}

p {
	font-size: var(--text-p);
	margin-block: 0.35rem;
}

em {
	font-family: var(--type-accent);
	font-style: normal;
	font-weight: var(--font-weight-normal);
}

p.large,
.p-large {
	font-size: var(--text-p-lg);
}

p.small,
.p-small {
	font-size: var(--text-p-sm);
}

p.x-small,
.p-x-small {
	font-size: var(--text-p-xs);
}

.eyebrow {
	font-family: var(--type-mono);
	font-size: var(--text-p-sm);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-widest);
	line-height: var(--leading-base);
	margin: 0;
	text-transform: uppercase;
}

a {
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.2em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 0.125rem solid currentColor;
	outline-offset: 0.25rem;
}

.rich-text > :first-child {
	margin-block-start: 0;
}

.rich-text > :last-child {
	margin-block-end: 0;
}

.rich-text p + p,
.rich-text p + ul,
.rich-text p + ol,
.rich-text ul + p,
.rich-text ol + p {
	margin-block-start: 1rem;
}

.rich-text h3,
.rich-text h4,
.rich-text h5 {
	margin-block-start: 1.5rem;
}

.font-manrope,
.manrope {
	font-family: var(--type-body) !important;
}

.font-ibm-plex-mono,
.ibm-plex-mono {
	font-family: var(--type-mono) !important;
}

.font-trust-3a,
.trust-3a {
	font-family: var(--type-headline) !important;
}

.font-awesome-ways,
.awesome-ways {
	font-family: var(--type-accent) !important;
	font-weight: var(--font-weight-normal) !important;
}

.type-fix {
	overflow-wrap: anywhere;
}
