:root{
  --form-bg:#233960; --form-text:#fff;
  --btn:#e46b3a; --btnh:#c75a2f;
}

/* GRID BELOW HERO (no negative margin now) */
.grid.has-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 460px;
  gap:3rem;
  align-items:start;
  max-width:1200px;
  margin:0 auto 4rem;         /* ← text starts under hero */
  padding:0 2rem;
}

.text-column{max-width:720px; padding-top:1rem;} /* small buffer */

/* FORM CARD (only the form overlaps the hero) */
.form-column{
  justify-self:end;
  width:460px;
  background:var(--form-bg);
  color:var(--form-text);
  padding:2rem;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  position:relative;
  z-index:5;
  transform:translateY(-180px);   /* ← pull the form up */
}

.form-column form label{display:block;font-weight:600;font-size:.95rem;margin:.25rem 0}
.form-column form input,
.form-column form select,
.form-column form textarea{
  width:100%; padding:.65rem; margin:0 0 1rem 0;
  border:none; border-radius:4px; font-size:1rem;
}
.form-column form input[type=submit]{
  width:100%; background:var(--btn); color:#fff; border:0;
  padding:.85rem 1.1rem; border-radius:4px; font-weight:700; cursor:pointer;
}
.form-column form input[type=submit]:hover{background:var(--btnh)}

footer{margin-top:5rem}

/* Mobile */
@media(max-width:72rem){
  .grid.has-form{grid-template-columns:1fr; margin:2rem auto}
  .form-column{justify-self:center; width:100%; max-width:520px; transform:none}
}
