/* Ranking layout: leaders grid + tighter section rhythm (mirrors data-page.css) */
            .ed-page-ranking > .page-header { margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
            .ed-page-ranking > .page-header h1 { margin-bottom: 1rem; }
            .ed-page-ranking > .tldr-section { margin: 0 0 2rem; padding: 2rem; }
            .ed-page-ranking .hub-layout { margin-top: 0; gap: 2rem; }
            .ed-page-ranking .hub-main { gap: 2rem; }
            .ed-page-ranking .ranking-leaders { margin: 0; }
            .ed-page-ranking .ranking-leaders h2 { margin: 0 0 1.25rem; }
            .ed-page-ranking > .introduction,
            .ed-page-ranking > .data-table-section,
            .ed-page-ranking > .download-cta,
            .ed-page-ranking > .faq-section,
            .ed-page-ranking .hub-main > .introduction,
            .ed-page-ranking .hub-main > .data-table-section,
            .ed-page-ranking .hub-main > .download-cta,
            .ed-page-ranking .hub-main > .faq-section { margin-top: 0; margin-bottom: 0; }
            .ed-page-ranking > .introduction,
            .ed-page-ranking > .data-table-section,
            .ed-page-ranking > .download-cta,
            .ed-page-ranking > .faq-section { margin-bottom: 2rem; }
            .ed-page-ranking .hub-main > .download-cta { padding: 2rem; }
            .ed-page-ranking > .introduction h2,
            .ed-page-ranking > .data-table-section h2,
            .ed-page-ranking .hub-main > .introduction h2,
            .ed-page-ranking .hub-main > .data-table-section h2,
            .ed-page-ranking .hub-main > .download-cta h2 { margin-top: 0; margin-bottom: 1.25rem; }
            .ed-page-ranking .hub-main > .introduction h3 { margin-top: 1.5rem; margin-bottom: 0.75rem; }
            .ed-page-ranking .hub-main > .introduction h3:first-of-type { margin-top: 1.25rem; }
            .ranking-leaders-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: stretch; }
            @media (min-width: 640px) {
              .ranking-leaders-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            }
            @media (min-width: 900px) {
              .ranking-leaders-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            }
            .ranking-leader-card {
              grid-template-rows: minmax(2.75rem, auto) auto minmax(0, 1fr);
              gap: 0.75rem; min-height: 11.5rem; padding: 1.35rem 1.35rem 1.25rem;
            }
            .ranking-leader-card:has(.ranking-leader-ribbon) .ranking-leader-name { min-height: 2.75rem; }
            @media (min-width: 1024px) {
              .ed-page-ranking .hub-layout {
                gap: 2.5rem;
                align-items: stretch;
              }
              .ed-page-ranking .hub-sidebar {
                align-self: stretch;
              }
              .ed-page-ranking .hub-sidebar-sticky {
                position: sticky;
                top: var(--site-header-clearance, 7.5rem);
                max-height: calc(100vh - var(--site-header-clearance, 7.5rem) - 0.75rem);
                overflow-x: hidden;
                overflow-y: auto;
                overscroll-behavior: contain;
                scrollbar-width: thin;
              }
              .ed-page-ranking section,
              .ed-page-ranking .hub-main > section {
                scroll-margin-top: calc(var(--site-header-clearance, 7.5rem) + 0.5rem);
              }
            }
            /* Full ranking school cards stay 2-up */
            @media (min-width: 900px) {
              .ed-page-ranking .table-responsive-wrapper table.data-table tbody,
              body.single-ed_ranking .table-responsive-wrapper table.data-table tbody {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 1.5rem;
              }
            }
