/* Shared reading surface: native articles and program testimonials.
   Page adapters own category identity, navigation, and special gallery/sidebar treatment. */
.ssm-reading { background: var(--ssm-paper); }

.ssm-reading__meta { display: flex; flex-wrap: wrap; gap: .7rem; margin: clamp(1.5rem, 3vw, 2.5rem) 0 0; font-weight: 700; }
.ssm-reading__layout { padding-bottom: var(--ssm-section-space); }
.ssm-reading__content { min-width: 0; font-size: var(--ssm-body-copy-size); line-height: var(--ssm-body-copy-line-height); }
.ssm-reading__content > :first-child { margin-top: 0; }
.ssm-reading__content h2 { margin: 2.1em 0 .55em; font-size: var(--ssm-section-title-size); line-height: 1; }
.ssm-reading__content h3 { margin: 1.8em 0 .5em; font-size: clamp(1.65rem, 3vw, 2.4rem); }
.ssm-reading__content p,
.ssm-reading__content ul,
.ssm-reading__content ol { max-width: 44rem; }
.ssm-reading__content img { height: auto; }
.ssm-reading__content figure { margin: clamp(2rem, 4vw, 3.5rem) 0; }
.ssm-reading__content figcaption { margin-top: .65rem; color: var(--ssm-muted); font-size: .88rem; }

.ssm-reading__header {
  padding-top: var(--ssm-section-space);
  padding-bottom: var(--ssm-component-space);
}
.ssm-reading__header h1 {
  margin: 0;
  font-size: var(--ssm-detail-hero-size);
  line-height: .94;
  letter-spacing: -.045em;
}
.ssm-reading .ssm-reading__meta {
  font-family: var(--ssm-font-body);
  font-size: var(--ssm-body-copy-size);
  line-height: var(--ssm-body-copy-line-height);
}
.ssm-reading .ssm-reading__meta a { color: inherit; }
.ssm-reading .ssm-reading__content > :is(p, ul, ol) { max-width: none; }
.ssm-reading .ssm-reading__content :is(h2, h3, h4) { color: inherit; }
/* Reading-flow spacing uses shared spacing tokens instead of heading-font ems.
   Direct children only: registered note/sidebar component interiors retain their rules. */
.ssm-reading .ssm-reading__content > h2 {
  margin: var(--ssm-component-space) 0 var(--ssm-heading-gap);
}
.ssm-reading .ssm-reading__content > h3 {
  margin: var(--ssm-heading-gap) 0 var(--ssm-body-copy-size);
}
.ssm-reading .ssm-reading__content figure { margin: var(--ssm-component-space) 0; }
/* The first body item shares the sidebar start; spacing is only between items. */
.ssm-reading .ssm-reading__content > :first-child { margin-top: 0; }
.ssm-reading .ssm-reading__content figure img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
  .ssm-reading__header { padding-top: var(--ssm-section-space-mobile); }
}

