/* ========================================
   AVOPLUS Design Tokens
   ======================================== */

:root {
  /* ——— Colours ——— */
  --green-950: #102D22;
  --green-900: #1B4332;
  --green-700: #2D6A4F;
  --gold-500: #D4A017;
  --orange-500: #E07A2F;
  --cream-50: #FBF9F2;
  --cream-100: #F4F0E4;
  --sand-200: #DED5C2;
  --charcoal-950: #1B1F1C;
  --charcoal-700: #4B504A;
  --charcoal-500: #808080;
  --white: #FFFFFF;

  /* ——— Typography ——— */
  --font-heading: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Open Sans', system-ui, sans-serif;

  --display-xl: clamp(3.2rem, 6.8vw, 7rem);
  --display-lg: clamp(2.6rem, 5vw, 5rem);
  --heading-1: clamp(2.25rem, 4vw, 4rem);
  --heading-2: clamp(1.8rem, 3vw, 3rem);
  --heading-3: clamp(1.25rem, 2vw, 1.75rem);
  --heading-4: clamp(1rem, 1.5vw, 1.25rem);
  --body-lg: 1.125rem;
  --body-md: 1rem;
  --body-sm: 0.875rem;
  --body-xs: 0.75rem;

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

  /* ——— Grid ——— */
  --grid-gap: 1.5rem;
  --grid-gap-lg: 2rem;
  --container-max: 1200px;
  --container-narrow: 720px;
  --container-wide: 1400px;

  /* ——— Radii ——— */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 18px;

  /* ——— Shadows ——— */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-lg: 0 4px 24px rgba(0,0,0,0.08);

  /* ——— Motion ——— */
  --ease-out: cubic-bezier(0.32, 0.72, 0, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
}