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

.u-skip-link {
  position: absolute;
  top: -100px;
  left: 1rem;
  z-index: 100;
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-sm);
  background: var(--color-ink);
  color: var(--color-inverse);
  font-weight: 600;
  text-decoration: none;
  transition: top var(--transition);
}

.u-skip-link:focus {
  top: 1rem;
  color: var(--color-inverse);
}

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

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

.u-text-small {
  font-size: 0.875rem;
}

.u-mt-0 {
  margin-top: 0 !important;
}

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

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

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

.u-mb-0 {
  margin-bottom: 0 !important;
}

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

.u-maxw-prose {
  max-width: 720px;
}

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

@media print {
  .site-header,
  .site-footer,
  .cookie-consent,
  .nav-overlay {
    display: none !important;
  }

  body {
    background: #ffffff;
    color: #000000;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
