.location-map{margin-top:50px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper-alt);color:var(--ink)}
.location-map-stage{position:relative;min-height:340px}
.location-map-consent{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;min-height:340px;padding:38px clamp(26px,4vw,62px)}
.location-map.is-active .location-map-consent{visibility:hidden;pointer-events:none}
.location-map-heading{min-width:0;position:relative;padding-left:64px}
.location-map-pin{position:absolute;left:0;top:3px;display:grid;place-items:center;width:42px;height:52px;color:var(--red)}
.location-map-pin svg{display:block;width:32px;height:32px}
.location-map-heading .eyebrow{font-size:10px;color:var(--muted);margin-bottom:15px}
.location-map h3{font-family:var(--display);font-size:clamp(32px,3.1vw,48px);font-weight:800;line-height:1.02;letter-spacing:-.012em;margin:0}
.location-map-address{font-size:12px;line-height:1.75;color:var(--muted);margin-top:18px!important}
.location-map-choices{max-width:415px;min-width:0}
.location-map-explanation{font-size:13px;line-height:1.85;color:var(--muted);margin:0}
.location-map-privacy{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-top:4px}
.location-map-load{display:flex;width:fit-content;margin-top:13px;gap:26px;min-height:52px;font-size:13px}
.location-map-noscript{font-size:12px;color:var(--muted);margin-top:15px!important}
.location-map-frame{position:absolute;inset:0;background:var(--paper-alt)}
.location-map-frame iframe{display:block;width:100%;height:100%;min-height:340px;border:0;background:var(--paper-alt)}
.location-map-frame iframe:focus-visible{outline:3px solid var(--red);outline-offset:-4px}
.location-map-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;padding:9px clamp(24px,3vw,42px);border-top:1px solid var(--line);background:var(--paper)}
.location-map-status{margin:0;font-size:10px;line-height:1.6;letter-spacing:.01em;color:var(--muted);max-width:460px;min-height:3.2em}
.location-map-controls{display:flex;align-items:center;gap:24px;flex-shrink:0}
.location-map-controls a,.location-map-controls button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:5px 0;border:0;background:none;font-size:11px;font-weight:500;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.location-map-controls span{font-size:18px;text-decoration:none}
.location-map [hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.location-map-privacy:hover,.location-map-controls a:hover,.location-map-controls button:hover{color:var(--action)}}
/* Fixed dark theme, independent of device settings. */
@media all{.location-map-privacy:hover,.location-map-controls a:hover,.location-map-controls button:hover{color:var(--red)}}
@media(max-width:900px){.location-map-consent{gap:30px;padding:32px 26px}.location-map-heading{padding-left:0}.location-map-pin{position:static;margin-bottom:16px;width:32px;height:32px}.location-map h3{font-size:35px}.location-map-footer{padding-inline:24px}.location-map-controls{gap:18px}}
@media(max-width:600px){.location-map{margin-top:34px}.location-map-stage{min-height:490px}.location-map-consent{grid-template-columns:1fr;gap:26px;min-height:490px;padding:27px 24px 30px;align-content:center}.location-map-heading{padding-left:0}.location-map-pin{position:absolute;right:0;left:auto;top:0;width:32px;height:32px}.location-map-heading .eyebrow{max-width:190px;font-size:9px;margin-bottom:13px}.location-map h3{font-size:35px;max-width:310px}.location-map-address{font-size:11px;margin-top:13px!important}.location-map-explanation{font-size:12px;line-height:1.8}.location-map-choices{max-width:none}.location-map-load{width:100%;justify-content:space-between;margin-top:9px}.location-map-privacy{font-size:10px}.location-map-frame iframe{min-height:490px}.location-map-footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:3px;min-height:98px;padding:15px 24px 8px}.location-map-status{font-size:10px}.location-map-controls{width:100%;justify-content:space-between;gap:15px}.location-map-controls a,.location-map-controls button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.location-map button{transition:none!important;transform:none!important}}
@media(max-width:359px){.location-map-status{min-height:4.8em}}
