/*
 * tokens.css — Single source of truth for all design values.
 * All other CSS files MUST reference these custom properties.
 * No raw hex values outside this file.
 */

:root {
  /* ── Brand colours ── */
  --mj-green:        #0B4A3F;
  --mj-green-dark:   #072E26;
  --mj-green-mid:    #165C4F;
  --mj-green-light:  #D4EEE8;
  --mj-orange:       #F27127;
  --mj-orange-dk:    #D85E18;
  --mj-orange-light: #FEE9D4;

  /* ── Neutral palette ── */
  --mj-white:        #FFFFFF;
  --mj-offwhite:     #F8F9FA;
  --mj-grey-100:     #F3F4F6;
  --mj-grey-200:     #E5E7EB;
  --mj-grey-400:     #9CA3AF;
  --mj-grey-500:     #6B7280;
  --mj-grey-700:     #374151;
  --mj-black:        #111827;
  --mj-error:        #dc2626;
  --mj-print-black:  #000000;

  /* ── Typography ── */
  --mj-font-display: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  --mj-font-body:    'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;

  /* ── Font sizes (fluid with clamp) ── */
  --mj-text-xs:   0.75rem;
  --mj-text-sm:   0.875rem;
  --mj-text-base: 1rem;
  --mj-text-lg:   1.125rem;
  --mj-text-xl:   clamp(1.25rem, 2vw, 1.5rem);
  --mj-text-2xl:  clamp(1.5rem, 3vw, 2rem);
  --mj-text-3xl:  clamp(1.75rem, 3.5vw, 2.5rem);
  --mj-text-4xl:  clamp(2rem, 4.5vw, 3.2rem);

  /* ── Spacing scale ── */
  --mj-space-2xs: 0.25rem;
  --mj-space-xs:  0.5rem;
  --mj-space-s:   1rem;
  --mj-space-m:   2rem;
  --mj-space-l:   4rem;
  --mj-space-xl:  6rem;
  --mj-space-2xl: 8rem;

  /* ── Layout ── */
  --mj-max-w:     1120px;
  --mj-gutter:    1.25rem;

  /* ── Shape ── */
  --mj-radius:    0.5rem;
  --mj-radius-l:  1rem;
  --mj-radius-xl: 1.5rem;

  /* ── Shadow ── */
  --mj-shadow-s:  0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  --mj-shadow-m:  0 4px 12px rgba(0, 0, 0, 0.10);
  --mj-shadow-l:  0 12px 32px rgba(11, 74, 63, 0.12);
  --mj-shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.25);

  /* ── Transitions ── */
  --mj-ease: 0.15s ease;
  --mj-ease-m: 0.25s ease;

  /* ── Z-index layers ── */
  --mj-z-header:  100;
  --mj-z-overlay: 200;
  --mj-z-modal:   300;
  --mj-z-skip:    9999;
}
