:root {
  /* Cores principais */
  --color-olive: #5b6b4f;
  --color-olive-dark: #3f4a37;
  --color-mustard: #d9a441;
  --color-mustard-light: #ecc873;
  --color-terracotta: #b5654a;
  --color-terracotta-dark: #8f4d37;
  --color-sand: #e8ddcd;
  --color-sand-light: #f5efe4;
  --color-cream: #faf6ef;

  /* Texto */
  --color-text: #3a3530;
  --color-text-light: #6b6358;
  --color-text-on-dark: #f5efe4;

  /* Gradiente principal (hero, destaques) */
  --gradient-primary: linear-gradient(135deg, var(--color-olive-dark) 0%, var(--color-olive) 45%, var(--color-terracotta-dark) 100%);
  --gradient-soft: linear-gradient(135deg, var(--color-sand-light) 0%, var(--color-sand) 100%);
  --gradient-animated: linear-gradient(120deg, var(--color-olive-dark), var(--color-olive), var(--color-terracotta-dark), var(--color-olive));

  /* Tipografia */
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Mulish', sans-serif;

  --fs-xs: clamp(0.8rem, 0.75rem + 0.2vw, 0.95rem);
  --fs-sm: clamp(0.9rem, 0.85rem + 0.25vw, 1.05rem);
  --fs-base: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
  --fs-lg: clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
  --fs-xl: clamp(1.6rem, 1.4rem + 1vw, 2.2rem);
  --fs-2xl: clamp(2.2rem, 1.8rem + 2vw, 3.4rem);
  --fs-3xl: clamp(2.8rem, 2.2rem + 3vw, 4.6rem);

  /* Espaçamentos */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;

  /* Layout */
  --max-width: 1200px;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 2rem;
  --radius-pill: 999px;

  /* Sombras */
  --shadow-soft: 0 10px 30px rgba(63, 74, 55, 0.12);
  --shadow-strong: 0 20px 50px rgba(63, 74, 55, 0.22);

  /* Transições */
  --transition-base: 0.3s ease;
  --transition-slow: 0.6s ease;
}
