:root{--ink:#17251f;--muted:#607068;--line:#d9e2dc;--paper:#f5f8f5;--white:#fff;--green:#286a4a;--blue:#376f91;--orange:#d47a32;--shadow:0 12px 34px rgba(29,55,43,.09)}
.hero-stats small{display:block;margin-top:4px;color:#c8ddd3;font-size:9px;line-height:1.3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#225f48}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding:34px max(24px,calc((100vw - 1380px)/2));background:#163f31;color:#fff}.hero a{color:#d8eee4;text-decoration:none}.hero p{margin:12px 0 0}.hero>div>p:first-of-type{font-size:12px;font-weight:800;letter-spacing:.08em;color:#a9d0bd}.hero h1{margin:4px 0;font-size:clamp(32px,5vw,62px);line-height:1.03}.hero .lead{max-width:760px;color:#d8e8e0;font-size:17px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-stats span{min-width:125px;padding:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}.hero-stats b{display:block;font-size:24px}main{width:min(1380px,calc(100% - 32px));margin:22px auto 60px}.notice,.map-section,.population-section,.catalog-section,.method-section,.sources{margin:14px 0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.notice{display:grid;grid-template-columns:180px 1fr;gap:18px;background:#edf5f0}.notice p{margin:0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:15px}.section-head span{font-size:11px;font-weight:800;color:var(--green);letter-spacing:.07em}.section-head h2{margin:2px 0 0;font-size:24px}.section-head>strong{font-size:12px;color:var(--muted)}.map-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(250px,1fr);min-height:520px;border:1px solid var(--line)}#schoolMap{min-height:520px;background:#dfe9e3}.map-layout aside{padding:18px;background:#f8faf8;border-left:1px solid var(--line)}.map-layout aside h3{margin-top:0}.population-grid,.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.population-grid article,.method-grid article{padding:15px;border:1px solid var(--line);background:#fbfcfb}.population-grid b{color:var(--green)}.population-grid p,.method-grid p{margin:6px 0 0;color:var(--muted)}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:14px}.filters label{font-size:12px;font-weight:700}.filters input,.filters select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #bdccc3;border-radius:5px;background:#fff;font:inherit}.school-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.school-card{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.school-card>button{display:grid;grid-template-columns:38px 1fr auto;width:100%;gap:10px;align-items:center;padding:14px;border:0;background:#fff;text-align:left;color:inherit;cursor:pointer}.school-card>button:hover{background:#f0f6f2}.school-marker{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dceee4;color:var(--green);font-weight:800}.school-card h3{margin:0;font-size:15px}.school-card small{display:block;color:var(--muted)}.school-arrow{font-size:22px}.school-detail{padding:0 14px 14px;border-top:1px solid var(--line)}.school-detail[hidden]{display:none}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:12px 0}.metric-grid div{padding:8px;background:#f4f7f5}.metric-grid span{display:block;font-size:10px;color:var(--muted)}.metric-grid b{font-size:14px}.empty-data{color:#7b6754;background:#fff7e9;padding:9px}.method-grid{grid-template-columns:repeat(4,1fr)}.method-grid span{font-weight:900;color:var(--orange)}.method-grid h3{margin:5px 0}.sources{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.sources h2{width:100%;margin:0}.sources a{padding:8px 10px;background:#edf5f0;text-decoration:none}.leaflet-popup-content{min-width:220px}.leaflet-popup-content b{display:block;font-size:14px}.leaflet-popup-content small{color:#607068}
*[hidden]{display:none!important}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(3,1fr)}.map-layout{grid-template-columns:1fr}.map-layout aside{border-left:0;border-top:1px solid var(--line)}.school-list{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.hero{padding:24px 16px}.hero-stats{grid-template-columns:1fr 1fr}.notice{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:4px}.filters,.population-grid,.school-list,.method-grid{grid-template-columns:1fr}main{width:calc(100% - 20px);margin-top:10px}.notice,.map-section,.population-section,.catalog-section,.method-section,.sources{padding:13px}.map-layout,#schoolMap{min-height:430px}.school-card>button{padding:12px}}

.population-grid article>b{display:block;font-size:24px}.population-note{margin:12px 0 0;padding:10px 12px;background:#f7f2e9;color:#675643;border-left:3px solid var(--orange)}
.shared-catchment{padding:9px;background:#fff7e9;color:#6b563d;border-left:3px solid var(--orange)}
.destinations{display:grid;gap:4px;margin:10px 0;padding:10px;background:#edf5f0}.destinations span{padding-left:14px;position:relative;color:#46584f}.destinations span:before{content:'→';position:absolute;left:0;color:var(--green)}
.filters{grid-template-columns:2fr repeat(3,1fr)}
@media(max-width:900px) and (min-width:621px){.filters{grid-template-columns:repeat(2,1fr)}}

.compare-section{margin:14px 0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.compare-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.compare-controls label{min-width:0;font-size:12px;font-weight:800}.compare-controls label small{color:var(--muted);font-size:10px;font-weight:500}.compare-controls select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #bdccc3;border-radius:5px;background:#fff;font:inherit}.compare-meta{display:flex;gap:9px;align-items:center}.compare-meta strong{color:var(--muted);font-size:12px}.school-comparison{margin-top:14px;border:1px solid var(--line)}.comparison-head,.comparison-row{display:grid;grid-template-columns:minmax(145px,.8fr) repeat(var(--compare-count,2),minmax(0,1fr));align-items:stretch}.comparison-head>*{padding:12px;background:#edf5f0}.comparison-head strong{border-left:1px solid var(--line)}.comparison-head small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.comparison-row>*{padding:9px 12px;border-top:1px solid var(--line)}.comparison-row b{border-left:1px solid var(--line);font-size:16px}.comparison-row span{color:var(--muted)}.school-comparison>p{margin:0;padding:10px 12px;border-top:1px solid var(--line);background:#fafbf9;color:var(--muted);font-size:12px}.data-year{display:inline-block!important;margin-top:5px;padding:2px 6px;border-radius:3px;background:#e7f2ec;color:var(--green)!important;font-size:10px;font-weight:800}.data-year.missing{background:#f3eee6;color:#76634c!important}.school-history{margin:12px 0;border:1px solid var(--line)}.school-history summary{padding:9px 10px;background:#f4f7f5;font-weight:800;cursor:pointer}.table-scroll{overflow-x:auto}.school-history table{width:100%;border-collapse:collapse;white-space:nowrap}.school-history th,.school-history td{padding:7px 9px;border-top:1px solid var(--line);text-align:right}.school-history th:first-child{text-align:left}
.school-history summary span{float:right;color:var(--muted);font-size:11px}.school-history thead th{position:sticky;top:0;background:#edf5f0;color:#315c49;font-size:10px;line-height:1.2}.school-history tbody th{position:sticky;left:0;z-index:1;background:#fff}.school-history tbody tr:nth-child(even)>*{background:#fafcfb}.school-history>p{margin:0;padding:8px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
@media(max-width:620px){.compare-section{padding:13px}.compare-controls{grid-template-columns:1fr 38px 1fr}.compare-controls select{font-size:13px}.comparison-head,.comparison-row{grid-template-columns:minmax(105px,.75fr) repeat(2,minmax(0,1fr))}.comparison-head>*,.comparison-row>*{padding:8px;font-size:12px;overflow-wrap:anywhere}.comparison-row b{font-size:14px}}

.city-summary-section{margin:14px 0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.city-summary-section .section-head>a{max-width:420px;color:var(--muted);font-size:12px;text-align:right}.city-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.city-kpis article{padding:14px;border:1px solid var(--line);background:#f8faf8}.city-kpis b{display:block;color:var(--green);font-size:25px;line-height:1.15}.city-kpis span,.city-kpis small{display:block}.city-kpis span{font-weight:750}.city-kpis small{margin-top:4px;color:var(--muted);font-size:11px}.city-summary-detail{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:18px}.city-summary-detail h3{margin:0 0 10px;font-size:15px}.admission-bars{display:grid;gap:7px}.admission-bars>div{display:grid;grid-template-columns:125px 1fr 48px;gap:8px;align-items:center;font-size:12px}.admission-bars i{height:8px;overflow:hidden;background:#e6ece8}.admission-bars em{display:block;height:100%;background:var(--blue)}.admission-bars b{text-align:right}.student-history-chart{display:flex;height:145px;gap:8px;align-items:end;padding-top:22px;border-bottom:1px solid var(--line)}.student-history-chart>div{position:relative;display:flex;flex:1;height:100%;align-items:center;flex-direction:column;justify-content:end}.student-history-chart i{display:block;width:min(42px,70%);min-height:25px;background:var(--green);opacity:.82}.student-history-chart b{position:absolute;top:-21px;font-size:11px}.student-history-chart span{margin-top:4px;font-size:10px;color:var(--muted)}.city-summary-note{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(max-width:900px){.city-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.city-summary-section{padding:13px}.city-summary-section .section-head>a{text-align:left}.city-summary-detail{grid-template-columns:1fr}.admission-bars>div{grid-template-columns:112px 1fr 42px}.student-history-chart b{font-size:10px}.city-kpis b{font-size:22px}}
.school-investments{margin:12px 0;border:1px solid #d9c69a;background:#fffaf0}.school-investments summary{display:flex;justify-content:space-between;gap:8px;padding:10px;cursor:pointer;font-weight:800;color:#704f18}.school-investments>div{display:grid;gap:7px;padding:0 9px 9px}.school-investments article{padding:9px;border-left:3px solid #c8993e;background:#fff}.school-investments article span{float:right;color:var(--muted);font-size:11px}.school-investments h4{margin:0 35px 3px 0;font-size:13px}.school-investments strong,.school-investments small{display:block}.school-investments small,.school-investments p{color:var(--muted);font-size:11px}.school-investments p{margin:4px 0}.school-investments a{font-size:11px}
.school-investments h4 i{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:3px;background:#f0e1bd;color:#704f18;font-size:9px;font-style:normal;text-transform:uppercase}
.pedagogy-profile small{display:block;margin-top:4px;color:var(--muted)}.pedagogy-tag{display:inline-block;padding:3px 7px;border-radius:3px;font-size:11px;font-weight:800}.pedagogy-tag.dalton{background:#e7f0f8;color:#24577a}.pedagogy-tag.montessori{background:#e8f3e7;color:#286137}.pedagogy-tag.waldorf{background:#f5ead9;color:#7a4b17}
.admissions-section{margin:14px 0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.admissions-section .section-head>a{font-size:12px}.admissions-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.admissions-kpis article{padding:13px;border-left:4px solid var(--blue);background:#f4f8fa}.admissions-kpis b{display:block;color:#245a79;font-size:24px}.admissions-summary>p{margin:12px 0 0;color:var(--muted);font-size:12px}.school-admissions{margin:12px 0;padding:11px;background:#eef6fa;border:1px solid #cddfe9}.school-admissions h4{display:flex;justify-content:space-between;margin:0 0 8px;color:#245a79}.school-admissions h4 span{font-size:11px}.school-admissions>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.school-admissions article{padding:6px;background:#fff}.school-admissions article span{display:block;color:var(--muted);font-size:9px}.school-admissions article b{font-size:14px}.school-admissions>a{display:inline-block;margin-top:8px;font-size:11px}
.school-indicators,.school-warnings{margin-top:14px;border:1px solid #dce8e1;border-radius:8px;background:#f8fbf9}.school-indicators summary,.school-warnings summary{cursor:pointer;padding:11px 13px;font-weight:800;color:#164d38}.school-indicators summary b,.school-warnings summary b{float:right;padding:1px 7px;border-radius:10px;background:#dcefe4}.school-indicators>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dce8e1;border-top:1px solid #dce8e1}.school-indicators article{display:flex;flex-direction:column;gap:3px;padding:9px 11px;background:#fff}.school-indicators article span{font-size:.78rem;color:#53665d}.school-indicators article b{font-size:.96rem}.school-indicators article small{line-height:1.35;color:#66756e}.school-warnings{border-color:#ebd8ad;background:#fffaf0}.school-warnings summary{color:#765510}.school-warnings summary b{background:#f6e8bd}.school-warnings article{margin:0 12px;padding:10px 0;border-top:1px solid #eadcb9}.school-warnings article p{margin:4px 0;font-size:.88rem}.report-state{margin:0 0 12px;padding:9px 11px;border-left:4px solid #6a9b7b;background:#f2f8f4;font-size:.88rem}
@media(max-width:620px){.school-indicators>div{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.admissions-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.admissions-section{padding:13px}.admissions-kpis{grid-template-columns:1fr 1fr}.school-admissions>div{grid-template-columns:1fr 1fr}}
.admissions-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admissions-history article{padding:12px;border-left:4px solid var(--blue);background:#f4f8fa}.admissions-history h3{margin:0 0 8px;color:#245a79}.admissions-history article>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.admissions-history b,.admissions-history small{display:block}.admissions-history b{font-size:18px}.admissions-history small{font-size:9px;color:var(--muted);font-weight:500}.school-inspection{margin:12px 0;border:1px solid #d6dfda;background:#f8faf9}.school-inspection summary{padding:10px;cursor:pointer;font-weight:800}.school-inspection summary span{float:right;color:var(--muted);font-size:11px}.school-inspection h5{margin:9px 11px 3px}.school-inspection ul{margin:3px 12px 8px;padding-left:18px;font-size:12px}.school-inspection a{display:inline-block;margin:0 11px 10px;font-size:11px}
@media(max-width:620px){.admissions-history{grid-template-columns:1fr}.admissions-history article>div{grid-template-columns:repeat(3,1fr)}}

/* Compact dashboard layout */
html{scroll-behavior:smooth;scroll-padding-top:66px}.dashboard-nav{position:sticky;top:0;z-index:900;display:flex;gap:5px;justify-content:center;padding:8px max(16px,calc((100vw - 1380px)/2));overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 12px #173d2e12}.dashboard-nav a{flex:0 0 auto;padding:7px 11px;border-radius:4px;color:var(--green);font-size:12px;font-weight:800;text-decoration:none}.dashboard-nav a:hover,.dashboard-nav a:focus-visible{background:#e8f2ed;outline:none}.city-summary-section,.admissions-section,.map-section,.compare-section,.catalog-section,.method-section{scroll-margin-top:64px}.section-head h2{line-height:1.2}.notice{padding-top:14px;padding-bottom:14px;box-shadow:none}.catalog-section{padding:18px}.filters{position:sticky;top:55px;z-index:20;padding:10px;margin:0 0 12px;background:#f3f7f4;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 12px #173d2e0d}.filters input,.filters select{height:40px;padding:7px 9px}.school-list{align-items:start}.school-card{transition:border-color .15s,box-shadow .15s}.school-card>button{min-height:78px}.school-card>button:focus-visible{outline:3px solid #8db8a2;outline-offset:-3px}.school-card.is-open{grid-column:1/-1;border-color:#91af9f;box-shadow:0 8px 24px #173d2e12}.school-card.is-open>button{background:#edf5f1}.school-card.is-open .school-arrow{transform:rotate(180deg)}.school-arrow{transition:transform .18s}.school-card.is-open .school-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 16px;padding:0 16px 16px}.school-card.is-open .school-admissions,.school-card.is-open .report-state,.school-card.is-open .school-inspection,.school-card.is-open .metric-grid{grid-column:1/-1}.school-card.is-open .metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.school-card.is-open .school-admissions>div{grid-template-columns:repeat(7,minmax(0,1fr))}.school-card.is-open .school-history,.school-card.is-open .school-indicators,.school-card.is-open .school-warnings,.school-card.is-open .school-investments{grid-column:1/-1}.school-card.is-open .school-inspection summary{display:flex;justify-content:space-between;gap:12px}.school-card.is-open .school-inspection summary span{float:none}.school-detail>p{margin:8px 0;font-size:13px}.school-admissions,.school-inspection,.report-state{border-radius:5px}.map-layout{min-height:470px}#schoolMap{min-height:470px}.map-layout aside{display:flex;flex-direction:column;justify-content:center}.comparison-row:nth-child(even)>*{background:#fafcfb}.sources{box-shadow:none}
@media(max-width:1050px){.school-card.is-open .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.school-card.is-open .school-admissions>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){html{scroll-padding-top:0}.dashboard-nav{position:static;justify-content:flex-start}.filters{position:static}.school-list{grid-template-columns:1fr}.school-card.is-open .school-detail{display:block;padding:0 12px 12px}.school-card.is-open .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-card.is-open .school-admissions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout,#schoolMap{min-height:390px}.hero-stats span{min-width:0}.admissions-history article>div{grid-template-columns:repeat(2,1fr)}}
.key-metrics{grid-column:1/-1;margin:12px 0;padding:12px;border:1px solid #cbded4;border-radius:6px;background:#f3f8f5}.key-metrics-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:9px}.key-metrics-head span{color:var(--green);font-size:10px;font-weight:850;text-transform:uppercase}.key-metrics-head h4{margin:1px 0 0;font-size:16px}.key-metrics-head small{color:var(--muted);font-size:10px}.key-metrics>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.key-metrics article{min-width:0;padding:9px 10px;border-left:3px solid #6c9f84;background:#fff}.key-metrics article>span,.key-metrics article>small{display:block}.key-metrics article>span{min-height:30px;color:var(--muted);font-size:10px}.key-metrics article>b{display:block;margin:2px 0;color:#174c37;font-size:18px;overflow-wrap:anywhere}.key-metrics article>small{color:#728077;font-size:9px}.key-metrics .class-size-metric.mixed-classes{border-left-color:#b9782f;background:#fffaf2}.key-metrics .class-size-metric.mixed-classes>small{color:#76501f}.key-metrics .class-size-metric>b{font-size:16px;line-height:1.3}.method-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:1050px){.key-metrics>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}.method-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.key-metrics-head{display:block}.key-metrics-head small{display:block;margin-top:3px}.key-metrics>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.key-metrics article>span{min-height:0}.method-grid{grid-template-columns:1fr}}
@media(max-width:390px){.key-metrics>div:last-child{grid-template-columns:1fr}}
.benchmark-section{margin:14px 0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);scroll-margin-top:64px}.benchmark-controls{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;padding:10px;background:#f3f7f4;border:1px solid var(--line);border-radius:6px}.benchmark-controls label{font-size:12px;font-weight:800}.benchmark-controls select{display:block;width:100%;height:40px;margin-top:5px;padding:7px 9px;border:1px solid #bdccc3;border-radius:5px;background:#fff;font:inherit}.benchmark-chart{margin-top:12px}.benchmark-scale{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:0 112px 7px 246px;color:var(--muted);font-size:10px}.benchmark-scale strong{color:var(--ink);text-align:center}.benchmark-scale span:last-child{text-align:right}.benchmark-bars{display:grid;gap:3px;max-height:680px;overflow:auto;padding-right:4px}.benchmark-bars button{display:grid;grid-template-columns:28px 205px minmax(110px,1fr) 100px;gap:8px;align-items:center;width:100%;min-height:42px;padding:5px 7px;border:0;border-bottom:1px solid #e7ece9;background:#fff;color:inherit;text-align:left;cursor:pointer}.benchmark-bars button:hover,.benchmark-bars button:focus-visible{background:#edf5f1;outline:none}.benchmark-rank{color:var(--muted);font-size:11px;text-align:right}.benchmark-name{min-width:0;font-size:12px;font-weight:750;overflow-wrap:anywhere}.benchmark-name small{display:block;color:var(--muted);font-size:9px;font-weight:500}.benchmark-bars i{display:block;height:18px;overflow:hidden;border-radius:2px;background:#e7efea}.benchmark-bars em{display:block;height:100%;min-width:2px;background:#397b5a}.benchmark-bars b{text-align:right;font-size:13px}.benchmark-note{margin:10px 0 0;color:var(--muted);font-size:11px}.benchmark-empty{display:grid;gap:4px;padding:25px;background:#f5f7f6;text-align:center}.benchmark-empty span{color:var(--muted)}
@media(max-width:760px){.benchmark-section{padding:13px}.benchmark-controls{grid-template-columns:1fr}.benchmark-scale{display:none}.benchmark-bars{max-height:560px}.benchmark-bars button{grid-template-columns:24px minmax(105px,1fr) minmax(80px,1fr) 72px;gap:5px;padding:5px 3px}.benchmark-bars b{font-size:11px}.benchmark-name{font-size:11px}}
.departure-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:24px 0 9px;padding-top:18px;border-top:1px solid var(--line)}.departure-head span{color:var(--green);font-size:10px;font-weight:850}.departure-head h3{margin:2px 0 0;font-size:18px}.departure-legend{display:flex;flex-wrap:wrap;gap:5px 10px;justify-content:flex-end;color:var(--muted);font-size:10px}.departure-legend i{width:12px;height:12px;border-radius:2px}.gym4{background:#315f87!important}.sos{background:#4d8d68!important}.sou{background:#d49a3a!important}.other{background:#a9b1ad!important}.departure-bars{display:grid;gap:4px;max-height:680px;overflow:auto;padding-right:4px}.departure-bars button{display:grid;grid-template-columns:245px minmax(180px,1fr) 44px;gap:10px;align-items:center;width:100%;min-height:42px;padding:5px 7px;border:0;border-bottom:1px solid #e7ece9;background:#fff;color:inherit;text-align:left;cursor:pointer}.departure-bars button:hover,.departure-bars button:focus-visible{background:#f2f7f4;outline:none}.departure-name{font-size:12px;font-weight:750}.departure-name small{display:block;color:var(--muted);font-size:9px;font-weight:500}.departure-bars button>i{display:flex;height:22px;overflow:hidden;border-radius:3px;background:#edf0ee}.departure-bars em{display:grid;place-items:center;height:100%;min-width:2px;color:#fff;font-size:9px;font-style:normal;font-weight:850}.departure-bars em span{overflow:hidden}.departure-bars button>b{text-align:right}
@media(max-width:760px){.departure-head{display:block}.departure-legend{justify-content:flex-start;margin-top:7px}.departure-bars{max-height:560px}.departure-bars button{grid-template-columns:minmax(110px,.9fr) minmax(130px,1.1fr) 30px;gap:5px;padding:5px 3px}.departure-name{font-size:10px}.departure-bars em{font-size:8px}}

/* Responsive refinement */
body{overflow-x:hidden}.hero-stats{grid-template-columns:repeat(2,minmax(132px,1fr));max-width:590px}.hero-stats span{min-width:0;border-radius:5px}.hero-stats span:last-child:nth-child(odd){grid-column:1/-1}.dashboard-nav{scrollbar-width:thin}.dashboard-nav a{min-height:40px;display:inline-flex;align-items:center}.section-head a,.sources a,.map-layout aside a{display:inline-flex;align-items:center;min-height:38px}.city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section,.sources{overflow:hidden}.filters label,.benchmark-controls label,.compare-controls label{min-width:0}.filters select,.filters input,.benchmark-controls select,.compare-controls select{min-width:0}.school-card h3,.comparison-head strong,.departure-name,.benchmark-name{letter-spacing:0}.leaflet-control-zoom a{min-width:34px;min-height:34px;line-height:34px}.leaflet-container{font:inherit}

@media(min-width:901px){
  .hero{grid-template-columns:minmax(0,1.35fr) minmax(430px,.65fr)}
  .hero-stats span:last-child:nth-child(odd){grid-column:auto}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section,.sources{border-radius:7px}
}
.filters{grid-template-columns:minmax(220px,1.7fr) repeat(7,minmax(125px,1fr)) auto}
.school-profile>.gifted-support{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin:0 0 10px;padding:11px 13px;border:1px solid #d6e0eb;border-left:5px solid #6485a8;border-radius:5px;background:#f5f8fc}.gifted-support h5{margin:2px 0 4px;color:#315d87;font-size:15px}.gifted-support p{margin:3px 0;font-size:12px}.gifted-support>div:last-child{padding:8px;border-radius:4px;background:#fff}.gifted-support>div:last-child b,.gifted-support>div:last-child small{display:block}.gifted-support .verification-state{margin:5px 0 2px;color:#315d87;font-weight:800}.gifted-support.historical,.gifted-support.review{border-left-color:#a27c45;background:#fbf7ef}.gifted-support.planned{border-left-color:#7b6b9c;background:#f6f3fa}
@media(max-width:1250px){.filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.filters,.school-profile>.gifted-support{grid-template-columns:1fr}}
.special-education-section{margin:22px auto;padding:18px;max-width:1380px;border:1px solid var(--line);background:#fff}.special-education-notice{padding:13px 15px;border-left:5px solid #a56a32;background:#fbf6ed}.special-education-notice p{margin:5px 0;font-size:13px}.special-focus-filter{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.special-focus-filter button{padding:7px 10px;border:1px solid #c8d3cd;border-radius:4px;background:#fff;color:#365348;font:700 11px/1 system-ui;cursor:pointer}.special-focus-filter button.active{border-color:#416d5a;background:#416d5a;color:#fff}.specialized-school-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.specialized-school-list article{padding:12px;border:1px solid #d8e1dc;border-radius:5px;background:#fafcfb}.specialized-school-list header{display:flex;gap:9px}.specialized-school-list header>span{display:grid;place-items:center;width:30px;height:30px;background:#e8f0ec;color:#315f4a;font-weight:850}.specialized-school-list h3{margin:0;font-size:15px}.specialized-school-list header small{color:var(--muted)}.specialized-school-list p{margin:8px 0;font-size:12px}.special-needs{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.special-needs i{padding:3px 6px;border-radius:3px;background:#e8eef6;color:#345d85;font-size:9px;font-style:normal;font-weight:800}.specialized-school-list footer{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;padding-top:8px;border-top:1px solid #e4e9e6;font-size:10px}.specialized-school-list footer b{color:#765328}.special-education-caveat{color:var(--muted);font-size:11px}.school-profile>.special-education-classes{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin:0 0 10px;padding:11px 13px;border:1px solid #e1cdb9;border-left:5px solid #a56a32;border-radius:5px;background:#fbf6ed}.special-education-classes h5{margin:2px 0 4px;color:#74491f;font-size:15px}.special-education-classes p{margin:3px 0;font-size:12px}.special-education-classes>div:last-child{padding:8px;background:#fff}.special-education-classes>div:last-child b,.special-education-classes>div:last-child small,.special-education-classes>div:last-child a{display:block;margin-bottom:3px}.special-education-fact b{color:#815125}
@media(max-width:700px){.specialized-school-list,.school-profile>.special-education-classes{grid-template-columns:1fr}.special-education-section{padding:12px}}
.nonpublic-section{margin:22px auto;padding:18px;max-width:1380px;border:1px solid var(--line);background:#fff}.nonpublic-notice{padding:11px 13px;border-left:5px solid #626f89;background:#f2f4f8;color:#475266;font-size:12px}.nonpublic-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}.nonpublic-controls button{padding:7px 10px;border:1px solid #c8d0dc;border-radius:4px;background:#fff;color:#46536a;font:700 11px/1 system-ui;cursor:pointer;text-transform:capitalize}.nonpublic-controls button.active{background:#4e5f7a;color:#fff}.nonpublic-controls label{margin-left:auto;font-size:11px;font-weight:750}.nonpublic-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nonpublic-list article{display:flex;flex-direction:column;padding:11px;border:1px solid #dce1e8;border-radius:5px;background:#fafbfc}.nonpublic-list header>span{float:right;padding:3px 6px;background:#e8ecf2;color:#4d5d75;font-size:9px;font-weight:800;text-transform:uppercase}.nonpublic-list h3{margin:0;font-size:14px}.nonpublic-list header small{color:var(--muted)}.nonpublic-list>article>p{min-height:32px;margin:7px 0;font-size:11px}.tuition{margin-top:auto;padding:7px 8px;background:#f1f4f7}.tuition span,.tuition small{display:block;color:var(--muted);font-size:9px}.tuition b{display:block;color:#34455f;font-size:14px}.nonpublic-list footer{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:9px}.nonpublic-list footer small{color:#876a3c}.nonpublic-list footer a{white-space:nowrap}
@media(max-width:1000px){.nonpublic-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nonpublic-list{grid-template-columns:1fr}.nonpublic-section{padding:12px}.nonpublic-controls label{width:100%;margin:5px 0 0}}
.school-documents{margin:8px 0;border:1px solid #d9e1dd;border-radius:4px;background:#fff}.school-documents>summary{display:flex;justify-content:space-between;gap:8px;padding:8px;cursor:pointer;color:#354f45;font-size:10px;font-weight:800}.school-documents>summary b{color:#65776f}.school-documents>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 7px 7px}.school-document{min-width:0;padding:7px!important;border:0!important;border-left:3px solid #4e7c67!important;border-radius:2px!important;background:#f4f8f6!important}.school-document.missing{border-left-color:#b4a994!important;background:#faf8f3!important}.school-document span,.school-document small{display:block;color:var(--muted);font-size:8px}.school-document b{display:block;margin:2px 0;font-size:10px}.school-document p{min-height:0!important;margin:4px 0!important;font-size:9px!important}.school-document a{font-size:9px;font-weight:750}.document-review-date{display:block;padding:0 8px 7px;color:var(--muted);font-size:8px}
@media(max-width:620px){.school-documents>div{grid-template-columns:1fr}}
.comparable-school-stats{margin:8px 0;border:1px solid #cfdcd5;border-radius:4px;background:#f8fbf9}.comparable-school-stats>summary{display:flex;justify-content:space-between;gap:8px;padding:8px;cursor:pointer;color:#315746;font-size:10px;font-weight:800}.comparable-school-stats>summary b{color:#486f5c}.comparable-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:1px;background:#dce5e0}.comparable-stat-grid article{min-width:0;padding:6px!important;border:0!important;border-radius:0!important;background:#fff!important}.comparable-stat-grid span{display:block;color:var(--muted);font-size:7px}.comparable-stat-grid b{display:block;overflow-wrap:anywhere;font-size:9px}.comparable-school-stats>p{margin:7px!important;font-size:9px!important}.comparable-school-stats>small{display:block;margin:7px;color:var(--muted);font-size:8px}.comparable-school-stats>a{display:inline-block;margin:0 7px 8px;font-size:9px;font-weight:750}.comparable-school-stats.unavailable{border-color:#ddd6c8;background:#fbfaf7}.comparable-school-stats.unavailable>summary{color:#726550}.comparable-school-stats.unavailable>summary b{color:#8b7960}
@media(max-width:900px){.comparable-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.comparable-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tuition em,.tuition i{display:block;margin-top:3px;font-size:10px;font-style:normal}.tuition em{color:#42536d}.tuition i{width:max-content;padding:2px 5px;border-radius:3px;background:#dfe9e3;color:#315f49;font-weight:800}.tuition-older .tuition i,.tuition-future .tuition i,.tuition-future-calendar .tuition i{background:#f3e8d7;color:#7b5526}.tuition-mismatch .tuition i,.tuition-official-unclear .tuition i{background:#f5e5d7;color:#8a4e26}.tuition-unconfirmed .tuition i,.tuition-individual-only .tuition i{background:#ececef;color:#5e6270}.tuition-detail{margin-top:6px;border-top:1px solid #e1e6ea}.tuition-detail summary{padding:6px 0 2px;color:#4c5e76;font-size:10px;font-weight:750;cursor:pointer}.tuition-detail p{min-height:0!important;margin:4px 0!important;color:#5f6874}
.catalog-map{width:100%;height:390px;margin:8px 0 14px;border:1px solid #ccd7d1;border-radius:5px;background:#edf2ef}.catalog-map .leaflet-popup-content b,.catalog-map .leaflet-popup-content small{display:block}.catalog-map .leaflet-popup-content p{margin:5px 0}.catalog-map .leaflet-popup-content strong{display:block;color:#315f49}@media(max-width:700px){.catalog-map{height:320px}}
.catalog-map-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;color:#405048;font-size:.82rem}.catalog-map-legend i{width:10px;height:10px;border-radius:50%;background:var(--marker);box-shadow:0 0 0 2px #fff,0 0 0 3px #cbd5d0}.catalog-map-legend small{margin-left:auto;color:#68766f}
.grade-range{display:inline-flex;width:max-content;margin-top:6px;padding:3px 7px;border:1px solid #c8d7cf;border-radius:3px;background:#edf4f0;color:#315f49;font-size:.72rem;line-height:1.25}
.grade-range-note{display:block;margin-top:4px;color:#66746d;font-size:.72rem;line-height:1.35}

.leaflet-popup-content{min-width:260px}
.leaflet-popup-content>b{display:block;font-size:14px}
.school-map-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.school-map-facts div{padding:7px;background:#f1f6f3;border-left:3px solid #72a188}
.school-map-facts .wide{grid-column:1/-1}
.school-map-facts dt{font-size:10px;color:#607068}
.school-map-facts dd{margin:1px 0 0;font-weight:750;line-height:1.3}
.school-map-facts dd small{display:inline;color:#607068;font-weight:500}

@media(max-width:900px){
  main{width:min(100% - 24px,820px);margin-top:14px}
  .hero{gap:22px;padding:28px max(18px,calc((100vw - 796px)/2))}
  .hero h1{font-size:clamp(34px,7vw,52px)}
  .hero-stats{width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-stats span:last-child:nth-child(odd){grid-column:auto}
  .hero-stats span{padding:11px}
  .hero-stats b{font-size:21px}
  .dashboard-nav{justify-content:flex-start;padding-inline:12px}
  .map-layout aside{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center}
  .map-layout aside h3,.map-layout aside p{grid-column:1}
  .map-layout aside a{grid-column:2;grid-row:1/3}
  .benchmark-controls{grid-template-columns:1.2fr 1fr 1fr}
  .school-card.is-open .school-detail{grid-template-columns:1fr}
}

@media(max-width:620px){
  body{font-size:14px}
  main{width:calc(100% - 16px);margin:8px auto 36px}
  .hero{padding:20px 12px;gap:16px}
  .hero h1{font-size:34px;line-height:1.06}
  .hero .lead{font-size:14px;line-height:1.45}
  .hero>div>p:first-of-type{font-size:10px}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .hero-stats span{padding:9px;font-size:11px}
  .hero-stats b{font-size:19px}
  .dashboard-nav{gap:3px;padding:5px 8px;scroll-snap-type:x proximity}
  .dashboard-nav a{min-height:42px;padding:7px 10px;scroll-snap-align:start}
  .notice,.city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section,.sources{margin:8px 0;padding:12px;border-radius:6px;box-shadow:0 5px 18px rgba(29,55,43,.06)}
  .notice{gap:5px}.notice strong{font-size:13px}.notice p{font-size:12px;line-height:1.45}
  .section-head{margin-bottom:11px}.section-head h2{font-size:20px}.section-head>strong{font-size:11px}
  .city-kpis,.admissions-kpis{gap:5px}.city-kpis article,.admissions-kpis article{padding:10px}
  .city-kpis b,.admissions-kpis b{font-size:20px}.city-kpis span{font-size:12px}
  .city-summary-detail{gap:16px;margin-top:14px}.admission-bars>div{grid-template-columns:100px minmax(70px,1fr) 38px;gap:6px;font-size:11px}
  .student-history-chart{gap:3px;height:130px}.student-history-chart b{font-size:9px}.student-history-chart i{width:72%}
  .map-layout,#schoolMap{min-height:360px}.map-layout aside{display:block;padding:12px}.map-layout aside h3{font-size:15px}.map-layout aside p{font-size:12px}
  .compare-controls{grid-template-columns:1fr 44px;align-items:end}.compare-controls label{grid-column:1/-1}.compare-controls label:first-child{grid-column:1}.compare-controls button{grid-column:2;grid-row:1;height:44px}.compare-controls select,.filters input,.filters select,.benchmark-controls select{min-height:44px;font-size:14px}
  .comparison-head{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-head>span:first-child{display:none}.comparison-head strong{border-left:0}.comparison-head strong+strong{border-left:1px solid var(--line)}
  .comparison-row{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-row>span{grid-column:1/-1;padding:7px 9px 3px;background:#f4f7f5!important;color:#40544a;font-size:11px;font-weight:750}.comparison-row>b{padding:6px 9px 9px;border-left:0;font-size:13px}.comparison-row>b+b{border-left:1px solid var(--line)}
  .benchmark-controls{grid-template-columns:1fr;padding:8px}.benchmark-bars button{grid-template-columns:20px minmax(100px,1.1fr) minmax(70px,.9fr) 58px;min-height:48px}.benchmark-name{font-size:10px}.benchmark-bars b{font-size:10px}
  .departure-bars button{grid-template-columns:minmax(92px,.8fr) minmax(132px,1.2fr) 28px;min-height:48px}.departure-name{font-size:10px}.departure-bars em span{font-size:7px}.departure-legend{gap:6px 9px}
  .filters{gap:7px;padding:8px}.school-card>button{min-height:68px}.school-marker{width:32px;height:32px}.school-card h3{font-size:14px}
  .school-card.is-open .metric-grid,.key-metrics>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.school-card.is-open .school-admissions>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .key-metrics article>b{font-size:16px;overflow-wrap:normal;word-break:normal}
  .school-indicators>div{grid-template-columns:1fr}.school-history summary,.school-inspection summary,.school-indicators summary,.school-warnings summary,.school-investments summary{min-height:44px}
  .method-grid article{padding:12px}.method-grid h3{font-size:15px}.method-grid p{font-size:12px}
  .sources{gap:6px}.sources a{width:100%;min-height:42px;padding:8px 9px}
}

/* 2026-10 information hierarchy and responsive review */
body{background:#f2f5f3}
main{display:grid;gap:18px;margin-top:18px}
main>section,.school-type-section>section{margin:0}
.hero{min-height:270px;padding-top:30px;padding-bottom:30px;background:#143c2e}
.hero h1{max-width:850px;font-size:clamp(34px,4.4vw,58px);letter-spacing:0}
.hero-stats{grid-template-columns:repeat(2,minmax(145px,1fr));max-width:440px}
.hero-stats span{min-width:0;padding:11px 13px;border-radius:4px}
.hero-stats b{font-size:21px}
.dashboard-nav{justify-content:flex-start;gap:3px}
.dashboard-nav a{padding:8px 10px}
.dashboard-nav a:last-child{margin-left:auto;background:#e7f1ec}
.notice{grid-template-columns:140px 1fr;align-items:start;margin:0;padding:13px 16px;border-left:4px solid #5b8f75;border-radius:5px;background:#f7faf8}
.notice strong{color:#245b43}
.notice p{color:#506159;font-size:13px}
.city-summary-section,.map-section,.benchmark-section,.catalog-section,.special-education-section,.nonpublic-section,.compare-section,.method-section,.sources{border-radius:6px;box-shadow:0 4px 18px rgba(29,55,43,.055)}
.section-head{align-items:center;margin-bottom:13px}
.section-head>div{min-width:0}
.section-head h2{font-size:clamp(20px,2.1vw,25px)}
.section-head p{max-width:780px;margin:4px 0 0;color:var(--muted);font-size:13px}
.school-type-section{display:grid;gap:12px;margin:6px 0 0}
.school-type-heading{border-left-width:5px;border-radius:5px}
.school-type-heading h2{font-size:23px}
.benchmark-controls,.filters,.compare-controls{gap:8px;padding:9px;border-radius:5px;background:#f4f7f5}
.benchmark-controls label,.filters label,.compare-controls label{color:#3f5148}
.filters{position:sticky;top:54px}
.school-card{box-shadow:none}
.school-card:hover{border-color:#a9c1b5}
.catalog-map{margin-top:4px}
.special-education-section,.nonpublic-section{padding:20px;background:#fff;border:1px solid var(--line)}
.compare-section{border-top:5px solid #397b5a}
.compare-controls{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}
.compare-controls .compare-district{grid-column:1/-1}
.compare-controls .compare-district select{max-width:460px}
.school-comparison{border-radius:5px}
.comparison-head{position:sticky;top:54px;z-index:3}
.comparison-head>*{background:#e5f0ea}
.comparison-row>span{font-size:12px;font-weight:650}
.comparison-row>b{font-size:14px;font-weight:700}
.method-section{padding:16px 20px}
.method-section h2{margin:0 0 11px;font-size:18px}
.method-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.method-grid article{padding:11px;background:#fafcfb}
.method-grid h3{font-size:13px}
.method-grid p{font-size:11px}
.sources{padding:16px 20px}
.sources h2{font-size:18px}
.sources a{padding:6px 9px;border-radius:3px;font-size:12px}

@media(max-width:1050px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr)}
  .compare-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  main{gap:12px}
  .hero{min-height:0;grid-template-columns:1fr;gap:20px}
  .hero-stats{max-width:none}
  .dashboard-nav{position:sticky;top:0;padding-inline:10px}
  .dashboard-nav a:last-child{margin-left:0}
  .notice{grid-template-columns:1fr;gap:4px}
  .special-education-section,.nonpublic-section{padding:14px}
  .compare-controls{grid-template-columns:1fr}
  .compare-controls .compare-district{grid-column:auto}
  .compare-controls .compare-district select{max-width:none}
  .comparison-head{position:static}
  .method-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .hero h1{font-size:34px}
  .hero .lead{font-size:15px}
  .hero-stats span{padding:9px 10px;font-size:12px}
  .hero-stats b{font-size:19px}
  .dashboard-nav{scrollbar-width:none}
  .dashboard-nav::-webkit-scrollbar{display:none}
  .section-head{gap:6px}
  .school-type-heading{padding:13px}
  .school-type-heading p{font-size:11px}
  .map-layout,#schoolMap{min-height:350px}
  .map-layout aside{padding:13px}
  .benchmark-section,.catalog-section,.compare-section,.city-summary-section,.map-section{padding:13px}
  .benchmark-controls{grid-template-columns:1fr}
  .filters{top:48px;max-height:52vh;overflow-y:auto;box-shadow:0 5px 18px rgba(29,55,43,.13)}
  .method-section,.sources{padding:13px}
}
.school-type-section{margin:22px 0;padding:0;border:0;background:transparent}.school-type-heading{padding:18px 22px;border-left:6px solid #397b5a;background:#eaf3ee}.school-type-heading span{color:#4f7563;font-size:10px;font-weight:850}.school-type-heading h2{margin:3px 0 4px;color:#214d39;font-size:25px}.school-type-heading p{margin:0;color:#52675d;font-size:12px}.school-type-section>.benchmark-section,.school-type-section>.catalog-section{margin-left:0;margin-right:0}.special-education-section .section-head p{max-width:720px;margin:4px 0 0;color:var(--muted);font-size:12px}
@media(max-width:620px){.school-type-section{margin:12px 0}.school-type-heading{padding:14px 13px}.school-type-heading h2{font-size:21px}}

/* Final visual system: consistent sections, controls and data tables. */
:root{--section-radius:7px;--soft-green:#edf5f0;--soft-blue:#eef5f9;--soft-gold:#fbf5e9}
main>section{scroll-margin-top:64px}
.city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section,.sources,.notice{border-color:#d5dfd9;border-radius:var(--section-radius);box-shadow:0 7px 22px rgba(29,55,43,.065)}
.city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section{padding:22px}
.section-head{padding-bottom:12px;border-bottom:1px solid #e0e7e3}.section-head h2{font-size:22px;line-height:1.2}.section-head span{letter-spacing:.06em}
label{color:#334b40}.filters,.compare-controls,.benchmark-controls{padding:12px;border:1px solid #dde6e1;border-radius:6px;background:#f7faf8}
.filters input,.filters select,.compare-controls select,.benchmark-controls select{border-color:#b9c9c0;background:#fff;box-shadow:0 1px 2px rgba(24,54,40,.04)}
.filters input:focus,.filters select:focus,.compare-controls select:focus,.benchmark-controls select:focus{border-color:#4f896c;outline:2px solid #cbe2d5;outline-offset:1px}
.city-kpis article,.admissions-kpis article,.method-grid article{border-radius:5px}
.school-list{gap:12px}.school-card{border-color:#d3ded8;border-radius:7px;box-shadow:0 2px 9px rgba(29,55,43,.045)}
.school-card>button{min-height:72px}.school-card>button:focus-visible{outline:3px solid #9bc7b0;outline-offset:-3px}
.school-history table{font-variant-numeric:tabular-nums}.school-history th,.school-history td{border-color:#e2e8e4}.school-history tbody tr:hover>*{background:#edf5f0}

/* Graduates: one aligned visual table on desktop, compact cards on mobile. */
.departure-head{align-items:center;margin-top:28px;padding:18px 0 0}.departure-head h3{font-size:20px}.departure-legend{padding:7px 9px;border:1px solid #dce4df;border-radius:5px;background:#f8faf9}.departure-legend i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.departure-chart{overflow:hidden;border:1px solid #d8e2dc;border-radius:6px;background:#fff}
.departure-columns,.departure-bars button{display:grid;grid-template-columns:minmax(205px,1.35fr) minmax(180px,1.5fr) 168px 66px;gap:12px;align-items:center}
.departure-columns{padding:8px 11px;background:#e7f1eb;color:#355747;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.departure-columns span:nth-child(3),.departure-columns span:last-child{text-align:right}
.departure-bars{max-height:660px;gap:0;padding:0;scrollbar-color:#a7bdb1 #edf2ef}.departure-bars button{min-height:54px;padding:7px 11px;border-bottom:1px solid #e3e9e5}.departure-bars button:nth-child(even){background:#fafcfb}.departure-bars button:last-child{border-bottom:0}.departure-bars button:hover,.departure-bars button:focus-visible{position:relative;background:#edf5f0;outline:2px solid #8fbea4;outline-offset:-2px}
.departure-name{font-size:12px;line-height:1.25}.departure-name small{margin-top:3px;font-size:9px}.departure-bars button>i{height:25px;border:1px solid #dce3df;border-radius:4px}.departure-bars em{font-size:9px;text-shadow:0 1px 1px rgba(0,0,0,.22)}
.departure-shares{gap:6px}.departure-shares b{padding:3px 2px;border-radius:3px;background:#f1f4f2;font-size:11px;font-variant-numeric:tabular-nums}.departure-shares small{font-size:7px}.departure-total{font-size:16px;font-variant-numeric:tabular-nums}.departure-total small{margin-top:1px}
.departure-chart>.benchmark-note{margin:0;padding:10px 12px;border-top:1px solid #dfe7e2;background:#f8faf9;color:#5b6d64;font-size:10px}
.departure-name>sup{margin-left:2px;color:var(--green);font-size:9px}.departure-footnote{margin:0;padding:9px 12px;border-top:1px solid #dfe7e2;background:#f3f7f4;color:#40544a;font-size:11px;line-height:1.45}.departure-footnote sup{margin-right:3px;color:var(--green);font-weight:800}
.primary-departures{margin:0;padding:15px 12px;border-top:1px solid #d8e2dc;background:#fbfcfb}.primary-departures>div:last-child{gap:10px}.primary-departures button{border-color:#d8e2dc;box-shadow:0 2px 6px rgba(29,55,43,.04)}

@media(max-width:900px){
  .city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section{padding:16px}
  .departure-columns,.departure-bars button{grid-template-columns:minmax(145px,1.15fr) minmax(145px,1.25fr) 138px 56px;gap:8px}.departure-shares{gap:3px}.departure-shares b{font-size:9px}
}
@media(max-width:620px){
  .city-summary-section,.admissions-section,.map-section,.compare-section,.benchmark-section,.catalog-section,.method-section{padding:12px}
  .section-head{padding-bottom:9px}.section-head h2{font-size:19px}
  .departure-head{gap:8px}.departure-head h3{font-size:18px}.departure-legend{justify-content:flex-start;width:100%;font-size:9px}
  .departure-columns{display:none}.departure-chart{border:0;background:transparent;overflow:visible}.departure-bars{max-height:none;overflow:visible;gap:8px}.departure-bars button{grid-template-columns:minmax(0,1fr) 54px;gap:7px 10px;min-height:0;padding:10px;border:1px solid #d7e1db;border-radius:6px;background:#fff!important;box-shadow:0 2px 7px rgba(29,55,43,.05)}
  .departure-name{font-size:13px}.departure-bars button>i{grid-column:1/-1;grid-row:2;height:24px}.departure-shares{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(3,1fr);text-align:center}.departure-shares b{padding:5px 2px;font-size:10px}.departure-shares small{font-size:7px}.departure-total{grid-column:2;grid-row:1;align-self:center;font-size:16px}.departure-chart>.benchmark-note{margin-top:9px;border:1px solid #dfe7e2;border-radius:5px}.primary-departures{margin-top:10px;border:1px solid #d8e2dc;border-radius:6px}
  .school-history th,.school-history td{padding:7px 8px;font-size:11px}
}

.departure-bars button{grid-template-columns:245px minmax(180px,1fr) 142px 68px}
.departure-bars button>b small{display:block;color:var(--muted);font-size:8px;font-weight:600}
.departure-shares{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;text-align:right}.departure-shares b{font-size:10px}.departure-shares small{display:block;color:var(--muted);font-size:7px;white-space:nowrap}
.primary-departures{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.primary-departures>div:first-child span{color:var(--green);font-size:10px;font-weight:850}.primary-departures h4{margin:2px 0 9px}.primary-departures>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.primary-departures button{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:inherit;text-align:left;cursor:pointer}.primary-departures button:hover{background:#f2f7f4}.primary-departures button strong{font-size:12px}.primary-departures button small{color:var(--muted)}.primary-departures button span{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;font-size:10px}.primary-departures button span b{font-size:12px}
@media(max-width:760px){.departure-bars button{grid-template-columns:minmax(88px,.7fr) minmax(90px,1.3fr) 87px 42px;gap:4px}.departure-bars button>b{font-size:10px}.departure-bars button>b small{font-size:7px}.departure-shares{gap:2px}.departure-shares b{font-size:8px}.departure-shares small{font-size:6px}}
@media(max-width:760px){.primary-departures>div:last-child{grid-template-columns:1fr}}

@media(max-width:360px){
  .hero-stats{grid-template-columns:1fr}.hero-stats span:last-child:nth-child(odd){grid-column:auto}
  .city-kpis,.admissions-kpis{grid-template-columns:1fr}
  .school-card.is-open .metric-grid,.key-metrics>div:last-child{grid-template-columns:1fr}
  .benchmark-bars button{grid-template-columns:18px minmax(92px,1fr) minmax(60px,.8fr) 52px}
}

/* Unified school detail */
.school-card.is-open .school-profile,.school-card.is-open .school-departures,.school-card.is-open .school-sources,.school-card.is-open .school-actions{grid-column:1/-1}
.school-profile,.school-departures{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}
.school-finance{grid-column:1/-1;margin:0 0 12px;padding:12px;border:1px solid #d8dfeb;border-top:4px solid #496d9d;border-radius:6px;background:#fbfcff}.finance-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.finance-head span{color:#5d6c80;font-size:10px;font-weight:800;letter-spacing:.05em}.finance-head h4{margin:2px 0 0;color:#294d78;font-size:15px}.finance-head>strong{text-align:right;color:#294d78;font-size:18px}.finance-head>strong small{display:block;color:var(--muted);font-size:10px;font-weight:600}.finance-years{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:11px 0}.finance-years article{display:grid;grid-template-columns:auto 18px;grid-template-rows:auto auto;gap:2px 7px;align-items:end;padding:7px;background:#f2f5fa;border-radius:4px}.finance-years b{font-size:11px}.finance-years i{grid-row:1/3;grid-column:2;align-self:stretch;display:flex;align-items:end;height:44px;background:#dfe6ef}.finance-years em{display:block;width:100%;background:#496d9d}.finance-years span{font-size:10px;overflow-wrap:anywhere}.finance-years .missing{color:var(--muted);background:#f5f5f5}.school-finance p{margin:4px 0;color:#4f5b68;font-size:12px}.school-finance>small{color:var(--muted)}
.finance-years b a{color:#167044;text-decoration:none}.finance-years .method-break{box-shadow:inset 0 0 0 2px #d6a548}.school-finance .finance-warning{margin-top:8px;padding:7px 9px;background:#fff4d8;border-left:3px solid #d6a548;color:#644d18}.school-investments.empty>p,.investment-note{padding:0 11px 10px;color:var(--muted);font-size:11px}
.school-profile h4,.school-departures h4{margin:0 0 9px;font-size:15px;color:#174c37}
.school-profile>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.school-profile article{min-width:0;padding:9px 10px;background:#fafcfb}
.school-profile article.dining-profile{min-height:0;padding-block:7px}
.school-profile article:first-child{grid-column:1/-1}
.school-profile article.official-program{background:#eef7f2;border-color:#b9d9c8}
.school-profile>.world-education{display:grid;grid-template-columns:.8fr 1.15fr 1.6fr;gap:12px;margin:0 0 10px;padding:13px;border:1px solid #b9d9c8;border-left:5px solid #397b5a;border-radius:5px;background:#eef7f2}.world-education-head h5{margin:2px 0 5px;color:#174c37;font-size:17px}.world-education-head p,.world-education-program p{margin:5px 0;font-size:12px}.world-education-stats{display:grid;gap:6px}.world-education-stats p{margin:0;padding:8px;background:#fff;border:1px solid #d7e7df;border-radius:4px}.world-education-stats b,.world-education-stats small{display:block}.world-education-stats small{margin-top:3px;color:var(--muted);font-size:9px}.world-education-program ul{columns:2;margin:5px 0 7px;padding-left:17px;font-size:11px}.world-education-program li{break-inside:avoid;margin-bottom:3px}.world-education-program>small{display:block;margin-top:7px}.world-education-program .school-note{padding:6px 8px;border-left:3px solid #397b5a;background:#fff}.world-education-fact b{color:#276a4b}
.school-profile>.montessori-program{display:grid;grid-template-columns:.9fr 1.1fr 1.6fr;gap:12px;margin:0 0 10px;padding:13px;border:1px solid #d9c9aa;border-left:5px solid #a46c2f;border-radius:5px;background:#fbf6ec}.montessori-head h5{margin:2px 0 5px;color:#70451f;font-size:17px}.montessori-head p,.montessori-description p{margin:5px 0;font-size:12px}.montessori-stats{display:grid;gap:6px}.montessori-stats p{margin:0;padding:8px;border:1px solid #e7dbc4;border-radius:4px;background:#fff}.montessori-stats b,.montessori-stats small{display:block}.montessori-stats small{margin-top:3px;color:var(--muted);font-size:9px}.montessori-description ul{columns:2;margin:5px 0 7px;padding-left:17px;font-size:11px}.montessori-description li{break-inside:avoid;margin-bottom:3px}.montessori-description>small{display:block;margin-top:7px}.montessori-fact b{color:#8a5728}
.school-profile>.gifted-program{display:grid;grid-template-columns:.85fr 1.15fr 1.7fr;gap:12px;margin:0 0 10px;padding:13px;border:1px solid #c8d8eb;border-left:5px solid #3d70a3;border-radius:5px;background:#f0f6fc}.gifted-head h5{margin:2px 0 5px;color:#285781;font-size:17px}.gifted-head p,.gifted-description p{margin:5px 0;font-size:12px}.gifted-stats{display:grid;gap:5px}.gifted-stats p{margin:0;padding:7px 8px;border:1px solid #d7e2ef;border-radius:4px;background:#fff}.gifted-stats b,.gifted-stats small{display:block}.gifted-stats small{margin-top:2px;color:var(--muted);font-size:9px}.gifted-description ul{columns:2;margin:5px 0 7px;padding-left:17px;font-size:11px}.gifted-description li{break-inside:avoid;margin-bottom:3px}.gifted-description>small{display:block;margin-top:7px}.gifted-fact b{color:#285f91}
.profile-source{display:inline-block;margin-left:5px;color:#176342;font-size:11px;font-weight:750;white-space:nowrap}
.school-profile span,.departure-kpis span{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700}
.school-profile b{display:block;font-size:12px;font-weight:650;line-height:1.45}
.school-departures{background:#f8faf9}
.departure-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.departure-kpis article{padding:9px;border-top:3px solid #6c9f84;background:#fff}
.departure-kpis article:nth-child(4){border-color:#315f87}.departure-kpis article:nth-child(5){border-color:#4d8d68}.departure-kpis article:nth-child(6){border-color:#d49a3a}
.departure-kpis b{display:block;color:#174c37;font-size:18px}.departure-kpis b small{color:var(--muted);font-size:10px;font-weight:650}
.school-departures.empty p{margin:0;color:var(--muted);font-size:12px}
.school-sources{margin:12px 0;border:1px solid var(--line);border-radius:6px;background:#fafcfb}
.school-sources summary{padding:10px 12px;cursor:pointer;color:#315c49;font-weight:800}
.school-sources>p,.school-sources .report-state{margin:0 12px 10px;font-size:12px}
.school-actions{display:flex;justify-content:flex-end;margin-top:2px}
.school-actions>button{min-height:38px;padding:8px 12px;border:1px solid #91af9f;border-radius:5px;background:#edf5f1;color:var(--green);font-weight:800;cursor:pointer}
.school-actions>button:hover,.school-actions>button:focus-visible{background:#dcece3;outline:none}
.school-card.is-open .school-admissions{order:4}.school-card.is-open .key-metrics{order:1}.school-card.is-open .school-profile{order:2}.school-card.is-open .school-finance{order:3}.school-card.is-open .school-departures{order:5}.school-card.is-open .school-history{order:6}.school-card.is-open .school-inspection{order:7}.school-card.is-open .school-indicators{order:8}.school-card.is-open .school-warnings{order:9}.school-card.is-open .school-investments{order:10}.school-card.is-open .school-sources{order:11}.school-card.is-open .school-actions{order:12}
@media(max-width:1050px){.departure-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.school-profile>div,.departure-kpis{grid-template-columns:1fr 1fr}.school-profile article:first-child{grid-column:1/-1}.school-profile,.school-departures{padding:10px}.departure-kpis b{font-size:16px}}
@media(max-width:620px){.finance-head{display:block}.finance-head>strong{display:block;margin-top:6px;text-align:left}.finance-years{grid-template-columns:repeat(5,minmax(54px,1fr));overflow-x:auto}.finance-years article{display:block;padding:6px}.finance-years i{display:none}.finance-years span{display:block;margin-top:2px;font-size:9px}.school-finance{padding:10px}}
@media(max-width:370px){.school-profile>div,.departure-kpis{grid-template-columns:1fr}.school-profile article:first-child{grid-column:auto}}

.admission-tracks{margin:0 0 9px;padding:8px;background:#dfeef5;border-radius:4px}.admission-tracks h5{margin:0 0 6px;color:#245a79;font-size:11px}.school-admissions .admission-tracks article{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:8px;align-items:center;margin-top:3px;padding:7px 9px}.admission-tracks article strong{font-size:12px}.admission-tracks article span{min-width:74px;color:var(--muted);font-size:10px;text-align:right}.admission-tracks article span b{display:inline;color:#174c37;font-size:14px}.admission-tracks p{margin:6px 1px 0;color:#53665d;font-size:9px}
@media(max-width:620px){.school-admissions .admission-tracks article{grid-template-columns:1fr auto;gap:2px 8px}.admission-tracks article strong{grid-column:1/-1}.admission-tracks article span{text-align:left}}
.school-history>p{font-size:0}.school-history>p::after{content:'Pomlčka znamená, že škola údaj nezveřejnila nebo jej nelze bezpečně odvodit. I. / II. označuje první a druhý stupeň. Personální poměry používají přednostně přepočtené úvazky; pokud chybějí, počítají se z doloženého počtu fyzických osob.';font-size:10px}

/* Clear visual hierarchy inside each school card */
.school-card.is-open{background:#f6f8f7}.school-card.is-open>button{border-bottom:1px solid #bfd3c8;background:#e9f3ee}.school-card.is-open .school-detail{padding-top:14px}.school-card.is-open .school-marker{background:#1f684c;color:#fff;box-shadow:0 0 0 4px #cfe5d9}.school-card.is-open h3{font-size:18px}.school-card.is-open>button small{margin-top:2px;font-size:11px}
.key-metrics,.school-profile,.school-admissions,.school-departures{box-shadow:0 2px 8px rgba(25,62,45,.05)}
.key-metrics{margin-top:0;border-top:4px solid #397b5a;background:#edf5f1}.key-metrics-head{padding-bottom:8px;border-bottom:1px solid #cbded4}.key-metrics-head h4{font-size:17px}.key-metrics-head h4::before{content:'▦';margin-right:7px;color:#397b5a}
.key-metrics>div:last-child{gap:7px}.key-metrics article{border:1px solid #dce8e1;border-left:4px solid #6c9f84;border-radius:4px}.key-metrics article:nth-child(2){border-left-color:#39769a}.key-metrics article:nth-child(3){border-left-color:#bf7b31}.key-metrics article:nth-child(4){border-left-color:#8a6d9c}.key-metrics article:nth-child(5),.key-metrics article:nth-child(6){border-left-color:#557f9b}.key-metrics article>span{min-height:0;font-weight:750}.key-metrics article>b{line-height:1.15}
.school-profile{border-top:4px solid #6d7892}.school-profile h4::before{content:'◎';margin-right:7px;color:#6d7892}.school-profile>div{gap:6px;background:transparent}.school-profile article{border:1px solid #e0e4e7;border-radius:4px;background:#f9fafb}.school-profile article:first-child{background:#f2f4f7}.school-profile span{color:#596576;text-transform:uppercase;letter-spacing:.04em}
.school-admissions{border-top:4px solid #39769a;background:#edf5f9}.school-admissions h4{align-items:center;font-size:15px}.school-admissions h4::before{content:'↳';margin-right:7px}.school-admissions h4 span{margin-left:auto;padding:2px 7px;border-radius:10px;background:#d8e9f2}.school-admissions>div:not(.admission-tracks){gap:6px}.school-admissions>div:not(.admission-tracks)>article{border:1px solid #d5e3ea;border-radius:4px}.school-admissions>div:not(.admission-tracks)>article b{color:#245a79;font-size:17px}.admission-tracks{border:1px solid #c8dfe9;background:#dfeef5}.admission-tracks h5{font-size:12px}.school-admissions .admission-tracks article{border:1px solid #d5e3ea;border-radius:4px}
.school-departures{border-top:4px solid #b77a35;background:#fbf7f0}.school-departures h4::before{content:'→';margin-right:7px;color:#b77a35}.departure-kpis article{border:1px solid #eadfce;border-top:4px solid #6c9f84;border-radius:4px}.departure-kpis span{min-height:29px}.departure-kpis b{font-size:20px}
.school-history,.school-inspection,.school-indicators,.school-warnings,.school-investments,.school-sources{overflow:hidden;border-radius:5px;background:#fff}.school-history summary,.school-inspection summary,.school-indicators summary,.school-warnings summary,.school-investments summary,.school-sources summary{min-height:43px;padding:11px 13px}.school-history summary::before{content:'▤';margin-right:7px;color:#397b5a}.school-inspection summary::before{content:'✓';margin-right:7px;color:#39769a}.school-indicators summary::before{content:'+';display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;border-radius:50%;background:#dcefe4;color:#164d38;font-size:11px}.school-investments summary::before{content:'◆';margin-right:7px;color:#b77a35}.school-sources summary::before{content:'↗';margin-right:7px;color:#53665d}
.school-actions{padding-top:3px}.school-actions>button{min-width:150px}
@media(max-width:620px){.school-card.is-open h3{font-size:16px}.school-card.is-open .school-detail{padding-top:10px}.key-metrics,.school-profile,.school-admissions,.school-departures{margin-bottom:9px}.key-metrics-head h4{font-size:15px}.key-metrics article,.school-profile article,.departure-kpis article{padding:8px}.departure-kpis span{min-height:0}.school-actions>button{width:100%}}

/* 2026-10 unified catalogue and school-card hierarchy */
.filters{grid-template-columns:minmax(220px,1.7fr) repeat(7,minmax(125px,1fr)) auto;align-items:end}
.reset-filters{height:40px;padding:0 13px;border:1px solid #aebdb5;border-radius:5px;background:#fff;color:#315c49;font:700 12px/1 system-ui;cursor:pointer;white-space:nowrap}
.reset-filters:hover,.reset-filters:focus-visible{background:#e6f0eb;outline:2px solid #8db8a2;outline-offset:1px}
.school-card>button{grid-template-columns:42px minmax(0,1fr) auto;align-items:start}
.school-card-title{min-width:0}.school-card-state{display:flex;gap:9px;align-items:center;align-self:center}.school-card-state .data-year{margin:0}
.school-quick-facts{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:8px;color:#65736c;font-size:10px}
.school-quick-facts span{position:relative}.school-quick-facts span+span::before{content:'·';position:absolute;left:-8px;color:#a3afa9}.school-quick-facts b{color:#244f3c;font-size:11px}
.school-card.is-open .school-quick-facts{display:none}
.school-detail{font-size:14px}.school-detail>section,.school-detail>details{min-width:0}
.school-finance{padding:0}.school-finance>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;padding:11px 13px;cursor:pointer;color:#294d78;font-weight:800;list-style-position:inside}.school-finance>summary strong{text-align:right}.school-finance>summary small{color:var(--muted);font-size:10px}.school-finance[open]>summary{border-bottom:1px solid #d8dfeb;background:#f2f5fa}.finance-content{padding:12px}.finance-content>.finance-head{display:block}.school-profile>div{grid-template-columns:repeat(3,minmax(0,1fr))}.school-profile article:first-child{grid-column:span 2}.school-profile article{min-height:82px}.school-profile b{font-size:13px}.profile-source{margin:5px 5px 0 0;white-space:normal}
.school-history,.school-inspection,.school-indicators,.school-warnings,.school-investments,.school-sources,.school-finance{margin:0 0 8px;border-color:#d8e1dc;box-shadow:none}.school-history summary,.school-inspection summary,.school-indicators summary,.school-warnings summary,.school-investments summary,.school-sources summary,.school-finance summary{font-size:13px}.school-actions{margin-top:4px}
@media(max-width:1250px){.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filters label:first-child{grid-column:span 2}}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-child{grid-column:span 2}.school-profile>div{grid-template-columns:repeat(2,minmax(0,1fr))}.school-profile article:first-child{grid-column:1/-1}}
@media(max-width:900px){.school-profile>.world-education{grid-template-columns:1fr 1.4fr}.world-education-program{grid-column:1/-1}}
@media(max-width:900px){.school-profile>.montessori-program{grid-template-columns:1fr 1.4fr}.montessori-description{grid-column:1/-1}}
@media(max-width:900px){.school-profile>.gifted-program{grid-template-columns:1fr 1.4fr}.gifted-description{grid-column:1/-1}}
@media(max-width:620px){.filters{grid-template-columns:1fr}.filters label:first-child{grid-column:auto}.reset-filters{width:100%;min-height:44px}.school-card>button{grid-template-columns:34px minmax(0,1fr) 22px;gap:8px}.school-card-state .data-year{display:none!important}.school-quick-facts{gap:3px 11px}.school-profile>div{grid-template-columns:1fr}.school-profile article:first-child{grid-column:auto}.school-profile article{min-height:0}.school-finance>summary{align-items:flex-start}.school-finance>summary strong{max-width:46%;font-size:12px}.finance-content{padding:9px}}
@media(max-width:620px){.school-profile>.world-education{grid-template-columns:1fr;padding:10px}.world-education-program{grid-column:auto}.world-education-program ul{columns:1}}
@media(max-width:620px){.school-profile>.montessori-program{grid-template-columns:1fr;padding:10px}.montessori-description{grid-column:auto}.montessori-description ul{columns:1}}
@media(max-width:620px){.school-profile>.gifted-program{grid-template-columns:1fr;padding:10px}.gifted-description{grid-column:auto}.gifted-description ul{columns:1}}

.compare-controls{grid-template-columns:repeat(6,minmax(0,1fr))}
.compare-controls select:disabled{background:#eef1ef;color:#829089}
.school-comparison{overflow-x:auto}
.comparison-scope{position:sticky;left:0;margin:0!important;background:#f5f8f6!important;color:var(--green)!important}
.district-comparison .comparison-head,.district-comparison .comparison-row{min-width:var(--comparison-min)}

@media(max-width:1050px){
  .compare-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .compare-meta{width:100%;justify-content:space-between}
  .compare-controls{grid-template-columns:1fr}
  .compare-controls label,.compare-controls label:first-child{grid-column:auto}
  .comparison-head{display:none}
  .comparison-row{display:grid;grid-template-columns:1fr}
  .comparison-row>span{grid-column:auto;padding:8px 10px;background:#eaf2ed!important}
  .comparison-row>b,.comparison-row>b+b{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border-left:0;border-top:1px solid #edf1ee;font-size:13px;text-align:right}
  .comparison-row>b::before{content:attr(data-school);min-width:0;color:var(--muted);font-size:11px;font-weight:600;text-align:left}
  .district-comparison .comparison-head,.district-comparison .comparison-row{min-width:0}
}

/* Keep the graduates layout last so legacy responsive rules cannot override it. */
.departure-columns,.departure-bars button{grid-template-columns:minmax(205px,1.35fr) minmax(180px,1.5fr) 168px 66px;gap:12px}
.departure-bars{max-height:660px;gap:0;padding:0}.departure-bars button{min-height:54px;padding:7px 11px}.departure-shares{gap:6px}.departure-shares b{padding:3px 2px;font-size:11px}.primary-departures{margin:0;padding:15px 12px}.primary-departures>div:last-child{gap:10px}
.departure-bars button.non-exclusive{box-shadow:inset 3px 0 #8a6d9c}.departure-bars button.non-exclusive .departure-total small{color:#765889}
@media(max-width:900px) and (min-width:621px){.departure-columns,.departure-bars button{grid-template-columns:minmax(145px,1.15fr) minmax(145px,1.25fr) 138px 56px;gap:8px}.departure-shares{gap:3px}.departure-shares b{font-size:9px}}
@media(max-width:620px){
  .departure-columns{display:none}.departure-chart{border:0;background:transparent;overflow:visible}.departure-bars{max-height:none;overflow:visible;gap:8px}
  .departure-bars button{grid-template-columns:minmax(0,1fr) 54px;gap:7px 10px;min-height:0;padding:10px;border:1px solid #d7e1db;border-radius:6px;background:#fff!important}
  .departure-name{grid-column:1;grid-row:1;font-size:13px}.departure-bars button>i{grid-column:1/-1;grid-row:2;height:24px}.departure-shares{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(3,1fr);gap:4px;text-align:center}.departure-shares b{padding:5px 2px;font-size:10px}.departure-shares small{font-size:7px}.departure-total{grid-column:2;grid-row:1;align-self:center;font-size:16px}.primary-departures{margin-top:10px}
}

/* Final reviewed layout: keep these rules last. */
main{display:grid;gap:18px;margin-top:18px}
main>section,.school-type-section>section{margin-block:0}
.school-type-section{display:grid;gap:12px;margin:6px 0}
.school-type-heading{padding:17px 20px;border-left-width:5px;border-radius:5px}
.benchmark-controls,.filters,.compare-controls{gap:8px;padding:9px}
.compare-controls{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}
.compare-controls .compare-district{grid-column:1/-1}
.compare-controls .compare-district select{max-width:460px}
.method-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.method-grid article{padding:11px}
.special-education-section,.nonpublic-section{padding:20px;background:#fff;border:1px solid var(--line);border-radius:6px}

@media(max-width:1050px){
  .compare-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compare-controls .compare-district{grid-column:1/-1}
  .method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  main{gap:12px}
  .school-type-section{margin:2px 0}
  .special-education-section,.nonpublic-section{padding:14px}
  .compare-controls{grid-template-columns:1fr}
  .compare-controls .compare-district{grid-column:auto}
  .compare-controls .compare-district select{max-width:none}
  .method-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .school-type-heading{padding:13px}
  .benchmark-controls{grid-template-columns:1fr}
  .filters{top:48px;max-height:52vh;overflow-y:auto}
}

/* Six headline indicators: three concise columns on larger screens, two on phones. */
.hero-stats{grid-template-columns:repeat(3,minmax(130px,1fr));max-width:650px}
.hero-stats span:last-child:nth-child(odd){grid-column:auto}
@media(max-width:620px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
.class-average-warning{margin:10px 0 0;padding:10px 12px;border:1px solid #e6c893;border-left:4px solid #b9782f;border-radius:5px;background:#fffaf0;color:#59451f}.class-average-warning strong{display:block;font-size:12px}.class-average-warning p{margin:3px 0 0;font-size:11px;line-height:1.45}

.counselling-section{padding:20px;background:#fff;border:1px solid var(--line);border-radius:6px}.counselling-map{height:420px;margin-bottom:6px;border:1px solid #d8e2dc;border-radius:5px;background:#eef3f0}.counselling-map-legend{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--muted);font-size:10px}.counselling-map-legend i{width:10px;height:10px;margin-left:5px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #bcc9c1}.counselling-map-legend i:first-child{margin-left:0}.counselling-map-legend .ppp{background:#3976a8}.counselling-map-legend .spc{background:#4f8a68}.counselling-map-legend small{margin-left:auto}.counselling-map .leaflet-popup-content{display:grid;gap:4px;min-width:190px}.counselling-map .leaflet-popup-content small,.counselling-map .leaflet-popup-content strong{display:block}.counselling-map .leaflet-popup-content span{color:var(--muted);font-size:11px}.counselling-map .leaflet-popup-content a{color:var(--green);font-weight:800}.counselling-popup-links{display:flex;gap:10px;margin-top:3px}.counselling-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.counselling-card{display:flex;flex-direction:column;gap:8px;min-height:190px;padding:14px;border:1px solid #dce5e0;border-top:4px solid #759783;border-radius:5px;background:#fbfdfc}.counselling-card header{display:flex;align-items:flex-start;gap:9px}.counselling-card header>span{flex:0 0 auto;padding:4px 6px;border-radius:4px;background:#e2eee7;color:#285b42;font-size:10px;font-weight:900}.counselling-card h3{margin:0 0 4px;font-size:15px}.counselling-card p,.counselling-card small{display:block;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.counselling-card strong{font-size:12px}.counselling-card ul{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.counselling-card li{padding:3px 6px;border-radius:3px;background:#edf3ef;font-size:10px}.counselling-card a{margin-top:auto;color:var(--green);font-size:11px;font-weight:800}.counselling-ppp{grid-column:span 2;border-top-color:#45779a}.counselling-ppp header>span,.counselling-ppp-independent header>span{background:#e2eef5;color:#24546f}.counselling-ppp-independent{border-top-color:#45779a}.counselling-help{display:flex;align-items:center;gap:12px;margin-top:10px;padding:11px 13px;border-radius:5px;background:#eef4f0}.counselling-help p{flex:1;margin:0;color:var(--muted);font-size:11px}.counselling-help a{color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}
.counselling-catchment-note{padding:9px 10px;border-left:3px solid #45779a;background:#edf5f9}.counselling-catchment-note p{margin-top:3px}.ppp-workplaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ppp-workplaces a{display:grid;gap:2px;margin:0;padding:8px;border:1px solid #d8e5eb;border-radius:4px;background:#fff;color:inherit;text-decoration:none}.ppp-workplaces a:last-child{grid-column:1/-1}.ppp-workplaces a:hover{border-color:#45779a;background:#f4f9fb}.ppp-workplaces strong{color:#24546f}.ppp-workplaces span,.ppp-workplaces small{font-size:10px;line-height:1.35}.ppp-workplaces small{color:var(--muted)}.counselling-actions{display:flex;flex-wrap:wrap;gap:8px}.counselling-actions a{margin:0;padding:5px 8px;border-radius:3px;background:#e2eef5}
@media(max-width:900px){.counselling-types{grid-template-columns:repeat(2,minmax(0,1fr))}.counselling-ppp{grid-column:span 2}}
@media(max-width:620px){.counselling-section{padding:14px}.counselling-map{height:320px}.counselling-map-legend{flex-wrap:wrap}.counselling-types{grid-template-columns:1fr}.counselling-ppp{grid-column:auto}.counselling-card{min-height:0}.ppp-workplaces{grid-template-columns:1fr}.ppp-workplaces a:last-child{grid-column:auto}.counselling-help{align-items:flex-start;flex-direction:column}}
