.school-page-logo{display:block;width:auto;max-width:min(100%,320px);height:130px;object-fit:contain;object-position:left center;margin:20px 0 30px}.school-page-nav,.school-contact-links{display:flex;flex-wrap:wrap;gap:16px;margin:25px 0}.school-page-nav a,.school-contact-links a{color:#285783;text-underline-offset:4px;overflow-wrap:anywhere}.school-section{margin:36px auto;padding-top:28px;border-top:1px solid var(--line);max-width:720px;scroll-margin-top:100px}.school-section h2{font-size:28px;margin:0 0 20px}.school-program{border:1px solid var(--line);border-radius:10px;background:white;margin:12px 0;padding:18px 22px;overflow-wrap:anywhere}.school-program summary{font-size:18px;font-weight:700;cursor:pointer;color:#285783}.school-program p,.school-program li,.school-contact p{line-height:1.75;white-space:pre-line}.school-program-meta{color:var(--muted);font-size:15px}.school-contact .school-map{margin-top:30px}.school-contact-links .button{color:white}.school-contact address{font-style:normal;line-height:1.7}.school-page-description{margin-top:35px}.school-page-nav{padding-bottom:20px;border-bottom:1px solid var(--line)}
.school-page-logo{object-position:center;margin-left:auto;margin-right:auto}
.article-page{max-width:1120px}body{background:#eef2f6}.article-reader{max-width:960px;background:white;border:1px solid #dbe3ea;border-radius:20px;box-shadow:0 14px 45px #19334f0a;padding:0 48px 44px;overflow:hidden}.school-presentation-heading{margin:0 -48px;padding:42px 48px 30px;text-align:center;background:linear-gradient(135deg,#e9eff5,#f7f9fb);border-top:4px solid #9aafc4}.school-presentation-heading .eyebrow{color:#52667b;letter-spacing:.16em;font-size:13px}.school-presentation-heading .school-page-logo{background:white;border:1px solid #e0e6ec;border-radius:14px;padding:18px;box-sizing:content-box;max-width:calc(100% - 38px);width:260px;height:130px;object-fit:contain;box-shadow:0 6px 20px #19334f08}.school-presentation-heading h1{color:#1d3652;font-size:clamp(28px,4vw,46px);line-height:1.2;max-width:800px;margin:22px auto}.school-presentation-heading .article-meta{color:#52667b;margin-bottom:0}.school-page-nav{justify-content:center;padding:24px 0;margin:0;border-bottom:1px solid #e3e8ed;gap:14px 24px}.school-page-nav a{font-size:15px;font-weight:600;text-decoration:none}.school-page-nav a:hover{text-decoration:underline;text-decoration-color:#58748f;text-underline-offset:6px}.school-page-description{margin-top:40px}.school-section{border-color:#dfe6ed}.school-section h2{color:#1d3652;letter-spacing:-.02em}.school-program{background:#f8fafc;border:1px solid #dfe6ed;transition:border-color .18s,background .18s}.school-program:hover,.school-program[open]{border-color:#9aafc4;background:#f4f8fc}.school-program summary{color:#234669;line-height:1.5}.school-program:focus-within{outline:2px solid #58748f;outline-offset:3px}.school-contact{max-width:none;margin:42px -48px -44px;padding:34px 48px 42px;background:#1d3652;border-top:3px solid #9aafc4;color:#edf2f7}.school-contact h2{color:white}.school-contact-links a{color:#d5e3ef}.school-contact-links .button{background:#d5e3ef;border-color:#d5e3ef;color:#1d3652}.school-contact-links .button:hover{background:#e8f0f7}.school-contact .school-map{color:#263c54;background:#f4f7fa;border:none}.school-contact address{color:#edf2f7}a:focus-visible,summary:focus-visible{outline:3px solid #58748f;outline-offset:4px}
/* The main presentation sits to the right of the gallery and school articles. */
.school-gallery-photo{min-width:0;margin:0}.school-gallery-photo a:focus-visible{outline:3px solid #347daf;outline-offset:3px}
dialog.school-gallery-viewer{width:calc(100% - 64px);max-width:1120px;max-height:calc(100dvh - 40px);margin:auto;padding:6px;border:0;border-radius:0;overflow:auto;background:transparent;color:#f5f8fc;box-shadow:none;color-scheme:dark}
dialog.school-gallery-viewer[open]{display:flex;flex-direction:column;gap:18px}
dialog.school-gallery-viewer::backdrop{background:rgba(10,22,36,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.gallery-viewer-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 4px}
.gallery-viewer-title-group{min-width:0}
.gallery-viewer-label{margin:0 0 6px;color:#bccbda;font-size:.75rem;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.school-gallery-viewer h2{margin:0;max-width:850px;color:#f5f8fc;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:500;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:pretty}
.school-gallery-viewer figure{margin:0;min-width:0;flex-shrink:0}
.school-gallery-viewer figure img{display:block;width:100%;height:auto;max-height:min(72dvh,calc(100dvh - 205px));object-fit:contain;border-radius:14px}
.school-gallery-viewer figcaption{margin:12px auto 0;max-width:850px;color:#d3dfeb;font-size:1rem;line-height:1.6;text-align:center;white-space:pre-line;overflow-wrap:anywhere}
.school-gallery-viewer img[hidden],.school-gallery-viewer button[hidden]{display:none}
.school-gallery-viewer .gallery-viewer-close,.school-gallery-viewer .gallery-viewer-step{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #ffffff26;background:#ffffff0d;color:#f5f8fc;font:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s}
.school-gallery-viewer .gallery-viewer-close{width:44px;padding:0;border-radius:50%;flex:none}
.school-gallery-viewer .gallery-viewer-step{padding:10px 22px;border-radius:999px}
.school-gallery-viewer button:hover{background:#ffffff1f;border-color:#ffffff52}
.school-gallery-viewer button:focus-visible{outline:2px solid #aed9ff;outline-offset:3px}
.gallery-viewer-navigation{display:flex;justify-content:center;align-items:center;gap:22px;padding:0 4px 2px;flex-shrink:0}
.gallery-viewer-navigation p{margin:0;min-width:54px;font-size:.875rem;line-height:1.5;color:#d3dfeb;text-align:center;font-variant-numeric:tabular-nums}
.gallery-viewer-error{padding:32px;border:1px solid #ffffff26;border-radius:14px;background:#ffffff0d;color:#f5f8fc;font-size:1rem;line-height:1.6}
@media(max-width:540px){dialog.school-gallery-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:5px}dialog.school-gallery-viewer[open]{gap:16px}.gallery-viewer-heading{align-items:flex-start;gap:14px;padding:0}.school-gallery-viewer figure img{max-height:calc(100dvh - 245px);border-radius:10px}.gallery-viewer-navigation{gap:12px;padding:0 0 3px}.school-gallery-viewer .gallery-viewer-step{padding:10px 14px}.gallery-viewer-navigation p{min-width:44px}}
.article-page.school-layout{max-width:1440px}.school-layout-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-template-areas:"sidebar presentation";align-items:start;gap:28px}.school-sidebar{grid-area:sidebar;display:grid;gap:20px;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:3px 2px 12px}.school-sidebar-card{background:#fff;border:1px solid #dbe3ea;border-radius:16px;padding:20px;box-shadow:0 10px 30px #19334f08}.school-sidebar-card h2{font-size:19px;line-height:1.3;color:#1d3652;margin:0 0 16px}.school-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-gallery-grid a{display:block;aspect-ratio:1.15;overflow:hidden;border-radius:9px;background:#edf2f6}.school-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.school-gallery-grid a:hover img{transform:scale(1.04)}.school-sidebar-note,.school-sidebar-empty{font-size:13px;color:#60748a;line-height:1.55;margin:12px 0 0}.school-sidebar-empty{margin:0}.school-related-articles ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}.school-related-articles li{display:grid;gap:4px;padding-top:12px;border-top:1px solid #e7edf2}.school-related-articles li:first-child{padding-top:0;border-top:0}.school-related-articles a{color:#285783;font-weight:600;line-height:1.45;text-decoration:none}.school-related-articles a:hover{text-decoration:underline;text-underline-offset:3px}.school-related-articles time{font-size:12px;color:#738397}.school-layout-grid>.article-reader{grid-area:presentation;max-width:none;width:100%;justify-self:end}
@media(max-width:740px){.article-reader{padding:0 20px 24px;border-radius:14px}.school-presentation-heading{margin:0 -20px;padding:30px 20px 24px}.school-presentation-heading .school-page-logo{width:200px;height:110px;padding:14px;max-width:calc(100% - 30px)}.school-contact{margin:32px -20px -24px;padding:28px 20px}.school-page-nav{gap:12px 18px}.school-section h2{font-size:25px}.school-program{padding:16px}.school-page-description{margin-top:28px}}
.school-contact-bar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 -48px;padding:20px 28px;background:#e9f0f7;border-top:0;border-bottom:1px solid #d7e2ed;font-size:14px}.school-social-links{display:flex;gap:7px;flex-wrap:wrap}.school-social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#285783;color:white;text-decoration:none;font-size:19px;font-weight:700}.school-social-link:hover{background:#173b5e}.school-bar-details{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;flex:1;min-width:0}.school-bar-details span{overflow-wrap:anywhere}.school-bar-details a{color:#245581;text-underline-offset:3px}.school-share-button,.school-copy-button{border:1px solid #9aafc4;border-radius:6px;background:white;color:#245581;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;min-height:42px}.school-share-button:hover,.school-copy-button:hover{background:#f4f8fc}.school-share-panel{flex-basis:100%;display:flex;align-items:end;flex-wrap:wrap;gap:12px}.school-share-panel[hidden]{display:none}.school-share-panel label{display:grid;gap:6px;flex:1;min-width:180px}.school-share-panel input{padding:10px;border:1px solid #9aafc4;border-radius:6px;width:100%;font:inherit;color:#234669;background:white}.school-share-status{flex-basis:100%;margin:0;color:#234669}.school-share-status:empty{display:none}@media(max-width:740px){.school-contact-bar{margin:0 -20px;padding:18px 20px}.school-bar-details{flex-basis:100%}.school-share-button{margin-left:0}}
.school-google-reviews{display:inline-flex;align-items:center;text-decoration:none}
.school-bar-details{color:#384b5d}.school-bar-details a{color:#0671ce;text-decoration:none}.school-bar-details a:hover{color:#034e94;text-decoration:none}.school-contact-links a:not(.button){color:#9fd0ff;text-decoration:none}.school-contact-links a:not(.button):hover{color:#d8ecff;text-decoration:none}
.article-reader .school-page-description{max-width:none;width:100%}
/* Keep the gallery alongside the article on the right, scrolling with the page. */
.school-layout-grid{grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-areas:"presentation sidebar"}.school-sidebar{position:sticky;top:102px;align-self:start;max-height:none;overflow:visible}.school-open-days-copy{white-space:pre-line;color:#384b5d;line-height:1.65;margin:0}.school-open-days-link{display:inline-flex;margin-top:14px;padding:10px 13px;border-radius:7px;background:#285783;color:#fff;font-size:14px;font-weight:650;text-decoration:none}.school-open-days-link:hover{background:#1d4368}
html{overflow-anchor:none}
.school-share-options{display:flex;align-items:center;flex-wrap:wrap;gap:9px;flex-basis:100%;padding-top:4px}.school-share-options-label{font-size:14px;color:#526b80;margin-right:3px}.school-share-options .school-share-option{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid #c8d8e6;border-radius:7px;background:#fff;color:#245581;text-decoration:none;font-size:14px;font-weight:600;line-height:1.5}.school-share-options .school-share-option:hover{background:#e7eff7;border-color:#9aafc4}.school-share-options .school-share-option:focus-visible{outline:3px solid #3869d9;outline-offset:3px}@media(max-width:540px){.school-share-options-label{flex-basis:100%;margin:2px 0}.school-share-options .school-share-option{flex:1 1 calc(50% - 9px)}}
.school-layout-without-logo .school-layout-grid{grid-template-columns:300px minmax(0,1fr);grid-template-areas:"sidebar presentation"}.school-no-logo-banner{width:300px;max-width:100%;justify-self:center}.school-no-logo-banner .ad-banner{margin:0;border:0;border-radius:4px;background:transparent}.school-no-logo-banner .ad-label{text-align:center;font-size:12px}@media(max-width:1050px){.school-layout-without-logo .school-layout-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"presentation" "sidebar"}.school-layout-without-logo .school-sidebar{position:static;max-height:none}}
.school-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font-size:.875rem;line-height:1.6;color:#738397}.school-breadcrumb a{overflow-wrap:anywhere}.school-presentation-heading .school-founding-year{font-weight:400;border-bottom:0;padding-bottom:0}
.school-related-articles ul{gap:20px}.school-related-articles li{padding-top:20px;min-width:0}.school-related-articles .school-related-card{display:grid;gap:10px;border-radius:9px;overflow-wrap:anywhere}.school-related-articles .school-related-card:hover{text-decoration:none}.school-related-photo{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:9px;background:#edf2f6}.school-related-photo[hidden]{display:none}.school-related-card h3{margin:0;font-size:1rem;font-weight:700;line-height:1.45;color:#234669}.school-related-card .school-related-teaser{margin:0;font-size:.875rem;font-weight:400;line-height:1.6;color:#52667b}.school-related-card .school-related-cta{font-size:.875rem;font-weight:650;color:#285783;text-decoration:underline;text-decoration-color:#b5c7d8;text-underline-offset:4px}.school-related-card:hover h3,.school-related-card:focus-visible h3{color:#0671ce}.school-related-card:hover .school-related-cta,.school-related-card:focus-visible .school-related-cta{text-decoration-color:currentColor}.school-related-card time{font-weight:400}
@media(max-width:900px){.article-page.school-layout{max-width:760px}.school-layout-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"presentation" "sidebar";gap:22px}.school-sidebar{position:static;max-height:none;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));overflow:visible}.school-sidebar-card{padding:18px}.school-layout-grid>.article-reader{justify-self:stretch}}
.school-contact-bar{display:block;padding:24px 32px;background:#f5f8fb;border-top:0;border-bottom:1px solid #dce5ee}.school-bar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.school-social-links{gap:8px}.school-social-link{width:38px;height:38px;background:#fff;color:#285783;border:1px solid #d7e2ec;border-radius:10px;font-size:19px;transition:background .15s,border-color .15s}.school-social-link:hover{background:#e7eff7;color:#173b5e;border-color:#9aafc4}.school-bar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.school-share-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:9px 14px;font-size:14px;border-color:#d3dfea;background:transparent}.school-share-button:hover{background:#e7eff7}.school-bar-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.school-bar-details .school-contact-item{display:flex;align-items:center;gap:12px;padding:16px;background:white;border:1px solid #e0e8f0;border-radius:10px;min-width:0}.school-contact-item>svg{flex:none;color:#6a88a4}.school-contact-copy{min-width:0;display:grid;gap:5px}.school-contact-label{font-size:12px;letter-spacing:.06em;color:#63768a;line-height:1.2}.school-bar-details .school-contact-copy a{font-size:14px;font-weight:600;line-height:1.5;color:#0671ce;text-decoration:none;overflow-wrap:anywhere}.school-share-panel{margin-top:18px;padding-top:18px;border-top:1px solid #dce5ee}.school-share-panel[hidden]{display:none}@media(max-width:740px){.school-contact-bar{padding:20px}.school-bar-details{grid-template-columns:1fr}.school-bar-top{gap:14px}.school-bar-actions{margin-left:0}.school-bar-details .school-contact-item{padding:14px 16px}}
.school-bar-top{margin-top:0;margin-bottom:20px}
.school-contact .school-map iframe{height:380px;width:100%;border:1px solid #d7e2ed;border-radius:10px;background:#e9f0f7}@media(max-width:600px){.school-contact .school-map iframe{height:290px}}
.school-page-nav a{ text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:.18em;text-decoration-skip-ink:auto;transition:color .18s,text-decoration-color .18s}.school-page-nav a:hover,.school-page-nav a:focus-visible{color:#285783;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:rgba(40,87,131,.5);text-underline-offset:.18em}
.school-branch-picker{margin:24px 0;padding:20px;border:1px solid #cdddea;border-radius:12px;background:#f3f7fb;scroll-margin-top:110px}
.school-branch-picker label{display:grid;gap:10px;font-size:16px;font-weight:650;color:#234669}
.school-branch-picker select{width:100%;max-width:100%;min-width:0;font:inherit;font-weight:400;padding:12px;border:1px solid #b6cde0;border-radius:7px;background:#fff;color:#234669}
.school-branch-picker p{margin:12px 0 0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.school-branch-picker .school-branch-note{color:#526b82;font-size:14px}
/* Light, photo-led gallery; keep the other sidebar cards unchanged. */
.school-sidebar-card.school-gallery{min-width:0;padding:14px;border:0;border-radius:22px;background:linear-gradient(160deg,#ffffff,#f8fbfe);box-shadow:0 4px 18px #19334f06,inset 0 0 0 1px #ffffffc2}
.school-gallery-heading{padding:7px 6px 18px}
.school-gallery-meta{margin:0 0 10px;color:#617489;font-size:.8125rem;font-weight:600;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.school-gallery-heading h2{margin:0;color:#234669;font-size:1.125rem;font-weight:600;line-height:1.45;letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:pretty}
.school-gallery .school-gallery-grid{gap:9px}
.school-gallery .school-gallery-grid a{aspect-ratio:1.18;border-radius:12px;background:#e8eff6;transition:box-shadow .2s ease}
.school-gallery .school-gallery-grid img{transition:transform .25s ease}
@media(hover:hover){.school-gallery .school-gallery-grid a:hover{box-shadow:0 5px 14px #2346691a}.school-gallery .school-gallery-grid a:hover img{transform:scale(1.035)}}
/* Compact school-page spacing, with gallery and presentation still level. */
.article-page.school-layout{padding-top:22px}
.school-breadcrumb{margin:0}
.school-layout-grid{margin-top:14px}
.school-layout-grid>.article-reader{margin-top:0}
.school-layout-grid>.school-sidebar{padding-top:0}
@media(max-width:740px){.article-page.school-layout{padding-top:16px}.school-layout-grid{margin-top:12px}}
/* A quiet blue accent keeps open days in the portal's existing palette. */
.school-sidebar-card.school-open-days{min-width:0;border-color:#b8cddd;border-radius:22px;background:linear-gradient(145deg,#dce8f3,#e5eef6);box-shadow:0 8px 24px #2346690d}
.school-open-days .school-open-days-copy{color:#4c6073;font-size:1rem;overflow-wrap:anywhere}
.school-open-days .school-open-days-link{align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:11px 16px;border-radius:10px;background:#3b5f7a;color:#fff;font-size:.875rem;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.school-open-days .school-open-days-link:hover{background:#2a4c67;color:#fff}
.school-open-days .school-open-days-link:focus-visible{outline:3px solid #234669;outline-offset:4px}

/* A quiet contact surface with the portal's navy and lime accents. */
.school-contact-bar{padding:28px 32px 32px;background:radial-gradient(ellipse at 100% 0,#e6efd955,transparent 62%),linear-gradient(120deg,#f2f7fb,#f7fafc);border-top:1px solid #fff;border-bottom:1px solid #dae5ee}
.school-bar-top{gap:14px;margin-bottom:18px}
.school-contact-title{display:flex;align-items:center;gap:10px;margin:0 auto 0 0;font-size:18px;line-height:1.35;font-weight:700;letter-spacing:-.025em;color:#234669}
.school-contact-title::before{content:'';width:5px;height:23px;border-radius:5px;background:#9bc75e}
.school-contact-bar .school-bar-actions{margin-left:0}
.school-contact-bar .school-social-link{width:42px;height:42px;border-radius:13px;background:#ffffffc9;box-shadow:0 2px 5px #23466905}
.school-contact-bar .school-share-button{min-height:42px;border-radius:12px;border-color:#bed0df;background:#fff9;color:#254d73}
.school-contact-bar .school-share-button:hover{background:#fff;border-color:#7095b6}
.school-contact-bar .school-share-x{width:42px;padding:10px;text-decoration:none;flex:none}.school-share-x svg{display:block}.school-share-x:focus-visible{outline:3px solid #538bc4;outline-offset:3px}
.school-video-preview{position:relative;width:100%;aspect-ratio:2.8;margin:0;background:#173b5e;overflow:hidden;border-radius:22px 22px 0 0;isolation:isolate}.school-video-preview iframe{position:absolute;left:50%;top:50%;display:block;width:130%;height:auto;aspect-ratio:16/9;max-width:none;border:0;transform:translate(-50%,-50%);pointer-events:none}.school-video-preview-controls{position:absolute;right:16px;bottom:14px;z-index:1;display:flex;gap:8px}.school-video-preview-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#102d49ad;color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.school-video-preview-controls button:hover{background:#102d49e8}.school-video-preview-controls button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:600px){.school-video-preview{aspect-ratio:2.1}.school-video-preview-controls{right:12px;bottom:12px}}
.school-bar-details{gap:14px}
.school-bar-details .school-contact-item{gap:14px;padding:20px 18px;border:1px solid #dce7ef;border-radius:16px;background:#ffffffed;box-shadow:0 4px 14px #23466906;transition:border-color .18s,box-shadow .18s}
.school-contact-item>svg{width:44px;height:44px;padding:11px;border-radius:14px;color:#38678e;background:#edf4fa;box-sizing:border-box}
.school-contact-item:nth-child(2)>svg{background:#edf5e4;color:#567b32}
.school-contact-item:nth-child(3)>svg{background:#edf1f8;color:#5c7298}
.school-contact-label{font-size:12px;letter-spacing:.025em;color:#62778a}
.school-bar-details .school-contact-copy a{font-size:14px;font-weight:650;color:#235b8e}
.school-contact-item:hover,.school-contact-item:focus-within{border-color:#a9c2d7;box-shadow:0 5px 16px #2346690d}
.school-contact-copy a:hover{text-decoration:underline;text-underline-offset:4px}
.school-contact-bar a:focus-visible,.school-contact-bar button:focus-visible{outline:3px solid #347daf;outline-offset:3px}
@media(max-width:740px){.school-contact-bar{padding:24px 20px}.school-contact-title{flex-basis:100%;margin-bottom:2px;font-size:18px}.school-contact-bar .school-bar-actions{margin-left:auto}.school-bar-details{gap:10px}.school-bar-details .school-contact-item{padding:16px}.school-contact-item>svg{width:42px;height:42px;padding:10px}}
@media(prefers-reduced-motion:reduce){.school-bar-details .school-contact-item{transition:none}}

/* The school identity and contacts form one continuous profile card. */
.school-presentation-heading{position:relative;isolation:isolate;display:flex;align-items:center;gap:32px;padding:44px 36px;text-align:left;border-top:0;background:linear-gradient(115deg,#e9f1f8 0%,#f7fafc 72%);overflow:hidden}
.school-presentation-heading::before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#326d9d,#9bc75e);z-index:-1}
.school-presentation-heading::after{content:'';position:absolute;right:-74px;top:-145px;width:340px;height:340px;border:1px solid #6f98b51a;border-radius:50%;box-shadow:0 0 0 40px #6f98b509,0 0 0 80px #6f98b505;z-index:-1;pointer-events:none}
.school-presentation-heading .school-page-logo{flex:0 0 160px;width:160px;height:144px;padding:20px;margin:0;border-radius:22px;box-sizing:border-box;border:1px solid #d6e3ed;box-shadow:0 8px 24px #2346690a;max-width:100%}
.school-identity{min-width:0;flex:1}
.school-presentation-heading .eyebrow{margin:0 0 14px;color:#526f89;font-size:11px;letter-spacing:.17em;font-weight:750}
.school-presentation-heading h1{margin:0;color:#1d3d5e;font-size:clamp(27px,3vw,39px);line-height:1.17;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance}
.school-identity-facts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.school-identity-facts .school-city-badge,.school-identity-facts .article-meta{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 12px;border:1px solid #d3e1ec;border-radius:100px;background:#ffffffb8;font-size:12px;line-height:1.4;font-weight:500;color:#526b80}
.school-city-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:#7fae46;box-shadow:0 0 0 3px #7fae4615}
.school-contact-bar{background:linear-gradient(120deg,#f3f7fb,#fbfcfd);padding-top:24px;border-top:1px solid #d9e5ef}
@media(max-width:1050px) and (min-width:741px){.school-presentation-heading{gap:24px}.school-presentation-heading .school-page-logo{flex-basis:144px;width:144px;height:144px}.school-presentation-heading h1{font-size:32px}}
@media(max-width:740px){.school-presentation-heading{flex-direction:column;align-items:flex-start;gap:22px;padding:30px 24px}.school-presentation-heading .school-page-logo{flex-basis:auto;width:124px;height:110px;padding:14px;border-radius:18px}.school-presentation-heading h1{font-size:28px;line-height:1.2;text-wrap:pretty}.school-presentation-heading .eyebrow{font-size:10px;margin-bottom:12px}.school-identity-facts{margin-top:18px;gap:8px}.school-presentation-heading::after{right:-190px;top:-125px}.school-contact-bar{padding:22px 20px}}

.school-page-nav{justify-content:flex-start;gap:10px;margin:0 -48px;padding:20px 32px;background:#fff;border-bottom:1px solid #e0e8ef}
.school-page-nav a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #dce6ef;border-radius:12px;background:#f7fafd;color:#315b7f;font-size:13px;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s}
.school-page-nav a svg{flex:none;color:#6387a4}
.school-page-nav a:hover{background:#eaf2f9;border-color:#abc5d9;text-decoration:none;color:#1d3d5e}
.school-page-nav a:focus-visible{outline:3px solid #347daf;outline-offset:3px}
@media(max-width:740px){.school-page-nav{margin:0 -20px;padding:18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-page-nav a{justify-content:flex-start;padding:10px;font-size:12px;border-radius:10px}.school-page-nav a:last-child:nth-child(odd){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.school-page-nav a{transition:none}}

.school-cover{position:relative;margin:0 -48px;height:230px;overflow:hidden;background:#dce8f1}
.school-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.school-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#183c5e25);pointer-events:none}
.school-presentation-heading.has-cover{overflow:visible;padding-top:28px;z-index:1}
.school-presentation-heading.has-cover::after{display:none}
.school-presentation-heading.has-cover .school-page-logo{position:relative;margin-top:-74px;align-self:flex-start;border:5px solid #fff;box-shadow:0 8px 24px #1c3e5c1c}
.school-presentation-heading.has-cover::before{top:0}
@media(max-width:740px){.school-cover{margin:0 -20px;height:176px}.school-presentation-heading.has-cover{padding-top:20px;gap:18px}.school-presentation-heading.has-cover .school-page-logo{margin-top:-58px}}

.school-cover-video{height:auto;aspect-ratio:16/9;background:#10263b}
.school-cover-video::after{display:none}
.school-cover-video iframe{display:block;width:100%;height:100%;position:absolute;inset:0;border:0}
.school-cover-video>img{opacity:.78;object-position:center}
.school-cover-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-height:48px;max-width:90%;padding:12px 20px;border:1px solid #ffffff80;border-radius:14px;background:#173d63ed;color:white;font:inherit;font-weight:650;cursor:pointer;box-shadow:0 6px 24px #0003;white-space:nowrap}
.school-cover-play:hover{background:#234f79}.school-cover-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:740px){.school-cover-video{height:auto;aspect-ratio:16/9}}

.school-cover-video.is-background-video{height:230px;aspect-ratio:auto;container-type:inline-size}
.school-cover-video.is-background-video iframe{height:max(100%,56.25cqw);top:50%;transform:translateY(-50%);pointer-events:none}
.school-cover-watch{position:absolute;right:20px;bottom:18px;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #ffffff70;border-radius:12px;background:#173d63d9;color:white;text-decoration:none;font-size:13px;font-weight:650;backdrop-filter:blur(8px)}
.school-cover-watch:hover{background:#173d63}.school-cover-watch:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:740px){.school-cover-video.is-background-video{height:176px}.school-cover-watch{right:14px;bottom:14px}}

.school-cover-video.is-background-video{height:290px}
.school-cover-watch{width:40px;height:40px;min-height:40px;padding:0;justify-content:center;border-radius:50%;font-size:14px;background:#173d63b8}
@media(max-width:740px){.school-cover-video.is-background-video{height:196px}}

/* The trial movie bleeds across the reader padding, like the school heading. */
.school-video-preview{width:calc(100% + 96px);margin:0 -48px;container-type:inline-size}
.school-video-preview iframe{height:73.125cqw;aspect-ratio:auto}
@media(max-width:740px){.school-video-preview{width:calc(100% + 40px);margin:0 -20px}}
.school-page-description .vademecum-inline-film{aspect-ratio:2.95;margin:10px 0 12px}
.school-page-description h2:has(+ .vademecum-inline-film){margin-bottom:10px}
/* Simple section links keep the focus on the school's identity. */
.school-page-nav{display:flex;justify-content:flex-start;gap:8px 28px;padding:0 32px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;background:#fff}
.school-page-nav a{position:relative;flex:0 0 auto;min-height:62px;padding:18px 0;border:0;border-radius:0;background:transparent;color:#62768a;font-size:14px;white-space:nowrap;transition:color .15s}
.school-page-nav a svg{display:none}
.school-page-nav a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:transparent}
.school-page-nav a:hover{background:transparent;color:#254d73}
.school-page-nav a[aria-current="location"]{color:#234669;font-weight:750}
.school-page-nav a[aria-current="location"]::after{background:#254d73}
@media(max-width:740px){.school-page-nav{display:flex;padding:0 20px;gap:24px;grid-template-columns:none}.school-page-nav a{min-height:56px;padding:16px 0;font-size:13px;justify-content:center}.school-page-nav a:last-child:nth-child(odd){grid-column:auto}}

.school-page-nav a{padding-left:25px;transition:color .18s}
.school-page-nav a svg{display:block;position:absolute;left:0;top:50%;width:18px;height:18px;opacity:0;transform:translateY(-50%) scale(.8);color:#326d9d;transition:opacity .18s,transform .18s}
.school-page-nav a:hover svg,.school-page-nav a:focus-visible svg{opacity:1;transform:translateY(-50%) scale(1)}
.school-page-nav a:hover::after,.school-page-nav a:focus-visible::after{background:#9cb8ce}
.school-page-nav a[aria-current="location"]::after{background:#254d73}
@media(hover:none){.school-page-nav a[aria-current="location"] svg{opacity:1;transform:translateY(-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.school-page-nav a,.school-page-nav a svg{transition:none}}

.school-page-nav a::after{background:#d5e1eb;height:3px}
.school-page-nav a:hover::after,.school-page-nav a:focus-visible::after{background:#88a9c3}
.school-page-nav a[aria-current="location"]::after{background:#254d73;height:4px}

.school-logo-stack{display:flex;flex-direction:column;align-items:stretch;gap:13px;flex:0 0 160px;width:160px;align-self:center}
.school-presentation-heading .school-logo-stack .school-page-logo{flex:none;margin:0;width:100%;max-width:100%}
.school-logo-stack .save-school-button{width:100%;font-size:12px;min-height:38px}
.school-presentation-heading.has-cover .school-logo-stack{margin-top:-74px;align-self:flex-start}
.school-presentation-heading.has-cover .school-logo-stack .school-page-logo{margin-top:0}
@media(max-width:1050px) and (min-width:741px){.school-logo-stack{flex-basis:144px;width:144px}}
@media(max-width:740px){.school-logo-stack{flex-basis:auto;width:140px;gap:10px;align-self:flex-start}.school-presentation-heading .school-logo-stack .school-page-logo{width:140px;height:110px}.school-presentation-heading.has-cover .school-logo-stack{margin-top:-58px}}

.school-contact{background:linear-gradient(120deg,#f3f7fb,#fbfcfd);color:#234669;border-top:1px solid #d9e5ef}.school-contact h2{color:#234669}.school-contact .school-map{background:transparent;padding:0;margin:0;border:0}.school-location-address{font-size:16px;color:#536b81;margin:0 0 20px}.school-location-map{height:320px;border:1px solid #d9e5ef;border-radius:16px;overflow:hidden;isolation:isolate}.school-contact .school-route-button{display:inline-flex;background:#254d73;color:#fff;margin-top:18px;border-radius:10px;padding:12px 20px;text-decoration:none}.school-contact .school-route-button:hover{background:#173d63;color:#fff}.school-contact .map-note{font-size:12px;color:#63778a;margin:9px 0 0}@media(max-width:740px){.school-location-map{height:250px}.school-contact .school-route-button{width:100%;justify-content:center}}

.school-map-frame{position:relative}.school-map-expand{position:absolute;right:12px;top:12px;z-index:1001;width:42px;height:42px;padding:0;background:#fff;color:#234669;border:1px solid #cbdbe8;border-radius:10px;box-shadow:0 2px 8px #17344d22;font-size:27px;cursor:pointer}.school-map-expand:hover{background:#eaf2f9}.school-map-frame.is-expanded{position:fixed;inset:20px;z-index:10000;background:white;padding:10px;border-radius:18px;box-shadow:0 0 0 100vmax #10283caa}.school-map-frame.is-expanded .school-location-map{height:100%!important}.school-map-frame.is-expanded .school-map-expand{right:22px;top:22px}@media(max-width:640px){.school-map-frame.is-expanded{inset:10px}}

.school-comic-popup .leaflet-popup-content-wrapper{border:2px solid #294f70;border-radius:18px;box-shadow:4px 4px 0 #294f7026}.school-comic-popup .leaflet-popup-tip{border-right:2px solid #294f70;border-bottom:2px solid #294f70}.school-comic-popup .leaflet-popup-content{margin:15px 25px 15px 18px}.school-map-bubble{display:grid;gap:9px;color:#234669;font-family:inherit;line-height:1.35}.school-map-bubble strong{font-size:15px}.school-map-bubble a{color:#285e8b;font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:3px}

.school-map-bubble{display:flex;align-items:center;gap:12px}.school-bubble-logo{width:54px;height:54px;object-fit:contain;flex:none;background:white;border-radius:9px}.school-bubble-copy{display:grid;gap:9px}
