/* ==========================================================================
   FincaHub Intelligence · Design tokens · Sistema A «Informe técnico» v1.0
   Fuente única de verdad: colores, tipografía, espaciado, rejilla y estados.
   Prefijo --fh- para no chocar con otras hojas. Cambia aquí, no en los componentes.
   ========================================================================== */
:root{
  /* --- Marca (provisional: el nombre puede cambiar, ver .logo en styles.css) --- */
  --fh-brand-name:"FincaHub";          /* solo informativo para herramientas; el texto real va en el HTML */
  --fh-brand-descriptor:"Intelligence";

  /* --- Color · base --- */
  --fh-ink:#16212B;        /* texto principal, fondos oscuros (muestra, pie) */
  --fh-ink-2:#3A4651;      /* texto de párrafo */
  --fh-muted:#5B6670;      /* texto secundario, notas, pies de figura */
  --fh-paper:#F4F5F2;      /* fondo de página */
  --fh-white:#FFFFFF;      /* tarjetas, secciones alternas, cabecera */
  --fh-line:#D5DAD8;       /* bordes y filetes 1px */
  --fh-line-dark:#34424F;  /* filetes sobre fondo ink */

  /* --- Color · marca --- */
  --fh-slate:#2E4A62;      /* color de marca: cabeceras de datos, botón secundario, CTA final */
  --fh-slate-700:#233A4E;  /* hover/active de slate */
  --fh-slate-100:#DCE3EA;  /* fondo hover del botón secundario */
  --fh-green:#3F7D4E;      /* acción principal y acento (§, etiquetas, ✓) */
  --fh-green-700:#32653F;  /* hover de la acción principal */
  --fh-green-800:#28522F;  /* active de la acción principal */
  --fh-green-300:#7FC18F;  /* acento sobre fondo oscuro */
  --fh-green-100:#E3EFE5;  /* fondos de resultado positivo, badge */
  --fh-focus:#1F6FD1;      /* anillo de foco accesible (solo :focus-visible) */

  /* --- Tipografía --- */
  --fh-font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fh-font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  /* Escala (escritorio → móvil con clamp, 390 → 1440 px) */
  --fh-fs-display:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);   /* 36 → 56 · H1 */
  --fh-fs-h2:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);        /* 28 → 40 */
  --fh-fs-h2-long:clamp(1.5rem,1.25rem + 1vw,2rem);       /* 24 → 32 · titulares largos */
  --fh-fs-h3:clamp(1.25rem,1.15rem + .4vw,1.5rem);        /* 20 → 24 */
  --fh-fs-h4:1.125rem;                                    /* 18 */
  --fh-fs-lead:clamp(1.0625rem,1rem + .25vw,1.1875rem);   /* 17 → 19 */
  --fh-fs-body:1rem;                                      /* 16 */
  --fh-fs-small:.9375rem;                                 /* 15 */
  --fh-fs-xs:.875rem;                                     /* 14 */
  --fh-fs-eyebrow:.75rem;                                 /* 12 mono mayúsculas */
  --fh-fs-data:clamp(1.75rem,1.5rem + 1vw,2.125rem);      /* 28 → 34 mono · cifras */
  --fh-fs-price:clamp(4rem,3.4rem + 2.4vw,5.5rem);        /* 64 → 88 mono · precio */
  --fh-lh-tight:1.12; --fh-lh-snug:1.35; --fh-lh-body:1.6;
  --fh-tracking-tight:-.015em; --fh-tracking-data:-.03em; --fh-tracking-eyebrow:.12em;

  /* --- Espaciado (base 4) --- */
  --fh-s-1:4px; --fh-s-2:8px; --fh-s-3:12px; --fh-s-4:16px; --fh-s-5:20px; --fh-s-6:24px;
  --fh-s-8:32px; --fh-s-10:40px; --fh-s-12:48px; --fh-s-14:56px; --fh-s-16:64px; --fh-s-20:80px; --fh-s-28:112px;
  --fh-section-y:clamp(64px,5vw + 40px,112px);

  /* --- Rejilla --- */
  --fh-container:1200px; --fh-columns:12; --fh-gutter:24px;
  --fh-margin:clamp(20px,4vw,32px);

  /* --- Forma y profundidad --- */
  --fh-radius-btn:6px; --fh-radius-card:2px; --fh-radius-tag:4px;
  --fh-border:1px solid var(--fh-line);
  --fh-shadow-doc:0 30px 60px -20px rgba(22,33,43,.35);
  --fh-shadow-hover:0 8px 20px -8px rgba(22,33,43,.35);

  /* --- Movimiento --- */
  --fh-ease:cubic-bezier(.2,.7,.2,1); --fh-dur:160ms;

  /* --- Controles --- */
  --fh-btn-h:52px; --fh-btn-h-sm:40px; --fh-tap-min:44px;
}
@media (prefers-reduced-motion:reduce){:root{--fh-dur:0ms}}
