.opposition-context { background: #f5f8f3; scroll-margin-top: 8rem; }
.opposition-context-heading { max-width: 860px; margin-bottom: 2.75rem; }
.opposition-context-heading h2 { margin-bottom: 1.25rem; }
.opposition-context-heading > p:not(.eyebrow) { color: #486456; line-height: 1.8; }
.opposition-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2.5rem; }
.opposition-context-grid article { border-top: 1px solid #c6d8c6; padding-top: 1.35rem; }
.opposition-context-grid h3 { color: #244a3d; font-size: 1.2rem; line-height: 1.4; margin: 0 0 .7rem; }
.opposition-context-grid p { color: #486456; line-height: 1.8; margin: 0; }
.opposition-context-source { margin: 2.25rem 0 0; font-size: .9rem; line-height: 1.7; color: #486456; }
.opposition-context a { color: #285b3a; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.opposition-context a:focus-visible { outline: 3px solid #285b3a; outline-offset: 4px; }
.opposition-context-links { display: flex; flex-wrap: wrap; gap: .7rem 2rem; list-style: none; padding: 0; margin: 1.25rem 0 0; line-height: 1.7; }
@media (max-width: 900px) { .opposition-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .opposition-context-grid { grid-template-columns: 1fr; gap: 1.5rem; } .opposition-context-heading { margin-bottom: 2rem; } }
