themes-corporate-modernist/RECOMMENDED_FONTS.md
Alex Dunmow 99c1c4f652 feat(theme): Wave A corporate-modernist — 49 overrides, 7 templates, seed (WO-TF-014)
Full Wave A OVERRIDE-CONTRACT delivery for the B2B-consultancy theme
(Swiss grid, Bauhaus geometric marks, oversized tabular numerals, hairlines).

- 49/49 mandatory builtin overrides + manifest template_overrides entries,
  authored against the frozen builtin schemas. Fixed legacy button (variant/
  href/text -> style/link/label) and card (body/image -> text/media) reads.
- 7 page templates: default, full-width, landing, article, blog-index,
  contact, auth.
- Blocks rework: deleted 7 duplicate theme blocks (now builtin overrides);
  kept case_study_card; added capability_matrix, engagement_process,
  credential_bar. master_pages.json rewired to builtins.
- 5 dual-mode presets (all 19 tokens, tuned dark): navy-classic, forest-quiet,
  burgundy-tradition, graphite-mono, signal-red.
- Bundled fonts (OFL-1.1 latin subsets): Inter + JetBrains Mono, licenses
  recorded; all font-family via var(--font-*). RECOMMENDED_FONTS/ICONS updated;
  required_icon_packs = [lucide, simple-icons].
- Complete .cm-* CSS component vocabulary in manifest css.input_css_append;
  CSS-first motion with prefers-reduced-motion honored.
- Themed email-safe wrapper (tables + inline styles).
- Demo seed (demo:true): Meridian Advisory home/about/blog+3 posts/contact/
  login; contact-form -> contact_submissions data table -> row_inserted
  email-admins workflow.
- Functional auth-form / password-reset-form overrides (real hx-post endpoints).

Verified: `make` exit 0 (codeless .bnp packs), check-safety 32 checks OK exit 0.
Visual identity UNVERIFIED until Wave B. Known limitation: data providers do not
reach declarative overrides in frozen cms (a0f07e2ae) render path — provider-
backed overrides authored faithfully, populate once the host wires providers.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 11:05:55 +08:00

37 lines
1.7 KiB
Markdown

# Corporate Modernist — recommended fonts
This theme **bundles** two libre families (OFL-1.1) so it renders on-brand with
no admin setup:
| Slot | Bundled family | Role |
|------|----------------|------|
| Heading | **Inter** | Grotesque display and UI. Tight tracking, 600 weight for headlines. |
| Body | **Inter** | 17px/28px body with tabular figures. |
| Mono | **JetBrains Mono** | Oversized numerals, stats, prices, metadata. Tabular by design. |
Bundled files live in `assets/fonts/` (latin subsets); licenses in
`assets/fonts/LICENSES.md`. The theme CSS resolves every family through
`var(--font-heading | --font-body | --font-mono, <fallback>)`, and the fallback
stacks name the bundled families, so the identity holds even before an admin
touches the typography panel.
## Optional upgrades (Google Fonts tab)
The locked direction also allows two display alternatives. Both are OFL and in
the curated Google Fonts picker. Assign them from **Admin → Theme → Typography
→ Google Fonts** if you want more geometric character:
| Slot | Source | Family | Why |
|------|--------|--------|-----|
| Heading | `google:Archivo` | Archivo | Grotesque with a wider, more architectural feel than Inter. A drop-in for the Heading slot. |
| Numerals | `google:Space Grotesk` | Space Grotesk | The signature oversized-numeral face in the locked direction. Assign to Mono for stat figures and metrics. |
## How to apply an override
1. Open **Admin → Theme → Typography**.
2. Switch to the **Google Fonts** tab.
3. Search and pick the family.
4. Assign it to the matching slot (Heading / Body / Mono).
5. Save. The pick is stored as `google:<Family>` and binds the `--font-*`
variable, overriding the bundled fallback.