/* Type scale — authored in px (the brand uses no fluid clamp()).
   Line-heights are the brand's authored percentages; px comments are the resolved values. */
:root {
  --text-display-size: 75px;   --text-display-lh: 104%;    /* 78px   */
  --text-h1-size: 64px;        --text-h1-lh: 112.5%;       /* 71.68px */
  --text-h2-size: 48px;        --text-h2-lh: 112.5%;       /* 53.76px */
  --text-h3-size: 40px;        --text-h3-lh: 120%;         /* 48px   */
  --text-h4-size: 32px;        --text-h4-lh: 125%;         /* 40px   */
  --text-h5-size: 28px;        --text-h5-lh: 128.5%;       /* 35.84px */
  --text-h6-size: 24px;        --text-h6-lh: 133.33%;      /* 31.92px */
  --text-body-xl-size: 28px;   --text-body-xl-lh: 142.85%; /* 39.76px */
  --text-body-lg-size: 18px;   --text-body-lg-lh: 155.55%; /* 27.9px */
  --text-body-size: 16px;      --text-body-lh: 162.5%;     /* 25.92px */
  --text-label-size: 14px;     --text-label-lh: 157.14%;   /* 21.98px */
  --text-label-tracking: 0.42px;

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

/* Tablet ≤991px */
@media (max-width: 991px) {
  :root {
    --text-display-size: 40px;
    --text-h1-size: 52px;
    --text-h2-size: 42px;
    --text-h3-size: 34px;
    --text-h4-size: 28px;
    --text-h5-size: 24px;
    --text-h6-size: 22px;
    --text-body-xl-size: 24px;
  }
}

/* Mobile landscape ≤767px */
@media (max-width: 767px) {
  :root {
    --text-display-size: 32px;
    --text-h1-size: 38px;
    --text-h2-size: 32px;
    --text-h3-size: 28px;
    --text-h4-size: 24px;
    --text-h5-size: 22px;
    --text-h6-size: 20px;
    --text-body-lg-size: 16px;
    --text-body-xl-size: 20px;
  }
}
