.appointment-form{padding:25px;margin-top:25px;background:#fff;border:1px solid var(--line);max-width:560px;color:var(--ink)}.appointment-form h3{font:400 27px/1.2 var(--serif);margin:0 0 12px}.appointment-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.appointment-form label{display:flex;flex-direction:column;font-size:12px;gap:7px;margin:14px 0}.appointment-form input,.appointment-form select{width:100%;min-height:46px;border:1px solid #bbc9be;background:#fafbf8;padding:10px;font:inherit;color:var(--ink);min-width:0}.appointment-form .button{border:0;cursor:pointer;font-size:12px;margin-top:12px;min-height:46px}.appointment-form .appointment-note{font-size:11px;line-height:1.7;margin:14px 0}.appointment-preview{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.appointment-preview[hidden]{display:none}.appointment-message{white-space:pre-wrap;font-size:12px;line-height:1.7;background:#f1f3ed;padding:15px;overflow-wrap:anywhere}.appointment-form :focus-visible{outline:3px solid var(--gold);outline-offset:3px}.appointment-contact{font-size:12px;line-height:1.8}.appointment-contact a{text-decoration:underline}@media(max-width:420px){.appointment-fields{grid-template-columns:1fr;gap:0}.appointment-form{padding:20px}.appointment-form .button{width:100%;justify-content:space-between}}
