.contact { border-top: 1px solid var(--line); }
.contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 90px); }
.contact h2 { margin-bottom: 24px; }
.contact-intro { max-width: 370px; color: var(--ink-muted); }
.contact-email { display: inline; overflow-wrap: anywhere; line-height: 2; }
.contact noscript .form-note { margin-top: 24px; }
.contact-form, .contact-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.contact-form .full { grid-column: 1 / -1; }
.contact-form [hidden], .contact-form[hidden] { display: none; }
.field-label, .contact-event legend { display: block; font-size: .9375rem; margin-bottom: 8px; font-weight: 600; }
.field-label span, .contact-event legend span { font-weight: 400; color: var(--ink-muted); }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; min-width: 0; min-height: 49px; padding: 12px 13px;
  border: 1px solid #9b9b90; border-radius: 0; background: #fff;
  color: var(--graphite); font: 1.0625rem/1.5 var(--font);
}
.contact-form textarea { resize: vertical; }
.contact-event { margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--line); min-width: 0; }
.contact-event legend { padding-right: 12px; }
.form-note { font-size: .875rem; line-height: 1.5; color: var(--ink-muted); margin: 0; }
.enquiry-result { padding: 26px; background: #e6e3d9; border-left: 3px solid var(--copper); min-width: 0; }
.enquiry-result h3 { margin-bottom: 14px; }
.enquiry-result p { font-size: 1rem; overflow-wrap: anywhere; }
.enquiry-result .actions { gap: 16px; margin-top: 20px; }
.enquiry-result .button { justify-content: center; }
.button-outline { background: transparent; color: var(--petrol); border-color: var(--petrol); }
.button-outline:hover { background: var(--ivory); }
.copy-status:not(:empty) { margin-top: 16px; }
@media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 480px) {
  .contact-form, .contact-event-grid { grid-template-columns: 1fr; }
  .enquiry-result { padding: 20px; }
  .enquiry-result .actions { align-items: stretch; flex-direction: column; }
}
