/**
 * Mockup Theme — design tokens (:root)
 *
 * Authoritative source: ex-WPCode snippet 352 (editorial `.brs-wrap` scope).
 * Promoted from that component scope to :root so every template and ported
 * snippet shares one source of truth.
 *
 * Colour note: the editorial snippets use --yellow:#F2EC1A. The mockup-core
 * plugin CSS uses #F2EC19 (one byte off). We standardise on the snippet value
 * #F2EC1A here; override locally only if a pixel-exact match to a plugin
 * surface is ever required.
 */
:root {
    /* ── Palette ────────────────────────────────────────────── */
    --cream:  #EDECEA;
    --black:  #0e0e0c;
    --yellow: #F2EC1A;

    /* ── Type families (design layer) ───────────────────────── */
    --serif: "LGV Anastasia 2025 Geo", serif;
    --sans:  "FiraGo", sans-serif;

    /* ── Layout ─────────────────────────────────────────────── */
    /* Phase 4 reconciliation: the desktop header is in normal flow (top bar
     * ~28px + sticky 70px bar ≈ 98px), NOT fixed — so content clears it
     * without a body offset and this token is NOT a global offset. Its sole
     * consumer is the brand hero's `calc(100vh - --header-h)`; 107px is kept
     * as a safe full-height approximation (±10px is imperceptible on a hero).
     * The mobile fixed-header offset is applied to <body> by header.js
     * (padding-top = mkmHeader.offsetHeight), matching the plugin's behaviour. */
    --header-h: 107px;
}
