/* Contact: booking option beside a message form delivered through /api/contact. */
.contact-page{background:#f8faff}
.contact-page .contact-hero.service-layout-hero{padding-top:56px;padding-bottom:72px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:56px;align-items:start}
.contact-copy h1,.contact-result h1{font-weight:700;letter-spacing:-.05em;color:var(--ink)}
.contact-copy h1>span,.contact-result h1>span{display:block;margin-top:8px;color:var(--indigo)}
.contact-copy>p,.contact-result>p{font-size:18px;line-height:1.75;max-width:520px}
.contact-copy .service-hero-actions{flex-wrap:wrap}
.contact-notes{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);max-width:560px}
.contact-notes h2{font-size:22px;letter-spacing:-.02em}
.contact-notes p{font-size:16px;line-height:1.8;margin-top:12px;color:var(--muted)}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}
.contact-card h2{font-size:24px;letter-spacing:-.02em;margin-bottom:20px}
.contact-form{display:grid;gap:18px}
.contact-field{display:grid;gap:7px}
.contact-field label{font-size:14px;font-weight:600;color:var(--ink)}
.contact-field label span{font-weight:400;color:var(--muted)}
.contact-field input,.contact-field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #c9d4ea;border-radius:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.contact-field textarea{resize:vertical;min-height:140px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px #19398d26}
.contact-field [aria-invalid="true"]{border-color:#b42318}
.contact-error{min-height:0;font-size:13px;color:#b42318}
.contact-error:empty{display:none}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-submit{justify-self:start;border:0;cursor:pointer}
.contact-submit[disabled]{opacity:.65;cursor:progress}
.contact-status{font-size:15px;line-height:1.6}
.contact-status:empty{display:none}
.contact-status[data-state="success"]{padding:12px 14px;border-radius:12px;background:#e8f6ee;color:#0f5132}
.contact-status[data-state="error"]{padding:12px 14px;border-radius:12px;background:#fdecea;color:#8a1c12}
.contact-alt{margin-top:20px;font-size:14px;color:var(--muted)}
.contact-alt a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-card{max-width:620px}}
@media (max-width:600px){.contact-page .contact-hero.service-layout-hero{padding-top:32px}.contact-card{padding:22px}.contact-submit{justify-self:stretch;justify-content:center}}
@media (prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea{transition:none}}
.contact-result{max-width:640px;padding-bottom:40px}.contact-result .service-hero-actions{flex-wrap:wrap}
