/* Contact form styles, extracted from the contact page stylesheet so other pages
   can carry a form without carrying that page. Every selector is scoped under
   form, and the three variables the form needs are declared on it, so linking
   this file cannot disturb a page's own palette or its .btn for anchors.

   Rebuilt 17 August 2026: an earlier copy of this file existed only on disk and
   was never committed, so the deployed page linked a stylesheet that did not
   exist and the appointment form rendered unstyled. This copy is tracked. */
form{--field:rgba(26,24,23,.28);--valid:#1C6B3F;--invalid:#A3261A;margin-top:30px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){form .row{grid-template-columns:1fr}}
form .field{margin-bottom:22px}
form .field label{display:block;font-size:10.5px;font-weight:500;text-transform:uppercase;
  letter-spacing:.16em;color:var(--ink);margin-bottom:8px}
form .field label .req{color:var(--accent)}
form .field input,form .field select,form .field textarea{width:100%;font-family:var(--sans);
  font-size:16.5px;padding:13px 15px;border:1px solid var(--field);border-radius:var(--r);
  background:#fff;color:var(--ink);line-height:1.5}
form .field textarea{min-height:150px;resize:vertical}
form .field .help{font-size:13.5px;color:var(--mute);margin:8px 0 0}
form .field .msg{font-size:13.5px;margin:8px 0 0;display:none}
form .field.is-invalid input,form .field.is-invalid textarea,form .field.is-invalid select{
  border-color:var(--invalid);border-width:2px}
form .field.is-invalid .msg{display:block;color:var(--invalid)}
form .field.is-valid input,form .field.is-valid textarea{border-color:var(--valid)}
form .field.is-valid .msg{display:block;color:var(--valid)}
form .btn{display:inline-block;border:0;cursor:pointer;font-family:var(--sans);
  font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;
  padding:17px 34px;border-radius:var(--r);
  background:var(--accent);color:var(--paper)}
form .btn:hover{background:#A05B38}
form .legal{margin-top:22px;font-size:13.5px;color:var(--mute);max-width:56ch}
