:root {
  /* Brand tokens derived from the approved Barrio News logo. */
  --bn-color-primary-950: #061d49;
  --bn-color-primary-900: #062152;
  --bn-color-primary-700: #0f60b7;
  --bn-color-accent-700: #a3070a;
  --bn-color-accent-600: #d00e12;
  --bn-color-ink: #101827;
  --bn-color-muted: #5f6877;
  --bn-color-border: #dfe4ea;
  --bn-color-surface: #ffffff;
  --bn-color-surface-soft: #f5f7fa;
  --bn-color-focus: #0f60b7;

  --bn-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bn-font-serif: Georgia, "Times New Roman", serif;

  --bn-text-xs: 0.875rem;   /* 14px minimum secondary text */
  --bn-text-sm: 0.9375rem;
  --bn-text-base: 1rem;
  --bn-text-md: 1.125rem;
  --bn-text-lg: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
  --bn-text-xl: clamp(1.75rem, 1.3rem + 1.4vw, 2.75rem);
  --bn-text-2xl: clamp(2.25rem, 1.5rem + 2.5vw, 4.5rem);

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

  --bn-radius-sm: 0.25rem;
  --bn-radius-md: 0.5rem;
  --bn-radius-lg: 0.75rem;

  --bn-container: 1200px;
  --bn-container-wide: 1360px;
  --bn-reading: 780px;
  --bn-gutter: clamp(1rem, 2vw, 2rem);

  --bn-shadow-soft: 0 8px 30px rgba(6, 33, 82, 0.08);

  --bn-transition-fast: 160ms ease;
  --bn-transition-base: 240ms ease;

  --bn-z-header: 50;
  --bn-z-overlay: 200;
  --bn-z-modal: 300;
}
