.school-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}
.school-directory-results{min-width:0}
.school-directory-results .directory-index:not(.direction-art-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.school-directory-results .directory-index:not(.direction-art-grid){grid-template-columns:1fr}}
.school-directory-results .direction-art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.school-directory-results .direction-art-grid{grid-template-columns:1fr}}
.school-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:0 0 17px;border-bottom:1px solid #dfe8ee}.school-selection-heading h2{font-size:28px;line-height:1.2;color:#285d89;margin:0 0 8px}.school-selection-heading p{font-size:14px;color:#607589;margin:0}.school-page-size{flex:none;font-size:12px;color:#6c8192;white-space:nowrap}.school-selection-heading+.school-city-group{margin-top:0}
.school-selection-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}.school-selection-title h2{margin:0}.school-selection-count{font-size:17px;line-height:1.4;font-weight:400;color:#698195;white-space:nowrap}
@media(max-width:560px){.school-selection-heading{gap:12px}.school-selection-heading h2{font-size:24px}.school-page-size{font-size:11px}}
.directory-page .school-showcase-intro{margin:0 0 22px;color:#537285;font-size:15px;font-weight:400;line-height:1.7;max-width:68ch}
.school-directory-results .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.school-directory-banner{grid-column:2;grid-row:1;align-self:start}
.school-directory-banner{top:min(104px,calc(100dvh - 1390px))}
.directory-mini-map{padding:14px;margin:0 0 24px;background:#fff;border:1px solid #dfe8ee;border-radius:18px;box-shadow:0 5px 18px #24476508}
.directory-mini-map h2{font-size:18px;margin:0 0 7px;color:#285d89;line-height:1.3}
.directory-mini-map .directory-mini-map-status{font-size:11px;line-height:1.5;color:#607589;margin:0 0 10px}
.directory-mini-map-canvas{height:270px;width:100%;border-radius:12px;isolation:isolate;z-index:0;background:#edf3f7}
.directory-mini-map .directory-mini-map-note{font-size:10px;line-height:1.5;color:#6a7f91;margin:8px 0 0}
.directory-mini-map-expand{width:100%;margin-top:12px;padding:10px 12px;border:1px solid #d4e3ed;border-radius:10px;background:#f1f7fb;color:#285d89;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.directory-mini-map-expand:focus-visible{outline:3px solid #347daf;outline-offset:3px}
.directory-school-pin{background:none;border:0}
.directory-school-pin>span{position:absolute;left:3px;top:2px;display:grid;place-items:center;width:24px;height:24px;background:linear-gradient(145deg,#459bd0,#23618f);border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 8px #183f6d55}
.directory-school-pin i{width:8px;height:8px;background:#fff;border-radius:50%;box-shadow:inset 0 1px 2px #183f6d22}
.directory-school-pin-approximate>span{background:linear-gradient(145deg,#e9ad55,#b76b22);border-style:dashed}
.leaflet-tooltip.directory-school-tooltip{white-space:normal;overflow-wrap:anywhere;width:max-content;max-width:min(320px,70vw);box-sizing:border-box;border:1px solid #d3e2ed;border-radius:10px;padding:10px 14px;color:#285d89;font-size:14px;line-height:1.5;font-weight:650;box-shadow:0 5px 18px #24476520}
.directory-mini-map.is-expanded .leaflet-tooltip.directory-school-tooltip{max-width:min(420px,70vw);font-size:15px}
.directory-mini-map:not(.is-expanded) .directory-school-tooltip,.directory-mini-map:not(.is-expanded) .directory-school-popup{display:none}
.directory-mini-map-close{display:none}
.directory-mini-map.is-expanded .directory-mini-map-close{display:grid;place-items:center;position:absolute;right:18px;top:14px;width:40px;height:40px;border:1px solid #d4e3ed;border-radius:50%;background:#fff;color:#285d89;font-size:28px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 8px #24476512}
.directory-mini-map.is-expanded h2{padding-right:50px}
.directory-mini-map-close:focus-visible{outline:3px solid #347daf;outline-offset:3px}
.directory-school-popup .leaflet-popup-content-wrapper{border-radius:16px;border:1px solid #d3e2ed;box-shadow:0 8px 26px #24476524}
.directory-school-popup strong{display:block;color:#285d89;font-size:15px;line-height:1.4}
.directory-school-popup p{font-size:12px;line-height:1.5;color:#607589}
.directory-school-popup a{font-size:12px;font-weight:650;color:#286b9b}
.directory-mini-map.is-expanded{position:fixed;inset:24px;z-index:10001;width:auto;height:auto;margin:0;display:flex;flex-direction:column;box-shadow:0 0 0 100vmax #10283caa;padding:22px}
.directory-mini-map.is-expanded .directory-mini-map-canvas{flex:1;min-height:180px;height:auto}
.school-directory-banner:has(.directory-mini-map.is-expanded){position:static;z-index:10001}
@media(max-width:640px){.directory-mini-map.is-expanded{inset:10px;padding:14px}}
@media(max-width:1000px){.school-directory-layout{grid-template-columns:minmax(0,1fr)}.school-directory-banner{grid-column:1;grid-row:auto;justify-self:center;position:static}}
@media(max-width:640px){.school-directory-results .directory-grid{grid-template-columns:minmax(0,1fr)}}
.school-directory-layout .directory-grid article.school-profile-card{padding:24px;border:1px solid #dfe8ee;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 5px 20px #24476509;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.school-directory-layout .directory-grid article.school-profile-card:hover{border-color:#c9dbe7;box-shadow:0 12px 30px #24476512;transform:translateY(-2px)}
.school-directory-layout .school-profile-card .card-top{box-sizing:border-box;min-height:94px;flex-wrap:wrap;gap:10px;margin:-24px -24px 22px;padding:18px 22px;background:linear-gradient(120deg,#f2f8fc,#f9fcfe 65%,#fff);border:0;box-shadow:0 5px 12px -8px #294d733b}
.school-directory-layout .school-profile-card .school-logo{box-sizing:content-box;max-width:108px;max-height:46px;padding:8px 10px;border-radius:12px;background:#fff;box-shadow:0 2px 9px #2a4d6b08}
.school-directory-layout .school-profile-card .kind-label{background:#ffffffb3;border-color:#dce8f1;color:#638096;font-weight:400}
.school-directory-layout .school-profile-card>h3{min-height:2.56em}
.school-directory-layout .school-profile-card .school-card-description{min-height:4.95em;color:#607589}
.school-directory-layout .school-profile-card .school-programs-disclosure{border:0;border-radius:14px;background:#f7fafc;margin-bottom:20px;box-shadow:inset 0 0 0 1px #eaf0f4}
.school-directory-layout .school-profile-card .school-programs-disclosure>summary{padding:13px 15px;background:#f0f6fa;border:0}
.school-directory-layout .school-profile-card .school-programs-disclosure[open]>summary{border-bottom:1px solid #e5edf3}
.school-directory-layout .school-profile-card .school-card-programs{padding:15px}
.school-directory-layout .school-profile-card .card-bottom{margin-top:auto;padding-top:17px;border-color:#edf2f6}
.school-directory-layout .school-profile-card .card-bottom>a{border-radius:12px;background:#f1f7fb;border-color:#d8e6f0;box-shadow:0 2px 5px #24476505}
@media(max-width:640px){.school-directory-layout .directory-grid article.school-profile-card{padding:20px;border-radius:19px}.school-directory-layout .school-profile-card .card-top{margin:-20px -20px 20px;padding:16px 18px;min-height:88px}.school-directory-layout .school-profile-card>h3,.school-directory-layout .school-profile-card .school-card-description{min-height:0}}
@media(prefers-reduced-motion:reduce){.school-directory-layout .directory-grid article.school-profile-card{transition:none}.school-directory-layout .directory-grid article.school-profile-card:hover{transform:none}}
