:root {
  /* === Brand Colors === */
  --color-primary:       #1a6eb5;
  --color-primary-dark:  #145a96;
  --color-primary-light: #2d85d4;
  --color-primary-pale:  #e8f2fc;
  --color-accent:        #5eb84d;
  --color-accent-dark:   #4aa03c;
  --color-accent-pale:   #edf7eb;

  /* === Dark Palette (Laborax-style) === */
  --color-dark:          #0a1628;
  --color-dark-2:        #0f2040;
  --color-dark-3:        #162540;

  /* === Neutrals === */
  --color-white:         #ffffff;
  --color-off-white:     #f8fafc;
  --color-gray-50:       #f4f6f9;
  --color-gray-100:      #e9ecf0;
  --color-gray-200:      #d1d9e0;
  --color-gray-300:      #a0aab5;
  --color-gray-500:      #64748b;
  --color-gray-600:      #475569;
  --color-gray-800:      #1e293b;
  --color-gray-900:      #0f172a;

  /* === Semantic === */
  --color-text:          #1e293b;
  --color-text-muted:    #5a6a7a;
  --color-text-faint:    #94a3b8;
  --color-bg:            #ffffff;
  --color-bg-alt:        #f4f6f9;
  --color-border:        #e2e8f0;
  --color-border-light:  #f0f4f8;

  /* === Typography === */
  --font:                'DM Sans', 'Inter', system-ui, sans-serif;
  --font-heading:        'DM Sans', 'Inter', system-ui, sans-serif;

  /* === Radius === */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* === Shadows === */
  --shadow-xs:    0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:    0 2px 6px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:    0 6px 20px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
  --shadow-lg:    0 12px 36px rgba(0,0,0,0.10), 0 4px 12px rgba(0,0,0,0.05);
  --shadow-xl:    0 24px 60px rgba(0,0,0,0.13), 0 8px 20px rgba(0,0,0,0.06);
  --shadow-blue:  0 8px 32px rgba(26,110,181,0.25);
  --shadow-card:  0 4px 24px rgba(10,22,40,0.07);

  /* === Transitions === */
  --t-fast:   all 0.15s ease;
  --t-base:   all 0.25s ease;
  --t-slow:   all 0.4s ease;
  --t-spring: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);

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

  /* === Layout === */
  --container-max: 1200px;
  --container-px:  clamp(1.25rem, 5vw, 2rem);
  --navbar-height: 76px;

  /* === Z-index === */
  --z-base:    0;
  --z-raised:  10;
  --z-sticky:  50;
  --z-navbar:  200;
  --z-overlay: 300;
}
