  /* The enquiry form and the contact/thank-you pages — in site.css's tokens,
     loaded after it. */

  .enquiry { margin-top: 2.25rem; max-width: 40rem; display: grid; gap: 1.1rem 1.5rem; grid-template-columns: 1fr; }
  @media (min-width: 640px) { .enquiry { grid-template-columns: 1fr 1fr; } }
  .enquiry .field { display: grid; gap: 0.35rem; }
  .enquiry .field.wide, .enquiry .form-error, .enquiry .submit { grid-column: 1 / -1; }
  .enquiry label { font-size: 0.9rem; font-weight: 600; color: var(--ink); }
  .enquiry label small { font-weight: 400; color: var(--muted); margin-left: 0.3rem; }
  .enquiry input, .enquiry textarea {
    font: inherit; font-size: 1rem; color: var(--ink); background: #fff;
    border: 1px solid var(--rule); border-radius: 3px; padding: 0.7rem 0.8rem; width: 100%;
  }
  .enquiry textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
  .enquiry input:focus, .enquiry textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; border-color: var(--ink); }
  .enquiry [aria-invalid="true"] { border-color: var(--red); }
  .enquiry .field-error, .enquiry .form-error { font-size: 0.88rem; color: var(--red); font-weight: 600; }
  .enquiry .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
  .enquiry .submit { display: flex; flex-wrap: wrap; gap: 0.9rem 1.75rem; align-items: center; margin-top: 0.4rem; }
  .enquiry button.btn { border: 0; font: inherit; font-weight: 600; cursor: pointer; }
  .contact .contact-or { margin-top: 2rem; }
  .contact .contact-or a { font-weight: 600; }
  .contact .contact-or a:hover { color: var(--red); }
  .contact.page { padding-top: clamp(3rem, 7vw, 5rem); }
