:root {
  /* Brand colour */
  --c-primary: #0188cc;
  --c-primary-dark: #016fa8;
  --c-primary-darker: #015684;
  --c-primary-light: #29b6f6;
  --c-accent: #f6bf3b;
  --c-accent-dark: #e0a920;

  /* Neutrals */
  --c-ink: #1d1d20;
  --c-dark: #101012;
  --c-body: #5e5e5e;
  --c-muted: #8b8b90;
  --c-border: #e3e3e3;
  --c-surface: #ffffff;
  --c-surface-alt: #f4f6f9;
  --c-surface-blue: #eef7fc;

  /* Typography */
  --font-heading: 'Raleway', 'Segoe UI', Arial, sans-serif;
  --font-body: 'Open Sans', 'Segoe UI', Arial, sans-serif;

  --fs-h1: clamp(2rem, 1.4rem + 2.4vw, 3.4rem);
  --fs-h2: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem);
  --fs-h3: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);
  --fs-base: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;

  /* Spacing scale */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 2rem;
  --sp-6: 3rem;
  --sp-7: 4.5rem;
  --sp-8: 6rem;

  /* Layout */
  --container-w: 1180px;
  --radius: 6px;
  --radius-lg: 10px;
  --shadow-sm: 0 2px 10px rgba(16, 16, 18, 0.06);
  --shadow-md: 0 10px 30px rgba(16, 16, 18, 0.1);
  --header-h: 90px;
  --header-h-scrolled: 68px;
  --ticker-h: 38px;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 0.25s var(--ease);
}
