
.contact-form-card{grid-column:1/-1;background:#fff;color:var(--ink);border-radius:18px;padding:36px;box-shadow:var(--shadow)}
.contact-form-card h2{font-size:2rem;margin-bottom:16px}.contact-form-card>p{color:var(--body)}
.contact-form-card form{max-width:720px}.form-field{margin-bottom:22px}
.form-field label{display:block;font-size:18px;font-weight:600;line-height:1.65;margin-bottom:7px}
.form-field input,.form-field textarea{display:block;width:100%;font:400 18px/1.65 "Source Sans 3",sans-serif;color:var(--ink);background:var(--cream);border:1px solid #839b9d;border-radius:10px;padding:12px 14px}
.form-field textarea{resize:vertical}.form-field input:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.contact-form-card button{cursor:pointer}.form-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0}
@media(max-width:760px){.contact-form-card{padding:24px}}
.contact-page .contact-form-card>p{color:var(--body)}
/* Contact page: call and email on the left, form on the right; call, form, then email on phones. */
.contact-page.contact-v2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"call form" "email form";grid-template-rows:auto 1fr;gap:24px 64px;align-items:start}
.contact-v2 .cv2-call{grid-area:call}
.contact-v2 .cv2-email{grid-area:email}
.contact-v2 .cv2-form{grid-area:form;grid-column:auto}
.contact-v2 .cv2-callbtn{display:none}
.contact-v2 .contact-form-card form{max-width:none}
.cv2-next h2{margin-bottom:14px}
@media(max-width:900px){
 .contact-page.contact-v2{grid-template-columns:1fr;grid-template-areas:"call" "form" "email";grid-template-rows:auto;gap:24px}
 .contact-v2 .contact-value{display:none}
 .contact-v2 .cv2-callbtn{display:flex;justify-content:center;width:100%;font-size:20px;padding:18px 20px;margin-top:0}
 .contact-v2 .cv2-call h2{margin-bottom:16px}
}
