.location-block{position:relative;z-index:3;background:white;color:#171a20;padding:96px clamp(24px,5vw,72px);scroll-margin-top:76px}
.location-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:center}
.map-wrapper{min-width:0}
.location-eyebrow{font-size:10px;letter-spacing:.14em;color:#6c7077;text-transform:uppercase;margin:0 0 22px}
.location-copy h2{font-size:clamp(32px,3.8vw,48px);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0 0 26px}
.location-copy address{font-style:normal;font-size:15px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.location-note{font-size:12px;line-height:1.8;color:#6c7077;max-width:39ch;margin:18px 0 25px}
.location-link{font-size:12px;line-height:1.5;display:inline-block;text-decoration:underline;text-underline-offset:5px;padding:6px 0}
.map-canvas{position:relative;width:100%;min-width:0;min-height:370px;aspect-ratio:1.5;background:#f3f5f6;border:1px solid #e4e7eb;border-radius:14px;overflow:hidden}
.map-facade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;background:linear-gradient(125deg,transparent 35%,#e1e6e780 35.2%,#e1e6e780 36%,transparent 36.2%),linear-gradient(55deg,transparent 65%,#dfe6e880 65.2%,#dfe6e880 66%,transparent 66.2%);color:#343a43}
.map-facade[hidden]{display:none}.map-facade p{font-size:15px;font-weight:500;margin:18px 0 23px;overflow-wrap:anywhere}.map-facade small{font-size:10px;color:#656a72;line-height:1.7;max-width:34ch;margin-top:18px}
.map-load{font:inherit;font-size:12px;background:#171a20;color:white;border:0;border-radius:7px;padding:14px 24px;min-height:46px;cursor:pointer}.map-load:hover{background:#343a43}.map-load:disabled{background:#777;cursor:not-allowed}
.map-canvas iframe{display:block;width:100%;height:100%;position:absolute;inset:0;border:0}.map-fallback{font-size:10px;color:#6c7077;line-height:1.7;margin:13px 0 0}
@media(max-width:700px){.location-block{padding:72px 24px}.location-inner{grid-template-columns:1fr;gap:32px}.location-copy h2{font-size:36px}.map-canvas{min-height:340px;aspect-ratio:1}.location-note{max-width:none}}
@media(min-width:701px) and (max-width:900px){.location-inner{grid-template-columns:1fr;gap:36px}.location-copy h2 br{display:none}.location-note{max-width:58ch}}
