.location-map[data-map-state=ready]::before{display:none}
.location-map .school-map-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;background:#e9e7de;font-family:Helvetica,Arial,sans-serif}
.school-map-canvas .leaflet-control-attribution{font-size:10px;line-height:1.5;padding:4px 8px;color:#333;background:#fffffff0}
.school-map-canvas .leaflet-control-attribution a{color:#650000}
.school-map-canvas .leaflet-control-zoom{border:1px solid #76000025;border-radius:15px;overflow:hidden;box-shadow:0 4px 18px #59000014;margin:18px}
.school-map-canvas .leaflet-control-zoom a{width:42px;height:42px;line-height:42px;color:#a80000;background:#fffdfb}
.ijc-map-marker{background:none;border:0;filter:drop-shadow(0 8px 9px #59000050)}
.ijc-pin-body,.map-preview-pin{display:grid;place-items:center;width:76px;height:76px;background:#a80000;border:4px solid #fff8f0;border-radius:50% 50% 50% 12px;transform:rotate(-45deg)}
.ijc-pin-body{position:absolute;left:4px;top:0}
.ijc-pin-body img,.map-preview-pin img{width:46px;height:50px;object-fit:contain;transform:rotate(45deg)}
.map-preview-pin{margin:8px 0 18px;box-shadow:0 7px 20px #76000025}
.school-map-canvas .ijc-map-marker:focus-visible{outline:3px solid #590000;outline-offset:6px;border-radius:40px}
.school-map-hint{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:401;padding:10px 18px;border-radius:100px;background:#fffdfbf0;box-shadow:0 4px 18px #59000014;color:#760000;font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none}
.school-map-recenter{position:absolute;bottom:36px;left:20px;z-index:401;padding:12px 18px;min-height:44px;border:0;border-radius:100px;background:#a80000;color:#fff;font-size:13px;cursor:pointer;white-space:nowrap}
.school-map-recenter:hover{background:#760000}
.school-map-info{color:#451417;max-width:230px}.school-map-info strong{font-size:17px}.school-map-info p{font-size:13px!important;line-height:1.6;margin:10px 0}.school-map-info a{font-weight:700;color:#a80000;font-size:14px}
@media(max-width:760px){.school-map-hint{left:auto;right:18px;transform:none;font-size:12px;padding:9px 14px}.school-map-recenter{bottom:36px;font-size:12px}}
.high-contrast .school-map-canvas{filter:contrast(1.15)}

.location-map[data-school-map]{isolation:isolate;z-index:0}
.school-map-canvas .leaflet-bottom.leaflet-right{right:66px}
@media(max-width:760px){.school-map-canvas .leaflet-bottom.leaflet-right{right:58px}}
/* A destination to explore: the map is the whole section, the invitation lives inside it. */
.school-location>.wrap.location-grid{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;min-height:900px;align-items:center;overflow:hidden;background:#e9e7de}
.school-location .location-grid>.location-map{position:absolute;inset:0;width:100%;height:100%;min-height:100%;border:0;border-radius:0;z-index:0}
.school-location .location-grid>.location-story{position:relative;z-index:2;width:clamp(380px,36vw,520px);max-width:calc(100% - 80px);margin:64px 0 64px var(--site-gutter);padding:38px 40px 40px;align-self:center;background:#870000;color:#fff8f0;border:1px solid #ffffff55;border-radius:30px 70px 30px 30px;box-shadow:0 24px 64px #49000030;text-align:left}
.location-story-mark{display:block;width:52px;height:56px;object-fit:contain;margin-bottom:26px}
.school-location .location-story .eyebrow{color:#ffddcc;font-size:10px;letter-spacing:.16em;line-height:1.6}
.school-location .location-story h2{font-size:clamp(40px,3.6vw,56px);line-height:1.08;letter-spacing:-.035em;color:#fff8f0;margin:16px 0 22px;text-wrap:balance}
.school-location .location-story p{font-size:17px;line-height:1.75;color:#ffe5d9;margin:0 0 22px}
.school-location .location-story address{font-size:15px;line-height:1.7;color:#ffe5d9;margin:22px 0;padding-top:22px;border-top:1px solid #ffffff35}
.school-location .location-story .location-directions{gap:10px;margin-top:26px}
.school-location .location-story .button{background:#fff8f0;color:#760000;font-size:14px;padding:15px 18px;min-height:52px;flex:1 1 130px;white-space:nowrap;justify-content:center}
.school-location .location-story .button::before{background:#590000!important}.school-location .location-story .button:hover{color:#fff8f0}
.school-location .location-story .button>span{font-size:inherit;transform:none}
.school-location .map-placeholder{position:absolute;left:54%;right:0;top:0;height:100%;min-height:0;width:auto;background:transparent;padding:40px 80px 40px 24px}
.school-location .school-map-hint{top:30px;left:auto;right:100px;transform:none}
.school-location .school-map-recenter{left:auto;right:100px;bottom:50px;background:#fffdfb;color:#760000;border:1px solid #76000025;box-shadow:0 6px 20px #59000012}
.school-location .school-map-recenter:hover{background:#760000;color:#fff}
.school-location .leaflet-top.leaflet-right{right:80px;top:70px}
@media(min-width:761px) and (max-width:1100px){.school-location .location-grid>.location-story{width:380px;margin-left:32px;padding:32px}.school-location .location-story h2{font-size:42px}.school-location .map-placeholder{left:57%;padding-right:50px}}
@media(max-width:760px){
 .school-location>.wrap.location-grid{min-height:1120px;align-items:start}
 .school-location .location-grid>.location-story{width:calc(100% - 40px);max-width:520px;margin:24px auto 470px;padding:28px 26px 30px;align-self:start;border-radius:24px 54px 24px 24px}
 .location-story-mark{width:42px;height:45px;margin-bottom:20px}
 .school-location .location-story h2{font-size:38px;margin-block:14px 18px}
 .school-location .location-story p{font-size:16px;line-height:1.7}
 .school-location .location-story address{font-size:14px;margin-block:18px;padding-top:18px}
 .school-location .location-story .location-directions{margin-top:22px}
 .school-location .location-story .button{font-size:14px;flex-basis:120px;padding-inline:12px;gap:8px}
 .school-location .map-placeholder{left:0;right:0;top:auto;bottom:60px;height:350px;min-height:0;padding:28px 32px}
 .school-location .map-placeholder strong{font-size:24px}.school-location .map-placeholder>span:not(.map-preview-pin){font-size:13px}
 .school-location .school-map-hint{top:auto;bottom:385px;right:70px;font-size:11px}
 .school-location .school-map-recenter{right:auto;left:20px;bottom:44px}
 .school-location .leaflet-top.leaflet-right{top:auto;bottom:120px;right:6px}
}
.high-contrast .school-location .location-grid>.location-story{background:#050505;border-color:#fff}

@media(max-width:760px){.school-location .location-story .button{flex-basis:150px}}
