@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=PT+Serif:ital,wght@1,700&display=swap');

:root{--ink:#15253d;--ink-soft:#536175;--paper:#f6f8fb;--white:#fff;--blue:#1557d6;--blue-dark:#0c3e9d;--sky:#e9f0ff;--yellow:#ffd64a;--line:#dbe2ec;--error:#b42318;--radius:14px;--shadow:0 18px 45px rgba(32,55,88,.12)}
html{scroll-behavior:smooth}
body.site-body{height:auto;min-height:100%;background:var(--white);color:var(--ink);font:15px/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.site-body *:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
body.site-body ::selection{background:var(--yellow);color:var(--ink)}
body.site-body .wrapper{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.site-header{height:auto!important;margin:0!important;border:0!important;background:rgba(255,255,255,.96);position:relative;z-index:20}
.site-header__inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand--legacy img{display:block;width:76px;height:76px;object-fit:contain}.brand__divider{width:2px;height:52px;background:currentColor;flex:0 0 auto}.brand__title{font-size:27px;font-weight:800;line-height:1.08;letter-spacing:-.02em}
.brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--blue);color:#fff;font-size:22px;font-weight:800;box-shadow:inset 0 -3px 0 rgba(0,0,0,.13)}
.brand__text{display:flex;align-items:baseline;gap:5px;line-height:1}.brand__text strong{font-size:20px}.brand__text small{font-size:14px;color:var(--ink-soft)}
.site-header .header_right{float:none;margin:0;display:flex;align-items:center;gap:32px}.site-header nav,.site-header nav ul{float:none}.site-header nav ul{display:flex;gap:30px}.site-header nav li{float:none;margin:0;font-size:13px;line-height:1;text-transform:none;font-weight:600}
.site-header nav a{color:var(--ink);text-decoration:none}.site-header nav a:hover{color:var(--blue)}
.header-search{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--line);border-radius:12px;color:var(--ink);font-weight:700;text-decoration:none}.header-search:hover{border-color:var(--blue);color:var(--blue)}
.site-header .shownav{display:none;background:none!important;border:0;width:44px;height:44px;margin:0;float:none;padding:10px}.site-header .shownav span{display:block;height:2px;background:var(--ink);margin:5px 0}
.hero{background:var(--paper);border-block:1px solid #edf0f5;overflow:hidden}.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:72px;align-items:center;padding-block:76px 80px}
.hero__copy h1{font-size:clamp(40px,5.1vw,70px);line-height:1.04;letter-spacing:-.035em;font-weight:800;margin:0 0 24px;max-width:850px}.hero__copy h1 em{font-family:'PT Serif',Georgia,serif;color:var(--blue);font-weight:700}.hero__copy>p{max-width:690px;font-size:18px;line-height:1.65;color:var(--ink-soft);margin:0 0 34px}
.hero-search{max-width:760px}.hero-search>label{display:block;font-size:13px;font-weight:700;margin:0 0 9px}.hero-search__row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:8px 8px 8px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-search__row:focus-within{border-color:var(--blue)}.hero-search__row svg{width:22px;fill:none;stroke:var(--ink-soft);stroke-width:2}.hero-search input{border:0!important;background:transparent!important;height:48px!important;padding:0!important;box-shadow:none!important;font:500 15px Manrope,sans-serif!important;color:var(--ink)!important;min-width:0}.hero-search input::placeholder{color:#7b8798}.hero-search input.error{color:var(--error)!important}.hero-search button{height:48px;min-width:112px;border:0;border-radius:10px;background:var(--blue);color:#fff;font:700 15px Manrope,sans-serif;cursor:pointer}.hero-search button:hover{background:var(--blue-dark)}.hero-search__hint{font-size:12px;color:var(--ink-soft);margin:8px 0 0}.hero-search__hint.is-error{color:var(--error);font-weight:600}
.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.quick-links a{display:inline-flex;align-items:center;min-height:44px;padding:7px 12px;background:var(--sky);border-radius:9px;color:var(--blue-dark);font-size:13px;font-weight:700;text-decoration:none}
.hero__aside{display:flex;flex-direction:column;gap:14px}.route-card{padding:26px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}.route-card--primary{background:var(--ink);border:0;color:#fff;box-shadow:var(--shadow)}.route-card>svg{width:52px;height:52px;fill:none;stroke:var(--yellow);stroke-width:2;margin-bottom:34px}.route-card>span,.route-card>strong{display:block}.route-card>span{font-size:12px;color:var(--ink-soft);margin-bottom:6px}.route-card--primary>span{color:#aebad0}.route-card>strong{font-size:18px;line-height:1.4;margin-bottom:20px}.route-card a{color:var(--blue);font-weight:700;text-decoration:none}.route-card--primary a{color:var(--yellow)}
.trust-strip{border-bottom:1px solid var(--line)}.trust-strip__inner{min-height:82px;display:flex;align-items:center;gap:34px}.trust-strip__inner strong{margin-right:auto}.trust-strip__inner span{color:var(--ink-soft);font-size:13px}
.map-section{padding:74px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:26px!important}.section-heading h2{font-size:36px;line-height:1.15;letter-spacing:-.025em;margin:0}.section-heading p{max-width:460px;color:var(--ink-soft);margin:0}.homepage .school_map{height:520px!important;border-block:1px solid var(--line);margin:0!important}.homepage .nm_title{display:none}.map-alternative{padding:14px 0 64px}.map-alternative a{color:var(--blue);font-size:13px;font-weight:700;text-underline-offset:3px}
.homepage .news_container,.homepage .reviews_container{margin:0 auto 82px}.homepage .page_title{font:800 34px/1.2 Manrope,sans-serif;letter-spacing:-.025em;color:var(--ink);text-align:left;margin:0 10px 30px;background:none!important}.homepage .page_title:before,.homepage .page_title:after{display:none!important;content:none!important}.homepage .newsbox>.grid_out{border:1px solid var(--line);border-radius:var(--radius);padding:12px 12px 20px;margin:0 8px;background:#fff;min-height:450px;position:relative;overflow:hidden}.homepage .newsbox .img{height:175px;margin:-12px -12px 16px;overflow:hidden;background:var(--sky)}.homepage .newsbox .img img{width:100%;height:100%;object-fit:cover}.homepage .newsbox .rev_date{font-size:12px;color:var(--ink-soft);margin-bottom:10px}.homepage .newsbox .name{font-size:17px;line-height:1.4;font-weight:700}.homepage .newsbox .name a{color:var(--ink);text-decoration:none}.homepage .newsbox .txt{font-size:13px;line-height:1.55;color:var(--ink-soft);margin-top:10px}.homepage .newsbox .views{display:none}.homepage .newsbox .more{position:absolute;bottom:18px;left:12px;color:var(--blue);font-weight:700;text-decoration:none}.homepage .allnews{clear:both;padding-top:28px;text-align:center}.homepage .allnews:before{display:none}.homepage .allnews a{display:inline-flex!important;width:auto!important;height:44px!important;padding:0 18px!important;align-items:center;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;font:700 13px/1 Manrope,sans-serif!important;text-decoration:none}
.homepage .reviews_container{background:var(--paper);padding:46px;border-radius:20px}.homepage .reviewbox>.grid_out{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;padding:24px!important;margin:0 8px 16px;box-shadow:none!important}.homepage .reviewbox>.grid_out:before,.homepage .reviewbox>.grid_out:after{display:none!important;content:none!important}.homepage .rev_name{font-size:17px;font-weight:800}.homepage .rev_meta{font-style:normal}.homepage .rev_meta a{color:var(--blue);text-decoration:none}.homepage .rev_txt{font-size:14px;line-height:1.65}
.choice-guide{background:var(--ink);color:#fff;padding:78px 0}.choice-guide__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.choice-guide h2{font-size:38px;line-height:1.15;color:#fff;margin:0 0 20px}.choice-guide p{color:#b7c3d5;font-size:16px}.choice-guide a{display:inline-block;margin-top:18px;color:var(--yellow);font-weight:700;text-decoration:none}.choice-guide ol{display:grid;gap:0;margin:0}.choice-guide li{list-style:none;display:grid;grid-template-columns:130px 1fr;gap:24px;padding:21px 0;border-top:1px solid #33435b}.choice-guide li:last-child{border-bottom:1px solid #33435b}.choice-guide li span{color:#b7c3d5}
.site-footer{background:#0e192a!important;padding:46px 0!important;color:#fff}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:start}.site-footer__brand{display:flex;flex-direction:column}.site-footer__brand strong{font-size:18px}.site-footer__brand span,.site-footer .copyright span{color:#91a0b5;font-size:12px}.site-footer nav{float:none}.site-footer nav ul{display:flex;gap:24px;float:none}.site-footer nav li{float:none;margin:0;text-transform:none;font-size:13px}.site-footer .copyright{grid-column:1/-1;text-align:left!important;border-top:1px solid #2a374a;padding-top:22px;font-size:13px!important}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr;gap:38px}.hero__aside{display:grid;grid-template-columns:1fr 1fr}.trust-strip__inner{flex-wrap:wrap;padding-block:20px}.trust-strip__inner strong{width:100%}.choice-guide__grid{grid-template-columns:1fr;gap:42px}.homepage .newsbox{width:50%}.homepage .newsbox>.grid_out{margin-bottom:16px}.site-header .header_right{gap:16px}.site-header nav ul{gap:16px}}
@media(max-width:640px){body.site-body .wrapper{width:min(100% - 32px,1180px)}.site-header__inner{min-height:68px}.brand--legacy img{width:54px;height:54px}.brand__divider{height:42px}.brand__title{font-size:21px}.brand__mark{width:38px;height:38px}.site-header .shownav{display:block!important}.site-header .header_right{display:none;position:absolute;top:68px;left:0;width:100%;padding:20px;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow)}.site-header.opened .header_right{display:flex;flex-direction:column;align-items:stretch}.site-header nav ul{display:flex;flex-direction:column;gap:0}.site-header nav li a{padding:13px 4px!important;text-align:left!important;color:var(--ink)!important}.header-search{width:100%}.hero__grid{padding-block:48px}.hero__copy h1{font-size:39px}.hero__copy>p{font-size:16px}.hero-search__row{grid-template-columns:20px 1fr;padding:8px 10px}.hero-search input{font-size:16px!important}.hero-search button{grid-column:1/-1;width:100%}.hero__aside{grid-template-columns:1fr}.route-card>svg{margin-bottom:20px}.trust-strip__inner{gap:12px 20px}.trust-strip__inner span{width:100%}.map-section{padding-top:52px}.section-heading{display:block}.section-heading h2{font-size:30px;margin-bottom:10px}.homepage .school_map{height:360px!important}.map-alternative{padding-bottom:46px}.homepage .page_title{font-size:28px;margin-inline:0}.homepage .newsbox{width:100%}.homepage .newsbox:nth-of-type(n+3){display:none}.homepage .newsbox>.grid_out{min-height:0;padding-bottom:58px;margin-inline:0}.homepage .reviews_container{padding:28px 16px}.homepage .reviewbox>.grid_out{margin-inline:0}.choice-guide{padding:56px 0}.choice-guide h2{font-size:31px}.choice-guide li{grid-template-columns:1fr;gap:4px}.site-footer__inner{grid-template-columns:1fr}.site-footer nav ul{flex-wrap:wrap}.site-footer .copyright{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Search and compare workspace */
[hidden]{display:none!important}
.nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--yellow);color:var(--ink);font-size:11px;font-weight:800}
.search-page,.compare-page{background:var(--paper)}
.search-intro{padding:42px 0 48px;border-block:1px solid var(--line);background:var(--white)}
.back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--blue-dark);font-size:13px;font-weight:700;text-decoration:none}
.search-intro h1,.compare-heading h1{max-width:820px;margin:12px 0 14px;font-size:clamp(34px,4.4vw,58px);line-height:1.06;letter-spacing:-.035em;color:var(--ink)}
.search-intro>.wrapper>p,.compare-heading>p{max-width:680px;margin:0;color:var(--ink-soft);font-size:17px}
.search-workspace{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.search-workspace>label,.search-filters legend,.sort-control{font-size:13px;font-weight:800;color:var(--ink)}
.search-workspace__row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:8px}
.search-workspace__row input,.sort-control select{min-height:52px;border:1px solid #b8c3d2;border-radius:11px;background:#fff;color:var(--ink);font:500 16px Manrope,Arial,sans-serif}
.search-workspace__row input{padding:0 16px}.search-workspace__row button{min-height:52px;padding:0 24px;border:0;border-radius:11px;background:var(--blue);color:#fff;font:800 15px Manrope,sans-serif;cursor:pointer}.search-workspace__row button:hover{background:var(--blue-dark)}
.city-schools-search{max-width:760px;margin-top:30px;padding:20px;border-radius:16px;background:var(--paper)}.city-schools-search>label{font-size:13px;font-weight:800}.city-schools-page .results-heading h2{margin:0}.city-schools-page .school-card__address{max-width:70ch}.city-schools-page .results-map>p{min-height:64px}
.catalog-page{background:var(--paper);min-height:70vh}.catalog-hero{padding:42px 0 48px;background:#fff;border-bottom:1px solid var(--line)}.catalog-hero h1{max-width:850px;margin:24px 0 12px;font:800 clamp(38px,5vw,60px)/1.08 Manrope,sans-serif;letter-spacing:-.035em;color:var(--ink)}.catalog-hero p{max-width:70ch;margin:0;color:var(--ink-soft);font-size:17px;line-height:1.65}.catalog-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:13px}.catalog-breadcrumbs a{color:var(--blue-dark);text-decoration:none}.catalog-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}.catalog-breadcrumbs span[aria-hidden]{color:#9aa7b8}.catalog-directory{padding-top:42px;padding-bottom:64px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.catalog-heading h2{margin:0;font:800 30px/1.2 Manrope,sans-serif;letter-spacing:-.025em;color:var(--ink)}.catalog-heading>span{color:var(--ink-soft);font-size:13px}.catalog-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.catalog-link-grid a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:14px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:750;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.catalog-link-grid a:hover,.catalog-link-grid a:focus{border-color:#b7c7df;box-shadow:0 10px 28px rgba(32,55,88,.08);transform:translateY(-1px);color:var(--blue-dark)}.catalog-link-grid small{flex:none;color:var(--ink-soft);font-size:11px;font-weight:600}.catalog-link-grid svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.catalog-empty{padding:28px;border-radius:14px;background:#fff;color:var(--ink-soft)}.city-schools-intro .catalog-breadcrumbs{margin-bottom:22px}.map-status{display:grid;place-items:center;height:100%;padding:24px;color:var(--ink-soft);text-align:center;font-size:13px}
@media(max-width:900px){.catalog-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-hero{padding:24px 0 32px}.catalog-hero h1{margin-top:20px;font-size:34px}.catalog-hero p{font-size:15px}.catalog-directory{padding-top:30px;padding-bottom:44px}.catalog-heading{display:block}.catalog-heading h2{font-size:26px}.catalog-heading>span{display:block;margin-top:7px}.catalog-link-grid{grid-template-columns:1fr}.catalog-link-grid a{min-height:60px}.catalog-breadcrumbs{font-size:12px}}
.form-error{margin:10px 0 0;color:var(--error);font-weight:700}
.location-status{margin:9px 0 0;color:var(--ink-soft);font-size:12px}.location-actions{display:flex;gap:16px;flex-wrap:wrap}.text-button{min-height:44px;padding:0;border:0;background:transparent;color:var(--blue);font:700 12px Manrope,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.address-suggestions{position:relative;z-index:10;margin-top:8px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.address-suggestions button{display:block;width:100%;min-height:48px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font:600 13px/1.4 Manrope,sans-serif;cursor:pointer}.address-suggestions button:last-child{border-bottom:0}.address-suggestions button:hover,.address-suggestions button:focus{background:var(--sky)}
.search-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:22px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--line)}
.search-filters legend{float:left;width:100%;margin-bottom:8px}.search-filters>label:not(.sort-control){position:relative;cursor:pointer}.search-filters input[type=radio]{position:absolute;opacity:0}.search-filters>label>span{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:22px;background:#fff;font-size:13px;font-weight:700}.search-filters input:checked+span{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)}
.sort-control,.select-control{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800}.sort-control{margin-left:auto}.sort-control select,.select-control select{min-width:150px;height:44px;min-height:44px;padding:0 38px 0 12px;border:1px solid #b8c3d2;border-radius:11px;background:#fff;color:var(--ink)}.sort-control select{min-width:210px}
.search-filters{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(180px,1fr) minmax(125px,.62fr) minmax(190px,.9fr);align-items:end;gap:16px;margin-top:22px;padding-top:20px}.search-filters>.sr-only{float:none;width:1px;margin:0}.filter-type{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.filter-label{font-size:13px;font-weight:800}.filter-type__options{display:flex;gap:8px;flex-wrap:wrap}.filter-type__options label{position:relative;margin:0;cursor:pointer}.filter-type__options input{position:absolute;opacity:0}.filter-type__options span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:700}.filter-type__options input:checked+span{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)}.search-filters .sort-control,.search-filters .select-control{min-width:0;margin:0}.search-filters select,.search-filters .sort-control select,.search-filters .select-control select{width:100%;min-width:0}.search-filters select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,87,214,.12);outline:0}
.search-results{padding-block:48px 92px}.results-heading,.compare-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:24px}.results-heading h2{margin:2px 0 0;font-size:32px;line-height:1.2;letter-spacing:-.025em}.results-heading>p{margin:0;color:var(--ink-soft)}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.school-results{display:grid;gap:14px}.school-card{display:grid;grid-template-columns:1fr auto;gap:24px;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff}.school-card:hover{border-color:#b7c7df;box-shadow:0 10px 28px rgba(32,55,88,.08)}.school-card__meta{display:flex;gap:8px;flex-wrap:wrap}.school-card__meta span{padding:5px 9px;border-radius:7px;background:var(--sky);color:var(--blue-dark);font-size:11px;font-weight:800}.school-card h3{max-width:780px;margin:13px 0 8px;font-size:22px;line-height:1.35}.school-card h3 a{color:var(--ink);text-decoration:none}.school-card h3 a:hover{color:var(--blue)}.school-card__address{margin:0;color:var(--ink-soft)}.school-card dl{display:flex;gap:32px;margin:19px 0 0}.school-card dl div{display:flex;gap:7px}.school-card dt{color:var(--ink-soft);font-size:12px}.school-card dd{margin:0;font-size:12px;font-weight:700}.school-card__actions{display:flex;align-items:center;gap:8px;align-self:center}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;font:800 13px Manrope,sans-serif;text-decoration:none;cursor:pointer}.button{padding:0 16px;border:1px solid var(--line)}.button--primary{border-color:var(--blue);background:var(--blue);color:#fff}.button--quiet{background:#fff;color:var(--ink)}.button--quiet.is-selected{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)}.icon-button{width:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:24px}.icon-button.is-selected{border-color:#e2b700;background:#fff7cc;color:#9a6500}.pagination{display:flex;justify-content:center;gap:5px;margin:28px 0 0}.pagination>li>a,.pagination>li>span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:9px!important;color:var(--ink)!important}.pagination>.active>a{border-color:var(--blue)!important;background:var(--blue)!important;color:#fff!important}
.school-rating-compact{display:inline-flex!important;align-items:center;gap:7px!important}.school-rating-compact strong{font-variant-numeric:tabular-nums}.school-rating-compact small{color:var(--ink-soft);font-weight:500}.rating-stars{position:relative;display:inline-block;color:#cbd3df;font-size:16px;line-height:1;letter-spacing:1px}.rating-stars:after{content:'★★★★★';position:absolute;inset:0;width:calc(var(--rating) / 5 * 100%);overflow:hidden;color:#e29a00;white-space:nowrap}.rating-stars>span{display:block}
.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.results-map{position:sticky;top:20px;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(32,55,88,.1);overflow:hidden}.results-map__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px}.results-map__heading strong{font-size:15px}.results-map__heading span{color:var(--ink-soft);font-size:11px}.results-map #results-map{height:480px;background:#e6ebf2}.results-map>p{margin:0;padding:14px 16px 16px;color:var(--ink-soft);font-size:12px;border-top:1px solid var(--line)}.school-card.is-map-active{border-color:var(--blue);box-shadow:0 0 0 2px var(--sky)}
.empty-state{padding:54px;border:1px dashed #aebbd0;border-radius:18px;background:#fff;text-align:center}.empty-state h2{margin:0 0 8px;font-size:28px}.empty-state p{margin:0 auto 20px;color:var(--ink-soft)}.empty-state a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:800}
.selection-bar{position:fixed;z-index:30;right:24px;bottom:24px;display:flex;align-items:center;gap:18px;padding:12px 12px 12px 18px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
.search-intro--compact{padding-block:38px}.search-intro--compact h1{font-size:clamp(36px,4vw,54px)}.search-layout--filters{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.results-column{min-width:0}.search-sidebar{position:sticky;top:20px}.search-sidebar .search-workspace{margin:0;padding:22px;border:0;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(32,55,88,.1)}.search-sidebar__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.search-sidebar__heading h2{margin:0;font-size:22px}.search-sidebar__heading a{color:var(--blue);font-size:12px;font-weight:700}.sidebar-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:7px}.sidebar-search-row input{min-width:0;height:46px;padding:0 12px;border:1px solid #b8c3d2;border-radius:10px;font:500 14px Manrope,sans-serif}.sidebar-search-row button{min-height:46px;padding:0 14px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800}.sidebar-filter-group{margin:18px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--line)}.sidebar-filter-group legend{margin-bottom:10px;font-size:12px;font-weight:800}.sidebar-filter-group .filter-type__options{display:grid;grid-template-columns:1fr}.sidebar-filter-group .filter-type__options span{justify-content:flex-start;width:100%;min-height:40px}.sidebar-selects{display:grid;gap:13px;margin-top:18px}.sidebar-selects select{width:100%;min-width:0;height:44px;padding-inline:11px 34px;border:1px solid #b8c3d2;border-radius:10px;background:#fff;color:var(--ink)}.map-disclosure{margin-bottom:26px}.map-disclosure__button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:0 20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:800 14px Manrope,sans-serif;cursor:pointer}.map-disclosure__button:hover{border-color:var(--blue);color:var(--blue)}.map-disclosure__button svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.8}.map-disclosure__panel{margin-top:10px;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(32,55,88,.1);overflow:hidden}.map-disclosure__panel #results-map{height:440px;background:#e6ebf2}.search-results.is-loading{opacity:.62;pointer-events:none}.search-results{transition:opacity .16s ease}.search-layout--filters .results-heading{margin-bottom:20px}
@media(max-width:900px){.search-layout--filters{display:flex;flex-direction:column}.search-sidebar{position:static;order:-1}.search-sidebar .search-workspace{box-shadow:none;border:1px solid var(--line)}.sidebar-filter-group .filter-type__options{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-filter-group .filter-type__options span{justify-content:center}.sidebar-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.map-disclosure__panel #results-map{height:360px}}
@media(max-width:640px){.search-intro--compact{padding-block:24px}.search-intro--compact h1{font-size:32px}.search-results{padding-top:24px}.map-disclosure{margin-bottom:16px}.map-disclosure__button{min-height:52px;padding-inline:15px}.search-sidebar .search-workspace{padding:16px}.sidebar-search-row{grid-template-columns:1fr}.sidebar-search-row button{width:100%}.sidebar-filter-group .filter-type__options{grid-template-columns:1fr}.sidebar-selects{grid-template-columns:1fr}.map-disclosure__panel #results-map{height:300px}.search-layout--filters{gap:24px}.search-layout--filters .results-heading{margin-bottom:16px}}
.compare-page{width:min(1180px,calc(100% - 48px));padding-block:42px 90px}.compare-heading{align-items:start;margin:18px 0 34px}.compare-heading h1{font-size:clamp(34px,4vw,54px)}.compare-heading>p{max-width:390px;padding-top:16px}.compare-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.compare-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.compare-table th,.compare-table td{min-width:210px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare-table th:first-child{position:sticky;left:0;z-index:2;min-width:150px;background:var(--paper)}.compare-table thead th{position:sticky;top:0;background:#fff}.compare-table thead th:first-child{z-index:3}.compare-table a{color:var(--ink);font-weight:800;text-decoration:none}.compare-table button{display:block;min-height:44px;margin-top:10px;border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
@media(max-width:900px){.site-header nav ul{gap:12px}.site-header nav li{font-size:12px}.search-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-layout{grid-template-columns:1fr}.results-map{position:relative;top:auto;grid-row:1}.results-map #results-map{height:360px}.school-card{grid-template-columns:1fr}.school-card__actions{justify-content:flex-start}}
@media(max-width:640px){.search-intro{padding-top:24px}.search-intro h1{font-size:clamp(31px,10vw,36px);text-wrap:balance}.search-intro>.wrapper>p{font-size:15px}.search-workspace{padding:16px;margin-top:24px}.search-workspace__row{grid-template-columns:1fr}.search-filters{grid-template-columns:1fr;align-items:stretch;gap:14px}.filter-type{display:block;padding-bottom:16px}.filter-type__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.filter-type__options span{width:100%;padding-inline:8px;font-size:12px}.sort-control,.select-control{width:100%;margin:0}.sort-control select,.select-control select{width:100%;font-size:16px}.results-heading,.compare-heading{display:block}.results-heading>p{margin-top:8px}.results-map #results-map{height:300px}.school-card{padding:20px}.school-card h3{font-size:19px}.school-card dl{display:grid;gap:8px}.school-card dl div{align-items:center;flex-wrap:wrap}.school-card__actions{display:grid;grid-template-columns:1fr 1fr auto}.button{padding-inline:12px}.pagination{flex-wrap:wrap;padding-inline:0}.selection-bar{left:12px;right:12px;bottom:12px;justify-content:space-between}.compare-page{width:min(100% - 32px,1180px);padding-top:24px}.compare-heading>p{padding-top:0}.empty-state{padding:36px 18px}}
@media(max-width:360px){.search-intro h1{font-size:32px}.school-card__actions{grid-template-columns:1fr auto}.school-card__actions .button--primary{grid-column:1/-1}.selection-bar{gap:8px;font-size:12px}.selection-bar .button{padding-inline:10px}}

/* School detail */
.school-detail{background:var(--paper);color:var(--ink)}.school-hero{padding:34px 0 44px;border-block:1px solid var(--line);background:#fff}.card-alert{margin:8px 0 20px;padding:14px 16px;border-radius:12px;background:#e8f7ed;color:#176332;font-weight:700}.school-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:56px;align-items:end;margin-top:18px}.school-badges{display:flex;gap:8px;flex-wrap:wrap}.school-badges span{padding:6px 10px;border-radius:8px;background:var(--sky);color:var(--blue-dark);font-size:11px;font-weight:800}.school-badges .is-warning{background:#fff1c2;color:#755000}.school-hero h1{max-width:900px;margin:16px 0 10px;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.035em}.school-legal-name{max-width:760px;margin:0;color:var(--ink-soft);font-size:14px}.school-facts{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:0;margin-top:34px;border-block:1px solid var(--line)}.school-facts>div{padding:18px 24px 18px 0}.school-facts>div+div{padding-left:24px;border-left:1px solid var(--line)}.school-facts span,.school-facts strong{display:block}.school-facts span{margin-bottom:4px;color:var(--ink-soft);font-size:11px}.school-facts strong{font-size:14px;line-height:1.45}.school-actions{display:grid;gap:8px}.school-actions .button{width:100%}.school-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;margin-bottom:4px;border-radius:14px;background:var(--sky);color:var(--blue-dark)}.school-photo-placeholder svg{width:52px;fill:none;stroke:currentColor;stroke-width:1.8}.school-photo-placeholder span{margin-top:8px;font-size:11px;font-weight:800}.button--save{border:1px solid #dfb900;background:#fff6c7;color:#714e00}.button--save.is-selected{background:var(--yellow)}.rating-explainer{max-width:760px;margin:15px 0 0;color:var(--ink-soft);font-size:12px}
.school-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;padding-block:34px 90px}.school-anchor-nav{position:sticky;top:0;z-index:8;display:flex;gap:6px;overflow:auto;padding:10px 0;background:var(--paper)}.school-anchor-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.school-anchor-nav a:hover{border-color:var(--blue);color:var(--blue)}.detail-section{padding:46px 0;border-bottom:1px solid var(--line);scroll-margin-top:60px}.detail-section:first-of-type{padding-top:26px}.detail-section h2{margin:0 0 24px;font-size:31px;line-height:1.2;letter-spacing:-.025em}.fact-list{margin:0;border-top:1px solid var(--line)}.fact-list>div{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:16px 0;border-bottom:1px solid var(--line)}.fact-list dt{color:var(--ink-soft);font-size:13px}.fact-list dd{margin:0;font-weight:650}.program-list,.price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.program-list>div,.price-list>div{padding:20px;border-radius:14px;background:#fff}.program-list strong,.price-list strong{display:block;font-size:18px}.program-list p,.price-list p{margin:8px 0 0;color:var(--ink-soft)}.price-list span{font-size:12px;color:var(--ink-soft)}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}.feature-list>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.feature-list dd{margin:0;font-weight:800}.campus-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.campus-layout #school-campus-map{min-height:360px;border-radius:16px;background:#e6ebf2;overflow:hidden}.campus-list{display:grid;align-content:start;gap:10px;margin:0;padding:0}.campus-list li{display:flex;flex-direction:column;padding:18px;border-radius:14px;background:#fff;list-style:none}.campus-list span{margin-top:5px;color:var(--ink-soft);font-size:13px}.campus-list small{margin-top:10px;color:var(--blue);font-weight:800}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-title-row h2{margin-bottom:4px}.section-title-row p{margin:0;color:var(--ink-soft)}.section-title-row>a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:800}.school-reviews{display:grid;gap:12px;margin-top:24px}.school-reviews>article{padding:24px;border-radius:14px;background:#fff}.school-reviews>article>div:first-child{display:flex;justify-content:space-between;gap:18px}.school-reviews>article>div:first-child span{color:#a56d00;letter-spacing:2px}.school-reviews small{color:var(--ink-soft)}.school-reviews p{margin:16px 0 0}.school-reviews dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}.school-reviews dt{font-size:12px;font-weight:800}.school-reviews dd{margin:5px 0 0;color:var(--ink-soft)}.school-form-panel{margin-top:32px;padding:28px;border-radius:16px;background:#fff}.school-form-panel h3{margin:0 0 6px;font-size:23px}.school-form-panel>p{margin:0 0 24px;color:var(--ink-soft)}.school-form .control-label{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.school-form .form-control{width:100%;min-height:48px;border:1px solid #b8c3d2;border-radius:10px;background:#fff;box-shadow:none;color:var(--ink);font:500 16px/1.5 Manrope,sans-serif}.school-form textarea.form-control{min-height:110px;resize:vertical}.school-form .form-group{margin-bottom:18px}.school-form .help-block{margin:5px 0 0;color:var(--error);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.nearby-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nearby-list a{display:flex;flex-direction:column;min-height:120px;padding:18px;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none}.nearby-list a:hover{color:var(--blue)}.nearby-list span{margin-top:7px;color:var(--ink-soft);font-size:12px}.school-detail__aside{padding-top:60px}.school-detail__aside details{margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.school-detail__aside summary{display:flex;align-items:center;min-height:54px;padding:0 16px;font-weight:800;cursor:pointer}.school-detail__aside summary::-webkit-details-marker{display:none}.school-detail__aside summary:after{content:'+';margin-left:auto;color:var(--blue);font-size:20px}.school-detail__aside details[open] summary:after{content:'−'}.school-detail__aside details>div{padding:0 16px 18px;border-top:1px solid var(--line)}.school-detail__aside details p{color:var(--ink-soft);font-size:12px}.school-form--compact .form-control{font-size:16px}
@media(max-width:980px){.school-detail__layout{grid-template-columns:1fr}.school-detail__aside{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:0}.school-hero__grid{gap:28px}.campus-layout{grid-template-columns:1fr}.school-actions{align-self:start}}
@media(max-width:640px){.school-hero{padding-top:22px}.school-hero__grid{grid-template-columns:1fr;margin-top:10px}.school-hero h1{font-size:38px}.school-facts{grid-template-columns:1fr}.school-facts>div,.school-facts>div+div{padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}.school-facts>div:last-child{border-bottom:0}.school-actions{grid-template-columns:1fr 1fr}.school-photo-placeholder{grid-column:1/-1;min-height:120px;order:3}.school-actions .button:first-of-type{grid-column:1/-1}.school-detail__layout{padding-top:16px}.school-anchor-nav{margin-inline:-16px;padding-inline:16px}.detail-section{padding-block:38px}.detail-section h2{font-size:27px}.fact-list>div{grid-template-columns:1fr;gap:4px}.program-list,.price-list,.feature-list,.form-grid,.nearby-list,.school-reviews dl,.school-detail__aside{grid-template-columns:1fr}.campus-layout #school-campus-map{min-height:300px}.school-form-panel{padding:22px 16px}.section-title-row{align-items:start}.school-detail__aside{display:grid}}

/* School card interaction pass */
.school-breadcrumbs{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--ink-soft);font-size:12px}.school-breadcrumbs a{color:var(--blue);text-decoration:none}.school-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}.school-breadcrumbs span[aria-current]{max-width:38ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-rating{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap}.school-rating>span{margin:0!important;color:#bd7b00;font-size:19px;letter-spacing:1px;line-height:1}.school-rating b{font-size:15px}.school-rating small{color:var(--ink-soft);font-size:11px;font-weight:600}.section-title-row>.button{color:#fff;text-decoration:none}.school-secondary-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:800;text-align:left}.school-secondary-action:after{content:'';width:8px;height:8px;border-top:2px solid var(--blue);border-right:2px solid var(--blue);transform:rotate(45deg)}.school-secondary-action:hover{border-color:var(--blue);color:var(--blue)}.school-detail__aside{display:grid;align-content:start;gap:10px}.has-open-modal{overflow:hidden}.school-modal[hidden]{display:none}.school-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.school-modal__backdrop{position:absolute;inset:0;background:rgba(13,29,52,.64)}.school-modal__dialog{position:relative;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:34px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(13,29,52,.28)}.school-modal__dialog>h2{margin:0 48px 7px 0;font-size:30px;letter-spacing:-.025em}.school-modal__dialog>p{max-width:58ch;margin:0 0 24px;color:var(--ink-soft)}.school-modal__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:var(--paper)}.school-modal__close span:before,.school-modal__close span:after{content:'';position:absolute;top:21px;left:13px;width:18px;height:2px;background:var(--ink)}.school-modal__close span:before{transform:rotate(45deg)}.school-modal__close span:after{transform:rotate(-45deg)}.rating-picker{margin:0 0 20px;padding:0;border:0}.rating-picker legend{margin-bottom:8px;font-size:12px;font-weight:800}.rating-picker>div{display:flex;flex-direction:row-reverse;justify-content:flex-end;width:max-content}.rating-picker input{position:absolute;opacity:0;pointer-events:none}.rating-picker label{margin:0;padding:3px;color:#c8d0dc;font-size:38px;line-height:1;cursor:pointer;transition:color .16s ease,transform .16s ease}.rating-picker label:hover,.rating-picker label:hover~label,.rating-picker input:checked~label{color:#f0ad00}.rating-picker label:hover{transform:translateY(-2px)}.rating-picker input:focus-visible+label{border-radius:5px;outline:3px solid var(--yellow);outline-offset:2px}.review-more{margin:2px 0 20px;border-block:1px solid var(--line)}.review-more summary{padding:15px 0;color:var(--blue);font-weight:800;cursor:pointer}.review-more summary span{color:var(--ink-soft);font-size:11px;font-weight:600}.review-more>div{padding-top:16px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:640px){.school-breadcrumbs span[aria-current]{display:none}.school-modal{align-items:end;padding:0}.school-modal__dialog{width:100%;max-height:92vh;padding:26px 16px 20px;border-radius:16px 16px 0 0}.school-modal__dialog>h2{font-size:26px}.rating-picker label{font-size:42px}.school-detail__aside{padding-bottom:28px}}
.school-secondary-action:after{display:none}.school-secondary-action svg{width:12px;flex:0 0 12px;fill:none;stroke:var(--blue);stroke-width:2}
.review-more:not([open])>:not(summary){display:none}

/* School detail layout isolation from legacy floats */
.school-detail .school-hero>.wrapper{display:block}.school-detail .school-breadcrumbs{float:none!important;width:100%;margin:0 0 24px;clear:both}.school-detail .school-hero__grid{width:100%;clear:both;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:start;margin-top:0}.school-detail .school-hero__main{min-width:0}.school-detail .school-badges{margin-bottom:14px}.school-detail .school-hero h1{max-width:850px;margin:0 0 14px;font-size:clamp(40px,4.2vw,58px);font-weight:800;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}.school-detail .school-legal-name{max-width:72ch;font-size:14px;line-height:1.55}.school-detail .school-facts{margin-top:28px}.school-detail .school-facts>div{min-width:0}.school-detail .school-actions{width:260px}.school-detail .school-photo-placeholder{min-height:156px}.school-detail .school-detail__layout{align-items:start}.school-detail .school-anchor-nav{justify-content:flex-start}.school-detail .detail-section h2{font-weight:800}.school-detail .fact-list dd{line-height:1.5}.school-detail .campus-list span{margin-top:0;font-size:14px;line-height:1.5}.school-detail .section-title-row>.button{flex:0 0 auto}.school-detail .school-secondary-action{font-size:13px}.school-modal__dialog .button--primary{min-width:190px}.school-modal__dialog::-webkit-scrollbar{width:10px}.school-modal__dialog::-webkit-scrollbar-thumb{border:3px solid #fff;border-radius:10px;background:#aab6c7}
@media(max-width:980px){.school-detail .school-hero__grid{grid-template-columns:minmax(0,1fr) 230px;gap:32px}.school-detail .school-actions{width:230px}.school-detail .school-facts{grid-template-columns:1.3fr .7fr .9fr}}
@media(max-width:640px){.school-detail .school-breadcrumbs{margin-bottom:18px;overflow:hidden}.school-detail .school-hero__grid{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:24px}.school-detail .school-hero__main,.school-detail .school-actions{width:100%;min-width:0}.school-detail .school-hero h1{max-width:none;font-size:clamp(34px,10vw,42px);line-height:1.06}.school-detail .school-legal-name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.school-detail .school-facts{grid-template-columns:1fr;margin-top:22px}.school-detail .school-actions{gap:10px}.school-detail .school-photo-placeholder{min-height:132px}.school-detail .section-title-row{align-items:flex-start;flex-direction:column}.school-detail .section-title-row>.button{width:100%}.school-detail .school-anchor-nav{justify-content:flex-start}.school-modal__dialog .button--primary{width:100%}}
.school-detail .school-anchor-nav{float:none!important;width:100%;clear:both}.school-detail .school-detail__content{min-width:0}

/* Education articles index */
.interest-page{min-height:70vh;padding:28px 0 88px;background:var(--paper);color:var(--ink)}
.interest-page__breadcrumbs{margin:0 0 34px}.interest-page__breadcrumbs .breadcrumb{margin:0;padding:0;background:transparent;font-size:12px}.interest-page__breadcrumbs .breadcrumb a{color:var(--ink-soft)}
.interest-page__header{position:relative;display:flex;height:auto!important;align-items:flex-end;justify-content:space-between;gap:40px;margin:0 0 38px!important;padding:34px 38px 36px;border:0!important;border-radius:20px;background:#fff;overflow:hidden}.interest-page__header:before{content:'';position:absolute;top:0;bottom:0;left:18px;width:2px;background:linear-gradient(var(--blue),var(--sky))}.interest-page__header>div{max-width:760px}.interest-page__eyebrow{display:block;margin-bottom:11px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.interest-page__header h1{max-width:760px;margin:0;color:var(--ink);font-size:clamp(36px,4.5vw,58px);font-weight:800;line-height:1.07;letter-spacing:-.035em;text-wrap:balance}.interest-page__header p{max-width:620px;margin:18px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.65}.interest-page__count{flex:0 0 auto;padding-bottom:5px;color:var(--ink-soft);font-size:12px;font-weight:700;white-space:nowrap}
.interest-page__admin-action{margin:0 0 24px}.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.interest-card{display:grid;grid-template-columns:210px minmax(0,1fr);min-width:0;min-height:270px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.interest-card:hover{border-color:#b7c7df;box-shadow:0 12px 30px rgba(32,55,88,.08);transform:translateY(-2px)}.interest-card__image{display:block;min-height:100%;overflow:hidden;background:var(--sky)}.interest-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.interest-card:hover .interest-card__image img{transform:scale(1.025)}.interest-card__body{display:flex;min-width:0;flex-direction:column;padding:24px}.interest-card time{color:var(--ink-soft);font-size:11px;font-weight:700}.interest-card h2{margin:8px 0 0;font-size:19px;font-weight:800;line-height:1.35;letter-spacing:-.015em}.interest-card h2 a{color:var(--ink);text-decoration:none}.interest-card h2 a:hover{color:var(--blue)}.interest-card__summary{display:-webkit-box;margin-top:12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--ink-soft);font-size:13px;line-height:1.6}.interest-card__more{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:auto;padding-top:18px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}.interest-card__more span{transition:transform .18s ease}.interest-card__more:hover span{transform:translateX(3px)}
.interest-pagination{margin-top:36px!important;padding:0!important}.interest-pagination>li>a,.interest-pagination>li>span{display:flex!important;align-items:center;justify-content:center;gap:7px;min-width:44px;height:44px;padding:0 13px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;font-size:13px;font-weight:800}.interest-pagination>.active>a,.interest-pagination>.active>span{border-color:var(--blue)!important;background:var(--blue)!important;color:#fff!important}.interest-pagination>.disabled>span{background:transparent!important;color:#9aa5b4!important}.interest-pagination>li>a:hover{border-color:var(--blue)!important;color:var(--blue)!important}.interest-empty{padding:64px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center}.interest-empty h2{margin:0;font-size:26px}.interest-empty p{margin:10px 0 0;color:var(--ink-soft)}
@media(max-width:1040px){.interest-grid{grid-template-columns:1fr}.interest-card{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:640px){.interest-page{padding:20px 0 58px}.interest-page__breadcrumbs{margin-bottom:20px}.interest-page__header{display:block;margin-bottom:24px;padding:27px 22px 28px 27px;border-radius:14px}.interest-page__header:before{left:12px}.interest-page__header h1{font-size:34px;line-height:1.12}.interest-page__header p{margin-top:14px;font-size:14px}.interest-page__count{display:block;margin-top:18px;padding:0}.interest-grid{gap:14px}.interest-card{display:flex;min-height:0;flex-direction:column}.interest-card__image{height:190px;min-height:190px}.interest-card__body{min-height:245px;padding:20px}.interest-card h2{font-size:18px}.interest-pagination{gap:4px}.interest-pagination .pager-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.interest-pagination>li>a,.interest-pagination>li>span{padding:0 10px!important}.interest-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.interest-card,.interest-card__image img,.interest-card__more span{transition:none}.interest-card:hover{transform:none}.interest-card:hover .interest-card__image img{transform:none}}
@media(max-width:640px){.school-detail .school-actions .button--save{grid-column:1/-1}.school-detail .school-photo-placeholder{width:100%}.school-detail .school-anchor-nav{padding-block:8px}}

/* School detail typography and density */
.school-detail .school-breadcrumbs{font-size:13px}.school-detail .school-badges span{font-size:12px}.school-detail .school-hero h1{max-width:780px;font-size:clamp(34px,3.2vw,44px);line-height:1.08;letter-spacing:-.025em}.school-detail .school-legal-name{font-size:14px;line-height:1.55}.school-detail .school-facts span{font-size:12px}.school-detail .school-facts strong{font-size:14px}.school-detail .school-rating>span{font-size:18px}.school-detail .school-rating--empty>span{color:var(--ink-soft);opacity:.65}.school-detail .school-actions .button{min-height:46px;font-size:14px}.school-detail .school-anchor-nav a{font-size:13px}.school-detail .detail-section{padding-block:40px}.school-detail .detail-section h2{color:var(--ink);font-size:27px;line-height:1.2;letter-spacing:-.02em}.school-detail .fact-list dt{font-size:13px}.school-detail .fact-list dd{font-size:15px}.school-detail .section-title-row p,.school-detail .campus-list span,.school-detail .nearby-list span{font-size:13px}.school-modal__dialog>h2{color:var(--ink);font-size:27px}.school-modal__dialog>p{font-size:14px;line-height:1.55}.school-form .control-label,.rating-picker legend{font-size:13px}
@media(max-width:640px){.school-detail .school-hero{padding-block:20px 28px}.school-detail .school-hero h1{font-size:30px;line-height:1.12;letter-spacing:-.02em}.school-detail .school-legal-name{font-size:14px;-webkit-line-clamp:4}.school-detail .school-facts{margin-top:18px}.school-detail .school-facts>div,.school-detail .school-facts>div+div{padding:12px 0}.school-detail .school-actions{grid-template-columns:1fr 1fr}.school-detail .school-actions .button--save{grid-column:auto}.school-detail .school-actions .button{min-width:0;padding-inline:10px}.school-detail .detail-section{padding-block:32px}.school-detail .detail-section h2{font-size:24px}.school-detail .school-anchor-nav a{font-size:12px}.school-modal__dialog>h2{font-size:24px}}
@media(max-width:640px){.school-detail .school-actions button.button:first-of-type{grid-column:auto!important}.school-detail .school-actions .button--primary{grid-column:1/-1!important}}


/* Homepage refinement: stable navigation, evidence strip and unified content rhythm */
.icon-button svg,.button--save svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.button--save{gap:8px}.icon-button.is-selected svg,.button--save.is-selected svg{fill:currentColor}.icon-button{display:inline-grid;place-items:center}
.site-header__inner{gap:24px}.site-header .header_right{min-width:0;gap:18px}.site-header nav{min-width:0}.site-header nav ul{gap:clamp(12px,1.55vw,24px);align-items:center}.site-header nav li,.site-header nav a{white-space:nowrap}.site-header nav a{display:inline-flex;align-items:center;min-height:44px}.nav-count{margin-left:5px;vertical-align:middle;flex:0 0 auto}.header-search{gap:8px;white-space:nowrap;padding-inline:16px}.header-search svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.trust-strip{border-bottom:0;background:#fff}.trust-strip__inner{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.7fr);gap:48px;padding-block:30px}.trust-strip__lead{display:flex;flex-direction:column;justify-content:center}.trust-strip__lead strong{margin:0;font-size:16px;line-height:1.35}.trust-strip__lead>span{margin-top:6px;color:var(--ink-soft);font-size:12px;line-height:1.5}.trust-strip__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trust-strip__items>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--paper)}.trust-strip__items svg{width:42px;height:42px;padding:9px;border-radius:11px;background:var(--sky);fill:none;stroke:var(--blue);stroke-width:1.8}.trust-strip__items span,.trust-strip__items strong,.trust-strip__items small{display:block}.trust-strip__items span:before{display:none}.trust-strip__items strong{margin:0;color:var(--ink);font-size:12px;line-height:1.35}.trust-strip__items small{margin-top:3px;color:var(--ink-soft);font-size:10px;line-height:1.4}
.map-section{padding:64px 0 80px;background:linear-gradient(to bottom,#fff 0,#fff 30px,var(--paper) 30px,var(--paper) 100%)}.map-section__shell{padding:38px 38px 22px;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(32,55,88,.1)}.map-section .section-heading{margin-bottom:24px!important}.section-heading>div{min-width:0}.section-heading h2{font-size:36px}.section-heading p{margin-top:10px;max-width:620px}.map-status{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:9px;background:var(--sky);color:var(--blue-dark);font-size:12px;font-weight:800;white-space:nowrap}.map-status.is-loading:before{content:'';width:12px;height:12px;margin-right:8px;border:2px solid #9bb6ed;border-top-color:var(--blue);border-radius:50%;animation:map-spin .7s linear infinite}@keyframes map-spin{to{transform:rotate(360deg)}}.homepage .school_map{height:500px!important;border:0;border-radius:14px;overflow:hidden;background:#e6ebf2}.map-alternative{padding:14px 2px 0}
.editorial-section{padding:78px 0}.editorial-section--news{background:var(--paper)}.homepage .news_container,.homepage .reviews_container{margin:0}.editorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.homepage .newsbox{float:none;width:auto}.homepage .newsbox>.grid_out{display:flex;flex-direction:column;height:100%;min-height:470px;margin:0;padding:0 18px 18px;border:0;border-radius:var(--radius);background:#fff;box-shadow:0 12px 32px rgba(32,55,88,.09)}.homepage .newsbox .img{height:180px;margin:0 -18px 18px;border-radius:14px 14px 0 0}.homepage .newsbox .rev_date{margin:0 0 12px;font-size:11px;line-height:1.4}.homepage .newsbox .time{margin-left:6px}.homepage .newsbox .name{display:-webkit-box;min-height:47px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:17px;line-height:1.38}.homepage .newsbox .txt{position:relative;display:-webkit-box;max-height:80px;margin-top:12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;font-size:13px;line-height:1.55}.homepage .newsbox .txt:after{content:'';position:absolute;right:0;bottom:0;width:42%;height:1.55em;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 75%)}.homepage .newsbox .more{position:static;margin-top:auto;padding-top:20px;color:var(--blue);font-size:13px}.homepage .allnews{padding-top:30px}
.homepage .newsbox .rev_date{margin:0 0 6px}.homepage .newsbox .name{display:block;min-height:0;margin:0;padding:0;overflow:visible;font-size:17px;line-height:1.38}.homepage .newsbox .txt{display:block;position:relative;height:78px;max-height:none;margin:7px 0 0;padding:0;overflow:hidden;font-size:13px;line-height:1.55;-webkit-line-clamp:unset;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 58px,transparent 78px);mask-image:linear-gradient(to bottom,#000 0,#000 58px,transparent 78px)}.homepage .newsbox .txt:after{display:none;content:none}.homepage .newsbox .more{padding-top:14px}
.reviews-section{padding:78px 0}.homepage .reviews_container{padding:38px;border-radius:20px;background:var(--paper)}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}.homepage .reviewbox{float:none;width:auto}.homepage .reviewbox>.grid_out{display:flex;flex-direction:column;height:100%;min-height:250px;margin:0;padding:24px!important}.reviewbox__header{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.homepage .reviewbox .rev_date{flex:0 0 auto;color:var(--ink-soft);font-size:11px}.homepage .rev_meta{margin-top:14px;font-size:13px;line-height:1.45}.homepage .rev_txt{display:-webkit-box;margin-top:18px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6;color:var(--ink);font-size:14px;line-height:1.7}
@media(max-width:1080px){.site-header .header_right{gap:10px}.site-header nav ul{gap:10px}.site-header nav li{font-size:12px}.brand--legacy img{width:64px;height:64px}.brand__divider{height:46px}.brand__title{font-size:24px}.header-search{padding-inline:12px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.site-header__inner{min-height:68px}.site-header .shownav{display:block!important}.site-header .header_right{display:none;position:absolute;top:68px;left:0;width:100%;padding:20px;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow)}.site-header.opened .header_right{display:flex;flex-direction:column;align-items:stretch}.site-header nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav li a{display:flex;padding:7px 4px!important;text-align:left!important;color:var(--ink)!important}.header-search{width:100%}}
@media(max-width:800px){.trust-strip__inner{grid-template-columns:1fr;gap:18px}.map-section__shell{padding:28px 24px 18px}.reviews-grid{grid-template-columns:1fr}.homepage .reviewbox>.grid_out{min-height:0}}
@media(max-width:640px){.brand--legacy img{width:54px;height:54px}.brand__divider{height:42px}.brand__title{font-size:21px}.trust-strip__inner{padding-block:26px}.trust-strip__items{grid-template-columns:1fr}.map-section{padding:40px 0 56px;background:var(--paper)}.map-section__shell{width:100%!important;padding:28px 16px 16px;border-radius:0;box-shadow:none}.map-section .section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:14px}.section-heading h2{font-size:30px}.map-status{white-space:normal}.editorial-section,.reviews-section{padding:58px 0}.editorial-grid{grid-template-columns:1fr}.homepage .newsbox:nth-of-type(n+3){display:block}.homepage .newsbox>.grid_out{min-height:440px;margin:0}.homepage .reviews_container{padding:28px 16px}.reviewbox__header{align-items:flex-start;flex-direction:column;gap:4px}}

/* Final homepage rhythm overrides */
.homepage .map-section{padding-top:54px;padding-bottom:28px}
.homepage .map-section__shell{padding:34px 34px 18px}
.homepage .map-section .section-heading{margin-bottom:22px!important}
.homepage .map-alternative{padding-top:12px}
.homepage .editorial-section{padding-block:48px}
.homepage .editorial-section#interest{padding-top:32px}
.homepage .reviews-section{padding-block:48px}
.homepage .allnews{display:flex;float:none;clear:none;width:auto;margin:24px 0 0;padding:0;justify-content:center;text-align:center}
.homepage .allnews:before{display:none!important;content:none!important}
.homepage .allnews a{margin:0}
@media(max-width:640px){.homepage .map-section{padding-block:36px 20px}.homepage .map-section__shell{padding:28px 16px 16px}.homepage .editorial-section{padding-block:38px}.homepage .editorial-section#interest{padding-top:28px}.homepage .reviews-section{padding-block:38px}.homepage .allnews{margin-top:20px}}

/* Search sidebar select alignment */
.sidebar-selects .select-control,.sidebar-selects .sort-control{display:flex;width:100%;min-width:0;margin:0}
.sidebar-selects select,.sidebar-selects .sort-control select,.sidebar-selects .select-control select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:44px;padding:0 40px 0 12px;border:1px solid #b8c3d2;border-radius:10px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23536175' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;color:var(--ink);appearance:none;-webkit-appearance:none}
.results-tools{display:flex;align-items:center;justify-content:flex-end;gap:14px}.results-tools>span{color:var(--ink-soft);font-size:13px;white-space:nowrap}.results-sort{display:flex;align-items:center;min-width:220px;height:44px;padding-left:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.results-sort svg{width:18px;flex:0 0 18px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.results-sort select{box-sizing:border-box;width:100%;height:42px;padding:0 34px 0 9px;border:0;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23536175' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 7px;color:var(--ink);font:700 12px Manrope,sans-serif;appearance:none;-webkit-appearance:none;outline:0}.results-sort:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,87,214,.12)}
@media(max-width:640px){.results-tools{justify-content:space-between;margin-top:12px}.results-sort{min-width:0;max-width:230px;flex:1}.results-heading{align-items:stretch}}
.results-sort select:focus-visible{outline:0!important;outline-offset:0}
.results-sort{position:relative;display:block;padding:0;overflow:hidden}
.results-sort svg{position:absolute;z-index:1;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}
.results-sort select{display:block;width:100%;min-width:100%;padding-left:40px}
.school-card__actions .button--primary:hover,.school-card__actions .button--primary:focus,.school-card__actions .button--primary:active{border-color:var(--blue-dark);background:var(--blue-dark);color:#fff!important;text-decoration:none}

/* Unified interactive states for the school search workspace */
.search-page .button--primary,.search-page a.button--primary,.selection-bar .button--primary{border-color:var(--blue);background:var(--blue);color:#fff!important}
.search-page .button--primary:hover,.search-page .button--primary:focus,.search-page .button--primary:active,.selection-bar .button--primary:hover,.selection-bar .button--primary:focus,.selection-bar .button--primary:active{border-color:var(--blue-dark);background:var(--blue-dark);color:#fff!important;text-decoration:none}
.search-page .button--quiet{border-color:var(--line);background:#fff;color:var(--ink)!important}
.search-page .button--quiet:hover,.search-page .button--quiet:focus,.search-page .button--quiet:active{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)!important;text-decoration:none}
.search-page .button--quiet.is-selected{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)!important}
.search-page .button--quiet.is-selected:hover,.search-page .button--quiet.is-selected:focus{border-color:var(--blue-dark);background:#dce8ff;color:var(--blue-dark)!important}
.search-page .icon-button{border-color:var(--line);background:#fff;color:var(--ink)!important}
.search-page .icon-button:hover,.search-page .icon-button:focus{border-color:var(--blue);background:var(--sky);color:var(--blue-dark)!important}
.search-page .icon-button.is-selected:hover,.search-page .icon-button.is-selected:focus{border-color:#c99f00;background:#ffef9b;color:#714e00!important}
.search-page .sidebar-search-row button:hover,.search-page .sidebar-search-row button:focus{background:var(--blue-dark);color:#fff!important}

/* Header focus without the browser's rectangular click highlight */
.site-header a,.site-header button{-webkit-tap-highlight-color:transparent}
.site-header .brand:focus,.site-header .brand:focus-visible,.site-header nav a:focus,.site-header nav a:focus-visible,.site-header .shownav:focus,.site-header .shownav:focus-visible{outline:0!important;box-shadow:none!important;background:transparent!important}
.site-header nav a:focus-visible{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:6px}
.site-header .brand:focus-visible img{opacity:.78}
.site-header .header-search:focus,.site-header .header-search:focus-visible{outline:0!important;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky);background:#fff;color:var(--blue-dark)}

/* Reserve count-badge space so localStorage hydration cannot shift the header */
.site-header nav a[data-compare-link]{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-right:28px}
.site-header .header-search{position:relative;padding-right:48px}
.site-header nav a[data-compare-link] .nav-count,.site-header .header-search .nav-count{position:absolute;top:50%;right:0;transform:translateY(-50%);margin:0}
.site-header .header-search .nav-count{right:14px}
@media(max-width:640px){.site-header nav a[data-compare-link]{display:flex;width:100%;padding-right:34px!important}.site-header nav a[data-compare-link] .nav-count{right:4px}.site-header .header-search{padding-right:48px}}
