@font-face {
	font-family: "Libre Franklin";
	src: url("../fonts/libre-franklin.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--c-text); background: var(--c-bg); }
h1, h2, h3 { line-height: 1.15; margin: 0 0 0.5em; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); }
.container { max-width: var(--maxw); margin-inline: auto; padding-inline: 1.5rem; }
.section { padding-block: 3rem; }
.section--flush-bottom { padding-bottom: 0; }
.section--tight-top { padding-top: 1.5rem; }
.section--pt-lg { padding-top: 2rem; }
.btn { display: inline-block; font-weight: 600; padding: 0.7rem 1.4rem; border-radius: 0.25rem; text-decoration: none; cursor: pointer; border: 0.09375rem solid transparent; }
:focus-visible { outline: 0.125rem solid var(--c-primary); outline-offset: 0.125rem; }
.skip-link { position: absolute; left: 0.5rem; top: -3rem; z-index: 1000; background: var(--c-primary); color: var(--c-white); padding: 0.6rem 1rem; border-radius: 0.25rem; font-weight: 600; text-decoration: none; transition: top 0.15s ease; }
.skip-link:focus { top: 0.5rem; }
.btn--primary { background: var(--c-primary); color: var(--c-white); }
.btn--secondary { background: transparent; color: var(--c-primary); border-color: var(--c-primary); }
@media (max-width: 48rem) { .section { padding-block: 2rem; } }
