.committee-poster { margin: 12px 0 12px; border-top: 5px solid #354f9e; border-bottom: 4px solid #e3b123; background: radial-gradient(ellipse at 50% 50%, #fff 15%, #fffdf5 65%, #f7f3e7); color: #093b7c; }
#org-chart-container { overflow: auto; overscroll-behavior-x: contain; padding-top: 8px; height: auto; max-height: none; }
#org-chart-container svg { display: block; width: 100%; height: auto !important; min-height: 0; max-height: none; margin: 0; }
#org-chart-container .diagram-label { font: 800 16px Arial, sans-serif; text-anchor: middle; }
#org-chart-container .diagram-link { font: 600 18px Arial, sans-serif; text-decoration: none; }
#org-chart-container a:hover text, #org-chart-container a:focus text { text-decoration: underline; }
#org-chart-container a:focus { outline: 2px solid currentColor; outline-offset: 4px; }
.committee-poster-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 24px; }
.committee-poster-card { border: 1px solid var(--diagram-color, #1476bc); border-radius: 12px; padding: 18px; background: var(--diagram-tint, #edf6ff); }
.committee-poster-card h2 { color: var(--diagram-color, #093b7c); font: 700 18px/1.3 Arial, sans-serif; margin: 0 0 12px; }
.committee-poster-card ul { margin: 0; padding-left: 20px; }
.committee-poster-card li { color: var(--diagram-color, #093b7c); }
.committee-poster-card a { display: inline-block; color: #10325e; font-size: 16px; line-height: 1.45; padding: 6px 0; overflow-wrap: anywhere; }
.committee-poster-card a:hover, .committee-poster-card a:focus-visible { text-decoration: underline; }
.committee-poster-card p { font-size: 14px; margin: 0; }
.committee-poster.diagram-ready .committee-poster-cards { display: none; }
@media (max-width: 900px) {
    .committee-poster-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px; }
}
@media (max-width: 520px) {
    .committee-poster-cards { grid-template-columns: 1fr; padding: 16px; }
}

.committee-leadership-link { text-align: center; margin: 0 0 24px; }

/* The shared theme overlays its banner and offsets #left to compensate.
   The index has content before #left, so put the banner in normal flow instead. */
#sp-main.jc-committee-index::before {
    position: relative;
    display: block;
    top: auto;
    left: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
#sp-main.jc-committee-index #left { margin-top: 0; }
#committee-category-filter, #committee-list { scroll-margin-top: 180px; }
#org-chart-container .diagram-category { cursor: pointer; }
#org-chart-container .diagram-category:hover circle,
#org-chart-container .diagram-category:focus-visible circle { stroke-width: 5; }
@media (max-width: 959px) {
    #committee-category-filter, #committee-list { scroll-margin-top: 16px; }
}
