/******/
/*** 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);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: var(--type-headline);
	font-weight: var(--font-weight-light);
	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), 5.4vw, var(--text-max-h1)); }
h2,
.h2 { font-size: clamp(var(--text-min-h2), 5vw, var(--text-max-h2)); }
h3,
.h3 { font-size: clamp(var(--text-min-h3), 3.5vw, var(--text-max-h3)); }
h4,
.h4 { font-size: clamp(var(--text-min-h4), 2.2vw, var(--text-max-h4)); line-height: var(--leading-snug); }

p { margin-block: 0.4rem; }
p.large,
.p-large { font-size: var(--text-p-lg); line-height: var(--leading-base); }
p.small,
.p-small { font-size: var(--text-p-sm); }
p.x-small,
.p-x-small { font-size: var(--text-p-xs); }

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

.eyebrow {
	font-family: var(--type-mono);
	font-size: var(--text-p-xs);
	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,
[tabindex]: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 { font-family: var(--type-body) !important; }
.font-ibm-plex-mono { font-family: var(--type-mono) !important; }
.font-trust-3a { font-family: var(--type-headline) !important; }
.font-awesome-ways { font-family: var(--type-accent) !important; }
