/* ==========================================================================
   SoCal Dust Busters — self-hosted webfonts
   --------------------------------------------------------------------------
   Everything here is served from our own origin. There is deliberately NO
   link to fonts.googleapis.com, fonts.gstatic.com, or any other CDN: no
   third-party connection, no render-blocking stylesheet, no tracking.

   Files were pulled once from the Google Fonts CSS2 API and committed to the
   repo. Both families are SIL Open Font License 1.1 — see OFL-*.txt in this
   directory. Latin subset only.

     barlow-condensed-600-latin.woff2   22,308 bytes   static, usWeightClass 600
     barlow-condensed-700-latin.woff2   22,444 bytes   static, usWeightClass 700
     public-sans-var-latin.woff2        26,832 bytes   variable, wght axis 100-900
     -------------------------------------------------------------------------
     total                              71,584 bytes

   Recommended <head> wiring (the two files needed for first paint):

     <link rel="preload" as="font" type="font/woff2" crossorigin
           href="/assets/fonts/barlow-condensed-700-latin.woff2">
     <link rel="preload" as="font" type="font/woff2" crossorigin
           href="/assets/fonts/public-sans-var-latin.woff2">
     <link rel="stylesheet" href="/assets/fonts/fonts.css">

   `crossorigin` is required on font preloads even for same-origin requests —
   without it the browser fetches the file twice.
   ========================================================================== */

/* --------------------------------------------------------------- display
   Barlow Condensed — headings, the wordmark, numerals in price tables.
   Two static instances rather than a variable font: Barlow Condensed does
   not ship a wght axis, so 600 and 700 are separate files. Never rely on
   synthetic bold; only these two weights exist.
   ----------------------------------------------------------------------- */

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./barlow-condensed-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./barlow-condensed-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ body
   Public Sans — body copy, UI, forms, tables.
   This is a genuine variable font (verified: fvar present, wght axis
   100-900), so one file covers every weight we use. Declaring the real axis
   range means the browser interpolates instead of faking bold.
   ----------------------------------------------------------------------- */

@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('./public-sans-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ stacks
   Use the custom properties, not the family names directly. The fallbacks
   are chosen for width, not looks: Arial Narrow keeps a condensed headline
   from reflowing into two lines during the swap.
   ----------------------------------------------------------------------- */

:root {
  --font-display: 'Barlow Condensed', 'Arial Narrow', 'Helvetica Neue Condensed',
    system-ui, sans-serif;
  --font-body: 'Public Sans', system-ui, -apple-system, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;

  /* Tabular figures for prices, square footage, invoice totals and phone
     numbers — anything that sits in a column must not jitter. */
  --font-numeric: 'tnum' 1, 'lnum' 1;
}
