.contact-page{
  background:linear-gradient(110deg,#eaf8ff 0%,#f4fbff 44%,#fff 100%);
  padding:78px 0 86px;
}
.contact-hero{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 340px;
  gap:46px;
  align-items:center;
  min-height:292px;
  margin-bottom:42px;
}
.contact-kicker{
  margin:0 0 18px;
  color:var(--blue);
  font-size:15px;
  font-weight:850;
  text-transform:uppercase;
}
.contact-hero h1{
  margin:0;
  color:var(--navy);
  font:700 clamp(44px,4.1vw,60px)/1.03 var(--font-display);
}
.contact-lead{
  max-width:465px;
  margin:22px 0 0;
  color:#1f2b42;
  font-size:16px;
  line-height:1.85;
  font-weight:650;
}
.contact-visual{
  justify-self:end;
  width:320px;
  height:280px;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
.contact-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.contact-layout{
  display:grid;
  grid-template-columns:380px minmax(520px,1fr);
  gap:24px;
  align-items:start;
}
.contact-info{
  display:grid;
  gap:26px;
}
.contact-card{
  display:grid;
  grid-template-columns:62px 1fr;
  align-items:center;
  gap:18px;
  min-height:130px;
  padding:28px 27px;
  border:1px solid rgba(196,213,229,.82);
  border-radius:9px;
  background:#fff;
  box-shadow:0 7px 18px rgba(15,53,90,.035);
}
.contact-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  color:var(--blue);
}
.contact-icon svg{
  width:44px;
  height:44px;
}
.contact-card h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:15px;
  font-weight:850;
}
.contact-card p{
  margin:0;
  color:#172541;
  font-size:15px;
  line-height:1.7;
  font-weight:650;
}
.contact-card p + p{
  margin-top:16px;
}
.contact-form{
  padding:42px;
  border:1px solid rgba(196,213,229,.82);
  border-radius:9px;
  background:#fff;
  box-shadow:0 10px 24px rgba(23,59,96,.055);
}
.field{
  margin-bottom:25px;
}
.field label{
  display:block;
  margin-bottom:10px;
  color:#697386;
  font-size:14px;
  font-weight:750;
}
.field input,.field textarea{
  width:100%;
  min-height:58px;
  padding:13px 16px;
  border:1px solid #cbd9e8;
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.field textarea{
  min-height:205px;
  resize:vertical;
}
.contact-form .btn{
  width:100%;
  min-height:64px;
  border:0;
  border-radius:6px;
  justify-content:center;
}
.contact-form .btn svg{
  width:21px;
  height:21px;
}
.contact-form .wpforms-container{
  margin:0;
}
.contact-form .wpforms-field{
  padding:0;
  margin-bottom:27px;
}
.contact-form .wpforms-field-label{
  display:block;
  margin-bottom:10px;
  color:#697386;
  font-size:14px;
  font-weight:750;
}
.contact-form div.wpforms-container-full input[type=text],
.contact-form div.wpforms-container-full input[type=email],
.contact-form div.wpforms-container-full textarea{
  width:100%;
  max-width:100%;
  min-height:58px;
  padding:13px 16px;
  border:1px solid #cbd9e8;
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  box-shadow:none;
}
.contact-form div.wpforms-container-full textarea{
  min-height:220px;
  resize:vertical;
}
.contact-form div.wpforms-container-full button[type=submit],
.contact-form div.wpforms-container-full .wpforms-submit{
  width:100%;
  min-height:64px;
  border:0;
  border-radius:6px;
  color:#fff;
  background:var(--blue);
  font-size:15px;
  font-weight:850;
  box-shadow:0 7px 18px rgba(7,95,202,.16);
}
.contact-form div.wpforms-container-full .wpforms-submit:hover,
.contact-form div.wpforms-container-full .wpforms-submit:focus{
  background:var(--blue-dark);
}
.contact-form .wpforms-confirmation-container-full{
  margin:0;
  border:1px solid #cbd9e8;
  border-radius:6px;
  background:#eef9ff;
  color:var(--navy);
  font-weight:700;
}
@media(max-width:900px){
  .contact-hero{grid-template-columns:minmax(300px,1fr) 260px;gap:24px}
  .contact-visual{width:250px;height:245px}
  .contact-layout{grid-template-columns:320px minmax(360px,1fr)}
}
@media(max-width:760px){
  .contact-page{padding:46px 0 60px}
  .contact-hero{grid-template-columns:1fr;min-height:0;margin-bottom:34px}
  .contact-visual{justify-self:center;height:250px}
  .contact-layout{grid-template-columns:1fr}
  .contact-layout{gap:20px}
  .contact-form{padding:26px}
  .contact-card{grid-template-columns:52px 1fr;padding:24px 20px}
  .contact-icon{width:42px;height:42px}
  .contact-icon svg{width:36px;height:36px}
}
