/* ============================================================
   Savory Marketing — utilities.css
   Single-purpose helpers that replace the prototype's inline style= attributes
   (build-prompt gate 9.2 = zero inline styles). Tokens only, no raw hex.

   LOAD ORDER: this is linked LAST on every page (after components, shared, and
   the page's own pages/<page>.css) so a utility reliably wins the cascade over
   the component/page default it overrides — e.g. .mt-0 over .cards{margin-top:44px}
   or .log{margin-top:44px}. Utilities only affect elements that opt in by class,
   so loading last has no collateral effect.
   ============================================================ */

/* spacing — margin-top overrides (values map 1:1 to the prototype's inline tweaks) */
.mt-0{margin-top:0}
.mt-8{margin-top:8px}
.mt-20{margin-top:20px}
.mt-24{margin-top:24px}
.mt-36{margin-top:36px}
.mt-56{margin-top:56px}

/* layout */
.ml-auto{margin-left:auto}
.minw-0{min-width:0}          /* flex/grid child overflow guard */

/* text color */
.t-accent{color:var(--accent)}
.t-tertiary{color:var(--ink-tertiary)}

/* text width — lift the .lede reading-width cap for a one-line intro line */
.lede--wide{max-width:none}

/* screen-reader-only — visually hidden, still announced. Carries the text
   meaning of colour/glyph-coded comparison cells (WCAG 1.4.1). */
.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
