:root {
  --color-texto: #3a3a3a;
  --color-texto-suave: #4d4d4d;
  --color-fondo: #ffffff;
  --color-fondo-suave: #f3f7f7;
  --color-marca: #1f8f88;
  --color-marca-oscura: #0e3f3c;
  --color-acento: #1a7a74;
  --color-plano-claro: #8fd4cf;
  --color-plano: #2aa39b;
  --color-plano-oscuro: #15756f;
  --color-linea: #d5e4e3;
  --color-sobre-marca: #ffffff;
  --fuente-cuerpo: "Montserrat", system-ui, sans-serif;
  --fuente-titulos: "Montserrat", system-ui, sans-serif;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --espacio-xs: 0.5rem;
  --espacio-sm: 1rem;
  --espacio-md: 1.5rem;
  --espacio-lg: 3rem;
  --espacio-xl: 5rem;
  --contenedor: 1120px;
  --sombra: 0 16px 40px rgba(14, 63, 60, 0.08);
  --sombra-suave: 0 10px 28px rgba(14, 63, 60, 0.1);
  --radio: 0.5rem;
  --z-header: 100;
  --z-nav: 200;
  --z-float: 300;
  --font: var(--fuente-cuerpo);
  --font-display: var(--fuente-titulos);
  --text: var(--color-texto);
  --white: var(--color-fondo);
  --teal: var(--color-marca);
  --teal-deep: var(--color-marca-oscura);
  --container: var(--contenedor);
  --radius: var(--radio);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
