/* Fluent Forms dressed as the static page's .field / .check / .btn--block.
   Scoped to the .form card, so other Fluent forms keep their own look.
   Class map:  .field → .ff-el-group   .field label → .ff-el-input--label label
               .field input → .ff-el-form-control   .check → .jac-optin
               .btn--block → .ff-btn-submit   .form__msg → .ff-message-success */

.form .fluentform .ff-el-group{margin-bottom:20px}
.form .fluentform .ff-t-container{gap:0 20px}
.form .fluentform .ff-t-cell .ff-el-group{margin-bottom:20px}

.form .fluentform .ff-el-input--label{margin:0}
.form .fluentform .ff-el-input--label label{
  display:block;margin-bottom:9px;
  font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--mute);
}
.form .fluentform .ff-el-is-required.asterisk-right label::after{color:var(--brass)!important;margin-left:4px}

.form .fluentform .ff-el-form-control{
  width:100%;font:inherit;font-size:16px;color:var(--ink);
  background-color:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;
  padding:11px 0;box-shadow:none;transition:border-color .3s;
}
.form .fluentform .ff-el-form-control::placeholder{color:#B6AFA6}
.form .fluentform .ff-el-form-control:focus{outline:0;box-shadow:none;border-bottom-color:var(--ink);background-color:transparent}
.form .fluentform select.ff-el-form-control{padding-right:24px;background-position:right 2px center}
.form .fluentform textarea.ff-el-form-control{resize:vertical;min-height:96px}

.form .fluentform .ff-el-is-error .ff-el-form-control{border-bottom-color:#B3402F}
.form .fluentform .ff-el-is-error .text-danger,
.form .fluentform .error{margin-top:6px;font-size:13px;color:#B3402F}

/* the "Come along for the journey" opt-in */
.form .fluentform .jac-optin{margin:28px 0 30px}
.form .fluentform .jac-optin .ff-el-form-check{margin:0}
.form .fluentform .jac-optin label{display:flex;gap:14px;align-items:flex-start;cursor:pointer;margin:0}
.form .fluentform .jac-optin input{margin:5px 0 0;width:17px;height:17px;flex:0 0 auto;accent-color:var(--ink)}
.form .fluentform .jac-optin span{font-size:14px;line-height:1.65;color:var(--mute);font-weight:300}
.form .fluentform .jac-optin strong{display:block;color:var(--ink);font-weight:600;margin-bottom:4px;font-size:14.5px}

.form .fluentform .jac-submit{margin:0}
.form .fluentform .ff-btn-submit{
  display:flex;align-items:center;justify-content:center;width:100%;
  background:var(--ink)!important;color:var(--bone)!important;border:1px solid var(--ink)!important;border-radius:2px;
  font:inherit;font-size:13px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;line-height:1.2;
  padding:20px 30px;cursor:pointer;opacity:1;box-shadow:none;
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);
}
.form .fluentform .ff-btn-submit:hover{background:transparent!important;color:var(--ink)!important;transform:translateY(-2px);opacity:1}

.form .ff-message-success{
  margin:0;padding:0;border:0;box-shadow:none;background:none;
  font-size:16px;line-height:1.6;color:#3E6B4B;
}
.form .ff-errors-in-stack{margin-top:12px;font-size:14px;color:#B3402F}
