.document-article { max-width: 76rem; }
.document-article > section { margin-block: 2rem; }
.document-article h2, .document-article h3 { color: #123e34; line-height: 1.3; }
.document-article li { margin-block: .5rem; }
.document-source { padding: 1rem; border-left: 4px solid #123e34; background: #eef3ed; }
.document-toc { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-block: 1.5rem; }
.document-toc a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.document-list { padding: 0; list-style: none; }
.document-list > li { margin-block: 1rem; padding: 1.25rem; border: 1px solid #65746a; border-radius: .5rem; }
.document-list h3 { margin: 0; }
.document-input-grid, .document-signatures { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1.5rem; }
.document-input-grid label, .document-signatures label { display: grid; gap: .35rem; }
.document-input-grid input, .document-signatures input { width: 100%; min-width: 0; padding: .65rem; border: 1px solid #65746a; font: inherit; background: #fff; color: #17231f; }
.document-check { display: flex; align-items: flex-start; gap: .75rem; }
.document-check input { flex: 0 0 1.5rem; margin-top: .3rem; }
.signature-line { display: block; min-height: 3rem; border-bottom: 1px solid #17231f; }
.media-transcript { margin-block: 2rem; }
.media-transcript ol { padding-left: 1.5rem; }
.media-transcript li { margin-block: .8rem; }
.media-transcript time { display: inline-block; min-width: 4.5rem; color: #123e34; font-weight: 600; }
.media-alternatives { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.media-alternatives a { display: inline-flex; align-items: center; min-height: 2.75rem; }
@media(max-width: 40rem) { .document-input-grid, .document-signatures { grid-template-columns: minmax(0,1fr); } }
@media print {
  .site-header, .site-footer, .supporters-band, .sticky-actions, .mobile-dock, .back-to-top, .skip-link, .document-print-button, .document-screen-note, .page-heading .breadcrumbs { display: none !important; }
  body, main { padding: 0; margin: 0; color: #000; background: #fff; }
  .document-article, main > .section, .page-heading { width: 100%; margin: 0; padding: 0; max-width: none; }
  .document-article h2, .document-article h3 { break-after: avoid; }
  .document-article p, .document-article li, .document-input-grid label { orphans: 3; widows: 3; }
  .document-input-grid input, .document-signatures input { border: 0; border-bottom: 1px solid #000; padding: .35rem 0; color: #000; background: transparent; }
  .document-check { break-inside: avoid; }
  .document-source, .document-toc { display: none; }
  .document-input-grid { gap: .75rem; }
}
