.contacts-body{
  --contacts-accent:#168bd2;
  --contacts-accent-deep:#116f9f;
  --contacts-ink:#111a21;
  --contacts-muted:#687781;
  --contacts-line:#dbe3e7;
  background:#eef3f5
}

.contacts-body .info-page--contacts{padding-bottom:72px}
.contacts-body .info-page--contacts>.breadcrumbs{margin-bottom:16px}

.contacts-body .contacts-overview{
  min-height:0;
  padding:32px 34px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,rgba(22,139,210,.28),transparent 44%),
    #111a21;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:36px;
  box-shadow:0 20px 55px rgba(23,43,55,.08)
}
.contacts-body .contacts-overview__main{
  max-width:700px;
  padding:0;
  background:none;
  display:block
}
.contacts-body .contacts-overview .eyebrow,
.contacts-body .contacts-location__panel .eyebrow,
.contacts-body .contacts-appointment .eyebrow{
  margin:0;
  color:#8bd2f5;
  font-size:11px;
  font-weight:650;
  line-height:16px;
  letter-spacing:.11em;
  text-transform:uppercase
}
.contacts-body .contacts-overview h1{
  margin:7px 0 10px;
  color:#fff;
  font-size:clamp(34px,3vw,42px);
  font-weight:650;
  line-height:1.06;
  letter-spacing:-.045em
}
.contacts-body .contacts-overview .lead{
  max-width:650px;
  margin:0;
  color:#c5d1d7;
  font-size:15px;
  line-height:23px
}
.contacts-body .contacts-overview__actions{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px
}
.contacts-body .contacts-overview__actions .button{
  min-width:0;
  min-height:46px;
  padding:0 20px;
  border-radius:11px;
  font-size:13px
}
.contacts-body .contacts-button--light{border:1px solid #fff;background:#fff;color:#152029}
.contacts-body .contacts-button--outline{border:1px solid rgba(255,255,255,.38);background:rgba(12,20,25,.28);color:#fff;backdrop-filter:blur(10px)}

.contacts-body .contacts-location{
  min-height:450px;
  margin-top:16px;
  border:1px solid var(--contacts-line);
  border-radius:20px;
  background:#fff;
  grid-template-columns:minmax(0,1fr) 390px;
  box-shadow:0 20px 55px rgba(23,43,55,.06)
}
.contacts-body .contacts-location__map{
  min-width:0;
  min-height:450px;
  position:relative;
  order:initial
}
.contacts-body .contacts-location__map::after{border-color:rgba(255,255,255,.2)}
.contacts-body .contacts-location__panel{
  min-width:0;
  padding:30px;
  order:initial;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.contacts-body .contacts-location__panel .eyebrow{color:var(--contacts-accent-deep)}
.contacts-body .contacts-location__panel h2{
  margin:7px 0 5px;
  color:var(--contacts-ink);
  font-size:29px;
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.04em
}
.contacts-body .contacts-location__panel>p:not(.eyebrow){margin:0;color:var(--contacts-muted);font-size:14px;line-height:21px}
.contacts-body .contacts-location__details{
  margin:24px 0 20px;
  padding:0;
  border-top:1px solid #e2e7ea
}
.contacts-body .contacts-location__details>div{
  min-width:0;
  padding:14px 0;
  border-bottom:1px solid #e2e7ea;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:16px
}
.contacts-body .contacts-location__details dt{color:#78858d;font-size:11px;line-height:18px}
.contacts-body .contacts-location__details dd{min-width:0;margin:0;display:grid;gap:2px}
.contacts-body .contacts-location__details dd>a,
.contacts-body .contacts-location__details dd>b,
.contacts-body .contacts-location__details dd>button{
  width:max-content;
  max-width:100%;
  padding:0;
  border:0;
  background:none;
  color:#25343d;
  font-family:var(--display);
  font-size:14px;
  font-weight:650;
  line-height:20px;
  text-align:left
}
.contacts-body .contacts-location__details dd small{color:#7b8790;font-size:11px;line-height:17px}
.contacts-body .contacts-location__panel .button{
  width:100%;
  min-height:46px;
  margin:0;
  border-radius:11px;
  font-size:13px
}

.contacts-body .contacts-appointment{
  margin-top:16px;
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,rgba(22,139,210,.3),transparent 42%),
    #111a21;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px
}
.contacts-body .contacts-appointment>div{max-width:760px}
.contacts-body .contacts-appointment h2{
  margin:7px 0 7px;
  color:#fff;
  font-size:26px;
  font-weight:650;
  line-height:1.14;
  letter-spacing:-.035em
}
.contacts-body .contacts-appointment p:not(.eyebrow){margin:0;color:#c5d1d7;font-size:14px;line-height:21px}
.contacts-body .contacts-appointment .button{
  min-width:220px;
  min-height:46px;
  border:1px solid #fff;
  border-radius:11px;
  background:#fff;
  color:#152029;
  font-size:13px
}

@media (hover:hover){
  .contacts-body .contacts-button--light:hover,
  .contacts-body .contacts-appointment .button:hover{border-color:#eaf5fa;background:#eaf5fa;color:#111a21}
  .contacts-body .contacts-button--outline:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);color:#fff}
  .contacts-body .contacts-location__details a:hover,
  .contacts-body .contacts-location__details button:hover{color:var(--contacts-accent-deep)}
}

@media (max-width:1000px){
  .contacts-body .contacts-overview{grid-template-columns:1fr;gap:22px}
  .contacts-body .contacts-overview__actions{justify-content:flex-start}
}

@media (max-width:900px){
  .contacts-body .info-page--contacts{padding-bottom:64px}
  .contacts-body .contacts-location{grid-template-columns:1fr}
  .contacts-body .contacts-location__panel{padding:28px;order:1}
  .contacts-body .contacts-location__map{min-height:330px;order:2}
  .contacts-body .contacts-location__panel .button{max-width:300px}
}

@media (max-width:600px){
  .contacts-body .info-page--contacts{padding-bottom:48px}
  .contacts-body .info-page--contacts>.breadcrumbs{margin-bottom:12px}
  .contacts-body .contacts-overview{
    min-height:0;
    padding:22px 20px;
    border-radius:16px;
    grid-template-columns:1fr;
    gap:20px
  }
  .contacts-body .contacts-overview h1{margin-top:6px;font-size:29px;line-height:1.08}
  .contacts-body .contacts-overview .lead{font-size:14px;line-height:20px}
  .contacts-body .contacts-overview__actions{display:grid;grid-template-columns:1fr;gap:8px}
  .contacts-body .contacts-overview__actions .button{width:100%;min-height:44px;padding:0 12px}

  .contacts-body .contacts-location{min-height:0;margin-top:12px;border-radius:16px;grid-template-columns:1fr}
  .contacts-body .contacts-location__panel{padding:22px 20px;order:1}
  .contacts-body .contacts-location__panel h2{font-size:25px;line-height:1.14}
  .contacts-body .contacts-location__details{margin:20px 0 18px}
  .contacts-body .contacts-location__details>div{padding:13px 0;grid-template-columns:88px minmax(0,1fr);gap:10px}
  .contacts-body .contacts-location__details dd>a,
  .contacts-body .contacts-location__details dd>b,
  .contacts-body .contacts-location__details dd>button{font-size:13px;line-height:19px}
  .contacts-body .contacts-location__panel .button{max-width:none;min-height:44px}
  .contacts-body .contacts-location__map{min-height:0;order:2}
  .contacts-body .contacts-location__map .company-location__canvas{height:300px}
  .contacts-body .contacts-location__map iframe{pointer-events:none}
  .contacts-body .contacts-location__map.is-interactive iframe{pointer-events:auto}

  .contacts-body .contacts-appointment{
    margin-top:12px;
    padding:22px 20px;
    border-radius:16px;
    grid-template-columns:1fr;
    gap:18px
  }
  .contacts-body .contacts-appointment h2{font-size:22px;line-height:1.17}
  .contacts-body .contacts-appointment p:not(.eyebrow){font-size:13px;line-height:20px}
  .contacts-body .contacts-appointment .button{width:100%;min-width:0;min-height:44px}
}

@media (max-width:350px){
  .contacts-body .contacts-overview h1{font-size:27px}
  .contacts-body .contacts-location__details>div{grid-template-columns:1fr;gap:3px}
}

@media (prefers-reduced-motion:reduce){
  .contacts-body .contacts-button--light,
  .contacts-body .contacts-button--outline,
  .contacts-body .contacts-appointment .button{transition:none}
}
