/* ---- UCN type scale ---------------------------------------------------
   Display + heading = Poppins 300. Body/UI/buttons = Karla.
   Negative tracking on display is the typographic signature.
   Money and numeric cells use the tabular utility.
------------------------------------------------------------------------ */
:root{
  --text-display-xxl-size:56px;   --text-display-xxl-line:1.03; --text-display-xxl-track:-1.4px;
  --text-display-xl-size:48px;    --text-display-xl-line:1.15;  --text-display-xl-track:-0.96px;
  --text-display-lg-size:32px;    --text-display-lg-line:1.1;   --text-display-lg-track:-0.64px;
  --text-display-md-size:26px;    --text-display-md-line:1.12;  --text-display-md-track:-0.26px;
  --text-heading-lg-size:22px;    --text-heading-lg-line:1.1;   --text-heading-lg-track:-0.22px;
  --text-heading-md-size:20px;    --text-heading-md-line:1.4;   --text-heading-md-track:-0.2px;
  --text-heading-sm-size:18px;    --text-heading-sm-line:1.4;   --text-heading-sm-track:0;
  --text-body-lg-size:16px;       --text-body-lg-line:1.4;      --text-body-lg-track:0;
  --text-body-md-size:15px;       --text-body-md-line:1.4;      --text-body-md-track:0;
  --text-body-tabular-size:14px;  --text-body-tabular-line:1.4; --text-body-tabular-track:-0.42px;
  --text-button-md-size:16px;     --text-button-md-line:1;      --text-button-md-track:0;
  --text-button-sm-size:14px;     --text-button-sm-line:1;      --text-button-sm-track:0;
  --text-caption-size:13px;       --text-caption-line:1.4;      --text-caption-track:-0.39px;
  --text-micro-size:11px;         --text-micro-line:1.4;        --text-micro-track:0;
  --text-micro-cap-size:10px;     --text-micro-cap-line:1.15;   --text-micro-cap-track:0.1px;
}

/* Type-role utilities — same names as the token table. */
.ucn-display-xxl,.ucn-display-xl,.ucn-display-lg,.ucn-display-md,
.ucn-heading-lg,.ucn-heading-md,.ucn-heading-sm,.ucn-micro-cap{
  font-family:var(--font-display);font-weight:var(--font-weight-light);color:var(--text-body);margin:0;
}
.ucn-display-xxl{font-size:var(--text-display-xxl-size);line-height:var(--text-display-xxl-line);letter-spacing:var(--text-display-xxl-track)}
.ucn-display-xl{font-size:var(--text-display-xl-size);line-height:var(--text-display-xl-line);letter-spacing:var(--text-display-xl-track)}
.ucn-display-lg{font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line);letter-spacing:var(--text-display-lg-track)}
.ucn-display-md{font-size:var(--text-display-md-size);line-height:var(--text-display-md-line);letter-spacing:var(--text-display-md-track)}
.ucn-heading-lg{font-size:var(--text-heading-lg-size);line-height:var(--text-heading-lg-line);letter-spacing:var(--text-heading-lg-track)}
.ucn-heading-md{font-size:var(--text-heading-md-size);line-height:var(--text-heading-md-line);letter-spacing:var(--text-heading-md-track)}
.ucn-heading-sm{font-size:var(--text-heading-sm-size);line-height:var(--text-heading-sm-line);letter-spacing:var(--text-heading-sm-track)}
.ucn-micro-cap{font-size:var(--text-micro-cap-size);line-height:var(--text-micro-cap-line);letter-spacing:var(--text-micro-cap-track);font-weight:var(--font-weight-regular);text-transform:uppercase}

.ucn-body-lg,.ucn-body-md,.ucn-body-tabular,.ucn-caption,.ucn-micro{
  font-family:var(--font-body);font-weight:var(--font-weight-light);color:var(--text-body);margin:0;
}
.ucn-body-lg{font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line)}
.ucn-body-md{font-size:var(--text-body-md-size);line-height:var(--text-body-md-line)}
.ucn-body-tabular{font-size:var(--text-body-tabular-size);line-height:var(--text-body-tabular-line);letter-spacing:var(--text-body-tabular-track);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.ucn-caption{font-size:var(--text-caption-size);line-height:var(--text-caption-line);letter-spacing:var(--text-caption-track);font-weight:var(--font-weight-regular);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.ucn-micro{font-size:var(--text-micro-size);line-height:var(--text-micro-line)}

/* Any cell rendering money, counts, or enrollment numbers. */
.ucn-tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-0.42px}
