WO-TF-012. Neo-brutalist creative-studio theme brought up to the Wave A OVERRIDE-CONTRACT (frozen against cms a0f07e2ae). - Override all 49 mandatory builtin keys in templates/overrides/brutalist/ (chrome, marketing, primitives, commerce, blog family, auth surface, 404), each carrying the brutalist chrome (chunky borders, hard offset shadows, hover snap, mono uppercase meta, candy accents) via a raw-CSS "bru-*" kit shipped in manifest.yaml. Load-bearing wiring (HTMX auth endpoints, signup form, contact-form submit + honeypot, facade scripts, lightbox) preserved verbatim. - 7 page templates: default, full-width, landing, article, blog-index, contact, auth (fixed a bug where templates omitted the `dark` class so dark presets never activated). - Blocks rework: removed 6 blocks that duplicated builtins (masthead, concrete_hero, meta_strip, caption_image, pull_quote, colophon) — now overrides; kept project_ledger; added persona blocks sticker_wall, changelog, spec_sheet (4 total). - 4 dual-mode presets (all mode "both", 19 tokens light + dark): Concrete & Cadmium, Hazard, Riso, Acid. - Bundled 8 latin-subset OFL woff2 (Space Grotesk, Archivo Black, Inter, IBM Plex Mono) in assets/fonts/ + LICENSES.md; fonts.json populated; all font-family via var(--font-*). RECOMMENDED_FONTS/ICONS updated; required_icon_packs declared. - Email-safe themed wrapper (tables, inline styles) cleaned up. - master_pages.json reworked to builtin navbar/hero/cta/footer. - Demo seed (seed/seed.json + workflows.json, demo:true): home, about, blog (3 posts), contact (form + contact_submissions data table + row_inserted → email-admins workflow), login — studio voice. Known codeless limitation: page-suggestions renders themed 404 chrome but the similar-pages list (server-side DB query, no template provider) can't be reproduced; auth-form captcha widget is server-generated and can't be emitted (seed leaves captchaEnabled=false). Verified: make exit 0; check-safety exit 0. Visual quality UNVERIFIED until Wave B. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
# Recommended fonts — Brutalist
|
|
|
|
Fonts are admin-controlled. Assign them in Admin → Appearance → Typography; the
|
|
theme consumes them only via `var(--font-heading|body|mono, <fallback>)`, never a
|
|
hardcoded family.
|
|
|
|
## Bundled (ship with this theme, SIL OFL 1.1)
|
|
|
|
These latin-subset woff2 files are bundled in `assets/fonts/` and appear in the
|
|
picker as `source=template` rows (see `assets/fonts/LICENSES.md`):
|
|
|
|
| Role | Family | Weights | Notes |
|
|
|------|--------|---------|-------|
|
|
| Heading | **Space Grotesk** | 500, 700 | The signature display face — oversized, uppercase. |
|
|
| Display (alt) | **Archivo Black** | 400 | Heavier alternative for masthead-scale headlines. |
|
|
| Body | **Inter** | 400, 500, 700 | Neutral, high-legibility body copy. |
|
|
| Mono | **IBM Plex Mono** | 400, 500 | Meta labels, captions, buttons, tags. |
|
|
|
|
## Suggested assignment
|
|
|
|
- **Heading:** Space Grotesk (700). Alternative: Archivo Black for maximum weight.
|
|
- **Body:** Inter (400).
|
|
- **Mono:** IBM Plex Mono (400). Alternative from the Google tab: JetBrains Mono.
|
|
|
|
## Fallback stacks (used when no admin font is set)
|
|
|
|
- Heading: `"Space Grotesk", "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif`
|
|
- Body: `"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif`
|
|
- Mono: `"JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace`
|
|
|
|
All four bundled families are SIL Open Font License 1.1. Swap freely from the
|
|
Google Fonts tab; the theme only references the CSS variables.
|