:root {
  color-scheme: light;
  --color-brand: #880020;
  --color-brand-rgb: 136 0 32;
  --color-brand-strong: #620017;
  --color-brand-soft: #f5e8eb;
  --color-ivory: #fcfaf7;
  --color-ivory-rgb: 252 250 247;
  --color-surface: #ffffff;
  --color-surface-muted: #f8f8f1;
  --color-champagne: #c8ad7f;
  --color-champagne-rgb: 200 173 127;
  --color-champagne-strong: #806536;
  --color-champagne-soft: #f7f0e5;
  /* Canonical Sarl 60/20/20 palette aliases. */
  --sarl-white: var(--color-ivory);
  --sarl-burgundy: var(--color-brand);
  --sarl-burgundy-deep: var(--color-brand-strong);
  --sarl-champagne: var(--color-champagne);
  --sarl-champagne-light: #e2d2b5;
  --sarl-champagne-dark: var(--color-champagne-strong);
  --sarl-champagne-soft: var(--color-champagne-soft);
  /* Backward-compatible aliases keep every component on the same third color. */
  --color-gold: var(--color-champagne);
  --color-gold-rgb: var(--color-champagne-rgb);
  --color-gold-soft: var(--color-champagne-soft);
  --color-charcoal: #24201f;
  --color-charcoal-rgb: 36 32 31;
  --color-warm-gray: #746c68;
  --color-warm-gray-strong: #504a47;
  --color-border: #e5ded8;
  --color-border-strong: #cec3ba;
  --color-success: #26734d;
  --color-success-soft: #e9f5ef;
  --color-warning: #966315;
  --color-warning-soft: #fff5df;
  --color-danger: #a4262c;
  --color-danger-soft: #fbeaec;
  --color-info: #345b79;
  --color-info-soft: #eaf2f8;
  --color-overlay: rgb(36 32 31 / 0.52);

  --font-sans: "Vazirmatn", "IRANSansX", Tahoma, Arial, sans-serif;
  --font-display: "Vazirmatn", "IRANSansX", Tahoma, Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", Consolas, monospace;

  --text-2xs: 0.6875rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.08rem + 0.75vw, 1.625rem);
  --text-2xl: clamp(1.5rem, 1.2rem + 1.3vw, 2.125rem);
  --text-3xl: clamp(1.875rem, 1.35rem + 2.3vw, 3rem);
  --text-4xl: clamp(2.25rem, 1.35rem + 4vw, 4.5rem);
  --leading-tight: 1.35;
  --leading-normal: 1.85;
  --leading-loose: 2.05;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  --radius-xs: 0.375rem;
  --radius-sm: 0.625rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;
  --radius-pill: 999px;

  --shadow-xs: 0 1px 2px rgb(36 32 31 / 0.05);
  --shadow-sm: 0 6px 18px rgb(62 43 36 / 0.07);
  --shadow-md: 0 14px 36px rgb(62 43 36 / 0.1);
  --shadow-focus:
    0 0 0 2px var(--color-ivory),
    0 0 0 5px rgb(var(--color-champagne-rgb) / 0.78);

  --duration-fast: 140ms;
  --duration-normal: 240ms;
  --duration-slow: 480ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
  --motion-fast: var(--duration-fast);
  --motion-standard: 360ms;
  --motion-luxury: 680ms;
  --motion-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-reveal-distance: 0.75rem;

  --container-xs: 38rem;
  --container-sm: 52rem;
  --container: 75rem;
  --container-wide: 88rem;
  --header-height: 4.5rem;
  --control-height: 3rem;
  --touch-target: 2.75rem;
  --border-thin: 1px;
  --z-base: 0;
  --z-sticky: 20;
  --z-header: 40;
  --z-overlay: 60;
  --z-modal: 70;
  --z-toast: 90;
}

@media (min-width: 64rem) {
  :root {
    --header-height: 5.5rem;
  }
}
