/* A shared editorial hierarchy: prose, section headings, and explicit callouts. */
.ce-explorer .ce-rich :is(p, li) {
  font-size: 1.125rem;
  line-height: 1.8;
}
.ce-explorer .ce-rich :is(h2, h3) {
  font-size: clamp(1.625rem, 2.8vw, 2.25rem);
  line-height: 1.25;
  margin-block: 2.25rem 1rem;
}
.ce-explorer .ce-rich :is(h4, h5, h6),
.ce-explorer .ce-rich p.story-subheading {
  font-size: clamp(1.375rem, 2vw, 1.625rem);
  font-weight: 750;
  line-height: 1.3;
  margin-block: 1.75rem 0.875rem;
}
.ce-explorer .ce-rich p.story-statement,
.ce-explorer .ce-rich p.story-quotation {
  max-width: 58ch;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  margin-block: 2rem;
  border: 0;
  border-left: 0.25rem solid var(--blue);
  border-radius: 0 1.25rem 1.25rem 0;
  background: #e9eddf;
  color: var(--deep);
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(1.625rem, 2.5vw, 2.125rem);
  line-height: 1.45;
}
.ce-explorer .ce-rich p.story-date {
  font-size: 1.125rem;
  color: var(--deep);
}

/* Source heading fragments read as one introduction, not empty chapters. */
.ce-joined-heading .ce-section-body > .ce-rich:nth-child(-n + 2) {
  margin-block: 0;
}
.ce-joined-heading .ce-section-body > .ce-rich:nth-child(2) h3 {
  margin-block-start: 0;
}
.ce-joined-heading:has(.ce-section-summary)
  .ce-section-body
  > .ce-rich:nth-child(-n + 2) {
  display: none;
}

.ce-explorer .ce-rich p.school-editorial__focal {
  padding: clamp(1.25rem, 3vw, 2rem);
  margin-block: 2rem;
  background: #e9eddf;
  border-radius: 1.25rem;
  border-inline-start: 0.25rem solid var(--blue);
  font-weight: 650;
}
.ce-explorer .ce-rich p.school-editorial__sequence {
  padding-inline-start: 1.25rem;
  border-inline-start: 0.2rem solid var(--blue);
  margin-block: 1.5rem;
}
.ce-explorer .ce-rich p.school-editorial__testimonial {
  font-family: inherit;
  font-size: 1.125rem;
  line-height: 1.8;
  font-weight: 400;
  background: transparent;
  border: 0;
  border-inline-start: 0.15rem solid var(--line);
  border-radius: 0;
  padding: 0.5rem 0 0.5rem 1.25rem;
  margin-block: 1.25rem;
}
