/* ============================================================
   brands/harperos.css — THE BRAND OVERLAY (harperOS).

   One file = one brand. It defines every token the block sheet reads
   — the typefaces, the ink ramp, the accent, the fields — and the
   @font-face rules that load the brand's own type. It contains ZERO
   structure: what a block IS lives in client-site.css, which reads
   only var() and may not contain a raw color or font literal
   (enforced — check-block-system rule 5).

   A new client brand = a copy of this file with its own values, plus
   `brand: "slug"` in that family's _family.mjs. Nothing else changes.
   Doctrine: KNW_BR_MC_Design-Blocks-Doctrine.md (harperOS repo).
   ============================================================ */

/* Self-hosted latin subsets — same origin, so a click never waits on an
   external DNS + TLS chain before text can paint. Source: Google Fonts. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/shared/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/shared/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/shared/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/shared/fonts/jetbrains-mono-400.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/shared/fonts/jetbrains-mono-500.woff2') format('woff2');}
@font-face{font-family:'Ponomar';font-style:normal;font-weight:400;font-display:swap;src:url('/shared/fonts/ponomar-400.woff2') format('woff2');}

:root {
  --accent: #00AF7B;
  --accent-soft: #E6F7F1;
  --ink: #181428;
  --ink-muted: #434343;
  --ink-subtle: #777270;
  --rule: #E2E1DE;
  --rule-soft: #EFEEEC;
  --field: #F7F7F6;   /* screen field. #FFFFFF is the PAGE (document) field — never the screen section bg. */
  --alt: #FFFFFF;     /* element fill only (cards), per the shipped shell. Never a section background. */
  --footer-line: rgba(247,247,246,.55);   /* footer tagline on the dark footer ground */
  --footer-conf: rgba(247,247,246,.45);  /* footer confidentiality line, quieter */

  --font-display: 'Ponomar', 'Tiempos Headline', Georgia, serif;
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;

  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px;
  --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px; --s10: 128px;

  --maxw: 1180px;
  --gutter: var(--s4); /* mobile base; cascades up at 768 / 1024 */
}
