/* Fox in a Box — inquiry forms (homepage contact card + Team Building quote modal) */
.fx-form{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#333;background:#fff;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.14);border-bottom:5px solid #f08400;padding:28px 30px 22px;text-align:left;box-sizing:border-box;position:relative}
.fx-form *,.fx-form *:before,.fx-form *:after{box-sizing:border-box}
.fx-form form{margin:0}
.fx-title{margin:0 0 8px;font:700 26px/1.2 Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#333;text-transform:uppercase;letter-spacing:.02em}
.fx-intro{margin:0 0 20px;font-size:14px;line-height:1.6;color:#666}
.fx-intro a{color:#f08400;font-weight:700;text-decoration:none}
.fx-intro a:hover{text-decoration:underline}
.fx-row{display:flex;gap:14px}
.fx-row .fx-field{flex:1 1 0;min-width:0}
.fx-field{margin:0 0 16px}
.fx-field label{display:block;margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#555;line-height:1.3}
.fx-field label .req{color:#f08400;margin-left:2px}
.fx-field input,.fx-field textarea,.fx-field select{display:block;width:100%;height:46px;padding:0 14px;margin:0;font:400 15px/1.4 Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#222;background:#f7f7f7;border:1px solid #dcdcdc;border-radius:6px;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s;-webkit-appearance:none;appearance:none}
.fx-field select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23777' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.fx-field input[type=date]{line-height:46px}
.fx-field input::placeholder,.fx-field textarea::placeholder{color:#a3a3a3;opacity:1}
.fx-field textarea{height:auto;min-height:132px;padding:12px 14px;resize:vertical}
.fx-field input:focus,.fx-field textarea:focus,.fx-field select:focus{border-color:#f08400;background:#fff;box-shadow:0 0 0 3px rgba(240,132,0,.18)}
.fx-field.has-error input,.fx-field.has-error textarea,.fx-field.has-error select{border-color:#d0021b;background:#fff6f6}
.fx-field .fx-hint{display:none;margin:6px 0 0;font-size:12px;color:#c4000f}
.fx-field.has-error .fx-hint{display:block}
.fx-form-error{display:none;margin:0 0 14px;padding:10px 14px;border-radius:6px;background:#fff3f3;border:1px solid #f5c2c2;color:#b3000f;font-size:13px;line-height:1.5}
.fx-form .cf-turnstile{line-height:0;margin:0}
.fx-form .cf-turnstile.is-visible{margin:0 0 14px}
.fx-form-btn{display:inline-block;width:100%;height:50px;padding:0 24px;margin:0;border:0;border-radius:4px;background:#f08400;color:#fff;font:700 15px/50px Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;cursor:pointer;transition:background .15s,transform .05s;-webkit-appearance:none;appearance:none}
.fx-form-btn:hover{background:#d97700;color:#fff}
.fx-form-btn:active{transform:translateY(1px)}
.fx-form-btn[disabled]{opacity:.6;cursor:default;transform:none}
.fx-form-btn--ghost{background:transparent;color:#f08400;border:2px solid #f08400;line-height:46px;width:auto;min-width:180px}
.fx-form-btn--ghost:hover{background:#f08400;color:#fff}
.fx-privacy{margin:12px 0 0;font-size:12px;line-height:1.5;color:#999;text-align:center}
.fx-form-done{display:none;padding:34px 10px 26px;text-align:center}
.fx-form-done:before{content:"";display:block;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#f08400 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/34px no-repeat}
.fx-form-done h3{margin:0 0 8px;font:700 22px/1.2 Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#333;text-transform:uppercase}
.fx-form-done p{margin:0 0 20px;color:#666;font-size:14px;line-height:1.6}
.fx-form.is-done form{display:none}
.fx-form.is-done .fx-form-done{display:block}
.fx-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}

/* modal (Team Building quote) */
.fx-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif}
.fx-modal[hidden]{display:none}
.fx-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(15,15,15,.72)}
.fx-modal-dialog{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 40px);overflow:auto;border-radius:10px;-webkit-overflow-scrolling:touch}
.fx-form--modal{border-radius:10px;padding:34px 38px 26px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.fx-modal-close{position:absolute;top:12px;right:14px;z-index:2;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:#999;font:300 30px/38px Arial,sans-serif;text-align:center;cursor:pointer;transition:background .15s,color .15s}
.fx-modal-close:hover{background:#f1f1f1;color:#333}
body.fx-modal-open{overflow:hidden}
@media (max-width:600px){
  .fx-row{display:block}
  .fx-form{padding:22px 15px 18px}
  .fx-form--modal{padding:28px 15px 20px}
  .fx-title{font-size:22px}
  .fx-modal{padding:10px}
  .fx-modal-dialog{max-height:calc(100vh - 20px)}
}

.fx-form--modal .fx-field textarea{min-height:96px}
.fx-form--modal .fx-field{margin-bottom:14px}
