/* ============================================================
   DESIGN TOKENS — Binsalim Geoservices
   Single source of truth. Every CSS value references these.
   ============================================================ */

:root {
  /* ── Colors: Navy ── */
  --navy:          #1A4F8A;
  --navy-dark:     #133A68;
  --navy-deeper:   #0D2845;
  --navy-light:    #E8F0F9;
  --navy-mid:      #C2D5ED;

  /* ── Colors: Green ── */
  --green:         #7DC242;
  --green-dark:    #5A9430;
  --green-deeper:  #3D6B1F;
  --green-light:   #EBF5DE;
  --danger:        #C53030;
  --danger-light:  #FDECEC;

  /* ── Colors: Neutrals ── */
  --off-white:     #F7F8F6;
  --white:         #FFFFFF;
  --border:        #E4E8E2;
  --border-strong: #C8D0C5;

  /* ── Colors: Text ── */
  --text-primary:  #111B10;
  --text-secondary:#5A6658;
  --text-muted:    #8A9887;

  /* ── Fonts ── */
  --font-display:  'DM Serif Display', serif;
  --font-body:     'Plus Jakarta Sans', sans-serif;
  --font-mono:     'JetBrains Mono', monospace;

  /* ── Type Scale ── */
  --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;

  /* ── Spacing (base-4) ── */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-7:   1.75rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;

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

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(17, 27, 16, 0.06);
  --shadow-md:  0 4px 12px rgba(17, 27, 16, 0.08);
  --shadow-lg:  0 8px 32px rgba(17, 27, 16, 0.10);
  --shadow-xl:  0 16px 48px rgba(17, 27, 16, 0.12);

  /* ── Layout ── */
  --nav-height:        64px;
  --nav-height-mobile: 56px;
  --container-max:     1280px;
  --container-padding: var(--space-6);

  /* ── Transitions ── */
  --ease-default: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 0.2s;
  --duration-base: 0.3s;
  --duration-slow: 0.6s;
}

/* ── Reduced motion override (mandatory) ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
