/* ==========================================================================
   Design Tokens — ColorBase Cortex
   ==========================================================================
   Single source of truth for colours, typography, spacing, and effects.
   All component and layout styles reference these custom properties.
   ========================================================================== */

:root {

  /* --------------------------------------------------------------------
     Colours
     -------------------------------------------------------------------- */

  /* Brand */
  --color-primary:        #0066CC;
  --color-accent:         #00B4D8;
  --color-dark:           #0D1A2E;
  --color-mid-blue:       #3385D6;

  /* Surfaces */
  --color-white:          #FFFFFF;
  --color-light-fill:     #F4F7FC;
  --color-border:         #C5D5E8;

  /* Text */
  --color-text-primary:   #0D1A2E;
  --color-text-secondary: #5A6272;
  --color-text-inverse:   #FFFFFF;

  /* Semantic */
  --color-success:        #27AE60;

  /* Interactive states */
  --color-hover:          #3385D6;
  --color-focus-ring:     rgba(0, 102, 204, 0.35);

  /* --------------------------------------------------------------------
     Typography — Families
     -------------------------------------------------------------------- */

  --font-display:   "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-body:      "Inter", sans-serif;
  --font-mono:      "JetBrains Mono", "Fira Code", monospace;

  /* --------------------------------------------------------------------
     Typography — Weights
     -------------------------------------------------------------------- */

  --fw-regular:     400;
  --fw-medium:      500;
  --fw-semibold:    600;
  --fw-bold:        700;

  /* --------------------------------------------------------------------
     Typography — Scale
     -------------------------------------------------------------------- */

  --text-display-max: 4.5rem;   /* 72px */
  --text-display-min: 3.5rem;   /* 56px */
  --text-h1:          2.5rem;   /* 40px */
  --text-h2:          1.75rem;  /* 28px */
  --text-h3:          1.25rem;  /* 20px */
  --text-body:        1rem;     /* 16px */
  --text-caption:     0.8125rem;/* 13px */

  /* --------------------------------------------------------------------
     Typography — Line Heights
     -------------------------------------------------------------------- */

  --lh-display:     1.15;
  --lh-heading:     1.3;
  --lh-body:        1.65;
  --lh-caption:     1.4;

  /* --------------------------------------------------------------------
     Spacing
     -------------------------------------------------------------------- */

  --space-xs:       0.25rem;  /*  4px */
  --space-sm:       0.5rem;   /*  8px */
  --space-md:       1rem;     /* 16px */
  --space-lg:       1.5rem;   /* 24px */
  --space-xl:       2rem;     /* 32px */
  --space-2xl:      3rem;     /* 48px */
  --space-3xl:      4rem;     /* 64px */
  --space-section:  5rem;     /* 80px — minimum section padding */

  /* --------------------------------------------------------------------
     Layout
     -------------------------------------------------------------------- */

  --grid-max-width: 80rem;    /* 1280px */
  --grid-gutter:    1.5rem;   /* 24px */

  /* --------------------------------------------------------------------
     Effects — Radii
     -------------------------------------------------------------------- */

  --radius-sm:      4px;
  --radius-card:    8px;
  --radius-lg:      12px;
  --radius-pill:    9999px;

  /* --------------------------------------------------------------------
     Effects — Shadows
     -------------------------------------------------------------------- */

  --shadow-card:    0 2px 16px rgba(0, 102, 204, 0.08);
  --shadow-raised:  0 4px 24px rgba(0, 102, 204, 0.12);

  /* --------------------------------------------------------------------
     Effects — Transitions
     -------------------------------------------------------------------- */

  --transition-fast:    150ms ease-in-out;
  --transition-base:    200ms ease-in-out;
  --transition-slow:    350ms ease-in-out;
}
