/* MAG HR: Fluent Forms overrides, scoped to the homepage lead-form card.
   Adapts Fluent's default markup to the site design system (.field / .control / .btn).
   Uses design tokens already defined in app.css :root. No new colors or fonts. */

/* Strip Fluent's own chrome so only our card frame shows */
.lead-form .fluentform, .lead-form .frm-fluent-form, .inquiry-form .frm-fluent-form, .qual-form .frm-fluent-form { margin: 0; padding: 0; border: 0; background: transparent; }.lead-form .frm-fluent-form fieldset, .inquiry-form .frm-fluent-form fieldset, .qual-form .frm-fluent-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }.lead-form .ff_screen_reader_title, .inquiry-form .ff_screen_reader_title, .qual-form .ff_screen_reader_title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }/* Per-field group spacing to match .field */
.lead-form .ff-el-group { margin: 0 0 var(--space-5); }.lead-form .ff-el-group:last-of-type, .inquiry-form .ff-el-group:last-of-type, .qual-form .ff-el-group:last-of-type { margin-bottom: 0; }/* Labels to match .field > label */
.lead-form .ff-el-input--label { padding: 0; margin: 0 0 var(--space-2); }.lead-form .ff-el-input--label label, .inquiry-form .ff-el-input--label label, .qual-form .ff-el-input--label label {
  font-family: var(--font-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-small);
  color: var(--navy-700);
  line-height: 1.3;
}/* Hide the required asterisk (design shows none) */
.lead-form .ff-el-is-required > label:after, .lead-form .ff-el-input--label.asterisk-right label:after, .inquiry-form .ff-el-input--label.asterisk-right label:after, .qual-form .ff-el-input--label.asterisk-right label:after, .lead-form .ff-el-is-asterisk-right .ff-el-is-required label:after, .inquiry-form .ff-el-is-asterisk-right .ff-el-is-required label:after, .qual-form .ff-el-is-asterisk-right .ff-el-is-required label:after { content: none !important; }/* Inputs, selects, textareas to match .control */
.lead-form .ff-el-input--content { padding: 0; }.lead-form .ff-el-form-control, .inquiry-form .ff-el-form-control, .qual-form .ff-el-form-control {
  width: 100%;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--ink);
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  box-shadow: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}.lead-form .ff-el-form-control::placeholder, .inquiry-form .ff-el-form-control::placeholder, .qual-form .ff-el-form-control::placeholder { color: #9AA7B6; }.lead-form .ff-el-form-control:focus, .inquiry-form .ff-el-form-control:focus, .qual-form .ff-el-form-control:focus {
  outline: none;
  border-color: var(--blue-500);
  box-shadow: var(--focus-shadow);
}.lead-form textarea.ff-el-form-control, .inquiry-form textarea.ff-el-form-control, .qual-form textarea.ff-el-form-control { min-height: 108px; resize: vertical; }.lead-form select.ff-el-form-control, .inquiry-form select.ff-el-form-control, .qual-form select.ff-el-form-control {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--slate-500) 50%), linear-gradient(135deg, var(--slate-500) 50%, transparent 50%);
  background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}/* Submit button to match .btn.btn--primary.btn--lg, full width */
.lead-form .ff-el-group.ff_submit_btn_wrapper, .lead-form .ff_submit_btn_wrapper, .inquiry-form .ff_submit_btn_wrapper, .qual-form .ff_submit_btn_wrapper { text-align: left; }.lead-form .ff-btn-submit, .inquiry-form .ff-btn-submit, .qual-form .ff-btn-submit {
  width: 100%;
  margin-top: var(--space-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-body);
  line-height: 1;
  color: #fff;
  background: var(--navy-700);
  border: 0;
  border-radius: var(--radius-md);
  padding: 16px 28px;
  cursor: pointer;
  transition: background var(--transition-fast), transform var(--transition-fast);
}.lead-form .ff-btn-submit:hover, .inquiry-form .ff-btn-submit:hover, .qual-form .ff-btn-submit:hover { background: var(--navy-600); transform: translateY(-1px); }/* Validation error states */
.lead-form .ff-el-form-control.has-error, .lead-form .ff-el-is-error .ff-el-form-control, .inquiry-form .ff-el-is-error .ff-el-form-control, .qual-form .ff-el-is-error .ff-el-form-control { border-color: var(--error); background: var(--error-bg); }.lead-form .error.text-danger, .inquiry-form .error.text-danger, .qual-form .error.text-danger, .lead-form .ff-el-is-error .error, .inquiry-form .ff-el-is-error .error, .qual-form .ff-el-is-error .error { color: var(--error); font-size: var(--fs-small); margin-top: 6px; }/* Success + loading states */
.lead-form .ff-message-success {
  color: var(--navy-700);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  background: var(--blue-50);
  border-radius: var(--radius-md);
  padding: 16px 18px;
}.lead-form .frm-fluent-form.ff-form-loading .ff-btn-submit, .inquiry-form .frm-fluent-form.ff-form-loading .ff-btn-submit, .qual-form .frm-fluent-form.ff-form-loading .ff-btn-submit { opacity: 0.7; pointer-events: none; }
