.rankings-note { padding: 18px 22px; margin-bottom: 24px; border-left: 3px solid var(--green); background: #f7faf8; color: var(--muted); font-size: 14px; line-height: 1.65; }
.rankings-note p { margin: 0 0 8px; }
.rankings-note p:last-child { margin-bottom: 0; }
.rankings-note strong { color: var(--ink); }
.rankings-note a, .rankings-methodology a, .broker-facts a, .evidence-links a, .broker-research-section a { color: var(--green-dark); text-underline-offset: 3px; }
.rankings-main .filter-fields { grid-template-columns: minmax(0, 1fr); }
.broker-table { min-width: 880px; }
.broker-table th:first-child { width: 32%; min-width: 260px; }
.broker-table td { vertical-align: top; }
.broker-table th:not(:first-child) { min-width: 130px; }
.broker-location, .cell-note { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; font-weight: 400; white-space: normal; }
.broker-review { display: block; margin-top: 7px; color: #805a24; font-size: 12px; line-height: 1.4; }
.rating-unknown, .rating-scale { color: var(--muted); font-weight: 400; }
.rankings-footnote { margin: 16px 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.rankings-methodology { margin-top: 28px; border: 1px solid var(--line); border-radius: 8px; }
.rankings-methodology > summary { padding: 20px 24px; cursor: pointer; font-size: 16px; font-weight: 600; }
.methodology-content { padding: 0 24px 20px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.methodology-content p { margin: 0 0 16px; }
.methodology-content .table-scroll { margin-bottom: 20px; }
.methodology-table { width: 100%; min-width: 580px; border-collapse: collapse; text-align: left; }
.methodology-table th, .methodology-table td { padding: 12px 16px; border-bottom: 1px solid var(--line); }
.methodology-table th { background: var(--soft-green); color: var(--ink); }
.broker-eyebrow { margin: 0 0 16px; color: var(--muted); font-size: 13px; }
.broker-facts dl { margin: 24px 0 0; }
.broker-facts dt { margin: 20px 0 6px; color: var(--muted); font-size: 12px; }
.broker-facts dd { margin: 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.broker-scope { margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.broker-research-section { margin-top: 48px; }
.broker-research-section > h2 { margin: 0 0 20px; font-size: 24px; }
.broker-research-section > p { line-height: 1.7; }
.broker-scorecard, .broker-roster { width: 100%; min-width: 820px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.6; }
.broker-scorecard th, .broker-scorecard td, .broker-roster th, .broker-roster td { padding: 20px; border-bottom: 1px solid var(--line); vertical-align: top; }
.broker-scorecard thead th, .broker-roster thead th { background: var(--soft-green); }
.broker-scorecard th:first-child { width: 26%; }
.broker-scorecard td:nth-child(2) { white-space: nowrap; }
.broker-scorecard p { margin: 0 0 10px; }
.broker-scorecard small { color: var(--muted); font-size: 12px; }
.broker-scorecard .evidence-links { margin: 10px 0 0; font-size: 13px; }
.broker-scorecard .column-hint { margin: 0 0 6px; }
.broker-roster th[scope="row"] { font-weight: 600; }
@media (max-width: 560px) { .rankings-main .filter-fields { grid-template-columns: minmax(0,1fr); } .rankings-note { padding: 16px 18px; } .rankings-methodology > summary { padding: 18px; } .methodology-content { padding: 0 18px 18px; } }
.broker-profile .detail-heading h2 { margin: 28px 0 12px; }
.broker-facts dt, .broker-facts .broker-scope { color: #c1d8cb; }
.broker-facts a { color: #c7f3df; }
.broker-facts a:hover { color: #fff; }
/* Keep screen-reader labels inside the scrolling table's clipping context. */
.rankings-main .table-scroll, .broker-profile .table-scroll { position: relative; }

.broker-table th:nth-child(2) { width: 28%; }
.broker-table th:nth-child(3) { width: 26%; }
.broker-table th:last-child { width: 14%; }
.broker-score-cell { white-space: nowrap; }
.broker-table .sort-button:disabled { cursor: default; opacity: 1; }
.rankings-footnote a { color: var(--green-dark); }

.broker-facts .rating-scale, .broker-facts .rating-unknown { color: #c1d8cb; }


.broker-core-areas > p { max-width: 940px; }
.core-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 28px; }
.core-area-grid > section { border-top: 2px solid var(--green); padding-top: 18px; }
.core-area-grid h3 { margin: 0 0 14px; font-size: 18px; line-height: 1.45; }
.core-area-grid h3 span { display: block; margin-top: 4px; color: var(--green-dark); font-size: 14px; }
.core-area-grid p { font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.core-area-grid .core-area-context { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 16px; }
@media (max-width: 800px) { .core-area-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; } }

.score-disclosure { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
