.consultation-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin:28px 0}.consultation-field{min-width:0}.consultation-field.wide{grid-column:1/-1}.consultation-field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600}.consultation-field input,.consultation-field textarea,.consultation-field select{width:100%;box-sizing:border-box;border:1px solid #626b6c;border-radius:6px;padding:12px;font:inherit;color:#17242a;background:#fff}.consultation-field textarea{resize:vertical}.consultation-field input:focus,.consultation-field textarea:focus,.consultation-field select:focus{outline:3px solid #537f84;outline-offset:2px}.consultation-field [aria-invalid=true]{border-color:#ad3030}.consultation-field small{display:block;margin-top:5px}.form-error{color:#a92727;font-size:.875rem}.form-status:not(:empty){padding:18px 0;line-height:1.6}.form-status:focus{outline:2px solid #537f84;outline-offset:5px}#consultation-form [hidden]{display:none!important}#consultation-form button:disabled{opacity:.65;cursor:wait}@media(max-width:600px){.consultation-fields{grid-template-columns:1fr}.consultation-field{grid-column:1/-1}}

/* Give the software/tools response the full form width. */


.contact-next-steps{margin-top:32px}.contact-next-steps h2{font-size:1.5rem;line-height:1.25;margin:0 0 14px;letter-spacing:-.02em}.contact-next-steps p{font-size:1rem;line-height:1.65;margin:0 0 16px}

/* Keep the project link directly below, and outside, the consultation panel. */
.contact-layout{grid-template-rows:auto}
.contact-form-column{min-width:0;align-self:start}
.contact-form-column .contact-explore{margin-top:24px;padding:20px 0 0;gap:12px 24px;flex-wrap:wrap}


/* Comfortable desktop form: two contact rows and a generous project message. */
.consultation-field small:empty,.form-error:empty,.form-status:empty{display:none}
@media(min-width:721px){
 .contact-layout{padding-top:16px}
 .contact-form-panel{padding:24px}
 .contact-form-panel h2{font-size:clamp(1.15rem,1.9vw,1.75rem);line-height:1.2;white-space:nowrap;margin:0 0 8px}
 .contact-form-panel>p{font-size:.95rem;line-height:1.4;margin:0}
 .contact-form-panel .consultation-fields{gap:16px 18px;margin:18px 0}
 .contact-form-panel .consultation-field label{font-size:.9rem;line-height:1.3;margin-bottom:6px}
 .contact-form-panel .consultation-field input,.contact-form-panel .consultation-field select{height:46px;padding:11px 12px;line-height:22px}
 .contact-form-panel .consultation-field textarea{height:144px;min-height:120px;padding:12px;line-height:1.5}
 #consultation-form .button{min-height:48px;padding:13px 20px}
 .contact-form-column .contact-explore{margin-top:16px;padding-top:14px;gap:8px 18px}
 .contact-form-column .contact-explore p,.contact-form-column .contact-explore a{font-size:.875rem}
}
@media(min-width:721px) and (max-height:700px){
 .contact-layout{padding-top:12px}
 .contact-form-panel{padding:20px 24px}
 .contact-form-panel .consultation-fields{gap:14px 18px;margin:14px 0}
 .contact-form-panel .consultation-field textarea{height:120px}
 .contact-form-column .contact-explore{margin-top:12px;padding-top:10px}
}

/* Narrow-screen consultation layout: allow grid children and heading to shrink. */
@media (max-width: 720px) {
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-layout > * { min-width: 0; }
  .contact-layout h1 { font-size: clamp(2.25rem, 10vw, 3rem); overflow-wrap: anywhere; }
}
