.stack {
  display: flex;
  flex-direction: column;
  gap: var(--stack-gap, 1.6rem);
}

.stack--xs {
  --stack-gap: 0.8rem;
}

.stack--sm {
  --stack-gap: 1.2rem;
}

.stack--md {
  --stack-gap: 1.8rem;
}

.stack--lg {
  --stack-gap: 2.6rem;
}

.stack--xl {
  --stack-gap: 3.6rem;
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cluster-gap, 1.6rem);
}

.cluster--sm {
  --cluster-gap: 1.2rem;
}

.cluster--md {
  --cluster-gap: 2.4rem;
}

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

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

.text-sm {
  font-size: 1.3rem;
}

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