.contact-section{padding-top:76px;}
.contact-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:start;}

.contact-form{background:var(--white); border:1px solid var(--line); border-radius:16px; padding:44px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.field{margin-bottom:20px;}
.field label{display:block; font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:8px; letter-spacing:0.2px;}
.field input, .field textarea{
  width:100%; border:1.5px solid var(--line); border-radius:8px; padding:13px 15px;
  font-family:'Lato',sans-serif; font-size:14.5px; color:var(--ink); background:var(--paper);
}
.field textarea{min-height:110px; resize:none; line-height:1.5;}
.field input::placeholder, .field textarea::placeholder{color:#9AA6A1;}
.form-note{font-size:12.5px; color:var(--gray); margin-top:14px; text-align:center; font-style:italic;}

.contact-side{display:flex; flex-direction:column; gap:24px;}
.contact-info-card{background:var(--green-dark); border-radius:16px; padding:36px;}
.contact-info-card h4{color:var(--white); font-size:17px; margin-bottom:22px;}
.ci-row{display:flex; align-items:flex-start; gap:14px; margin-bottom:18px;}
.ci-row:last-child{margin-bottom:0;}
.ci-row img{width:20px; height:20px; margin-top:2px; flex:none;}
.ci-row span{color:var(--green-tint2); font-size:14px; line-height:1.5;}

.next-steps-card{background:var(--green-tint); border:1px solid var(--green-tint2); border-radius:16px; padding:36px;}
.next-steps-card h4{font-size:17px; margin-bottom:22px; color:var(--ink);}
.ns-item{display:flex; gap:16px; margin-bottom:20px;}
.ns-item:last-child{margin-bottom:0;}
.ns-num{
  flex:none; width:30px; height:30px; border-radius:50%; background:var(--green);
  color:var(--white); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center;
}
.ns-item b{font-size:14.5px; color:var(--ink); display:block; margin-bottom:3px;}
.ns-item p{font-size:13px; line-height:1.5;}

@media (max-width:600px){
  .contact-grid{grid-template-columns:1fr; gap:32px;}
  .form-row{grid-template-columns:1fr;}
  .contact-form{padding:28px;}
}

/* JS-driven confirmation state, shown after a successful client-side submit */
.form-confirmation{
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:44px;
  text-align:center;
}
.form-confirmation h3{font-size:22px; color:var(--green-dark); margin-bottom:10px;}
.form-confirmation p{font-size:14.5px; color:var(--gray); max-width:440px; margin:0 auto; line-height:1.6;}
