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

.u-skip-link {
  position: absolute;
  left: var(--space-3);
  top: -3rem;
  z-index: 100;
  background-color: var(--color-ink);
  color: var(--color-surface);
  padding: 0.6rem 1rem;
  border-radius: var(--radius-md);
  transition: top 0.2s ease;
}

.u-skip-link:focus {
  top: var(--space-3);
}

.u-text-center {
  text-align: center;
}

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

.u-text-faint {
  color: var(--color-ink-faint);
}

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

.u-text-balance {
  text-wrap: balance;
}

.u-text-pretty {
  text-wrap: pretty;
}

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

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

.u-flex {
  display: flex;
}

.u-flex-col {
  display: flex;
  flex-direction: column;
}

.u-items-center {
  align-items: center;
}

.u-justify-between {
  justify-content: space-between;
}

.u-gap-1 {
  gap: var(--space-1);
}

.u-gap-2 {
  gap: var(--space-2);
}

.u-gap-3 {
  gap: var(--space-3);
}

.u-gap-4 {
  gap: var(--space-4);
}

.u-mt-2 {
  margin-top: var(--space-2);
}

.u-mt-4 {
  margin-top: var(--space-4);
}

.u-mt-6 {
  margin-top: var(--space-6);
}

.u-mb-2 {
  margin-bottom: var(--space-2);
}

.u-mb-4 {
  margin-bottom: var(--space-4);
}

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

@media (min-width: 900px) {
  .u-hidden-desktop {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .u-hidden-mobile {
    display: none !important;
  }
}

.u-max-w-prose {
  max-width: 42rem;
}

.u-no-scroll {
  overflow: hidden;
}

@media (max-width: 899px) {
  .u-order-first-mobile {
    order: -1;
  }
}
