/* ============================================================
   COBALT WINE AGENCY - DESIGN SYSTEM TOKENS
   Tradition: the Zurich school poster.
   Cameron's direction, 2026-07-31.

   Cobalt argues in public, so its surface is a poster: a flat
   saturated field, type at billboard scale, one hard diagonal,
   and a single signal colour used sparingly. Flush left, no
   cards, no rounding, no shadow, no decoration that is not
   structural.

   >> THIS SUPERSEDES COBALT v2.0 (approved 2026-07-09). <<
   v2.0's chalk ground, lowercase Fraunces, 999px pills, 14px
   cards and 38s ticker are all retired here. That was a formal
   approval, so this needs Cameron's explicit sign-off before it
   reaches anything public, and the v2.0 record should not simply
   be overwritten as though it never held.

   DISTINCTNESS CONTRACT (Automations/design-system-distinct.py):
   no hex, typeface, easing curve or duration here may appear in
   another house's tokens. Radius 0 is exempt and shared,
   because an engraved instrument and a Zurich poster are both
   legitimately hard edged.
   ============================================================ */

@import url("./fonts.css");

:root {
  /* --- The field. Cobalt is the only house whose ground is a
         saturated colour rather than a paper, which is the
         single loudest separation of the three. -------------- */
  --cob-field:   #1B45C4;  /* page ground                        */
  --cob-deep:    #0B2270;  /* pressed, second block              */
  --cob-night:   #06102F;  /* the data strip                     */

  /* --- Paper and ink ---------------------------------------- */
  --cob-paper:   #FBFAF5;  /* type on field, and reversed blocks */
  --cob-grey:    #7F86A6;  /* de-emphasis on field               */
  --cob-ink:     #0A0A0A;  /* type on paper and on signal        */

  /* --- Signal: one warm colour, used sparingly and never
         decoratively. It marks the diagonal and the close. ---- */
  --cob-signal:  #FF4B1F;

  /* --- Typography. Clash Display carries the poster at sizes
         where a normal display face falls apart; Switzer is the
         neo-grotesque underneath it. Fragment Mono is a
         Helvetica-derived mono, so the meta line stays Swiss
         rather than turning into a code editor. -------------- */
  --cob-display: "Clash Display", Impact, sans-serif;
  --cob-sans:    "Switzer", Helvetica, sans-serif;
  --cob-mono:    "Fragment Mono", ui-monospace, monospace;

  --cob-display-weight: 700;
  --cob-tracking-display: -0.035em;  /* tight, poster-set        */
  --cob-tracking-meta: 0.14em;
  --cob-measure: 52ch;               /* short, poster copy       */
  --cob-leading-display: 0.86;       /* type stacks and touches  */
  --cob-leading-body: 1.44;

  /* --- Geometry. Hard edges only. The signature is the
         diagonal, not a corner treatment. -------------------- */
  --cob-radius: 0px;
  --cob-diagonal: -8deg;
  --cob-hairline: 2px;

  /* --- Spacing: a poster grid, coarse and few ---------------- */
  --cob-s1: 8px;
  --cob-s2: 18px;
  --cob-s3: 30px;
  --cob-s4: 46px;
  --cob-s5: 72px;
  --cob-s6: 116px;
  --cob-gutter: clamp(18px, 6vw, 96px);

  /* --- Motion: snap. A poster does not ease. ---------------- */
  --cob-ease: cubic-bezier(0.9, 0, 0.1, 1);
  --cob-dur-fast: 90ms;
  --cob-dur: 240ms;
  --cob-dur-slow: 420ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --cob-dur-fast: 0ms; --cob-dur: 0ms; --cob-dur-slow: 0ms; }
}
