/* ==========================================================================
   Utilities — small, single-purpose helper classes
   ========================================================================== */

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

.skip-link {
  position: absolute;
  left: 0;
  top: -100px;
  background: var(--color-primary);
  color: var(--color-white);
  padding: var(--space-3) var(--space-6);
  z-index: 1000;
}

.skip-link:focus {
  top: 0;
}

.u-text-center { text-align: center; }
.u-text-muted { color: var(--color-text-muted); font-size: var(--fs-100); }

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

/* Reusable CTA row — hero, CTA banners, and FAQ closing line all need a
   wrapped, gapped row of buttons rather than one-off inline styles. */
.btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.btn-group--center { justify-content: center; }
