/* OJBP — Typography Tokens */

:root {
  /* ── Font Families ── */
  --font-display:       'WindSong', cursive;        /* primary script — headings, section accents */
  --font-display-event: 'Shelby Script', cursive;   /* 2026 event logo only */
  --font-sans:          'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --font-body:          var(--font-sans);

  /* ── Font Weights ── */
  --font-weight-regular:    400;
  --font-weight-medium:     500;
  --font-weight-semibold:   600;
  --font-weight-bold:       700;
  --font-weight-extrabold:  800;
  --font-weight-black:      900;

  /* ── Scale (Major Third, base 16px) ── */
  --text-xs:   0.694rem;   /* 11px */
  --text-sm:   0.833rem;   /* 13px */
  --text-base: 1rem;       /* 16px */
  --text-md:   1.125rem;   /* 18px */
  --text-lg:   1.25rem;    /* 20px */
  --text-xl:   1.5rem;     /* 24px */
  --text-2xl:  1.875rem;   /* 30px */
  --text-3xl:  2.25rem;    /* 36px */
  --text-4xl:  3rem;       /* 48px */
  --text-5xl:  3.75rem;    /* 60px */
  --text-6xl:  5rem;       /* 80px */

  /* ── Line Heights ── */
  --leading-tight:  1.15;
  --leading-snug:   1.3;
  --leading-normal: 1.5;
  --leading-relaxed:1.7;

  /* ── Letter Spacing ── */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0em;
  --tracking-wide:    0.08em;
  --tracking-widest:  0.18em;

  /* ── Semantic roles ── */
  --type-display:     var(--font-display);
  --type-heading:     var(--font-sans);
  --type-body:        var(--font-sans);
  --type-ui:          var(--font-sans);
  --type-label:       var(--font-sans);

  --type-nav-size:        var(--text-xs);
  --type-nav-weight:      var(--font-weight-semibold);
  --type-nav-tracking:    var(--tracking-widest);
  --type-nav-transform:   uppercase;
}
