/**
 * typography.css — Meadow Lane Park
 * Base typographic styles and prose helpers.
 */

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  color: var(--clr-text-dark);
  background-color: var(--clr-cream);
  line-height: var(--leading-normal);
}

/* ── Headings ─────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 500;
  line-height: var(--leading-tight);
  color: var(--clr-slate);
}

h1 { font-size: var(--text-5xl); }
h2 { font-size: var(--text-4xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl);  }
h5 { font-size: var(--text-lg);  }
h6 { font-size: var(--text-base);}

/* ── Section label (eyebrow text) ─────────────────────── */
.section-label {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-teal);
  display: block;
  margin-bottom: var(--space-3);
}

/* ── Body text ────────────────────────────────────────── */
p {
  font-size: var(--text-base);
  color: var(--clr-text-mid);
  line-height: var(--leading-normal);
  margin-bottom: var(--space-4);
}

p:last-child { margin-bottom: 0; }

/* ── Links ────────────────────────────────────────────── */
a {
  color: var(--clr-teal);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover, a:focus-visible {
  color: var(--clr-slate);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ── Inline text styles ───────────────────────────────── */
strong, b { font-weight: 500; }
em, i     { font-style: italic; }

small {
  font-size: var(--text-xs);
  color: var(--clr-text-light);
}

/* ── Prose / rich text content ────────────────────────── */
.prose h2 { margin: var(--space-10) 0 var(--space-4); }
.prose h3 { margin: var(--space-8)  0 var(--space-3); }
.prose h4 { margin: var(--space-6)  0 var(--space-2); }

.prose p  { margin-bottom: var(--space-5); }

.prose ul,
.prose ol {
  list-style: revert;
  padding-left: var(--space-6);
  margin-bottom: var(--space-5);
}

.prose li { margin-bottom: var(--space-2); }

.prose blockquote {
  border-left: 3px solid var(--clr-teal);
  padding-left: var(--space-6);
  margin: var(--space-8) 0;
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-style: italic;
  color: var(--clr-text-mid);
}

/* ── Utility text helpers ─────────────────────────────── */
.text-serif   { font-family: var(--font-serif); }
.text-center  { text-align: center; }
.text-muted   { color: var(--clr-text-light); }
.text-teal    { color: var(--clr-teal); }
.text-slate   { color: var(--clr-slate); }
.text-gold    { color: var(--clr-gold); }
