.institutional-map-view[hidden] { display:none!important; }
.institutional-map-open .alley-viewport { display:none!important; }
.institutional-map-open .alley-toolbar,.institutional-map-open .weather-credit { display:none!important; }
body.institutional-map-page { overflow:auto!important; }
.institutional-map-view { min-height:100vh; overflow:auto; background:#17110b; color:#f6e7c7; padding:1.2rem max(1rem,calc((100vw - 1500px)/2)); font-family:Georgia,serif; }
.institutional-map-return { display:inline-block; margin:0 0 1rem; padding:.7rem 1.1rem; color:#f4d78a; border:1px solid #ab894e; border-radius:3px; background:#211912; }
.institutional-map-board { max-width:1500px; margin:auto; background:#17110b; }
.institutional-map-picture { position:relative; width:100%; aspect-ratio:1672/941; overflow:hidden; }
.institutional-map-picture img { position:absolute; top:0; left:0; display:block; width:100%; height:auto; }
.institutional-map-regions { position:absolute; inset:0; }
.map-region { position:absolute; display:block; }
.map-region:focus-visible,.map-region:hover { outline:3px solid #ffe49d; outline-offset:-3px; background:#e7bd571f; }
.map-region--alley {left:18%;top:43.3%;width:20%;height:24.8%;}
.map-region--academy {left:43%;top:36.4%;width:19%;height:31.8%;}
.map-region--quarter {left:61%;top:37.1%;width:21%;height:31.8%;}
.map-region--west {left:21%;top:29.4%;width:17%;height:14%;}
.map-region--north {left:43%;top:24%;width:20%;height:14%;}
.map-region--east {left:67%;top:27.8%;width:19%;height:14%;}
.institutional-map-entries {position:absolute;inset:0;pointer-events:none;}
.institutional-map-entries a {position:absolute;height:1.8%;pointer-events:auto;}
.institutional-map-entries a:hover,.institutional-map-entries a:focus-visible {outline:2px solid #ffe49d;background:#e7bd5726;}
.institutional-map-future {max-width:1500px;margin:.5rem auto 0;color:#d9c394;font-size:.9rem;text-align:center;}
.institutional-map-directory {display:none;}
.institutional-map-directory {display:none;grid-template-columns:1fr 1.6fr 1fr .9fr;gap:0;border-top:3px solid #a27d42;}
.institutional-map-directory section {min-width:0;padding:1.25rem;border-right:2px solid #806139;}
.institutional-map-directory section:last-child {border-right:0;}
.institutional-map-directory h2 {font-variant:small-caps;letter-spacing:.05em;color:#e6c887;font-size:1.35rem;margin:0 0 .7rem;border-bottom:1px solid #917449;padding-bottom:.3rem;}
.institutional-map-directory a,.institutional-map-directory p {display:block;color:#f0e3cf;font-size:1.05rem;line-height:1.4;margin:.3rem 0;}
.institutional-map-directory a:hover,.institutional-map-directory a:focus-visible {color:#ffdd7c;text-decoration:underline;}
.institutional-map-directory small {color:#d4b57c;line-height:1.5;}
@media(max-width:850px){.institutional-map-directory {display:grid;grid-template-columns:1fr 1fr;}.institutional-map-directory section {border-bottom:2px solid #806139;}.institutional-map-directory section:nth-child(2){border-right:0;}}
@media(max-width:520px){.institutional-map-directory {grid-template-columns:1fr;}.institutional-map-directory section {border-right:0;}.institutional-map-view {padding:.6rem;}.institutional-map-directory h2 {font-size:1.25rem;}}
/* Map closeups follow the same local season, time and weather as their courtyards. */
.institutional-map-view{--map-season-filter:brightness(1);--map-phase-filter:brightness(1);--map-weather-filter:brightness(1)}
.institutional-map-view[data-season="summer"]{--map-season-filter:saturate(1.12)}
.institutional-map-view[data-season="fall"]{--map-season-filter:sepia(.16) saturate(1.05)}
.institutional-map-view[data-season="winter"]{--map-season-filter:saturate(.72)}
.institutional-map-view[data-phase="dawn"]{--map-phase-filter:brightness(.93)}
.institutional-map-view[data-phase="dusk"]{--map-phase-filter:brightness(.85)}
.institutional-map-view[data-phase="night"]{--map-phase-filter:brightness(.7)}
.institutional-map-view[data-weather="overcast"]{--map-weather-filter:saturate(.8) brightness(.9)}
.institutional-map-view[data-weather="wet"]{--map-weather-filter:saturate(.8) contrast(1.07) brightness(.86)}
.institutional-map-view[data-weather="fog"]{--map-weather-filter:saturate(.7) contrast(.8)}
.institutional-map-picture img{filter:var(--map-season-filter) var(--map-phase-filter) var(--map-weather-filter)}
