/* ============================================================
   Elysium+ Design System — Typography Tokens
   ============================================================
   Display:   Plus Jakarta Sans 800 / 800 italic
              Fat, bold, modern grotesque. Upright for headlines,
              italic in accent colour for emotional emphasis lines.
   Body:      Plus Jakarta Sans 400/500 — same family, unified system
   Mono:      DM Mono — metadata, codes, coordinates
   ============================================================ */

/* ── Font Imports (Google Fonts) ── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');

:root {
  /* ── Font Families ── */
  --font-display:    'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
  --font-editorial:  'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
  --font-body:       'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
  --font-mono:       'DM Mono', 'Courier New', monospace;

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

  /* ── Type Scale (fluid, editorial) ── */
  --text-xs:    0.6875rem;   /* 11px */
  --text-sm:    0.8125rem;   /* 13px */
  --text-base:  1rem;        /* 16px */
  --text-md:    1.125rem;    /* 18px */
  --text-lg:    1.3125rem;   /* 21px */
  --text-xl:    1.5625rem;   /* 25px */
  --text-2xl:   1.9375rem;   /* 31px */
  --text-3xl:   2.5rem;      /* 40px */
  --text-4xl:   3.25rem;     /* 52px */
  --text-5xl:   4.25rem;     /* 68px */
  --text-6xl:   5.5rem;      /* 88px */
  --text-7xl:   7.5rem;      /* 120px */

  /* ── Line Heights ── */
  --leading-tight:   1.05;
  --leading-snug:    1.2;
  --leading-normal:  1.5;
  --leading-relaxed: 1.6;
  --leading-loose:   1.85;

  /* ── Letter Spacing ── */
  --tracking-tight:   -0.03em;
  --tracking-snug:    -0.015em;
  --tracking-normal:   0;
  --tracking-wide:     0.03em;
  --tracking-wider:    0.06em;
  --tracking-widest:   0.15em;

  /* ── Semantic Text Roles ── */
  --text-hero:       var(--text-7xl);
  --text-display:    var(--text-5xl);
  --text-heading-1:  var(--text-4xl);
  --text-heading-2:  var(--text-3xl);
  --text-heading-3:  var(--text-2xl);
  --text-heading-4:  var(--text-xl);
  --text-body-lg:    var(--text-md);
  --text-body:       var(--text-base);
  --text-body-sm:    var(--text-sm);
  --text-caption:    var(--text-xs);
  --text-label:      var(--text-sm);
  --text-overline:   var(--text-xs);
}
