.contact-form-section{
  padding-top:95px;
}

.contact-form-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:end;
  margin-bottom:55px;
}

.contact-form-head h2{
  font-size:56px;
}

.contact-form-head>p{
  color:#64717d;
  font-size:18px;
  line-height:1.7;
}

.business-form{
  padding:34px;
  border:1px solid #dfe7e4;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f7fbf9);
  box-shadow:0 24px 70px #17352f10;
}

.form-reassurance{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:-22px 0 28px;
}

.form-reassurance article{
  padding:22px;
  border:1px solid #dfe7e4;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 40px #17352f0a;
}

.form-reassurance b{
  display:block;
  color:#102239;
  font:800 15px/1.25 "Manrope",sans-serif;
  letter-spacing:-.02em;
}

.form-reassurance p{
  margin:10px 0 0;
  color:#64717d;
  font-size:13px;
  line-height:1.6;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.business-form label,
.message-field{
  display:flex;
  flex-direction:column;
  gap:9px;
  color:#102239;
  font-size:12px;
  font-weight:800;
}

.business-form input,
.business-form select,
.business-form textarea{
  width:100%;
  border:1px solid #d9e4e0;
  border-radius:11px;
  background:#fff;
  color:#102239;
  font:500 15px "DM Sans";
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}

.business-form input,
.business-form select{
  min-height:52px;
  padding:0 15px;
}

.business-form textarea{
  resize:vertical;
  padding:15px;
  line-height:1.55;
}

.business-form input:focus,
.business-form select:focus,
.business-form textarea:focus{
  border-color:#59c5ad;
  box-shadow:0 0 0 4px #59c5ad1d;
}

.product-interest{
  margin:24px 0;
  padding:24px;
  border:1px solid #dfe7e4;
  border-radius:16px;
  background:#fff;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}

.product-interest legend{
  padding:0 10px;
  color:#102239;
  font:800 12px "DM Sans";
}

.product-interest label{
  cursor:pointer;
  min-height:58px;
  padding:13px;
  border:1px solid #e2eae7;
  border-radius:12px;
  background:#f8fbfa;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  transition:.2s;
}

.product-interest label:hover{
  border-color:#59c5ad;
  background:#eff9f6;
}

.product-interest input{
  width:16px;
  min-height:auto;
  accent-color:#59c5ad;
}

.product-interest span{
  font-size:12px;
}

.form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  margin-top:24px;
}

.form-footer p{
  max-width:560px;
  margin:0;
  color:#64717d;
  font-size:13px;
  line-height:1.55;
}

.contact-panel .contact-line:not(a){
  color:#fff;
}

.office-map{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:50px;
  align-items:center;
  padding-block:20px 110px;
}

.office-map-copy{
  padding:34px;
  border:1px solid #dfe7e4;
  border-radius:18px;
  background:#f7fbf9;
}

.office-map-copy h2{
  font-size:44px;
  margin-bottom:16px;
}

.office-map-copy p{
  color:#64717d;
  line-height:1.65;
  margin-bottom:26px;
}

.map-frame{
  min-height:430px;
  border:1px solid #dfe7e4;
  border-radius:22px;
  overflow:hidden;
  background:#edf4f1;
  box-shadow:0 24px 70px #17352f12;
}

.map-frame iframe{
  width:100%;
  height:430px;
  display:block;
  border:0;
  filter:saturate(.95) contrast(.98);
}

@media(max-width:900px){
  .contact-form-head,
  .office-map,
  .form-grid,
  .form-reassurance{
    grid-template-columns:1fr;
  }

  .contact-form-head{
    gap:20px;
  }

  .product-interest{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .business-form{
    padding:22px;
  }

  .contact-form-head h2{
    font-size:43px;
  }

  .product-interest{
    grid-template-columns:1fr;
    padding:18px;
  }

  .form-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .office-map{
    padding-block:0 80px;
  }

  .office-map-copy{
    padding:24px;
  }

  .office-map-copy h2{
    font-size:38px;
  }

  .map-frame,
  .map-frame iframe{
    height:340px;
    min-height:340px;
  }
}
