

.flexRow { display: flex; flex-direction: row; }
.flexCol { display: flex; flex-direction: column; }
.itemsCenter { align-items: center; }
.itemsStart { align-items: flex-start; }
.justifyBetween { justify-content: space-between; }
.wrapAny { flex-wrap: wrap; }

.gapXs { gap: 0.4rem; }
.gapSm { gap: var(--space-1); }
.gapMd { gap: var(--space-2); }
.gapLg { gap: var(--space-3); }
.gapXl { gap: var(--space-4); }

.stackSm > * + * { margin-top: var(--space-1); }
.stackMd > * + * { margin-top: var(--space-2); }
.stackLg > * + * { margin-top: var(--space-3); }

.padTight { padding-top: var(--space-4); padding-bottom: var(--space-4); }
.padRoomy { padding-top: var(--space-5); padding-bottom: var(--space-5); }
.padZero { padding: 0; }
.marginZero { margin: 0; }

.textCenter { text-align: center; }
.textLeft { text-align: left; }
.textMuted { color: var(--text-secondary); }
.textAccent { color: var(--accent); }
.textSmall { font-size: 0.9rem; }
.textLead { font-size: 1.1rem; }
.fontDisplay { font-family: var(--font-display); }
.upperTrack { text-transform: uppercase; letter-spacing: 0.16em; }
.weightBold { font-weight: 700; }

.contentText { font-size: 1rem; line-height: 1.6; }

.fullWidth { width: 100%; }
.blockLevel { display: block; }
.inlineFlex { display: inline-flex; }
.listPlain { list-style: none; margin: 0; padding: 0; }
.roundedSm { border-radius: var(--radius-sm); }
.roundedLg { border-radius: var(--radius-lg); }
.edgeTop { border-top: 1px solid var(--line); }
.edgeBottom { border-bottom: 1px solid var(--line); }
.surfaceCard { background: var(--bg-elevated); }
.surfaceQuiet { background: var(--bg-secondary); }

.headRoom { margin-bottom: var(--space-3); }
.headRoomLg { margin-bottom: var(--space-4); }
.leadIn { max-width: 62ch; }

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

.minZero { min-width: 0; }
