/* Homepage financing form. Scoped to preserve the other contact forms. */
.jmv-simulation-hero { position: relative; }
.form_banner.jmv-simulation { top: 50%; right: clamp(32px, 6.9vw, 170px); transform: translateY(-50%); width: 430px; max-width: calc(100% - 40px); padding: 20px; text-align: left; color: #28241f; background: rgba(255, 253, 249, .98); border: 1px solid rgba(184, 140, 53, .3); border-top: 3px solid #b78a32; border-radius: 16px; box-shadow: 0 16px 44px rgba(0,0,0,.2); }
.jmv-simulation-eyebrow { display: block; margin-bottom: 7px; color: #94702b; font-size: 10px; line-height: 1.4; font-weight: 700; letter-spacing: 1.5px; }
.jmv-simulation-heading h2 { margin: 0 0 6px; color: #29251f; font-size: 23px; line-height: 1.2; font-weight: 600; letter-spacing: -.5px; }
.form_banner.jmv-simulation .jmv-simulation-heading p { margin: 0 0 13px !important; color: #746e64; font-size: 12px; line-height: 1.5; }
.jmv-simulation-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 12px; }
.jmv-simulation-field { min-width: 0; }
.jmv-simulation-field.full, .jmv-simulation-divider { grid-column: 1 / -1; }
.jmv-simulation-field label { display: block; margin: 0 0 4px; color: #534d43; font-size: 11px; line-height: 1.3; font-weight: 600; }
.form_banner.jmv-simulation .form-control { height: 42px; margin: 0; padding: 10px 11px; background: #fff; border: 1px solid #e1dcd2; border-radius: 7px; color: #28241f; font-size: 12px; line-height: 20px; font-weight: 400; box-shadow: 0 1px 2px rgba(40,36,31,.025); }
.form_banner.jmv-simulation .form-control::placeholder { color: #9a9489; opacity: 1; font-weight: 400; }
.form_banner.jmv-simulation .form-control:focus { border-color: #b78a32; box-shadow: 0 0 0 3px rgba(183,138,50,.13); outline: none; }
.jmv-simulation-divider { margin-top: 0; padding-top: 10px; border-top: 1px solid #e8e2d8; font-size: 11px; line-height: 1.3; color: #8c6a2b; font-weight: 600; }
.form_banner.jmv-simulation .jmv-simulation-submit { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin: 14px 0 0; padding: 12px; background: #b78a32; border: 1px solid #b78a32; border-radius: 8px; color: #fff; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 0; text-transform: none; transition: background .15s, box-shadow .15s; }
.form_banner.jmv-simulation .jmv-simulation-submit span { font-size: 20px; line-height: 1; }
.form_banner.jmv-simulation .jmv-simulation-submit:hover { background: #9b7328; border-color: #9b7328; opacity: 1; }
.form_banner.jmv-simulation .jmv-simulation-submit:focus-visible { outline: 2px solid #6d501e; outline-offset: 3px; }
@media (max-width: 1359px) { .form_banner.jmv-simulation { position: relative; top: auto; right: auto; transform: none; width: 620px; max-width: calc(100% - 32px); margin: 24px auto; } }
@media (max-width: 479px) { .form_banner.jmv-simulation { padding: 22px 18px; border-radius: 12px; margin: 18px auto; } .jmv-simulation-heading h2 { font-size: 24px; } .jmv-simulation-field:has([name="email"]), .jmv-simulation-field:has([name="phone"]) { grid-column: 1 / -1; } .form_banner.jmv-simulation .form-control { font-size: 16px; height: 44px; padding: 10px; } .jmv-simulation-grid { gap: 13px 10px; } .form_banner.jmv-simulation .jmv-simulation-submit { font-size: 12px; min-height: 50px; } }
