/* =========================================================
   GOVERNANCE ADVISORS · v3 · Design Tokens
   Boutique consulting · institutional
   References: McKinsey · BCG · Bain · Spencer Stuart · Egon Zehnder
   ========================================================= */

:root {
  /* ─── COLORS ─────────────────────────────────────────── */
  --navy:        #00264d;
  --navy-deep:   #001a36;
  --navy-soft:   #1a3a63;
  --navy-tint:   #e8eef5;

  --ink:         #0d1b2a;
  --ink-muted:   #4a5568;
  --ink-soft:    #6b7889;
  --ink-faint:   #94a0b1;

  --paper:       #ffffff;
  --paper-soft:  #f5f7fa;
  --paper-warm:  #faf8f5;

  --rule:        #e2e6ec;
  --rule-strong: #c8cfd8;

  --accent:      #a91d22;   /* their corporate red, slightly deepened */
  --accent-deep: #7d1318;
  --accent-soft: #f6e7e8;

  /* Semantic */
  --bg:        var(--paper);
  --bg-soft:   var(--paper-soft);
  --fg:        var(--ink);
  --fg-muted:  var(--ink-muted);

  /* ─── TYPOGRAPHY ─────────────────────────────────────── */
  --font-serif: "Source Serif 4", "Source Serif Pro", "Times New Roman", Georgia, serif;
  --font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono:  "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Type scale — institutional, readable */
  --fs-h1:  clamp(2.2rem, 4.5vw, 4rem);    /* 64px max */
  --fs-h2:  clamp(1.8rem, 3vw, 2.6rem);    /* 42px */
  --fs-h3:  clamp(1.35rem, 1.8vw, 1.6rem); /* 26px */
  --fs-h4:  clamp(1.15rem, 1.4vw, 1.25rem);/* 20px */
  --fs-lead: clamp(1.1rem, 1.4vw, 1.2rem); /* 19px */
  --fs-body: 1.0625rem;                     /* 17px */
  --fs-sm:   0.9375rem;                     /* 15px */
  --fs-xs:   0.8125rem;                     /* 13px */
  --fs-eyebrow: 0.75rem;                    /* 12px */

  --lh-tight:  1.15;
  --lh-snug:   1.25;
  --lh-body:   1.6;
  --lh-loose:  1.75;

  --tr-tight: -0.02em;
  --tr-h1:    -0.015em;
  --tr-eyebrow: 0.12em;

  /* ─── SPACING ────────────────────────────────────────── */
  --pad-x:     clamp(1.25rem, 5vw, 5rem);
  --pad-y:     clamp(4rem, 8vw, 7rem);
  --pad-y-sm:  clamp(2.5rem, 5vw, 4rem);
  --pad-y-lg:  clamp(5rem, 10vw, 9rem);

  --container: 1280px;
  --container-narrow: 960px;

  --gap:       clamp(1rem, 2vw, 2rem);
  --gap-sm:    clamp(0.5rem, 1vw, 1rem);

  /* ─── ELEVATION / RADIUS ─────────────────────────────── */
  --radius-sm: 2px;
  --radius:    4px;
  --radius-lg: 8px;

  --shadow-sm:  0 1px 2px rgba(13, 27, 42, 0.06);
  --shadow:     0 4px 16px rgba(13, 27, 42, 0.08);
  --shadow-lg:  0 12px 32px rgba(13, 27, 42, 0.12);

  /* ─── EASE ───────────────────────────────────────────── */
  --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --d-fast:  180ms;
  --d-base:  320ms;
  --d-slow:  600ms;

  /* ─── NAV ───────────────────────────────────────────── */
  --nav-h: 76px;
}

/* Selection */
::selection { background: var(--navy); color: var(--paper); }
::-moz-selection { background: var(--navy); color: var(--paper); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
