/* Contact surface inherits the shared Zargus typography, palette and controls. */
.contacts-page .contacts-section{padding:128px var(--gutter) 80px;min-height:0}
.contacts-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:30px;font-size:15px;color:var(--muted)}
.contacts-breadcrumb a{color:var(--ink)}
.contacts-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:44px}
.contacts-section .contacts-heading h1{font-size:clamp(48px,5vw,72px);font-weight:400;line-height:1.05;letter-spacing:-.025em;margin:0;text-shadow:none}
.contacts-heading .information-lead{max-width:390px;font-size:28px;line-height:1.3;margin:0}
.contacts-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.45fr);overflow:hidden;border-radius:16px;background:var(--ink);color:#fff}
.contacts-details{display:flex;flex-direction:column;gap:28px;padding:40px;min-width:0}
.contacts-details :is(h2,h3){text-shadow:none;font-weight:400}
.contacts-address h2{font-size:clamp(30px,2.55vw,38px);line-height:1.18;letter-spacing:-.02em;max-width:420px}
.contacts-address address{font-style:normal;font-size:18px;color:#ffffffc7;margin-top:12px}
.contacts-hours{border-top:1px solid var(--glass);padding-top:24px}
.contacts-details h3{font-size:16px;color:#ffffffc7;line-height:1.4;margin-bottom:8px}
.contacts-hours p{font-size:21px;line-height:1.5}
.contacts-phones a{display:block;width:fit-content;font-size:clamp(23px,1.9vw,28px);line-height:1.45;white-space:nowrap;font-variant-numeric:tabular-nums}
.contacts-phones a+a{margin-top:4px}
.contacts-phones a:hover{text-decoration:underline;text-underline-offset:6px}
.contacts-section .contacts-call{margin:8px 0 0;align-self:flex-start}
.contacts-details :is(a,button):focus-visible{outline-color:#fff}
.contacts-map{display:flex;flex-direction:column;min-width:0;background:var(--ivory)}
.contacts-map-view{position:relative;flex:1;min-height:425px;isolation:isolate}
.contacts-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--ivory)}
.contacts-map-caption{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:var(--ink)}
.contacts-map-caption p{font-size:18px;line-height:1.3}
.contacts-map-caption a:not(.button){font-size:14px;color:#ffffffc7;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:7px}
.contacts-section .contacts-route{margin:0;flex-shrink:0}
.contacts-map-caption :is(a,button):focus-visible{outline-color:#fff}
.contacts-page .desktop-nav>a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.contacts-page ::selection{background:var(--accent);color:#fff}
@media(max-width:1100px){
  .contacts-layout{grid-template-columns:minmax(320px,.95fr) minmax(0,1.1fr)}
  .contacts-details{padding:32px;gap:24px}
  .contacts-map-caption{align-items:flex-start;flex-direction:column;gap:18px;padding:24px}
  .contacts-map-view{min-height:385px}
}
@media(max-width:767px){
  .contacts-page .contacts-section{padding:108px var(--gutter) 60px}
  .contacts-breadcrumb{margin-bottom:24px}
  .contacts-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:32px}
  .contacts-heading .information-lead{font-size:24px;max-width:370px}
  .contacts-layout{grid-template-columns:1fr}
  .contacts-details{padding:32px;gap:24px}
  .contacts-address h2{font-size:34px;max-width:430px}
  .contacts-map-view{min-height:390px}
  .contacts-map-caption{flex-direction:row;align-items:center;padding:24px 32px}
}
@media(max-width:600px){
  .contacts-page .contacts-section{padding-top:102px;padding-bottom:48px}
  .contacts-heading{margin-bottom:28px;gap:18px}
  .contacts-section .contacts-heading h1{font-size:48px}
  .contacts-heading .information-lead{font-size:23px}
  .contacts-details{padding:28px 24px}
  .contacts-address h2{font-size:30px}
  .contacts-hours p{font-size:19px}
  .contacts-phones a{font-size:24px}
  .contacts-map-view{min-height:360px}
  .contacts-map-caption{padding:24px;align-items:flex-start;flex-direction:column;gap:20px}
  .contacts-route{width:100%;justify-content:space-between}
}
@media(max-width:360px){
  .contacts-details,.contacts-map-caption{padding:24px 20px}
  .contacts-address h2{font-size:27px}
  .contacts-phones a{font-size:22px}
  .contacts-map-view{min-height:320px}
}
