/* ==========================================================================
   Brake Spoon — Design tokens
   Palette derived from the Virginia inspection sticker system:
   pass green, the 2026 blue pass sticker, the legacy pink rejection sticker.
   ========================================================================== */

:root {
  /* --- Core palette ----------------------------------------------------- */
  --ink:          #07281A;   /* garage green-black — all primary type       */
  --ink-2:        #2E5243;   /* secondary type, muted labels                */
  --ink-3:        #6C8C7E;   /* tertiary type, captions                     */

  --pass:         #0BD05F;   /* PASS green — the primary brand accent       */
  --pass-deep:    #05A247;   /* pass green, darkened for text on light      */
  --pass-soft:    #D8F8E4;   /* pass green tint — fills, chips              */

  --sticker:      #1B54D6;   /* VA 2026 pass-sticker blue — registration    */
  --sticker-soft: #E0E8FD;

  --reject:       #FF4F87;   /* legacy pink rejection sticker — advocacy    */
  --reject-soft:  #FFE3EC;

  --paper:        #F4F7F2;   /* faintly green-cast off-white — page ground  */
  --card:         #FFFFFF;
  --line:         #DCE6DD;   /* hairlines                                   */
  --line-strong:  #B9CCBD;

  /* --- Typography ------------------------------------------------------- */
  --display: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --body:    'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --data:    'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Fluid type scale — clamp(min, preferred, max) */
  --t-mega:  clamp(2.2rem, 1rem + 3.5vw, 3.85rem);
  --t-h1:    clamp(2.25rem, 1.3rem + 4.2vw, 4.75rem);
  --t-h2:    clamp(1.85rem, 1.2rem + 2.6vw, 3.25rem);
  --t-h3:    clamp(1.3rem, 1.05rem + 1.1vw, 1.85rem);
  --t-lead:  clamp(1.05rem, 0.98rem + 0.5vw, 1.3rem);
  --t-body:  1rem;
  --t-small: 0.875rem;
  --t-micro: 0.75rem;

  /* --- Space ------------------------------------------------------------ */
  --s-1: 0.25rem;  --s-2: 0.5rem;   --s-3: 0.75rem;  --s-4: 1rem;
  --s-5: 1.5rem;   --s-6: 2rem;     --s-7: 3rem;     --s-8: 4rem;
  --s-9: 6rem;     --s-10: 8rem;

  --section-y: clamp(4rem, 9vw, 8rem);
  --gutter:    clamp(1.25rem, 4vw, 3rem);
  --maxw:      1200px;
  --maxw-text: 62ch;

  /* --- Form ------------------------------------------------------------- */
  --r-sm: 8px;  --r-md: 14px;  --r-lg: 22px;  --r-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(7,40,26,.06), 0 2px 8px rgba(7,40,26,.05);
  --shadow-md: 0 4px 12px rgba(7,40,26,.07), 0 12px 32px rgba(7,40,26,.08);
  --shadow-lg: 0 8px 24px rgba(7,40,26,.09), 0 28px 64px rgba(7,40,26,.12);
  --shadow-pop: 0 10px 0 var(--ink);   /* hard offset — sticker/button pop  */

  /* --- Motion ----------------------------------------------------------- */
  --ease-out:  cubic-bezier(.22,.61,.36,1);
  --ease-pop:  cubic-bezier(.34,1.56,.64,1);   /* overshoot for the punch   */
  --dur-fast:  160ms;
  --dur-mid:   340ms;
  --dur-slow:  480ms;
}

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