:root {
  /* Marca */
  --color-primary:        #C1272D;
  --color-primary-dark:   #8B1A20;
  --color-primary-light:  #E63946;

  /* Verde de marca (reemplaza el charcoal/azul oscuro) */
  --color-charcoal:       #2A4A3D;
  --color-gray-900:       #1F362C;
  --color-gray-700:       #374151;
  --color-gray-500:       #6B7280;
  --color-gray-300:       #D1D5DB;
  --color-gray-100:       #F3F4F6;
  --color-gray-50:        #FAFAFA;
  --color-white:          #FFFFFF;

  /* Acento */
  --color-accent:         #F59E0B;
  --color-accent-dark:    #D97706;

  /* Estado */
  --color-success:        #16A34A;
  --color-error:          #DC2626;

  /* Overlay */
  --overlay-dark: linear-gradient(135deg, rgba(31,54,44,0.78) 0%, rgba(42,74,61,0.55) 100%);
  --overlay-red:  linear-gradient(135deg, rgba(193,39,45,0.92) 0%, rgba(139,26,32,0.85) 100%);

  /* Tipografía */
  --font-heading: 'Montserrat', system-ui, -apple-system, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;

  --fs-display: clamp(2.25rem, 6vw, 4rem);
  --fs-h1:      clamp(1.875rem, 4vw, 2.5rem);
  --fs-h2:      clamp(1.5rem, 3vw, 2rem);
  --fs-h3:      clamp(1.25rem, 2vw, 1.5rem);
  --fs-body:    clamp(1rem, 1.2vw, 1.0625rem);
  --fs-small:   0.875rem;

  /* Espaciado */
  --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;
  --space-32: 8rem;

  /* Radios */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* Sombras */
  --shadow-sm:  0 1px 2px 0 rgba(0,0,0,0.05);
  --shadow-md:  0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);
  --shadow-lg:  0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -2px rgba(0,0,0,0.05);
  --shadow-xl:  0 20px 25px -5px rgba(0,0,0,0.10), 0 10px 10px -5px rgba(0,0,0,0.04);
  --shadow-glow: 0 0 0 4px rgba(193,39,45,0.15);

  /* Transiciones */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);

  /* Layout */
  --container-max:   1200px;
  --container-px:    clamp(1rem, 4vw, 2rem);
  --header-height:   72px;
  --section-py:      clamp(3rem, 8vw, 6rem);

  /* Z-index */
  --z-header:    50;
  --z-modal:     100;
  --z-floating:  90;
}
