/* ── UTILITIES ────────────────────────────────────────────────
   Small spacing/typography/color scale, built from the actual values
   already in use across the site's 600+ inline style="" attributes
   (see NEXT-STEPS.md), not invented top-down. Covers the common cases;
   genuinely one-off values stay inline — that's expected, not a gap. */

/* Text color */
.text-mid { color: var(--mid); }
.text-navy { color: var(--navy); }
.text-sky { color: var(--sky); }
.text-white { color: var(--white); }
.text-charcoal { color: var(--charcoal); }

/* Text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Button row — wraps 2+ buttons side by side, stacking on small screens.
   Was duplicated as an identical inline style on 17+ pages. */
.btn-row { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Font weight */
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }

/* Font size (rem × 100, e.g. .fs-85 = 0.85rem) */
.fs-70 { font-size: 0.7rem; }
.fs-72 { font-size: 0.72rem; }
.fs-75 { font-size: 0.75rem; }
.fs-78 { font-size: 0.78rem; }
.fs-80 { font-size: 0.8rem; }
.fs-82 { font-size: 0.82rem; }
.fs-85 { font-size: 0.85rem; }
.fs-88 { font-size: 0.88rem; }
.fs-90 { font-size: 0.9rem; }
.fs-100 { font-size: 1rem; }
.fs-110 { font-size: 1.1rem; }
.fs-120 { font-size: 1.2rem; }
.fs-150 { font-size: 1.5rem; }
.fs-200 { font-size: 2rem; }

/* Margin-top / margin-bottom (rem × 100, e.g. .mt-150 = 1.5rem) */
.mt-0 { margin-top: 0; }
.mt-20 { margin-top: 0.2rem; }
.mt-25 { margin-top: 0.25rem; }
.mt-35 { margin-top: 0.35rem; }
.mt-40 { margin-top: 0.4rem; }
.mt-50 { margin-top: 0.5rem; }
.mt-60 { margin-top: 0.6rem; }
.mt-75 { margin-top: 0.75rem; }
.mt-100 { margin-top: 1rem; }
.mt-125 { margin-top: 1.25rem; }
.mt-150 { margin-top: 1.5rem; }
.mt-175 { margin-top: 1.75rem; }
.mt-200 { margin-top: 2rem; }
.mt-250 { margin-top: 2.5rem; }
.mt-300 { margin-top: 3rem; }
.mt-350 { margin-top: 3.5rem; }
.mt-400 { margin-top: 4rem; }
.mt-500 { margin-top: 5rem; }

.mb-0 { margin-bottom: 0; }
.mb-20 { margin-bottom: 0.2rem; }
.mb-25 { margin-bottom: 0.25rem; }
.mb-35 { margin-bottom: 0.35rem; }
.mb-40 { margin-bottom: 0.4rem; }
.mb-50 { margin-bottom: 0.5rem; }
.mb-60 { margin-bottom: 0.6rem; }
.mb-75 { margin-bottom: 0.75rem; }
.mb-100 { margin-bottom: 1rem; }
.mb-125 { margin-bottom: 1.25rem; }
.mb-150 { margin-bottom: 1.5rem; }
.mb-175 { margin-bottom: 1.75rem; }
.mb-200 { margin-bottom: 2rem; }
.mb-250 { margin-bottom: 2.5rem; }
.mb-300 { margin-bottom: 3rem; }
.mb-350 { margin-bottom: 3.5rem; }
.mb-400 { margin-bottom: 4rem; }
.mb-500 { margin-bottom: 5rem; }
