/* ============================================================
   Villaboix — Typography tokens
   Display / titles : "Ovo" (serif, elegant, single weight)
   Body / UI        : "Open Sans" (humanist sans)
   ============================================================ */
:root {
  --font-display: "Ovo", Georgia, "Times New Roman", serif;
  --font-body: "Open Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale (1.25 major-third-ish, tuned) */
  --text-2xs: 0.6875rem;  /* 11px */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.875rem;   /* 14px */
  --text-base:1rem;       /* 16px */
  --text-md:  1.125rem;   /* 18px */
  --text-lg:  1.375rem;   /* 22px */
  --text-xl:  1.75rem;    /* 28px */
  --text-2xl: 2.25rem;    /* 36px */
  --text-3xl: 3rem;       /* 48px */
  --text-4xl: 4rem;       /* 64px */
  --text-5xl: 5.25rem;    /* 84px */

  /* Weights — Open Sans range; Ovo is single-weight (400) */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Line heights */
  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-normal: 1.55;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;   /* eyebrows / overlines, uppercase */

  /* Semantic roles */
  --type-display-family: var(--font-display);
  --type-heading-family: var(--font-display);
  --type-body-family: var(--font-body);
  --type-eyebrow-spacing: var(--tracking-wider);
}
