


.u-flex { display: flex; }
.u-grid { display: grid; }
.u-wrap { flex-wrap: wrap; }
.u-alignCenter { align-items: center; }
.u-justifyBetween { justify-content: space-between; }
.u-gapXs { gap: var(--space-2xs); }
.u-gapS { gap: var(--space-s); }
.u-gapM { gap: var(--space-m); }
.u-gapL { gap: var(--space-l); }
.u-textCenter { text-align: center; }
.u-mb0 { margin-bottom: 0; }
.u-mbXs { margin-bottom: var(--space-xs); }
.u-mbS { margin-bottom: var(--space-s); }
.u-mbM { margin-bottom: var(--space-m); }
.u-mbL { margin-bottom: var(--space-l); }
.u-mtS { margin-top: var(--space-s); }
.u-mtM { margin-top: var(--space-m); }
.u-w100 { width: 100%; }
.u-fw600 { font-weight: 600; }
.u-fw700 { font-weight: 700; }
.u-upper { text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.72em; font-weight: 700; }
.u-muted { color: var(--text-muted); }
.u-secondary { color: var(--text-secondary); }
.u-small { font-size: 0.88em; }
.u-lead { font-size: 1.1em; color: var(--text-secondary); }
.u-noBullets { list-style: none; margin: 0; padding: 0; }
.u-srOnly {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.u-nowrap { white-space: nowrap; }
.u-relative { position: relative; }
.u-block { display: block; }
.u-inlineFlex { display: inline-flex; }
.u-column { flex-direction: column; }
.u-rounded { border-radius: 1em; }
.u-shadowSoft { box-shadow: var(--shadow-soft); }
.u-shadowLift { box-shadow: var(--shadow-lift); }
.u-borderSoft { border: 1px solid var(--line-soft); }
.u-bgBase { background: var(--surface-base); }
.u-bgRaised { background: var(--surface-raised); }
.u-bgSunken { background: var(--surface-sunken); }
.u-caps { text-transform: uppercase; }
.u-tight { line-height: 1.2; }
.u-accent { color: var(--action-primary); }
.u-onDark { color: var(--text-inverse); }
.u-overflowHidden { overflow: hidden; }
