/* Bluebird Infotech — Typography tokens
   Single variable voice (Inter) flexed at fine weights; mono is taxonomy only.
   Each role exposes size / weight / line-height / tracking as discrete vars
   so components can compose them, plus a ready-to-apply shorthand class. */

:root {
  /* size */
  --fs-display-xl: 86px;
  --fs-display-lg: 64px;
  --fs-headline: 26px;
  --fs-subhead: 26px;
  --fs-card-title: 24px;
  --fs-body-lg: 20px;
  --fs-body: 18px;
  --fs-body-sm: 16px;
  --fs-link: 20px;
  --fs-button: 20px;
  --fs-eyebrow: 18px;
  --fs-caption: 12px;

  /* weight — fine-grained variable axis */
  --fw-320: 320; /* @kind other */
  --fw-330: 330; /* @kind other */
  --fw-340: 340; /* @kind other */
  --fw-400: 400; /* @kind other */
  --fw-450: 450; /* @kind other */
  --fw-480: 480; /* @kind other */
  --fw-540: 540; /* @kind other */
  --fw-700: 700; /* @kind other */

  /* line-height */
  --lh-display: 1; /* @kind other */
  --lh-display-lg: 1.1; /* @kind other */
  --lh-tight: 1.3; /* @kind other */
  --lh-snug: 1.35; /* @kind other */
  --lh-body: 1.45; /* @kind other */
  --lh-relaxed: 1.4; /* @kind other */

  /* tracking */
  --ls-display-xl: -1.72px;
  --ls-display-lg: -0.96px;
  --ls-headline: -0.26px;
  --ls-body: -0.26px;
  --ls-body-lg: -0.14px;
  --ls-link: -0.1px;
  --ls-eyebrow: 0.54px;
  --ls-caption: 0.6px;
}

/* ---- Role shorthands (optional convenience) ---- */
.t-display-xl { font: var(--fw-340) var(--fs-display-xl)/var(--lh-display) var(--font-sans); letter-spacing: var(--ls-display-xl); }
.t-display-lg { font: var(--fw-340) var(--fs-display-lg)/var(--lh-display-lg) var(--font-sans); letter-spacing: var(--ls-display-lg); }
.t-headline   { font: var(--fw-540) var(--fs-headline)/var(--lh-snug) var(--font-sans); letter-spacing: var(--ls-headline); }
.t-subhead    { font: var(--fw-340) var(--fs-subhead)/var(--lh-snug) var(--font-sans); letter-spacing: var(--ls-headline); }
.t-card-title { font: var(--fw-700) var(--fs-card-title)/1.45 var(--font-sans); }
.t-body-lg    { font: var(--fw-330) var(--fs-body-lg)/var(--lh-relaxed) var(--font-sans); letter-spacing: var(--ls-body-lg); }
.t-body       { font: var(--fw-320) var(--fs-body)/var(--lh-body) var(--font-sans); letter-spacing: var(--ls-body); }
.t-body-sm    { font: var(--fw-330) var(--fs-body-sm)/var(--lh-body) var(--font-sans); letter-spacing: var(--ls-body-lg); }
.t-link       { font: var(--fw-480) var(--fs-link)/var(--lh-relaxed) var(--font-sans); letter-spacing: var(--ls-link); }
.t-eyebrow    { font: var(--fw-400) var(--fs-eyebrow)/var(--lh-tight) var(--font-mono); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; }
.t-caption    { font: var(--fw-400) var(--fs-caption)/1 var(--font-mono); letter-spacing: var(--ls-caption); text-transform: uppercase; }

:root { font-feature-settings: "kern" 1; }
