/* ==========================================================================
   Mama Bear Law — Typography Tokens
   One typeface: Montserrat. Black (900) for display/headlines, Bold (700) for
   subheads and UI labels, Regular (400) for body. Headlines run tight and
   punchy; pillar/eyebrow labels are uppercase with wide tracking.
   ========================================================================== */

:root {
  /* Families */
  --font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;

  /* Weights */
  --fw-regular: 400;
  --fw-bold: 700;
  --fw-black: 900;

  /* Fluid display sizes — heavy, tight headlines */
  --fs-display-xl: clamp(2.75rem, 5.5vw, 4.5rem);   /* hero headline */
  --fs-display-lg: clamp(2.25rem, 4vw, 3.5rem);     /* section headline */
  --fs-display-md: clamp(1.75rem, 3vw, 2.5rem);     /* sub-hero */

  /* Static type scale */
  --fs-h1: 3rem;      /* 48 */
  --fs-h2: 2.25rem;   /* 36 */
  --fs-h3: 1.5rem;    /* 24 */
  --fs-h4: 1.25rem;   /* 20 */
  --fs-lg: 1.125rem;  /* 18 */
  --fs-base: 1rem;    /* 16 */
  --fs-sm: 0.875rem;  /* 14 */
  --fs-xs: 0.75rem;   /* 12 — eyebrows/labels only */

  /* Line heights */
  --lh-tight: 1.05;   /* display headlines */
  --lh-snug: 1.2;     /* subheads */
  --lh-normal: 1.5;   /* body */
  --lh-relaxed: 1.65; /* long-form paragraphs */

  /* Letter spacing */
  --ls-tight: -0.02em;   /* big Black headlines */
  --ls-normal: 0;
  --ls-wide: 0.08em;     /* uppercase eyebrows */
  --ls-wider: 0.14em;    /* nav / small caps labels */

  /* ------------------------------------------------------------------
     Semantic type roles
     ------------------------------------------------------------------ */
  --type-eyebrow-size: var(--fs-xs);
  --type-eyebrow-weight: var(--fw-bold);
  --type-eyebrow-spacing: var(--ls-wider);

  --type-heading-weight: var(--fw-black);
  --type-heading-spacing: var(--ls-tight);
  --type-heading-leading: var(--lh-tight);

  --type-body-size: var(--fs-base);
  --type-body-weight: var(--fw-regular);
  --type-body-leading: var(--lh-relaxed);

  --type-label-weight: var(--fw-bold);
  --type-label-spacing: var(--ls-wide);
}
