/* --- Hero (match Services look, less bland) --- */
.page-hero {
  padding: 28px 0 8px; /* same rhythm as Services */
  text-align: left; /* left, not centered */
}

.page-hero h1 {
  font-family: "Cormorant SC", serif;
  font-weight: 600;
  font-size: clamp(36px, 3.2vw, 56px);
  letter-spacing: 1px;
  color: #0b0f19;
  margin: 0 0 10px;
  display: inline-block; /* for the underline */
  position: relative;
}

/* tasteful double-rule underline under the H1 */
.page-hero h1::after {
  content: "";
  display: block;
  width: 240px;
  margin-top: 10px;
  border-top: 4px solid #0f172a; /* thick outer */
  border-bottom: 1px solid #0f172a; /* thin inner */
}

.page-hero .lede {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: clamp(20px, 2vw, 24px);
  color: #1e293b;
  margin: 0; /* left aligned by container */
  max-width: 70ch;
}

/* --- Form card polish --- */
#contact .form {
  margin-top: 20px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 6px 18px rgb(0 0 0 / 0.05);
}

/* "Request a quote" heading inside the card */
#contact .form h2 {
  font-family: "Cormorant SC", serif;
  font-weight: 600;
  font-size: clamp(24px, 2.2vw, 34px);
  margin: 0 0 12px;
}

/* Grid + fields */
.form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 28px; /* ⬅ slightly more breathing room horizontally */
  margin-bottom: 20px; /* ⬅ adds vertical space between rows */
}

.form__field {
  display: grid;
  gap: 6px;
}
label {
  font-weight: 600;
}

input,
textarea {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  font: inherit;
  background: #fff;
  color: inherit;
}
input::placeholder,
textarea::placeholder {
  color: #64748b;
}

input:focus,
textarea:focus {
  border-color: #15803d;
  outline: 3px solid #e0f2fe;
}

/* --- Primary button fix (colour + centering) --- */
.form__actions {
  margin-top: 12px;
  text-align: left;
}
.form__actions .btn.btn--primary {
  background: #064b1f; /* brand green */
  color: #ffffff; /* was dark green – fix to white */
  font-weight: 700;
  border-radius: 10px;
  padding: 12px 18px;
  border: 1px solid #043517;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.form__actions .btn.btn--primary:hover {
  background: #0b5b28;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
}

/* Full-width button on narrow screens */
@media (max-width: 720px) {
  .form__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Notes */
.form__note {
  color: #475569;
  font-size: 0.95rem;
  margin-top: 14px;
}
