#kc-school-directory{--ink:#173b34;--ink-soft:#31574e;--muted:#647d75;--line:#dbe8e1;--paper:#f5f8f6;--white:#fff;--green:#16785e;--green-dark:#0c5946;--mint:#e7f4ed;--orange:#e89455;--shadow:0 18px 48px rgba(27,69,53,.08)}#kc-school-directory,#kc-school-directory *{box-sizing:border-box}#kc-school-directory{scroll-behavior:smooth}#kc-school-directory{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}#kc-school-directory button,#kc-school-directory input,#kc-school-directory select{font:inherit}#kc-school-directory button{cursor:pointer}#kc-school-directory a{color:var(--green-dark)}#kc-school-directory h1,#kc-school-directory h2,#kc-school-directory h3,#kc-school-directory p{margin-top:0}#kc-school-directory button:focus-visible,#kc-school-directory input:focus-visible,#kc-school-directory select:focus-visible,#kc-school-directory summary:focus-visible,#kc-school-directory a:focus-visible{outline:3px solid #e99553;outline-offset:3px}#kc-school-directory .page{width:min(1440px,calc(100% - 64px));margin:auto;padding-bottom:46px}#kc-school-directory .site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}#kc-school-directory .brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-height:48px}#kc-school-directory .brand-mark{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--green-dark);color:white;font-size:25px;font-weight:900;letter-spacing:-.09em}#kc-school-directory .brand-mark span{color:var(--orange)}#kc-school-directory .brand-name{font-size:19px;line-height:1.05;font-weight:850;letter-spacing:-.04em}#kc-school-directory .brand-sub{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.08em}#kc-school-directory .header-links{display:flex;align-items:center;gap:12px}#kc-school-directory .header-links a{color:var(--ink-soft);text-decoration:none;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff;border-radius:100px;padding:9px 14px;transition:background .18s,border-color .18s}#kc-school-directory .header-links a:hover{background:var(--mint);border-color:#b8d9c7}#kc-school-directory .intro{position:relative;display:flex;align-items:center;min-height:290px;overflow:hidden;padding:35px 46px 32px;margin-top:24px;background:#e6f1e9;border:1px solid #d7e8dc;border-radius:22px}#kc-school-directory .intro-copy{position:relative;z-index:1;max-width:690px}#kc-school-directory .eyebrow,#kc-school-directory .section-kicker{color:var(--green);font-size:10px;font-weight:850;letter-spacing:.18em}#kc-school-directory .eyebrow{display:flex;align-items:center;gap:10px}#kc-school-directory .eyebrow-line{width:23px;height:2px;background:var(--green)}#kc-school-directory .eyebrow-tag{border:1px solid #bcd6c6;border-radius:100px;padding:3px 8px;letter-spacing:.06em;margin-left:5px}#kc-school-directory .intro h1{font-size:clamp(33px,3.25vw,49px);font-weight:850;letter-spacing:-.055em;line-height:1.2;margin:19px 0 13px}#kc-school-directory .title-period{color:var(--orange)}#kc-school-directory .intro p{max-width:620px;font-size:15px;color:#43695c;line-height:1.7;margin-bottom:24px}#kc-school-directory .intro-meta{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:#60786d;font-size:12px}#kc-school-directory .intro-meta strong{color:var(--ink);font-size:15px}#kc-school-directory .meta-divider{height:15px;width:1px;background:#bfd5c6}#kc-school-directory .intro-decoration{position:absolute;inset:0 0 0 auto;width:39%;min-width:390px;background:radial-gradient(circle at 46% 52%,#d7ebdd 0 24%,transparent 25%),radial-gradient(circle at 50% 52%,transparent 0 40%,#d1e7d7 40.5% 41%,transparent 41.5%)}#kc-school-directory .deco-ring{position:absolute;border:1px solid #b8dbc4;border-radius:50%;transform:rotate(-21deg)}#kc-school-directory .ring-a{width:480px;height:220px;right:-35px;top:40px}#kc-school-directory .ring-b{width:330px;height:125px;right:44px;top:87px}#kc-school-directory .deco-pin{position:absolute;width:15px;height:15px;border-radius:50%;background:var(--green);border:4px solid white;box-shadow:0 0 0 6px rgba(22,120,94,.14)}#kc-school-directory .pin-a{left:24%;top:24%}#kc-school-directory .pin-b{left:53%;top:46%}#kc-school-directory .pin-c{left:77%;top:69%;background:var(--orange);box-shadow:0 0 0 6px rgba(232,148,85,.18)}#kc-school-directory .deco-label{position:absolute;background:rgba(255,255,255,.9);padding:6px 10px;border-radius:7px;color:#3f6d58;font-size:10px;font-weight:800;box-shadow:0 6px 18px rgba(33,87,54,.08)}#kc-school-directory .label-a{left:27%;top:17%}#kc-school-directory .label-b{left:55%;top:34%}#kc-school-directory .label-c{left:56%;top:72%}#kc-school-directory .quick-regions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:19px 2px 21px}#kc-school-directory .quick-regions>span{margin-right:7px;font-size:12px;font-weight:750;color:var(--muted)}#kc-school-directory .quick-regions button{min-height:36px;border:1px solid #d9e6de;background:white;color:#426957;border-radius:100px;padding:6px 13px;font-size:12px;font-weight:750;transition:background .18s,border-color .18s}#kc-school-directory .quick-regions button:hover,#kc-school-directory .quick-regions button.active{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}#kc-school-directory .explorer{display:grid;grid-template-columns:362px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"filters map" "results map";gap:0 18px;align-items:start}#kc-school-directory .filters-panel,#kc-school-directory .results-panel,#kc-school-directory .map-panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}#kc-school-directory .filters-panel{grid-area:filters;border-radius:18px 18px 0 0;padding:23px 22px 19px;border-bottom:0}#kc-school-directory .results-panel{grid-area:results;border-radius:0 0 18px 18px;padding:22px 0 20px}#kc-school-directory .map-panel{grid-area:map;position:sticky;top:18px;border-radius:18px;overflow:hidden;min-width:0;height:calc(100vh - 40px);min-height:620px;max-height:880px;display:flex;flex-direction:column}#kc-school-directory .panel-heading,#kc-school-directory .results-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}#kc-school-directory .panel-heading{margin-bottom:20px}#kc-school-directory .panel-heading h2,#kc-school-directory .results-topline h2{font-size:22px;line-height:1.25;margin:5px 0 0;letter-spacing:-.035em}#kc-school-directory .text-button{border:0;background:none;color:var(--green);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;min-height:36px}#kc-school-directory .text-button:hover{color:var(--green-dark)}#kc-school-directory .field{display:block;min-width:0}#kc-school-directory .field>span:first-child{display:block;margin-bottom:7px;color:#506d60;font-size:11px;font-weight:780}#kc-school-directory .field input,#kc-school-directory .field select{height:42px;width:100%;border:1px solid #d5e2d9;border-radius:8px;background:#fbfdfb;color:var(--ink);outline:none;padding:0 11px;font-size:12px}#kc-school-directory .field input:focus,#kc-school-directory .field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,120,94,.12)}#kc-school-directory .field input::placeholder{color:#8a9e92}#kc-school-directory .input-wrap{display:flex;align-items:center;position:relative}#kc-school-directory .input-wrap svg{width:17px;height:17px;position:absolute;left:12px;color:#759083}#kc-school-directory .input-wrap input{padding-left:39px}#kc-school-directory .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 10px;margin-top:17px}#kc-school-directory .more-filters{border-top:1px solid var(--line);margin-top:19px;padding-top:10px}#kc-school-directory .more-filters summary{color:var(--green);font-size:12px;font-weight:800;list-style:none;cursor:pointer;min-height:30px;display:flex;justify-content:space-between;align-items:center}#kc-school-directory .more-filters summary::-webkit-details-marker{display:none}#kc-school-directory .more-filters summary span{font-size:19px;line-height:1}#kc-school-directory .more-filters[open] summary span{transform:rotate(45deg)}#kc-school-directory .more-grid{margin-top:12px}#kc-school-directory .results-topline{padding:0 22px}#kc-school-directory .results-topline h2 span{font-size:13px;font-weight:800;color:var(--green);vertical-align:2px}#kc-school-directory .sort-label{white-space:nowrap;color:var(--muted);font-size:11px;font-weight:700}#kc-school-directory .sort-label select{border:0;color:var(--ink-soft);font-weight:750;background:transparent;font-size:11px;max-width:95px}#kc-school-directory .results-caption{min-height:19px;margin:10px 22px 12px;color:var(--muted);font-size:11px}#kc-school-directory .school-list{padding:0 10px}#kc-school-directory .school-card{width:100%;text-align:left;display:block;position:relative;background:white;border:1px solid transparent;border-bottom-color:#e7eee9;padding:16px 12px 15px;border-radius:9px;color:inherit;transition:background .18s,border-color .18s}#kc-school-directory .school-card:hover,#kc-school-directory .school-card:focus-visible{background:#f1f8f3;border-color:#cde4d5}#kc-school-directory .school-card-top{display:flex;justify-content:space-between;gap:9px;align-items:flex-start}#kc-school-directory .school-card h3{font-size:15px;line-height:1.35;margin:0;font-weight:800;letter-spacing:-.02em}#kc-school-directory .school-card .arrow{color:#669b7e;font-size:20px;line-height:1}#kc-school-directory .card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}#kc-school-directory .card-tag{font-size:10px;color:#426e57;border-radius:4px;background:#eaf5ed;padding:2px 6px;font-weight:750}#kc-school-directory .card-tag.secondary{background:#f3f5f0;color:#697568}#kc-school-directory .card-address{margin:10px 0 0;display:flex;gap:5px;align-items:flex-start;color:#697e73;font-size:11px;line-height:1.45}#kc-school-directory .card-address svg{width:13px;height:13px;flex:0 0 auto;margin-top:1px}#kc-school-directory .card-footer{display:flex;justify-content:space-between;gap:10px;margin-top:11px;color:#6a8073;font-size:10px}#kc-school-directory .card-footer strong{color:var(--ink);font-size:12px}#kc-school-directory .empty-state{padding:34px 20px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}#kc-school-directory .empty-state strong{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}#kc-school-directory .load-more{display:block;width:calc(100% - 44px);margin:17px 22px 0;border:1px solid #c6decd;border-radius:8px;background:#edf6ef;color:var(--green-dark);font-size:12px;font-weight:800;padding:11px}#kc-school-directory .load-more:hover{background:#dcefe2}#kc-school-directory .load-more[hidden]{display:none}#kc-school-directory .map-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:0 19px;border-bottom:1px solid var(--line);background:white}#kc-school-directory .map-toolbar>div{display:flex;align-items:center;gap:8px;min-width:0}#kc-school-directory .map-toolbar strong{font-size:13px}#kc-school-directory .map-toolbar #map-caption{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#kc-school-directory .map-live-dot{width:8px;height:8px;background:#4fad78;border-radius:50%;box-shadow:0 0 0 4px #e5f5e8;flex:none}#kc-school-directory .map-fit{border:1px solid #d6e4d8;background:white;border-radius:7px;color:var(--green-dark);font-size:11px;font-weight:800;padding:8px 10px;white-space:nowrap;min-height:36px}#kc-school-directory .map-fit:hover{background:var(--mint)}#kc-school-directory #map{flex:1;min-height:0;background:#e9f0eb}#kc-school-directory .map-footnote{z-index:2;background:#fff;border-top:1px solid var(--line);min-height:39px;padding:10px 16px;font-size:10px;color:#6a8075;display:flex;align-items:center;gap:6px;justify-content:space-between}#kc-school-directory .legend-dot{height:9px;width:9px;border-radius:50%;background:#198568;box-shadow:0 0 0 3px #d8eee2;flex:none}#kc-school-directory .map-footnote-right{margin-left:auto}#kc-school-directory .leaflet-container{font-family:inherit}#kc-school-directory .leaflet-control-attribution{font-size:9px!important}#kc-school-directory .leaflet-control-zoom{border:1px solid #dbe8e0!important;box-shadow:0 4px 16px rgba(24,70,43,.12)!important}#kc-school-directory .leaflet-control-zoom a{color:var(--green-dark)!important}#kc-school-directory .school-dot{background:#147f61;border:2px solid #fff;box-shadow:0 2px 10px rgba(9,74,50,.38);border-radius:50%}#kc-school-directory .cluster-marker{display:grid;place-items:center;border-radius:50%;background:rgba(21,123,90,.18);border:1px solid rgba(21,123,90,.25)}#kc-school-directory .cluster-marker span{display:grid;place-items:center;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:50%;background:#176f56;color:#fff;border:2px solid #fff;font-size:11px;font-weight:850;box-shadow:0 3px 10px rgba(18,83,53,.23)}#kc-school-directory .cluster-marker.large span{background:#0c5548}#kc-school-directory .leaflet-marker-icon:focus-visible{outline:3px solid #e99553;outline-offset:2px}#kc-school-directory .about-data{margin-top:53px;border-top:1px solid #dae6dd;padding-top:35px}#kc-school-directory .about-heading h2{font-size:26px;letter-spacing:-.04em;margin:6px 0 24px}#kc-school-directory .about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}#kc-school-directory .about-grid>div{background:white;border:1px solid var(--line);border-radius:12px;padding:22px 23px 21px}#kc-school-directory .about-number{display:inline-block;color:#66a27c;font-size:11px;font-weight:900;letter-spacing:.08em;border-bottom:2px solid #b8d8c4;padding-bottom:3px}#kc-school-directory .about-grid h3{font-size:16px;margin:14px 0 9px}#kc-school-directory .about-grid p{margin:0;color:#637b6e;font-size:12px;line-height:1.8}#kc-school-directory .about-grid a{font-weight:750;text-underline-offset:2px}#kc-school-directory .page-footer{display:flex;justify-content:space-between;gap:20px;margin-top:28px;color:#819289;font-size:11px}#kc-school-directory .cluster-popup{min-width:170px}#kc-school-directory .cluster-popup strong{display:block;margin-bottom:8px}#kc-school-directory .cluster-school{display:block;width:100%;border:0;border-bottom:1px solid #e4eee5;padding:7px 3px;background:#fff;text-align:left;color:var(--green-dark);font-size:11px;cursor:pointer}#kc-school-directory .cluster-school:hover{background:#eaf5ed}#kc-school-directory .cluster-popup p{font-size:10px;color:var(--muted);margin:8px 0 0}#kc-school-directory .ethnicity-chart{margin-top:23px;padding:18px 20px;background:#f7faf7;border:1px solid var(--line);border-radius:11px}#kc-school-directory .ethnicity-chart h4{font-size:14px;margin:0 0 13px}#kc-school-directory .ethnicity-chart-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px}#kc-school-directory .ethnicity-chart svg{display:block;width:220px;height:220px;max-width:100%}#kc-school-directory .ethnicity-legend{min-width:0}#kc-school-directory .ethnicity-legend-row{display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 0;font-size:11px;color:#526f5c}#kc-school-directory .ethnicity-swatch{width:10px;height:10px;border-radius:2px}#kc-school-directory .ethnicity-legend-name{min-width:0}#kc-school-directory .ethnicity-legend-row strong{font-size:12px;color:var(--ink)}#kc-school-directory .ethnicity-total{font-size:10px;color:var(--muted);margin:10px 0 0}#kc-school-directory .ethnicity-chart-note,#kc-school-directory .ethnicity-empty{font-size:10px;line-height:1.6;color:#697e70;margin:12px 0 0}#kc-school-directory .ethnicity-empty{margin:0}#kc-school-directory .ethnicity-hint{font-size:10px;color:#6b8073;margin:-6px 0 13px}#kc-school-directory .ethnicity-linked{transition:background .18s,opacity .18s,box-shadow .18s}#kc-school-directory .ethnicity-data-row{border-radius:6px;padding:6px 8px;margin:-6px -8px;cursor:default}#kc-school-directory .ethnicity-data-row.is-active,#kc-school-directory .ethnicity-legend-row.is-active{background:#e5f2e8;box-shadow:inset 3px 0 0 var(--green)}#kc-school-directory .ethnicity-data-row.is-active dt,#kc-school-directory .ethnicity-data-row.is-active dd,#kc-school-directory .ethnicity-legend-row.is-active .ethnicity-legend-name{color:var(--green-dark);font-weight:850}#kc-school-directory .ethnicity-legend-row{border-radius:5px;padding:5px 7px;margin:0 -7px;cursor:default}#kc-school-directory .ethnicity-legend-row.is-muted{opacity:.62}#kc-school-directory .ethnicity-slice{cursor:pointer;transform-origin:110px 110px;transition:transform .18s,opacity .18s,filter .18s}#kc-school-directory .ethnicity-slice.is-active{transform:scale(1.035);filter:drop-shadow(0 3px 5px rgba(19,69,47,.33))}#kc-school-directory .ethnicity-slice.is-muted{opacity:.28}#kc-school-directory .ethnicity-linked:focus-visible{outline:2px solid var(--orange);outline-offset:2px}#kc-school-directory #school-dialog{width:min(700px,calc(100% - 24px));max-height:min(90vh,900px);padding:0;border:1px solid #d3e3d8;border-radius:17px;background:#fff;box-shadow:0 24px 70px rgba(12,45,28,.24);color:var(--ink)}#kc-school-directory #school-dialog::backdrop{background:rgba(12,37,27,.55);backdrop-filter:blur(2px)}#kc-school-directory .dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:13px 24px}#kc-school-directory .dialog-header button{border:0;background:#f1f6f2;color:var(--ink);font-size:25px;line-height:1;width:35px;height:35px;border-radius:7px}#kc-school-directory .dialog-header button:hover{background:#e1eee4}#kc-school-directory #dialog-content{padding:22px 25px 27px}#kc-school-directory .profile-title{font-size:28px;line-height:1.25;letter-spacing:-.04em;margin:0 0 8px}#kc-school-directory .profile-location{color:var(--muted);font-size:13px;margin:0}#kc-school-directory .profile-badges{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}#kc-school-directory .profile-badge{background:#eaf5ed;color:#26664a;border-radius:5px;padding:5px 8px;font-size:11px;font-weight:750}#kc-school-directory .profile-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:21px 0}#kc-school-directory .profile-highlight{border:1px solid #deebe0;border-radius:9px;background:#f7fbf7;padding:11px 12px}#kc-school-directory .profile-highlight span{display:block;color:#71867a;font-size:10px}#kc-school-directory .profile-highlight strong{display:block;margin-top:4px;font-size:17px;line-height:1.3}#kc-school-directory .profile-note{color:#708377;font-size:10px;line-height:1.6;margin:-11px 0 20px}#kc-school-directory .profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 27px}#kc-school-directory .profile-actions a{min-height:37px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbded1;border-radius:7px;padding:7px 12px;text-decoration:none;font-size:11px;font-weight:800;background:#fff;color:var(--green-dark)}#kc-school-directory .profile-actions a:first-child{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}#kc-school-directory .profile-actions a:hover{filter:brightness(.94)}#kc-school-directory .profile-section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}#kc-school-directory .profile-section h3{font-size:16px;margin:0 0 14px}#kc-school-directory .profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}#kc-school-directory .profile-item dt{font-size:10px;color:#7b8d80;font-weight:750;margin-bottom:3px}#kc-school-directory .profile-item dd{font-size:12px;color:#24493a;font-weight:650;margin:0;overflow-wrap:anywhere;line-height:1.55}#kc-school-directory .profile-item a{text-decoration:underline;text-underline-offset:2px}#kc-school-directory .profile-disclaimer{background:#f6f8f1;border:1px solid #e6eddd;border-radius:8px;color:#62715d;padding:12px;font-size:11px;line-height:1.6;margin-top:20px}
@media(max-width:1050px){#kc-school-directory .page{width:min(100% - 36px,1440px)}#kc-school-directory .explorer{grid-template-columns:320px minmax(0,1fr);gap:0 12px}#kc-school-directory .filters-panel{padding:20px 17px}#kc-school-directory .results-topline{padding:0 17px}#kc-school-directory .results-caption{margin-left:17px;margin-right:17px}#kc-school-directory .intro{padding-left:33px}#kc-school-directory .intro-decoration{opacity:.55}#kc-school-directory .intro-copy{max-width:650px}}
@media(max-width:760px){#kc-school-directory .page{width:100%;padding:0 14px 32px}#kc-school-directory .site-header{height:68px}#kc-school-directory .brand-mark{width:36px;height:36px;font-size:20px}#kc-school-directory .brand-name{font-size:16px}#kc-school-directory .brand-sub{font-size:9px}#kc-school-directory .header-links{gap:5px}#kc-school-directory .header-links a{font-size:0;padding:8px 9px}#kc-school-directory .header-links a span{font-size:15px}#kc-school-directory .intro{min-height:0;margin-top:14px;padding:28px 22px 25px;border-radius:15px}#kc-school-directory .intro-decoration{opacity:.23;right:-120px}#kc-school-directory .intro h1{font-size:31px;margin:16px 0 12px}#kc-school-directory .intro p{font-size:13px;margin-bottom:20px}#kc-school-directory .intro-meta{gap:7px 11px;font-size:10px}#kc-school-directory .intro-meta strong{font-size:12px}#kc-school-directory .quick-regions{padding:15px 0;gap:6px}#kc-school-directory .quick-regions>span{width:100%;font-size:11px}#kc-school-directory .quick-regions button{font-size:11px;min-height:34px}#kc-school-directory .explorer{display:flex;flex-direction:column;gap:10px}#kc-school-directory .filters-panel,#kc-school-directory .map-panel,#kc-school-directory .results-panel{width:100%;border:1px solid var(--line);border-radius:13px}#kc-school-directory .filters-panel{padding:19px}#kc-school-directory .map-panel{position:relative;top:auto;order:2;height:62vh;min-height:390px;max-height:600px}#kc-school-directory .results-panel{order:3;padding-top:19px}#kc-school-directory .map-toolbar{padding:0 13px;min-height:54px}#kc-school-directory .map-toolbar strong{font-size:12px}#kc-school-directory .map-toolbar #map-caption{font-size:10px}#kc-school-directory .map-fit{font-size:10px}#kc-school-directory .map-footnote{min-height:35px;padding:9px 11px}#kc-school-directory .map-footnote-right{display:none}#kc-school-directory .about-data{margin-top:38px;padding-top:29px}#kc-school-directory .about-grid{grid-template-columns:1fr;gap:8px}#kc-school-directory .about-grid>div{padding:18px}#kc-school-directory .page-footer{flex-direction:column;gap:5px;font-size:10px}#kc-school-directory #dialog-content{padding:20px 18px}#kc-school-directory .dialog-header{padding:11px 18px}#kc-school-directory .profile-title{font-size:23px}}
@media(max-width:420px){#kc-school-directory .page{padding-left:11px;padding-right:11px}#kc-school-directory .header-links a:last-child{display:none}#kc-school-directory .intro{padding:25px 17px}#kc-school-directory .intro h1{font-size:28px}#kc-school-directory .eyebrow{font-size:9px}#kc-school-directory .meta-divider{display:none}#kc-school-directory .intro-meta{gap:5px 13px}#kc-school-directory .field-grid{gap:13px 8px}#kc-school-directory .map-panel{height:58vh;min-height:370px}#kc-school-directory .profile-highlights{grid-template-columns:1fr 1fr}#kc-school-directory .profile-grid{grid-template-columns:1fr}}
@media(max-width:600px){#kc-school-directory .ethnicity-chart{padding:16px}#kc-school-directory .ethnicity-chart-layout{grid-template-columns:1fr;justify-items:center;gap:13px}#kc-school-directory .ethnicity-chart svg{width:200px;height:200px}#kc-school-directory .ethnicity-legend{width:100%}}
@media(prefers-reduced-motion:reduce){#kc-school-directory{scroll-behavior:auto}#kc-school-directory,#kc-school-directory *,#kc-school-directory *::before,#kc-school-directory *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* KiwiChinese page integration: site typography, compact content column. */
#kc-school-directory{--ink:#1b3b37;--ink-soft:#375650;--muted:#71847e;--line:#e7e1d6;--paper:#fcfcfb;--green:#0e5a55;--green-dark:#0e5a55;--mint:#edf5f1;--orange:#df8051;--shadow:0 8px 28px rgba(22,48,42,.055);display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,calc(100% - 808px),510px);gap:48px;max-width:1480px;margin:0 auto;padding:34px 24px 72px;background:#fcfcfb;color:var(--ink);font-family:inherit;font-size:14px;line-height:1.55;box-sizing:border-box}
#kc-school-directory .kc-col-main{min-width:0}
#kc-school-directory .intro{min-height:220px;margin:0;padding:30px 34px;background:#eef5f1;border:1px solid #dfece6;border-radius:16px}
#kc-school-directory .intro h1{font-size:clamp(30px,3vw,39px);margin:14px 0 9px}
#kc-school-directory .intro p{font-size:14px;margin-bottom:18px}
#kc-school-directory .intro-decoration{opacity:.42;right:-90px}
#kc-school-directory .quick-regions{padding:17px 0}
#kc-school-directory .explorer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"filters" "map" "results";gap:16px}
#kc-school-directory .filters-panel,#kc-school-directory .results-panel,#kc-school-directory .map-panel{width:100%;border:1px solid var(--line);border-radius:14px}
#kc-school-directory .filters-panel{padding:22px 24px}
#kc-school-directory .field-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#kc-school-directory .more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#kc-school-directory .map-panel{position:relative;top:auto;height:480px;min-height:0;max-height:none}
#kc-school-directory .results-panel{padding-top:20px}
#kc-school-directory .school-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;padding:0 14px}
#kc-school-directory .school-card{height:100%}
#kc-school-directory .about-data{margin-top:40px}
#kc-school-directory .about-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#kc-school-directory .about-grid>div{padding:17px}
#kc-school-directory .about-grid h3{font-size:14px}
#kc-school-directory .about-grid p{font-size:11px}
#kc-school-directory .school-data-credit{margin:22px 0 0;color:#71847e;font-size:11px}
#kc-school-directory .school-data-credit a{color:var(--green);text-decoration:underline}
#kc-school-directory button:focus-visible,#kc-school-directory input:focus-visible,#kc-school-directory select:focus-visible,#kc-school-directory a:focus-visible{outline-color:#df8051}
@media(max-width:1365px){#kc-school-directory{gap:32px;grid-template-columns:minmax(0,1fr) minmax(280px,32%)}}
@media(max-width:1199px){#kc-school-directory{gap:24px;grid-template-columns:minmax(0,1fr) 280px}#kc-school-directory .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#kc-school-directory .more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#kc-school-directory .school-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:991px){#kc-school-directory{display:flex;flex-direction:column;gap:36px;padding:25px 24px 55px}#kc-school-directory>.kc-rail{margin-top:0;padding:0}#kc-school-directory .field-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#kc-school-directory .school-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#kc-school-directory{padding:14px 16px 45px}#kc-school-directory .intro{padding:26px 20px}#kc-school-directory .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#kc-school-directory .more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#kc-school-directory .map-panel{height:55vh;min-height:390px}#kc-school-directory .school-list{grid-template-columns:minmax(0,1fr)}#kc-school-directory .about-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){#kc-school-directory{padding-inline:12px}#kc-school-directory .intro{padding:23px 17px}#kc-school-directory .filters-panel{padding:19px 16px}#kc-school-directory .map-panel{min-height:360px}}

/* ── 广告位（v1.1.0 / 2026-10-24）────────────────────────────────────────
   地图面板内、工具栏上方 2 格；学校资料弹窗「地址与区域」上方 2 格。
   样式由 kc_ads_band_css() 内联输出（`.kc-adband*`），这里只做本页间距与
   地图高度适配 —— 面板原来是固定 480px，加广告后必须改成 auto，
   否则 #map 的 flex:1 会把地图压扁。 */
#kc-school-directory .kc-school-map-ad{margin:14px 16px 12px}
#kc-school-directory .kc-school-map-ad:empty{display:none}
#kc-school-directory .kc-school-map-ad .kc-adband{margin:0;gap:12px}
#kc-school-directory .kc-school-dialog-ad{margin:22px 0 0}
#kc-school-directory .kc-school-dialog-ad .kc-adband{margin:0;gap:12px}
#kc-school-directory .kc-school-adband .kc-adband-box{border-radius:10px}
/* 两个位只有一格有内容时（另一位没卖出去，只靠默认广告兜底），
   2 列网格会让那张图贴左、右边空一大块 ⇒ 单格改居中，视觉平衡。
   窄屏本来就单列，不限制宽度。 */
#kc-school-directory .kc-school-adband:has(> :only-child){grid-template-columns:1fr}
#kc-school-directory .kc-school-adband:has(> :only-child)>:only-child{width:100%;max-width:calc(50% - 6px);justify-self:center}
@media(max-width:700px){
  #kc-school-directory .kc-school-adband:has(> :only-child)>:only-child{max-width:none}
}
#kc-school-directory .map-panel{height:auto;max-height:none}
#kc-school-directory .map-panel #map{flex:none;height:430px;min-height:0}
@media(max-width:760px){
  #kc-school-directory .kc-school-map-ad{margin:12px 12px 10px}
  #kc-school-directory .map-panel #map{height:56vh;min-height:330px}
}
@media(max-width:420px){
  #kc-school-directory .map-panel #map{height:50vh;min-height:300px}
}
