/* ============================================================
   LIQUIDE — Typography tokens
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Michroma', 'Arial Narrow', sans-serif;        /* HK Modular  */
  --font-heading: 'Sora', 'Helvetica Neue', Arial, sans-serif;   /* Intro Rust  */
  --font-body:    'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif; /* Knockout */
  --font-script:  'Style Script', 'Brush Script MT', cursive;    /* Style Script */

  /* ---- Weights ---- */
  --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 */

  /* ---- Type scale (fluid display, fixed text) ---- */
  --fs-display-xl: clamp(3.2rem, 8vw, 7rem); /* @kind font */
  --fs-display-lg: clamp(2.6rem, 6vw, 4.5rem); /* @kind font */
  --fs-display-md: clamp(2rem, 4.5vw, 3.25rem); /* @kind font */
  --fs-h1: 2.5rem; /* @kind font */
  --fs-h2: 2rem; /* @kind font */
  --fs-h3: 1.5rem; /* @kind font */
  --fs-h4: 1.25rem; /* @kind font */
  --fs-body-lg: 1.125rem; /* @kind font */
  --fs-body:    1rem; /* @kind font */
  --fs-body-sm: 0.9375rem; /* @kind font */
  --fs-caption: 0.8125rem; /* @kind font */
  --fs-overline:0.75rem; /* @kind font */

  /* ---- Line heights ---- */
  --lh-tight:  1.04; /* @kind other */
  --lh-snug:   1.18; /* @kind other */
  --lh-normal: 1.5; /* @kind other */
  --lh-relaxed:1.7; /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-display:  0.06em; /* @kind font */
  --ls-heading:  0.01em; /* @kind font */
  --ls-overline: 0.22em; /* @kind font */
  --ls-body:     0; /* @kind font */
}

/* ------------------------------------------------------------
   Typographic primitives — opt-in classes
   ------------------------------------------------------------ */
.t-display {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-size: var(--fs-display-lg);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
}
.t-heading {
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-heading);
}
.t-overline {
  font-family: var(--font-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-overline);
  letter-spacing: var(--ls-overline);
  text-transform: uppercase;
  color: var(--brand-lavender);
}
.t-body {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
}
.t-script {
  font-family: var(--font-script);
  font-weight: var(--fw-regular);
  line-height: 1.1;
}
