.u-text-muted {
  color: var(--text-secondary);
}

.u-upper {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.u-flow-md>*+* {
  margin-top: var(--space-md);
}

.u-hide {
  display: none !important;
}

.u-pill {
  border-radius: 999px;
}

.u-inline {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

.u-border-top {
  border-top: 1px solid var(--border-color);
  opacity: 0.15;
}

.u-border-bottom {
  border-bottom: 1px solid var(--border-color);
  opacity: 0.15;
}

.u-divider {
  width: 100%;
  height: 1px;
  background: var(--border-color);
  opacity: 0.15;
}

.u-grid-2 {
  --grid-columns: 2;
  --grid-columns-tablet: 2;
  --grid-columns-mobile: 1;
}

.u-grid-3 {
  --grid-columns: 3;
  --grid-columns-tablet: 2;
  --grid-columns-mobile: 1;
}

.u-grid-4 {
  --grid-columns: 4;
  --grid-columns-tablet: 2;
  --grid-columns-mobile: 2;
}

.u-gap-tight {
  --grid-gap: var(--space-md);
}

.u-gap-loose {
  --grid-gap: var(--space-xl);
}

.u-accent {
  color: var(--white);
}

.u-text-contrast {
  color: var(--text-primary);
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(100%);
  white-space: nowrap;
  border: 0;
}