/* Narrative follows its containing column; diagrams keep their own readable scale. */
.page-course .course-body p,
.page-course .course-body section > p,
.page-course .course-body :is(ul, ol, blockquote, figcaption),
.page-exercises :is(.hero, .card, .context) > p,
.page-exercises .step > div:last-child,
.page-exercises .card > :is(ul, ol),
.page-exercises :is(.note, .context),
.page-exercises .course-figure figcaption,
.page-proof .demo-intro p { max-width: none; }

.page-proof .demo-intro { margin: 12px 0 20px; font-size: 11px; line-height: 1.65; }
.page-proof .demo-intro p { margin: 6px 0; }

/* Course sections use the compact hierarchy of the main academic pages. */
.page-course .course-body h2,
.page-exercises .card > h2 {
  font: 400 14px/1.5 Verdana, sans-serif;
  margin-bottom: 12px;
}
.page-course .course-body h3,
.page-exercises .card > h3 {
  font: 400 13px/1.5 Verdana, sans-serif;
  margin: 20px 0 10px;
}
.page-exercises .card > h3:first-child { margin-top: 0; }
.page-course .course-body :is(h4, h5, h6),
.page-exercises .card h4,
.page-exercises .card > h2 ~ h3 {
  font: 400 12px/1.5 Verdana, sans-serif;
  margin: 18px 0 8px;
}
.page-exercises .demo-panel h4 { margin: 0 0 10px; }
.page-legacy .site-content header > h2 {
  font: 400 14px/1.5 Verdana, sans-serif;
  margin: 10px 0;
}
.page-course .course-body :is(h2, h3, h4, h5, h6),
.page-exercises .card :is(h2, h3, h4) {
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
