.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.form-success {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px 16px;
  background: #e8f1e9;
  color: #1c4b2b;
  font-size: 14px;
  font-weight: 600;
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
  gap: clamp(50px, 8vw, 110px);
  align-items: start;
  text-align: left;
}

.contact-section .contact-email,
.contact-section .listing-appointment {
  margin-left: 0;
}

.cta-contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: clamp(26px, 4vw, 44px);
  background: #fff;
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(13, 24, 17, .14);
}

.cta-contact-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cta-contact-form label span { color: #9a6f27; }
.cta-contact-form .full,
.cta-contact-form button,
.cta-contact-form .form-privacy,
.cta-contact-form .form-success { grid-column: 1 / -1; }

.cta-contact-form input,
.cta-contact-form select,
.cta-contact-form textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid rgba(22, 32, 25, .25);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.cta-contact-form textarea {
  min-height: 125px;
  resize: vertical;
}

.cta-contact-form .form-privacy {
  margin: 0;
  color: #6b716d;
  font-size: 12px;
}

.social-links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.social-links a {
  border-bottom: 1px solid rgba(199, 166, 106, .6);
}

@media (max-width: 900px) {
  .contact-section { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .cta-contact-form { grid-template-columns: 1fr; }
  .cta-contact-form .full,
  .cta-contact-form button,
  .cta-contact-form .form-privacy,
  .cta-contact-form .form-success { grid-column: auto; }
}
