.contact-location{position:relative;isolation:isolate;padding:clamp(32px,4.5vw,70px) 5.5%;background:linear-gradient(135deg,#fff,#f6fcfa);color:#082e5e}
.location-ribbon{position:absolute;top:0;right:0;width:40%;height:210px;z-index:-1;pointer-events:none}
.contact-location .eyebrow{font-size:clamp(12px,1.15vw,17px);font-weight:700;letter-spacing:.2em;margin:0 0 16px;color:#008f83}
.contact-location h2{font:700 clamp(32px,4.5vw,64px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:0 0 14px}
.location-intro{font-size:clamp(17px,1.85vw,26px);line-height:1.45;margin:0 0 28px}
.location-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.9fr);border-radius:20px;border:1px solid #d0ebe5;min-width:0}
.location-details{position:relative;isolation:isolate;overflow:clip;border-radius:19px 0 0 19px;padding:clamp(28px,3vw,44px);color:#fff;background:linear-gradient(130deg,#10364d,#143d58);min-width:0}
.location-details>svg{width:48px;height:56px;stroke:white;fill:none;stroke-width:2.1;margin-bottom:10px}
.location-details h3{font:700 clamp(34px,3.5vw,52px)/1.1 Georgia,'Times New Roman',serif;margin:0 0 22px;letter-spacing:-.025em}
.location-details h3 span{display:block;font-size:clamp(21px,1.8vw,28px);line-height:1.25;margin-top:4px}
.location-details address{font-style:normal;font-size:clamp(16px,1.25vw,20px);line-height:1.5}
.location-address{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid #ffffff38;margin-bottom:16px}
.location-contact-links{display:grid;gap:4px;margin-bottom:22px}
.location-contact-links a{display:flex;align-items:center;gap:16px;min-height:44px;text-decoration:none;overflow-wrap:anywhere}
.location-contact-links a:hover{text-decoration:underline;text-underline-offset:4px}
.location-contact-links a span{min-width:0}
.location-address svg,.location-contact-links svg{flex:none;stroke:currentColor;fill:none;stroke-width:1.8;width:26px;height:28px}
.location-route{font-size:17px;padding:16px 24px;min-height:48px;gap:18px;border-radius:11px;max-width:100%}
.location-panel-wave{position:absolute;bottom:0;left:0;width:100%;height:130px;z-index:-1;pointer-events:none}
.location-map{position:relative;min-width:0;min-height:440px;background:#d3ebe2;border-radius:0 19px 19px 0;overflow:clip}
.location-preview{position:absolute;inset:0;overflow:clip}
.location-map-art{width:100%;height:100%;display:block;transform-origin:center;transition:transform .2s ease}
.location-marker{position:absolute;left:50%;top:40%;transform:translate(-50%,-10%);display:flex;flex-direction:column;align-items:center;gap:6px}
.location-marker svg{width:60px;height:80px;filter:drop-shadow(0 3px 4px #082e5e16)}
.location-marker span{padding:8px 16px;border-radius:999px;background:white;font:700 17px/1.3 Georgia,serif;white-space:nowrap;box-shadow:0 2px 10px #082e5e0a}
.location-map-caption{position:absolute;bottom:92px;right:16px;background:#ffffffc9;border-radius:999px;padding:7px 12px;font-size:12px}
.location-zoom{position:absolute;top:24px;right:24px;display:grid;gap:8px}
.location-zoom button{width:44px;height:44px;border:0;border-radius:50%;background:white;color:#082e5e;font-size:30px;line-height:1;box-shadow:0 2px 12px #082e5e15;cursor:pointer}
.location-zoom button:disabled{opacity:.5;cursor:default}
.location-map-toolbar{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:#eff9f6f5;display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;border-top:1px solid #cce8df;z-index:2}
.location-load-map{min-height:44px;border:1px solid #008f83;border-radius:8px;padding:9px 14px;background:#fff;color:#006d65;font-size:15px;font-weight:600;cursor:pointer}
.location-map-toolbar p{flex:1;min-width:140px;font-size:12px;margin:0;line-height:1.4}
.location-map-frame{position:absolute;inset:0 0 82px}
.location-map-frame[hidden],.location-preview[hidden],.location-zoom[hidden]{display:none}
.location-map-frame iframe{width:100%;height:100%;display:block;border:0}
.location-noscript{position:absolute;bottom:88px;left:16px;right:16px;font-size:14px;background:#fff;padding:10px;border-radius:8px}
.location-area-strip{display:flex;align-items:center;gap:18px;padding:18px 24px;margin-top:16px;border-radius:16px;background:#e6f5f1}
.location-area-strip svg{flex:none;width:30px;height:36px;fill:none;stroke:#082e5e;stroke-width:2}
.location-area-strip p{flex:1;font-size:clamp(16px,1.5vw,22px);line-height:1.4;margin:0;min-width:0}
.location-area-strip a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:17px;font-weight:700;text-decoration:none;white-space:normal}
.location-area-strip a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-location :is(button,a):focus-visible{outline:3px solid #159fea;outline-offset:4px}
.location-route:hover{background:#00766d}
@media(max-width:1024px){.location-card{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.location-details{padding:26px}.location-details address{font-size:16px}.location-contact-links a{gap:10px}.location-map{min-height:480px}.location-area-strip{flex-wrap:wrap}.location-area-strip a{margin-left:48px}.location-map-frame{bottom:106px}}
@media(max-width:767px){.contact-location{padding:36px 24px}.location-card{grid-template-columns:minmax(0,1fr)}.location-details{border-radius:19px 19px 0 0}.location-map{min-height:400px;border-radius:0 0 19px 19px}.location-area-strip{padding:18px;gap:14px}.location-area-strip p{flex-basis:calc(100% - 50px)}.location-area-strip a{margin-left:44px;font-size:16px}.location-ribbon{width:70%;height:140px}.location-map-caption{bottom:112px}.location-zoom{top:16px;right:16px}.location-map-toolbar{flex-direction:column;align-items:flex-start}.location-map-toolbar p{min-width:0;flex:auto}.location-load-map{max-width:100%;font-size:14px}.location-map-frame{bottom:100px}}
@media(prefers-reduced-motion:reduce){.location-map-art{transition:none}}

.location-map-frame{bottom:var(--map-toolbar-height,112px)}
