


.u-flex { display: flex; }
.u-inlineFlex { display: inline-flex; }
.u-grid { display: grid; }
.u-block { display: block; }
.u-wrap { flex-wrap: wrap; }
.u-column { flex-direction: column; }
.u-itemsCenter { align-items: center; }
.u-itemsStart { align-items: flex-start; }
.u-itemsBaseline { align-items: baseline; }
.u-between { justify-content: space-between; }
.u-grow { flex: 1 1 auto; min-width: 0; }
.u-none { flex: none; }


.u-gap8 { gap: 8px; }
.u-gap16 { gap: 16px; }
.u-gap24 { gap: 24px; }
.u-gap32 { gap: 32px; }
.u-gapFluid { gap: max(16px, 2vw); }
.u-mt8 { margin-top: 8px; }
.u-mt16 { margin-top: 16px; }
.u-mt24 { margin-top: 24px; }
.u-mt32 { margin-top: 32px; }
.u-mt40 { margin-top: 40px; }
.u-mb8 { margin-bottom: 8px; }
.u-mb16 { margin-bottom: 16px; }
.u-mb24 { margin-bottom: 24px; }
.u-mb32 { margin-bottom: 32px; }
.u-mb40 { margin-bottom: 40px; }
.u-mb0 { margin-bottom: 0; }
.u-p24 { padding: 24px; }
.u-py8 { padding-top: 8px; padding-bottom: 8px; }


.u-caps { text-transform: uppercase; }
.u-tracked { letter-spacing: 0.18em; }
.u-small { font-size: 0.86rem; }
.u-tiny { font-size: 0.76rem; }
.u-semibold { font-weight: 600; }
.u-bold { font-weight: 700; }
.u-serif { font-family: 'Playfair Display', Georgia, serif; }
.u-tabular { font-variant-numeric: tabular-nums; }
.u-lead { font-size: 1.08rem; line-height: 1.65; }
.u-textCenter { text-align: center; }
.u-textRight { text-align: right; }
.u-measure { max-width: 62ch; }


.u-gold { color: #C9A227; }
.u-goldBright { color: #E3BE55; }
.u-ivory { color: #EFE7D8; }
.u-muted { color: #A29886; }
.u-dim { color: #8A8272; }
.u-hairline { border-top: 1px solid #23222A; }
.u-hairlineBottom { border-bottom: 1px solid #23222A; }
.u-surface { background-color: #131317; }
.u-surfaceRaised { background-color: #17171C; }


.u-noList { list-style: none; margin: 0; padding: 0; }


.u-decoration { pointer-events: none; }
.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;
}

@media (max-width: 1024px) {
  .u-hideTablet { display: none; }
}
@media (max-width: 768px) {
  .u-hideMobile { display: none; }
  .u-textCenterMobile { text-align: center; }
}
