/* Markdown typography for CMS prose (class .fm-md).
   Linked by BOTH the public site (index.html) and the admin layout so the live
   preview and the published page render identically, one source of truth. */

.fm-md > :first-child { margin-top: 0; }
.fm-md > :last-child { margin-bottom: 0; }
/* 0.7em, not 0.9: the 2026-08 feedback asked for tighter spacing *within* a run
   of prose, while the gap under a heading below stays wide so the headline
   still separates from its body. */
.fm-md p { margin: 0 0 0.7em; }
.fm-md strong { font-weight: 600; }
.fm-md em { font-style: italic; }
.fm-md del { text-decoration: line-through; opacity: 0.75; }
.fm-md a { color: var(--burgundy); text-decoration: underline; text-underline-offset: 2px; }
/* both the bundle's reset and the admin's set list-style:none, so restore the
   markers explicitly or bullets/numbers vanish */
.fm-md ul,
.fm-md ol { margin: 0 0 0.9em; padding-left: 1.4em; }
.fm-md ul { list-style: disc outside; }
.fm-md ol { list-style: decimal outside; }
.fm-md ul ul { list-style: circle outside; }
.fm-md li { margin: 0.3em 0; }
.fm-md h2,
.fm-md h3 {
  font-family: var(--font-display);
  letter-spacing: .05em;
  line-height: 1.28;
  margin: 1.5em 0 .65em;
}
.fm-md h2 { font-size: 1.15em; }
.fm-md h3 { font-size: 1.05em; }
.fm-md blockquote {
  margin: 0 0 0.9em;
  padding: 2px 0 2px 16px;
  border-left: 2px solid var(--gold);
  color: inherit;
  font-style: italic;
}
.fm-md code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .88em;
  background: var(--off-white);
  border: 1px solid var(--light-gray);
  border-radius: 4px;
  padding: 1px 5px;
}
.fm-md pre {
  margin: 0 0 0.9em;
  padding: 12px 14px;
  background: var(--off-white);
  border: 1px solid var(--light-gray);
  border-radius: 8px;
  overflow-x: auto;
}
.fm-md pre code { background: none; border: 0; padding: 0; }
.fm-md img { max-width: 100%; height: auto; }
.fm-md table { width: 100%; border-collapse: collapse; margin: 0 0 0.9em; display: block; overflow-x: auto; }
.fm-md th,
.fm-md td { border: 1px solid var(--light-gray); padding: 7px 10px; text-align: left; }

