.contact-layout{grid-template-columns:minmax(0,1fr)}
.contact-map-card{width:min(1300px,calc(100% - 48px));margin:0 auto 72px;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);border:1px solid #d7ddd0;border-radius:24px;overflow:hidden;background:#f8f7f2;box-shadow:0 16px 48px #2a372315}
.contact-map-copy{min-width:0;padding:clamp(24px,4vw,48px);align-self:center}
.contact-map-copy h2{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.15;margin:12px 0 20px;overflow-wrap:anywhere}
.contact-map-copy p,.contact-map-copy address{font-size:1rem;line-height:1.65;margin:0 0 18px;overflow-wrap:anywhere}
.contact-map-copy address{font-style:normal;font-weight:600}
.contact-map-copy .button{white-space:normal;min-height:48px;background:#2a3723;color:#fff;padding:14px 20px;border-radius:12px;text-align:center;line-height:1.5}
.contact-map-copy small{display:block;font-size:.8rem;line-height:1.5;margin-top:12px;color:#59624f}
.contact-map-frame{position:relative;min-width:0;min-height:460px;background:#e8e5dd}
.contact-map-frame iframe{display:block;border:0;width:100%;height:100%;min-height:460px;position:absolute;inset:0}
.contact-map-hint{position:absolute;bottom:16px;left:16px;right:16px;border-radius:10px;background:#fffffff0;color:#293723;padding:10px 14px;font-size:.8rem;text-align:center;pointer-events:none}
.contact-map-copy a:focus-visible{outline:3px solid #9b7848;outline-offset:4px}
@media(max-width:760px){.contact-map-card{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);margin-bottom:48px;border-radius:18px}.contact-map-copy{padding:24px}.contact-map-frame,.contact-map-frame iframe{min-height:340px}.contact-map-copy .button{width:100%}}
@media(prefers-reduced-motion:no-preference){.contact-map-copy .button{transition:background .2s}.contact-map-copy .button:hover{background:#415737}}
