/* ===========================================
   Typography — the product's ONE font declaration
   ===========================================

   WHY THIS FILE EXISTS, because the obvious home is wrong.

   Five @font-face blocks used to declare one family: two in konversed-base.css, two duplicated
   in app.css, and a fifth inline in admin_auth_forbidden.gohtml. The plan collapsed them into
   konversed-base.css — but measurement says that cannot work:

     kontent/v1/templates/base.gohtml     loads app.css + six kon_*.css, and NOT konversed-base.css
     admin-auth/.../admin_auth_forbidden  loads app.css, and NOT konversed-base.css

   Those two are the entire public reader and the admin denial page. Putting the declaration in
   konversed-base.css would strip the font from both; pointing them AT konversed-base.css would
   drag the admin design system onto the public site — it carries bare `input:focus`, `.btn`,
   `.table th` and a `#cf0015 !important` button override that would repaint kontent.

   So the declaration lives in its own file, loaded by the 13 templates that render text styled
   by a brand stylesheet. One declaration, no duplication, no bleed.

   ⛔ LOAD THIS BEFORE the other brand stylesheets. They read --kon-font-stack; a var() with no
   value falls back to `inherit`, which is a silent, page-wide font failure rather than an error.

   REPLACING THE FACE: drop two files into static/fonts/default/ under the same names. Nothing
   below names a foundry, and nothing outside this file names the face at all. */

/* `DefaultSans` is a ROLE, not a product. The shipped face behind it is an open-licensed family
   recorded in docs/reference/third-party-vendored.md; a site that supplies its own faces
   redefines --kon-font-stack and never touches this block.

   ONE VARIABLE FILE PER AXIS, deliberately. The stylesheets ask for SIX weights — measured:
   600 (33 uses), 500 (24), 200 (22), 700 (15), 400 (6), 300 (2) — and only TWO static faces
   were ever shipped, so 200/300/500/600 were rendered from the 400 face and were never the
   design. `font-weight: 200 900` declares the whole axis, so each of the six resolves to a true
   instance. Two files, 297 KB, versus 1080 KB for the equivalent eight statics. */
@font-face {
  font-family: 'DefaultSans';
  src: url("/static/fonts/default/default-upright.woff2") format('woff2-variations');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DefaultSans';
  src: url("/static/fonts/default/default-italic.woff2") format('woff2-variations');
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}

/* --- The typography seam ---
   ONE token. Every font-family declaration in the product reads it, so a site supplying its own
   faces redefines exactly this and nothing else. The per-site stylesheet is served from the
   media pipeline AFTER this file, which is what lets a later :root win. */
:root {
  --kon-font-stack: 'DefaultSans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
