/* Contact Form 7 states, styled to match the design */
.wpcf7 form .wpcf7-form-control-wrap{display:block}
.wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:13px;color:#C0262D}
.wpcf7-not-valid{border-color:#C0262D!important}
.wpcf7 form .wpcf7-response-output{margin:22px 0 0;padding:14px 16px;border:1px solid #E6E9F0;border-radius:2px;font-size:15px;color:var(--ink);background:#F9FAFC}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--blue);background:#EEF3FF}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:#C0262D}
.wpcf7 form .wpcf7-spinner{margin:0 0 0 14px;vertical-align:middle}
.wpcf7 form.submitting .btn{opacity:.6;pointer-events:none}
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);height:1px;width:1px;margin:0;padding:0;border:0}

/* Form field styles shared by home and contact (home's own CSS only had the short form) */
.field{margin-bottom:22px}
.field label{ display:block;font-family:var(--mono);font-size:11px;letter-spacing:.18em; text-transform:uppercase;color:#7B808A;margin-bottom:8px; }
.field input,.field select,.field textarea{ width:100%;background:#F9FAFC;border:1px solid #E6E9F0;border-radius:2px; padding:12px 14px;font:inherit;font-size:15px;color:var(--ink); transition:border-color .2s ease,background-color .2s ease; }
.field textarea{min-height:190px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff}
.field label .req{color:var(--blue);margin-left:4px}
.field-row{display:grid;gap:22px}
@media (min-width:1000px){ .field-row{grid-template-columns:1fr 1fr} }
form .btn{margin-top:6px}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230A0A0F' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat;background-position:right 14px center}
.field select:has(option[value=""]:checked){color:#8298B5}
.tel{display:flex}
.tel-cc{position:relative;flex:none;display:flex;align-items:center;gap:8px;padding:0 12px 0 14px; background:#F9FAFC;border:1px solid #E6E9F0;border-right:0;border-radius:2px 0 0 2px; font-size:15px;color:var(--ink);transition:border-color .2s ease}
.tel-cc svg{width:10px;height:10px;color:#7B808A}
.tel-cc:focus-within{border-color:var(--blue);border-right:1px solid var(--blue)}
.tel-cc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0;cursor:pointer}
.tel input{border-radius:0 2px 2px 0;min-width:0}
@media (max-width:999px){ form .btn{width:100%} }
.field input,.field select,.field textarea{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(0,6,255,.12)}
