:root {
  /* Sizes — display sizes are deliberately large; body stays 15–17px */
  --size-display-1: 76px;
  --size-display-2: 60px;
  --size-display-3: 46px;
  --size-title-1: 34px;
  --size-title-2: 26px;
  --size-title-3: 21px;
  --size-body-lg: 17px;
  --size-body: 15px;
  --size-body-sm: 14px;
  --size-caption: 12.5px;
  --size-micro: 10.5px;

  --leading-tight: 0.98;
  --leading-display: 1.04;
  --leading-title: 1.14;
  --leading-body: 1.55;
  --leading-relaxed: 1.7;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Tracking — display type tightens, micro caps open right up */
  --track-display: -0.015em; /* serif display wants gentler tightening than the old grotesk -0.035em */
  --track-title: -0.01em;
  --track-body: -0.005em;
  --track-caps: 0.1em;
  --track-micro: 0.14em;
  --track-mark: 0.34em;   /* the VYRE wordmark */

  /* Composed roles */
  --type-display-1: var(--weight-medium) var(--size-display-1) / var(--leading-tight) var(--font-serif);
  --type-display-2: var(--weight-medium) var(--size-display-2) / var(--leading-display) var(--font-serif);
  --type-display-3: var(--weight-medium) var(--size-display-3) / var(--leading-display) var(--font-serif);
  --type-title-1: var(--weight-medium) var(--size-title-1) / var(--leading-title) var(--font-serif);
  --type-title-2: var(--weight-medium) var(--size-title-2) / var(--leading-title) var(--font-serif);
  --type-title-3: var(--weight-medium) var(--size-title-3) / var(--leading-title) var(--font-core);
  --type-body-lg: var(--weight-regular) var(--size-body-lg) / var(--leading-body) var(--font-body);
  --type-body: var(--weight-regular) var(--size-body) / var(--leading-body) var(--font-body);
  --type-body-sm: var(--weight-regular) var(--size-body-sm) / var(--leading-body) var(--font-body);
  --type-caption: var(--weight-regular) var(--size-caption) / 1.4 var(--font-body);
  --type-ui: var(--weight-medium) var(--size-body-sm) / 1 var(--font-ui);
  --type-eyebrow: var(--weight-medium) var(--size-micro) / 1.2 var(--font-mark);
  --type-data: var(--weight-regular) var(--size-body-sm) / 1.45 var(--font-mono);
  --type-data-sm: var(--weight-regular) var(--size-caption) / 1.4 var(--font-mono);
}
