/* Shared school search/detail palette and section rhythm. */
.school-page-hero,.school-filter-section,.school-results-section,.school-consult-cta,.school-detail-hero,.detail-section,.feature-matrix,.school-detail-final{--primary:#0063df;--blue:#0063df;--pink:#dc285c}
.school-page-hero{position:relative;background:#edf6ff;padding:48px 0 76px;isolation:isolate}
.school-page-hero:after{content:"";position:absolute;inset:auto 0 0;height:38px;background:white;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 45C280 0 470 5 720 38S1150 90 1440 28V80H0Z' fill='black'/%3E%3C/svg%3E");mask-size:100% 100%;pointer-events:none}
.school-page-heading .school-en,.school-page-heading h1 em{color:#0063df}.school-page-heading p{color:#344e68;font-size:17px}
.school-page-heading{padding-left:20px;border-left:5px solid #0063df}.school-page-heading h1{margin-top:10px}
.school-page-hero .pref-map{border:1px solid #bad6fc;border-top:4px solid #0063df;background:white;border-radius:8px;padding:26px;margin-bottom:0;box-shadow:6px 6px 0 #d5e8ff}
.school-page-hero .pref-map h3{color:#12417e}.school-page-hero .pref-map p{color:#344e68}
.school-page-hero .pref-tile,.school-page-hero .region-jump a{color:#fff;border:0;border-radius:5px;background:var(--tile);box-shadow:0 3px 0 #12335720}
.school-page-hero .pref-tile:hover,.school-page-hero .region-jump a:hover{filter:brightness(1.12)}
.school-page-hero .mobile-pref-groups details{border-color:#bad6fc;border-radius:5px}.school-page-hero .mobile-pref-groups summary{color:#0053ba;background:#f1f7ff}
.school-page-hero .pref-group-links a{color:#0056c5;background:#fff;border-color:#80b6ff;border-radius:5px}
.school-page-hero .pref-group-links a:hover{background:#0063df;color:#fff}
.school-filter-section{background:#fff;padding:22px 0 44px;margin:0}
.school-filter-section .school-filter{border:1px solid #c2d9f3;border-left:5px solid #0063df;border-radius:5px;background:#fff;padding:14px 20px}
.school-filter-section .school-filter-options summary{color:#0056c5;font-size:16px}.school-filter-section .filter-reset{color:#0056c5;background:#edf6ff;border-color:#91bcf3}
.school-filter-section .filter-group label{color:#1c3e68}.school-filter-section select{border-color:#9abde9}
.school-results-section{position:relative;background:#eefff6;padding:64px 0 84px;margin-top:26px;isolation:isolate;scroll-margin-top:80px}
.school-results-section:before{content:"";position:absolute;inset:-25px 0 auto;height:26px;background:#eefff6;clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none}
.school-results-section .local-area-filter{background:#fff;border:1px solid #b7dfd0;border-left:5px solid #00875b;border-radius:5px;padding:18px 20px}
.school-results-section .local-area-filter label{color:#006b48}.school-results-section select{border-color:#94cbb8;color:#163c32}
.school-results-section .local-area-filter button{border-color:#00875b;color:#006b48;border-radius:5px}
.school-results-section .result-toolbar{padding-bottom:18px;border-bottom:2px solid #00875b}.school-results-section #resultCount{color:#007c51}
.school-results-section .facility-group{background:#fff;border-color:#c9dfd5;border-left-width:5px;border-radius:5px}
.school-results-section .facility-group .facility-heading{background:#fff}.school-results-section .facility-group[data-category-theme="approved"]{border-left-color:#0063df}
.school-results-section .facility-group[data-category-theme="exam"]{border-left-color:#00875b}.school-results-section .facility-group[data-category-theme="support"]{border-left-color:#dc6100}.school-results-section .facility-group[data-category-theme="mixed"]{border-left-color:#7944ce}
.school-results-section .category-approved{background:#0063df;border-color:#0063df;color:#fff}.school-results-section .category-exam{background:#00875b;border-color:#00875b;color:#fff}.school-results-section .category-support{background:#c65300;border-color:#c65300;color:#fff}
.school-results-section .facility-main-link{color:#142f50}.school-results-section .facility-main-link>span{color:#0063df}.school-results-section .facility-heading h2{font-size:26px}
.school-results-section .facility-location,.school-results-section .facility-address,.school-results-section .facility-students{color:#38566b}.school-results-section .facility-students{font-weight:600}
.school-results-section .facility-partner{background:#edf6ff;color:#0055bf;border-color:#85b8ff;border-radius:5px}.school-results-section .facility-partner:hover{background:#0063df;color:#fff}
.school-results-section .facility-paid{background:#ffde58;color:#583a00;font-weight:800}.school-results-section .facility-partners-title{color:#244a70}
.school-consult-cta{position:relative;background:#0063df;padding:88px 0 72px;isolation:isolate}
.school-consult-cta:before{content:"";position:absolute;inset:0 0 auto;height:36px;background:#eefff6;clip-path:ellipse(62% 100% at 50% 0);pointer-events:none}
.school-consult-cta .school-consult-box{background:transparent;color:#fff;padding:0;border-radius:0;gap:24px}.school-consult-cta .school-consult-box h2{color:#fff}.school-consult-cta .school-consult-box p,.school-consult-cta .school-consult-box>div>span{color:#fff}
.school-consult-cta .school-consult-box>a{background:#ffdc46;color:#17365d;border-radius:6px}
/* The same clear blue, emerald and orange carry into each school profile. */
.school-detail-hero.is-text{background:#edf6ff;border-bottom-color:#bed8fb}.school-detail-location{background:#fff;border-color:#8ebcff;color:#0056c5}.detail-page-nav a:hover{color:#0063df}
.school-detail-actions .detail-btn-primary,.detail-section .detail-btn-primary,.school-detail-final .detail-btn-primary{background:#0063df;color:white}.detail-section a:not(.detail-btn),.annual-statistics a{color:#0056c5}
#school-about .school-summary-box{border-left-color:#0063df}#school-about .detail-en{color:#0063df}
#school-information,#facility-information,#school-information:before,#facility-information:before{background:#fff6e5}
#school-information .detail-heading,#facility-information .detail-heading{border-left-color:#ef7b00}#school-information .detail-en,#facility-information .detail-en{color:#aa4a00}
#school-information .detail-basic-grid>div,#facility-information .detail-basic-grid>div{border-top-color:#ef7b00}
#school-information .enrollment-stat{background:#e8fff2;border-color:#a0dbb9}#school-information .enrollment-stat.previous{background:#edf5ff;border-color:#b4d2fc}
#school-information .enrollment-stat b{color:#00764e}#school-information .enrollment-stat.previous b{color:#0056c5}.annual-change{background:#eaf3ff;color:#0056c5}
.feature-matrix{background:#eefff6}.matrix-kicker{color:#00764e}.matrix-legend{border-color:#91d3b4;color:#285544}
.matrix-group{--chapter:#00875b}.matrix-group:nth-child(2){--chapter:#0063df}.matrix-group:nth-child(3){--chapter:#d65c00}.matrix-group:nth-child(4){--chapter:#7944ce}.matrix-group:nth-child(5){--chapter:#d32b61}
.matrix-group h3{color:#173c31}.matrix-group thead th{background:#d8f8e7;color:#285544}.matrix-group tbody tr:nth-child(even){background:#f4fff8}.matrix-group th,.matrix-group td{border-bottom-color:#cce8d9}.matrix-group td{border-left-color:#cce8d9}.matrix-group tbody tr:last-child>*{border-bottom-color:#00875b}.matrix-yes{color:#008052}.matrix-partial{color:#b54d00}
#school-access,#school-access:before,#school-access:after{background:#edf6ff}#school-access .detail-heading{border-left-color:#0063df}#school-access .detail-en{color:#0063df}#school-access .access-box{border-top-color:#8fbdf7}
.school-diagnosis-box{border-color:#93baff;border-left-color:#0063df;box-shadow:7px 7px 0 #e1efff}
.school-detail-final{background:#eafff3}.school-detail-final-box{border-top-color:#00875b;background:#fff}.school-detail-final-box h2{color:#173c31}
@media(max-width:760px){.school-page-hero{padding:30px 0 54px}.school-page-heading{padding-left:14px}.school-page-heading p{font-size:16px}.school-page-hero .pref-map{padding:18px 12px;box-shadow:4px 4px 0 #d5e8ff}.school-page-hero:after{height:25px}.school-filter-section{padding:16px 0 34px}.school-filter-section .school-filter{padding:12px 14px}.school-filter-section .school-filter-options summary{font-size:14px}.school-results-section{padding:36px 0 52px;margin-top:20px}.school-results-section:before{height:21px;top:-20px}.school-results-section .local-area-filter{padding:14px}.school-results-section .facility-heading h2{font-size:23px}.school-results-section .facility-heading>.facility-partners{border-top-style:dashed}.school-consult-cta{padding:62px 0 48px}.school-consult-cta:before{height:25px}.school-consult-cta .school-consult-box{gap:22px}.school-consult-cta .school-consult-box h2{font-size:27px}}

/* Strong section colours, white reading surfaces, continuous boundaries. */
.school-page-hero{background:#0867e8}.school-page-heading{border-left-color:#ffda45}.school-page-heading .school-en,.school-page-heading h1,.school-page-heading h1 em,.school-page-heading p{color:#fff}
.school-page-hero .pref-map{border-color:#fff;box-shadow:7px 7px 0 #004bb7}
.school-results-section,.school-results-section:before{background:#00ad8c}.school-results-section .result-toolbar{border-bottom-color:#113550}.school-results-section #resultCount{color:#10334c}.school-results-section .result-count,.school-results-section .facility-sort-label{color:#10334c}
.school-results-section .facility-group{border:1px solid #9cb2c6;border-left-width:6px;box-shadow:0 3px 0 #006c5b30}.school-results-section .facility-heading>.facility-partners{border-color:#a0afbd}
.school-consult-cta{background:#ffca38}.school-consult-cta:before{background:#00ad8c}.school-consult-cta .school-consult-box,.school-consult-cta .school-consult-box h2,.school-consult-cta .school-consult-box p,.school-consult-cta .school-consult-box>div>span{color:#102e50}.school-consult-cta .school-consult-box>a{background:#0867e8;color:white}
#school-information,#facility-information{background:#0867e8;margin-top:0;padding:72px 0 88px}
#school-information:before,#facility-information:before{background:#0867e8;top:-23px;height:24px}
#school-information .detail-heading,#facility-information .detail-heading{border-left-color:#ffda45}#school-information .detail-heading h2,#facility-information .detail-heading h2,#school-information .detail-heading p,#facility-information .detail-heading p,#school-information .detail-en,#facility-information .detail-en{color:#fff}
#school-information .detail-basic-grid{display:flex;flex-direction:column;gap:26px}
#school-information .detail-basic-grid>div{width:100%;background:#fff;border:2px solid #133b68;border-top:6px solid #ffcc32;border-radius:10px;padding:26px 30px}
#school-information .school-statistics-panel{order:-1}#school-information .detail-basic-grid>.school-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
#school-information .school-facts-title{grid-column:1/-1;color:#14365a;padding-bottom:14px;margin-bottom:0;border-bottom:2px solid #173a5f}
#school-information .detail-basic-grid>.school-facts>p{grid-template-columns:minmax(120px,.7fr) minmax(0,1fr);border-bottom:1px solid #a8b5c5;margin:0;padding:15px 0;color:#18334e}
#school-information .detail-basic-grid>.school-facts strong{color:#344b65}#school-information .detail-basic-grid>.school-facts>p:has(a){display:flex;align-items:center}
#school-information .annual-statistics{padding:0}#school-information .annual-statistics h3{color:#14365a;margin-bottom:4px}
#school-information .annual-statistics .enrollment-grid{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}#school-information .annual-statistics .enrollment-grid.with-comparison{grid-template-columns:1fr 1fr 1fr}
#school-information .enrollment-stat,#school-information .enrollment-stat.previous{background:#fff;border:2px solid #b3c0d1;border-top:5px solid #0867e8;border-radius:6px;padding:16px 20px}
#school-information .enrollment-stat.previous{border-top-color:#7748db}#school-information .enrollment-stat>span:first-child{min-height:0;color:#284b71;font-weight:700}
#school-information .enrollment-stat b{font-size:48px;color:#0056c5}#school-information .enrollment-stat.previous b{color:#6941bd}
#school-information .annual-change{background:#ffdd57;border:2px solid #bc8e00;border-radius:6px;display:flex;flex-direction:column;justify-content:center;padding:16px 20px;margin:0;color:#173651;font-size:16px}
#school-information .annual-change b{font-size:27px;margin-top:8px;line-height:1.5;overflow-wrap:anywhere}
.annual-statistics table{background:#fff}.annual-statistics thead{background:#173d67;color:#fff}.annual-statistics th,.annual-statistics td{border-bottom:1px solid #9eafc3}.annual-statistics tbody td:last-child{color:#183d67}.annual-statistics [role="region"]:not(:has(tbody tr)){display:none}
.annual-source{margin-top:16px;padding:0;border:0}.annual-source summary{cursor:pointer;font-size:15px;font-weight:700;color:#0056c5;padding:12px 0;min-height:44px;border-top:1px solid #9eafc3}.annual-source-body{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:8px 0}.annual-source-body p{margin:0!important}.annual-source strong{display:inline!important}.annual-source a{font-size:14px}
#school-information .access-box:not(.detail-basic-grid){background:#fff;border:2px solid #173a5f;border-radius:8px;padding:22px 28px;gap:24px}
.feature-matrix{background:#ffcf43;margin-top:0;padding:90px 0 76px}
.feature-matrix:before{top:-31px;height:32px;bottom:auto;background:#ffcf43;clip-path:none;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 45C280 0 470 5 720 38S1150 90 1440 28V80H0Z' fill='black'/%3E%3C/svg%3E");mask-size:100% 100%}
.feature-matrix h2,.matrix-kicker{color:#173755}.matrix-legend{border-color:#9b740d;color:#173755}.matrix-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.matrix-jumps a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 14px;background:#fff;color:#123d70;border:1px solid #173d67;border-radius:5px;font-size:15px;font-weight:700;text-decoration:none}.matrix-jumps a:hover{background:#173d67;color:white}.matrix-jumps a:focus-visible{outline:3px solid #0867e8;outline-offset:3px}
.matrix-group{--chapter:#123d70}.matrix-group:nth-child(n){--chapter:#123d70}.matrix-chapter{background:#123d70;border:2px solid #123d70;border-bottom:0;padding:16px 20px;gap:14px;border-radius:7px 7px 0 0}.matrix-number{color:#ffda45;font-weight:700;font-size:26px}
.matrix-group h3{color:white;font-size:24px;scroll-margin-top:100px;display:flex;align-items:center;gap:12px}.matrix-group h3:before{content:"";width:26px;height:26px;flex-shrink:0;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.matrix-group:nth-child(2) h3:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 5C9 3 5 3 2 4v15c3-1 7-1 10 1 3-2 7-2 10-1V4c-3-1-7-1-10 1Zm0 0v15'/%3E%3C/svg%3E")}
.matrix-group:nth-child(3) h3:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m1 8 11-5 11 5-11 5L1 8Zm4 2v7c4 3 10 3 14 0v-7M23 8v10'/%3E%3C/svg%3E")}
.matrix-group:nth-child(4) h3:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 21 3 12C-3 5 7-2 12 5c5-7 15 0 9 7l-9 9Z'/%3E%3C/svg%3E")}
.matrix-group:nth-child(5) h3:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1 3-6Z'/%3E%3C/svg%3E")}
.matrix-group table{border:2px solid #173d67}.matrix-group thead th{background:#e7edf5;color:#17334d;border-color:#9aaac0;font-weight:700}
.matrix-group th,.matrix-group td{border-bottom:1px solid #a3b0c1;color:#172f49}.matrix-group td,.matrix-group thead th:last-child{border-left:2px solid #8c9fb7}.matrix-group tbody tr:nth-child(even){background:#f2f5f9}.matrix-group tbody tr:nth-child(odd){background:#fff}.matrix-group tbody tr:last-child>*{border-bottom:0}.matrix-unknown{background:#e4e8ef;color:#415166}.matrix-yes{color:#007c54}.matrix-partial{color:#a74300}
#school-access{background:#00ad8c;margin:0;padding:76px 0 84px}#school-access:before{top:-24px;height:25px;background:#00ad8c}#school-access:after{display:none}
#school-access .detail-heading{border-left-color:#ffda45}#school-access .detail-heading h2,#school-access .detail-en{color:#10344e}#school-access .access-box{background:#fff;padding:26px;border:2px solid #173d67;border-radius:8px;gap:24px}
.school-facts-title:before,.annual-statistics h3:before{content:"";display:inline-block;width:24px;height:24px;margin-right:10px;vertical-align:-3px;background:#0867e8;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 21h18M5 21V7l7-4 7 4v14M9 10h2m2 0h2m-6 4h2m2 0h2m-4 7v-4h2v4'/%3E%3C/svg%3E");mask-size:contain}
.annual-statistics h3:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 3v18h18M7 17v-5m5 5V7m5 10V4'/%3E%3C/svg%3E")}
@media(max-width:760px){#school-information .annual-statistics .enrollment-grid.with-comparison{grid-template-columns:1fr 1fr}#school-information,#facility-information{padding:48px 0 66px}#school-information .detail-basic-grid>div{padding:20px 16px}#school-information .detail-basic-grid>.school-facts{grid-template-columns:1fr;gap:0}#school-information .detail-basic-grid>.school-facts>p{grid-template-columns:minmax(100px,.7fr) minmax(0,1fr);gap:10px}#school-information .annual-statistics .enrollment-grid{grid-template-columns:1fr 1fr;gap:10px}#school-information .annual-change{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px}#school-information .annual-change b{font-size:21px;margin:0}#school-information .enrollment-stat,#school-information .enrollment-stat.previous{padding:12px}#school-information .enrollment-stat b{font-size:35px}.annual-source-body{grid-template-columns:1fr;gap:16px}#school-information .access-box:not(.detail-basic-grid){padding:18px}.feature-matrix{padding:54px 0 58px}.feature-matrix:before{top:-23px;height:24px}.matrix-chapter{padding:14px 12px;gap:10px}.matrix-group h3{font-size:19px;gap:8px}.matrix-group h3:before{width:22px;height:22px}.matrix-number{font-size:23px}.matrix-jumps{gap:8px;margin-bottom:28px}.matrix-jumps a{font-size:14px;padding:8px 10px}#school-access{padding:48px 0 56px}#school-access .access-box{padding:18px}.matrix-group th,.matrix-group td{padding:12px 10px}}

/* Keep the diagnosis and next action visible after the data sections. */
.school-diagnosis-box{background:#123d70;border:2px solid #123d70;border-left:7px solid #ffcc32;box-shadow:7px 7px 0 #ffcc32;color:#fff;padding:38px;border-radius:8px}
.school-diagnosis-box h2,.school-diagnosis-box p{color:#fff}.school-diagnosis-box .detail-en{color:#ffda45;font-weight:800}
.school-diagnosis-box .detail-btn-primary{background:#ffda45;color:#11345a;border:2px solid #ffda45;font-size:17px;font-weight:800}
.school-diagnosis-box .detail-btn-primary:hover{background:#fff;color:#123d70;border-color:#fff}
.school-detail-final{background:#ffcf43;padding:66px 0 72px;margin:0}.school-detail-final:before{background:#ffcf43;top:-23px;height:24px;clip-path:ellipse(65% 100% at 50% 100%)}
.school-detail-final-box{background:#fff;border:2px solid #123d70;border-top:6px solid #0867e8;border-radius:8px;color:#173755}
.school-detail-final-box>span{color:#0055bc;font-weight:800}.school-detail-final-box h2,.school-detail-final-box p{color:#173755}
.school-detail-final .detail-btn-white{background:#0063df;color:#fff;border:2px solid #0063df;font-weight:800}.school-detail-final .detail-btn-pink{background:#d52158;color:white;border:2px solid #d52158;font-weight:800}
.school-detail-final .detail-btn-white:hover{background:#004cad}.school-detail-final .detail-btn-pink:hover{background:#af1747}
.matrix-mark.matrix-yes{color:#00643e;font-weight:900}.matrix-mark.matrix-partial{color:#8e3700;font-weight:900}
.matrix-unknown{background:#e5ebf4;border:1px solid #6b7e99;color:#233c60;font-weight:700}.matrix-group td{background:#fff}.matrix-group tbody tr:hover>*{background:#e8f1ff}
@media(max-width:760px){.school-diagnosis-box{padding:26px 20px}.school-diagnosis-box .detail-btn-primary{width:100%;font-size:16px}.school-detail-final{padding:46px 0 50px}.school-detail-final-box{padding:28px 20px}}