/* Contact section — Got Questions? form */
.contact-wrap{max-width:980px;margin:0 auto}
.contact-head{width:100%;text-align:center;margin-bottom:28px}
.contact-head h1,.contact-head h2{margin:0 0 10px;font-size:clamp(26px,3.2vw,32px);font-weight:800;line-height:var(--line-height-tight);letter-spacing:-0.02em;color:var(--navy)}
#contact .contact-head .muted,#contact .contact-head p.muted{margin:0 auto 28px;font-size:17px;line-height:var(--line-height-body);text-align:center!important;max-width:70ch;display:block}
.contact-form-wrap{background:transparent;border:none;border-radius:0;padding:28px 0;box-shadow:none}
.contact-form .form-grid{margin-bottom:6px}
.contact-form label.full{margin-bottom:6px}
.contact-form label span{font-size:14px;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;color:var(--navy);opacity:.9}
.contact-form input,.contact-form textarea{border-radius:12px;padding:14px 16px;font-size:16px}
.contact-form textarea{min-height:120px}
.contact-submit{margin-top:4px;width:100%;padding:16px 24px;font-size:16px}
.contact-call-text{display:flex;gap:20px;margin-top:28px;flex-wrap:wrap;justify-content:center;align-items:center}
.contact-call-btn,.contact-text-btn{flex:1 1 160px;min-width:160px;padding:14px 24px;min-height:44px;font-size:17px;font-weight:800;text-align:center;text-decoration:none;border-radius:14px;transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button.contact-text-btn{font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.contact-call-btn{color:#fff;border:1px solid rgba(255,255,255,.15)}
.contact-text-btn{background:#fff;border:2px solid var(--green);color:var(--green)}
.contact-text-btn:hover{background:rgba(47,143,58,.06);border-color:var(--green);color:#1f6e2a;transform:translateY(-2px);box-shadow:0 8px 20px rgba(47,143,58,.15)}
.contact-message{padding:28px 24px;border-radius:18px;font-weight:700;font-size:17px;line-height:1.45;text-align:center}
.contact-success{background:rgba(47,143,58,.10);border:1px solid rgba(47,143,58,.22);color:#1f6e2a}
.contact-error{background:rgba(180,50,50,.06);border:1px solid rgba(180,50,50,.18);color:#8b2a2a}
.contact-error a{color:var(--green);text-decoration:underline}
.contact-form .required{color:#c00!important;display:inline}
.contact-form .optional{font-weight:400;text-transform:none;opacity:.7}

/* Desktop: Name + Email side by side */
@media (min-width:921px){
  .contact-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .contact-call-btn,.contact-text-btn{flex:0 1 auto;min-width:180px}
}

/* Mobile: grid forces 2 cols, scales with viewport */
@media (max-width:920px){
  .contact-call-text{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;margin-top:20px!important;width:100%!important}
  .contact-call-btn,.contact-text-btn{min-width:0!important;width:100%!important;padding:12px 10px!important;min-height:44px!important;font-size:14px!important;border-radius:10px;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
}
