.pa-display,
.pa-heading-xl,
.pa-heading-l,
.pa-heading-m,
.pa-heading-s {
  color: var(--pa-color-text-primary);
  font-family: var(--pa-font-family-heading);
  font-weight: var(--pa-font-weight-medium);
  line-height: var(--pa-line-height-heading);
  margin-block: 0;
}

.pa-display { font-size: var(--pa-font-size-display); }
.pa-heading-xl { font-size: var(--pa-font-size-heading-xl); }
.pa-heading-l { font-size: var(--pa-font-size-heading-l); }
.pa-heading-m { font-size: var(--pa-font-size-heading-m); }
.pa-heading-s { font-size: var(--pa-font-size-heading-s); }

.pa-body-large,
.pa-body,
.pa-body-small,
.pa-caption {
  color: var(--pa-color-text-primary);
  font-family: var(--pa-font-family-body);
  font-weight: var(--pa-font-weight-regular);
  line-height: var(--pa-line-height-body);
  margin-block: 0;
}

.pa-body-large { font-size: var(--pa-font-size-body-large); }
.pa-body { font-size: var(--pa-font-size-body); }
.pa-body-small { font-size: var(--pa-font-size-body-small); }
.pa-caption { color: var(--pa-color-text-secondary); font-size: var(--pa-font-size-caption); }

.pa-link {
  color: var(--pa-color-text-primary);
  text-decoration-color: currentColor;
  text-underline-offset: var(--pa-spacing-xs);
  transition: color var(--pa-transition-base);
}

.pa-link:hover { color: var(--pa-color-primary-hover); }
.pa-link:visited { color: var(--pa-color-text-primary); }
.pa-link:focus-visible { outline: var(--pa-focus-width) solid var(--pa-color-focus); outline-offset: var(--pa-spacing-xs); }
