v2 brand system — Levantine Modernism

The v2 brand system replaces the Olive/Leaf v1 that shipped with the legacy WordPress site. Cedar, sumac, parchment, ink. Fraunces, Inter, JetBrains Mono. Four P0 accessibility fixes cleared against measured contrast ratios. Review score 7.80/10 against v1 at 5.27/10.

Added
  • Cedar primary #1F3B2D, sumac accent #C85A3A, parchment canvas #FAF6EF, warm-black ink #1B1913
  • Saffron reserved as signal colour — focus rings and warning badges only
  • Composite type tokens (type.h1 bundles family, weight, size, line-height, tracking) so templates reference one token per heading level
  • Dual spacing scales: static space.100..900 plus fluid space-fluid.100..800, 1:1 name-aligned
  • Warm-tinted elevation using cedar-900 alpha rather than neutral grey, 5 shadow tiers plus focus ring
  • prefers-reduced-motion collapses every duration token to 0ms at :root
  • VOICE.md covering forbidden vocabulary, three writing tests, tone dial, sample headlines in FR and EN
  • Six-file SVG logo set at assets/logo-v2/ (light, dark, icon, favicon, wordmark-dark, wordmark-light)
  • Two dark-mode variants shipped side by side: cedar-deepening default and warm-charcoal alternate
Changed
  • Primary colour #4b5759#1F3B2D — the old value read as hesitant B2B
  • Accent #a2c32a → #5d9934 gradient removed entirely, replaced by solid sumac for print compatibility
  • Canvas #f7f7f5#FAF6EF — warm parchment harmonises with the food and wine subject
  • Typography Montserrat → Fraunces + Inter + JetBrains Mono — Montserrat is universal, Fraunces has a voice
  • Button radius 999px pill → 8px rectangle, pill reserved for badges and tags only
  • Status colours reuse brand primitives — no foreign traffic-light red or green
  • Focus ring remapped from saffron on parchment (1.95:1, fails WCAG 1.4.11) to a surface-aware pair: sumac-500 on light (5.63:1), saffron-400 on dark (11.3:1)
  • --color-text-subtle remapped from ink-300 (2.79:1, fails AA-Large) to ink-400 (5.13:1 AA)
Fixed
  • Warning badge tokenised as --color-warning-bg: saffron-50 + --color-warning-ink: saffron-700 — the prior ad-hoc pairing was 2.95:1 (AA fail)
  • Contrast claim corrected at index.html:824 — white on sumac-400 is 4.22:1 (AA-Large only), not the self-reported 4.6:1

Search uses Pagefind — available after npm run build.