/* ==========================================================================
   Brockmann — self-hosted @font-face
   2026-09-09 / Mesh

   Replaces Divi's font uploader for Brockmann. One family, four real weights,
   instead of five separate families with one usable weight between them.

   Source files: SHARED/ASSETS/fonts/ (all 8 present)
   Weight metadata verified against each file's OS/2 table, not assumed:

     brockmann-regular-webfont.woff          400  upright   24.5 KB
     brockmann-regularitalic-webfont.woff    400  italic    22.7 KB
     brockmann-medium-webfont.woff           500  upright   25.1 KB
     brockmann-mediumitalic-webfont.woff     500  italic    23.1 KB
     brockmann-semibold-webfont.woff         600  upright   25.1 KB
     brockmann-semibolditalic-webfont.woff   600  italic    22.9 KB
     brockmann-bold-webfont.woff             700  upright   24.6 KB
     brockmann-bolditalic-webfont.woff       700  italic    22.7 KB

   ---------------------------------------------------------------------------
   DEPLOY
   ---------------------------------------------------------------------------
   1. Fonts are already in place:
        /wp-content/themes/keyshot-unified/fonts/       (confirmed 2026-09-09)

   2. Upload THIS FILE to that same folder:
        /wp-content/themes/keyshot-unified/fonts/brockmann-fontface.css

      The src paths below are bare filenames, so this file must sit in the
      same directory as the .woff files. Moving it to the theme root without
      re-prefixing every url() to fonts/ will break all eight faces.

   3. Upload brockmann-fonts.php to:
        /wp-content/themes/keyshot-unified/inc/brockmann-fonts.php

      then add one line to the theme's functions.php:

        require_once get_stylesheet_directory() . '/inc/brockmann-fonts.php';

   4. Remove the five uploaded entries in Divi (Brockman, Brockman bold,
      Brockman semibold, Brockman medium, Brockman regular) ONLY after
      confirming nothing still references them. See the audit doc.

   ---------------------------------------------------------------------------
   NOTES
   ---------------------------------------------------------------------------
   WOFF only, no WOFF2 src. Don't add a woff2 line until those files actually
   exist — a src pointing at a missing file costs a 404 round trip per face
   before the fallback is tried. NitroPack's Font compression converts these
   to WOFF2 at serve time, which gets the same result without generating or
   storing a second set of files.

   font-display: swap is correct for a text face (render immediately in the
   fallback, swap when ready). It's the opposite of what the ETmodules icon
   font needs. NitroPack's global font-display override forces swap anyway,
   so this matches rather than fights it.

   Italics are declared because the files exist. If nothing on the site uses
   italic Brockmann, delete those four blocks — a face nobody references is
   never fetched, but the declarations are still dead code to read past.
   ========================================================================== */


/* --- 400 regular ---------------------------------------------------------- */

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-regular-webfont.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-regularitalic-webfont.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}


/* --- 500 medium ----------------------------------------------------------- */

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-medium-webfont.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-mediumitalic-webfont.woff') format('woff');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}


/* --- 600 semibold --------------------------------------------------------- */

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-semibold-webfont.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-semibolditalic-webfont.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}


/* --- 700 bold ------------------------------------------------------------- */

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-bold-webfont.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Brockmann';
  src: url('brockmann-bolditalic-webfont.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}


/* --------------------------------------------------------------------------
   Fallback stack, per SHARED/START/keyshot-brand.md

   Brockmann is a geometric sans. The stack below degrades to the nearest
   available geometric sans rather than to Arial, so a failed load shifts
   proportions less.

   Use this custom property wherever Brockmann is set in hand-written CSS.
   Divi modules will emit their own font-family once the family is registered
   via the et_websafe_fonts filter.
   -------------------------------------------------------------------------- */

:root {
  --ks-font-display: 'Brockmann', 'DM Sans', 'Outfit', 'Nunito Sans',
                     'Trebuchet MS', Arial, sans-serif;
  --ks-font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}
