/* ============================================================
   EIFFEL AUTHORITY — Design tokens
   Source: DESIGN.md (Eiffel Authority) + PRD v3 ch.3
   Rule: --accent is a CONVERSION SIGNAL. CTA buttons and key
   numbers only. Never headings, icons, or decoration.
   ============================================================ */
:root {
  /* Brand */
  --navy-900: #263F5E;         /* was #1A2D45 (lightened one more step) */
  --navy-800: #2E4B6E;         /* was #243A57 (lightened one more step) */
  --navy-700: #3D5A7D;         /* was #314866 (lightened one more step) */
  --ink-950: #1E344C;          /* service-page dark sections + footer — was #14202E (lightened one more step) */
  --accent: #9D4300;           /* was #FF6B1A */
  --accent-hover: #833800;     /* was #E55A0F */
  --accent-soft: #F7EFEA;      /* subtle tint behind key-number chips — was #FFF1E8 */
  /* On-dark form of the same conversion signal. --accent is tuned for white and
     measures 1.96:1 on ink-950, so a key number set in it on a dark ground is
     unreadable. This is not a new brand colour: it is the rust already used for
     the accent atoms in the approved hero constellation (site.js rgb(233,150,96)).
     Measures 5.5:1 on ink-950 and 4.6:1 on navy-900 — AA on both. */
  --accent-on-dark: #E99660;

  /* Neutrals */
  --bg: #FFFFFF;
  --bg-soft: #F7F8FA;
  --bg-mist: #EFF2F5;
  --text: #263F5E;             /* was #1A2D45 (tracks navy-900, lightened one more step) */
  --text-muted: #5A6675;
  --text-faint: #8A93A0;
  --border: #E4E7EB;
  --border-strong: #C9CFD6;

  /* On-dark */
  --on-dark: #F4F6F9;
  --on-dark-muted: rgba(244, 246, 249, 0.66);
  --on-dark-faint: rgba(244, 246, 249, 0.38);
  --dark-line: rgba(244, 246, 249, 0.14);

  /* Type */
  --font: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --h1: clamp(2.5rem, 1.2rem + 3.6vw, 3.75rem);     /* 40 → 60 */
  --h2: clamp(2rem, 1.3rem + 2vw, 3rem);            /* 32 → 48 */
  --h3: clamp(1.5rem, 1.25rem + 0.8vw, 2rem);       /* 24 → 32 */
  --h4: 1.5rem;
  --h5: 1.25rem;
  --body-lg: 1.125rem;
  --body: 1.0625rem;  /* 17px per PRD */
  --body-sm: 0.9375rem;
  --label: 0.8125rem;
  --track-tight: -0.04em;
  --track-snug: -0.02em;
  --track-label: 0.08em;

  /* Spacing (8px rhythm) */
  --s1: 0.5rem;
  --s2: 1rem;
  --s3: 1.5rem;
  --s4: 2rem;
  --s5: 3rem;
  --s6: 4rem;
  --s7: 5rem;
  --s8: 7.5rem;
  --container: 1280px;
  --gutter: 24px;

  /* Radii */
  --r-sm: 0.25rem;
  --r: 0.5rem;
  --r-md: 0.75rem;
  --r-lg: 1rem;
  --r-xl: 1.5rem;
  --r-full: 9999px;

  /* Elevation — blue-tinted, diffused */
  --shadow-1: 0 1px 2px rgba(14, 27, 44, 0.05), 0 4px 16px rgba(14, 27, 44, 0.05);
  --shadow-2: 0 2px 4px rgba(14, 27, 44, 0.06), 0 12px 28px rgba(14, 27, 44, 0.09);
  --shadow-3: 0 6px 12px rgba(14, 27, 44, 0.08), 0 24px 48px rgba(14, 27, 44, 0.12);
  --shadow-cta: 0 4px 14px rgba(157, 67, 0, 0.32);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.45, 0.64, 1);
  --dur-fast: 160ms;
  --dur: 280ms;
  --dur-slow: 600ms;
  --dur-entrance: 800ms;
}
