/* Self-hosted display fonts — Audiowide (hero), Bebas Neue (headings/OS), DM Mono (OS mono).
   Moved off Google Fonts because LiteSpeed's "Load Google Fonts Asynchronously" (WebFontLoader)
   was dropping Bebas Neue + DM Mono from the served page entirely. Hosting them here guarantees
   they load, removes the fonts.gstatic.com origin, and keeps them under same-origin HTTP/2 + cache.
   Latin subset only — these fonts render English brand/UI text. font-display:swap = no FOIT. */

@font-face {
  font-family: 'Audiowide';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/audiowide-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebasneue-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/dmmono-300-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dmmono-400-latin.woff2') format('woff2');
}

/* Montserrat: the homepage body face since 2026-09-15 (replaces Inter there),
   chosen to sit with the logo's own "Smart | Creative | Systems" line. One
   variable file, weights 300-800, latin subset. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('../fonts/montserrat-var-latin.woff2') format('woff2');
}

/* Site-wide body face. Astra's dynamic CSS sets a system stack on these
   elements; this sheet loads after it, so Montserrat wins everywhere a page
   stylesheet does not say otherwise (owner decision, 2026-09-15). */
body,
button,
input,
select,
textarea {
  font-family: 'Montserrat', 'Inter', sans-serif;
}
