/* =====================================================================
   Global Medical Affairs Summit — Design System · Tokens
   "Clinical precision, editorial calm."
   Single source of truth for colour, type, spacing, motion.
   ===================================================================== */

:root {
  /* ---- Colour ---- */
  --ink:        #0E2A47;   /* primary navy — headlines, dark sections, primary buttons */
  --ink-deep:   #0A1E33;   /* footer, hero overlays */
  --ink-70:     rgba(14,42,71,.70);
  --ink-25:     rgba(14,42,71,.25);

  --brass:      #B4924C;   /* metallic accent — eyebrows, rules, hover */
  --brass-soft: #C9AC6E;   /* accent on dark backgrounds */
  --brass-08:   rgba(180,146,76,.08);

  --teal:       #2E6E6A;   /* single functional accent (AI / innovation) — minimal */

  --paper:      #FBFAF7;   /* warm off-white page background */
  --white:      #FFFFFF;

  /* Neutral ramp */
  --slate-900:  #0B1A2B;
  --slate-700:  #33465C;
  --slate-500:  #6B7A8D;
  --slate-300:  #C7CFD8;
  --slate-100:  #EEF1F4;
  --slate-050:  #F5F7F9;

  /* Surfaces on dark */
  --on-dark-90: rgba(255,255,255,.90);
  --on-dark-72: rgba(255,255,255,.72);
  --on-dark-60: rgba(255,255,255,.60);
  --on-dark-50: rgba(255,255,255,.50);
  --hairline-d: rgba(255,255,255,.12);
  --hairline-l: var(--slate-100);

  /* ---- Typography ---- */
  --font-display: 'Inter Tight', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-serif:   'Newsreader', Georgia, 'Times New Roman', serif;

  /* Fluid type scale — 1.25 major third, clamp() responsive */
  --fs-display: clamp(2.6rem, 1.6rem + 4.4vw, 4.6rem);   /* hero H1 */
  --fs-h2:      clamp(2rem,  1.5rem + 2.1vw, 2.9rem);
  --fs-h3:      clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-h4:      clamp(1.02rem, 0.98rem + 0.2vw, 1.12rem);
  --fs-lead:    clamp(1.08rem, 1.02rem + 0.3vw, 1.2rem);
  --fs-body:    1rem;      /* 16px */
  --fs-sm:      0.9rem;
  --fs-xs:      0.8rem;
  --fs-eyebrow: 0.72rem;

  --lh-tight:   1.08;
  --lh-snug:    1.25;
  --lh-body:    1.65;
  --tracking-tight: -0.02em;
  --tracking-wide:  0.16em;

  /* ---- Spacing — 8pt base ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --space-9: 128px;

  --section-y:      clamp(72px, 6vw + 40px, 150px);  /* vertical section padding */
  --gutter:         clamp(20px, 4vw, 32px);

  /* ---- Layout ---- */
  --maxw:      1240px;
  --maxw-text: 70ch;

  /* ---- Radii ---- */
  --r-sm: 8px;
  --r:    12px;
  --r-lg: 16px;
  --r-pill: 999px;

  /* ---- Shadows ---- */
  --shadow-sm:  0 1px 2px rgba(14,42,71,.06);
  --shadow-md:  0 12px 30px -14px rgba(14,42,71,.22);
  --shadow-lg:  0 24px 50px -20px rgba(14,42,71,.30);

  /* ---- Motion ---- */
  --ease:     cubic-bezier(.22,.61,.36,1);
  --dur-fast: .2s;
  --dur:      .3s;
  --dur-slow: .45s;

  --header-h: 78px;
}

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