/* ==========================================================================
   Yendra Digital — Typography
   Space Grotesk for display (mixed case, never all-caps headlines).
   Geist for body + UI. Geist Mono for code / data / version strings.
   Type-led layouts: large, confident headings; generous body leading.
   ========================================================================== */

:root {
  /* Families */
  --font-display: 'Space Grotesk', 'Geist', ui-sans-serif, system-ui, sans-serif;
  --font-sans:    'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'Geist Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', monospace;

  /* Weights */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* Type scale — fluid-friendly rem steps (1rem = 16px) */
  --text-3xs:  0.625rem;   /* 10px — micro labels, legal              */
  --text-2xs:  0.6875rem;  /* 11px — overline / eyebrow               */
  --text-xs:   0.75rem;    /* 12px — captions, meta                   */
  --text-sm:   0.875rem;   /* 14px — UI, secondary body               */
  --text-base: 1rem;       /* 16px — body                             */
  --text-md:   1.125rem;   /* 18px — lead body                        */
  --text-lg:   1.375rem;   /* 22px — small headings                   */
  --text-xl:   1.75rem;    /* 28px — card titles                      */
  --text-2xl:  2.25rem;    /* 36px — section headings                 */
  --text-3xl:  3rem;       /* 48px — page titles                      */
  --text-4xl:  3.75rem;    /* 60px — hero                             */
  --text-5xl:  4.75rem;    /* 76px — display hero                     */
  --text-6xl:  6rem;       /* 96px — oversized statement              */

  /* Line heights */
  --leading-none:    1;
  --leading-tight:   1.12;   /* display headlines                     */
  --leading-snug:    1.28;   /* headings                              */
  --leading-normal:  1.5;    /* UI                                    */
  --leading-relaxed: 1.65;   /* long-form body                        */

  /* Letter-spacing — grotesque display wants slightly negative tracking */
  --tracking-tighter: -0.03em;  /* big display                        */
  --tracking-tight:   -0.02em;  /* headings                           */
  --tracking-snug:    -0.01em;  /* lead text                          */
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-eyebrow: 0.16em;   /* overline labels (uppercase)        */

  /* Semantic aliases */
  --heading-font:   var(--font-display);
  --heading-weight: var(--weight-medium);
  --body-font:      var(--font-sans);
  --body-weight:    var(--weight-regular);
}
