:root {
  /* Brand colors — exact values per brief §11 */
  --color-primary: #1B6B6B;
  --color-primary-dark: #0F4A4A;
  --color-primary-tint: #E3F1EF;
  --color-background: #FFFFFF;
  --color-accent: #C99A44;
  --color-text: #21302F;
  --color-text-muted: #8FA3A1;

  /* Derived */
  --color-white: #FFFFFF;
  --color-border: #D7E5E3;
  --color-accent-dark: #A87E33;
  --color-overlay-dark: rgba(15, 74, 74, 0.82);
  --color-overlay-darker: rgba(10, 36, 36, 0.88);

  /* Text-on-color pairs (WCAG AA) */
  --on-primary: var(--color-white);
  --on-accent: var(--color-text); /* charcoal on gold, never white */

  /* Type */
  --font-heading-en: 'Playfair Display', Georgia, serif;
  --font-heading-ar: 'Markazi Text', 'Times New Roman', serif;
  --font-body-en: 'Inter', -apple-system, sans-serif;
  --font-body-ar: 'Tajawal', -apple-system, sans-serif;

  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: 3rem;
  --fs-4xl: 3.75rem;

  --lh-tight: 1.2;
  --lh-body: 1.7;

  /* Spacing scale */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;
  --sp-10: 8rem;

  /* Layout */
  --container-max: 1240px;
  --container-pad: var(--sp-5);

  /* Radius — sharp to barely-rounded, avoid the heavy "AI template" look */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-pill: 999px;

  /* Motion */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 450ms ease;

  /* Elevation — kept minimal per "no drop-shadow-everywhere" rule */
  --shadow-card: 0 1px 3px rgba(15, 74, 74, 0.08), 0 1px 2px rgba(15, 74, 74, 0.06);
  --shadow-raised: 0 8px 24px rgba(15, 74, 74, 0.12);

  /* Z-index scale */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
  --z-toast: 400;

  /* Breakpoints (referenced in comments; media queries use literal px) */
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
}
