/* ============================================================
   THEME TOKENS — GeoLeaf / MPI branding
   Primary: Graphite #2F2E2C | Accent: Green
   ============================================================ */

:root {
  /* --- Brand colors --- */
  --color-primary:        #2F2E2C;   /* MPI Graphite */
  --color-primary-light:  #4a4a49;
  --color-primary-dark:   #1a1a18;
   --color-secondary:      #2E9B5F;   /* GeoLeaf Green */
   --color-secondary-dark: #24784A;
   --color-accent:         #8FD9AE;   /* Light green */

  /* --- Neutrals --- */
  --color-bg:             #ffffff;
  --color-surface:        #f7f7f9;
  --color-surface-alt:    #f0f0f2;
  --color-border:         #eaeaea;
  --color-text:           #1f1f23;
  --color-text-muted:     #4a4a52;
  --color-text-light:     #8a8a95;
  --color-white:          #ffffff;

  /* --- Pricing highlight --- */
   --color-pricing-highlight: #2E9B5F;

  /* --- Typography --- */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  --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;
  --text-6xl:  3.75rem;

  --leading-tight:  1.2;
  --leading-snug:   1.4;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  --font-weight-normal:    400;
  --font-weight-medium:    500;
  --font-weight-semibold:  600;
  --font-weight-bold:      700;
  --font-weight-extrabold: 800;

  /* --- Spacing scale --- */
  --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;
  --space-32: 8rem;

  /* --- Layout --- */
  --container-max:   1200px;
  --container-pad:   1.5rem;

  /* --- Border radius --- */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;

  /* --- Shadows --- */
  --shadow-xs: 0 1px 2px rgba(47, 46, 44, 0.06);
  --shadow-sm: 0 2px 8px rgba(47, 46, 44, 0.08);
  --shadow-md: 0 4px 20px rgba(47, 46, 44, 0.12);
  --shadow-lg: 0 8px 40px rgba(47, 46, 44, 0.16);
  --shadow-xl: 0 16px 64px rgba(47, 46, 44, 0.20);

  /* --- Transitions --- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* --- Breakpoints (reference only — use raw values in media queries) ---
     sm:  640px
     md:  768px
     lg:  1024px
     xl:  1280px
  --- */

  /* --- Z-index scale --- */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    300;
  --z-toast:    400;
}
