/* utilities.css — small single-purpose helpers. Loaded last so they win. */

@layer utilities {
  /* Hide visually but keep for screen readers */
  .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;
  }

  /* Vertical rhythm between direct children */
  .flow > * + * {
    margin-top: var(--space-4);
  }

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

  .text-muted { color: var(--color-text-muted); }
  .text-small { font-size: var(--text-sm); }
  .text-center { text-align: center; }

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

  .max-prose { max-width: 65ch; }

  .nowrap { white-space: nowrap; }
}
