/* "Let's talk" contact section (C3 Wide): the intro on top, then the four fields in one row and the message full width.
   Underline fields, small grey labels that turn white while typing, the site's white pill to send. */
#contact .cm { color: #ffffff; font-family: "Mona Sans", sans-serif; }
#contact .cm-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: end; gap: 12px 40px; padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
#contact .cm-title { margin: 0; font-size: clamp(48px, 6.4vw, 112px); line-height: .95; font-weight: 500; letter-spacing: -.04em; color: #ffffff; }
#contact .cm-lede { margin: 0; font-size: 18px; line-height: 1.5; color: #cfcfcf; }

#contact form { margin: 0; }
#contact .cm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 32px; }
#contact .cm-f { display: grid; gap: 8px; margin: 0; font-weight: 400; }
#contact .cm-f > span { font-size: 14px; color: #9a9a9a; transition: color .3s; }
#contact .cm-f:focus-within > span { color: #ffffff; }
#contact .cm-f input, #contact .cm-f textarea { width: 100%; box-sizing: border-box; height: auto; min-height: 0; margin: 0; padding: 10px 0 12px; background: transparent; border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .28); border-radius: 0; color: #ffffff; font: 400 19px/1.35 "Mona Sans", sans-serif; outline: none; transition: border-color .3s; resize: vertical; }
#contact .cm-f input:focus, #contact .cm-f textarea:focus { border-bottom-color: #ffffff; }
#contact .cm-f textarea::placeholder { color: #6f6f6f; }
#contact .cm-full { grid-column: 1 / -1; }
#contact .cm-row { display: flex; justify-content: flex-end; }
#contact .cm-send { margin-top: 36px; cursor: pointer; }
#contact .cm-send:disabled { opacity: .6; cursor: progress; }
/* the on-page answer after Send (js/contact-form.js) */
#contact .cm-status { margin: 18px 0 0; text-align: right; font-size: 16px; line-height: 1.5; color: #cfcfcf; }
#contact .cm-status:empty { display: none; }
#contact .cm-status.is-ok { color: #ffffff; }
#contact .cm-status a { color: #ffffff; }

@media (max-width: 991px) { #contact .cm-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  #contact .cm-intro { grid-template-columns: 1fr; }
  #contact .cm-grid { grid-template-columns: 1fr; }
  #contact .cm-send { width: 100%; }
  #contact .cm-status { text-align: left; }
}
/* Consent line under Send (Evan approved 2026-10-05, option A): covers calling or emailing people back about their enquiry. */
#contact .cm-row { flex-wrap: wrap; }
#contact .cm-consent { flex-basis: 100%; margin: 14px 0 0; text-align: right; font-size: 14px; line-height: 1.5; color: #fff; opacity: .78; }
@media (max-width: 767px) { #contact .cm-consent { text-align: left; } }

