@charset "UTF-8";
:root{--ink:#172d3d;--muted:#647483;--navy:#133b50;--accent:#d9ed89;--teal:#2e6d6a;--line:#dfe6e9;--paper:#f5f7f6;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.wrap{max-width:1340px;padding:0 32px;margin:auto}.skip{position:absolute;left:10px;top:-70px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}.preview{padding:8px;text-align:center;background:#f6e5bb;color:#59451e;font-size:13px}.utility{background:var(--navy);color:#d6e4e9;font-size:12px;padding:9px 0}.utility .wrap{display:flex;justify-content:space-between;gap:20px}.masthead{background:white;border-bottom:1px solid var(--line)}.head{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:16px}.brand-icon{width:45px;height:45px;background:var(--navy);border-radius:11px;display:grid;place-items:center;color:var(--accent);font-size:28px;font-weight:800;letter-spacing:-5px;padding-right:5px}.brand strong{font-size:34px;letter-spacing:-2px}.brand small{display:block;font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted);margin-top:3px}.navigation{display:flex;gap:30px;font-size:14px}.navigation a{padding:12px 0}.navigation .current{border-bottom:2px solid var(--teal)}.hero{background:var(--navy);color:white;padding:52px 0 40px;position:relative;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.55fr 1fr;gap:70px;align-items:end}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:750;text-transform:uppercase;color:var(--teal)}.hero .eyebrow{color:var(--accent)}h1{font-size:clamp(36px,4.1vw,57px);font-weight:650;letter-spacing:-2px;line-height:1.08;margin:20px 0}.hero h1 span{color:var(--accent)}.hero p{font-size:17px;line-height:1.7;color:#d0dfe6;max-width:650px}.hero-aside{border-left:1px solid #476474;padding-left:35px}.hero-aside p{font-size:14px}.hero-aside strong{display:block;font-size:42px;color:var(--accent);letter-spacing:-1px}.hero-aside small{color:#c7d6dd;font-size:12px}.stats{display:flex;gap:36px;padding-top:24px;margin-top:30px;border-top:1px solid #476474}.stats strong{font-size:23px;display:block;font-weight:650}.stats span{font-size:12px;color:#c7d6dd}.city-links{display:flex;gap:9px;flex-wrap:wrap;padding:24px 0 0}.city-links a,.tag{font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:#f5f8f8;display:inline-block}.hero .city-links a{border-color:#476474;background:transparent;color:#e7eff1}.content{padding:35px 0 70px}.catalogue-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px}.filters{align-self:start;border:1px solid var(--line);border-radius:10px;background:white;padding:23px;position:sticky;top:16px}.filters h2{font-size:17px;margin:0 0 22px}.field{margin-bottom:19px}.field label{font-size:12px;font-weight:650;display:block;margin-bottom:8px}.field select,.field input{width:100%;min-height:44px;border:1px solid #cbd5d9;background:#fff;color:var(--ink);padding:9px;border-radius:5px;font-size:13px}.field label:has(input){display:flex;gap:8px;align-items:flex-start;line-height:1.5;font-weight:400}.field input[type=checkbox]{min-height:0;width:16px;height:16px}.small{font-size:12px;color:var(--muted);line-height:1.7}.small a{text-decoration:underline}.btn{border:0;background:var(--navy);color:white;padding:12px 17px;border-radius:5px;font-size:13px;font-weight:600;display:inline-block;line-height:1.3}.btn:hover{text-decoration:none;background:#21536b}.btn-light{background:#edf2f3;color:var(--ink)}.btn-light:hover{background:#dbe7eb}.btn-accent{background:var(--accent);color:var(--navy)}.reset{background:none;border:0;text-decoration:underline;font-size:12px;color:var(--muted);padding:12px 0}.result-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.result-head h2{font-size:24px;letter-spacing:-.6px;margin:0}.result-head p{margin:7px 0 0;font-size:12px;color:var(--muted)}.count{font-size:12px;white-space:nowrap;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .15s,border-color .15s}.card:hover{border-color:#a3b8bf;box-shadow:0 7px 20px #133b5008}.card-top{height:142px;background:#eaf0ef;border-bottom:1px solid var(--line);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.monogram{font-size:55px;font-weight:450;color:#66817c;letter-spacing:-3px}.card-top img.screen{width:100%;height:100%;object-fit:cover;object-position:top}.card-top img.school-logo{position:absolute;left:15px;bottom:12px;width:56px;height:43px;object-fit:contain;background:white;border-radius:5px;padding:6px;box-shadow:0 2px 8px #0001}.stamp{position:absolute;right:12px;top:12px;font-size:10px;letter-spacing:.2px;font-weight:650;color:#2a6154;padding:5px 7px;background:#f9ffef;border:1px solid #dae7c8;border-radius:4px}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:17px;line-height:1.35;letter-spacing:-.25px;margin:0 0 9px}.card .location{font-size:12px;color:var(--muted);line-height:1.6;min-height:37px;margin:0 0 13px}.tags{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:11px;padding:4px 7px;background:#f5f7f8}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:20px;font-size:12px;font-weight:650}.card-footer a{color:var(--teal)}.compare-choice{font-size:11px;font-weight:400;color:var(--muted);display:flex;gap:5px;align-items:center}.compare-choice input{width:14px;height:14px}.pagination{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:30px;font-size:13px}.empty{background:white;border:1px solid var(--line);padding:40px;border-radius:8px;margin-top:15px}.source-note{padding:20px 0;color:var(--muted);font-size:12px;line-height:1.8}.source-note a{text-decoration:underline}.article-head{background:#e8efed;padding:30px 0 38px}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:26px}.article-head h1{max-width:950px;font-size:clamp(30px,4vw,46px);line-height:1.2;letter-spacing:-1.3px}.article-head .lead{font-size:16px;line-height:1.8;max-width:850px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.box{padding:30px;background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:24px}.box h2{font-size:22px;letter-spacing:-.5px;margin:0 0 20px}.box h3{font-size:17px;margin:24px 0 9px}.box p,.prose p{font-size:14px;line-height:1.9}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}.facts>div{border-bottom:1px solid var(--line);padding:15px 0}.facts dt{font-size:11px;color:var(--muted);margin-bottom:7px}.facts dd{font-size:14px;margin:0;line-height:1.7;overflow-wrap:anywhere}.facts dd a{color:var(--teal);text-decoration:underline}.contact-box{position:sticky;top:16px;align-self:start}.contact-box h2{font-size:19px}.contact-box .btn{width:100%;text-align:center;margin-bottom:10px}.contact-box p{overflow-wrap:anywhere}.license{background:#eef5eb;padding:16px 20px;border-radius:7px;font-size:13px;line-height:1.8}.license.unknown{background:#f4f5f6;color:var(--muted)}.facility{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.facility h3{margin-top:0}.facility .meta{font-size:12px;color:var(--muted)}.facility .types{font-size:12px;line-height:1.7}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);line-height:1.6}th{font-size:11px;color:var(--muted);font-weight:600}.foot{background:var(--navy);color:#d6e4e9;padding:40px 0 80px}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.foot p{font-size:12px;line-height:1.9;max-width:480px}.foot strong{color:white;font-size:24px;letter-spacing:-1px}.foot h2{font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.foot a{font-size:12px;display:block;margin:10px 0}.compare-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;background:var(--navy);color:white;box-shadow:0 6px 30px #0003;max-width:calc(100% - 24px);padding:14px 20px;border-radius:9px;display:flex;align-items:center;gap:22px;font-size:13px}.compare-bar button{white-space:nowrap}.compare-bar .reset{color:white;padding:4px}dialog{max-width:1000px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:10px;padding:30px;color:var(--ink)}dialog::backdrop{background:#102c42b3}dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}dialog h2{margin:0;font-size:24px}details{border-bottom:1px solid var(--line)}summary{padding:19px 0;font-size:15px;font-weight:550;cursor:pointer}details p{padding:0 0 20px}.prose{max-width:900px}.prose h2{font-size:24px;margin-top:34px}.prose h3{margin-top:28px}.prose li{font-size:14px;line-height:1.9}.profile-image{width:100%;border:1px solid var(--line);border-radius:7px}.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}[hidden]{display:none!important}
@media(min-width:1450px){.grid{gap:24px}}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{gap:35px}.profile-layout{grid-template-columns:minmax(0,1fr) 265px}.wrap{padding:0 24px}}@media(max-width:760px){.wrap{padding:0 18px}.head{min-height:85px;gap:16px}.brand strong{font-size:28px}.brand small{font-size:8px}.brand{gap:10px}.brand-icon{width:37px;height:37px;font-size:23px}.navigation{gap:15px;font-size:12px}.navigation a:nth-child(n+2){display:none}.utility .wrap span:last-child{display:none}.hero{padding:33px 0}.hero-inner{grid-template-columns:1fr;gap:20px}.hero-aside{display:none}h1{letter-spacing:-1.2px}.hero p{font-size:15px}.stats{gap:25px}.catalogue-layout{grid-template-columns:1fr;gap:25px}.filters{position:static;padding:18px}.filters form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.filters .field:first-child{grid-column:1/-1}.filters h2{margin-bottom:16px}.filters .small{grid-column:1/-1}.card-body{padding:17px}.card h3{font-size:16px}.card-top{height:125px}.profile-layout{grid-template-columns:1fr}.contact-box{position:static;order:-1}.box{padding:23px}.facts{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr;gap:17px}.compare-bar{gap:12px;padding:11px 14px;font-size:12px}.compare-bar .reset{display:none}.article-head{padding-top:25px}.result-head h2{font-size:22px}}
@media(max-width:430px){.grid{grid-template-columns:1fr}.card{display:grid;grid-template-columns:95px minmax(0,1fr)}.card-top{height:100%;min-height:200px;border:0;border-right:1px solid var(--line)}.monogram{font-size:35px;letter-spacing:-2px}.stamp{left:6px;right:6px;top:9px;font-size:8px;text-align:center}.card-top img.school-logo{width:60px;left:17px;bottom:17px}.card-top img.screen{object-fit:cover;object-position:top left}.card .location{min-height:0}.card-footer{padding-top:17px}.card h3{font-size:17px}.count{font-size:11px}.utility{font-size:10px}.hero .city-links a{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.school-visual{margin:0 0 24px;padding:16px}.school-visual .profile-image{display:block;height:auto;max-height:330px;object-fit:contain;background:#f6f7f7}.school-visual figcaption{margin:10px 8px 0}.contact-logo{max-width:100%;object-fit:contain;display:block;margin:0 0 24px}.hero{padding:34px 0 30px}.hero h1{font-size:clamp(35px,3.6vw,51px)}.hero p{font-size:16px}.stats{margin-top:21px;padding-top:18px}.city-links{padding-top:18px}.head{min-height:86px}

.logo-only{max-width:75%;max-height:80px;object-fit:contain}.card-top:has(.logo-only){background:#fff}.contact-logo{height:80px}
