/* ============================================================
   PATHWISE LAW — COLOR TOKENS
   Palette lifted directly from the brand identity board.
   ============================================================ */
:root {
  /* --- Brand core (the 5 board swatches) --- */
  --navy-900: #08233D;   /* primary — deep navy, the anchor color */
  --blue-700: #456578;   /* secondary — medium blue */
  --slate-500: #67778A;  /* tertiary — muted slate */
  --mist-200: #DCE7E6;   /* light blue-gray */
  --paper-50: #fffefd;   /* warm off-white — brand paper */

  /* --- Extended navy/blue ramp (derived via oklch from the core) --- */
  --navy-950: oklch(0.18 0.045 245);
  --navy-800: oklch(0.31 0.05 245);
  --blue-600: oklch(0.40 0.032 235);   /* darker hover step of the new steel-blue */
  --steel-600: #456578;  /* wing secondary tone from the logo mark (== --blue-700) */
  --slate-400: oklch(0.66 0.022 240);
  --slate-300: oklch(0.78 0.016 235);
  --mist-300: oklch(0.88 0.018 220);
  --mist-100: oklch(0.945 0.010 218);
  --paper-100: oklch(0.985 0.004 85);  /* faint warm tint of the new paper */
  --white: #FFFFFF;

  /* --- Neutrals (warm-cool blended, for text & rules) --- */
  --ink-900: #08233D;
  --ink-700: #2b3b4c;
  --ink-500: #5a6b7c;
  --ink-400: #8896a4;
  --ink-300: #b4bfc9;
  --line-200: #d7dee4;
  --line-100: #e7ecef;

  /* --- Semantic status (kept sober, in-family where possible) --- */
  --success-600: #2f6b52;
  --success-100: #e2efe9;
  --warning-600: #9a6b1e;
  --warning-100: #f6ecd8;
  --danger-600:  #a23a34;
  --danger-100:  #f4e2e0;
  --info-600:    var(--blue-700);
  --info-100:    var(--mist-200);

  /* ============================================================
     SEMANTIC ALIASES — reference these in components, not the raw ramp
     ============================================================ */
  /* Text */
  --text-strong: var(--navy-900);
  --text-body:   var(--ink-700);
  --text-muted:  var(--ink-500);
  --text-subtle: var(--ink-400);
  --text-inverse: var(--paper-50);
  --text-accent: var(--blue-700);
  --text-link:   var(--blue-700);
  --text-link-hover: var(--navy-900);

  /* Surfaces */
  --surface-page:    var(--paper-50);
  --surface-card:    var(--white);
  --surface-sunken:  var(--mist-100);
  --surface-inverse: var(--navy-900);
  --surface-inverse-2: var(--navy-800);
  --surface-accent-soft: var(--mist-200);

  /* Lines & borders */
  --border-default: var(--line-200);
  --border-strong:  var(--slate-400);
  --border-subtle:  var(--line-100);
  --border-inverse: color-mix(in srgb, var(--paper-50) 22%, transparent);

  /* Interactive (primary = navy) */
  --action-primary:        var(--navy-900);
  --action-primary-hover:  var(--navy-800);
  --action-primary-active: var(--navy-950);
  --action-primary-text:   var(--paper-50);

  /* Interactive (secondary = blue) */
  --action-secondary:       var(--blue-700);
  --action-secondary-hover: var(--blue-600);

  /* Focus ring */
  --focus-ring: color-mix(in srgb, var(--blue-700) 55%, transparent);
}
