.campaign-documents { display: grid; gap: 2rem; }
.document-group > h3 { margin: 0 0 1rem; color: var(--cyan, #77deeb); font-size: 1rem; }
.campaign-document { margin: 0 0 1rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #8eb5cf30; border-radius: 12px; background: #09152280; overflow-wrap: anywhere; }
.campaign-document > h4 { margin: 0 0 .7rem; font-size: 1.15rem; color: #e6eff9; }
.campaign-document > p { line-height: 1.7; }
.campaign-document .document-provenance { color: #afbfce; font-size: .9rem; }
.document-provenance a { display: inline-block; margin-left: .25rem; color: #77deeb; }
.campaign-document summary { cursor: pointer; padding: .85rem 0; color: #8de5ed; font-weight: 600; }
.campaign-document summary:focus-visible { outline: 2px solid #8de5ed; outline-offset: 4px; }
.document-original { max-width: none; margin: .5rem 0 0; padding: clamp(1rem, 3vw, 2rem); background: #050c15; border: 1px solid #91b9cd30; border-radius: 8px; color: #d6e0eb; line-height: 1.85; }
.document-original :is(h1,h2,h3,h4,h5,h6) { font-size: 1.15rem; line-height: 1.5; margin: 1.6rem 0 .8rem; color: #edf4fd; }
.document-original > :first-child { margin-top: 0; }
.document-original p { margin: .8rem 0; }
.document-original blockquote { margin: 1rem 0; padding: 0 0 0 1rem; border-left: 2px solid #68b6cd70; }
.document-original :is(ul,ol) { padding-left: 1.6rem; }
.document-original li { margin: .45rem 0; }
.document-original strong { color: #edf4fd; }
