.school-profile-card .card-top{margin-bottom:19px}.school-profile-card>h3{font-size:21px;max-width:100%;line-height:1.3;overflow-wrap:anywhere}.school-card-location{font-size:13px;color:var(--muted);margin:1px 0 13px}.school-card-description{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:15px;overflow-wrap:anywhere}.school-card-programs{margin:2px 0 8px;padding-top:15px;border-top:1px solid #e7edf3}.school-catalog-group+.school-catalog-group{margin-top:17px}.school-catalog-group h3,.offer-card .school-catalog-group h3{font-size:16px;font-weight:750;line-height:1.4;letter-spacing:-.01em;color:#285783;margin:0 0 11px;max-width:100%}.school-catalog-group h3 span{font-size:.875em;font-weight:500;color:#627387;white-space:nowrap}.school-catalog-group ul{list-style:none;padding:0;margin:0}.school-catalog-group li+li{margin-top:7px}.school-catalog-group button{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:0;background:none;padding:3px 0;text-align:left;width:100%;color:#326da6;font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.school-catalog-group button:hover{text-decoration:underline;text-underline-offset:4px}.school-catalog-group button>span{flex-shrink:0;color:#7197b7;font-weight:400}.school-profile-card .card-bottom{margin-top:auto;padding-top:18px}.school-no-programs{font-size:13px;line-height:1.7;color:var(--muted);background:#f2f6fa;border-radius:7px;padding:12px 14px;margin:2px 0 20px}.school-profile-logo{max-width:130px;max-height:75px;object-fit:contain;object-position:left center;display:block;margin:0 0 19px}.school-profile-programs{background:#f2f6fa;border:1px solid #e1eaf2;border-radius:10px;padding:20px;margin:21px 0}.school-profile-programs .school-catalog-group h3{font-size:16px;color:#345f88;letter-spacing:-.01em;margin-bottom:10px}.school-profile-programs .school-catalog-group button{font-size:15px;padding:7px 0}.school-profile-programs .school-catalog-group li+li{margin-top:0;border-top:1px solid #e0e9f1}.school-profile-programs .school-catalog-group+.school-catalog-group{margin-top:24px}.school-profile-empty{font-size:14px;line-height:1.7;color:var(--muted);background:#f2f6fa;padding:17px 19px;border-radius:10px;margin:21px 0}.school-profile-back{background:none;border:0;color:#326da6;font-size:13px;line-height:1.5;text-align:left;padding:0 25px 0 0;margin:0 0 20px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.school-profile-contact{margin-top:24px}.school-profile-contact .dialog-subtitle{margin-top:0}.school-profile-card .kind-label{font-size:11px}.school-profile-card .school-logo{max-width:100px}#dialog-title:focus{outline:none}
@media(max-width:740px){.school-profile-card>h3{font-size:19px}.school-profile-card .card-top{gap:10px;align-items:start}.school-profile-card .card-bottom{align-items:start;gap:8px}.school-profile-programs{padding:16px}.school-profile-programs .school-catalog-group h3{font-size:15px}.school-profile-programs .school-catalog-group button{font-size:14px}.school-card-description{font-size:12px}.school-catalog-group button{font-size:13px}.school-no-programs{padding:11px;font-size:12px}.school-profile-card .kind-label{line-height:1.35}}
@media(max-width:390px){.school-profile-card .card-top{align-items:center}.school-profile-card .card-bottom{align-items:center}.school-profile-card>h3{font-size:21px}.school-card-description,.school-no-programs{font-size:13px}}
.type-filters{row-gap:8px}.type-button{white-space:nowrap}
.catalog-pagination{text-align:center;margin:28px 0 0}.catalog-pagination p{color:var(--muted);font-size:13px;margin:0 0 14px}.catalog-page-actions{display:flex;justify-content:center;align-items:center;gap:10px}.catalog-pagination .button{min-width:180px}.catalog-page-actions #load-previous{min-width:46px;width:46px;padding:8px;font-size:20px}

.search-panel{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;gap:20px}.search-panel .query-field{padding-right:20px}
@media(min-width:741px) and (max-width:1000px){.search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel .query-field{border-right:0;padding-right:0}}
@media(max-width:740px){.search-panel{grid-template-columns:minmax(0,1fr);gap:16px}.search-panel .query-field{padding-right:0}}

/* Search suggestions share the current catalogue and its location filters. */
.query-field{position:relative}.search-hint{display:block;color:#627387;font-size:12px;line-height:1.5;margin-top:6px}.query-suggestions{position:absolute;top:calc(100% + 12px);left:0;width:460px;max-width:calc(100vw - 80px);z-index:10;background:#fff;border:1px solid #b9cddd;border-radius:10px;box-shadow:0 12px 32px #243b5329;overflow:hidden}.query-options{position:relative;max-height:320px;overflow-y:auto;overscroll-behavior:contain}.query-option{display:flex;flex-direction:column;gap:4px;width:100%;padding:13px 16px;background:#fff;text-align:left;line-height:1.45;min-height:58px;border-bottom:1px solid #e4ebf2}.query-option:hover,.query-option[aria-selected=true]{background:#e7f1fb}.query-option[aria-selected=true]{box-shadow:inset 4px 0 #285783}.query-option-title{font-size:15px;font-weight:650;color:#285783;overflow-wrap:anywhere}.query-option-detail{font-size:13px;color:#53677b}.query-suggestion-status{font-size:12px;color:#53677b;padding:11px 16px;line-height:1.5;background:#f5f8fb}.query-option:focus-visible{outline:3px solid #285783;outline-offset:-3px}
@media(max-width:740px){.query-suggestions{width:100%;max-width:100%;top:calc(100% - 5px)}.query-options{max-height:260px;max-height:min(260px,40dvh)}.query-option{padding:12px}.query-option-title{font-size:16px}}

/* The original search remains available while browsing the catalogue. */
html{scroll-padding-top:var(--finder-offset,16px)}
.finder-section{position:sticky;top:0;z-index:15;background:#f1f4f8;padding-top:8px;padding-bottom:8px}
.finder-section.is-stuck .search-panel{box-shadow:0 6px 22px #243b5326}
.search-filter-toggle{display:none}
.finder-section.is-stuck .search-hint{display:none}
.query-options{max-height:min(320px,45dvh)}
@media(max-width:740px){
 .finder-section.is-stuck .search-panel{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;gap:8px 12px;align-items:center}
 .finder-section.is-stuck .query-field{border:0;padding:0}
 .finder-section.is-stuck .search-field label{font-size:14px;margin-bottom:2px}
 .finder-section.is-stuck .search-filter-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;background:#e5edf6;color:#234669;border:1px solid #bbccdc;border-radius:6px;font-size:14px;font-weight:700}
 .finder-section.is-stuck:not(.filters-expanded) .location-field,.finder-section.is-stuck:not(.filters-expanded) .search-button{display:none}
 .finder-section.is-stuck.filters-expanded .location-field{grid-column:1/-1}
 .finder-section.is-stuck.filters-expanded .search-button{grid-column:1/-1;min-height:44px;padding:9px 12px}
 .finder-section.is-stuck .query-suggestions{width:calc(100vw - 58px);max-width:calc(100vw - 58px);top:calc(100% + 13px)}
 .finder-section.is-stuck.filters-expanded .search-panel{max-height:70dvh;overflow-y:auto}
}

.school-card-programs>.programs-expand,.school-card-programs>.programs-collapse{display:block;margin-top:14px;padding:8px 0;border:0;background:none;color:#285f91;font-size:14px;font-weight:650;cursor:pointer}.school-card-programs [hidden]{display:none!important}.school-card-programs>.programs-expand:focus-visible,.school-card-programs>.programs-collapse:focus-visible{outline:2px solid #347daf;outline-offset:3px}
.school-name-link{color:inherit;text-decoration:none}.school-name-link:hover{text-decoration:underline;text-underline-offset:4px;color:#285783}.school-name-link:focus-visible{outline:3px solid #285783;outline-offset:4px;border-radius:3px}
.school-name-link{font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:rgba(40,87,131,.22);text-underline-offset:.18em;text-decoration-skip-ink:auto;transition:color .18s,text-decoration-color .18s}.school-name-link:hover{color:#285783;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:rgba(40,87,131,.5);text-underline-offset:.18em}
.school-name-link:not(:hover):not(:focus-visible){text-decoration-color:transparent}
