/* Contact Form 7 — styled to the design system */
.vw-form{background:var(--vw-surface); border:1px solid var(--vw-line); border-radius:var(--vw-radius-lg); padding:clamp(24px,3.5vw,40px)}
.wpcf7-form p{margin:0 0 16px}
.vw-field{display:block; margin-bottom:16px}
.vw-field>span.vw-label{font-family:var(--vw-display); font-weight:600; font-size:14px; color:var(--vw-ink); margin-bottom:6px; display:block}
.vw-field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],
.wpcf7 input[type=number],.wpcf7 select,.wpcf7 textarea{
  width:100%; padding:13px 16px; border-radius:12px; border:1.5px solid var(--vw-line-strong);
  background:var(--vw-surface); color:var(--vw-ink); font-family:var(--vw-body); font-size:15.5px; line-height:1.4;
}
.wpcf7 textarea{min-height:140px; resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:2px solid var(--vw-sky); outline-offset:1px; border-color:var(--vw-sky)}
.wpcf7 .wpcf7-list-item{margin:0 0 8px; display:block}
.wpcf7 .wpcf7-list-item-label{font-size:14.5px; color:var(--vw-muted)}
.wpcf7 input[type=submit]{
  font-family:var(--vw-display); font-weight:600; font-size:15.5px; padding:15px 30px; border-radius:100px;
  border:0; background:var(--vw-navy); color:#fff; cursor:pointer; transition:background .18s,box-shadow .18s;
}
.wpcf7 input[type=submit]:hover{background:var(--vw-navy-2); box-shadow:0 14px 30px -12px rgba(0,72,132,.6)}
.wpcf7 input[type=submit]:focus-visible{outline:3px solid var(--vw-sky); outline-offset:2px}
.wpcf7 .wpcf7-spinner{margin-left:12px}
.wpcf7-not-valid-tip{color:#C6413B; font-size:13.5px; margin-top:5px}
.wpcf7 form .wpcf7-response-output{
  border-radius:12px; border:1.5px solid var(--vw-line-strong); border-left-width:4px;
  padding:14px 18px; margin:18px 0 0; font-size:15px;
}
.wpcf7 form.sent .wpcf7-response-output{border-left-color:var(--vw-sky); background:var(--vw-sky-tint)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-left-color:#C6413B}
.vw-consent{font-size:13.5px; color:var(--vw-muted)}
.vw-consent a{color:var(--vw-navy); text-decoration:underline; text-underline-offset:3px}
@media (max-width:640px){.vw-field-row{grid-template-columns:1fr}}
