.contact {
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.contact .eyebrow { grid-column: auto; margin-bottom: 18px; }
.contact h2 { margin-bottom: 20px; }
.contact-copy > p:not(.eyebrow) { color: #d9f0fc; font-size: 1.05rem; max-width: 580px; }
.phone { margin-top: 30px; }
.quote-form {
  background: #fff;
  color: var(--ink);
  padding: 30px;
  display: grid;
  gap: 18px;
  border-radius: 4px;
  box-shadow: 0 18px 45px #04395755;
}
.quote-form label { font-size: .88rem; font-weight: 800; display: grid; gap: 7px; }
.quote-form input, .quote-form select, .quote-form textarea {
  width: 100%;
  font: inherit;
  font-size: 1rem;
  color: var(--ink);
  background: #f8fafb;
  border: 1px solid #c9d6de;
  border-radius: 3px;
  padding: 12px;
}
.quote-form textarea { resize: vertical; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus {
  outline: 3px solid #8ed8ff;
  outline-offset: 1px;
  border-color: #0877ba;
}
.quote-form .button { background: var(--blue); color: #fff; width: 100%; border: 0; cursor: pointer; }
.form-note { font-size: .78rem; color: var(--muted); margin: 0; line-height: 1.4; }
@media (max-width: 900px) { .contact { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .quote-form { padding: 22px; } .phone { text-align: left; } }
