/* The real map forms the entire backdrop; the invitation floats above it. */
#contacts{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:820px;padding:48px max(5.2%,calc((100vw - 1560px)/2)) 64px;background:#dce6d7;color:var(--ink)}
#contacts .contact-map{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-width:none;margin:0;overflow:hidden;border:0;border-radius:0;background:#dce6d7;pointer-events:none}
#contacts .contact-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#dce6d7;pointer-events:none}
#contacts .contact-panel{position:relative;z-index:1;width:100%;max-width:540px;padding:32px;background:rgba(247,249,241,.96);border:1px solid #ffffffb3;border-radius:20px;box-shadow:0 18px 70px #10271f26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#contacts .contact-cta h2{font-size:clamp(36px,3.7vw,54px);line-height:1.08;letter-spacing:-.045em;margin:22px 0 18px;max-width:100%}
#contacts .contact-cta h2>span{display:none}
#contacts .contact-cta p{font-size:14px;line-height:1.7;margin:0 0 22px}
#contacts .contact-cta .button{min-height:54px;padding:17px 22px;font-size:13px;gap:28px;max-width:100%}
#contacts .contact-details{display:block;max-width:none;border-top:1px solid #173c2f26;margin:25px 0 0;padding-top:22px}
#contacts .contact-address .pin{display:none}
#contacts .contact-address h3{font-size:20px;line-height:1.3;margin:0 0 10px}
#contacts .contact-address p{font-size:14px;line-height:1.65;margin:0 0 6px}
#contacts .contact-address .text-button{min-height:44px;display:inline-flex;align-items:center;font-size:12px;max-width:100%;gap:24px}
#contacts .contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:16px 0 0;padding-top:14px;border-top:1px solid #173c2f26}
#contacts .contact-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;max-width:100%;font-size:22px;line-height:1.4;letter-spacing:-.025em}
#contacts .contact-links a+a{font-size:13px;margin:0;letter-spacing:0}
#contacts .contact-links a span{margin-left:0}
#contacts .contact-note{font-size:11px;line-height:1.6;margin:14px 0 0;max-width:330px;opacity:.75}
#contacts .contact-map-open{position:absolute;right:24px;top:24px;z-index:2;display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:11px 17px;border:1px solid #173c2f25;border-radius:999px;background:#f7f9f1ed;box-shadow:0 3px 16px #10271f12;font-size:12px;font-weight:700;line-height:1.4}
#contacts .contact-map-open:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:1100px){
  #contacts{min-height:0;padding:340px 6% 160px}
  #contacts .contact-panel{max-width:560px;margin:0 auto}
  /* Keep the business pin in the exposed upper map and attribution at the bottom. */
  #contacts .contact-map iframe{top:calc(360px - 100%);bottom:auto;height:calc(200% - 360px)}
  #contacts .contact-cta h2{font-size:48px}
}
@media(max-width:560px){
  #contacts{padding:320px 5% 160px}
  #contacts .contact-panel{padding:26px 22px;border-radius:16px}
  #contacts .contact-cta h2{font-size:clamp(31px,9.7vw,44px);line-height:1.1;margin:19px 0 17px}
  #contacts .contact-cta p{font-size:13px;line-height:1.65}
  #contacts .contact-cta p br{display:none}
  #contacts .contact-cta .button{width:100%;justify-content:space-between;font-size:12px;padding:16px 18px;gap:14px}
  #contacts .contact-details{margin-top:23px;padding-top:21px}
  #contacts .contact-address h3{font-size:20px}
  #contacts .contact-address p{font-size:13px}
  #contacts .contact-links a{font-size:21px}
  #contacts .contact-links a+a{font-size:13px}
  #contacts .contact-map-open{top:18px;right:5%;font-size:11px;padding:10px 14px;gap:12px}
}
