:root{--school-accent:#176b87;--school-soft:#e8f4f7}.school-detail-hero{position:relative;overflow:hidden;padding:40px max(6vw,24px) 62px;background:linear-gradient(128deg,var(--school-accent),#0d2842);color:#fff}.school-detail-hero:after{content:"";position:absolute;width:340px;height:340px;right:-80px;bottom:-210px;border-radius:50%;background:rgba(255,255,255,.1)}.school-detail-hero .subpage-topbar{position:relative;z-index:2}.school-identity{position:relative;z-index:1;display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:center;max-width:1100px}.school-monogram{width:88px;height:88px;border-radius:22px;display:grid;place-items:center;background:#fff;color:var(--school-accent);font:700 42px 'Newsreader',serif;box-shadow:0 12px 30px rgba(0,0,0,.16)}.school-detail-hero .eyebrow{color:#d8f3f2}.school-detail-hero h1{font:700 clamp(44px,7vw,76px)/.95 'Newsreader',serif;letter-spacing:-2px;margin:0}.school-detail-hero .school-subtitle{font-size:18px;color:#e0edf0;margin:14px 0 0}.detail-main{max-width:1180px;margin:0 auto;padding:52px 24px 82px}.detail-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.7fr);gap:22px}.school-about,.contact-panel,.map-panel,.source-panel{border:1px solid var(--line);border-radius:19px;background:#fff;padding:clamp(24px,4vw,38px)}.school-about h2,.contact-panel h2,.map-panel h2{font:700 clamp(30px,4vw,44px)/1 'Newsreader',serif;color:var(--navy);margin:0 0 14px}.school-about>p{color:var(--muted);font-size:17px;line-height:1.7}.school-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px}.school-facts div{padding:14px;border-radius:12px;background:color-mix(in srgb,var(--school-accent) 8%,white)}.school-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:800}.school-facts dd{margin:5px 0 0;color:var(--navy);font-weight:700}.contact-panel{border-top:5px solid var(--school-accent)}.contact-list{display:grid;gap:10px}.contact-item{display:block;padding:13px 14px;border:1px solid var(--line);border-radius:11px;color:var(--navy);text-decoration:none;font-weight:700;overflow-wrap:anywhere}.contact-item span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.contact-item:hover,.contact-item:focus-visible{border-color:var(--school-accent);background:color-mix(in srgb,var(--school-accent) 7%,white);outline:none}.map-panel{margin-top:22px}.map-wrap{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:22px;align-items:stretch}.map-frame{position:relative;min-height:360px;border-radius:15px;overflow:hidden;background:#e8efef}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-pin-label{position:absolute;z-index:2;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:10px 13px;border-radius:10px;background:#fff;color:var(--navy);font-size:13px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.16)}.route-copy{display:flex;flex-direction:column;justify-content:center}.route-copy p{color:var(--muted);line-height:1.6}.route-button,.website-button{display:inline-block;margin-top:10px;border-radius:10px;background:var(--school-accent);color:#fff;text-decoration:none;text-align:center;font-weight:800;padding:14px 18px}.source-panel{margin-top:22px;background:#f4f8f8}.source-panel p{color:var(--muted);line-height:1.6;margin:0}.source-panel a{color:var(--blue);font-weight:700}.missing{color:var(--muted);font-style:italic}.detail-back{display:inline-block;margin-bottom:18px;color:var(--blue);font-weight:800;text-decoration:none}@media(max-width:800px){.school-detail-hero{padding:24px 18px 44px}.school-identity{grid-template-columns:60px minmax(0,1fr);gap:15px}.school-monogram{width:60px;height:60px;border-radius:16px;font-size:30px}.school-detail-hero h1{font-size:clamp(38px,11vw,56px);letter-spacing:-1px}.detail-main{padding:34px 16px 58px}.detail-intro,.map-wrap{grid-template-columns:1fr}.school-facts{grid-template-columns:1fr}.map-frame{min-height:330px}.map-panel{padding:20px 16px}}.school-detail-hero{overflow:visible;z-index:20}.school-detail-hero:after{right:0;clip-path:inset(0 0 210px 80px);pointer-events:none}.school-detail-hero .topic-menu{z-index:100}.school-detail-hero .topic-menu nav{z-index:101}.detail-main{position:relative;z-index:1}
