/* ══════════════════════════════════════════════════════════════════════════════════════════════════
   TYPOGRAPHY — the only file that names a typeface.

   TO CHANGE THE SITE'S FONTS, CHANGE THIS FILE AND NOTHING ELSE:
     1. drop the new .woff2 files into /assets/fonts/
     2. edit the @font-face rules below to point at them
     3. edit --font / --mono below to name them

   Every page loads this, and every rule anywhere on the site reaches type through var(--font) or
   var(--mono) — never by naming a family. So those three steps are the whole job, and a font swap
   cannot half-land on some pages and not others.

   Two things deliberately live outside this file, both for reasons that are not laziness:
     · The email templates inline their own font stacks. Mail clients strip <link> and external CSS,
       so an email that trusted this file would render in Times New Roman. They also cannot use
       Satoshi at all — a webfont does not load in most mail clients — hence the system stacks there.
     · The OG-image card and the standalone demo pages link this file, but are rendered by headless
       Chrome against the local server, so they need the absolute /assets/ path they already use.
   ══════════════════════════════════════════════════════════════════════════════════════════════════ */

/* Self-hosted brand type: Satoshi (display/text) + Chivo Mono (labels). No external font CDNs —
   a font CDN is a third party watching every page load, which is the thing we do not do. */
@font-face{font-family:'Satoshi';src:url('/assets/fonts/Satoshi-Variable.woff2') format('woff2-variations');font-weight:300 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Chivo Mono';src:url('/assets/fonts/ChivoMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Chivo Mono';src:url('/assets/fonts/ChivoMono-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}

:root{
  --font:'Satoshi',-apple-system,'Segoe UI',sans-serif;
  --mono:'Chivo Mono',monospace;
}

/* The inline SVG wordmarks carry font-family as a PRESENTATION ATTRIBUTE, which cannot take var().
   CSS overrides presentation attributes, so this rule is what actually decides their face — the
   attribute is gone from the markup entirely, so this is the ONLY thing naming their face — otherwise
   a font swap would change every page except the logo on it, which is the one place it would show.

   Deliberately every `svg text`, not a list of logo classes. A list is a thing to remember, and the
   first SVG somebody adds without reading this file would silently render in the browser's default
   serif. Mono labels inside an SVG opt back out with class="mono". */
svg text,svg tspan{font-family:var(--font)}
svg text.mono,svg tspan.mono{font-family:var(--mono)}
