/* Provider controls page/field visibility. Layout never unhides conditional fields. */
@font-face { font-family: 'MMC Inter'; src: url('/assets/fonts/GrgcKwrN6d3Uz8EwcLHZxwEfC4-5afd609911.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'MMC Inter'; src: url('/assets/fonts/yDtI2UI8XcEg1W2je9XPN3Noo-d46eff7ad0.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
:root { --source-ink: #202939; --source-muted: #667085; --source-blue: #365de5; --source-border: #e4e7ec; --source-rail: 248px; --source-header: 56px; --source-mobile-actions: calc(104px + env(safe-area-inset-bottom)); }
html, html.supernova { min-height: 100%; background: #fff !important; scroll-padding-top: 110px; }
body, .supernova body { margin: 0; padding: var(--source-header) 0 0 !important; background: #fff !important; color: var(--source-ink); font-family: 'MMC Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
.source-form-header, .source-form-sidebar, .source-form-main, .jotform-form { box-sizing: border-box; font-family: inherit; }
.source-form-header { position: fixed; inset: 0 0 auto; z-index: 1000; isolation: isolate; display: flex; align-items: center; justify-content: space-between; height: var(--source-header); padding: 0 32px 0 20px; border-bottom: 1px solid var(--source-border); background: #fff; }
.source-form-brand { display: inline-flex; align-items: center; }
.source-form-brand .source-form-wordmark { display: block; width: 160px; height: auto; }
.source-help-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 0 8px 12px; border: 0; background: transparent; color: #475467; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.source-help-icon { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid #98a2b3; border-radius: 50%; font-size: 12px; }
.source-help-link:hover { color: var(--source-blue); }
.source-help-link { text-decoration: none; }
.source-step-label small { display: block; margin-top: 3px; color: var(--source-muted); font-size: 11px; font-weight: 400; }
.source-form-skip { position: fixed; top: -100px; left: 20px; z-index: 110; padding: 12px 18px; border-radius: 8px; background: #fff; color: var(--source-blue); }
.source-form-skip:focus { top: 12px; }
.source-form-sidebar { position: fixed; inset: var(--source-header) auto 0 0; display: flex; flex-direction: column; width: var(--source-rail); padding: 28px 26px 20px; overflow: auto; border-right: 1px solid #eceef2; background: #f7f8fa; }
.source-provider img { box-sizing: border-box; width: 64px; height: 64px; border: 1px solid #e4e7ec; border-radius: 16px; box-shadow: 0 2px 6px rgb(16 24 40 / 8%); }
.source-provider h2 { margin: 12px 0 0; font-size: 18px; font-weight: 600; letter-spacing: -.5px; }
.source-preview-progress { padding: 0; margin: 40px 0 24px; list-style: none; }
.source-preview-progress li { position: relative; display: flex; align-items: flex-start; gap: 12px; min-height: 48px; color: #7b8493; font-size: 14px; line-height: 20px; }
.source-preview-progress li:not(:last-child)::after { position: absolute; top: 19px; left: 8px; width: 2px; height: 29px; background: #dfe4ee; content: ''; }
.source-step-dot { box-sizing: border-box; display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; border: 2px solid #d7dde7; border-radius: 50%; background: #f7f8fa; }
.source-step-label { padding: 0; }
.source-preview-progress [aria-current='step'] { color: #243f91; font-weight: 600; }
.source-preview-progress [aria-current='step'] .source-step-dot { border-color: var(--source-blue); background: var(--source-blue); }
.source-preview-progress [data-submitted-step][aria-current='step'] .source-step-dot { border-color: #bfcef9; background: #e9efff; color: #365de5; }
.source-preview-progress [data-submitted-step] .source-icon { width: 12px; height: 12px; }
.source-preview-progress .is-complete { color: #425a8e; }
.source-preview-progress .is-complete .source-step-dot { border-color: #bfcef9; background: #e9efff; color: #365de5; }
.source-preview-progress .is-complete .source-step-dot::after { content: ''; width: 4px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
.source-preview-progress .is-complete::after { background: #b4c5fa; }
.source-sidebar-bottom { margin-top: auto; color: var(--source-muted); font-size: 11px; line-height: 1.8; }
.source-sidebar-bottom p { margin: 0; }
.source-legal-links a { color: #667085; text-underline-offset: 3px; }
.source-form-main { min-height: calc(100vh - var(--source-header)); margin-left: var(--source-rail); padding: 24px 36px; }
.source-main-inner, .jotform-form { max-width: 680px; margin: 0 auto; }
.source-overall-progress { position: fixed; inset: var(--source-header) 0 auto var(--source-rail); z-index: 990; display: block; appearance: none; width: calc(100% - var(--source-rail)); height: 4px; border: 0; background: #eef1f7; color: var(--source-blue); }
.source-overall-progress::-webkit-progress-bar { background: #eef1f7; }
.source-overall-progress::-webkit-progress-value { background: var(--source-blue); transition: width .2s ease; }
.source-overall-progress::-moz-progress-bar { background: var(--source-blue); }
.source-secure-note { display: inline-flex; align-items: center; gap: 8px; color: var(--source-muted); font-size: 11px; }
.source-secure-icon { display: block; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; -webkit-mask: url('/assets/icons/phosphor-lock.svg') center / contain no-repeat; mask: url('/assets/icons/phosphor-lock.svg') center / contain no-repeat; }
.source-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--source-icon) center / contain no-repeat; mask: var(--source-icon) center / contain no-repeat; }
.source-icon--credit-card { --source-icon: url('/assets/icons/phosphor-credit-card.svg'); }
.source-icon--calendar-blank { --source-icon: url('/assets/icons/phosphor-calendar-blank.svg'); }
.source-icon--envelope-simple { --source-icon: url('/assets/icons/phosphor-envelope-simple.svg'); }
.source-icon--info { --source-icon: url('/assets/icons/phosphor-info.svg'); }
.source-icon--caret-down { --source-icon: url('/assets/icons/phosphor-caret-down.svg'); }
.source-icon--warning { --source-icon: url('/assets/icons/phosphor-warning.svg'); }
.source-icon--review-arrows { --source-icon: url('/assets/icons/review-arrows.svg'); }
.source-step-status { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--source-blue); font-size: 11px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.source-step-status-label { color: #7a8699; font-weight: 400; }
.source-step-status-label::before { content: ' / '; margin-right: 10px; color: #d0d5dd; }
.source-form-intro h1 { margin: 10px 0 8px; color: #202939; font-size: 28px; font-weight: 600; letter-spacing: -.9px; line-height: 1.25; outline: none; }
.source-step-description { margin: 0 0 20px; color: var(--source-muted); font-size: 14px; line-height: 1.65; }
.source-form-notice, #source-form-error { padding: 16px; margin: 0 0 20px; border: 1px solid #fed7cd; border-radius: 8px; background: #fff6f2; color: #9c3829; font-size: 14px; line-height: 1.6; }
#source-form-error a { color: inherit; }
.jotform-form { width: 100%; padding: 0 !important; }
.jotform-form .form-all, .supernova .jotform-form .form-all { width: 100%; max-width: 680px !important; padding: 0; margin: 0 !important; border: 0; border-radius: 0 !important; background: #fff; box-shadow: none; color: var(--source-ink); font-family: inherit; font-size: 15px; line-height: 1.6; }
.jotform-form ul.form-section { padding: 0; margin: 0; }
.source-overview-card { border: 1px solid #cdd8f3; border-radius: 12px; padding: 0 24px; background: #fff; }
.source-overview-row { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; padding: 13px 0; }
.source-overview-row-fee { grid-template-columns: 20px minmax(0, 1fr) auto; }
.source-overview-row > .source-icon { margin-top: 2px; color: #5876c2; }
.source-overview-row + .source-overview-row { border-top: 1px solid #e4eaf6; }
.source-overview-copy p { margin: 3px 0 0 !important; color: #667085; font-size: 13px !important; line-height: 1.7; }
.source-overview-copy p:first-child { margin-top: 0 !important; color: #344054; }
.source-overview-price { display: block; flex-shrink: 0; padding-top: 2px; color: #273d76; font-size: 26px; font-weight: 600; line-height: 1.2; letter-spacing: -.5px; }
.source-overview-price small { display: block; margin-top: 5px; color: #7a8699; font-size: 10px; font-weight: 400; letter-spacing: .06em; text-align: right; }
.jotform-form .form-html .source-overview-price { font-size: 26px !important; }
.source-service-details { margin-top: 12px; border: 1px solid #e4e7ec; border-radius: 10px; background: #f8fafc; }
.source-service-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; box-sizing: border-box; min-height: 48px; padding: 11px 16px; border-radius: 9px; list-style: none; color: #475467; font-size: 13px; font-weight: 600; cursor: pointer; }
.source-service-details summary::-webkit-details-marker { display: none; }
.source-service-details summary::marker { content: ''; }
.source-service-details summary:hover { background: #f0f4fc; }
.source-service-details summary:focus-visible { outline: 3px solid #92bafb; outline-offset: 3px; }
.source-service-label { display: inline-flex; align-items: center; gap: 10px; }
.source-service-label .source-icon { color: #7383a2; }
.source-service-details .source-icon--caret-down { flex-basis: 16px; width: 16px; height: 16px; color: #64748b; transition: transform .18s ease; }
.source-service-details[open] { border-color: #cdd8f3; background: #fff; }
.source-service-details[open] summary { border-bottom: 1px solid #e4eaf6; border-radius: 9px 9px 0 0; background: #f5f8fe; color: #344e8b; }
.source-service-details[open] .source-icon--caret-down { transform: rotate(180deg); }
.source-service-details > div { padding: 16px; color: #667085; font-size: 13px; line-height: 1.75; }
.source-service-details p:nth-child(3), .source-service-details p:nth-child(4) { display: none; }
.source-phone-status { display: inline-flex; align-items: center; gap: 7px; margin: 8px 0 0; color: #526275; font-size: 12px; font-weight: 600; }
.source-phone-status::before { display: block; width: 7px; height: 7px; border-radius: 50%; background: #94a3b8; content: ''; }
.source-phone-status[data-phone-status='verified'] { color: #16704b; }
.source-phone-status[data-phone-status='verified']::before { background: #218860; }
.source-phone-help { margin: 7px 0 0; color: #667085; font-size: 12px; line-height: 1.65; }

.jotform-form .form-line { box-sizing: border-box; flex-direction: column; width: 100%; padding: 0; margin: 0 0 24px; border-radius: 8px; }
.jotform-form #id_79 { margin-bottom: 18px; }
.jotform-form #id_110 { margin-bottom: 12px; }
.jotform-form #cid_57 .form-pagebreak { margin-top: 0; padding-top: 16px; }
.jotform-form .form-line.form-line-active { background: transparent; }
.jotform-form .form-label { float: none; width: 100% !important; max-width: none; padding: 0; margin: 0 0 10px; color: var(--source-ink); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-align: left; }
.jotform-form .form-label.form-label-auto { float: none; }
.jotform-form .form-input, .jotform-form .form-input-wide { width: 100% !important; max-width: 100%; margin: 0; }
.jotform-form .form-sub-label { margin: 7px 0 0; color: var(--source-muted); font-family: inherit; font-size: 12px; line-height: 1.55; }
.jotform-form .form-sub-label-container { max-width: 100%; }
.jotform-form .form-required { margin-left: 3px; color: var(--source-blue); }
.jotform-form .form-header-group, .jotform-form div.form-header-group.header-large { padding: 0 0 20px; margin: 0 0 26px; border-color: var(--source-border); text-align: left; }
.jotform-form .header-text { text-align: left; }
.jotform-form .form-header-group .form-header { color: var(--source-ink); font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.jotform-form .form-header-group .form-subHeader { margin-top: 7px; color: var(--source-muted); font-size: 14px; }
.jotform-form .form-html { color: #455b74; font-size: 14px; line-height: 1.75; }
.jotform-form .form-html :is(p, span, li) { font-family: inherit !important; font-size: inherit !important; }
.jotform-form .form-html p { margin: 0 0 16px; }
.jotform-form .form-html p:last-child { margin-bottom: 0; }
.jotform-form .form-html strong { font-weight: 600; }
.jotform-form .form-html a { color: var(--source-blue); text-underline-offset: 3px; }
.jotform-form .divider { border-color: var(--source-border) !important; }
.jotform-form #id_126 { margin: 4px 0 24px; }
.jotform-form :is(.form-textbox, .form-textarea, .form-dropdown, .form-radio-other-input, .form-checkbox-other-input) { box-sizing: border-box; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #cbd8e7; border-radius: 8px; background: #fff; box-shadow: none; color: var(--source-ink); font: inherit; font-size: 15px; line-height: 1.4; transition: border-color .15s ease, box-shadow .15s ease; }
.jotform-form .form-textarea { width: 100% !important; min-height: 120px; resize: vertical; }
.jotform-form input::placeholder, .jotform-form textarea::placeholder { color: #7d8ea2; opacity: 1; }
.jotform-form :is(.form-textbox, .form-textarea, .form-dropdown):hover { border-color: #9fb4cc; }
.jotform-form :is(.form-textbox, .form-textarea, .form-dropdown):focus { outline: 0; border-color: var(--source-blue); box-shadow: 0 0 0 3px rgb(29 100 216 / 13%); }
.jotform-form :is(input, textarea, select):disabled { background: #f1f5fa; color: #74869b; cursor: not-allowed; }
.jotform-form [data-type='control_email'] .form-sub-label-container { width: 100%; }
.jotform-form [data-type='control_email'] .form-textbox { width: 100% !important; }
.jotform-form [data-type='control_fullname'] [role='group'] { display: flex; gap: 16px; }
.jotform-form [data-type='control_fullname'] .form-sub-label-container { flex: 1; width: 0; }
.jotform-form [data-type='control_fullname'] input { width: 100%; }
.jotform-form .form-address-line-wrapper { gap: 16px; }
.jotform-form .form-address-line { width: 100%; }
.jotform-form .form-address-line .form-sub-label-container { width: 100%; }
.jotform-form .form-address-line input { width: 100%; }
.jotform-form .form-address-line-wrapper .form-address-line { margin-right: 0; }
.jotform-form :is(#preview-phone-help, #source-phone-help) { margin: 8px 0 0; color: var(--source-muted); font-size: 12px; }

.jotform-form .form-single-column, .jotform-form .form-multiple-column { gap: 10px; }
.jotform-form .form-radio-item, .jotform-form .form-checkbox-item { position: relative; float: none; max-width: 100%; padding: 0; margin: 0 0 10px; overflow: visible; }
.jotform-form .form-multiple-column { display: flex; flex-wrap: wrap; }
.jotform-form .form-multiple-column :is(.form-radio-item, .form-checkbox-item) { flex: 1 1 120px; margin-right: 0; }
.jotform-form :is(.form-radio-item, .form-checkbox-item) :is(.form-radio, .form-checkbox) { position: absolute; appearance: auto; -webkit-appearance: auto; top: 18px; left: 16px; width: 18px; height: 18px; margin: 0; opacity: 1; clip: auto; accent-color: var(--source-blue); z-index: 1; cursor: pointer; }
.jotform-form .form-radio-item .form-radio + label, .jotform-form .form-checkbox-item .form-checkbox + label { box-sizing: border-box; display: block; width: 100%; min-height: 55px; padding: 15px 16px 15px 46px; border: 1px solid #d7e1ed; border-radius: 9px; background: #fff; color: #364e6c; font-family: inherit; font-size: 14px; line-height: 1.65; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.jotform-form :is(.form-radio, .form-checkbox) + label::before, .jotform-form :is(.form-radio, .form-checkbox) + label::after { content: none !important; }
.jotform-form :is(.form-radio, .form-checkbox) + label:hover { border-color: #9eb9df; background: #f8faff; }
.jotform-form :is(.form-radio, .form-checkbox):checked + label { border-color: var(--source-blue); background: #edf4ff; color: #174f9f; }
.jotform-form :is(.form-radio, .form-checkbox):focus-visible { outline: 0; }
.jotform-form :is(.form-radio, .form-checkbox):focus-visible + label { outline: 3px solid #afcdf9; outline-offset: 2px; }
.jotform-form #cid_110 .form-single-column { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jotform-form #cid_110 .form-radio-item { width: 100%; margin: 0; }
.jotform-form #cid_110 .form-radio + label { display: flex; align-items: center; height: 100%; min-height: 52px; padding-block: 12px; font-weight: 500; }
.jotform-form #cid_110 .form-radio { top: 50%; transform: translateY(-50%); }

/* Keep short assessment answers together; give longer lists consistent spacing.
   Conditional rows stay under the provider's control. */
.jotform-form .source-answer-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.jotform-form .source-answer-options[data-answer-columns='2'] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jotform-form .source-answer-options[data-answer-columns='3'] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jotform-form .source-answer-options > .form-radio-item { display: block; width: 100%; min-width: 0; margin: 0 !important; clear: none; }
.jotform-form .source-answer-options .form-radio + label { display: flex; align-items: center; box-sizing: border-box; height: 100%; min-height: 48px; padding: 10px 14px 10px 42px; font-size: 14px; line-height: 1.5; }
.jotform-form .source-answer-options .form-radio { top: 50%; left: 14px; transform: translateY(-50%); }
.jotform-form .source-assessment-question > .form-label { margin-bottom: 10px; }
.jotform-form .source-assessment #id_133 { padding: 12px 14px; margin-bottom: 24px; border: 1px solid var(--source-border); border-radius: 10px; background: #f8fafc; }
.jotform-form .source-assessment #id_133 .form-html { font-size: 13px; line-height: 1.65; }
.jotform-form .source-assessment #id_133 p { margin-bottom: 8px; }
.jotform-form .source-assessment #id_133 p:last-child { margin-bottom: 0; }

.jotform-form .form-line-error { background: transparent !important; }
.jotform-form .form-line-error :is(.form-textbox, .form-textarea, .form-dropdown, .form-radio + label, .form-checkbox + label) { border-color: #ce5e55; box-shadow: none; }
.jotform-form .form-line-error .form-error-message { padding: 0; margin-top: 8px; border: 0; background: transparent; color: #b42318; font-size: 13px; }
.jotform-form .form-line-error .form-error-arrow { display: none; }
.jotform-form .form-pagebreak, .jotform-form .form-buttons-wrapper { padding: 20px 0 4px; margin: 12px 0 0; border-top: 1px solid var(--source-border); }
.jotform-form .form-pagebreak :is(.form-pagebreak-next, .form-pagebreak-back), .jotform-form .form-submit-button { min-width: 230px; min-height: 52px; padding: 12px 24px; border: 1px solid var(--source-blue) !important; border-radius: 999px; background: var(--source-blue) !important; box-shadow: 0 3px 7px rgb(29 100 216 / 12%) !important; color: #fff !important; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-shadow: none; cursor: pointer; }
.jotform-form .form-pagebreak .form-pagebreak-back { min-width: 108px; border-color: #d3deec !important; background: #fff !important; box-shadow: none !important; color: var(--source-muted) !important; }
.jotform-form .form-pagebreak .form-pagebreak-next:hover, .jotform-form .form-submit-button:hover { background: #1555bb !important; }
.jotform-form .form-pagebreak .form-pagebreak-back:hover { background: #f5f8fc !important; }
.jotform-form button:focus-visible, .source-form-header button:focus-visible, .source-help-dialog :is(button, a, summary):focus-visible { outline: 3px solid #92bafb; outline-offset: 4px; }
.jotform-form .form-pagebreak button:disabled { opacity: .55; cursor: not-allowed; }
.jotform-form .pageInfo { color: var(--source-muted); }
.preview-terms { max-height: 260px; overflow: auto; overscroll-behavior: contain; white-space: pre-wrap; padding: 20px; margin-bottom: 16px; border: 1px solid var(--source-border); border-radius: 9px; background: #f7f9fc; color: #455b74; font-size: 13px; line-height: 1.7; }



/* Keep injected error copy inside the navigation width. */
.jotform-form .form-pagebreak { display: flex; flex-wrap: wrap !important; align-items: center; justify-content: space-between; gap: 16px; }
.jotform-form .form-pagebreak-back-container, .jotform-form .form-pagebreak-next-container { float: none; width: auto !important; }
.jotform-form .form-pagebreak-next-container { margin-left: auto; }
.jotform-form .form-pagebreak .form-button-error { position: static; order: 3; flex: 0 0 100%; width: 100%; padding: 0; margin: 0; color: #b42318; text-align: left; font-size: 12px; line-height: 1.6; }
.jotform-form .form-pagebreak .pageInfo:empty { display: none; }
.jotform-form .form-submit-button:disabled { opacity: .55; cursor: not-allowed; }
/* The provider's floating error banner otherwise obscures the fixed step header.
   Every error remains beside its field and in the navigation summary. */
.error-navigation-container { display: none !important; }
.jotform-form .form-line :is(input, select, textarea), .jotform-form .form-error-message { scroll-margin-top: 160px; }
.jotform-form #id_126 { display: none; }
.jotform-form .form-buttons-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.jotform-form .form-buttons-wrapper .form-submit-button { flex: 1; }
.jotform-form #id_101 .form-html { color: #667085; font-size: 13px; text-align: left; }
.jotform-form :is(#id_93, #id_123, #id_170, #id_193, #id_148) { padding: 18px; border: 1px solid #f5c8c3; border-radius: 10px; background: #fff6f5; }
.jotform-form :is(#id_93, #id_123, #id_170, #id_193, #id_148) .form-html { color: #9c3829; }

/* Help stays outside the provider form and uses the browser's modal focus trap. */
html.source-help-open { overflow: hidden; scrollbar-gutter: stable; }
.source-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.source-help-dialog { box-sizing: border-box; width: min(600px, calc(100% - 40px)); max-height: calc(100dvh - 48px); padding: 0; margin: auto; border: 1px solid #e4e7ec; border-radius: 18px; background: #fff; color: var(--source-ink); box-shadow: 0 24px 80px rgb(16 24 40 / 20%); font-family: 'MMC Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.source-help-dialog[open] { display: flex; flex-direction: column; }
.source-help-dialog::backdrop { background: rgb(16 24 40 / 42%); }
.source-help-heading { display: flex; flex: 0 0 auto; align-items: flex-start; gap: 16px; padding: 24px 24px 20px; border-bottom: 1px solid var(--source-border); }
.source-help-heading > div { flex: 1; }
.source-help-heading h2 { margin: 0 0 6px; font-size: 22px; line-height: 1.3; letter-spacing: -.5px; }
.source-help-heading p { margin: 0; color: var(--source-muted); font-size: 13px; line-height: 1.6; }
.source-help-close { box-sizing: border-box; display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--source-border); border-radius: 50%; background: #fff; color: #667085; font: inherit; line-height: 1; cursor: pointer; }
.source-help-close > span { position: relative; display: block; width: 16px; height: 16px; font-size: 0; }
.source-help-close > span::before, .source-help-close > span::after { position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; border-radius: 1px; background: currentColor; content: ''; transform: translate(-50%, -50%) rotate(45deg); }
.source-help-close > span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.source-help-close:hover { background: #f7f8fa; color: var(--source-ink); }
.source-help-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 24px 24px; }
.source-help-faq { border-bottom: 1px solid var(--source-border); }
.source-faq-group + .source-faq-group { margin-top: 24px; }
.source-faq-group h3 { margin: 18px 0 2px; color: #526384; font-size: 11px; font-weight: 600; line-height: 1.6; letter-spacing: .07em; text-transform: uppercase; }
.source-help-faq a { color: #294fc9; text-underline-offset: 3px; overflow-wrap: anywhere; }
.source-help-faq summary { position: relative; padding: 18px 30px 18px 0; list-style: none; color: #344054; font-size: 14px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.source-help-faq summary::-webkit-details-marker { display: none; }
.source-help-faq summary::after { position: absolute; right: 3px; top: 15px; content: '+'; color: #667085; font-size: 22px; font-weight: 400; }
.source-help-faq[open] summary::after { content: '−'; }
.source-help-faq > div { padding: 0 16px 18px 0; color: #667085; font-size: 14px; line-height: 1.7; }
.source-help-faq p { margin: 0 0 10px; }
.source-help-faq p:last-child { margin-bottom: 0; }
.source-help-contact { padding: 18px; margin-top: 24px; border-radius: 10px; background: #f7f8fa; }
.source-help-contact h3 { margin: 0 0 6px; font-size: 14px; }
.source-help-contact p { margin: 0 0 12px; color: #667085; font-size: 13px; line-height: 1.7; }
.source-help-contact a { color: #294fc9; font-size: 13px; font-weight: 600; text-underline-offset: 3px; }
.source-help-footer { flex: 0 0 auto; padding: 16px 24px; border-top: 1px solid var(--source-border); }
.source-help-footer button { width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--source-blue); color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.source-help-footer button:hover { background: #294fc9; }

/* Emergency guidance opens on the current page without interacting with the form. */
.source-emergency-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: #b42318; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.5; text-align: left; cursor: pointer; }
.source-emergency-link:hover { color: #912018; text-decoration: underline; text-underline-offset: 3px; }
.source-sidebar-bottom .source-emergency-link { margin-bottom: 8px; }
.source-emergency-mobile { display: none; }
.source-emergency-dialog { box-sizing: border-box; position: fixed; width: min(480px, calc(100% - 40px)); max-height: calc(100dvh - 40px); padding: 0; margin: auto; overflow: auto; overscroll-behavior: contain; border: 1px solid #e4e7ec; border-radius: 16px; background: #fff; color: var(--source-ink); box-shadow: 0 24px 80px rgb(16 24 40 / 20%); font-family: 'MMC Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.source-emergency-dialog::backdrop { background: rgb(16 24 40 / 42%); }
.source-emergency-close { position: absolute; top: 14px; right: 14px; }
.source-emergency-content { padding: 46px 32px 24px; text-align: center; }
.source-emergency-content > .source-icon { width: 44px; height: 44px; margin: 0 auto 18px; color: #d92d20; }
.source-emergency-content h2 { margin: 0 0 20px; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.5px; }
.source-emergency-content p { margin: 0 0 16px; font-size: 14px; line-height: 1.7; }
.source-emergency-content strong { font-weight: 600; }
.source-emergency-service { color: var(--source-muted); }
.source-emergency-service p { font-size: 13px; }
.source-emergency-actions { display: flex; flex-direction: column; gap: 4px; margin-top: 24px; }
.source-emergency-call, .source-emergency-actions button { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: none; cursor: pointer; }
.source-emergency-call { background: #b42318; color: #fff; }
.source-emergency-call:hover { background: #912018; }
.source-emergency-actions button { background: transparent; color: #475467; }
.source-emergency-actions button:hover { background: #f7f8fa; }
.source-emergency-link:focus-visible, .source-emergency-dialog :is(button, a):focus-visible { outline: 3px solid #92bafb; outline-offset: 3px; }

/* Confirmation shares the application shell, without loading the provider runtime. */
.source-thank-you .source-form-main { padding-bottom: 40px; }
.source-thank-you .source-form-intro h1 { max-width: 520px; margin-block: 18px 12px; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; letter-spacing: -1px; }
.source-thank-you .source-step-description { max-width: 600px; margin-bottom: 24px; }
.source-review-mark { display: grid; place-items: center; width: 52px; height: 52px; margin-top: 28px; border: 1px solid #d5def4; border-radius: 16px; background: #f5f7fe; color: #365de5; }
.source-review-mark .source-icon { width: 28px; height: 28px; }
.source-thank-you h2 { margin: 0 0 16px; color: #202939; font-size: 19px; font-weight: 600; letter-spacing: -.4px; line-height: 1.4; }
.source-next { padding: 4px 0 24px; }
.source-next-row { display: flex; align-items: flex-start; gap: 12px; padding-block: 16px; }
.source-next-row + .source-next-row { border-top: 1px solid #e4eaf6; }
.source-next-row > .source-icon { margin-top: 2px; color: #5876c2; }
.source-next-row h3 { margin: 0 0 5px; font-size: 14px; font-weight: 600; }
.source-next-row p { margin: 0; color: #667085; font-size: 13px; line-height: 1.75; }
.source-thank-you-emergency { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid #f3d6d1; border-radius: 12px; background: #fff9f8; }
.source-thank-you-emergency > .source-icon { margin-top: 2px; color: #b42318; }
.source-thank-you-emergency h2 { margin-bottom: 6px; color: #8e3025; font-size: 14px; letter-spacing: 0; }
.source-thank-you-emergency p { margin: 0; color: #7a524e; font-size: 13px; line-height: 1.75; }
.source-urgent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 10px; }
.source-urgent-actions :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: #a3281f; font: inherit; font-size: 13px; font-weight: 600; text-underline-offset: 3px; cursor: pointer; }
.source-urgent-actions button { color: #7a524e; text-decoration: underline; }
.source-thank-you-faqs { margin-top: 36px; scroll-margin-top: 110px; }
.source-confirmation-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; font-size: 12px; }
.source-confirmation-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #667085; text-underline-offset: 3px; }
.source-confirmation-footer p { margin: 0; }
.source-thank-you :is(a, button, summary):focus-visible { outline: 3px solid #92bafb; outline-offset: 4px; }
@media (min-width: 1450px) { :root { --source-rail: 280px; } .source-form-sidebar { padding-inline: 32px; } .source-form-main { padding-top: 40px; } }
@media (max-width: 1000px) and (min-width: 761px) { :root { --source-rail: 220px; } .source-form-sidebar { padding: 24px 20px; } .source-form-main { padding-inline: 28px; } .source-secure-note { display: none; } }
@media (max-width: 760px) {
  :root { --source-header: 54px; }
  html { scroll-padding-top: 116px; scroll-padding-bottom: var(--source-mobile-actions); }
  .source-form-header { padding: 0 18px 0 7px; }
  .source-form-brand .source-form-wordmark { width: 148px; }
  .source-help-link { font-size: 11px; }
  .source-form-sidebar { display: none; }
  .source-emergency-mobile { display: inline-flex; flex: 0 0 auto; gap: 6px; margin: 0; font-size: 11px; white-space: nowrap; }
  .source-emergency-mobile .source-icon { flex-basis: 16px; width: 16px; height: 16px; }
  .source-emergency-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .source-emergency-content { padding: 52px 24px 20px; }
  .source-emergency-content h2 { font-size: 22px; }
  .source-help-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .source-help-heading { padding: 20px 18px 16px; gap: 10px; }
  .source-help-heading h2 { font-size: 20px; }
  .source-help-body { padding: 0 18px 20px; }
  .source-help-footer { padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); }
  body[data-application-mode] .source-form-main { min-height: calc(100dvh - var(--source-header)); margin-left: 0; padding: 62px 20px calc(var(--source-mobile-actions) + 32px); }
  body[data-application-mode] .jotform-form :is(.form-line, .form-sub-label-container) { scroll-margin-top: 66px; scroll-margin-bottom: 24px; }
  body[data-application-mode] .jotform-form :is(#id_6, #id_8) { position: relative; z-index: 0 !important; }
  .source-overall-progress { left: 0; width: 100%; }
  .source-secure-note { display: none; }
  .source-step-bar { position: fixed; top: calc(var(--source-header) + 4px); left: 0; right: 0; z-index: 990; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 12px; box-sizing: border-box; min-height: 44px; padding: 0 20px; background: #fff; border-bottom: 1px solid #f0f2f6; }
  .source-step-status { flex-direction: column; align-items: flex-start; gap: 0; min-width: 0; font-size: 10px; line-height: 1.5; }
  .source-step-status-label::before { content: none; }
  .source-form-intro h1 { margin-top: 0; font-size: 26px; }
  .source-step-description { margin-bottom: 18px; font-size: 13px; }
  .source-overview-card { padding-inline: 18px; }
  .source-overview-row { padding-block: 12px; column-gap: 12px; }
  .source-overview-price { font-size: 24px; }
  .source-service-details { margin-top: 12px; }
  .jotform-form .form-line { margin-bottom: 24px; }
  .jotform-form .form-label { font-size: 14px; }
  .jotform-form :is(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']), select, textarea) { font-size: 16px !important; }
  .jotform-form :is(.form-textbox, .form-textarea, .form-dropdown) { min-height: 52px; }
  .jotform-form [data-type='control_fullname'] [role='group'] { flex-direction: column; gap: 12px; }
  .jotform-form [data-type='control_fullname'] .form-sub-label-container { flex: 0 0 auto; width: 100%; min-width: 0; margin: 0 !important; }
  .jotform-form #cid_110 .form-single-column { grid-template-columns: 1fr; }
  .jotform-form #id_13 .form-radio-item { flex: 1 1 90px; }
  .jotform-form #id_13 .form-radio + label { padding-left: 35px; padding-right: 10px; font-size: 13px; }
  .jotform-form #id_13 .form-radio { left: 10px; }
  .jotform-form .source-answer-options[data-answer-columns='3'] .form-radio + label { padding-left: 32px; padding-right: 8px; font-size: 13px; }
  .jotform-form .source-answer-options[data-answer-columns='3'] .form-radio { width: 16px; height: 16px; left: 10px; }
  .jotform-form .form-pagebreak { position: fixed; bottom: 0; left: 0; right: 0; z-index: 980; isolation: isolate; box-sizing: border-box; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); margin: 0; border-top: 1px solid #e4e7ec; background: #fff; box-shadow: 0 -4px 18px rgb(16 24 40 / 3%); }
  .jotform-form .form-pagebreak-next-container { flex: 1; }
  .jotform-form .form-pagebreak :is(.form-pagebreak-next, .form-pagebreak-back) { min-width: 0; width: 100%; min-height: 52px; }
  .jotform-form .form-pagebreak-back-container:not(:empty) { flex: 0 0 84px; }
  .jotform-form .form-pagebreak-back-container:empty { display: none; }
  .jotform-form .form-submit-button { min-width: 0; width: 100%; }
  .jotform-form .form-buttons-wrapper { position: fixed; bottom: 0; left: 0; right: 0; z-index: 980; isolation: isolate; box-sizing: border-box; margin: 0; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -4px 18px rgb(16 24 40 / 3%); }
  .jotform-form .form-header-group .form-header { font-size: 21px; }
}
@media (max-width: 359px) { .source-form-main { padding-inline: 16px; } .source-secure-note { display: none; } .source-step-bar { padding-inline: 16px; } .source-step-status-label { font-size: 9px; } .jotform-form #id_13 .form-radio-item { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
