/* FFWM client portal — self-hosted web fonts.

   2026-08-12 — Montserrat + Inter RETIRED for this portal, replaced by
   Newsreader (display/prose) + Schibsted Grotesk (UI/data). Joshua's
   decision, verbatim: "I like number 1: Newsreader" — chosen after seeing
   it applied to real Hall persona data in a document-architecture layout,
   not a specimen page. Research: `ffwm-docs/PORTAL_VISUAL_DESIGN_RESEARCH_
   2026-08-12.docx`, Part II. Full rationale + the numeral-coverage caveat
   below live in memory `ffwm_portal_visual_design_research`.

   ⛔ Self-hosted from the google/fonts REPO binaries, never Google's own
   served CDN files — the research's own implementation notes measured
   that Google's CDN strips lnum/onum/zero/stylistic-set features from the
   woff2 it serves (tnum survives). Verified with fontTools against these
   exact files before use:
     Newsreader        — pnum, tnum   (no oldstyle figures in this build)
     Schibsted Grotesk  — pnum, tnum, zero
   Both are variable fonts (single file covers the whole weight range) —
   SIL Open Font License 1.1, Newsreader by Production Type, Schibsted
   Grotesk commissioned by Schibsted (Scandinavia's largest news group).

   Why self-hosted at all (unchanged from the Montserrat/Inter era):
   - No client/advisor IP or User-Agent leaked to a third party on every
     portal page load — this app is public on the internet, unlike the
     Tailscale-only workspace.
   - SRI doesn't work against a live Google-served CSS endpoint (content
     varies by UA, so no single hash covers it).
   - Portal keeps rendering correctly through a Google/Cloudflare outage.

   Coverage: no unicode-range split (Newsreader/Schibsted Grotesk aren't
   split into latin/latin-ext subsets the way the old Google-generated
   Inter/Montserrat CSS was) — one @font-face per family/style covers the
   full glyph set these variable fonts ship.

   To refresh: pull the updated TTF from https://github.com/google/fonts
   (ofl/newsreader/, ofl/schibstedgrotesk/), convert with
   `python3 -m fontTools.ttLib.woff2 compress`, replace the files below. */

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(./newsreader-variable.woff2) format('woff2-variations'),
       url(./newsreader-variable.woff2) format('woff2');
}

@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(./newsreader-italic-variable.woff2) format('woff2-variations'),
       url(./newsreader-italic-variable.woff2) format('woff2');
}

@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(./schibsted-grotesk-variable.woff2) format('woff2-variations'),
       url(./schibsted-grotesk-variable.woff2) format('woff2');
}
