/* Contact forms are single-column by default; larger layouts are progressive enhancements. */
.form-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; align-items: stretch; }
.form-card { display: flex; min-width: 0; flex-direction: column; padding: 22px 18px; border-radius: 9px; background: var(--white); color: var(--black); box-shadow: 0 15px 45px rgba(0,0,0,.12); }
.form-card form { display: flex; flex: 1; flex-direction: column; }
.form-card-top { display: flex; align-items: center; justify-content: space-between; }
.form-index { color: #627a25; font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.form-spark { color: #608118; font-size: 1.4rem; }
.form-card h3 { margin: 14px 0 8px; font: 900 clamp(1.9rem,8vw,2.5rem)/.95 var(--display); }
.form-intro { max-width: 500px; margin-bottom: 20px; color: #51564a; font-size: .77rem; line-height: 1.55; }
.field-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0 12px; }
.field { display: block; min-width: 0; margin: 0 0 13px; color: #292d25; font-size: .7rem; font-weight: 800; }
.field input, .field select, .field textarea { display: block; width: 100%; min-width: 0; margin-top: 6px; padding: 12px; border: 1px solid #c8ccc0; border-radius: 5px; outline: none; background: #fff; color: #171914; font: 500 .82rem var(--body); transition: border .15s, box-shadow .15s; }
.field textarea { min-height: 94px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #668c13; box-shadow: 0 0 0 3px rgba(196,255,32,.45); }
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #ba342a; }
.field-error { display: block; min-height: 0; margin-top: 3px; color: #a12620; font-size: .67rem; font-weight: 600; }
.field-error:not(:empty) { min-height: 1em; }
.field-hint { display: block; margin-top: 5px; color: #606654; font-size: .64rem; font-weight: 500; line-height: 1.4; }
.field select:disabled { background: #eceee8; color: #666b60; }
.form-submit { width: 100%; min-height: 48px; margin-top: 4px; border: 0; border-radius: 5px; cursor: pointer; }
.form-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.form-submit:focus-visible { outline: 3px solid #667e24; outline-offset: 3px; }
.form-status { display: none; margin: 14px 0 0; padding: 12px 14px; border-radius: 5px; font-size: .76rem; font-weight: 700; outline: none; }
.form-status.loading, .form-status.success, .form-status.error { display: block; }
.form-status.loading { background: #edf0e7; color: #394326; }
.form-status.success { background: #e4f6bc; color: #21330a; }
.form-status.error { background: #fbe5e3; color: #76201a; }
.enquiry-card { border: 1px solid #30372a; background: #151813; color: var(--white); }
.enquiry-card .form-index, .enquiry-card .form-spark { color: var(--lime); }
.enquiry-card .form-intro { color: #b1b7ab; }
.enquiry-card .field { color: #e9ece4; }
.enquiry-card .field input, .enquiry-card .field select, .enquiry-card .field textarea { border-color: #485043; background: #0b0d0b; color: var(--white); }
.enquiry-card .field input::placeholder, .enquiry-card .field textarea::placeholder { color: #747b70; }
.enquiry-card .field input:focus, .enquiry-card .field select:focus, .enquiry-card .field textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(196,255,32,.2); }
.enquiry-card .button-dark { background: var(--lime); color: var(--black); }
.enquiry-card .field-hint { color: #a1a69a; }
.privacy-note { max-width: 850px; margin: 17px 0 0; color: #344019; font-size: .65rem; line-height: 1.6; }
.trap-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-card [aria-invalid="true"] { border-color: #ba342a; }
.form-card [aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(186,52,42,.18); }
.enquiry-card .message-field { display: flex; flex-direction: column; }
.enquiry-card .message-field textarea { min-height: 120px; }

@media (min-width: 600px) {
  .form-card { padding: 28px; border-radius: 11px; }
  .field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 14px; }
  .enquiry-card .field-grid .field:last-child { grid-column: 1 / -1; }
  .field { margin-bottom: 15px; font-size: .72rem; }
  .field input, .field select, .field textarea { padding: 12px 13px; font-size: .83rem; }
  .form-intro { margin-bottom: 23px; font-size: .8rem; }
  .privacy-note { margin-top: 20px; font-size: .68rem; }
}

@media (min-width: 850px) {
  .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .form-card { padding: clamp(24px,3vw,38px); border-radius: 12px; }
  .form-card h3 { font-size: clamp(2rem,3vw,2.65rem); }
  .form-submit { margin-top: auto; }
  .enquiry-card .message-field { flex: 1; }
  .enquiry-card .message-field textarea { flex: 1; min-height: 185px; }
}
