/* Inter, self-hosted (Task 043).

   Source of record, pinned exactly and never fetched at runtime:

     upstream   https://github.com/rsms/inter  (official project, rsms)
     release    v4.1, published 2024-11-16
     archive    Inter-4.1.zip
                sha256 9883fdd4a49d4fb66bd8177ba6625ef9a64aa45899767dde3d36aa425756b11e
     file       web/InterVariable.woff2
                sha256 693b77d4f32ee9b8bfc995589b5fad5e99adf2832738661f5402f9978429a8e3
     licence    LICENSE.txt beside this file, copied unmodified from the same
                archive (SIL Open Font License 1.1)

   `README.md` beside this file records the same provenance in prose. There is
   no CDN, no third-party mirror and no build step: the `.woff2` is served from
   this repository's own static storage like every other approved asset.

   One face, not four. The task allows either 400/500/600/700 or a suitable
   official variable WOFF2, and the variable file is the better fit here for a
   reason that is already in the shared stylesheet: `accounts/css/base.css`
   sets `font-weight: 650` on labels, captions and inline errors. The shell
   also declares `font-synthesis: none`, so with four static faces a 650 would
   silently resolve to the nearest shipped weight instead of being drawn. The
   variable font draws every weight in the 100-900 range, so the existing
   typographic intent survives the integration unchanged, in one request
   instead of four.

   The family is declared as `Inter` so the frozen primitive `--bhc-font-ui`
   ("Inter", system-ui, sans-serif) resolves to it without editing the frozen
   `core/css/tokens.css`. Upstream's own `web/inter.css` calls the variable
   family `InterVariable` only so it can be installed next to the static faces;
   that co-installation problem does not exist here, and the name is not part
   of the font's identity.

   Italic is deliberately absent: no template or stylesheet in this repository
   sets `font-style: italic` or uses `<em>`, `<i>`, `<cite>` or `<address>`, so
   shipping the 388 KB italic file would be an unused download. `font-synthesis`
   stays as the shell declared it, so nothing fakes an oblique either.

   `font-display: swap` keeps text readable while the face loads: the fallback
   in `--bhc-font-ui` is `system-ui`, whose metrics are close enough to Inter
   that the swap does not reflow the canonical geometry. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("InterVariable.woff2") format("woff2");
}

/* The family is assigned here rather than in `accounts/css/base.css`, and that
   placement is the point. The Reception Display is a second document that
   loads the shared stylesheet but not this file, and it has to stay visually
   identical; assigning the family in the shared layer would have handed it
   `"Inter"` while leaving it without the face, so its typeface would have
   depended on whether the display machine happened to have Inter installed.
   Linking this file is therefore an opt-in: only documents that ship the face
   ask for it, and `--bhc-font-ui` stays the single place the family is named.
   `font-synthesis: none` from the shared stylesheet is untouched. */
:root {
  font-family: var(--bhc-font-ui);
}
