/* Arrangement: the reading measure, bands, and folds. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-block-start: 1.5rem; }
body { margin: 0; }
button, summary, a { touch-action: manipulation; }
button, summary { cursor: pointer; }
a, button, summary { min-height: 44px; }
a { overflow-wrap: anywhere; }
button { max-width: 100%; }
[hidden] { display: none !important; }
.bulletin-mast { max-width: 1320px; margin-inline: auto; padding: 28px 48px 24px; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.bulletin-name { display: inline-flex; align-items: center; gap: 14px; padding-block: 5px; }
.mast-purpose { margin: 0; max-width: 31ch; }
.topic-folds { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 1224px; margin-inline: auto; }
.topic-fold { position: relative; min-width: 0; }
.topic-fold summary { padding: 13px 24px; min-height: 54px; }
.topic-fold ul { margin: 0; padding: 12px; list-style: none; position: absolute; top: 100%; inset-inline: 0; }
.topic-fold a { display: flex; align-items: center; padding: 10px 16px; }
.opening-spread { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(240px,.8fr); gap: 70px; max-width: 1320px; padding: 72px 48px 84px; margin-inline: auto; align-items: end; }
.opening-copy { min-width: 0; }
.opening-copy h1 { max-width: 14ch; margin: 14px 0 30px; }
.reading-category { margin: 0; }
.opening-copy p:not(.reading-category) { max-width: 57ch; }
.guide-framing { margin: 0 0 18px; }
.opening-note { margin-bottom: 0; }
.term-ticket { position: relative; padding: 32px 28px 26px; min-width: 0; }
.term-ticket p { margin: 0 0 18px; }
.term-ticket .ticket-term { margin-block: 30px 12px; }
.ticket-link { display: flex; align-items: center; justify-content: space-between; padding-block: 10px; margin-top: 24px; gap: 15px; }
.idea-band { padding: 60px max(48px,calc((100vw - 1224px) / 2)); display: grid; grid-template-columns: minmax(190px,.85fr) minmax(0,1.5fr); gap: 70px; }
.idea-title h2 { max-width: 15ch; margin: 0; }
.idea-copy { max-width: 68ch; min-width: 0; }
.idea-copy p { margin: 0 0 22px; }
.idea-copy > :last-child { margin-bottom: 0; }
.source-cue { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 0 5px; margin-right: 8px; gap: 6px; }
.term-jump { display: grid; grid-template-columns: minmax(0,1fr) auto; position: relative; gap: 8px 24px; padding: 26px 28px; margin: 20px 0; }
.term-jump-note { grid-column: 1; }
.jump-mark { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.visit-questions { padding-left: 1.35em; margin: 10px 0 24px; }
.visit-questions li { padding-left: .25em; margin: 0 0 13px; }
.source-tools, .evidence-file, .reading-continuation { max-width: 1224px; margin-inline: auto; }
.source-tools { padding: 40px 0 0; }
.source-opener { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 17px 24px; }
.evidence-file { margin-block: 30px 0; padding: 40px 48px; }
.evidence-file h2 { margin: 0 0 16px; }
.evidence-file p { max-width: 62ch; }
.evidence-file ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 30px; }
.evidence-file li { min-width: 0; }
.evidence-file a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; }
.reading-continuation { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 36px; padding: 36px 0 45px; }
.reading-continuation p { margin: 0; }
.reading-continuation a { display: inline-flex; align-items: center; padding: 10px 0; gap: 20px; }
.bulletin-footer { padding: 45px max(48px,calc((100vw - 1224px) / 2)) 36px; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 20px 70px; }
.bulletin-footer p { max-width: 60ch; margin: 0; }
.bulletin-footer nav { display: flex; flex-direction: column; align-items: start; gap: 6px; }
.bulletin-footer a { display: inline-flex; align-items: center; padding-block: 10px; }
.footer-signoff { grid-column: 1 / -1; margin-top: 20px !important; }
.skip-reading { position: absolute; z-index: 10; top: 0; left: 12px; padding: 14px 22px; transform: translateY(-130%); }
.skip-reading:focus { transform: translateY(0); }
.source-shelf { position: fixed; inset: 0 0 0 auto; margin: 0; padding: 28px; width: min(540px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; overflow-y: auto; }
.shelf-controls { display: flex; justify-content: flex-end; margin: 0 0 30px; }
.shelf-close { display: inline-flex; align-items: center; gap: 24px; padding: 12px 20px; }
.source-shelf .evidence-file { padding: 0; margin: 0; }
.source-shelf .evidence-file ul { grid-template-columns: 1fr; }
.missing-card { max-width: 850px; margin: 40px auto 90px; padding: 0 32px; }
.missing-card h1 { margin-block: 22px; }
.misfiled-ticket { padding: 36px; }
.missing-choices { list-style: none; padding: 0; margin: 22px 0 0; }
@media (min-width: 1600px) {
  .opening-spread { padding-block: 86px 100px; }
}
@media (max-width: 1000px) {
  .bulletin-mast { padding-inline: 28px; }
  .topic-folds { margin-inline: 28px; }
  .opening-spread { padding: 54px 28px 60px; gap: 35px; grid-template-columns: minmax(0,1.5fr) minmax(225px,.8fr); }
  .idea-band { padding: 45px 28px; gap: 35px; grid-template-columns: minmax(180px,.8fr) minmax(0,1.5fr); }
  .source-tools, .reading-continuation { margin-inline: 28px; }
  .evidence-file { margin-inline: 28px; padding: 32px; }
  .source-shelf .evidence-file { margin: 0; }
  .bulletin-footer { padding-inline: 28px; gap: 20px 35px; }
}
@media (max-width: 680px) {
  .bulletin-mast { display: block; padding: 19px 22px 18px; }
  .mast-purpose { max-width: none; margin-top: 7px; }
  .topic-folds { display: block; margin-inline: 22px; }
  .topic-fold summary { padding: 10px 16px; min-height: 46px; }
  .topic-fold ul { position: static; }
  .opening-spread { display: block; padding: 42px 22px 46px; }
  .opening-copy h1 { margin: 16px 0 24px; max-width: 14ch; }
  .term-ticket { padding: 24px; margin-top: 32px; }
  .term-ticket .ticket-term { margin-top: 18px; }
  .ticket-link { margin-top: 12px; }
  .idea-band { display: block; padding: 38px 22px 42px; }
  .idea-title h2 { max-width: 22ch; margin-bottom: 28px; }
  .term-jump { padding: 24px; gap: 8px 16px; }
  .source-tools, .reading-continuation { margin-inline: 22px; }
  .source-opener { padding: 17px 20px; gap: 20px; text-align: left; }
  .evidence-file { margin-inline: 22px; padding: 28px 24px; }
  .evidence-file ul { grid-template-columns: 1fr; }
  .reading-continuation { gap: 8px 26px; padding-block: 28px 36px; }
  .reading-continuation p { flex-basis: 100%; }
  .bulletin-footer { display: block; padding: 34px 22px; }
  .bulletin-footer nav { margin-top: 22px; }
  .source-shelf { padding: 24px; }
  .source-shelf .evidence-file { padding: 0; margin: 0; }
  .misfiled-ticket { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
