/* Article body typography — used by blog posts and the admin preview */
.prose {
  font-family: "Jost", system-ui, sans-serif;
  font-size: 1.08rem;
  line-height: 1.8;
  color: #3d3545;
  overflow-wrap: break-word;
}
.prose > :first-child { margin-top: 0; }
.prose p, .prose ul, .prose ol, .prose blockquote, .prose pre, .prose table, .prose figure { margin: 0 0 1.3em; }
.prose h2, .prose h3, .prose h4 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  line-height: 1.2;
  color: #2c1240;
  margin: 1.8em 0 0.6em;
}
.prose h2 { font-size: 2rem; }
.prose h3 { font-size: 1.55rem; }
.prose h4 { font-size: 1.25rem; }
.prose a { color: #4a2566; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose a:hover { color: #6d4590; }
.prose strong { color: #2a2230; font-weight: 600; }
.prose ul, .prose ol { padding-left: 1.4em; }
.prose li { margin-bottom: 0.4em; }
.prose li::marker { color: #c7a26b; }
.prose blockquote {
  padding: 4px 0 4px 22px;
  border-left: 3px solid #c7a26b;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.45rem;
  font-style: italic;
  line-height: 1.45;
  color: #4a2566;
}
.prose blockquote p { margin: 0; }
.prose img { display: block; max-width: 100%; height: auto; margin: 1.8em auto; border-radius: 14px; }
.prose hr { border: 0; height: 1px; margin: 2.4em 0; background: #ece6f0; }
.prose code { padding: 2px 6px; border-radius: 5px; background: #f4eef8; font-size: 0.9em; }
.prose pre { padding: 16px; border-radius: 10px; background: #f4eef8; overflow-x: auto; }
.prose pre code { padding: 0; background: none; }
.prose table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.prose th, .prose td { padding: 10px 12px; border-bottom: 1px solid #ece6f0; text-align: left; }
.prose th { color: #2c1240; font-weight: 600; }
