/* ============================================================
   Vittoria RMS — Typography
   Primary:  Plus Jakarta Sans — single brand typeface for both
             display and UI. Modern geometric-humanist with soft
             terminals that echo the rounded logo; conveys trust.
   Figures:  DM Sans — soft rounded geometric sans for
             codes, IDs & numeric data (tabular-nums for align).
             Replaces a monospace with a more elegant look.
   NOTE: loaded from Google Fonts CDN. See readme for the
   self-hosting note + substitution flag.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

:root {
  /* --- Families --- */
  --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-ui: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* "mono" role kept for API compatibility — now a clean geometric sans
     with tabular figures for codes, IDs and numeric data. */
  --font-mono: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-figures: 'DM Sans', system-ui, sans-serif;
  --numeric-features: tabular-nums;  /* @kind other */

  /* --- Weights --- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* --- Type scale (1.200 minor-third, base 16px) --- */
  --text-2xs: 0.6875rem;  /* 11px — micro labels, table chips */
  --text-xs:  0.75rem;    /* 12px — captions, meta */
  --text-sm:  0.875rem;   /* 14px — secondary UI text */
  --text-base:1rem;       /* 16px — body */
  --text-md:  1.125rem;   /* 18px — lead body */
  --text-lg:  1.375rem;   /* 22px — card titles */
  --text-xl:  1.75rem;    /* 28px — section headings */
  --text-2xl: 2.25rem;    /* 36px — page titles */
  --text-3xl: 3rem;       /* 48px — display */
  --text-4xl: 4rem;       /* 64px — hero display */

  /* --- Line heights --- */
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* --- Letter spacing --- */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.08em;   /* uppercase eyebrows / labels */

  /* --- Semantic roles --- */
  --display-font: var(--font-display);
  --display-weight: var(--weight-extrabold);
  --display-tracking: var(--tracking-tight);

  --heading-font: var(--font-display);
  --heading-weight: var(--weight-bold);

  --body-font: var(--font-ui);
  --body-weight: var(--weight-regular);
  --body-leading: var(--leading-normal);

  --label-font: var(--font-ui);
  --label-weight: var(--weight-semibold);

  --eyebrow-font: var(--font-ui);
  --eyebrow-weight: var(--weight-semibold);
  --eyebrow-tracking: var(--tracking-caps);
}
