# Brand Decisions v1 — Follow-up #1: Display Font Cyrillic Gap

Date: 2026-05-17
Open against: **D-05** (Type pairing)
Owner: **Design team** (per D-05 OWNER row)
Blocker for: Plan 01-12 (Design Integration) planner spawn; Plan 01-10 welcome
hero text rendering

---

## What was picked (D-05)

A · Newsreader + IBM Plex Sans + IBM Plex Mono

## What engineering research found

Engineering research (`.planning/phases/01-stabilize-video-pipeline/01-12-RESEARCH.md`,
commit `3df2750`, §1) verified Newsreader's glyph coverage via two independent
sources:

1. **The Decision Brief's own embedded `@font-face` declarations** — subsets shipped: `latin` / `latin-ext` / `vietnamese`
2. **Production Type's `productiontype/Newsreader` repo README** — quote: "Google Fonts Latin Plus glyph set"

**Newsreader ships NO Cyrillic glyphs.** Under the current D-05 pick, Russian
display text (welcome hero, tagline, any future display-register H1/H2) would
silently fall through `--mks-font-display` to `Iowan Old Style → Times New
Roman → serif`.

Mokosh's audience is Russian operators primary; display text in Russian is the
default case, not the exception. This is therefore not a corner case — it
affects the default rendering path.

## Options for designer to pick

| Option | Approach | Trade-off |
|---|---|---|
| **R1** | Keep Newsreader for Latin; add Cyrillic-capable OFL serif as fallback in `--mks-font-display` chain (e.g. `'Newsreader', 'PT Serif', serif`) | Preserves Newsreader aesthetic for Latin/English. Mixed-glyph paragraphs (Latin tagline + RU phrase together, or English wordmark + Russian subtitle) render in two different serifs — visually disharmonious |
| **R2** | Substitute Newsreader entirely with a Cyrillic-native OFL serif | Unified rendering across all locales. Departs from designer's Newsreader pick — the aesthetic match for the Loom palette + 2×2 weave mark may or may not transfer |
| **R3** | Other — designer proposes alternative (different display family / drop display register in favor of unified Plex Sans / use unicode-range `@font-face` to scope Newsreader to Latin-only and load second face for Cyrillic without disharmony / etc.) | Designer's call |
| **R4** | Keep Newsreader as-is, accept Cyrillic fallback to `Iowan Old Style → Times New Roman` | If the operator-facing aesthetic for RU is intentional or acceptable |

## Candidate Cyrillic-capable OFL serifs (research §1 R1)

| Family | Provenance | Aesthetic notes |
|---|---|---|
| **PT Serif** | ParaType (Russian foundry) | Designed specifically for Russian government use; excellent Cyrillic coverage; visually pairs well with IBM Plex Sans |
| **EB Garamond** | OFL recreation of classic Garamond | Classical, formal feel; full Cyrillic |
| **Lora** | OFL contemporary serif | Modern, slightly humanist; Cyrillic native |
| **Source Serif** | Adobe OFL | Clean, neutral; Cyrillic via subset |

## What we need back from designer

A one-line reply is enough:

- `"R1, fallback chain Newsreader → PT Serif"` (or another fallback)
- `"R2, substitute with PT Serif"` (or another family)
- `"R3: <your proposal>"`
- `"R4, accept the Iowan/Times fallback for Cyrillic"`

You can also reply on the Decision Brief HTML, send updated `tokens.css`, a
Figma link, or just a Slack/Russian-voice-memo — anything readable.

## What's paused until designer responds

- Plan 01-12 (Design Integration) planner spawn — needs final `--mks-font-display` token value to write the WOFF2 bundling task spec
- Plan 01-10 (welcome tab) execution — welcome hero uses display register, needs the resolved font
- The 8 i18n copy strings work (Brief §02) — depends on whether display-register copy lands in the welcome hero (most candidates do)

Plan 01-11 (Puppeteer UAT harness) runs in parallel — non-overlapping surface; not affected.

---

## Related

- `.planning/intel/brand-decisions-v1.md` — original 9 decisions
- `.planning/intel/design-incoming/system/bundle/mokosh-handoff/tokens.css` — current tokens.css (with Newsreader pick at line 76)
- `.planning/phases/01-stabilize-video-pipeline/01-12-RESEARCH.md` §1 — full engineering research
- Open against D-05 in `.planning/intel/design-incoming/mokosh/dist/Decision Brief (standalone).html`
