/* Keep space proportional to the content, with the rail's own left gutter.
   Scene heights and the hero-to-Photography reveal retain their scroll timing. */
:root {
  --section-space: clamp(88px, 7.5vw, 144px);
  --heading-space: clamp(52px, 4.5vw, 80px);
  --column-space: clamp(48px, 4.5vw, 80px);
  --copy-space: 32px;
}

.paper-inner {
  padding: var(--section-space) clamp(32px, 6vw, 112px) var(--section-space) 20%;
}

.interlude-heading {
  padding-top: 0;
  margin-bottom: var(--heading-space);
}
.interlude-heading h3 { line-height: 1.08; }

.photography-study.photography-archive,
.listening-room,
.fashion-study,
.design-study { gap: var(--column-space); }

.listening-room { padding-block: 12px 0; }

.archive-print-layout {
  width: 92%;
  height: auto;
  min-height: 660px;
  aspect-ratio: .78;
}

.object-story .serif-body {
  line-height: 1.22;
  margin-bottom: var(--copy-space);
}
.object-story > p:not(.serif-body) {
  font-size: clamp(12px, .85vw, 14px);
  line-height: 1.85;
  max-width: 40ch;
  margin-bottom: var(--copy-space);
}
.object-story h4 {
  line-height: 1.06;
  margin-bottom: var(--copy-space);
}
.object-story > .archive-link { margin-top: 4px; }
.object-story .object-fields { margin-block: 32px; }
.object-story .object-fields > div { padding-block: 12px; }

.study-image > figcaption,
.inline-artifact > .artifact-caption {
  margin-top: 28px;
  font-size: 9px;
  line-height: 1.75;
}
.archival-board > figcaption { margin-top: 36px; }

.footer-landscape .about-inner {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
  padding-right: clamp(32px, 6vw, 112px);
}
.footer-landscape .museum-about h2 { line-height: .98; }
.footer-landscape .about-copy {
  margin-top: clamp(56px, 5vw, 88px);
  padding-bottom: 0;
}
.footer-landscape .about-copy > p {
  line-height: 1.24;
  margin-bottom: 32px;
}

.record-dialog h2 { line-height: 1.05; margin-bottom: 32px; }
.record-person { padding-bottom: 24px; margin-bottom: 28px; }
#record-body p { margin-bottom: 24px; }
#record-body p:last-child { margin-bottom: 0; }
.record-actions { margin-top: 36px; padding-top: 24px; gap: 24px; }

@media (max-width: 760px) {
  :root {
    --section-space: 76px;
    --heading-space: 44px;
    --column-space: 52px;
    --copy-space: 28px;
  }
  .paper-inner {
    padding: 76px clamp(24px, 6vw, 40px) 88px;
  }
  .photography-study.photography-archive,
  .listening-room,
  .design-study { row-gap: 56px; }
  .fashion-study { gap: 48px 24px; }
  .archive-print-layout {
    width: 94%;
    height: calc(110vw + 100px);
    min-height: 0;
    aspect-ratio: auto;
  }
  .textile-object { padding-top: 0; }
  .object-story > p:not(.serif-body) { font-size: 12px; }
  .object-story .object-fields > div { padding-block: 14px; }
  .study-image > figcaption,
  .inline-artifact > .artifact-caption { margin-top: 24px; }
  .footer-landscape .about-inner {
    padding: 80px clamp(24px, 6vw, 40px) 96px;
    gap: 96px;
  }
  .footer-landscape .about-copy { margin-top: 0; }
  .record-dialog-copy { padding: 28px 28px 40px; }
  .record-dialog h2 { margin-bottom: 28px; }
}

@media (max-width: 1100px), (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .chapter-rail { display: none; }
}
