:root {
  /* Negocio Propio — Design System V2.1 · contraste corregido (2026-09-16) */
  --np2-color-tinta: #17324a;
  --np2-color-tinta-suave: #27485f;
  --np2-color-papel: #f5efe3;
  --np2-color-papel-profundo: #e9dfcf;
  --np2-color-blanco: #ffffff;
  --np2-color-verde: #2f6a53;
  --np2-color-verde-profundo: #214c3d;
  --np2-color-maiz: #edc75e;
  --np2-color-arcilla: #bf6548; /* acento decorativo: bordes, líneas, íconos; no para texto */
  --np2-color-arcilla-profunda: #9b4a35; /* texto y superficies con texto (≥ 4.5:1) */
  --np2-color-cielo: #bfd8e4;
  --np2-color-salvia: #dce8db;
  --np2-color-texto-suave: #56626a;
  --np2-color-linea: #bdc7c5;
  --np2-color-linea-oscura: #496274;
  --np2-color-exito: #2f6a53;
  --np2-color-aviso: #8a5a13;
  --np2-color-peligro: #9b4338;

  --np2-color-fondo: var(--np2-color-papel);
  --np2-color-superficie: var(--np2-color-blanco);
  --np2-color-texto: var(--np2-color-tinta);
  --np2-color-texto-acento: var(--np2-color-arcilla-profunda);
  --np2-color-superficie-acento: var(--np2-color-arcilla-profunda);
  --np2-color-texto-secundario: var(--np2-color-texto-suave);
  --np2-color-sobre-oscuro: var(--np2-color-papel);
  --np2-color-accion: var(--np2-color-tinta);
  --np2-color-accion-acento: var(--np2-color-maiz);
  --np2-color-marca: var(--np2-color-verde);
  --np2-color-programa-mostrador: var(--np2-color-arcilla);
  --np2-color-programa-sistema: var(--np2-color-maiz);
  --np2-color-programa-futuro: var(--np2-color-cielo);

  --np2-font-display: Georgia, "Times New Roman", serif;
  --np2-font-body: "Segoe UI", Arial, Helvetica, sans-serif;
  --np2-font-mono: "Cascadia Mono", Consolas, "Courier New", monospace;

  --np2-text-xs: clamp(0.74rem, 0.71rem + 0.08vw, 0.8rem);
  --np2-text-sm: clamp(0.88rem, 0.83rem + 0.14vw, 0.97rem);
  --np2-text-base: clamp(1rem, 0.95rem + 0.18vw, 1.12rem);
  --np2-text-lg: clamp(1.18rem, 1.07rem + 0.36vw, 1.45rem);
  --np2-text-xl: clamp(1.48rem, 1.25rem + 0.75vw, 2.05rem);
  --np2-text-2xl: clamp(2rem, 1.5rem + 1.65vw, 3.35rem);
  --np2-text-3xl: clamp(2.7rem, 1.8rem + 3vw, 5.2rem);
  --np2-text-hero: clamp(3.35rem, 1.65rem + 5.8vw, 8.2rem);

  --np2-leading-tight: 0.92;
  --np2-leading-heading: 1.02;
  --np2-leading-body: 1.62;
  --np2-tracking-tight: -0.042em;
  --np2-tracking-label: 0.13em;

  --np2-space-1: 0.25rem;
  --np2-space-2: 0.5rem;
  --np2-space-3: 0.75rem;
  --np2-space-4: 1rem;
  --np2-space-5: 1.5rem;
  --np2-space-6: 2rem;
  --np2-space-7: 3rem;
  --np2-space-8: 4.5rem;
  --np2-space-9: 6.5rem;
  --np2-space-10: 9rem;

  --np2-radius-xs: 0.25rem;
  --np2-radius-sm: 0.55rem;
  --np2-radius-md: 1rem;
  --np2-radius-lg: 1.6rem;
  --np2-radius-pill: 999px;

  --np2-border-thin: 1px;
  --np2-border-strong: 2px;
  --np2-shadow-card: 0 1.2rem 3.5rem rgb(23 50 74 / 0.1);
  --np2-shadow-float: 0 1.7rem 4.5rem rgb(23 50 74 / 0.18);

  --np2-container: 80rem;
  --np2-container-wide: 94rem;
  --np2-measure: 66ch;
  --np2-measure-narrow: 48ch;
  --np2-grid-gap: clamp(1rem, 1.6vw, 2rem);
  --np2-section-space: clamp(4rem, 3rem + 3.8vw, 7.5rem);
  --np2-section-space-compact: clamp(2.6rem, 2rem + 2vw, 4.25rem);
  --np2-content-space: clamp(1.75rem, 1.25rem + 1.6vw, 3.25rem);

  --np2-duration-fast: 140ms;
  --np2-duration-base: 260ms;
  --np2-ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --np2-focus-ring: 0 0 0 4px rgb(237 199 94 / 0.58);
  --np2-z-nav: 30;
  --np2-z-skip: 100;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --np2-duration-fast: 0ms;
    --np2-duration-base: 0ms;
  }
}
