:root {
  /* === Colours — richer, more energetic palette === */
  --color-primary:       #0D2B4E;   /* deep professional navy */
  --color-primary-dark:  #071929;   /* very deep for footer */
  --color-action:        #1452CC;   /* vivid corporate blue */
  --color-action-hover:  #0E41A3;
  --color-sky:           #38B6F0;   /* bright sky accent */
  --color-ice:           #CDDFF8;   /* richer, more visible ice blue */
  --color-ice-light:     #E8F2FD;   /* softer section background */
  --color-success:       #0C9E6B;
  --color-white:         #FFFFFF;
  --color-bg:            #EBF2FD;   /* cool blue-tinted page bg */
  --color-text:          #091C36;   /* deep navy-black */
  --color-text-muted:    #3D5570;   /* blue-toned muted text */
  --color-border:        #AECADF;   /* clear blue-tinted borders */

  /* === Typography === */
  --font-heading: 'DM Sans', 'Google Sans', 'Nunito', sans-serif;
  --font-body:    'IBM Plex Sans', sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;

  /* === Spacing === */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* === Radius === */
  --radius-sm:   0.25rem;
  --radius-md:   0.5rem;
  --radius-lg:   1rem;
  --radius-xl:   1.5rem;
  --radius-full: 9999px;

  /* === Shadows — more depth === */
  --shadow-sm:         0 1px 4px rgba(13,43,78,0.10);
  --shadow-md:         0 4px 20px rgba(13,43,78,0.15);
  --shadow-lg:         0 10px 36px rgba(13,43,78,0.20);
  --shadow-card:       0 2px 10px rgba(13,43,78,0.10);
  --shadow-card-hover: 0 12px 32px rgba(13,43,78,0.22);

  /* === Transitions === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* === Layout === */
  --container-max:     1200px;
  --container-padding: 1.5rem;
  --header-height:     70px;
}
