/* Scoped to the FV quote card; the rest of the existing LP is untouched. */
.scan-quote-layer { color: #243149; font-family: 'Noto Sans JP', sans-serif; }
.scan-quote-layer *, .scan-quote-layer *::before, .scan-quote-layer *::after { box-sizing: border-box !important; }
.scan-quote-layer [hidden], .scan-quote-layer .scan-hidden-row { display: none !important; }
.scan-quote-layer .scan-progress { display: flex; padding: 0; margin: 14px 0 12px; list-style: none; gap: 8px; }
.scan-quote-layer .scan-progress li { display: flex; align-items: center; justify-content: center; gap: 4px; flex: 1; padding-bottom: 9px; border-bottom: 3px solid #e4e8ec; color: #667085; font-size: 11px; font-weight: 700; white-space: nowrap; }
.scan-quote-layer .scan-step-number { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #e9edf0; color: #667085; font-size: 11px; }
.scan-quote-layer .scan-progress [aria-current='step'] { color: #bd2527; border-color: #d6383d; }
.scan-quote-layer .scan-progress [aria-current='step'] .scan-step-number { color: #fff; background: #d6383d; }
.scan-quote-layer .scan-progress .is-complete { border-color: #edb9ba; color: #445366; }
.scan-quote-layer #scan-step-heading { margin: 0 0 11px; padding: 0; font-size: 15px; line-height: 1.45; font-weight: 700; }
.scan-quote-layer #scan-form-status { margin: 0; color: #445366; font-size: 12px; line-height: 1.5; }
.scan-quote-layer #scan-form-status:not(:empty) { margin-bottom: 8px; }
.scan-quote-layer #scan-form-status.is-error { color: #ad2025; }
.scan-quote-layer #scan-form-fallback { margin: 10px 0; padding: 10px; background: #fff5f3; font-size: 13px; line-height: 1.7; }
.scan-quote-layer #scan-form-fallback a { color: #ac2228; text-decoration: underline; }
.scan-quote-layer form.mktoForm { margin: 0 !important; padding: 0 18px 10px !important; width: 100% !important; min-width: 0; font-family: inherit !important; font-size: 13px !important; color: #243149 !important; }
.scan-quote-layer .mktoForm .mktoFormRow { margin: 0 0 10px !important; padding: 0 !important; width: 100%; clear: both; }
.scan-quote-layer .mktoForm .mktoFormCol, .scan-quote-layer .mktoForm .mktoFieldWrap { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
.scan-quote-layer .mktoForm .mktoOffset, .scan-quote-layer .mktoForm .mktoGutter { display: none !important; }
.scan-quote-layer .mktoForm .mktoLabel { display: flex !important; align-items: center; gap: 5px; float: none !important; width: 100% !important; margin: 0 0 5px !important; padding: 0 !important; font-size: 12px !important; line-height: 1.4 !important; font-weight: 700 !important; }
.scan-quote-layer .mktoForm .mktoAsterix { display: inline !important; float: none !important; padding: 0 !important; color: #c52b31; }
.scan-quote-layer .mktoForm input.mktoField:not([type='hidden']):not([type='checkbox']), .scan-quote-layer .mktoForm select.mktoField, .scan-quote-layer .mktoForm textarea.mktoField { display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100%; height: 38px !important; margin: 0 !important; padding: 8px 10px !important; border: 1px solid #b7c0cb !important; border-radius: 5px !important; background: #fff !important; color: #243149 !important; font-family: inherit !important; font-size: 14px !important; line-height: 1.4 !important; box-shadow: none; }
.scan-quote-layer .mktoForm textarea.mktoField { height: 95px !important; resize: vertical; }
.scan-quote-layer .mktoForm input::placeholder { color: #7c8796; opacity: 1; }
.scan-quote-layer .mktoForm .mktoInstruction { display: block; width: 100%; margin-top: 3px; color: #5e6b7d; font-size: 10px; line-height: 1.4; }
.scan-quote-layer .mktoForm .mktoInstruction:empty { display: none; }
.scan-quote-layer .mktoForm .mktoCheckboxList { display: flex; width: auto !important; padding: 0 !important; float: none !important; }
.scan-quote-layer .mktoForm .mktoCheckboxList input { position: static !important; width: 18px !important; height: 18px !important; margin: 0 !important; opacity: 1 !important; accent-color: #c52b31; appearance: auto; }
.scan-quote-layer .mktoForm .mktoCheckboxList label { display: none !important; }
.scan-quote-layer .mktoForm .scan-consent-row .mktoFieldWrap { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.scan-quote-layer .mktoForm .scan-consent-row .mktoLabel { order: 2; width: calc(100% - 28px) !important; margin: 0 !important; cursor: pointer; }
.scan-quote-layer .mktoForm .scan-consent-row .mktoCheckboxList { order: 1; }
.scan-quote-layer .scan-policy-links { margin: -3px 0 9px 26px; font-size: 10px; line-height: 1.6; }
.scan-quote-layer .scan-policy-links a { color: #34506d; text-decoration: underline; }
.scan-quote-layer .mktoForm .mktoHtmlText { width: 100% !important; font-size: 10px; line-height: 1.55; color: #596577; }
.scan-quote-layer .scan-step-actions { display: flex; align-items: stretch; gap: 8px; margin-top: 12px; }
.scan-quote-layer .scan-step-actions .mktoButtonRow { flex: 1; width: auto !important; margin: 0 !important; padding: 0 !important; }
.scan-quote-layer .mktoForm .mktoButtonWrap { display: block !important; margin: 0 !important; }
.scan-quote-layer .scan-next, .scan-quote-layer .mktoForm .mktoButton, .scan-quote-layer .scan-back { display: block; min-height: 44px; margin: 0; padding: 11px 15px !important; border: 0 !important; border-radius: 5px; font-family: inherit; font-size: 15px !important; line-height: 1.4 !important; font-weight: 700; cursor: pointer; text-align: center; box-shadow: none !important; }
.scan-quote-layer .scan-next, .scan-quote-layer .mktoForm .mktoButton { flex: 1; width: 100%; background: #d8393f !important; color: #fff !important; }
.scan-quote-layer .scan-next:hover, .scan-quote-layer .mktoForm .mktoButton:hover { background: #bd262d !important; }
.scan-quote-layer .scan-back { flex: 0 0 64px; background: #edf0f3; color: #46566a; font-size: 13px !important; }
.scan-quote-layer button:disabled { cursor: wait; opacity: .65; }
.scan-quote-layer :is(input, select, textarea, button, a):focus-visible, .scan-quote-layer #scan-step-heading:focus-visible { outline: 3px solid #315f94 !important; outline-offset: 2px; }
.scan-quote-layer .mktoForm [aria-invalid='true'] { border-color: #c32f35 !important; }
.scan-quote-layer .mktoForm .mktoError { z-index: 3; max-width: 100%; }
.scan-quote-layer .mktoForm .mktoErrorMsg { font-size: 12px; line-height: 1.5; }
.scan-quote-layer .scan-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 767px) {
  .scan-quote-layer .mktoForm input.mktoField:not([type='hidden']):not([type='checkbox']), .scan-quote-layer .mktoForm select.mktoField, .scan-quote-layer .mktoForm textarea.mktoField { font-size: 16px !important; height: 41px !important; }
  .scan-quote-layer .mktoForm textarea.mktoField { height: 95px !important; }
  .scan-quote-layer .scan-progress li { font-size: 10px; gap: 3px; }
}

.scan-quote-layer .scan-progress{margin-left:18px;margin-right:18px}
.scan-quote-layer #scan-step-heading,.scan-quote-layer #scan-form-status{margin-left:18px;margin-right:18px}
.scan-quote-layer .mktoForm .mktoError{pointer-events:none}
.scan-quote-layer .mktoForm .mktoHtmlText,.scan-quote-layer .mktoForm .mktoHtmlText *{font-size:10px !important;line-height:1.55 !important}
.scan-quote-layer .mktoForm .scan-consent-row .mktoCheckboxList{flex:0 0 18px}
.scan-quote-layer .mktoForm .scan-consent-row .mktoLabel{flex:1}
