/* Contact shares the editorial hero and the site's typography and spacing. */
.contact-details { padding:100px 0 110px; background:#fff; }
.contact-details-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:110px; margin-top:48px; }
.contact-address { font-style:normal; margin:0; }
.contact-address h2 { font-size:40px; line-height:1.15; margin-bottom:24px; }
.contact-call { display:inline-flex; gap:24px; align-items:center; font:400 clamp(34px,3.6vw,52px)/1.3 var(--font-heading); color:var(--ink); text-decoration-thickness:1px; text-underline-offset:10px; white-space:nowrap; }
.contact-postal { margin:40px 0 20px; padding-top:28px; border-top:1px solid #b9a16a66; }
.contact-email { display:inline-block; padding:8px 0; color:var(--ink); overflow-wrap:anywhere; }
.contact-intro-copy { padding-top:4px; }
.contact-intro-copy .lead-copy { color:var(--gold); font-size:28px; line-height:1.45; margin-bottom:28px; }
.contact-intro-copy .editorial-link { margin-top:32px; }
.contact-location { padding:100px 0; }
.contact-location-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:110px; align-items:end; margin:48px 0 64px; }
.contact-location-heading h2 { color:var(--pale-gold); }
.contact-location-heading .body-copy p:last-child { margin-bottom:0; }
.contact-map { position:relative; min-height:480px; overflow:hidden; border:1px solid var(--gold); border-radius:50px 0 0 0; background:#f7f6f2; color:var(--ink); }
.contact-map-placeholder { min-height:480px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 24px; }
.contact-map-pin { color:var(--gold); margin-bottom:20px; }
.contact-map-address { font:var(--weight-heading) 28px/1.3 var(--font-heading); margin-bottom:24px; }
.contact-map-activate { background:var(--ink); color:#fff; border:1px solid var(--ink); min-height:48px; padding:14px 24px; font:400 16px/1.5 var(--font-body); transition:background .2s ease; }
.contact-map-activate:hover { background:var(--link); }
.contact-map-notice { font-size:13px; line-height:1.6; max-width:390px; margin:20px 0 0; }
.contact-map-frame:empty { display:none; }
.contact-map-frame iframe { display:block; width:100%; height:480px; border:0; background:#f7f6f2; }
.contact-map-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; }
.contact-map-footer a,.contact-map-footer button { color:#fff; font-size:14px; line-height:1.6; min-height:44px; display:inline-flex; align-items:center; }
.contact-map-footer button { border:0; padding:8px 0; background:transparent; text-decoration:underline; text-underline-offset:var(--underline-offset); }
.contact-map-placeholder[hidden],.contact-map-activate[hidden] { display:none; }
@media(max-width:991px) {
  .contact-details-grid,.contact-location-heading { gap:48px; }
  .contact-details,.contact-location { padding:80px 0; }
  .contact-call { gap:12px; font-size:36px; }
}
@media(max-width:767px) {
  .contact-details,.contact-location { padding:64px 0; }
  .contact-details-grid,.contact-location-heading { grid-template-columns:minmax(0,1fr); gap:40px; margin-top:32px; }
  .contact-address h2 { font-size:34px; }
  .contact-call { font-size:clamp(30px,8.8vw,40px); gap:16px; }
  .contact-postal { margin-top:32px; }
  .contact-intro-copy .lead-copy { font-size:24px; }
  .contact-location-heading { margin-bottom:40px; }
  .contact-map { min-height:380px; border-radius:36px 0 0 0; }
  .contact-map-placeholder { min-height:380px; padding:32px 20px; }
  .contact-map-frame iframe { height:380px; }
  .contact-map-activate { font-size:15px; padding:12px 18px; }
  .contact-map-footer { align-items:flex-start; flex-direction:column; gap:0; }
}
@media print {
  .contact-details,.contact-location { padding:24px 0; }
  .contact-map,.contact-map-footer { display:none; }
}
