/* ============================================================
   SYTE.bio — Typography tokens
   Display: Montserrat — geometric grotesque echoing the SYTE
            wordmark (heavy, tight, uppercase-friendly).
   Text:    Figtree — clean humanist sans for running copy.
   Mono:    IBM Plex Mono — nucleic-acid sequences (ATCG / AUCG),
            data, code, eyebrow labels.
   NOTE: webfonts loaded from Google Fonts CDN (see @import).
   Montserrat is a close match to the proprietary wordmark — flag
   to client if an exact license/font file should be substituted.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&family=Figtree:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  /* Families */
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-text:    'Figtree', system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;

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

  /* Type scale (1.250 major-third, 16px base) */
  --text-2xs: 0.6875rem;  /* 11px — micro labels        */
  --text-xs:  0.75rem;    /* 12px — eyebrows, captions   */
  --text-sm:  0.875rem;   /* 14px — secondary UI         */
  --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 sub          */
  --text-2xl: 2.25rem;    /* 36px — section heads        */
  --text-3xl: 3rem;       /* 48px — page heads           */
  --text-4xl: 4rem;       /* 64px — display              */
  --text-5xl: 5.5rem;     /* 88px — hero                 */

  /* Line heights */
  --leading-none:    1;
  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* Letter spacing */
  --tracking-tighter: -0.03em;  /* large display          */
  --tracking-tight:   -0.015em; /* headings               */
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em;   /* mono eyebrows / labels  */
  --tracking-widest:  0.22em;   /* spaced uppercase tags   */

  /* Semantic roles */
  --font-eyebrow: var(--weight-semibold) var(--text-xs)/1.2 var(--font-mono);
}
