# Noir — Recommended Fonts Noir ships with `fonts.json = []` per the wave-1 fonts policy (`themes/docs/FONTS.md`). No woff2s are bundled in this implementation pass. The site admin assigns fonts via the typography settings panel. The fallback stacks in `assets/style.css` already approximate the intended Noir aesthetic (Tenor Sans display, Inter body, JetBrains Mono captions) using widely available system faces. The picks below match the spec exactly and are recommended once an admin opens the font picker. ## Heading - **Source**: `google:Tenor Sans` - **Family**: `Tenor Sans` - **Why**: high-contrast modern serif with the silver-print monograph feel called for in spec §3. - **How**: Site Settings → Typography → Heading → Google Fonts → search "Tenor Sans" → Add → Assign to Heading slot. ## Body - **Source**: `google:Inter` - **Family**: `Inter` - **Why**: humanist sans, large x-height, reads cleanly at the generous leading the override uses. - **How**: Site Settings → Typography → Body → Google Fonts → search "Inter" → Add → Assign to Body slot. ## Mono - **Source**: `google:JetBrains Mono` - **Family**: `JetBrains Mono` - **Why**: tight mono with strong forms at 10–11px, the spec's caption-strip and frame-number face. - **How**: Site Settings → Typography → Mono → Google Fonts → search "JetBrains Mono" → Add → Assign to Mono slot. ## Notes for wave-2 Once licensed woff2s are commissioned (e.g. a darkroom-grade display face), drop them into `assets/fonts/web/` and declare them in `fonts.json`. The CMS will emit `@font-face` blocks automatically; no `CSSManifest.InputCSSAppend` changes required. Add the licence to a new `LICENSES.md` at the theme root and remove this `RECOMMENDED_FONTS.md`.