/* Reading pages share the Gallery's typography, palette and spacing roles. */
.reading { padding-block: var(--section-space); }
.reading__head { margin-bottom: var(--space-16); max-width: 1100px; }
.reading__head h1 { max-width: 20ch; }
.reading__byline,.insights__intro { margin-top: var(--space-6); }
.reading__jump { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--space-4); color: var(--blue); }
.reading__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--column-gap); align-items: start; }
.reading__aside { position: sticky; top: var(--space-8); }
.reading__contents { border-top: 1px solid var(--line); }
.reading__contents summary { padding-block: var(--space-4); min-height: 44px; color: var(--blue); font-weight: 500; }
.reading__contents ul { list-style: none; padding: 0; max-width: 32ch; }
.reading__contents a { display: flex; align-items: center; padding-block: var(--space-3); min-height: 44px; font-size: var(--text-ui); color: var(--blue); }
.reading__body { min-width: 0; max-width: var(--measure); }
.reading__body > * + * { margin-top: var(--space-6); }
.reading__body > p:first-child { font-size: var(--text-lead); line-height: 1.5; }
.reading__body h2,.insights__item h2 { font-family: var(--serif); font-size: var(--text-subtitle); line-height: 1.2; letter-spacing: var(--tracking-heading); text-wrap: balance; }
.reading__body h2 { margin-top: var(--space-16); scroll-margin-top: var(--space-8); }
.reading__body h3 { margin-top: var(--space-8); font-size: var(--text-lead); font-weight: 500; line-height: 1.4; }
.reading__body strong { font-weight: 500; }
.reading__body ul,.reading__body ol { padding-left: var(--space-6); }
.reading__body li + li { margin-top: var(--space-3); }
.reading__body a,.reading__byline a { color: var(--blue); }
.reading__body a[href*="#contact"] { text-decoration-color: var(--orange); text-decoration-thickness: 2px; }
.reading__body a:hover,.reading__byline a:hover,.reading__contents a:hover { color: var(--cobalt); }
.reading-disclosure { border-top: 1px solid var(--line); }
.reading__body .reading-disclosure + .reading-disclosure { margin-top: 0; }
.reading-disclosure summary { padding-block: var(--space-4); min-height: 44px; color: var(--blue); font-weight: 500; cursor: pointer; }
.reading-disclosure__body { padding-bottom: var(--space-6); }
.reading-disclosure__body > * + * { margin-top: var(--space-6); }
.reading__body--guide { max-width: none; }
.reading__intro { max-width: var(--measure); }
.reading__intro > * + *,.reading__section-body > * + * { margin-top: var(--space-6); }
.reading__intro > p:first-child { font-size: var(--text-lead); line-height: 1.5; }
.reading__section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--column-gap); padding-top: var(--space-8); margin-top: var(--space-12); border-top: 1px solid var(--line); }
.reading__section h2 { margin: 0; }
.reading__section-body { min-width: 0; max-width: var(--measure); }
.reading__proof > * + * { margin-top: var(--space-4); }
.reading__section-body > .reading-disclosure:first-child { border-top: 0; }
.reading__section-body > .reading-disclosure:first-child summary { padding-top: 0; }
.reading-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.reading-table table { border-collapse: collapse; width: 100%; min-width: 520px; line-height: 1.5; }
.reading-table th,.reading-table td { padding: var(--space-4); text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.reading-table th { background: var(--band); font-weight: 500; }
.reading-table tbody tr:last-child td { border-bottom: 0; }
.reading__body .reading-checklist { padding: 0; list-style: none; }
.reading-checklist label { display: flex; align-items: flex-start; gap: var(--space-3); min-height: 44px; padding-block: var(--space-2); cursor: pointer; }
.reading-checklist input { flex: 0 0 auto; width: 20px; height: 20px; margin: .2em 0 0; accent-color: var(--cobalt); }
.reading-checklist input:checked + span { color: var(--muted); }
.reading__related { margin-top: var(--space-16); padding-block: var(--space-8); border-top: 1px solid var(--line); }
.insights { max-width: 800px; }
.insights__item { border-top: 1px solid var(--line); padding-block: var(--space-8); }
.insights__item > * + * { margin-top: var(--space-6); }
.insights__item p { max-width: var(--measure); }
@media(max-width: 900px) {
  .reading__head { margin-bottom: var(--space-8); }
  .reading__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .reading__aside { position: static; }
  .reading__contents ul { max-width: none; }
  .reading__section { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
}
@media print {
  .bar,.footer,.skip-link,.reading__aside,.reading__related { display: none; }
  .reading { width: 100%; padding: 0; }
  .reading__layout { display: block; }
  .reading__section { display: block; }
  .reading__section-body { margin-top: var(--space-6); }
  .reading__body { max-width: none; }
  .reading-table { overflow: visible; }
  .reading-table table { min-width: 0; }
  .reading__body h2,.reading__body h3 { break-after: avoid; }
  .reading-checklist li { break-inside: avoid; }
}
