/* Contact form */
.contact{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.contact h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;font-weight:800;letter-spacing:-.04em}
.contact-lede{color:var(--muted);margin-top:24px;max-width:28em}

.enquiry{display:grid;gap:20px}
.field{display:grid;gap:8px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field label{font-size:14px;font-weight:600;color:var(--text)}
.field input,.field select,.field textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid #33333f;border-radius:12px;padding:14px 16px;font:400 16px/1.4 var(--font-ui);min-height:48px;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:140px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#4a4a58}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,46,61,.28)}
.field [aria-invalid="true"]{border-color:var(--accent)}
.field-error{color:#ff8a93;font-size:14px}
.form-note{color:var(--muted);font-size:14px}
.enquiry .btn{justify-self:start}
.enquiry .btn[disabled]{opacity:.6;cursor:progress;transform:none}

/* honeypot: off-screen, not display:none, so bots still fill it */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.notice{display:grid;gap:6px;padding:20px 22px;border-radius:14px;margin-bottom:24px;border:1px solid var(--line);background:var(--surface)}
.notice strong{font-size:1.05rem}
.notice span,.notice a{color:var(--muted)}
.notice a{text-decoration:underline;text-underline-offset:3px;color:var(--text)}
.notice.ok{border-color:rgba(80,200,120,.45)}
.notice.err{border-color:rgba(255,46,61,.55)}
.notice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .field-row{grid-template-columns:1fr}
  .enquiry .btn{justify-self:stretch}
}
