/* Type scale. Sizes come from the Typography variable collection (Desktop mode = :root,
   Mobile mode = :root[data-mode="mobile"] in fig-tokens.css). Line-heights and weights are
   transcribed from the Style Guide → Typography frame. */
:root {
  --text-h1: calc(var(--text-sizes-heading-1) * 1px);  /* 72 / 40 mobile */
  --text-h2: calc(var(--text-sizes-heading-2) * 1px);  /* 52 / 36 */
  --text-h3: calc(var(--text-sizes-heading-3) * 1px);  /* 44 / 32 */
  --text-h4: calc(var(--text-sizes-heading-4) * 1px);  /* 36 / 24 */
  --text-h5: calc(var(--text-sizes-heading-5) * 1px);  /* 28 / 20 */
  --text-h6: calc(var(--text-sizes-heading-6) * 1px);  /* 22 / 18 */
  --text-large: calc(var(--text-sizes-text-large) * 1px);      /* 22 / 18 */
  --text-medium: calc(var(--text-sizes-text-medium) * 1px);    /* 18 / 16 */
  --text-regular: calc(var(--text-sizes-text-regular) * 1px);  /* 16 */
  --text-small: calc(var(--text-sizes-text-small) * 1px);      /* 14 */
  --text-tiny: calc(var(--text-sizes-text-tiny) * 1px);        /* 12 */

  --leading-display: 1.2;   /* H1–H3 */
  --leading-heading: 1.3;   /* H4 */
  --leading-snug: 1.4;      /* H5, H6, large quotes */
  --leading-body: 1.5;      /* all body sizes */
  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
}

/* Utility classes - optional shorthands mirroring the kit's text styles. */
.tlv-h1,.tlv-h2,.tlv-h3,.tlv-h4,.tlv-h5,.tlv-h6{font-family:var(--font-ui);font-weight:400;margin:0}
.tlv-h1{font-size:var(--text-h1);line-height:var(--leading-display)}
.tlv-h2{font-size:var(--text-h2);line-height:var(--leading-display)}
.tlv-h3{font-size:var(--text-h3);line-height:var(--leading-display)}
.tlv-h4{font-size:var(--text-h4);line-height:var(--leading-heading)}
.tlv-h5{font-size:var(--text-h5);line-height:var(--leading-snug)}
.tlv-h6{font-size:var(--text-h6);line-height:var(--leading-snug)}
.tlv-display{font-family:var(--font-heading);letter-spacing:var(--tracking-heading)}
.tlv-tagline{font-family:var(--font-ui);font-size:var(--text-regular);font-weight:600;line-height:var(--leading-body)}
.tlv-text-large{font-size:var(--text-large);line-height:var(--leading-snug)}
.tlv-text-medium{font-size:var(--text-medium);line-height:var(--leading-body)}
.tlv-text-regular{font-size:var(--text-regular);line-height:var(--leading-body)}
.tlv-text-small{font-size:var(--text-small);line-height:var(--leading-body)}
.tlv-text-tiny{font-size:var(--text-tiny);line-height:var(--leading-body)}
.tlv-label{font-family:var(--font-label);font-weight:400}
