/* Lab Effects — typography tokens + semantic type classes.
   Satoshi = body/UI. Antonio = condensed display. Inter = fallback only. */
:root {
  --font-sans: 'Satoshi', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-display: 'Antonio', 'Oswald', 'Satoshi', sans-serif;
  --font-heading: var(--font-display);
  --font-body: var(--font-sans);
  --font-mono: 'SFMono-Regular', ui-monospace, 'Menlo', 'Consolas', monospace;
  --font-essentials: 'Edo', 'Satoshi', sans-serif;  /* Terp Essentials rail lettering */
  --font-label-mark: 'Poppins', 'Satoshi', sans-serif;  /* oversized strain mark on labels */

  --fw-regular:   400;  /* @kind font */
  --fw-medium:    500;  /* @kind font */
  --fw-semibold:  700;  /* @kind font */  /* Satoshi has no 600 — maps to Bold */
  --fw-bold:      700;  /* @kind font */
  --fw-extrabold: 900;  /* @kind font */  /* Satoshi Black */

  --fs-h1: 56px;
  --fs-h2: 48px;
  --fs-h3: 32px;
  --fs-h4: 24px;
  --fs-h5: 14px;
  --fs-h6: 12px;
  --fs-body: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 12px;
  --fs-nav: 16px;

  --lh-display-tight: 1.05;  /* @kind font */
  --lh-display: 1.15;  /* @kind font */
  --lh-heading: 1.25;  /* @kind font */
  --lh-body: 1.6;  /* @kind font */
  --lh-body-tight: 1.4;  /* @kind font */

  --ls-tight: -0.02em;  /* @kind font */
  --ls-normal: 0;  /* @kind font */
  --ls-eyebrow: 0.14em;  /* @kind font */
}

.le-h1, h1.le { font: var(--fw-bold) var(--fs-h1)/var(--lh-display-tight) var(--font-display); letter-spacing: var(--ls-tight); color: var(--color-heading); }
.le-h2, h2.le { font: var(--fw-bold) var(--fs-h2)/var(--lh-display-tight) var(--font-display); letter-spacing: var(--ls-tight); color: var(--color-heading); }
.le-h3, h3.le { font: var(--fw-bold) var(--fs-h3)/var(--lh-display) var(--font-display); color: var(--color-heading); }
.le-h4, h4.le { font: var(--fw-semibold) var(--fs-h4)/var(--lh-heading) var(--font-sans); color: var(--color-fg); }
/* ™ / ® must NOT render in condensed Antonio — wrap them so they fall back to Satoshi. */
.le-tm { font-family: var(--font-sans); font-weight: var(--fw-medium); }
.le-eyebrow, .le-h5 { font: var(--fw-semibold) var(--fs-h5)/1.4 var(--font-heading); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--color-accent); }
.le-h6 { font: var(--fw-semibold) var(--fs-h6)/1.4 var(--font-heading); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--color-fg-3); }
.le-body { font: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-body); color: var(--color-fg-2); }
.le-body-sm { font: var(--fw-regular) var(--fs-body-sm)/var(--lh-body) var(--font-body); color: var(--color-fg-2); }
.le-caption { font: var(--fw-regular) var(--fs-caption)/1.4 var(--font-body); color: var(--color-fg-3); }
a { color: var(--color-link); text-decoration: none; }
a:hover { color: var(--color-link-hover); }
