/* ============================================================
   UPOLT — Base / reset & typographic helpers
   Opt-in utility classes the cards & kits use. Light-touch.
   ============================================================ */
:root {
  color-scheme: light;
}

.upolt-type-display { font-family: var(--font-sans); font-size: var(--text-display); font-weight: var(--weight-bold); line-height: var(--leading-tight); letter-spacing: var(--tracking-tighter); color: var(--text-primary); }
.upolt-type-h1 { font-family: var(--font-sans); font-size: var(--text-h1); font-weight: var(--weight-bold); line-height: var(--leading-tight); letter-spacing: var(--tracking-tighter); color: var(--text-primary); }
.upolt-type-h2 { font-family: var(--font-sans); font-size: var(--text-h2); font-weight: var(--weight-bold); line-height: var(--leading-snug); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.upolt-type-h3 { font-family: var(--font-sans); font-size: var(--text-h3); font-weight: var(--weight-semibold); line-height: var(--leading-snug); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.upolt-type-h4 { font-family: var(--font-sans); font-size: var(--text-h4); font-weight: var(--weight-semibold); line-height: var(--leading-heading); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.upolt-type-body-lg { font-family: var(--font-sans); font-size: var(--text-body-lg); font-weight: var(--weight-regular); line-height: var(--leading-normal); color: var(--text-secondary); }
.upolt-type-body { font-family: var(--font-sans); font-size: var(--text-body); font-weight: var(--weight-regular); line-height: var(--leading-normal); color: var(--text-secondary); }
.upolt-type-caption { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-regular); line-height: var(--leading-normal); color: var(--text-tertiary); }
.upolt-type-overline { font-family: var(--font-sans); font-size: var(--text-2xs); font-weight: var(--weight-semibold); line-height: 1.4; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-tertiary); }
.upolt-type-mono { font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--weight-regular); font-variant-numeric: tabular-nums; }
