/* ============================================================
   Mo's Law Office — Base element styles & helpers
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
  color: var(--text-body);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  margin: 0 0 0.4em;
  letter-spacing: 0.005em;
}
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); font-weight: var(--fw-medium); }
h4 { font-size: var(--text-h4); font-family: var(--font-body); font-weight: var(--fw-semibold); }

p  { margin: 0 0 1em; }
a  { color: var(--text-gold); text-decoration: none; }
a:hover { color: var(--accent-press); }

::selection { background: var(--gold-200); color: var(--ink-900); }

/* ---- Helpers ---- */
.ds-eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--text-gold);
}
.ds-display {
  font-family: var(--font-display);
  font-size: var(--text-display);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  color: var(--text-strong);
  margin: 0;
}
.ds-lead {
  font-size: var(--text-lead);
  line-height: var(--lh-body);
  color: var(--text-body);
}
/* Gilded text — for short accents only */
.ds-gold-text {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* Thin gilded rule */
.ds-gold-rule {
  height: 2px; width: 56px; border: 0;
  background: var(--gold-gradient);
}
.ds-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
