
:root { --navy: #000000;  --navy-2: #111111;  --navy-3: #6B6B6B;  --gold: #5420A4;  --gold-2: #5420A4;  --gold-3: #9472CA;  --gold-4: #D4C8E8;  --gold-pale: #EDE7F7;  --gold-tint: #F7F4FB;  --gold-grad: linear-gradient(0deg, #5420A4 0%, #5420A4 100%); --gold-text: linear-gradient(0deg, #000000 0%, #000000 100%);  --bg: #FFFFFF; --bg-cream: #FAFAFA; --card: #FFFFFF; --line: #DADAE0; --line-soft: #F0F1F5; --gray: #6B7280; --gray-2: #9AA0AE;  --ok: #421981; --danger: #D93025; --warn: #5420A4;  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;  --r-pill: 9999px; --r-card: 16px; --r-el: 12px; --r-input: 12px;  --sh-card: none; --sh-soft: none; --sh-gold: none; --t: 180ms ease;  --shell-yellow: #5420A4; --shell-yellow-dark: #421981; --shell-navy: #000000; --shell-ink: #111111; --shell-amber: #5420A4; --shell-gold: #5420A4; --shell-orange: #7A4FBC; --shell-orange-soft: #EDE7F7; --shell-purple: #000000; --shell-gray: #6B7280; --shell-gray-soft: #9AA0AE; --shell-line: #DADAE0; --shell-line-soft: #F0F1F5; --shell-surface: #FFFFFF; --shell-surface-2: #FAFAFA; --shell-card: #FFFFFF; --shell-font: var(--font); --shell-r-card: 16px; --shell-r-el: 12px; --shell-r-input: 12px; --shell-sh-card: var(--sh-card); --shell-sh-soft: var(--sh-soft); --shell-sh-light: var(--sh-soft); --shell-sh-header: 0 1px 0 rgba(0,0,0,.06); --shell-t: var(--t); --ds-ink: #000000; --ds-ink-deep: #000000; --ds-ink-soft: #F0F1F5; --ds-action: #5420A4; --ds-action-ink: #000000; --ds-gold: #5420A4; --ds-yellow: #5420A4; --ds-paper: #FFFFFF; --ds-card: #FFFFFF; --ds-rule: #F0F1F5; --ds-rule-soft: #F0F1F5; --ds-text: #111111; --ds-text-mid: #6B6B6B; --ds-text-low: #6B7280; --ds-display: var(--font); --ds-body: var(--font); --ds-r-lg: 16px; --ds-r-md: 12px; --ds-r-sm: 12px; --ds-r-xs: 8px; --ds-e1: var(--sh-soft); --ds-e2: var(--sh-card); --ds-e3: var(--sh-card); --ds-t-fast: var(--t); --ds-t-base: var(--t);}

html {touch-action: manipulation; scroll-behavior: smooth;}
html {background: #F0F1F5;}
body {font-family: var(--font); font-size: 15px; font-weight: 400; line-height: 1.45; color: var(--navy-2); background: var(--bg); max-width: 430px; margin: 0 auto; min-height: 100dvh; box-shadow: 0 0 0 1px rgba(0,0,0,.05); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
html, body {overflow-x: hidden;}
img {max-width: 100%; height: auto;}

body, h1, h2, h3, h4, h5, h6, p, a, span, div, li, td, th, label, input, select, textarea, button, strong, em, small {font-family: var(--font) !important; letter-spacing: normal !important;}
h1, h2, h3, h4, h5, h6, p, a, span, div, li, label, button, .ds-eyebrow, .detail-label, .form-label, .stat-label, .released-label, .badge, .trust-badge, .tag, .pill {text-transform: none !important;}
h1 {font-size: clamp(26px, 7vw, 34px); font-weight: 700; line-height: 1.1; color: var(--navy);}
h2 {font-size: clamp(22px, 6vw, 30px); font-weight: 700; line-height: 1.2; color: var(--navy);}
h3 {font-size: clamp(18px, 5vw, 24px); font-weight: 700; line-height: 1.33; color: var(--navy);}
h4 {font-size: 18px; font-weight: 600; line-height: 1.4; color: var(--navy);}
p {font-size: 16px; font-weight: 400; line-height: 1.55; color: var(--navy-2);}

.hl, .hero-title .hl, .line2 {background: none; color: var(--gold); -webkit-text-fill-color: var(--gold); padding: 0;}

.ds-eyebrow, .detail-label, .form-label, .stat-label, .released-label {font-size: 14px; font-weight: 500; color: var(--gray); line-height: 1.4;}

.hero-amount-value, .simulator-amount, .stat-number, .released-value, .detail-value {font-weight: 800; color: var(--navy); font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1;}

.simulator-amount, .hero-amount-value, .released-value {background: none; color: var(--navy); -webkit-text-fill-color: var(--navy); -webkit-text-stroke: 0;}

.ds-ledger {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0;}
.ds-ledger:last-child {}
.ds-ledger > dt, .ds-ledger > .ds-ledger-label {font-size: 14px; font-weight: 500; color: var(--gray);}
.ds-ledger > .ds-ledger-fill {display: none;}
.ds-ledger > dd, .ds-ledger > .ds-ledger-value {margin: 0; font-size: 16px; font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; text-align: right;}
.ds-ledger.is-total {padding-top: 16px; margin-top: 4px;}
.ds-ledger.is-total > dd, .ds-ledger.is-total > .ds-ledger-value {font-size: 24px; font-weight: 800; color: var(--gold);}
.ds-mark, .section-mark {display: block; width: 36px; height: 4px; background: var(--gold-grad); border-radius: 2px; margin-bottom: 12px;}

.card, .info-box, .main-card, .testimonial-card, .stat-card, .sheet, .m2-content {background: var(--card); border: 0; border-radius: var(--r-card); box-shadow: var(--sh-card);}

.btn-cta, .btn-submit, .btn.primary, .final-button, .modal-btn, .button, .header-cta, .btn-next, .btn-primary, .btn-cred, .finish-btn, .slider-confirm-btn, .m2-btn-copy {font-family: var(--font) !important; background: var(--gold-grad) !important; background-color: #5420A4 !important; color: #FFFFFF !important; border: 0 !important; border-radius: var(--r-pill) !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: normal !important; text-transform: none !important; box-shadow: var(--sh-gold) !important; padding: 15px 24px !important; min-height: 52px; cursor: pointer; transition: transform var(--t), box-shadow var(--t), filter var(--t) !important;}
.btn-cta:hover, .btn-submit:hover, .btn.primary:hover, .final-button:hover, .modal-btn:hover, .button:hover, .header-cta:hover, .btn-primary:hover, .btn-cred:hover, .finish-btn:hover, .slider-confirm-btn:hover, .m2-btn-copy:hover {filter: brightness(.92); box-shadow: none !important;}
.btn-cta:active, .btn-submit:active, .btn.primary:active, .final-button:active, .modal-btn:active, .button:active, .header-cta:active, .btn-primary:active, .btn-cred:active, .finish-btn:active, .slider-confirm-btn:active, .m2-btn-copy:active {transform: scale(.97) !important; box-shadow: none !important;}
.header-cta {padding: 10px 18px !important; font-size: 14px !important; min-height: 0; box-shadow: none !important;}

.btn.ghost, .btn-back {background: #F0F1F5 !important; background-image: none !important; color: var(--navy) !important; border: 0 !important; border-radius: var(--r-pill) !important; font-weight: 600 !important; font-size: 16px !important; padding: 14px 24px !important; min-height: 48px; box-shadow: none !important;}
.btn.ghost:hover, .btn-back:hover {background: #E6E6EC !important;}
button:disabled, .btn-submit:disabled, .btn-cta:disabled, .button:disabled {opacity: .5; cursor: not-allowed; transform: none !important;}

a.btn-cta.btn-cta, button.btn-cta.btn-cta, a.btn-submit.btn-submit, button.btn-submit.btn-submit, a.button.button, button.button.button, a.final-button.final-button, button.final-button.final-button, button.modal-btn.modal-btn, a.modal-btn.modal-btn, button.btn-next.btn-next, a.header-cta.header-cta, .btn.primary.primary, .btn-primary.btn-primary, .btn-cred.btn-cred, .finish-btn.finish-btn, .slider-confirm-btn.slider-confirm-btn, .m2-btn-copy.m2-btn-copy {background: var(--gold-grad) !important; background-color: #5420A4 !important; color: #FFFFFF !important; border: 0 !important; text-shadow: none !important;}
a.btn-cta.btn-cta *, button.btn-cta.btn-cta *, a.btn-submit.btn-submit *, button.btn-submit.btn-submit *, a.button.button *, button.button.button *, a.final-button.final-button *, button.final-button.final-button *, button.modal-btn.modal-btn *, button.btn-next.btn-next *, a.header-cta.header-cta *, .btn.primary.primary *, .btn-primary.btn-primary *, .m2-btn-copy.m2-btn-copy * {color: #FFFFFF !important; fill: currentColor; stroke: currentColor;}
.btn-submit::before, .btn-cta::before, .btn-primary::before, .final-button::before {display: none !important;}

svg[fill="none"], svg[fill="none"] * {fill: none !important;}
.btn-cta svg, .btn-submit svg, .btn-primary svg, .final-button svg, .modal-btn svg, .button svg {width: 20px; height: 20px;}

input, select, textarea, button {font-size: 16px !important;}
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea {font-family: var(--font) !important; background: #FFFFFF !important; border: 1.5px solid var(--line) !important; border-radius: var(--r-input) !important; color: var(--navy-2) !important; font-weight: 400 !important; padding: 13px 16px !important; min-height: 48px; transition: border-color var(--t), box-shadow var(--t) !important; -webkit-appearance: none; appearance: none;}
.form-input-wrapper > input, .input-wrapper > input, .input-icon ~ input, input.form-input {padding-left: 46px !important;}
input::placeholder, textarea::placeholder {color: var(--gray-2);}
input:hover, select:hover, textarea:hover {border-color: var(--gold-3) !important;}
input:focus, select:focus, textarea:focus {border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(84,32,164,.16) !important; outline: none !important;}
input[aria-invalid="true"], input.error, select.error {border-color: var(--danger) !important; box-shadow: 0 0 0 3px rgba(217,48,37,.12) !important;}

.benefit-icon, .detail-ic, .stat-ic, .opt-ic, .term-ic, .m2-cover-icon, .info-icon-box, .step-icon, .contact-icon, .vf-step-icon, .check-icon {background: transparent !important; background-image: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; color: var(--navy) !important;}
.benefit-icon svg, .detail-ic svg, .stat-ic svg, .opt-ic svg, .term-ic svg, .m2-cover-icon svg, .info-icon-box svg, .step-icon svg, .contact-icon svg, .vf-step-icon svg, .check-icon svg {color: var(--navy) !important; stroke: var(--navy) !important; width: 24px !important; height: 24px !important;}
.check-icon svg {width: 16px !important; height: 16px !important;}
.opt-mark {color: #FFFFFF;}
.opt.selected .opt-mark {background: var(--navy) !important; border-color: var(--navy) !important;}
.opt.selected {border-color: var(--gold) !important; color: var(--navy) !important;}
.opt:hover {border-color: var(--gold-3) !important;}

a {color: var(--gold); text-decoration: none;}
a:hover {text-decoration: underline;}
:focus-visible {outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 6px;}
::selection {background: rgba(84,32,164,.35); color: var(--navy);}

.container, .wrap, .main-card, .card, .sheet {width: 100%; max-width: 100%;}
@media (min-width: 768px) {
  .wrap, .main-card-container, .stats-section, .testimonials-section {max-width: 768px; margin-left: auto; margin-right: auto;}
  .main-card {max-width: 560px;}
}
@media (min-width: 1200px) {
  .wrap, .main-card-container, .stats-section, .testimonials-section {max-width: 1400px;}
}

body {animation: shellEnter 300ms ease both;}
@keyframes shellEnter {from { opacity: 0; } to { opacity: 1; }}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important;}
  body {animation: none !important;}
}
a, button, [role="button"], label[for] {-webkit-tap-highlight-color: rgba(84,32,164,.10);}

.container {width: 100% !important; max-width: 100vw !important; border-radius: 0 !important; border: none !important; box-shadow: none !important;}
.header-left {display: flex !important; align-items: center !important; gap: 14px !important;}
.header-right {display: flex !important; align-items: center !important; gap: 10px !important;}
.user-info {display: flex; flex-direction: column; align-items: flex-end; gap: 1px;}
.user-name {font-size: 13px; font-weight: 600; color: var(--navy); max-width: 120px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.user-cpf {font-size: 12px; color: var(--gray);}
.user-icon-wrapper {width: 40px; height: 40px; background: transparent; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1.5px solid var(--navy); color: var(--navy);}
.user-icon-wrapper svg {width: 20px; height: 20px; color: var(--navy);}

.m2-header, .m2-header *, .m2-policy-label, .m2-policy-num, .m2-info-label, .m2-info-value {color: var(--navy) !important;}
.m2-header {background: #FFFFFF !important; border-radius: 16px;}
.m2-info-label, .m2-policy-label {opacity: .75;}

hr {display: none !important;}
.ds-ledger, .term, .benefit-item, .m2-total-row, .m2-cover-item, .footer-links, .modal-header, .trust-section, footer {border-top: 0 !important; border-bottom: 0 !important;}
[class*="divide-y"] > * + * {border-top: 0 !important;}

.ph-ic {display: inline-block; vertical-align: middle;}

.header, header.header {position: fixed !important; top: 0 !important; left: 50% !important; right: auto !important; transform: translateX(-50%); width: 100%; max-width: 430px; height: 56px; background: var(--bg) !important; border: 0 !important; box-shadow: none !important; z-index: 1000;}
.header-inner, .header-content {height: 56px; max-width: none; padding: 0 16px !important; display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.header-logo, .header img {height: 22px !important; width: auto;}
.header-cta {padding: 9px 16px !important; font-size: 13px !important; min-height: 0;}
.app-back {width: 40px; height: 40px; margin-left: -8px; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 0; color: var(--navy); cursor: pointer; border-radius: 50%;}
.app-back svg {width: 24px; height: 24px;}
.header-left {gap: 6px !important;}

h1 {font-size: clamp(24px, 6.8vw, 28px); line-height: 1.15;}

.card, .info-box, .main-card, .testimonial-card, .stat-card, .sheet, .m2-content, .balance-card, .info-card, .summary-card, .indenizacao-info, .alert, .pendencia {background: #FFFFFF; border: 0 !important; border-radius: var(--r-card) !important; box-shadow: none !important;}
.main-card-container, .stats-section, .testimonials-section, .hero {padding-left: 16px !important; padding-right: 16px !important;}

.benefit-item, .m2-cover-item, .term, .ds-ledger {min-height: 52px; padding: 12px 0 !important; border: 0 !important; background: transparent !important;}
.opt {border: 1.5px solid var(--line-soft) !important; border-radius: var(--r-el) !important; background: #fff !important; min-height: 56px;}
.opt.selected {border-color: var(--navy) !important;}

.btn-submit, .btn-next, .btn-primary, .final-button, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .hero-cta, .btn-cta#btnSimulate {position: sticky; bottom: 16px; z-index: 5;}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea {min-height: 52px; border-width: 1px !important;}

.quick-actions {display: flex; justify-content: space-between; gap: 10px; margin: 16px 0 4px;}
.qa {flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: var(--navy); text-align: center; line-height: 1.2;}
.qa-ic {width: 60px; height: 60px; border-radius: 50%; background: #FFFFFF; display: flex; align-items: center; justify-content: center; color: var(--navy);}
.qa-ic svg {width: 26px; height: 26px;}

.app-tabbar {position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 430px; height: 76px; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); background: #FFFFFF; display: flex; align-items: flex-end; justify-content: space-around; z-index: 1000;}
.tab {flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 11px; font-weight: 500; color: var(--navy-3); text-decoration: none; background: transparent; border: 0; cursor: pointer; padding: 4px 0;}
.tab svg {width: 24px; height: 24px; color: var(--navy-3);}
.tab.is-active, .tab.is-active svg {color: var(--navy); font-weight: 600;}
.tab-center .tab-ic {width: 56px; height: 56px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; margin-top: -30px; box-shadow: 0 6px 16px rgba(0,0,0,.18);}
.tab-center .tab-ic svg {width: 26px; height: 26px; color: #FFFFFF;}
body.has-tabbar {padding-bottom: 96px;}

#statusError button, .m2-error button {background: var(--gold-grad) !important; background-color: #5420A4 !important; color: #FFFFFF !important; border: 0 !important; border-radius: 9999px !important; padding: 13px 22px !important; font-weight: 600 !important;}

.btn-primary .btn-text, .btn-primary span, .btn-submit span, .btn-cta span, .final-button span, .button span {color: #FFFFFF !important;}

button.text-white, a.text-white.py-4, a.text-white.py-3, button[onclick*="redirect"], button[onclick*="Checkout"] {background: var(--gold-grad) !important; background-color: #5420A4 !important; color: #FFFFFF !important; border: 0 !important; border-radius: 9999px !important;}

header[style], header.header {background: var(--bg) !important; background-image: none !important; color: var(--navy) !important;}
header[style] *, header.header * {color: var(--navy) !important;}

.form-group, *:has(> input#cpf), *:has(> input#paymentDay) {position: relative;}
.form-group .form-label, .form-group > label, *:has(> input#cpf) > label, *:has(> input#paymentDay) > label {position: absolute; left: 16px; top: 50%; transform: translateY(-50%); margin: 0; z-index: 2; pointer-events: none; font-size: 15px !important; font-weight: 400 !important; color: var(--gray) !important; transition: top .14s ease, font-size .14s ease, transform .14s ease; display: block; line-height: 1.2; text-transform: none !important; letter-spacing: normal !important;}
.form-label .label-icon, .form-label .required {display: none !important;}
.form-input-wrapper .input-icon, .input-wrapper .input-icon {display: none !important;}
.form-group input, .form-group select, input#cpf, input#paymentDay, input.form-input {min-height: 60px !important; padding: 26px 16px 8px 16px !important; font-size: 16px !important; color: var(--navy) !important;}
.form-group:has(input:focus) > .form-label, .form-group:not(:has(input:placeholder-shown)) > .form-label, .form-group:has(input:focus) > label, .form-group:not(:has(input:placeholder-shown)) > label, *:has(> input#cpf:focus) > label, *:has(> input#cpf:not(:placeholder-shown)) > label, *:has(> input#paymentDay:focus) > label, *:has(> input#paymentDay:not(:placeholder-shown)) > label {top: 11px; transform: none; font-size: 12px !important; color: var(--gray) !important;}

.form-group input::placeholder, input#cpf::placeholder, input#paymentDay::placeholder {color: transparent;}
.form-group input:focus::placeholder, input#cpf:focus::placeholder, input#paymentDay:focus::placeholder {color: var(--gray-2);}

input:focus, select:focus, textarea:focus {border-color: var(--gold-2) !important; box-shadow: 0 0 0 1px var(--gold-2) !important;}

.error-message, .step-error {font-size: 13px; color: var(--danger); margin-top: 6px;}

*:has(> input#paymentDay) > label.form-label[for="paymentDay"], .form-group > label.form-label[for="paymentDay"] {position: static !important; transform: none !important; top: auto !important; left: auto !important; font-size: 14px !important; font-weight: 500 !important; color: var(--navy-2) !important; margin-bottom: 4px; display: block; pointer-events: auto;}
.form-group > .field-hint, .field-block > .field-hint {font-size: 13px; color: var(--gray); margin: 0 0 8px;}
input#paymentDay {padding: 14px 16px !important; min-height: 52px !important; width: 120px !important; max-width: 100%;}
input#paymentDay::placeholder {color: var(--gray-2);}

body > header:not(.header):not(.doc-head) {position: sticky; top: 0; z-index: 900; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 8px 16px; background: var(--bg);}
body > header:not(.header):not(.doc-head), body > header:not(.header):not(.doc-head) * {color: var(--navy) !important;}
body > header:not(.header):not(.doc-head) [id="userInfoHeader"] > div {background: transparent !important; border: 1.5px solid var(--navy);}

body:has(> .header), body:has(> header.header) {padding-top: 60px !important;}
body:has(> .header) > .container, body:has(> .header) > main, body:has(> header.header) > main, body:has(> header.header) > .container {padding-top: 12px !important;}

body:has(> .header) > .container, body:has(> header.header) > .container, body:has(> .header) > main, body:has(> header.header) > main {margin-top: 0 !important; margin-bottom: auto !important; justify-content: flex-start !important;}

header[data-nav="flow"] .header-content, header[data-nav="flow"]:not(:has(.header-content)) {display: grid !important; grid-template-columns: 40px 1fr 40px; align-items: center; justify-items: stretch; gap: 0;}
header[data-nav="flow"]:has(.header-content) {display: block !important;}
header[data-nav="flow"] .header-content {max-width: none !important; margin: 0 !important; width: 100%;}
header[data-nav="flow"] .header-content {height: 56px; padding: 0 12px !important;}
header[data-nav="flow"]:not(:has(.header-content)) {padding: 0 12px !important; min-height: 56px;}
header[data-nav="flow"] .app-back {grid-column: 1; margin: 0; justify-self: start;}
header[data-nav="flow"] .app-nav-title {grid-column: 2; text-align: center; font-size: clamp(13px, 4.2vw, 16px); font-weight: 600; color: var(--navy); line-height: 1.15; white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere;}
header[data-nav="flow"] .header-left, header[data-nav="flow"] .header-right, header[data-nav="flow"] .header-logo, header[data-nav="flow"] img, header[data-nav="flow"] .user-info, header[data-nav="flow"] .user-icon-wrapper, header[data-nav="flow"] .header-icon, header[data-nav="flow"] .user-avatar, header[data-nav="flow"] #userInfoHeader, header[data-nav="flow"] > div:not(.header-content) {display: none !important;}
header[data-nav="flow"] .header-left {display: contents !important;}
header[data-nav="flow"] .header-left > *:not(.app-back) {display: none !important;}

.doc-head {position: static !important; height: auto !important; transform: none !important;}
body:has(> header.app-nav) {padding-top: 60px !important;}

.header-cta {min-height: 36px !important; display: inline-flex; align-items: center;}
.balance-card {overflow: hidden !important;}

header[data-nav="flow"] .header-content, header[data-nav="flow"]:not(:has(.header-content)) {grid-template-rows: 56px; grid-auto-rows: 0;}
header[data-nav="flow"] .app-back {grid-row: 1; grid-column: 1;}
header[data-nav="flow"] .app-nav-title {grid-row: 1; grid-column: 2;}

a.doc-action, .doc-action {background: var(--gold-grad) !important; background-color: #5420A4 !important; color: #FFFFFF !important; border: 0 !important; border-radius: 9999px !important; padding: 15px 24px !important; min-height: 52px; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 600 !important;}

.topbar {display: none !important;}
.main-header:empty, .loading:empty, .progress-bar:empty {display: none !important;}

.main-header {background: var(--bg) !important; background-image: none !important; color: var(--navy) !important; padding: 8px 16px 12px !important;}
.main-header * {color: var(--navy) !important;}
.indenizacao-info {margin-top: 0 !important;}

.alert, .pendencia, .info-card, .summary-card {background: var(--gold-tint) !important;}
.alert, .alert *, .pendencia, .pendencia *, .info-card, .info-card *, .summary-card, .summary-card * {color: var(--navy) !important;}

@keyframes shellRise {from {opacity: 0; transform: translate3d(0,14px,0);} to {opacity: 1; transform: none;}}
@keyframes shellBarIn {from {opacity: 0; transform: translate(-50%,-10px);} to {opacity: 1; transform: translate(-50%,0);}}
@keyframes shellBarInStatic {from {opacity: 0; transform: translateY(-10px);} to {opacity: 1; transform: none;}}
@keyframes shellTabIn {from {opacity: 0; transform: translate(-50%,24px);} to {opacity: 1; transform: translate(-50%,0);}}
@keyframes shellShine {0% {transform: translateX(-160%) skewX(-18deg);} 45%, 100% {transform: translateX(320%) skewX(-18deg);}}
@keyframes shellRing {0% {transform: scale(1); opacity: .55;} 100% {transform: scale(1.7); opacity: 0;}}
@keyframes shellPop {0% {transform: scale(.6); opacity: 0;} 70% {transform: scale(1.08); opacity: 1;} 100% {transform: none; opacity: 1;}}
@keyframes shellStamp {0% {transform: scale(1.35) rotate(-4deg); opacity: 0;} 60% {transform: scale(.96) rotate(0deg); opacity: 1;} 100% {transform: none; opacity: 1;}}
@keyframes shellBreathe {0%, 100% {transform: translateX(-50%) scale(1); opacity: .55;} 50% {transform: translateX(-50%) scale(1.12); opacity: .8;}}

body {isolation: isolate;}
body::before {content: ''; position: fixed; z-index: -1; top: -120px; left: 50%; width: min(100vw, 430px); height: 380px; pointer-events: none; transform: translateX(-50%); background: radial-gradient(circle at 78% 55%, rgba(179,127,224,.55) 0%, rgba(84,32,164,.22) 30%, rgba(255,255,255,0) 60%); animation: shellBreathe 9s ease-in-out infinite;}

.header, header.header {animation: shellBarIn .45s cubic-bezier(.22,.8,.3,1) backwards;}
body > header:not(.header):not(.doc-head) {animation: shellBarInStatic .45s cubic-bezier(.22,.8,.3,1) backwards;}
.app-tabbar {animation: shellTabIn .5s cubic-bezier(.22,.8,.3,1) .15s backwards;}

:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > *, .m2-header {animation: shellRise .5s cubic-bezier(.22,.8,.3,1) backwards;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(1) {animation-delay: 40ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(2) {animation-delay: 95ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(3) {animation-delay: 150ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(4) {animation-delay: 205ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(5) {animation-delay: 260ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(6) {animation-delay: 315ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(7) {animation-delay: 370ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(8) {animation-delay: 425ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(9) {animation-delay: 480ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(10) {animation-delay: 535ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(11) {animation-delay: 590ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(12) {animation-delay: 645ms;}
:is(.hero, .quick-actions, .step, .section.active, .sheet, .doc-head, .statement, .statement dl, .card, .card-final, .content-initial, .final, .m2-content, .info-card, .info-card ul, .opt-list, .benefits-list, .notes, .vf-view, .main-container > .container, main > div, .bg-white, .stats-grid, .stats-section, .testimonials-section, .testimonials-grid, .chat-container, .attendant-body, .simulator-details, .block) > :nth-child(n+13) {animation-delay: 700ms;}
.m2-header {animation-delay: 40ms;}

.doc-head > .stamp, .sheet > .doc-stamp {animation: shellStamp .55s cubic-bezier(.2,.8,.2,1) .25s backwards;}
.hero-amount-value, .ds-ledger.is-total > dd, .ds-ledger.is-total > .ds-ledger-value {animation: shellPop .5s cubic-bezier(.2,.8,.2,1) .35s backwards;}
.opt.selected .opt-mark {animation: shellPop .28s cubic-bezier(.2,.8,.2,1);}

.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn, .header-cta {position: relative; overflow: hidden; isolation: isolate;}
.btn-submit, .btn-next, .btn-primary, .final-button, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .hero-cta, .btn-cta#btnSimulate {position: sticky;}
:is(.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn)::after {content: '' !important; display: block !important; position: absolute !important; top: 0 !important; bottom: 0 !important; left: 0 !important; width: 40% !important; height: auto !important; border-radius: 0 !important; opacity: 1 !important; background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,0) 100%) !important; transform: translateX(-160%) skewX(-18deg); animation: shellShine 3.6s cubic-bezier(.4,0,.2,1) 1.2s infinite; pointer-events: none; z-index: 0;}
:is(.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn):disabled::after, :is(.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn).disabled::after {animation: none; opacity: 0 !important;}
:is(.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn) > * {position: relative; z-index: 1;}

.opt, .qa-ic, .tab svg, .app-back, .tab-center .tab-ic, .m2-cover-item, .benefit-item, .faq-item {transition: transform .18s cubic-bezier(.2,.8,.2,1), background-color .18s ease;}
.opt:active {transform: scale(.985);}
.qa:hover .qa-ic {transform: translateY(-2px);}
.qa:active .qa-ic {transform: scale(.92);}
.tab:active svg {transform: scale(.85);}
.app-back:active {transform: scale(.9); background: var(--gold-tint);}
.benefit-item:hover, .m2-cover-item:hover {transform: translateX(3px);}

.tab-center .tab-ic {position: relative;}
.tab-center .tab-ic::after, .slider-thumb::after {content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid rgba(0,0,0,.35); animation: shellRing 2.4s ease-out infinite; pointer-events: none;}
.slider-thumb::after {inset: -8px; border-color: rgba(84,32,164,.5); animation-duration: 2.2s;}
.slider-thumb.active::after, .slider-thumb:active::after {animation: none; opacity: 0;}

@supports (animation-timeline: view()) {
  .stats-section .stat-card, .testimonials-grid > .testimonial-card, .testimonials-section > .testimonial-card, .benefits-list > .benefit-item, .simulator-details > .detail-box {animation: shellRise .5s cubic-bezier(.22,.8,.3,1) both; animation-delay: 0s; animation-timeline: view(); animation-range: entry 5% entry 40%;}
}

@keyframes shellDot {0%, 100% {transform: scale(1); opacity: 1;} 50% {transform: scale(1.45); opacity: .55;}}
.stamp, .doc-stamp {display: inline-flex; align-items: center; gap: 8px;}
.stamp::before, .doc-stamp::before {content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-2); animation: shellDot 1.8s ease-in-out infinite;}
.progress-bar > *, .progress-bar-fill, .progress-fill, .slider-progress, .loading-bar > span {transition: width .6s cubic-bezier(.22,.8,.3,1);}
.tab {position: relative;}
.tab.is-active::after {content: ''; position: absolute; bottom: -2px; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-2); transform: translateX(-50%);}
@media (hover: hover) {
  .stat-card, .testimonial-card, .card, .opt, .qa-ic, .m2-cover-item, .detail-box {transition: transform .22s cubic-bezier(.2,.8,.2,1);}
  .stat-card:hover, .testimonial-card:hover, .detail-box:hover {transform: translateY(-3px);}
}

h1, h2, h3, h4, p, li, label, dt, dd, .opt-label, .step-title, .step-desc, .app-nav-title, .benefit-title, .benefit-text, .qa {overflow-wrap: anywhere; hyphens: manual;}
.step-title {font-size: clamp(20px, 6.2vw, 26px) !important; line-height: 1.2;}
.step-desc, .opt-note, .step-subtitle {font-size: clamp(13px, 4.1vw, 15px) !important;}
.opt-label {font-size: clamp(13.5px, 4.3vw, 16px) !important; line-height: 1.25; min-width: 0;}
.opt-body {min-width: 0;}
@media (max-width: 374px) {
  .opt {padding-left: 12px !important; padding-right: 12px !important; gap: 10px !important;}
  .opt-ic {width: 30px !important; height: 30px !important; min-width: 30px !important;}
  .card, .sheet, .main-card, .m2-content {padding-left: 14px !important; padding-right: 14px !important;}
  .step-nav {gap: 8px !important;}
  .btn-back, .btn-next {padding-left: 16px !important; padding-right: 16px !important;}
  body {font-size: 14px;}
  p {font-size: 15px;}
}
@media (max-width: 340px) {
  .opt-label {font-size: 13px !important;}
  .dot-label {font-size: 10.5px !important;}
}

body {font-weight: 400; color: #000000;}
h1, h2, h3, h4 {font-weight: 600; color: #000000;}
h1 {font-size: clamp(26px, 7vw, 30px); line-height: 1.15;}
p {color: #000000;}
.ds-eyebrow, .detail-label, .form-label, .stat-label, .released-label, .hero-amount-label, .simulator-label, .benefit-text, .section-subtitle, .step-desc, .field-hint, .opt-note, .m2-info-label {color: #6B6B6B;}
body::before {content: none !important;}
:is(.btn-cta, .btn-submit, .btn-primary, .final-button, .btn-next, .finish-btn, .slider-confirm-btn, .m2-btn-copy, .doc-action, .button, .modal-btn)::after {display: none !important;}
.app-tabbar {display: none !important;}
body.has-tabbar {padding-bottom: 24px;}

.header, header.header {background: #FFFFFF !important;}
.app-back, .app-back svg, header[data-nav="flow"] .app-nav-title {color: #000000;}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea, .form-group input, .form-group select, input#cpf, input#paymentDay, input.form-input {background: transparent !important; border: 0 !important; border-bottom: 1.5px solid #C9C9D1 !important; border-radius: 0 !important; padding: 10px 0 !important; min-height: 48px !important; font-size: 18px !important; font-weight: 500 !important; color: #000000 !important; box-shadow: none !important;}
input:hover, select:hover, textarea:hover {border-color: #9B9BA6 !important;}
input:focus, select:focus, textarea:focus, .form-group input:focus {border-bottom: 2px solid var(--gold) !important; box-shadow: none !important; outline: none !important;}
input[aria-invalid="true"], input.error, select.error {border-bottom-color: var(--danger) !important; box-shadow: none !important;}
.form-input-wrapper > input, .input-wrapper > input, .input-icon ~ input, input.form-input {padding-left: 0 !important;}
.form-group .form-label, .form-group > label, *:has(> input#cpf) > label, *:has(> input#paymentDay) > label, .form-group:has(input:focus) > .form-label, .form-group:not(:has(input:placeholder-shown)) > .form-label, .form-group:has(input:focus) > label, .form-group:not(:has(input:placeholder-shown)) > label, *:has(> input#cpf:focus) > label, *:has(> input#cpf:not(:placeholder-shown)) > label {position: static !important; transform: none !important; top: auto !important; left: auto !important; font-size: 13px !important; font-weight: 500 !important; color: #6B6B6B !important; margin: 0 0 2px; display: block; pointer-events: auto;}
.form-group input::placeholder, input#cpf::placeholder, input#paymentDay::placeholder, input::placeholder, textarea::placeholder {color: #9B9BA6 !important;}

.opt {border: 0 !important; border-bottom: 1px solid #EDEDF2 !important; border-radius: 0 !important; background: transparent !important; padding: 16px 0 !important; min-height: 56px;}
.opt-list > .opt:last-child {border-bottom: 0 !important;}
.opt-ic {background: transparent !important; width: 28px !important; height: 28px !important; min-width: 28px !important; border-radius: 0 !important;}
.opt-ic svg {color: #000000 !important; stroke: #000000 !important;}
.opt-mark {border-radius: 50% !important; border: 1.5px solid #9B9BA6 !important; width: 24px !important; height: 24px !important;}
.opt.selected {border-bottom-color: #EDEDF2 !important; color: #000000 !important;}
.opt.selected .opt-mark {background: var(--gold) !important; border-color: var(--gold) !important; color: #FFFFFF !important;}
.opt.selected .opt-ic {background: transparent !important;}

.card, .info-box, .main-card, .testimonial-card, .stat-card, .sheet, .m2-content, .balance-card, .indenizacao-info {background: #FFFFFF; border: 0 !important; border-radius: 16px !important;}
.alert, .pendencia, .info-card, .summary-card, .detail-box, .simulator-section, .m2-header {background: #F5F5F7 !important; border: 0 !important; border-radius: 16px !important;}
.alert, .alert *, .pendencia, .pendencia *, .info-card, .info-card *, .summary-card, .summary-card * {color: #000000 !important;}

.benefit-icon, .detail-ic, .stat-ic, .term-ic, .m2-cover-icon, .info-icon-box, .step-icon, .contact-icon, .vf-step-icon, .check-icon, .benefit-icon svg, .detail-ic svg, .stat-ic svg, .term-ic svg, .m2-cover-icon svg, .info-icon-box svg, .step-icon svg, .contact-icon svg, .vf-step-icon svg, .check-icon svg, .ph-ic {color: #000000 !important; stroke: #000000 !important;}
.ds-mark, .section-mark {background: var(--gold); width: 28px;}
.ds-ledger.is-total > dd, .ds-ledger.is-total > .ds-ledger-value {color: #000000;}

.quick-actions {display: flex; gap: 8px; margin: 8px 0 4px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px;}
.quick-actions::-webkit-scrollbar {display: none;}
.qa {flex: 0 0 76px; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px !important; font-weight: 500; color: #000000; text-align: center; line-height: 1.2; text-decoration: none; background: transparent; border: 0; padding: 0; cursor: pointer; font-family: var(--font);}
.qa-ic {width: 64px; height: 64px; border-radius: 50%; background: #F0F1F5; display: flex; align-items: center; justify-content: center; color: #000000;}
.qa-ic svg {width: 26px; height: 26px;}
.qa:active .qa-ic {background: #E2E2EA; transform: scale(.94);}

.slider-progress {background: var(--gold) !important;}
.slider-thumb {border-color: var(--gold) !important;}
.slider-thumb::after {border-color: rgba(84,32,164,.45);}
.stamp::before, .doc-stamp::before {background: var(--gold);}

.stamp, .doc-stamp, .badge, .tag, .pill, .trust-badge {background: #F0F1F5 !important; color: #000000 !important; border: 0 !important;}

body {line-height: 1.5;}
.ds-mark, .section-mark {display: none !important;}
.page-title, .page-subtitle, .page-desc, .step-title, .step-desc {text-align: left !important;}
.page-title {font-family: var(--font) !important; font-size: clamp(22px, 6.4vw, 26px) !important; font-weight: 600 !important; color: #000000 !important; line-height: 1.2 !important;}
.page-subtitle, .page-desc {font-size: 15px !important; color: #6B6B6B !important;}
.page-title svg {color: #000000 !important;}

.app-nav-step {grid-column: 3; grid-row: 1; justify-self: end; font-size: 12px; font-weight: 500; color: #6B6B6B; white-space: nowrap;}

.app-band {display: flex; align-items: flex-end; padding: 0 16px 18px; height: auto; min-height: 132px;}
.app-greet {color: #FFFFFF; font-size: 20px; font-weight: 600; line-height: 1.25; margin: 0;}
.app-greet small {display: block; font-size: 14px; font-weight: 400; opacity: .92; margin-top: 4px; line-height: 1.4;}

.testimonial-card, .testimonials-grid > * {background: #F5F5F7 !important; border-radius: 16px !important; padding: 16px !important;}
.stats-grid {gap: 8px;}
.stat-card {background: #F5F5F7 !important; border-radius: 16px !important; padding: 16px 8px !important;}

.alert, .pendencia, .info-card, .summary-card, .alert-box, .info-box, .box, .indenizacao-info {text-align: left !important; border: 0 !important; box-shadow: none !important;}
.alert-danger {background: #FFF3F2 !important; border: 0 !important; border-left: 4px solid #D93025 !important; border-radius: 12px !important;}
.alert-danger, .alert-danger * {color: #7A1C14 !important;}

main [class*="border"] {border-color: #EDEDF2 !important; border-width: 1px !important;}
main .border-l-4 {border-left-width: 4px !important;}
main [class*="shadow"] {box-shadow: none !important;}
main .rounded-lg {border-radius: 16px !important;}
main [class*="bg-red"] {background: #FFF3F2 !important;}
main [class*="bg-green"], main [class*="from-green"] {background: #F7F4FB !important; background-image: none !important;}
.countdown-box {background: #5420A4 !important; background-image: none !important; border-radius: 16px !important;}
.countdown-box, .countdown-box * {color: #FFFFFF !important;}

.hero-badge, .status-badge, .doc-stamp, .stamp, main .rounded-full.inline-flex, main .rounded-full.inline-block {background: #F0F1F5 !important; color: #000000 !important; border: 0 !important;}

.video-container, .video-container video, video {border-radius: 16px; overflow: hidden;}

.modal-dismiss, .link-secondary {color: var(--gold) !important; background: transparent !important; border: 0 !important; font-weight: 600 !important;}
