.location-block { width:calc(100% - clamp(10px,2.2vw,32px)*2); max-width:1600px; margin:42px auto 0; padding:30px; color:#1f2936; background:#eef3f7; border-radius:34px; scroll-margin-top:105px; font-family:"Open Sans",Arial,sans-serif; }
.location-block * { box-sizing:border-box; }
.location-block a { color:inherit; text-decoration:none; }
.location-block a:focus-visible { outline:2px solid #0c829f; outline-offset:4px; }
.location-block h2 { margin:0 0 24px; text-align:center; font-size:clamp(24px,2.2vw,34px); font-weight:700; line-height:1.22; text-transform:uppercase; letter-spacing:-.025em; }
.location-details { display:flex; flex-wrap:wrap; gap:18px 24px; align-items:center; margin-bottom:23px; }
.location-address { display:flex; align-items:center; gap:13px; }
.location-address > svg { width:29px; height:34px; color:#c60027; flex:none; }
.location-original-pin { flex:none; width:26px; height:35px; object-fit:contain; }
.location-transit img { flex:none; display:block; object-fit:contain; }
.location-metro-icon { width:24px; height:17px; }
.location-mcd-icon { width:40px; height:15px; }
.location-address address { display:grid; gap:3px; font-style:normal; font-size:14px; line-height:1.6; }
.location-address address > span { font-size:12px; color:#657889; }
.location-address strong { font-weight:600; }
.location-note { color:#657889; font-size:12px; line-height:1.7; margin:0; }
.location-transit { display:flex; flex-wrap:wrap; gap:12px 22px; color:#536879; font-size:12px; }
.location-transit > span { display:flex; align-items:center; gap:7px; }
.location-transit b { color:#c60027; font-size:12px; font-weight:700; }
.location-transit small { color:#718393; font-size:11px; }
.location-route { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:43px; border:1px solid #d4dfe7; padding:10px 16px; background:#fff; border-radius:12px; font-size:12px; font-weight:600; white-space:nowrap; }
.location-route svg { width:13px; height:13px; }
.location-map { position:relative; isolation:isolate; height:300px; overflow:hidden; border-radius:22px; background:#e6ecee; box-shadow:0 5px 15px -10px #263b4350; }
.location-map iframe { position:relative; display:block; width:100%; height:100%; border:0; z-index:1; }
.location-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:15px; padding:30px; color:#657889; font-size:13px; }
.location-placeholder svg { width:30px; height:30px; flex:none; }
.location-panorama .location-note { display:none; }
.location-panorama .location-transit { margin-left:auto; }
.location-split { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.7fr); gap:34px; padding:16px; }
.location-split .location-copy { padding:22px 14px 18px 22px; }
.location-split h2 { text-align:left; max-width:330px; margin-bottom:26px; font-size:30px; }
.location-split .location-details { display:grid; gap:16px; margin:0; }
.location-split .location-transit { display:grid; gap:10px; }
.location-split .location-route { justify-self:start; margin-top:4px; }
.location-split .location-map { height:355px; border-radius:24px; }
.location-strip { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr); gap:30px; padding:0; background:transparent; }
.location-strip .location-copy { align-self:center; padding:14px 8px; }
.location-strip h2 { font-size:28px; text-align:left; max-width:290px; margin-bottom:24px; }
.location-strip .location-details { display:grid; gap:14px; margin:0; }
.location-strip .location-transit { display:grid; gap:9px; }
.location-strip .location-route { justify-self:start; background:#eff3f7; border-color:transparent; margin-top:2px; }
.location-strip .location-map { height:300px; }
@media(hover:hover) { .location-route:hover { border-color:#91b8ca; color:#0c829f; } }
@media(max-width:1100px) {
 .location-block { padding:26px; }
 .location-panorama .location-details { gap:17px; }
 .location-panorama .location-transit { margin-left:0; order:3; width:100%; }
 .location-panorama .location-route { margin-left:auto; }
 .location-split { padding:14px; gap:15px; grid-template-columns:minmax(255px,.9fr) 1.2fr; }
 .location-split .location-copy { padding:17px 12px; }
 .location-split h2 { font-size:27px; }
 .location-strip { padding:0; gap:20px; grid-template-columns:minmax(250px,.9fr) 1.2fr; }
}
@media(max-width:620px) {
 .location-block { margin-top:28px; padding:23px 16px 16px; border-radius:26px; }
 .location-block h2 { font-size:23px; margin-bottom:22px; }
 .location-details, .location-panorama .location-details { display:grid; gap:16px; margin-bottom:20px; }
 .location-address { gap:10px; }
 .location-address address { font-size:12px; }
 .location-address address > span { font-size:11px; }
 .location-transit { display:grid; gap:9px; font-size:11px; }
 .location-transit small { font-size:10px; }
 .location-panorama .location-route { margin:0; justify-self:start; order:4; }
 .location-map { height:250px; border-radius:18px; }
 .location-split { display:flex; flex-direction:column; gap:20px; padding:23px 16px 16px; }
 .location-split .location-copy { padding:0 4px; }
 .location-split .location-map { height:240px; border-radius:18px; }
 .location-split h2 { max-width:none; }
 .location-note { font-size:11px; }
 .location-strip { grid-template-columns:1fr; gap:21px; padding:0 6px; }
 .location-strip .location-copy { padding:0 4px; }
 .location-strip h2 { max-width:none; }
 .location-strip .location-map { height:220px; }
}

