/* Site typography guard.
   Keep text consistent while preserving icon fonts. */

:root {
  --font-body: "Segoe UI", Arial, "Helvetica Neue", sans-serif;
  --font-heading: "Segoe UI", Arial, "Helvetica Neue", sans-serif;
  --font-mono: Consolas, "Courier New", monospace;
}

body,
main,
header,
footer,
nav,
section,
article,
aside,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]),
label,
li,
dt,
dd,
th,
td,
button,
input,
select,
textarea,
option,
small,
strong,
b,
em,
blockquote,
figcaption,
cite {
  font-family: var(--font-body) !important;
  font-style: normal !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.sec-title,
.hero-slide-title,
.page-title,
.lp-service-copy h1,
.lp-landing-page .lp-hero h1,
.nav-logo,
.footer-brand .logo {
  font-family: var(--font-heading) !important;
  font-style: normal !important;
}

pre,
code,
kbd,
samp,
.font-monospace {
  font-family: var(--font-mono) !important;
}

/* Font Awesome must keep its own font-family or icons render as missing boxes. */
.fa,
.fas,
.fa-solid,
[class^="fa-solid"],
[class*=" fa-solid"],
[class^="fa-"]:not(.fa-regular):not(.fa-brands),
[class*=" fa-"]:not(.fa-regular):not(.fa-brands) {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
  font-weight: 900 !important;
}

.far,
.fa-regular {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.fab,
.fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.fa::before,
.fas::before,
.far::before,
.fab::before,
.fa-solid::before,
.fa-regular::before,
.fa-brands::before {
  font-family: inherit !important;
}

body i {
  font-style: normal !important;
}
