/* ─────────────────────────────────────────────────────────
   CBS — Design Tokens
   The CBS suite (CBSmembers, CBSweb, CBSportal)
   ───────────────────────────────────────────────────────── */

:root {
  /* ── Brand colors ─────────────────────────────── */
  /* Primary — navy. Used for body type, CBSmembers identity */
  --cbs-navy:       #16314f;
  --cbs-navy-deep:  #0f2238;

  /* Secondary — green. Tagline accent, CBSweb identity, success */
  --cbs-green:       #2f5d3a;
  --cbs-green-deep:  #1f4427;
  --cbs-green-warm:  #5b8a3a;
  --cbs-green-soft:  #a8c178;

  /* Tertiary — claret. CBSportal identity, member-facing */
  --cbs-claret:       #9c4040;
  --cbs-claret-deep:  #6e2a2a;
  --cbs-claret-soft:  #c47373;

  /* Neutrals — warm paper tones */
  --cbs-paper:      #fbf9f4;
  --cbs-cream:      #f4eee2;
  --cbs-parchment:  #ece4d2;
  --cbs-ink:        #0e0e0e;
  --cbs-ink-muted:  rgba(14,14,14,0.65);
  --cbs-ink-faint:  rgba(14,14,14,0.45);

  /* Semantic ── per-module accents (use these in app code) */
  --cbs-accent-members: var(--cbs-navy);
  --cbs-accent-web:     var(--cbs-green);
  --cbs-accent-portal:  var(--cbs-claret);

  /* ── Typography ───────────────────────────────── */
  /* Display serif — headings, the wordmark, logo */
  --cbs-font-display: 'Fraunces', 'Source Serif 4', Georgia, 'Times New Roman', serif;
  /* UI sans — body, controls, navigation */
  --cbs-font-ui:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  /* Mono — taglines, tabular data, code */
  --cbs-font-mono:    'DM Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* Type scale (rem-based, 16px root) */
  --cbs-text-xs:   0.6875rem;  /* 11px — mono taglines */
  --cbs-text-sm:   0.8125rem;  /* 13px — meta, captions */
  --cbs-text-base: 1rem;       /* 16px — body */
  --cbs-text-md:   1.125rem;   /* 18px */
  --cbs-text-lg:   1.375rem;   /* 22px */
  --cbs-text-xl:   1.75rem;    /* 28px */
  --cbs-text-2xl:  2.25rem;    /* 36px */
  --cbs-text-3xl:  3rem;       /* 48px */
  --cbs-text-4xl:  4.5rem;     /* 72px */

  /* Tracking */
  --cbs-track-mono:   0.32em;  /* mono tag style */
  --cbs-track-tight:  -0.02em; /* display serif */

  /* ── Radii / spacing / motion ─────────────────── */
  --cbs-radius-sm:  4px;
  --cbs-radius-md:  6px;
  --cbs-radius-lg:  10px;
  --cbs-radius-pill: 999px;

  --cbs-shadow-1: 0 1px 2px rgba(0,0,0,.05), 0 1px 1px rgba(0,0,0,.03);
  --cbs-shadow-2: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);
  --cbs-shadow-3: 0 12px 36px rgba(0,0,0,.16), 0 4px 8px rgba(0,0,0,.06);

  --cbs-ease: cubic-bezier(.2,.7,.3,1);
}

/* ── Per-module surface helpers ────────────────── */
.cbs-app-members { --cbs-accent: var(--cbs-accent-members); }
.cbs-app-web     { --cbs-accent: var(--cbs-accent-web); }
.cbs-app-portal  { --cbs-accent: var(--cbs-accent-portal); }
