.contact-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:64px;
}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:48px;}}

.contact-info{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.info-card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:22px 24px;
  border:1px solid var(--grey-900);
  border-radius:12px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.info-card:not(.no-hover):hover{border-color:var(--grey-600);background:var(--grey-900);}
.info-icon{font-size:22px;line-height:1;margin-top:2px;}
.info-icon-img{display:inline-flex;align-items:flex-start;}
.info-icon-img img{display:block;filter:brightness(0) invert(1);opacity:.92;}
.info-card h4{
  font-family:var(--display);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--grey-400);
  margin-bottom:6px;
}
.info-card p{font-size:16px;line-height:1.5;}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.contact-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.contact-form label span{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--grey-400);
  font-weight:600;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  font-family:var(--body);
  font-size:15px;
  color:var(--white);
  background:var(--grey-900);
  border:1px solid var(--grey-600);
  border-radius:8px;
  padding:14px 16px;
  resize:vertical;
}
.contact-form select{appearance:none;cursor:pointer;}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--white);
}
.contact-form button{
  align-self:flex-start;
  margin-top:6px;
}
.form-note{
  font-size:13px;
  color:var(--grey-400);
  min-height:18px;
}

.map-section{
  height:440px;
  border-top:1px solid var(--grey-900);
  filter:grayscale(1) contrast(1.1) brightness(.85);
}
