/* HUS typography — single family (Manrope / Forma DJR Micro).
   Display weight is 500 at every size, including hero. Body 400.
   Buttons uppercase 600 with 0.7px tracking — the only tracked text. */
:root {
  /* font sizes */
  --fs-display-xxl: 72px;
  --fs-display-xl: 56px;
  --fs-display-lg: 44px;
  --fs-display-md: 32px;
  --fs-display-sm: 24px;
  --fs-display-xs: 20px;
  --fs-body-lg: 18px;
  --fs-body-md: 16px;
  --fs-caption-md: 14px;
  --fs-caption-sm: 12px;
  --fs-price: 24px;
  --fs-button-md: 14px;
  --fs-button-sm: 12.6px;

  /* weights */
  --fw-regular: 400;   /* @kind font */
  --fw-medium: 500;    /* @kind font */
  --fw-semibold: 600;  /* @kind font */
  --fw-bold: 700;      /* @kind font */

  /* line heights */
  --lh-display: 1.0;     /* @kind other */
  --lh-display-sm: 1.17; /* @kind other */
  --lh-body: 1.4;        /* @kind other */
  --lh-caption: 1.5;     /* @kind other */
}

/* Type role utility classes (optional convenience for cards/specimens) */
.hus-display-xxl { font: var(--fw-medium) var(--fs-display-xxl)/var(--lh-display) var(--font-sans); letter-spacing: 0; }
.hus-display-xl  { font: var(--fw-medium) var(--fs-display-xl)/var(--lh-display) var(--font-sans); letter-spacing: 0; }
.hus-display-lg  { font: var(--fw-medium) var(--fs-display-lg)/var(--lh-display) var(--font-sans); letter-spacing: 0; }
.hus-display-md  { font: var(--fw-medium) var(--fs-display-md)/var(--lh-display) var(--font-sans); letter-spacing: 0; }
.hus-display-sm  { font: var(--fw-medium) var(--fs-display-sm)/var(--lh-display-sm) var(--font-sans); }
.hus-display-xs  { font: var(--fw-medium) var(--fs-display-xs)/var(--lh-display) var(--font-sans); }
.hus-body-lg     { font: var(--fw-regular) var(--fs-body-lg)/1.33 var(--font-sans); }
.hus-body-md     { font: var(--fw-regular) var(--fs-body-md)/1.38 var(--font-sans); }
.hus-body-emphasis { font: var(--fw-medium) var(--fs-body-md)/1.38 var(--font-sans); }
.hus-caption-md  { font: var(--fw-regular) var(--fs-caption-md)/var(--lh-caption) var(--font-sans); }
.hus-caption-sm  { font: var(--fw-regular) var(--fs-caption-sm)/1.33 var(--font-sans); }
.hus-button-md   { font: var(--fw-semibold) var(--fs-button-md)/1.4 var(--font-sans); letter-spacing: 0.7px; text-transform: uppercase; }
.hus-price       { font: var(--fw-medium) var(--fs-price)/var(--lh-display-sm) var(--font-sans); }
