.flow > * + * {
  margin-block-start: var(--flow-space, 1.5rem);
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cluster-gap, var(--dg-space-4));
}

.stack {
  display: flex;
  flex-direction: column;
  gap: var(--stack-gap, var(--dg-space-6));
}

.full-bleed {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

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

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

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

.hide-mobile {
  display: initial;
}

[data-motion="reveal"] {
  transition:
    opacity var(--dg-duration-slow) var(--dg-ease-enter),
    transform var(--dg-duration-slow) var(--dg-ease-enter);
}

.js [data-motion="reveal"]:not(.is-visible) {
  opacity: 0;
  transform: translateY(1.25rem);
}

.js [data-motion="reveal"].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 47.99rem) {
  .hide-mobile {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js [data-motion="reveal"] {
    opacity: 1;
    transform: none;
  }
}

