/* ==========================================================================
   PERFECT ECOTECH - DESIGN TOKENS
   Color System, Typography & Spacing System
   Strict Rule: SMALLEST VISIBLE FONT IS 14PX
   ========================================================================== */

:root {
  /* Brand Primary */
  --color-primary-navy: #0B2A4A;
  --color-primary-navy-dark: #071c33;
  --color-primary-navy-light: #163e68;

  /* Neutrals */
  --color-bg: #F7F9FC;
  --color-card-bg: #FFFFFF;
  --color-heading: #102A43;
  --color-body: #52606D;
  --color-secondary: #7B8794;
  --color-border: #E2E8F0;
  --color-border-light: #EDF2F7;

  /* Water Domain */
  --color-water: #0879C9;
  --color-water-light: #EAF6FF;
  --color-water-dark: #04518A;

  /* Solar Domain */
  --color-solar: #35A853;
  --color-solar-light: #ECF8EE;
  --color-solar-dark: #197A35;

  /* Power Domain */
  --color-power: #F57C00;
  --color-power-light: #FFF3E5;
  --color-power-dark: #C65300;

  /* Typography - Manrope font family */
  --font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Font Weights */
  --fw-normal: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* Font Sizes - STRICT MINIMUM 14px (0.875rem) */
  --fs-xs: 0.875rem;    /* 14px - STRICT MINIMUM */
  --fs-sm: 0.9375rem;   /* 15px */
  --fs-base: 1rem;      /* 16px - Base Body */
  --fs-md: 1.125rem;    /* 18px */
  --fs-lg: 1.25rem;     /* 20px */
  --fs-xl: 1.5rem;      /* 24px */
  --fs-2xl: 1.875rem;   /* 30px */
  --fs-3xl: 2.25rem;    /* 36px */
  --fs-4xl: 2.75rem;    /* 44px */
  --fs-hero: 3.25rem;   /* 52px */

  /* Line Heights */
  --lh-tight: 1.15;
  --lh-heading: 1.25;
  --lh-body: 1.65;

  /* Spacing Scale */
  --spacing-1: 0.25rem;  /* 4px */
  --spacing-2: 0.5rem;   /* 8px */
  --spacing-3: 0.75rem;  /* 12px */
  --spacing-4: 1rem;     /* 16px */
  --spacing-5: 1.25rem;  /* 20px */
  --spacing-6: 1.5rem;   /* 24px */
  --spacing-8: 2rem;     /* 32px */
  --spacing-10: 2.5rem;  /* 40px */
  --spacing-12: 3rem;    /* 48px */
  --spacing-16: 4rem;    /* 64px */
  --spacing-20: 5rem;    /* 80px */
  --spacing-24: 6rem;    /* 96px */

  /* Container */
  --container-max-width: 1240px;
  --container-padding: 1.5rem;

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 9999px;

  /* Shadows - Restrained & Clean */
  --shadow-sm: 0 1px 3px rgba(11, 42, 74, 0.05);
  --shadow-md: 0 4px 12px rgba(11, 42, 74, 0.08);
  --shadow-lg: 0 10px 24px rgba(11, 42, 74, 0.10);

  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;
}
