.contact-section {
  background: #294a3a;
  color: #f4eee3;
  display: grid;
  gap: clamp(42px, 7vw, 96px);
  grid-template-columns: .85fr 1.15fr;
  padding: clamp(72px, 9vw, 130px) clamp(24px, 7vw, 110px);
}

.contact-copy .section-kicker { color: #e7754b; }
.contact-copy h2 { font: 400 clamp(48px, 6vw, 88px)/.95 Georgia, serif; margin: 24px 0 28px; }
.contact-copy h2 em { color: #efa58a; }
.contact-copy > p { color: #c9d0ca; line-height: 1.8; max-width: 520px; }
.contact-details { border-top: 1px solid #ffffff30; margin-top: 38px; }
.contact-details div { border-bottom: 1px solid #ffffff30; display: grid; gap: 12px; grid-template-columns: 120px 1fr; padding: 16px 0; }
.contact-details dt { color: #ffffff80; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.contact-details dd { font: 400 16px Georgia, serif; margin: 0; }
.contact-details a { color: #f4eee3; }

.contact-form { background: #f4eee3; color: #171815; padding: clamp(28px, 5vw, 58px); }
.contact-form h3 { font: 400 34px Georgia, serif; margin: 0 0 8px; }
.contact-form > p { color: #777168; font-size: 13px; margin: 0 0 32px; }
.contact-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.contact-field { display: flex; flex-direction: column; gap: 8px; }
.contact-field-full { grid-column: 1 / -1; }
.contact-field label { color: #645f57; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-field input,.contact-field select,.contact-field textarea { background: transparent; border: 0; border-bottom: 1px solid #bdb4a6; border-radius: 0; color: #171815; font: 15px Arial, sans-serif; outline: none; padding: 11px 2px; width: 100%; }
.contact-field textarea { min-height: 110px; resize: vertical; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color: #d85a2e; }
.contact-consent { align-items: flex-start; display: flex; font-size: 11px; gap: 10px; grid-column: 1 / -1; line-height: 1.5; }
.contact-consent input { accent-color: #d85a2e; margin-top: 2px; }
.contact-submit { background: #df5b2d; border: 0; border-radius: 30px; color: white; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .09em; margin-top: 6px; padding: 16px 24px; text-transform: uppercase; }
.contact-submit:hover { background: #c94c22; }
.contact-status { color: #766e64; font-size: 11px; grid-column: 1 / -1; margin: 0; min-height: 18px; }
.contact-hp { height: 0; left: -10000px; opacity: 0; overflow: hidden; position: absolute; width: 0; }
.contact-submit:disabled { cursor: wait; opacity: .65; }

@media (max-width: 760px) {
  .contact-section { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-field-full { grid-column: auto; }
  .contact-consent,.contact-status { grid-column: auto; }
}
