.contact-hero{
  position:relative;
  background:radial-gradient(140% 130% at 18% 0%, var(--navy-mid) 0%, var(--navy) 42%, var(--navy-deep) 100%);
  color:var(--white);
  padding:90px 0 96px;
}
.contact-hero-inner{max-width:760px;}
.contact-hero h1{
  margin-top:16px;
  font-size:clamp(30px, 4vw, 46px);
  font-weight:600;
  line-height:1.16;
  color:var(--white);
}
.contact-hero .lede{
  margin-top:20px;
  font-size:17px;
  color:#D7DEEC;
  max-width:60ch;
}

.contact-info{padding:64px 0 20px; background:var(--white);}
.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  margin-top:-56px;
}
.info-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:8px;
  padding:26px 22px;
  box-shadow:0 20px 40px -24px rgba(16,31,59,0.18);
}
.info-icon{
  width:42px; height:42px;
  border-radius:50%;
  background:#E7EEF7;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.info-card h3{
  font-size:15.5px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:6px;
}
.info-card p{
  font-size:14.5px;
  color:var(--ink-soft);
}
.info-card p a{color:var(--navy); font-weight:600;}
.info-card p a:hover{color:var(--navy-mid);}

/* ---------- CONTACT FORM ---------- */
.contact-form-section{padding:100px 0; background:var(--cream);}
.contact-form-grid{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:64px;
  align-items:start;
}
.contact-form-text h2{
  margin-top:10px;
  font-size:clamp(26px,3vw,34px);
  font-weight:600;
  color:var(--navy-deep);
  line-height:1.22;
}
.contact-form-text p{
  margin-top:16px;
  font-size:16px;
  color:var(--ink-soft);
  max-width:42ch;
}

.contact-form{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:40px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.form-row{display:flex; flex-direction:column; gap:8px;}
.form-row label{font-size:13.5px; font-weight:700; color:var(--ink);}
.form-row input,
.form-row select,
.form-row textarea{
  font-family:inherit;
  font-size:15px;
  color:var(--ink);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:6px;
  padding:12px 14px;
  outline:none;
  transition:border-color 0.2s;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{border-color:var(--navy);}
.form-row textarea{resize:vertical;}
.contact-form .btn-navy{
  margin-top:6px;
  border:none;
  width:fit-content;
}
.form-note{
  font-size:13.5px;
  color:var(--ink-soft);
  min-height:18px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  .contact-info-grid{grid-template-columns:1fr 1fr; margin-top:0;}
  .contact-form-grid{grid-template-columns:1fr; gap:40px;}
}
@media (max-width: 560px){
  .contact-info-grid{grid-template-columns:1fr;}
  .contact-form{padding:28px;}
}