
        * { box-sizing: border-box; margin: 0; padding: 0; }
        html, body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            background: transparent;
            color: #0A407A;
        }
        html.is-embedded .form-wrap.ie-lp,
        html.is-embedded .ie-lp .lp-sidebar,
        html.is-embedded .ie-lp .lp-hero {
            min-height: 0;
        }
        .form-wrap {
            background: #ffffff;
            border-radius: 10px;
            padding: 24px;
            max-width: 100%;
        }
        .form-wrap h2 {
            font-size: 20px;
            margin-bottom: 4px;
            color: #0A407A;
        }
        .form-wrap .desc {
            color: #888;
            font-size: 13px;
            margin-bottom: 0;
        }
        .form-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 20px;
        }
        .form-header-copy { min-width: 0; }
        .form-logo {
            width: 64px;
            height: 64px;
            flex: 0 0 64px;
            object-fit: contain;
        }
        .field { margin-bottom: 16px; }
        	        .field-message {
	            margin-bottom: 16px;
	            padding: 12px 14px;
	            border-radius: 10px;
	            background: #25589C12;
	            color: #0A407A;
	            font-size: 14px;
	            line-height: 1.45;
	            white-space: pre-line;
	        }
	        .field-message.has-investment-simulation {
	            padding: 0;
	            border: 0;
	            background: transparent;
	        }
	        .investment-simulation {
	            margin-top: 14px;
	            padding: 20px;
	            border: 1px solid #E2E8F0;
	            border-radius: 10px;
	            background: #fff;
	        }
	        .investment-simulation h3 {
	            margin: 14px 0 12px;
	            color: #0A407A;
	            font-size: 18px;
	        }
	        .investment-simulation h3 [data-investment-program] {
	            display: block;
	            margin-top: 4px;
	            color: #25589C;
	            font-size: 14px;
	            font-weight: 750;
	        }
	        .investment-simulation-range {
	            margin: 0 0 18px;
	            padding: 18px 20px;
	            border: 2px solid #25589C;
	            border-radius: 10px;
	            background: #25589C0d;
	            color: #25589C;
	            font-size: 28px;
	            font-weight: 800;
	            line-height: 1.25;
	        }
	        .investment-simulation-note {
	            margin: 0;
	            color: #52627a;
	            font-size: 13px;
	            line-height: 1.5;
	        }
	        .investment-simulation-list {
	            display: grid;
	            grid-template-columns: repeat(2, minmax(0, 1fr));
	            gap: 10px;
	            margin: 18px 0;
	            padding: 0;
	            list-style: none;
	        }
	        .investment-simulation-list.single-value {
	            grid-template-columns: 1fr;
	        }
	        .investment-simulation-list li {
	            padding: 18px 20px;
	            border: 2px solid #25589C;
	            border-radius: 10px;
	            background: #25589C0d;
	            color: #263750;
	            line-height: 1.45;
	        }
	        .investment-simulation-list strong {
	            display: block;
	            margin-bottom: 7px;
	            color: #0A407A;
	            font-size: 14px;
	        }
	        .investment-simulation-value {
	            display: block;
	            color: #25589C;
	            font-size: 28px;
	            font-weight: 800;
	            line-height: 1.2;
	        }
	        .investment-simulation-closing { margin: 0; }
        .field label {
            display: block;
            font-weight: 600;
            margin-bottom: 5px;
            font-size: 14px;
            color: #0A407A;
        }
	        .field label .req { color: #e74c3c; }
	        .field .field-error {
	            display: none;
	            color: #c62828;
	            font-size: 12px;
	            margin-top: 5px;
	        }
	        .field.invalid input,
	        .field.invalid select,
	        .field.invalid textarea {
	            border-color: #c62828;
	        }
	        .field.invalid .field-error { display: block; }
	        .field input[type="text"],
        .field input[type="email"],
        .field input[type="tel"],
        .field input[type="number"],
        .field input[type="url"],
        .field input[type="date"],
        .field select,
        .field textarea {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #ddd;
            border-radius: 10px;
            font-size: 14px;
            font-family: 'Inter', sans-serif;
            color: #0A407A;
            background: #fff;
            transition: border-color 0.2s;
        }
        .field input:focus, .field select:focus, .field textarea:focus {
            outline: none;
            border-color: #25589C;
            box-shadow: 0 0 0 3px #25589C26;
        }
        .field .phone-input-group {
            display: grid;
            grid-template-columns: minmax(132px, 168px) minmax(0, 1fr);
            gap: 8px;
        }
        .field .phone-input-group select,
        .field .phone-input-group input { min-width: 0; }
        .phone-whatsapp-hint {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-top: 8px;
            color: #F4A800;
            font-size: 13px;
            font-weight: 700;
        }
        .phone-whatsapp-notice {
            margin-top: 14px;
            padding: 18px;
            border: 1px solid #F5C545;
            border-radius: 10px;
            background: #F5C54522;
            color: #0A407A;
            line-height: 1.5;
        }
        .phone-whatsapp-notice strong {
            display: block;
            margin-bottom: 8px;
            color: #0A407A;
            font-size: 16px;
        }
        .phone-whatsapp-notice p { margin: 0; }
        .phone-whatsapp-dismiss {
            display: inline-block;
            margin-top: 12px;
            padding: 0;
            border: 0;
            background: transparent;
            color: #25589C;
            font: inherit;
            font-weight: 750;
            text-decoration: underline;
            text-underline-offset: 2px;
            cursor: pointer;
        }
        .field textarea { resize: vertical; }
        .field .radio-group label,
        .field .checkbox-group label {
            font-weight: normal;
            display: inline-flex;
            align-items: center;
            margin-right: 15px;
            cursor: pointer;
            gap: 5px;
        }
        .submit-btn, .next-btn, .prev-btn {
            padding: 12px;
            border: none;
            border-radius: 10px;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            font-family: 'Inter', sans-serif;
            margin-top: 8px;
        }
        .submit-btn, .next-btn {
            background: #25589C;
            color: white;
        }
        .submit-btn { width: 100%; }
        .next-btn { flex: 1; }
        .prev-btn {
            background: #f0f0f0;
            color: #333;
        }
        .submit-btn:hover, .next-btn:hover { filter: brightness(0.9); }
        .prev-btn:hover { background: #e0e0e0; }
        .submit-btn:disabled, .next-btn:disabled { opacity: 0.6; cursor: not-allowed; }
        .msg {
            display: none;
            padding: 12px;
            border-radius: 10px;
            margin-top: 12px;
            font-size: 14px;
        }
        .msg.success { display: block; background: #d4edda; color: #155724; }
        .msg.error { display: block; background: #f8d7da; color: #721c24; }
        .msg.success.minor-success {
            padding: 24px;
            border: 1px solid #c7e9d0;
            background: #f2fbf5;
            color: #0A407A;
            text-align: left;
            line-height: 1.65;
        }
        .minor-success h3 {
            margin: 0 0 18px;
            color: #0A407A;
            font-size: 26px;
            line-height: 1.2;
        }
        .minor-success p { margin: 0 0 14px; }
        .minor-success p:last-child { margin-bottom: 0; }
        .minor-success .minor-investment {
            margin: 22px 0;
            padding: 20px;
            border: 1px solid #E2E8F0;
            border-radius: 10px;
            background: #fff;
        }
        .minor-success .minor-investment h4 {
            margin: 0 0 6px;
            color: #0A407A;
            font-size: 18px;
        }
        .minor-success .minor-investment-range {
            margin-bottom: 16px;
            color: #25589C;
            font-size: 24px;
            font-weight: 750;
            line-height: 1.25;
        }
        .minor-success .minor-investment-note {
            color: #52627a;
            font-size: 13px;
        }
        .minor-success .minor-investment-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin: 18px 0;
            padding: 0;
            list-style: none;
        }
        .minor-success .minor-investment-list li {
            padding: 12px 14px;
            border-radius: 8px;
            background: #f5f8fc;
            color: #263750;
            line-height: 1.45;
        }
        .minor-success .minor-investment-list strong {
            display: block;
            margin-bottom: 3px;
            color: #0A407A;
        }
        .minor-success a {
            color: #25589C;
            font-weight: 700;
            text-decoration: underline;
            text-underline-offset: 2px;
        }
        .minor-success .minor-success-closing {
            margin-top: 20px;
            font-weight: 700;
        }

        @media (max-width: 640px) {
            .minor-success .minor-investment-list { grid-template-columns: 1fr; }
	        .investment-simulation-list { grid-template-columns: 1fr; }
            .msg.success.minor-success { padding: 18px; }
            .minor-success .minor-investment { padding: 16px; }
	        .investment-simulation { padding: 16px; }
        }

        /* Multistep styles */
        .steps-progress {
            display: flex;
            align-items: center;
            margin-bottom: 24px;
            gap: 0;
        }
        .step-indicator {
            display: flex;
            align-items: center;
            flex: 1;
        }
        .step-dot {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 700;
            flex-shrink: 0;
            transition: all 0.3s;
        }
        .step-dot.active {
            background: #25589C;
            color: #fff;
        }
        .step-dot.completed {
            background: #25589C;
            color: #fff;
        }
        .step-dot.pending {
            background: #e8e8e8;
            color: #999;
        }
        .step-line {
            flex: 1;
            height: 2px;
            margin: 0 4px;
            transition: background 0.3s;
        }
        .step-line.completed { background: #25589C; }
        .step-line.pending { background: #e8e8e8; }
        .step-title {
            font-size: 11px;
            color: #888;
            text-align: center;
            margin-top: 4px;
        }
        .step-title.active { color: #25589C; font-weight: 600; }
        .steps-labels {
            display: flex;
            margin-bottom: 16px;
        }
        .steps-labels .step-label-item {
            flex: 1;
            text-align: center;
            font-size: 11px;
            color: #999;
        }
        .steps-labels .step-label-item.active { color: #25589C; font-weight: 600; }
        .steps-labels .step-label-item.completed { color: #25589C; }
        .session-timer { color: #64748b; font-size: 12px; text-align: right; font-variant-numeric: tabular-nums; margin: 0 0 12px; }
        .step-section { display: none; }
        .step-section.active {
            display: block;
            animation: step-enter 280ms cubic-bezier(.22, 1, .36, 1) both;
        }
        @keyframes step-enter {
            from { opacity: 0; transform: translateY(12px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @media (prefers-reduced-motion: reduce) {
            .step-section.active { animation: none; }
        }
        .btn-row {
            display: flex;
            gap: 8px;
            margin-top: 8px;
        }
        .saving-indicator {
            font-size: 12px;
            color: #999;
            text-align: center;
            margin-top: 8px;
            display: none;
        }
        .saving-indicator.visible { display: block; }

        /* IE smart form: visual language from the approved LP presentation */
        body.ie-lp-page {
            background: #E2E8F0;
        }
        .form-wrap.ie-lp {
            width: 100%;
            min-height: 100vh;
            max-width: 1680px;
            margin: 0 auto;
            padding: 0;
            display: grid;
            grid-template-columns: 300px minmax(0, 1fr);
            overflow: hidden;
            border-radius: 0;
            background: #fff;
            position: relative;
        }
        .form-wrap.ie-lp.has-hero {
            grid-template-columns: 300px minmax(0, 1fr);
        }
        .ie-lp .lp-sidebar {
            grid-row: 1;
            grid-column: 1;
            min-height: 100vh;
            padding: 52px 34px 38px;
            background: #0A407A;
            color: #fff;
            display: flex;
            flex-direction: column;
        }
        .ie-lp .lp-brand {
            color: #F5C545;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .14em;
            text-transform: uppercase;
        }
        .ie-lp .lp-sidebar h1 {
            margin: 22px 0 10px;
            max-width: 180px;
            color: #fff;
            font-size: 21px;
            line-height: 1.18;
            letter-spacing: -.025em;
        }
        .ie-lp .lp-sidebar-copy {
            max-width: 178px;
            color: #E2E8F0;
            font-size: 12px;
            line-height: 1.55;
        }
        .ie-lp .lp-stage-label {
            margin-top: 32px;
            color: #E2E8F0;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: .12em;
            text-transform: uppercase;
        }
        .ie-lp .lp-stage-name {
            margin-top: 9px;
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            line-height: 1.45;
        }
        .ie-lp .lp-main {
            grid-row: 1;
            grid-column: 2;
            min-width: 0;
            padding: 36px clamp(46px, 4vw, 60px) 32px;
            background: #fff;
            position: relative;
            z-index: 2;
        }
        .ie-lp.has-hero .lp-main {
            width: 590px;
            max-width: 100%;
            background: transparent;
        }
        .ie-lp .lp-hero {
            display: none;
            grid-column: 2;
            grid-row: 1;
            min-height: 100vh;
            background-color: #E2E8F0;
            background-position: center;
            background-size: cover;
            position: relative;
            z-index: 1;
        }
        .ie-lp.has-hero .lp-hero { display: block; }
        .ie-lp.has-hero .lp-main,
        .ie-lp.has-hero .lp-hero {
            grid-area: 1 / 2;
        }
        .ie-lp .form-header {
            margin-bottom: 26px;
            align-items: flex-start;
        }
        .ie-lp:not(.has-hero) .form-header,
        .ie-lp:not(.has-hero) #embed-form,
        .ie-lp:not(.has-hero) #form-msg,
        .ie-lp:not(.has-hero) .lp-footer {
            max-width: 980px;
        }
        .ie-lp .form-header-copy { max-width: 620px; }
        .ie-lp.has-hero .form-header {
            display: block;
            position: relative;
            padding-top: 28px;
        }
        .ie-lp.has-hero .form-header-copy { max-width: 100%; }
        .ie-lp.has-hero .form-logo {
            position: absolute;
            top: 28px;
            right: -78px;
        }
        .ie-lp .lp-kicker {
            margin-bottom: 10px;
            color: #25589C;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
        .ie-lp.has-hero .lp-kicker { display: none; }
        .ie-lp.has-hero #lp-step-title { white-space: pre-line; }
        .ie-lp.form-wrap h2 {
            margin: 0;
            color: #0A407A;
            font-size: clamp(34px, 2.8vw, 42px);
            line-height: 1.08;
            letter-spacing: -.04em;
        }
        .ie-lp.form-wrap .desc {
            margin-top: 14px;
            max-width: 560px;
            color: #25589C;
            font-size: 15px;
            line-height: 1.55;
        }
        .ie-lp .form-logo {
            width: 64px;
            height: 64px;
            flex-basis: 64px;
        }
        .ie-lp .field { margin-bottom: 14px; }
        .ie-lp .field > label {
            margin-bottom: 9px;
            color: #0A407A;
            font-size: 14px;
            font-weight: 650;
        }
        .ie-lp .field input[type="text"],
        .ie-lp .field input[type="email"],
        .ie-lp .field input[type="tel"],
        .ie-lp .field input[type="number"],
        .ie-lp .field input[type="url"],
        .ie-lp .field input[type="date"],
        .ie-lp .field select,
        .ie-lp .field textarea {
            min-height: 42px;
            padding: 10px 14px;
            border-color: #E2E8F0;
            border-radius: 9px;
            color: #0A407A;
            font-size: 15px;
        }
        .ie-lp .radio-group,
        .ie-lp .checkbox-group {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }
        .ie-lp [data-field-name="para_quem"] .radio-group {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .ie-lp [data-field-name="situacao_responsavel"] .radio-group {
            grid-template-columns: 1fr;
        }
        .ie-lp [data-field-name="tipo_intercambio"] .radio-group,
        .ie-lp [data-field-name="destino_interesse"] .radio-group,
        .ie-lp [data-field-name="duracao_programa"] .radio-group,
        .ie-lp [data-field-name="horario_agendamento"] .radio-group {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .ie-lp [data-field-name="nivel_idioma"] .radio-group,
        .ie-lp [data-field-name="previsao_viagem"] .radio-group {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }
        .ie-lp [data-field-name="nivel_idioma"] .radio-group label,
        .ie-lp [data-field-name="previsao_viagem"] .radio-group label {
            min-height: 44px;
            padding: 10px 12px;
            font-size: 12px;
        }
        .ie-lp .field .radio-group label,
        .ie-lp .field .checkbox-group label {
            position: relative;
            min-height: 58px;
            margin: 0;
            padding: 15px 16px;
            border: 1px solid #E2E8F0;
            border-radius: 10px;
            background: #fff;
            color: #0A407A;
            font-size: 14px;
            line-height: 1.35;
            transition: border-color .18s, background-color .18s, color .18s;
        }
        .ie-lp .field .radio-group label:hover,
        .ie-lp .field .checkbox-group label:hover {
            border-color: #25589C;
        }
        .ie-lp .field .radio-group label:has(input:checked),
        .ie-lp .field .checkbox-group label:has(input:checked) {
            border-color: #25589C;
            background: #E2E8F0;
            color: #0A407A;
            box-shadow: inset 0 0 0 1px #25589C;
        }
        .ie-lp .radio-group input,
        .ie-lp .checkbox-group input {
            width: 18px;
            height: 18px;
            flex: 0 0 18px;
            accent-color: #25589C;
        }
        .ie-lp .field .radio-group label.has-option-image {
            display: flex;
            min-height: 190px;
            padding: 0;
            overflow: hidden;
            flex-direction: column;
            align-items: stretch;
        }
        .ie-lp .has-option-image .option-card-image {
            display: block;
            width: 100%;
            aspect-ratio: 16 / 8.5;
            object-fit: cover;
            object-position: center 30%;
            background: #E2E8F0;
        }
        .ie-lp .has-option-image .option-card-body {
            display: flex;
            min-height: 64px;
            padding: 13px 42px 13px 14px;
            flex: 1;
            flex-direction: column;
            justify-content: center;
        }
        .ie-lp .has-option-image .option-card-title {
            color: #0A407A;
            font-weight: 700;
            line-height: 1.25;
        }
        .ie-lp .has-option-image .option-card-description {
            display: block;
            margin-top: 4px;
            color: #25589C;
            font-size: 11px;
            line-height: 1.35;
        }
        .ie-lp .has-option-image > input {
            position: absolute;
            right: 13px;
            bottom: 22px;
            z-index: 2;
        }
        .ie-lp [data-field-name="para_quem"] .has-option-image {
            min-height: 230px;
        }
        .ie-lp [data-field-name="para_quem"] .has-option-image .option-card-image {
            aspect-ratio: 16 / 8;
        }
        .ie-lp .content-card-grid {
            display: grid;
            margin-top: 18px;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }
        .ie-lp .content-card {
            overflow: hidden;
            border: 1px solid #E2E8F0;
            border-radius: 10px;
            background: #fff;
        }
        .ie-lp .content-card img {
            display: block;
            width: 100%;
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }
        .ie-lp .content-card-copy { padding: 13px 14px 15px; }
        .ie-lp .content-card strong {
            display: block;
            color: #0A407A;
            font-size: 13px;
            line-height: 1.3;
        }
        .ie-lp .content-card span {
            display: block;
            margin-top: 5px;
            color: #25589C;
            font-size: 11px;
            line-height: 1.45;
        }
        .ie-lp .field-message.has-content-cards {
            padding: 0;
            border: 0;
            background: transparent;
        }
        .ie-lp [data-field-name="aceite_conteudos"] .checkbox-group,
        .ie-lp [data-field-name="aceite_inspiracao"] .checkbox-group {
            grid-template-columns: 1fr;
        }
        .ie-lp [data-field-name="aceite_conteudos"] .checkbox-group label,
        .ie-lp [data-field-name="aceite_inspiracao"] .checkbox-group label {
            min-height: 0;
            padding: 2px 0;
            border: 0;
            background: transparent;
            box-shadow: none;
        }
        .ie-lp .field-message {
            margin-bottom: 24px;
            padding: 22px 24px;
            border-left: 4px solid #F4A800;
            border-radius: 8px;
            background: #F5C54522;
            color: #0A407A;
            font-size: 15px;
            line-height: 1.65;
        }
        .ie-lp .btn-row {
            gap: 14px;
            margin-top: 18px;
        }
        .ie-lp .submit-btn,
        .ie-lp .next-btn,
        .ie-lp .prev-btn {
            min-height: 50px;
            padding: 13px 22px;
            border-radius: 9px;
            font-size: 15px;
            font-weight: 650;
        }
        .ie-lp .next-btn { flex: 1 1 62%; }
        .ie-lp .prev-btn {
            flex: 0 1 190px;
            border: 1px solid #E2E8F0;
            background: #fff;
            color: #0A407A;
        }
        .ie-lp .lp-footer {
            max-width: 600px;
            margin: 22px auto 0;
            color: #8a97aa;
            font-size: 11px;
            line-height: 1.5;
            text-align: center;
        }
        @media (max-width: 1120px) {
            .form-wrap.ie-lp,
            .form-wrap.ie-lp.has-hero {
                grid-template-columns: 220px minmax(0, 1fr);
            }
            .ie-lp .lp-hero { display: none !important; }
            .ie-lp.has-hero .lp-main { width: auto; background: #fff; }
            .ie-lp .lp-sidebar { padding-inline: 28px; }
        }
        @media (max-width: 760px) {
            body.ie-lp-page { background: #fff; }
            .form-wrap.ie-lp,
            .form-wrap.ie-lp.has-hero {
                display: block;
                min-height: 100vh;
            }
            .ie-lp .lp-sidebar,
            .ie-lp .lp-hero { display: none !important; }
            .ie-lp .lp-main { padding: 28px 20px 34px; }
            .ie-lp .form-header { margin-bottom: 30px; gap: 16px; }
            .ie-lp.has-hero .form-header { padding-top: 0; }
            .ie-lp.has-hero .form-header-copy { padding-right: 66px; }
            .ie-lp.form-wrap h2 { font-size: 32px; }
            .ie-lp.form-wrap .desc { font-size: 14px; }
            .ie-lp .radio-group,
            .ie-lp .checkbox-group { grid-template-columns: 1fr; }
            .ie-lp [data-field-name="tipo_intercambio"] .radio-group,
            .ie-lp [data-field-name="destino_interesse"] .radio-group,
            .ie-lp [data-field-name="duracao_programa"] .radio-group,
            .ie-lp [data-field-name="horario_agendamento"] .radio-group,
            .ie-lp [data-field-name="nivel_idioma"] .radio-group,
            .ie-lp [data-field-name="previsao_viagem"] .radio-group { grid-template-columns: 1fr; }
            .ie-lp [data-field-name="para_quem"] .radio-group,
            .ie-lp .content-card-grid { grid-template-columns: 1fr; }
            .ie-lp .field .radio-group label.has-option-image {
                min-height: 0;
                flex-direction: row;
            }
            .ie-lp .has-option-image .option-card-image {
                width: 88px;
                height: 88px;
                min-height: 88px;
                flex: 0 0 88px;
                aspect-ratio: auto;
            }
            .ie-lp [data-field-name="para_quem"] .has-option-image .option-card-image {
                width: 88px;
                height: 88px;
                min-height: 88px;
                flex: 0 0 88px;
                aspect-ratio: auto;
            }
            .ie-lp .has-option-image .option-card-body {
                min-height: 88px;
                padding: 10px 38px 10px 12px;
            }
            .ie-lp .has-option-image > input {
                top: 50%;
                right: 13px;
                bottom: auto;
                transform: translateY(-50%);
            }
            .ie-lp .form-logo,
            .ie-lp.has-hero .form-logo {
                width: 52px;
                height: 52px;
                flex-basis: 52px;
                position: absolute;
                top: 0;
                right: 0;
            }
            .ie-lp .btn-row { flex-wrap: wrap; }
            .ie-lp .prev-btn,
            .ie-lp .next-btn { flex: 1 1 100%; }
            .field .phone-input-group { grid-template-columns: 132px minmax(0, 1fr); }
        }
    
[hidden] { display: none !important; }
#api-status { max-width: 720px; margin: 24px auto; padding: 16px; font-family: sans-serif; }
.api-empty { color: #64748b; padding: 12px 0; }
.auto-advance-hint { font-size: 12px; line-height: 1.5; color: #52647a; margin: 0 0 20px; }
.investment-notice { background: #ffe184; color: #173f6b; padding: 24px; border-radius: 12px; font-weight: 700; white-space: pre-line; line-height: 1.7; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.destination-heading { grid-column: 1 / -1; font-size: 16px; margin: 12px 0 0; color: #173f6b; }
.ie-lp .field .radio-group label.compact-destination { min-height: 54px; padding: 12px; }

/* Confirmation replaces scheduling and next steps after the final save. */
.is-complete .lp-main { max-width: 840px; }
.is-complete #lp-step-title { font-size: clamp(28px, 3vw, 42px); line-height: 1.15; }
.is-complete #lp-step-title::after { content: ''; display: block; width: 56px; height: 4px; background: #ffcf22; margin-top: 20px; }
.completion-card { margin-top: 28px; padding: 28px; border: 1px solid #d6e5f5; border-left: 4px solid #b9d9f6; border-radius: 8px; background: #edf6ffed; color: #123e75; text-align: left; }
.completion-card p { font-size: 15px; line-height: 1.65; margin: 8px 0 0; }
.completion-intro,.hours-heading { display: flex; align-items: flex-start; gap: 20px; }
.completion-card img { flex-shrink: 0; filter: invert(31%) sepia(90%) saturate(1350%) hue-rotate(189deg); }
.completion-card h3 { font-size: 22px; line-height: 1.3; margin: 0; }
.completion-card h4 { font-size: 17px; margin: 0; }
.completion-hours { margin-top: 22px; padding: 20px; border: 1px solid #dce8f5; border-radius: 8px; }
.completion-hours dl { margin: 18px 0; }
.completion-hours dl > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 0; }
.completion-hours dt { font-weight: 600; }
.completion-hours dd { margin: 0; padding: 7px 22px; background: #dfedfc; border-radius: 4px; font-weight: 700; white-space: nowrap; }
.completion-card .hours-note { font-size: 13px; border-top: 1px solid #dce8f5; padding-top: 14px; }
.completion-card .completion-received { display: flex; align-items: center; gap: 14px; background: #dcecff; border-radius: 5px; padding: 14px; margin-top: 20px; font-weight: 600; }
@media(max-width:600px) { .completion-card { padding: 18px; } .completion-intro { gap: 12px; } .completion-card h3 { font-size: 19px; } .completion-hours { padding: 14px; } .completion-hours dd { padding: 7px 12px; } }
.is-complete #lp-step-title:focus { outline: none; }

/* Text-only choices keep their title separate from supporting copy. */
.ie-lp .field label:not(.has-option-image) > .option-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.ie-lp .field label:not(.has-option-image) .option-card-title {
    display: block;
    line-height: 1.3;
}
.ie-lp .field label:not(.has-option-image) .option-card-description {
    display: block;
    font-size: .875em;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.ie-lp [data-field-name="nivel_idioma"] .radio-group label {
    align-items: flex-start;
    gap: 12px;
    padding: 22px;
}
.ie-lp [data-field-name="nivel_idioma"] .radio-group input {
    flex-shrink: 0;
    margin-top: 3px;
}

/* Sugestão da agência mais próxima */
.field .field-hint { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: #2c6e49; }
