:root{--teal:#127e70;--dark:#0e6157;--paper:#faf9f5;--ink:#25382f;--muted:#596a61;--line:#d9dfd8;--soft:#eaf1eb;--white:#fff;--display:Georgia,serif;--body:system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font:17px/1.5 var(--body);color:var(--ink)}a{color:var(--dark);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #15685b;outline-offset:3px}header{background:#fff;border-bottom:1px solid var(--line)}.wrap{width:min(1260px,calc(100% - 64px));margin:auto}.nav{min-height:84px;display:flex;align-items:center;gap:36px}.logo{width:205px;height:auto;display:block}.nav nav{margin-left:auto;display:flex;gap:28px}.nav nav a{text-decoration:none;font-weight:600;font-size:15px}.button,button{border:1px solid var(--teal);border-radius:5px;padding:11px 19px;background:var(--teal);color:white;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.button:hover,button:hover{background:var(--dark)}.button.secondary,button.secondary{background:white;color:var(--dark);border-color:var(--line)}.small{padding:9px 14px;font-size:15px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--dark);font-weight:700}.hero{padding:76px 0 62px;border-bottom:1px solid var(--line);background:#f3f2e9}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:1.06;margin:16px 0 22px}h1{font-size:clamp(44px,5.4vw,74px)}h2{font-size:clamp(32px,3.6vw,46px)}h3{line-height:1.2}p{margin:12px 0}.lead{font-size:21px;color:var(--muted);max-width:670px}.muted,.meta{color:var(--muted)}.meta{font-size:14px}.searchbox{background:white;border:1px solid var(--line);padding:30px}.searchbox h2{font-family:var(--body);font-size:23px;letter-spacing:0;margin-top:0}.searchbox .switch{margin-bottom:24px}.switch{display:inline-flex;gap:0;border:1px solid var(--line);padding:3px;border-radius:5px;background:white}.switch button{border:0;background:transparent;color:var(--muted);padding:7px 16px;border-radius:3px}.switch button[aria-pressed=true]{color:white;background:var(--dark)}label{display:block;font-size:14px;font-weight:600}input[type=search],select{display:block;width:100%;height:46px;padding:8px 12px;border:1px solid #bbc6bd;border-radius:4px;background:white;color:var(--ink);margin-top:5px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--teal)}.searchbox .button{margin-top:18px}.section{padding:52px 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.three article{border-top:1px solid #a9b9ad;padding-top:18px}.number{font-family:var(--display);font-size:33px;color:var(--teal)}.three h3{margin:12px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}.section-title h2{margin-bottom:0}.pagehead{padding:38px 0 24px}.pagehead h1{font-size:52px;max-width:920px}.filters{padding:20px;background:white;border:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}.resultbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 12px}.resultbar select{width:185px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);background:white}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:left;font-size:12px;letter-spacing:.045em;text-transform:uppercase;background:#f0f2ec;color:#526456;font-weight:700}th,td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}td:first-child{width:42px}td .school{font-size:17px;font-weight:700;color:var(--ink);display:block;text-decoration:none}td .school:hover{text-decoration:underline}td .meta{display:block}td a.detail{display:block;margin-top:6px;font-size:14px;font-weight:600}.status{font-size:12px;font-weight:700;display:inline-block;border-radius:3px;padding:3px 7px;background:#eaf2ec;color:#206548;margin-bottom:7px;white-space:nowrap}.status.closed{background:#eeefeb;color:#5a615c}.status.upcoming{background:#f5efdc;color:#745421}.status.unknown{background:#eff0ee;color:#576258}.table-wrap .date{display:block;white-space:nowrap}.breadcrumb{font-size:14px;margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.facts strong{display:block;margin-top:8px;font-size:19px}.timeline{list-style:none;padding:0}.timeline li{padding:17px 0 17px 24px;border-left:2px solid #b5cdc0;position:relative}.timeline li:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--teal);position:absolute;left:-5.5px;top:26px}.timeline li strong{display:block}.aside{background:#fff;border:1px solid var(--line);padding:26px;align-self:start}.aside h2{font-size:32px}.notice{background:#eef2eb;border-left:3px solid var(--teal);padding:16px 20px;margin:18px 0}.empty{padding:45px;text-align:center;background:#fff;border:1px solid var(--line)}.guide{max-width:820px}.guide p{font-size:19px}.guidelist{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guidelist a{border-top:1px solid var(--line);padding:22px 0;text-decoration:none}.guidelist strong{display:block;font-size:24px;margin-bottom:12px}footer{padding:44px 0 100px;border-top:1px solid var(--line);margin-top:60px}footer p{font-size:14px}.comparetray{position:fixed;bottom:0;left:0;right:0;background:#203b31;color:white;padding:13px 28px;display:flex;justify-content:center;align-items:center;gap:24px;z-index:20;box-shadow:0 -3px 20px #0001}.comparetray p{margin:0}.comparetray button{border-color:#8ab5a2}.comparetray .secondary{background:transparent;color:white}.comparetray small{display:block}dialog{width:min(1140px,96vw);max-height:88vh;border:1px solid var(--line);padding:28px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#17382e88}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialoghead h2{margin-top:0}.comparetable{overflow:auto}.comparetable th:first-child{min-width:135px}.comparetable td{min-width:220px;width:auto}dialog button{flex-shrink:0}.skip{position:absolute;top:-80px;background:white;z-index:100;padding:10px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-message{min-height:340px;display:grid;place-content:center;text-align:center;background:#eef2eb;padding:30px;border:1px solid var(--line)}.map-message p{max-width:630px}.map-summary{padding:10px 0}.inline-actions{display:flex;gap:12px;flex-wrap:wrap}.subtle-link{background:none;border:0;padding:0;min-height:44px;color:var(--dark);text-decoration:underline}.subtle-link:hover{background:none;color:var(--ink)}
@media(max-width:900px){.hero-grid{gap:32px;grid-template-columns:1fr 1fr}.nav{gap:18px}.nav nav{gap:16px}.nav>.button{display:none}.filters{grid-template-columns:2fr 1fr}.detail-grid{gap:28px}.facts{grid-template-columns:1fr 1fr}.table-wrap table{min-width:850px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav{min-height:76px;flex-wrap:wrap;padding:14px 0;gap:14px}.logo{width:170px}.nav nav{margin:0;width:100%;justify-content:space-between;font-size:14px}.hero{padding:36px 0}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:53px}.lead{font-size:19px}.searchbox{padding:22px}.three,.guidelist{grid-template-columns:1fr;gap:24px}.section{padding:32px 0}.section-title{display:block}.pagehead h1{font-size:40px}.filters{grid-template-columns:1fr 1fr;gap:12px;padding:14px}.filters label:first-child{grid-column:1/-1}.resultbar{align-items:start;flex-wrap:wrap;gap:12px}.resultbar select{width:auto}.detail-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr;gap:18px}.comparetray{gap:10px;padding:10px 12px;justify-content:space-between;font-size:14px}.comparetray button{padding:8px 10px}.comparetray small{display:none}.table-wrap{overflow:visible;border:0;background:none}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:block}.table-wrap tr{display:grid;grid-template-columns:28px 1fr 1fr;background:white;border:1px solid var(--line);padding:15px 10px;margin-bottom:12px;gap:10px}.table-wrap td{display:block;padding:0;border:0;font-size:14px}.table-wrap td:first-child{grid-row:1/4;width:auto}.table-wrap td:nth-child(2){grid-column:2/-1}.table-wrap td:not(:nth-child(2)):not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.table-wrap .date{white-space:normal}.table-wrap td:nth-child(6){display:none}dialog{padding:16px}.dialoghead h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.map-shell{border:1px solid var(--line,#d9dfdc);background:white;padding:16px;margin:16px 0}.map-canvas{height:min(64vh,650px);min-height:340px;margin:12px 0}.ss-marker{background:#147e70;border:2px solid white;color:white;text-align:center;line-height:30px;font-weight:700;border-radius:50%;box-shadow:0 1px 5px #0005}.map-list{margin:16px 0}.leaflet-popup-content ul{padding-left:18px}.leaflet-popup-content li{margin:8px 0}
footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}.editorial article{max-width:740px}.editorial article p,.editorial article li{line-height:1.65}.editorial article h2{margin-top:36px}
.table-wrap table{min-width:960px}
.mobile-results{display:none}
.status.not_published{background:#e9f0f5;color:#315a70;white-space:normal}
@media(max-width:760px){.table-wrap table{display:none}.mobile-results{display:grid;gap:10px}.result-card{border:1px solid var(--line);background:white;padding:14px 16px}.card-head{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px}.card-head .school{font-size:17px;font-weight:700;text-decoration:none;color:var(--ink)}.card-head .meta{display:block}.card-facts{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;font-size:13px;margin:8px 0 2px 31px}.card-facts .status{margin:0}.result-card>.detail{display:inline-block;font-size:14px;font-weight:600;margin:6px 0 0 31px}.table-wrap{border:0;background:transparent}}
