/* ============================================================
   UPLIFT — Typography tokens
   Plus Jakarta Sans drives the product; IBM Plex Mono labels
   the data; a condensed display face carries the big editorial
   moments; a geometric sans is reserved for the wordmark.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans:    "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-display: "Bebas Neue", "Plus Jakarta Sans", Impact, sans-serif; /* Humane substitute */
  --font-wordmark:"Poppins", "Plus Jakarta Sans", sans-serif;            /* Geomanist substitute */
  --font-script:  "Sacramento", "Snell Roundhand", cursive;

  /* ---- Weights ---- */
  --fw-light:    300; /* @kind font */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-extra:    800; /* @kind font */

  /* ---- Fluid type scale (product / web) ---- */
  --text-2xs:  0.6875rem;  /* 11px — mono micro-labels */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px — body */
  --text-md:   1.125rem;   /* 18px */
  --text-lg:   1.375rem;   /* 22px */
  --text-xl:   1.75rem;    /* 28px */
  --text-2xl:  2.25rem;    /* 36px — section heads */
  --text-3xl:  3rem;       /* 48px */
  --text-4xl:  4rem;       /* 64px */
  --display-1: clamp(4rem, 14vw, 13rem); /* @kind font */

  /* ---- Line heights ---- */
  --leading-tight:   1.05;  /* @kind font */
  --leading-snug:    1.2;   /* @kind font */
  --leading-normal:  1.45;  /* @kind font */
  --leading-relaxed: 1.65;  /* @kind font */

  /* ---- Tracking ---- */
  --tracking-tight:  -0.02em;  /* @kind font */
  --tracking-normal: 0;        /* @kind font */
  --tracking-wide:   0.08em;   /* @kind font */
  --tracking-wider:  0.14em;   /* @kind font */

  /* ---- Semantic roles ---- */
  --label-mono: var(--fw-medium) var(--text-2xs)/1 var(--font-mono);
}

/* ---- Convenience utility classes (optional, for cards/kits) ---- */
.u-mono-label {
  font: var(--label-mono);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--text-brand);
}
.u-display {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0.005em;
  text-transform: uppercase;
}
.u-heading {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-snug);
}
.u-script {
  font-family: var(--font-script);
  color: var(--text-brand);
  font-weight: 400;
}
