:root {
  --primary: #290B4D;
  --secondary: #820AD1;
  --bg: #F5F5F5;
  --white: #ffffff;
  --black: #000000;
  --muted: #777777;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: var(--bg);
  color: var(--primary);
  font-family: Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

.navbar {
  height: 72px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12%;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 34px;
  font-weight: 900;
  color: var(--secondary);
}

.logo img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.nav-links {
  display: flex;
  gap: 28px;
  align-items: center;
  font-size: 15px;
}

.btn-premium,
.card-form button,
.admin-btn {
  position: relative;
  overflow: hidden;
  border: none;
  background: var(--primary);
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.btn-premium {
  padding: 14px 26px;
}

.card-form button,
.admin-btn {
  width: 100%;
  padding: 17px;
  font-size: 16px;
}

.btn-premium:hover,
.card-form button:hover,
.admin-btn:hover {
  background: var(--secondary);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(41, 11, 77, .30);
}

.btn-premium:active,
.card-form button:active,
.admin-btn:active {
  transform: scale(.97);
}

.btn-premium::after,
.card-form button::after,
.admin-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.42), transparent);
  transform: translateX(-120%);
  transition: transform .65s ease;
}

.btn-premium:hover::after,
.card-form button:hover::after,
.admin-btn:hover::after {
  transform: translateX(120%);
}

.hero {
  min-height: 760px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  padding-left: 12%;
  background: var(--bg);
}

.hero-text h4 {
  font-size: 28px;
  color: var(--secondary);
  margin-bottom: 10px;
}

.hero-text h1 {
  font-size: 48px;
  line-height: 1.08;
  font-weight: 400;
  max-width: 560px;
  margin-bottom: 38px;
}

.card-form {
  width: 390px;
  background: #fff;
  padding: 26px;
  box-shadow: 0 24px 70px rgba(0,0,0,.07);
}

.card-form p {
  font-size: 20px;
  margin-bottom: 18px;
}

.card-form input,
.card-form select,
.card-form textarea,
.admin-card input,
.admin-card textarea,
.admin-card select {
  width: 100%;
  padding: 16px 20px;
  border-radius: 28px;
  border: 1px solid #e8e8e8;
  background: #f2f2f2;
  margin-bottom: 14px;
  font-size: 16px;
  outline: none;
}

.card-form input:focus,
.card-form select:focus,
.card-form textarea:focus,
.admin-card input:focus,
.admin-card textarea:focus {
  border-color: var(--secondary);
  box-shadow: 0 0 0 4px rgba(130, 10, 209, .12);
}

.consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: #555;
  margin: 4px 0 15px;
}

.consent input {
  width: auto;
  margin-top: 3px;
}

.hero-image {
  height: 100%;
  min-height: 760px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.panel-page {
  padding: 70px 12%;
  min-height: 720px;
}

.panel {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: start;
}

.info-card,
.sim-card,
.admin-card {
  background: #fff;
  border-radius: 28px;
  padding: 32px;
  box-shadow: 0 24px 70px rgba(0,0,0,.07);
}

.info-card h2,
.sim-card h2,
.admin-card h2 {
  font-size: 30px;
  margin-bottom: 14px;
}

.info-card p {
  color: #555;
  line-height: 1.6;
  margin-bottom: 16px;
}

.result-box {
  margin-top: 18px;
  padding: 18px;
  border-radius: 20px;
  background: #f4ecff;
  color: var(--primary);
  font-weight: 700;
}

.footer {
  background: #000;
  color: #fff;
  padding: 70px 12% 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 55px;
  margin-bottom: 70px;
}

.footer h3 {
  color: #aaa;
  font-size: 18px;
  margin-bottom: 18px;
}

.footer a,
.footer p {
  display: block;
  margin-bottom: 13px;
  color: #fff;
  font-size: 15px;
}

.footer-bottom {
  display: flex;
  align-items: center;
  gap: 25px;
  color: #aaa;
  font-size: 13px;
}

.admin-layout {
  padding: 40px 8%;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
}

.admin-table th,
.admin-table td {
  padding: 12px;
  border-bottom: 1px solid #eee;
  text-align: left;
  font-size: 14px;
}

.notice {
  background: #f4ecff;
  padding: 14px 18px;
  border-radius: 16px;
  margin-bottom: 18px;
}

@media (max-width: 900px) {
  .navbar {
    padding: 0 24px;
  }

  .nav-links {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
    padding: 40px 24px;
  }

  .hero-text h1 {
    font-size: 38px;
  }

  .card-form {
    width: 100%;
  }

  .hero-image {
    min-height: 360px;
    margin-top: 40px;
  }

  .panel,
  .admin-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .panel-page,
  .footer,
  .admin-layout {
    padding-left: 24px;
    padding-right: 24px;
  }
}


.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}

.admin-tab {
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--primary);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  font-weight: 700;
}

.admin-section-title {
  margin: 30px 0 16px;
  font-size: 26px;
}

.preview-banner {
  width: 100%;
  min-height: 160px;
  border-radius: 24px;
  background-size: cover;
  background-position: center;
  background-color: #eee;
  margin-bottom: 16px;
}

.details-btn {
  border: none;
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--primary);
  color: #fff;
  cursor: pointer;
  font-weight: 700;
}

.modal-bg {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.62);
  z-index: 999;
  padding: 24px;
  overflow: auto;
}

.modal-bg.show {
  display: block;
}

.modal-box {
  max-width: 850px;
  margin: 40px auto;
  background: #fff;
  border-radius: 28px;
  padding: 30px;
  color: var(--primary);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.info-item {
  background: #f7f2ff;
  border-radius: 18px;
  padding: 14px;
}

.info-item strong {
  display: block;
  font-size: 13px;
  color: #777;
  margin-bottom: 4px;
}

@media (max-width: 700px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}


/* FORMULÁRIO EM ETAPAS */
.step-wrap {
  margin-bottom: 24px;
}

.step-line {
  position: relative;
  height: 6px;
  background: #eee;
  border-radius: 999px;
  margin: 18px 0 14px;
  overflow: hidden;
}

.step-progress-bar {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--secondary), var(--primary));
  border-radius: 999px;
  transition: width .35s ease;
}

.step-bullets {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.step-bullet {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #777;
  font-size: 13px;
  font-weight: 700;
}

.step-bullet span {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #eee;
  color: #777;
  transition: all .25s ease;
}

.step-bullet.active span,
.step-bullet.done span {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 8px 22px rgba(41, 11, 77, .25);
}

.form-step {
  display: none;
  animation: fadeStep .28s ease;
}

.form-step.active {
  display: block;
}

@keyframes fadeStep {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.step-actions {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.step-actions button {
  width: 100%;
}

.btn-back {
  background: #f1e8fb !important;
  color: var(--primary) !important;
}

/* BARRA DE LIMITE DESEJADO */
.range-card {
  background: linear-gradient(135deg, #fff, #f8f0ff);
  border: 1px solid rgba(130, 10, 209, .12);
  border-radius: 26px;
  padding: 22px;
  margin-bottom: 16px;
}

.range-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.range-label strong {
  font-size: 15px;
  color: #555;
}

.range-value {
  font-size: 28px;
  color: var(--primary);
  font-weight: 900;
}

.premium-range {
  --range-progress: 20%;
  width: 100%;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--secondary) var(--range-progress), #e4d8ef var(--range-progress));
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

.premium-range::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #fff;
  border: 8px solid var(--primary);
  box-shadow: 0 10px 28px rgba(41, 11, 77, .35);
  cursor: grab;
}

.premium-range::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  border: 8px solid var(--primary);
  box-shadow: 0 10px 28px rgba(41, 11, 77, .35);
  cursor: grab;
}

.range-minmax {
  display: flex;
  justify-content: space-between;
  color: #777;
  font-size: 13px;
  font-weight: 700;
  margin-top: 12px;
}

.invoice-day-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.invoice-day-grid label {
  cursor: pointer;
}

.invoice-day-grid input {
  display: none;
}

.invoice-day-grid span {
  display: block;
  padding: 13px 8px;
  border-radius: 999px;
  background: #f2f2f2;
  text-align: center;
  font-weight: 800;
  color: var(--primary);
  border: 1px solid transparent;
}

.invoice-day-grid input:checked + span {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 12px 28px rgba(41, 11, 77, .24);
}

@media (max-width: 700px) {
  .step-bullet {
    font-size: 0;
  }

  .step-bullet span {
    font-size: 13px;
  }

  .step-actions {
    flex-direction: column;
  }

  .range-label {
    align-items: flex-start;
    flex-direction: column;
  }

  .range-value {
    font-size: 24px;
  }

  .invoice-day-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* SIMULAÇÃO COM VISUAL PREMIUM */
.panel-page {
  background:
    radial-gradient(circle at 10% 20%, rgba(130,10,209,.12), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(41,11,77,.14), transparent 26%),
    var(--bg);
}

.info-card,
.sim-card {
  border: 1px solid rgba(130,10,209,.08);
}

.bank-card-preview {
  height: 190px;
  border-radius: 30px;
  padding: 24px;
  margin-bottom: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  box-shadow: 0 24px 60px rgba(41,11,77,.28);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}

.bank-card-preview::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -60px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}

.bank-card-preview small,
.bank-card-preview strong,
.bank-card-preview span {
  position: relative;
  z-index: 1;
}

.bank-card-preview small {
  display: block;
  opacity: .78;
  margin-bottom: 8px;
}

.bank-card-preview strong {
  font-size: 24px;
}

.bank-card-preview span {
  font-size: 19px;
  letter-spacing: 2px;
  font-weight: 900;
}

.benefit-list {
  display: grid;
  gap: 10px;
  margin: 20px 0;
}

.benefit-list div {
  padding: 14px;
  border-radius: 18px;
  background: #f7f0ff;
  font-weight: 800;
  color: var(--primary);
}

.sim-card {
  transform: translateY(0);
  animation: floatIn .45s ease;
}

@keyframes floatIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* HOME PREMIUM V5 */
.eyebrow{display:inline-flex;padding:9px 14px;border-radius:999px;background:#efe2ff;color:var(--primary);font-weight:900;margin-bottom:16px;letter-spacing:.2px}.hero-lead{max-width:500px;color:#4c3b5d;font-size:19px;line-height:1.45;margin:-18px 0 28px}.hero-premium{gap:46px;padding-right:6%;padding-top:40px;padding-bottom:40px}.cpf-card{border-radius:0;max-width:440px;border:1px solid rgba(41,11,77,.06)}.cpf-card button span{font-size:28px;line-height:0;float:right}.hero-slider{height:620px;min-height:560px;border-radius:0;position:relative;overflow:hidden;box-shadow:0 30px 90px rgba(41,11,77,.18);background:#ddd}.hero-slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 3.5s ease}.hero-slider .slide.active{opacity:1;transform:scale(1)}.hero-slider::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(41,11,77,.72))}.slide-glass{position:absolute;left:30px;right:30px;bottom:30px;z-index:2;padding:22px;border-radius:26px;background:rgba(255,255,255,.18);backdrop-filter:blur(18px);color:#fff;border:1px solid rgba(255,255,255,.22)}.slide-glass small,.slide-glass strong{display:block}.slide-glass small{opacity:.85;margin-bottom:6px}.slide-glass strong{font-size:25px;line-height:1.15}.slider-dots{position:absolute;z-index:3;left:30px;top:30px;display:flex;gap:8px}.slider-dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer}.slider-dots button.active{width:28px;background:#fff}.below-form-block,.iof-section{display:grid;grid-template-columns:.78fr 1.1fr;gap:80px;align-items:center;padding:90px 14%;background:#f7f7f7;border-bottom:5px solid var(--primary)}.below-form-block .copy-col h2,.iof-section h2{font-size:45px;line-height:1.1;margin:8px 0 26px;color:var(--primary)}.mini-title{font-size:28px;color:var(--secondary);font-weight:800}.below-form-block p,.iof-section p{font-size:22px;line-height:1.35;max-width:550px;color:var(--primary);font-weight:700}.image-panel,.iof-photo{min-height:430px;background:linear-gradient(135deg,#e4d7ef,#fff);position:relative;overflow:hidden}.image-panel::before,.iof-photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(130,10,209,.3),transparent 28%),linear-gradient(135deg,rgba(41,11,77,.08),rgba(130,10,209,.18))}.image-panel::after{content:"UltraVioleta\A Cashback\A Pontos";white-space:pre;position:absolute;left:32px;bottom:30px;font-size:44px;line-height:1.05;color:#fff;font-weight:900;text-shadow:0 12px 30px rgba(41,11,77,.45)}.purple-benefits{background:var(--primary);color:#fff;padding:85px 12% 100px}.purple-benefits h2{text-align:center;font-size:46px;margin-bottom:48px}.benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefit-cards article{background:rgba(15,0,29,.35);padding:42px;border-radius:0;min-height:310px}.benefit-cards .icon{font-size:46px;margin-bottom:28px}.benefit-cards h3{font-size:34px;line-height:1.2;margin-bottom:18px}.benefit-cards p{font-size:19px;line-height:1.35;font-weight:700}.iof-section{background:#fafafa}.iof-section .btn-premium{display:inline-flex;margin-top:24px;padding:17px 28px}.iof-photo::after{content:"IOF zero\A internacional";white-space:pre;position:absolute;right:28px;top:28px;text-align:right;color:var(--primary);font-weight:900;font-size:38px;line-height:1.05}.faq-section{display:grid;grid-template-columns:.7fr 1fr;gap:70px;padding:90px 14%;background:#f7f7f7}.faq-section h2{font-size:50px;line-height:1.05}.faq-list{background:#fff}.faq-list details{border-bottom:1px solid #1b0633}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:23px;font-weight:900;padding:32px;color:var(--primary)}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{padding:0 32px 30px;color:#4f3d60;font-size:17px;line-height:1.5}.faq-list span{font-size:32px;font-weight:400}.row-actions{display:flex;gap:8px;align-items:center}.danger-btn{border:0;border-radius:999px;background:#ffe8e8;color:#9d1010;font-weight:900;padding:10px 14px;cursor:pointer}.badge.ok{background:#e7fff0;color:#0a7d34}.badge.new{background:#fff2d9;color:#a76500}.compact-kpis{grid-template-columns:repeat(1, minmax(220px, 320px))}.info-item.full{grid-column:1/-1}

@media(max-width:900px){.hero-premium{display:block;padding:28px 20px}.hero-text h1{font-size:36px}.hero-text h4{font-size:23px}.hero-lead{font-size:17px}.hero-slider{height:420px;min-height:420px;margin-top:26px;border-radius:28px}.slide-glass{left:18px;right:18px;bottom:18px}.below-form-block,.iof-section,.faq-section{grid-template-columns:1fr;padding:58px 22px;gap:28px}.below-form-block .copy-col h2,.iof-section h2,.purple-benefits h2,.faq-section h2{font-size:34px}.below-form-block p,.iof-section p{font-size:18px}.image-panel,.iof-photo{min-height:300px;border-radius:26px}.purple-benefits{padding:58px 22px}.benefit-cards{grid-template-columns:1fr}.benefit-cards article{border-radius:26px;min-height:auto}.faq-list summary{font-size:18px;padding:24px 20px}.faq-list p{padding:0 20px 24px}.row-actions{flex-direction:column;align-items:flex-start}.admin-table td,.admin-table th{white-space:nowrap}}

/* v6 refinamentos */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');
.nav-icon{border:0;background:transparent;color:var(--primary);font-size:22px;cursor:pointer;padding:10px;border-radius:14px}.nav-icon:hover{background:#f3e9fb}.nav-cta{padding:12px 22px!important}.eyebrow{display:inline-flex;background:#f2e5ff;color:var(--primary);border-radius:999px;padding:10px 16px;font-weight:800;margin-bottom:18px}.hero-lead{font-size:18px;line-height:1.55;max-width:560px;margin:-22px 0 28px;color:#31104e}.hero-slider{min-height:620px;width:100%;position:relative;overflow:hidden;border-radius:34px 0 0 34px;box-shadow:0 30px 80px rgba(41,11,77,.14)}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 1.2s ease}.slide.active{opacity:1;transform:scale(1)}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(41,11,77,.35))}.slide-glass{position:absolute;left:28px;bottom:30px;z-index:2;background:rgba(255,255,255,.18);backdrop-filter:blur(14px);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:18px;max-width:330px}.slide-glass small,.slide-glass strong{display:block}.slider-dots{position:absolute;left:34px;bottom:16px;z-index:3;display:flex;gap:8px}.slider-dots button{width:28px;height:7px;border:0;border-radius:99px;background:rgba(255,255,255,.5)}.slider-dots button.active{background:white;width:46px}.reveal{animation:riseIn .7s ease both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.18s}.delay-3{animation-delay:.28s}@keyframes riseIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.card-form input{transition:.25s}.card-form input:hover{background:#fff;box-shadow:0 10px 30px rgba(41,11,77,.08)}.below-form-block,.iof-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;padding:90px 12%;background:#f5f5f5}.below-form-block h2,.iof-section h2{font-size:46px;line-height:1.08;margin:8px 0 24px}.below-form-block p,.iof-section p{font-size:20px;line-height:1.45;max-width:520px}.mini-title{font-size:26px;color:var(--secondary);font-weight:800}.image-panel,.iof-photo{height:360px;border-radius:4px;background-image:url('../..//uploads/banner-principal.jpg');background-size:cover;background-position:center;box-shadow:0 26px 70px rgba(0,0,0,.12)}.purple-benefits{background:var(--primary);color:#fff;padding:84px 12%}.purple-benefits h2{text-align:center;font-size:42px;margin-bottom:42px}.benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefit-cards article{background:rgba(0,0,0,.18);padding:44px;border-radius:2px;min-height:310px;transition:.25s}.benefit-cards article:hover{transform:translateY(-8px);background:rgba(255,255,255,.08)}.benefit-cards .icon{font-size:38px;margin-bottom:28px}.benefit-cards h3{font-size:30px;margin-bottom:18px}.benefit-cards p{font-size:18px;line-height:1.35}.faq-section{padding:90px 18%;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-section h2{font-size:46px}.faq-list details{background:#fff;border-bottom:1px solid #111;padding:30px}.faq-list summary{font-size:22px;font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq-list p{padding-top:18px;font-size:17px;line-height:1.5}.chat-fab{position:fixed;right:28px;bottom:28px;width:62px;height:62px;border-radius:22px;border:0;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;font-size:24px;box-shadow:0 18px 44px rgba(41,11,77,.28);z-index:50}.chat-widget{position:fixed;right:28px;bottom:100px;width:370px;max-width:calc(100vw - 32px);background:#fff;border-radius:26px;box-shadow:0 26px 80px rgba(0,0,0,.22);overflow:hidden;z-index:60;display:none}.chat-widget.open{display:block;animation:riseIn .25s ease both}.chat-head{background:var(--primary);color:#fff;padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:center}.chat-head small{display:block;opacity:.75;margin-top:3px}.chat-head button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:12px;padding:9px}.chat-body{height:310px;overflow:auto;background:#faf7ff;padding:16px;display:grid;gap:10px;align-content:start}.msg{padding:12px 14px;border-radius:16px;max-width:84%;line-height:1.35}.msg.bot{background:#fff;color:#1d0738}.msg.me{background:var(--primary);color:#fff;margin-left:auto}.chat-form{display:grid;grid-template-columns:1fr 1fr 46px;gap:8px;padding:12px;background:#fff}.chat-form input{border:1px solid #eee;background:#f6f6f6;border-radius:16px;padding:12px;outline:none}.chat-form button{border:0;border-radius:16px;background:var(--primary);color:#fff}
@media(max-width:860px){.navbar{height:94px;padding:0 24px}.logo span{font-size:34px}.nav-links{gap:10px}.nav-links a:not(.nav-cta){display:none}.nav-cta{display:inline-flex;font-size:13px;padding:11px 18px!important}.hero{display:flex;flex-direction:column;padding:0 24px 34px;min-height:auto}.hero-slider{order:1;min-height:250px;border-radius:0;margin:0 -24px 26px;width:calc(100% + 48px)}.hero-text{order:2;width:100%}.hero-text h4{font-size:26px}.hero-text h1{font-size:40px;margin-bottom:24px}.hero-lead{margin:0 0 26px;font-size:17px}.card-form{width:100%;padding:26px;border-radius:0}.below-form-block,.iof-section{grid-template-columns:1fr;padding:54px 24px;gap:28px}.below-form-block h2,.iof-section h2,.purple-benefits h2,.faq-section h2{font-size:34px}.image-panel,.iof-photo{height:260px}.purple-benefits{padding:60px 24px}.benefit-cards{grid-template-columns:1fr}.benefit-cards article{min-height:auto}.faq-section{grid-template-columns:1fr;padding:60px 24px;gap:24px}.chat-widget{right:16px;bottom:88px}.chat-form{grid-template-columns:1fr 46px}.chat-form #chatName{grid-column:1/-1}}

/* v8 ajustes de simulação/chat */
.pj-question-card{border:1px solid #efe6f8;background:#fbfaff;border-radius:22px;padding:18px;display:grid;gap:12px}.pj-question-card h3{font-size:18px;color:var(--primary)}.pj-question-card p{color:#75667f;font-size:14px}.switch-line{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eee;border-radius:16px;padding:14px;font-weight:800;color:var(--primary)}.switch-line input{width:18px;height:18px;accent-color:var(--secondary)}

/* v9 melhorias da simulação e chat */
.hello-subtitle{margin:-8px 0 18px!important;color:#7a6b86!important}.benefit-list div{display:flex;align-items:center;gap:10px}.benefit-list i{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#fff;color:var(--secondary);font-size:13px}.chat-fab{display:flex;align-items:center;justify-content:center}.chat-widget{border:1px solid rgba(255,255,255,.35)}.chat-head{background:linear-gradient(135deg,var(--primary),var(--secondary))}.chat-body{background:linear-gradient(180deg,#fbf8ff,#f4ecfb)}.chat-form{grid-template-columns:1fr 1.3fr 52px}.chat-form input{min-width:0}.bank-card-preview strong{text-transform:capitalize}.panel{align-items:start}
@media(max-width:780px){.hero-premium{display:flex!important;flex-direction:column!important}.hero-slider{order:1!important;min-height:320px!important;border-radius:0 0 28px 28px!important}.hero-text{order:2!important}.chat-widget{right:14px;bottom:86px}.chat-form{grid-template-columns:1fr 52px}.chat-form #chatName{display:none}.panel{grid-template-columns:1fr!important;padding:18px!important}.info-card,.sim-card{border-radius:24px!important}.bank-card-preview{min-height:170px!important}}

/* v10 - página inicial de escolha */
.choice-hero {
  min-height: calc(100vh - 72px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
  padding: 70px 12%;
  background: radial-gradient(circle at 8% 10%, rgba(130,10,209,.16), transparent 32%), var(--bg);
}
.choice-copy h1 {
  font-size: clamp(38px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -2px;
  max-width: 680px;
  margin: 18px 0;
}
.choice-copy p {
  color: #4d4058;
  font-size: 19px;
  max-width: 600px;
  line-height: 1.55;
}
.choice-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 34px;
}
.choice-card {
  min-height: 250px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(41,11,77,.08);
  border-radius: 30px;
  padding: 26px;
  box-shadow: 0 24px 70px rgba(41,11,77,.08);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.choice-card:hover { transform: translateY(-6px); box-shadow: 0 32px 80px rgba(41,11,77,.16); border-color: rgba(130,10,209,.3); }
.choice-card.primary { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; }
.choice-card strong { font-size: 24px; line-height: 1.15; }
.choice-card small { color: inherit; opacity: .82; line-height: 1.45; font-size: 15px; }
.choice-card em { margin-top: auto; font-style: normal; font-weight: 800; display: inline-flex; gap: 9px; align-items: center; }
.choice-icon { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: rgba(130,10,209,.12); color: var(--secondary); font-size: 22px; }
.choice-card.primary .choice-icon { background: rgba(255,255,255,.18); color: #fff; }
.choice-slider { height: 640px; border-radius: 38px; overflow: hidden; box-shadow: 0 30px 90px rgba(41,11,77,.16); position: relative; }
.choice-slider .slide { position:absolute; inset:0; opacity:0; transition: opacity .65s ease, transform 7s ease; background-size:cover; background-position:center; transform: scale(1.02); }
.choice-slider .slide.active { opacity:1; transform: scale(1); }
.security-choice-card h3 i { color: var(--secondary); margin-right: 8px; }
.choice-options-inline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.choice-options-inline label { cursor: pointer; }
.choice-options-inline input { display:none; }
.choice-options-inline span { display: grid; place-items: center; padding: 18px 10px; border-radius: 20px; background: #f3edf8; border: 2px solid transparent; font-size: 22px; font-weight: 900; color: var(--primary); transition: .2s ease; }
.choice-options-inline input:checked + span { background: var(--primary); color:#fff; border-color: var(--secondary); box-shadow: 0 16px 34px rgba(41,11,77,.18); }
@media (max-width: 900px) {
  .choice-hero { grid-template-columns: 1fr; padding: 20px 24px 40px; }
  .choice-slider { order: -1; height: 300px; border-radius: 0 0 28px 28px; margin: -20px -24px 10px; }
  .choice-actions { grid-template-columns: 1fr; }
  .choice-card { min-height: 210px; }
  .choice-copy h1 { font-size: 39px; letter-spacing: -1px; }
  .choice-options-inline { grid-template-columns: 1fr; }
}


/* v11 responsivo sem quebra */
html, body { overflow-x: hidden; }
.sim-card, .info-card { min-width: 0; }
.step-wrap { max-width: 100%; overflow: hidden; }
.step-bullets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; width: 100%; }
.step-bullet { min-width: 0; justify-content: center; text-align: center; white-space: nowrap; font-size: 12px; }
.step-bullet span { flex: 0 0 30px; }
.card-form input, .card-form select, .card-form textarea { max-width: 100%; }
.pj-question-card { background:#fbf6ff; border:1px solid rgba(130,10,209,.10); border-radius:24px; padding:18px; margin-bottom:16px; }
.pj-question-card h3 { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.choice-options-inline { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.choice-options-inline input { display:none; }
.choice-options-inline span { display:block; text-align:center; padding:14px 10px; border-radius:18px; background:#fff; border:1px solid #eadff4; font-weight:900; cursor:pointer; }
.choice-options-inline input:checked + span { background:var(--primary); color:#fff; border-color:var(--primary); }
.switch-line { display:flex; align-items:center; gap:10px; margin-top:10px; font-weight:800; }
.switch-line input { width:18px; height:18px; accent-color:var(--secondary); margin:0; }
@media (max-width: 1100px) { .panel-page { padding: 38px 20px; } .panel { grid-template-columns: 1fr; } .sim-card, .info-card { width:100%; } }
@media (max-width: 560px) { .panel-page { padding: 24px 14px; } .info-card, .sim-card { padding:22px; border-radius:24px; } .step-bullets { gap:5px; } .step-bullet { font-size:10px; gap:4px; flex-direction:column; } .step-bullet span { width:28px; height:28px; flex-basis:auto; } .step-actions { flex-direction:column; } .choice-options-inline { grid-template-columns:1fr; } .range-label { flex-direction:column; align-items:flex-start; } }

/* v13 imagens gerenciáveis */
.image-panel[style]{background-size:cover;background-position:center}.image-panel[style]::before{background:linear-gradient(180deg,rgba(41,11,77,.04),rgba(41,11,77,.18))}.image-panel[style]::after{content:""}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list summary span{transition:.2s}

/* v14 refinamentos */
.iof-photo[style]{background-size:cover!important;background-position:center!important;}
.iof-photo[style]::before{background:linear-gradient(135deg,rgba(41,11,77,.05),rgba(130,10,209,.18))!important;}
.proposal-kicker{display:inline-flex;align-items:center;gap:8px;background:#f3e9ff;color:var(--secondary);font-weight:900;padding:9px 14px;border-radius:999px;margin-bottom:14px;}
.client-profile-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(41,11,77,.08);box-shadow:0 14px 38px rgba(41,11,77,.08);padding:15px;border-radius:22px;margin:18px 0;}
.client-avatar{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;flex:none;}
.client-profile-card small,.client-profile-card span{display:block;color:#756782;font-size:13px;line-height:1.35}.client-profile-card strong{display:block;color:var(--primary);font-size:17px;line-height:1.25;margin:2px 0;text-transform:uppercase;}
.professional-list div{align-items:flex-start!important;padding:14px!important}.professional-list span{display:grid;gap:2px}.professional-list small{font-size:12px;color:#6f5f7d;font-weight:600;line-height:1.25}.simulation-side-banner{margin-top:18px;min-height:170px;border-radius:26px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(41,11,77,.13)}.simulation-side-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,11,77,.82),rgba(130,10,209,.25));}.simulation-side-banner>div{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}.simulation-side-banner strong{display:block;font-size:24px}.simulation-side-banner span{display:block;font-size:13px;line-height:1.35;opacity:.9;max-width:330px}.final-review-card{background:linear-gradient(135deg,#fff,#f6ecff);border:1px solid rgba(130,10,209,.12);border-radius:24px;padding:22px;margin-bottom:16px;text-align:center;color:var(--primary)}.final-review-card i{font-size:34px;color:var(--secondary);margin-bottom:8px}.final-review-card h3{font-size:22px;margin-bottom:8px}.final-review-card p{color:#665676;line-height:1.45;margin:0}.step-wrap{overflow:visible!important}.step-bullets{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start;gap:6px!important}.step-bullet{white-space:normal!important;overflow-wrap:normal;word-break:normal;line-height:1.15;font-size:12px!important;display:flex!important;justify-content:center!important;min-width:0!important}.step-bullet span{flex:0 0 30px!important}.sim-card{overflow:hidden}.card-form input:invalid,.card-form textarea:invalid,.card-form select:invalid{box-shadow:none}.range-card input[type="range"]{max-width:100%}@media(max-width:620px){.step-bullets{gap:3px!important}.step-bullet{font-size:9.5px!important;gap:3px!important}.step-bullet span{width:25px!important;height:25px!important;flex-basis:25px!important}.client-profile-card{align-items:flex-start}.simulation-side-banner{min-height:150px}.info-card h2,.sim-card h2{font-size:28px!important}}

/* v15 ajustes simulação */
.panel{grid-template-columns:minmax(360px,1.05fr) minmax(340px,.72fr) minmax(280px,.58fr);gap:28px;align-items:start;max-width:1500px;margin:0 auto;}
.bank-card-profile{display:flex!important;flex-direction:column;justify-content:space-between;gap:34px;min-height:190px;padding:26px!important;color:#fff;}
.bank-card-profile small{display:block;color:rgba(255,255,255,.82);font-size:13px;margin-bottom:8px;}
.bank-card-profile strong{display:block;color:#fff;font-size:22px;line-height:1.15;text-transform:uppercase;letter-spacing:.5px;max-width:90%;}
.bank-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:18px;font-weight:800;}
.bank-card-bottom span{color:#fff;font-size:16px;}
.bank-card-bottom b{font-size:24px;letter-spacing:3px;color:#fff;white-space:nowrap;}
.client-profile-card{display:none!important;}
.simulation-right-banner{min-height:640px;border-radius:34px;background-size:cover;background-position:center;position:sticky;top:110px;overflow:hidden;box-shadow:0 28px 80px rgba(41,11,77,.16);}
.simulation-right-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(41,11,77,.08),rgba(41,11,77,.72));}
.simulation-right-banner>div{position:absolute;left:26px;right:26px;bottom:26px;color:#fff;}
.simulation-right-banner small{display:block;font-weight:800;opacity:.85;margin-bottom:8px;}
.simulation-right-banner strong{display:block;font-size:28px;line-height:1.12;}
@media(max-width:1250px){.panel{grid-template-columns:1fr 1fr}.simulation-right-banner{grid-column:1/-1;min-height:280px;position:relative;top:auto;}}
@media(max-width:850px){.panel{grid-template-columns:1fr!important}.simulation-right-banner{min-height:220px;border-radius:24px}.bank-card-profile{min-height:170px}.bank-card-profile strong{font-size:18px}.bank-card-bottom{align-items:flex-start;flex-direction:column}.bank-card-bottom b{font-size:20px}.step-bullet{font-size:10px!important}.step-bullet span{width:26px!important;height:26px!important;flex-basis:26px!important}}

/* v16 - card de perfil premium */
.pro-profile-card{
  min-height:245px!important;
  padding:24px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-radius:32px!important;
  position:relative!important;
  isolation:isolate;
  background:
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.22) 0 0, transparent 26%),
    linear-gradient(135deg,#4b1977 0%, #7118b8 45%, #9700df 100%)!important;
  box-shadow:0 28px 70px rgba(89, 17, 143, .30)!important;
  overflow:hidden!important;
}
.pro-profile-card::before{
  content:"";
  position:absolute;
  inset:auto -70px -90px auto;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  z-index:-1;
}
.pro-profile-card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.20);
  pointer-events:none;
}
.profile-glow{
  position:absolute;
  width:190px;
  height:190px;
  right:28px;
  top:-75px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  filter:blur(.2px);
  z-index:-1;
}
.profile-header-row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.profile-avatar-letter{
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:28px;
  font-weight:950;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 18px 34px rgba(0,0,0,.16);
}
.profile-title-block{min-width:0;}
.profile-title-block small{
  display:block;
  color:rgba(255,255,255,.74)!important;
  font-weight:800;
  margin-bottom:5px;
  font-size:13px!important;
}
.profile-title-block strong{
  display:block;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.12!important;
  letter-spacing:.2px;
  text-transform:uppercase!important;
  overflow-wrap:anywhere;
}
.profile-meta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.profile-meta-grid div{
  border-radius:18px;
  padding:13px 14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
.profile-meta-grid span,
.profile-card-footer span{
  display:block;
  color:rgba(255,255,255,.70)!important;
  font-size:12px!important;
  font-weight:800;
  letter-spacing:.1px;
}
.profile-meta-grid b{
  display:block;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.25;
  margin-top:4px;
  overflow-wrap:anywhere;
}
.profile-card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#fff;
  font-weight:950;
  letter-spacing:1px;
}
.profile-card-footer span:last-child{
  font-size:23px!important;
  color:#fff!important;
  letter-spacing:3px;
}
.profile-card-footer i{margin-right:7px;}
@media(max-width:620px){
  .pro-profile-card{min-height:260px!important;padding:22px!important;border-radius:28px!important;}
  .profile-header-row{align-items:flex-start;}
  .profile-avatar-letter{width:56px;height:56px;flex-basis:56px;border-radius:18px;font-size:25px;}
  .profile-title-block strong{font-size:18px!important;}
  .profile-meta-grid{grid-template-columns:1fr;gap:10px;}
  .profile-card-footer{align-items:flex-start;flex-direction:column;}
  .profile-card-footer span:last-child{font-size:21px!important;}
}


/* v18 - etapas sempre legíveis e sem sobreposição */
.step-wrap{width:100%;max-width:100%;overflow:hidden!important;}
.step-bullets{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;align-items:start!important;}
.step-bullet{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:6px!important;min-width:0!important;max-width:100%!important;white-space:normal!important;line-height:1.15!important;font-size:11.5px!important;color:#65566f;}
.step-bullet span{width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important;position:relative!important;z-index:2;}
.sim-card{overflow:hidden!important;}
@media(max-width:520px){.step-bullets{gap:5px!important}.step-bullet{font-size:9.8px!important}.step-bullet span{width:27px!important;height:27px!important;min-width:27px!important;flex-basis:27px!important}.sim-card{padding-left:22px!important;padding-right:22px!important}}
.image-panel{position:relative;overflow:hidden;}
.image-panel-copy{position:absolute;left:34px;bottom:30px;color:#fff;font-weight:900;font-size:clamp(30px,4vw,56px);line-height:.95;text-shadow:0 10px 24px rgba(41,11,77,.35);}
.image-panel-copy strong,.image-panel-copy span{display:block;}

/* v21 - vantagens editáveis e tela final */
.thanks-modal-shell{min-height:70vh;display:grid;place-items:center;padding:60px 18px;animation:fadeIn .35s ease both;}
.thanks-modal-card{width:min(620px,100%);background:#fff;border-radius:34px;padding:42px;box-shadow:0 35px 100px rgba(41,11,77,.16);text-align:center;border:1px solid rgba(130,10,209,.12);animation:thanksRise .45s ease both;}
.thanks-icon{width:70px;height:70px;border-radius:24px;margin:0 auto 18px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-size:30px;box-shadow:0 18px 46px rgba(130,10,209,.28);}
.thanks-modal-card h1{font-size:34px;line-height:1.1;margin:14px 0;color:var(--primary);}
.thanks-modal-card p{color:#6a5b78;font-size:18px;line-height:1.5;margin:0 auto 18px;max-width:520px;}
.thanks-profile-line{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#f6edff;border:1px solid rgba(130,10,209,.12);border-radius:20px;padding:15px 18px;margin:22px 0;color:var(--primary);font-weight:900;}
.thanks-profile-line span{font-size:14px;color:#705b80;}
.thanks-note{background:#fff8e8;border:1px solid #f4dbad;color:#4f3d18!important;border-radius:20px;padding:14px!important;font-size:15px!important;}
@keyframes thanksRise{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.benefit-admin-list strong i{margin-right:8px;color:var(--secondary);}
@media(max-width:560px){.thanks-modal-card{padding:28px 22px;border-radius:26px}.thanks-modal-card h1{font-size:28px}.thanks-profile-line{flex-direction:column;align-items:center}}

/* v22 - agradecimento premium */
.thanks-modal-shell{
  min-height:calc(100vh - 90px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:44px 16px!important;
  background:radial-gradient(circle at 20% 10%, rgba(130,10,209,.12), transparent 36%), linear-gradient(135deg,#fff,#faf7ff)!important;
}
.thanks-modal-premium{
  position:relative!important;
  width:min(680px,100%)!important;
  background:#fff!important;
  border:1px solid rgba(130,10,209,.14)!important;
  border-radius:34px!important;
  padding:38px!important;
  box-shadow:0 35px 110px rgba(41,11,77,.18)!important;
  overflow:hidden!important;
  text-align:left!important;
}
.thanks-modal-premium:before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-90px;
  top:-100px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(130,10,209,.2),rgba(41,11,77,.08));
}
.thanks-top{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:18px;z-index:1}
.thanks-modal-premium .thanks-icon{margin:0!important;width:64px!important;height:64px!important;border-radius:22px!important;flex:0 0 64px!important}
.thanks-modal-premium .proposal-kicker{margin:0!important}
.thanks-modal-premium h1{position:relative;z-index:1;font-size:clamp(30px,4vw,42px)!important;margin:10px 0 12px!important;color:var(--primary)!important;letter-spacing:-.03em!important}
.thanks-modal-premium p{position:relative;z-index:1;max-width:none!important;margin:0 0 18px!important;color:#6f607b!important;font-size:18px!important;line-height:1.55!important;text-align:left!important}
.thanks-profile-card{position:relative;z-index:1;display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#fbf7ff,#f2e6ff);border:1px solid rgba(130,10,209,.13);border-radius:24px;padding:16px;margin:22px 0;box-shadow:0 14px 35px rgba(41,11,77,.08)}
.thanks-profile-avatar{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-weight:900;font-size:24px;flex:0 0 54px}
.thanks-profile-card small{display:block;font-size:12px;font-weight:800;color:#7c668f;margin-bottom:3px}
.thanks-profile-card strong{display:block;font-size:18px;color:var(--primary);line-height:1.15}
.thanks-profile-card span{display:block;margin-top:3px;color:#705b80;font-weight:800;font-size:13px}
.thanks-modal-premium .thanks-note{position:relative;z-index:1;display:flex;gap:12px;align-items:flex-start;background:#fff8eb!important;border:1px solid #f0d49b!important;color:#4f3d18!important;border-radius:20px!important;padding:15px 16px!important;margin:0 0 22px!important;font-size:15px!important;line-height:1.35!important;text-align:left!important}
.thanks-modal-premium .thanks-note i{margin-top:2px;color:#9b6a00}
.thanks-cta{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:999px;background:var(--primary);color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 18px 40px rgba(41,11,77,.22);transition:.2s ease}
.thanks-cta:hover{transform:translateY(-2px);background:var(--secondary)}
.security-choice-card h3{line-height:1.2}
@media(max-width:620px){
  .thanks-modal-shell{padding:22px 14px!important;align-items:flex-start!important}
  .thanks-modal-premium{padding:26px 20px!important;border-radius:26px!important;text-align:left!important}
  .thanks-top{align-items:flex-start;flex-direction:column;gap:10px}
  .thanks-profile-card{align-items:flex-start}
  .thanks-cta{width:100%;padding:0 16px}
}

/* v26 - barra de limite estilo app, limpa e mobile-first */
.limit-style-card {
  position: relative;
  background: linear-gradient(180deg, #fbf6ff 0%, #ffffff 100%);
  border: 1px solid rgba(130, 10, 209, .12);
  border-radius: 28px;
  padding: 28px 22px 22px;
  box-shadow: 0 18px 55px rgba(41, 11, 77, .10);
  text-align: center;
}
.range-close {
  position: absolute;
  left: 16px;
  top: 14px;
  border: 0;
  background: transparent;
  color: #9a7caf;
  font-size: 15px;
  cursor: default;
}
.limit-mini-title {
  color: #8a7898;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 16px;
}
.limit-main-value {
  color: #8a14db;
  font-size: clamp(30px, 7vw, 42px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -1.5px;
  margin-bottom: 10px;
}
.limit-subtitle {
  color: #9a8aa4;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 26px;
}
.clean-range {
  height: 6px !important;
  background: linear-gradient(90deg, #8a14db var(--range-progress), #d9cce4 var(--range-progress)) !important;
  border-radius: 999px;
  box-shadow: none;
}
.clean-range::-webkit-slider-thumb {
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #a10bff, #7d19d8) !important;
  box-shadow: 0 10px 22px rgba(130, 10, 209, .28) !important;
  position: relative;
}
.clean-range::-moz-range-thumb {
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #a10bff, #7d19d8) !important;
  box-shadow: 0 10px 22px rgba(130, 10, 209, .28) !important;
}
.limit-minmax {
  margin-top: 18px;
  color: #9a8aa4;
  font-size: 12px;
  font-weight: 800;
}
@media(max-width:560px){
  .limit-style-card{padding:26px 20px 22px;border-radius:26px;}
  .limit-main-value{font-size:32px;}
}

/* v27 - barra de limite estilo app minimalista */
.limit-style-card {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 14px 4px 10px !important;
  margin: 0 0 18px !important;
  text-align: center !important;
  position: relative !important;
}
.limit-style-card .range-close {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #8d7a98 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: default !important;
}
.limit-style-card .limit-mini-title {
  color: #8b7a92 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
}
.limit-style-card .limit-main-value {
  color: #78677f !important;
  font-size: clamp(25px, 7vw, 31px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.6px !important;
  line-height: 1.05 !important;
  margin: 0 0 12px !important;
}
.limit-style-card .limit-subtitle {
  color: #998fa0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin: 0 0 28px !important;
}
.limit-style-card .clean-range {
  --range-progress: 0% !important;
  width: 100% !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: none !important;
  cursor: pointer !important;
}
.limit-style-card .clean-range::-webkit-slider-runnable-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: #bfb2c4 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.limit-style-card .clean-range::-moz-range-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: #bfb2c4 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.limit-style-card .clean-range::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 30px !important;
  height: 30px !important;
  margin-top: -13px !important;
  border: 0 !important;
  border-radius: 50% 50% 50% 8px !important;
  background-color: #8a14db !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 3.1 7.5 9.7a6 6 0 1 0 9 0L12 3.1Zm0 15.1a3.1 3.1 0 0 1-3.1-3.1c0-1.4 1.9-4.3 3.1-6.1 1.2 1.8 3.1 4.7 3.1 6.1a3.1 3.1 0 0 1-3.1 3.1Z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 17px 17px !important;
  transform: rotate(-45deg) !important;
  box-shadow: 0 8px 18px rgba(130,10,209,.25) !important;
}
.limit-style-card .clean-range::-moz-range-thumb {
  width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 50% 50% 50% 8px !important;
  background-color: #8a14db !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 3.1 7.5 9.7a6 6 0 1 0 9 0L12 3.1Zm0 15.1a3.1 3.1 0 0 1-3.1-3.1c0-1.4 1.9-4.3 3.1-6.1 1.2 1.8 3.1 4.7 3.1 6.1a3.1 3.1 0 0 1-3.1 3.1Z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 17px 17px !important;
  transform: rotate(-45deg) !important;
  box-shadow: 0 8px 18px rgba(130,10,209,.25) !important;
}
.limit-style-card .limit-minmax {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 4px !important;
  color: #9a8fa0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
@media(max-width:560px){
  .limit-style-card{padding:12px 0 8px!important;}
  .limit-style-card .limit-main-value{font-size:27px!important;}
}


/* v29 - ajuste final barra limite: sem X, sem linha extra, thumb com <> */
.limit-style-card,
.limit-style-card.range-card {
  border: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.limit-style-card::before,
.limit-style-card::after,
.limit-style-card .clean-range::before,
.limit-style-card .clean-range::after {
  display: none !important;
  content: none !important;
}
.limit-style-card .range-close { display: none !important; }
.limit-style-card .clean-range {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.limit-style-card .clean-range::-webkit-slider-runnable-track {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: #bfb2c4 !important;
}
.limit-style-card .clean-range::-moz-range-track {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: #bfb2c4 !important;
}
.limit-style-card .clean-range::-webkit-slider-thumb {
  background-color: #8a14db !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ctext x='20' y='24' text-anchor='middle' font-family='Arial,sans-serif' font-size='13' font-weight='900' fill='white' transform='rotate(45 20 20)'%3E%26lt;%26gt;%3C/text%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 23px 23px !important;
}
.limit-style-card .clean-range::-moz-range-thumb {
  background-color: #8a14db !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ctext x='20' y='24' text-anchor='middle' font-family='Arial,sans-serif' font-size='13' font-weight='900' fill='white' transform='rotate(45 20 20)'%3E%26lt;%26gt;%3C/text%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 23px 23px !important;
}

/* v30 - simulação mais espaçada e slider premium esticado */
.panel-page{
  padding-top:72px;
  padding-bottom:72px;
}
.panel{
  grid-template-columns:minmax(430px,1.15fr) minmax(360px,.72fr) minmax(300px,.56fr) !important;
  gap:34px !important;
  max-width:1580px !important;
}
.info-card,.sim-card{
  border-radius:34px !important;
}
.sim-card{
  padding:36px 34px !important;
}
.sim-card h2{
  font-size:31px !important;
  letter-spacing:-.03em;
}
.step-wrap{
  margin-bottom:28px !important;
}
.step-progress{
  height:6px !important;
  border-radius:999px !important;
  margin:18px 0 18px !important;
}
.step-bullets{
  gap:12px !important;
}
.step-bullet{
  gap:7px !important;
}
.step-bullet span{
  width:32px !important;
  height:32px !important;
  flex-basis:32px !important;
}

.limit-style-card,
.limit-style-card.range-card{
  width:100% !important;
  max-width:none !important;
  background:#fff !important;
  border:none !important;
  box-shadow:none !important;
  padding:22px 0 20px !important;
  margin:0 0 24px !important;
}
.limit-style-card .limit-mini-title{
  color:#8e7d99 !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-align:center !important;
  margin-bottom:8px !important;
}
.limit-style-card .limit-main-value{
  color:#75647e !important;
  font-size:33px !important;
  font-weight:500 !important;
  line-height:1.1 !important;
  text-align:center !important;
  margin-bottom:8px !important;
}
.limit-style-card .limit-subtitle{
  color:#95869e !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-align:center !important;
  margin-bottom:31px !important;
}
.limit-style-card .clean-range{
  display:block !important;
  width:100% !important;
  height:36px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  cursor:pointer !important;
}
.limit-style-card .clean-range::-webkit-slider-runnable-track{
  width:100% !important;
  height:4px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#bdaec2 !important;
  box-shadow:none !important;
}
.limit-style-card .clean-range::-moz-range-track{
  width:100% !important;
  height:4px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#bdaec2 !important;
  box-shadow:none !important;
}
.limit-style-card .clean-range::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:34px !important;
  height:34px !important;
  margin-top:-15px !important;
  border:0 !important;
  border-radius:50% 50% 50% 9px !important;
  background-color:#8a14db !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ctext x='26' y='31' text-anchor='middle' font-family='Arial,sans-serif' font-size='13' font-weight='900' letter-spacing='2' fill='white' transform='rotate(45 26 26)'%3E%26lt; %26gt;%3C/text%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:31px 31px !important;
  transform:rotate(-45deg) !important;
  box-shadow:0 14px 26px rgba(138,20,219,.25) !important;
  cursor:grab !important;
}
.limit-style-card .clean-range::-moz-range-thumb{
  width:34px !important;
  height:34px !important;
  border:0 !important;
  border-radius:50% 50% 50% 9px !important;
  background-color:#8a14db !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ctext x='26' y='31' text-anchor='middle' font-family='Arial,sans-serif' font-size='13' font-weight='900' letter-spacing='2' fill='white' transform='rotate(45 26 26)'%3E%26lt; %26gt;%3C/text%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:31px 31px !important;
  transform:rotate(-45deg) !important;
  box-shadow:0 14px 26px rgba(138,20,219,.25) !important;
  cursor:grab !important;
}
.limit-style-card .limit-minmax{
  margin-top:-2px !important;
  color:#938496 !important;
  font-size:12px !important;
  font-weight:700 !important;
}
.card-form select{
  margin-top:6px !important;
}
.step-actions{
  gap:14px !important;
}
.step-actions button{
  min-height:54px !important;
}
.simulation-right-banner{
  min-height:650px !important;
  border-radius:34px !important;
}
@media(max-width:1250px){
  .panel{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr) !important;max-width:1120px !important;}
  .simulation-right-banner{grid-column:1/-1 !important;min-height:320px !important;position:relative !important;top:auto !important;}
}
@media(max-width:850px){
  .panel-page{padding:28px 14px 44px !important;}
  .panel{grid-template-columns:1fr !important;gap:18px !important;}
  .info-card,.sim-card{border-radius:28px !important;padding:26px 22px !important;}
  .sim-card{order:2 !important;}
  .simulation-right-banner{order:3 !important;min-height:230px !important;border-radius:28px !important;}
  .step-bullets{gap:8px !important;}
  .step-bullet{font-size:10px !important;gap:5px !important;}
  .step-bullet span{width:30px !important;height:30px !important;flex-basis:30px !important;}
  .limit-style-card .limit-main-value{font-size:31px !important;}
  .limit-style-card{padding-top:16px !important;}
}
@media(max-width:460px){
  .sim-card h2{font-size:29px !important;}
  .step-bullet{font-size:9.5px !important;}
  .step-bullet span{width:29px !important;height:29px !important;flex-basis:29px !important;}
  .step-actions{grid-template-columns:1fr 1fr !important;display:grid !important;}
  .step-actions button{width:100% !important;padding-left:12px !important;padding-right:12px !important;}
  .limit-style-card .limit-main-value{font-size:29px !important;}
  .limit-style-card .clean-range::-webkit-slider-thumb{width:32px !important;height:32px !important;margin-top:-14px !important;}
  .limit-style-card .clean-range::-moz-range-thumb{width:32px !important;height:32px !important;}
}

/* v31 - layout unificado: perfil + dados em um painel central profissional */
.panel.simulation-unified-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1060px) minmax(290px, 360px) !important;
  align-items:start !important;
  justify-content:center !important;
  gap:30px !important;
  max-width:1500px !important;
  margin:0 auto !important;
}
.simulation-unified-card{
  display:grid !important;
  grid-template-columns:minmax(0, 1.08fr) minmax(350px, .72fr) !important;
  gap:26px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(111, 38, 170, .08) !important;
  border-radius:38px !important;
  box-shadow:0 28px 75px rgba(31,0,63,.10) !important;
  padding:34px !important;
  backdrop-filter: blur(12px) !important;
}
.simulation-unified-card .info-card,
.simulation-unified-card .sim-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.simulation-unified-card .sim-card{
  align-self:start !important;
  background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%) !important;
  border:1px solid rgba(111,38,170,.10) !important;
  box-shadow:0 22px 50px rgba(44,0,77,.08) !important;
  border-radius:32px !important;
  padding:30px 28px !important;
}
.simulation-unified-card .info-card h2{
  max-width:660px !important;
  font-size:clamp(30px, 3.1vw, 44px) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  margin:16px 0 10px !important;
}
.simulation-unified-card .hello-subtitle{
  max-width:620px !important;
  color:#6f607a !important;
  font-size:17px !important;
  line-height:1.55 !important;
}
.simulation-unified-card .pro-profile-card{
  margin:22px 0 24px !important;
  max-width:690px !important;
}
.simulation-unified-card .info-card > p:not(.hello-subtitle){
  max-width:660px !important;
  color:#4d405a !important;
  font-size:16px !important;
  line-height:1.55 !important;
}
.simulation-unified-card .professional-list{
  max-width:690px !important;
  display:grid !important;
  gap:12px !important;
}
.simulation-unified-card .professional-list > div{
  background:linear-gradient(90deg,#f4e9ff 0%,#faf5ff 100%) !important;
  border:1px solid rgba(132,38,204,.08) !important;
  border-radius:20px !important;
  padding:14px 16px !important;
}
.simulation-unified-card .card-form input,
.simulation-unified-card .card-form select{
  min-height:56px !important;
  border-radius:999px !important;
}
.simulation-unified-card .step-wrap{
  overflow:hidden !important;
}
.simulation-unified-card .step-bullets{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
}
.simulation-unified-card .step-bullet{
  min-width:0 !important;
  font-size:11px !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
}
.simulation-unified-card .step-bullet span{
  margin:0 auto 4px !important;
}
.simulation-unified-card .limit-style-card,
.simulation-unified-card .limit-style-card.range-card{
  padding:16px 4px 16px !important;
  margin-bottom:20px !important;
}
.simulation-unified-card .limit-main-value{
  font-size:34px !important;
  color:#5e4c68 !important;
}
.simulation-unified-card .limit-minmax span{
  font-size:12px !important;
  font-weight:800 !important;
  color:#8b7b91 !important;
}
.simulation-unified-card .step-actions{
  margin-top:20px !important;
}
.panel.simulation-unified-layout .simulation-right-banner{
  position:sticky !important;
  top:96px !important;
  min-height:640px !important;
  border-radius:34px !important;
  overflow:hidden !important;
  box-shadow:0 28px 70px rgba(32,0,54,.15) !important;
}
@media(max-width:1320px){
  .panel.simulation-unified-layout{
    grid-template-columns:minmax(0, 1fr) !important;
    max-width:1080px !important;
  }
  .panel.simulation-unified-layout .simulation-right-banner{
    position:relative !important;
    top:auto !important;
    min-height:300px !important;
    max-width:100% !important;
  }
}
@media(max-width:930px){
  .simulation-unified-card{
    grid-template-columns:1fr !important;
    padding:22px !important;
    border-radius:30px !important;
    gap:24px !important;
  }
  .simulation-unified-card .sim-card{
    padding:26px 20px !important;
    border-radius:28px !important;
  }
  .simulation-unified-card .info-card h2{
    font-size:32px !important;
  }
  .simulation-unified-card .pro-profile-card{
    max-width:100% !important;
  }
}
@media(max-width:520px){
  .panel-page{padding-left:12px !important;padding-right:12px !important;}
  .simulation-unified-card{
    padding:18px !important;
    border-radius:26px !important;
  }
  .simulation-unified-card .info-card h2{
    font-size:28px !important;
  }
  .simulation-unified-card .hello-subtitle,
  .simulation-unified-card .info-card > p:not(.hello-subtitle){
    font-size:14.5px !important;
  }
  .simulation-unified-card .sim-card h2{
    font-size:28px !important;
  }
  .simulation-unified-card .limit-main-value{
    font-size:30px !important;
  }
  .simulation-unified-card .step-bullets{gap:3px !important;}
  .simulation-unified-card .step-bullet{font-size:9.5px !important;}
  .simulation-unified-card .step-bullet span{width:30px !important;height:30px !important;}
  .simulation-unified-card .step-actions{grid-template-columns:1fr 1fr !important;display:grid !important;}
  .simulation-unified-card .step-actions button{min-height:52px !important;padding:0 10px !important;}
}

/* v32 - simulação em um único painel */
.panel.simulation-unified-layout{
  grid-template-columns:minmax(0, 920px) minmax(280px, 340px) !important;
  gap:28px !important;
}
.simulation-unified-card{
  grid-template-columns:1fr !important;
  max-width:920px !important;
  margin:0 auto !important;
  padding:34px 38px !important;
  gap:26px !important;
}
.simulation-unified-card .info-card,
.simulation-unified-card .sim-card{
  width:100% !important;
  max-width:100% !important;
}
.simulation-unified-card .info-card h2,
.simulation-unified-card .hello-subtitle,
.simulation-unified-card .info-card > p:not(.hello-subtitle),
.simulation-unified-card .pro-profile-card,
.simulation-unified-card .professional-list{
  max-width:100% !important;
}
.simulation-unified-card .sim-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:26px 0 0 !important;
  margin-top:6px !important;
  border-top:1px solid rgba(111,38,170,.10) !important;
}
.simulation-unified-card .sim-card h2{
  font-size:clamp(28px,3vw,38px) !important;
  margin-bottom:20px !important;
}
.simulation-unified-card .step-wrap{
  background:#fff !important;
  border:1px solid rgba(111,38,170,.10) !important;
  border-radius:24px !important;
  padding:18px 18px 16px !important;
  margin-bottom:22px !important;
}
.simulation-unified-card .form-step.active{
  background:#fff !important;
  border:1px solid rgba(111,38,170,.10) !important;
  border-radius:26px !important;
  padding:22px !important;
  box-shadow:0 18px 45px rgba(31,0,63,.06) !important;
}
.simulation-unified-card .limit-style-card.range-card{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:6px 0 10px !important;
}
@media(max-width:1320px){
  .panel.simulation-unified-layout{grid-template-columns:minmax(0,920px) !important;}
}
@media(max-width:620px){
  .simulation-unified-card{padding:22px 18px !important;border-radius:28px !important;}
  .simulation-unified-card .form-step.active{padding:18px 14px !important;border-radius:22px !important;}
  .simulation-unified-card .step-wrap{padding:14px 10px !important;}
}


/* v34 - evita subir página ao trocar etapas e painel mais compacto */
.panel.simulation-unified-layout{
  grid-template-columns:minmax(0, 820px) minmax(260px, 310px) !important;
  gap:24px !important;
  max-width:1180px !important;
}
.simulation-unified-card{
  max-width:820px !important;
  padding:28px 30px !important;
  border-radius:34px !important;
}
.simulation-unified-card .pro-profile-card{
  max-width:100% !important;
}
.simulation-unified-card .sim-card{
  padding-top:22px !important;
}
.simulation-unified-card .form-step.active{
  padding:20px !important;
}
.panel.simulation-unified-layout .simulation-right-banner{
  min-height:580px !important;
  border-radius:30px !important;
}
@media(max-width:1320px){
  .panel.simulation-unified-layout{
    grid-template-columns:minmax(0, 820px) !important;
    max-width:860px !important;
  }
}
@media(max-width:620px){
  .panel-page{padding-top:22px !important;}
  .simulation-unified-card{
    padding:18px 14px !important;
    border-radius:24px !important;
  }
  .simulation-unified-card .form-step.active{
    padding:16px 12px !important;
  }
  .simulation-unified-card .step-wrap{
    margin-bottom:16px !important;
  }
}

.input-error{border:2px solid #f01818!important;background:#fffafa!important;color:#17002f!important}
.cpf-error-text{margin:2px 0 6px;color:#e00000;font-weight:700;font-size:13px;line-height:1.1}

/* v56 - seções extras gerenciáveis */
.custom-info-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;padding:90px 12%;background:#f5f5f5;border-bottom:5px solid var(--primary)}
.custom-info-section.reverse{grid-template-columns:1.2fr 1fr}
.custom-info-section.reverse .copy-col{order:2}
.custom-info-section.reverse .custom-info-image{order:1}
.custom-info-section h2{font-size:46px;line-height:1.08;margin:8px 0 24px;color:var(--primary)}
.custom-info-section p{font-size:20px;line-height:1.45;max-width:540px;color:var(--primary);font-weight:700}
.custom-info-image{background-size:cover;background-position:center}
@media(max-width:860px){.custom-info-section,.custom-info-section.reverse{grid-template-columns:1fr;padding:54px 24px;gap:28px}.custom-info-section.reverse .copy-col,.custom-info-section.reverse .custom-info-image{order:initial}.custom-info-section h2{font-size:34px}.custom-info-section p{font-size:18px}.custom-info-image{height:260px}}

/* v57 - seções extras mais profissionais e responsivas */
.custom-info-section,
.custom-info-section.reverse{
  width:min(1280px, calc(100% - 48px)) !important;
  margin:54px auto !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid rgba(41,11,77,.08) !important;
  border-bottom:1px solid rgba(41,11,77,.08) !important;
  border-radius:34px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  box-shadow:0 28px 90px rgba(41,11,77,.10) !important;
}
.custom-info-section.reverse{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
}
.custom-info-section .copy-col{
  padding:64px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}
.custom-info-section.reverse .copy-col{order:2 !important;}
.custom-info-section.reverse .custom-info-image{order:1 !important;}
.custom-info-section .mini-title{
  width:max-content !important;
  max-width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  background:#f1e2ff !important;
  color:var(--secondary) !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
  margin-bottom:18px !important;
}
.custom-info-section h2{
  font-size:clamp(32px, 4vw, 52px) !important;
  line-height:1.06 !important;
  letter-spacing:-1.4px !important;
  margin:0 0 22px !important;
  color:var(--primary) !important;
}
.custom-info-section p{
  font-size:clamp(17px, 1.5vw, 21px) !important;
  line-height:1.5 !important;
  max-width:610px !important;
  color:#32124f !important;
  font-weight:700 !important;
  margin:0 !important;
}
.custom-info-section .btn-premium{
  width:max-content !important;
  max-width:100% !important;
  margin-top:28px !important;
  padding:15px 26px !important;
  border-radius:999px !important;
  box-shadow:0 14px 34px rgba(41,11,77,.18) !important;
}
.custom-info-image,
.custom-info-section .custom-info-image{
  height:auto !important;
  min-height:430px !important;
  width:100% !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-color:#eadcf6 !important;
  background-size:cover !important;
  background-position:center !important;
  position:relative !important;
}
.custom-info-section .custom-info-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(41,11,77,.04), rgba(41,11,77,.18)) !important;
  pointer-events:none !important;
}
.custom-info-section .custom-info-image::after{content:"" !important;}

@media(max-width:980px){
  .custom-info-section,
  .custom-info-section.reverse{
    width:calc(100% - 32px) !important;
    margin:34px auto !important;
    grid-template-columns:1fr !important;
    border-radius:28px !important;
  }
  .custom-info-section .copy-col,
  .custom-info-section.reverse .copy-col{
    order:1 !important;
    padding:34px 28px 28px !important;
  }
  .custom-info-section .custom-info-image,
  .custom-info-section.reverse .custom-info-image{
    order:2 !important;
    min-height:280px !important;
    height:280px !important;
  }
  .custom-info-section h2{
    font-size:32px !important;
    letter-spacing:-.8px !important;
  }
  .custom-info-section p{
    font-size:17px !important;
    line-height:1.45 !important;
  }
}

@media(max-width:520px){
  .custom-info-section,
  .custom-info-section.reverse{
    width:calc(100% - 22px) !important;
    border-radius:24px !important;
    margin:26px auto !important;
  }
  .custom-info-section .copy-col,
  .custom-info-section.reverse .copy-col{
    padding:28px 22px 24px !important;
  }
  .custom-info-section .mini-title{
    font-size:14px !important;
    padding:9px 13px !important;
  }
  .custom-info-section h2{
    font-size:28px !important;
  }
  .custom-info-section .custom-info-image,
  .custom-info-section.reverse .custom-info-image{
    height:240px !important;
    min-height:240px !important;
  }
}

/* v58 - seções extras idênticas ao padrão texto + imagem lateral */
main > .extra-info-block.custom-info-section,
main > .extra-info-block.custom-info-section.reverse{
  width:min(1320px, calc(100% - 56px)) !important;
  margin:72px auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap:72px !important;
  align-items:center !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
main > .extra-info-block.custom-info-section.reverse{
  grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr) !important;
}
main > .extra-info-block.custom-info-section.reverse .extra-copy{order:2 !important;}
main > .extra-info-block.custom-info-section.reverse .extra-image-wrap{order:1 !important;}
main > .extra-info-block .extra-copy,
main > .extra-info-block.custom-info-section .copy-col{
  padding:0 !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
main > .extra-info-block .extra-eyebrow,
main > .extra-info-block .mini-title{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--secondary) !important;
  font-size:clamp(18px, 1.8vw, 28px) !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
main > .extra-info-block h2{
  margin:0 0 24px !important;
  color:var(--primary) !important;
  font-size:clamp(34px, 4vw, 56px) !important;
  line-height:1.08 !important;
  letter-spacing:-1.4px !important;
  max-width:620px !important;
}
main > .extra-info-block p{
  margin:0 !important;
  color:var(--primary) !important;
  font-size:clamp(17px, 1.45vw, 22px) !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  max-width:620px !important;
}
main > .extra-info-block .extra-btn{
  margin-top:28px !important;
  width:auto !important;
  max-width:100% !important;
  padding:15px 28px !important;
  border-radius:999px !important;
}
main > .extra-info-block .extra-image-wrap,
main > .extra-info-block.custom-info-section .custom-info-image{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#eadcf6 !important;
  box-shadow:0 28px 80px rgba(41,11,77,.16) !important;
  position:relative !important;
}
main > .extra-info-block .extra-image-wrap::before,
main > .extra-info-block .extra-image-wrap::after,
main > .extra-info-block.custom-info-section .custom-info-image::before,
main > .extra-info-block.custom-info-section .custom-info-image::after{
  content:none !important;
  display:none !important;
}
main > .extra-info-block .extra-image-wrap img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:390px !important;
  max-height:520px !important;
  object-fit:cover !important;
  object-position:center !important;
}
@media(max-width:980px){
  main > .extra-info-block.custom-info-section,
  main > .extra-info-block.custom-info-section.reverse{
    width:calc(100% - 32px) !important;
    margin:44px auto !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  main > .extra-info-block.custom-info-section.reverse .extra-copy,
  main > .extra-info-block.custom-info-section.reverse .extra-image-wrap{
    order:initial !important;
  }
  main > .extra-info-block h2{font-size:34px !important;letter-spacing:-.8px !important;}
  main > .extra-info-block p{font-size:17px !important;}
  main > .extra-info-block .extra-image-wrap img{min-height:260px !important;max-height:320px !important;}
}
@media(max-width:520px){
  main > .extra-info-block.custom-info-section,
  main > .extra-info-block.custom-info-section.reverse{
    width:calc(100% - 22px) !important;
    margin:32px auto !important;
    gap:22px !important;
  }
  main > .extra-info-block h2{font-size:29px !important;}
  main > .extra-info-block .extra-eyebrow{font-size:17px !important;}
  main > .extra-info-block .extra-image-wrap{border-radius:14px !important;}
  main > .extra-info-block .extra-image-wrap img{min-height:220px !important;max-height:260px !important;}
}


/* v59 - tema das seções extras: neutro ou roxo, sem card/painel */
main > .extra-info-block.custom-info-section.theme-neutral,
main > .extra-info-block.custom-info-section.theme-neutral.reverse{
  background:transparent !important;
}
main > .extra-info-block.custom-info-section.theme-purple,
main > .extra-info-block.custom-info-section.theme-purple.reverse{
  width:100% !important;
  max-width:none !important;
  margin:72px 0 !important;
  padding:84px max(28px, calc((100vw - 1320px) / 2)) !important;
  background:linear-gradient(135deg, #2b064d 0%, #4a0d78 55%, #21003c 100%) !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  position:relative !important;
}
main > .extra-info-block.custom-info-section.theme-purple::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -120px -190px auto !important;
  width:420px !important;
  height:420px !important;
  border-radius:50% !important;
  background:rgba(172, 62, 255, .24) !important;
  pointer-events:none !important;
}
main > .extra-info-block.custom-info-section.theme-purple .extra-eyebrow,
main > .extra-info-block.custom-info-section.theme-purple .mini-title{
  color:#d7a5ff !important;
}
main > .extra-info-block.custom-info-section.theme-purple h2,
main > .extra-info-block.custom-info-section.theme-purple p{
  color:#fff !important;
}
main > .extra-info-block.custom-info-section.theme-purple p{
  opacity:.93 !important;
}
main > .extra-info-block.custom-info-section.theme-purple .extra-image-wrap{
  box-shadow:0 34px 90px rgba(0,0,0,.32) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
main > .extra-info-block.custom-info-section.theme-purple .extra-btn{
  background:#fff !important;
  color:#2b064d !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}
@media(max-width:980px){
  main > .extra-info-block.custom-info-section.theme-purple,
  main > .extra-info-block.custom-info-section.theme-purple.reverse{
    margin:44px 0 !important;
    padding:54px 24px !important;
  }
}
@media(max-width:520px){
  main > .extra-info-block.custom-info-section.theme-purple,
  main > .extra-info-block.custom-info-section.theme-purple.reverse{
    margin:32px 0 !important;
    padding:40px 16px !important;
  }
}


/* v60 - seções extras conectadas e sem linha atravessada */
.below-form-block,
.iof-section,
.custom-info-section,
.extra-info-block,
main > .extra-info-block.custom-info-section,
main > .extra-info-block.custom-info-section.reverse,
main > .extra-info-block.custom-info-section.theme-neutral,
main > .extra-info-block.custom-info-section.theme-purple {
  border-bottom: 0 !important;
  border-top: 0 !important;
}
.below-form-block,
.iof-section {
  border-bottom: 0 !important;
}
main > .extra-info-block.custom-info-section.theme-neutral,
main > .extra-info-block.custom-info-section.theme-neutral.reverse {
  margin: 0 auto !important;
  padding: 86px 0 !important;
}
main > .extra-info-block.custom-info-section.theme-purple,
main > .extra-info-block.custom-info-section.theme-purple.reverse {
  margin: 0 !important;
  padding-top: 86px !important;
  padding-bottom: 86px !important;
}
.below-form-block + .extra-info-block.custom-info-section,
.iof-section + .extra-info-block.custom-info-section,
.extra-info-block.custom-info-section + .iof-section,
.extra-info-block.custom-info-section + .below-form-block,
.extra-info-block.custom-info-section + .purple-benefits,
.purple-benefits + .extra-info-block.custom-info-section {
  margin-top: 0 !important;
}
.extra-info-block.custom-info-section + .extra-info-block.custom-info-section {
  margin-top: 0 !important;
}
@media(max-width:980px){
  main > .extra-info-block.custom-info-section.theme-neutral,
  main > .extra-info-block.custom-info-section.theme-neutral.reverse{
    padding:48px 0 !important;
    margin:0 auto !important;
  }
  main > .extra-info-block.custom-info-section.theme-purple,
  main > .extra-info-block.custom-info-section.theme-purple.reverse{
    padding-top:54px !important;
    padding-bottom:54px !important;
    margin:0 !important;
  }
}
@media(max-width:520px){
  main > .extra-info-block.custom-info-section.theme-neutral,
  main > .extra-info-block.custom-info-section.theme-neutral.reverse{
    padding:36px 0 !important;
  }
  main > .extra-info-block.custom-info-section.theme-purple,
  main > .extra-info-block.custom-info-section.theme-purple.reverse{
    padding-top:40px !important;
    padding-bottom:40px !important;
  }
}


/* v61 - botões de entrada da index mais premium e chamativos */
.choice-actions {
  align-items: stretch;
}
.choice-card {
  position: relative;
  overflow: hidden;
  min-height: 282px;
  padding: 30px 28px 26px;
  border-radius: 34px;
  gap: 16px;
  text-decoration: none;
  isolation: isolate;
}
.choice-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(130,10,209,.12), transparent 34%), linear-gradient(180deg, rgba(255,255,255,.62), transparent 65%);
  z-index: -2;
}
.choice-card::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -45%;
  width: 62%;
  height: 300%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  opacity: .55;
  transition: transform .8s ease, left .8s ease;
  z-index: -1;
}
.choice-card:hover::after {
  left: 120%;
}
.choice-card:hover,
.choice-card:focus-visible {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 36px 90px rgba(41,11,77,.18);
}
.choice-card.primary {
  background: linear-gradient(145deg, #4f157d 0%, #6d15a6 38%, #8a11d6 76%, #a43cff 100%);
  color: #fff;
  border-color: rgba(255,255,255,.12);
  animation: choiceFloat 3.6s ease-in-out infinite;
}
.choice-card.primary::before {
  background: radial-gradient(circle at 86% 12%, rgba(255,255,255,.22), transparent 22%), radial-gradient(circle at 12% 100%, rgba(255,255,255,.12), transparent 24%);
}
.choice-card.accent {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,255,.98));
}
.choice-card-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  text-transform: uppercase;
  background: rgba(130,10,209,.1);
  color: var(--secondary);
}
.choice-card.primary .choice-card-badge {
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
}
.choice-card strong {
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1.06;
  letter-spacing: -.6px;
  max-width: 14ch;
}
.choice-card small {
  font-size: 18px;
  line-height: 1.55;
  max-width: 28ch;
  opacity: .9;
}
.choice-card-footer {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.choice-card em {
  margin-top: 0;
  font-size: 15px;
  letter-spacing: .2px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
}
.choice-card.accent em {
  background: rgba(130,10,209,.08);
  border-color: rgba(130,10,209,.12);
}
.choice-note {
  font-size: 13px;
  font-weight: 800;
  opacity: .82;
}
.choice-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-size: 16px;
  transition: transform .22s ease, background .22s ease;
}
.choice-card.accent .choice-arrow {
  background: rgba(130,10,209,.14);
}
.choice-card:hover .choice-arrow,
.choice-card:focus-visible .choice-arrow {
  transform: translateX(5px);
}
@keyframes choiceFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@media (max-width: 1100px) {
  .choice-card {
    min-height: 250px;
    padding: 26px 24px 24px;
  }
  .choice-card strong { max-width: 100%; }
  .choice-card small { font-size: 16px; max-width: 100%; }
}
@media (max-width: 900px) {
  .choice-card {
    min-height: auto;
    border-radius: 28px;
  }
  .choice-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .choice-card em {
    width: 100%;
    justify-content: space-between;
  }
}
@media (max-width: 560px) {
  .choice-actions {
    gap: 14px;
  }
  .choice-card {
    padding: 22px 20px;
    border-radius: 24px;
    gap: 12px;
  }
  .choice-card-badge {
    font-size: 11px;
    padding: 9px 12px;
  }
  .choice-card strong {
    font-size: 22px;
    line-height: 1.12;
  }
  .choice-card small {
    font-size: 15px;
    line-height: 1.45;
  }
  .choice-card em {
    font-size: 14px;
    padding: 11px 14px;
  }
  .choice-arrow {
    width: 26px;
    height: 26px;
  }
}


/* v62 - index mais chamativa, navbar mobile visível e animações ao rolar */
.navbar {
  gap: 16px;
}
.nav-links {
  margin-left: auto;
}
.nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(130,10,209,.08);
  border: 1px solid rgba(130,10,209,.08);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.nav-icon:hover,
.nav-icon:focus-visible {
  background: rgba(130,10,209,.14);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(41,11,77,.12);
}
.mobile-nav-overlay,
.mobile-nav-drawer {
  display: none;
}
.choice-actions {
  align-items: stretch;
}
.choice-card {
  position: relative;
  overflow: hidden;
  min-height: 286px;
  padding: 30px 28px 26px;
  border-radius: 34px;
  gap: 16px;
  isolation: isolate;
  cursor: pointer;
}
.choice-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(130,10,209,.12), transparent 34%), linear-gradient(180deg, rgba(255,255,255,.62), transparent 65%);
  z-index: -2;
}
.choice-card::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -45%;
  width: 62%;
  height: 300%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  opacity: .55;
  transition: transform .8s ease, left .8s ease;
  z-index: -1;
}
.choice-card:hover::after,
.choice-card:focus-visible::after {
  left: 120%;
}
.choice-card:hover,
.choice-card:focus-visible {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 36px 90px rgba(41,11,77,.18);
}
.choice-card.primary {
  background: linear-gradient(145deg, #4f157d 0%, #6d15a6 38%, #8a11d6 76%, #a43cff 100%);
  color: #fff;
  border-color: rgba(255,255,255,.12);
  animation: choiceFloat 3.6s ease-in-out infinite;
}
.choice-card.primary::before {
  background: radial-gradient(circle at 86% 12%, rgba(255,255,255,.22), transparent 22%), radial-gradient(circle at 12% 100%, rgba(255,255,255,.12), transparent 24%);
}
.choice-card.accent {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,246,255,.98));
}
.choice-card-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  text-transform: uppercase;
  background: rgba(130,10,209,.1);
  color: var(--secondary);
}
.choice-card.primary .choice-card-badge {
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
}
.choice-card strong {
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1.06;
  letter-spacing: -.6px;
  max-width: 14ch;
}
.choice-card small {
  font-size: 18px;
  line-height: 1.55;
  max-width: 28ch;
  opacity: .9;
}
.choice-card-footer {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.choice-card em {
  margin-top: 0;
  font-style: normal;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .2px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
}
.choice-card.accent em {
  background: rgba(130,10,209,.08);
  border-color: rgba(130,10,209,.12);
}
.choice-note {
  font-size: 13px;
  font-weight: 800;
  opacity: .82;
}
.choice-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-size: 16px;
  transition: transform .22s ease, background .22s ease;
}
.choice-card.accent .choice-arrow {
  background: rgba(130,10,209,.14);
}
.choice-card:hover .choice-arrow,
.choice-card:focus-visible .choice-arrow {
  transform: translateX(5px);
}
.scroll-reveal {
  opacity: 0;
  transform: translateY(44px);
  transition: opacity .75s ease, transform .75s ease;
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}
.scroll-reveal.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes choiceFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@media (max-width: 1100px) {
  .choice-card {
    min-height: 250px;
    padding: 26px 24px 24px;
  }
  .choice-card strong { max-width: 100%; }
  .choice-card small { font-size: 16px; max-width: 100%; }
}
@media (max-width: 860px) {
  .navbar {
    height: auto;
    min-height: 78px;
    padding: 14px 16px;
  }
  .logo img {
    width: 44px;
    height: 44px;
  }
  .nav-links {
    gap: 8px;
  }
  .nav-cta {
    display: none !important;
  }
  .nav-icon {
    width: 46px;
    height: 46px;
    font-size: 24px;
    background: #f4ecfb;
    border-color: rgba(130,10,209,.14);
  }
  .mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20, 6, 36, .42);
    z-index: 60;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    display: block;
  }
  .mobile-nav-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(88vw, 360px);
    background: linear-gradient(180deg, #fff, #f8f1ff);
    box-shadow: -20px 0 60px rgba(41,11,77,.22);
    z-index: 61;
    padding: 18px;
    transform: translateX(108%);
    transition: transform .28s ease;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  body.mobile-menu-open {
    overflow: hidden;
  }
  body.mobile-menu-open .mobile-nav-overlay {
    opacity: 1;
    pointer-events: auto;
  }
  body.mobile-menu-open .mobile-nav-drawer {
    transform: translateX(0);
  }
  .mobile-nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
  }
  .mobile-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }
  .mobile-brand-logo {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--secondary), var(--primary));
    color: #fff;
    font-weight: 900;
    font-size: 18px;
    flex: none;
  }
  .mobile-brand strong {
    display: block;
    font-size: 18px;
    color: var(--primary);
  }
  .mobile-brand small {
    display: block;
    color: #7c6d88;
    margin-top: 2px;
  }
  .mobile-nav-close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: #f1e7fb;
    color: var(--primary);
    font-size: 20px;
  }
  .mobile-nav-body {
    display: grid;
    gap: 12px;
  }
  .mobile-nav-primary,
  .mobile-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 15px 16px;
    border-radius: 18px;
    border: 1px solid rgba(130,10,209,.10);
    background: #fff;
    color: var(--primary);
    font-weight: 800;
    box-shadow: 0 14px 34px rgba(41,11,77,.06);
  }
  .mobile-nav-primary {
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    border: none;
    box-shadow: 0 18px 36px rgba(71, 17, 122, .28);
  }
  .mobile-nav-link i {
    width: 22px;
    text-align: center;
    color: var(--secondary);
    font-size: 18px;
  }
  .mobile-nav-search {
    border: 0;
    text-align: left;
    cursor: pointer;
  }
  .choice-actions {
    gap: 14px;
    grid-template-columns: 1fr;
  }
  .choice-card {
    min-height: auto;
    padding: 24px 20px;
    border-radius: 26px;
    gap: 12px;
  }
  .choice-card-badge {
    font-size: 11px;
    padding: 9px 12px;
  }
  .choice-card strong {
    font-size: 23px;
    line-height: 1.12;
  }
  .choice-card small {
    font-size: 15px;
    line-height: 1.45;
  }
  .choice-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .choice-card em {
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    padding: 11px 14px;
  }
  .choice-note {
    font-size: 12px;
  }
  .slide-glass {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 16px;
    border-radius: 22px;
    max-width: calc(100% - 28px);
  }
}

/* v63 - remove tag e melhora reveal em mobile + seções extras */
.choice-card-badge{display:none!important;}
.choice-card{padding-top:32px;}
.scroll-reveal{
  opacity:0!important;
  transform:translate3d(0,42px,0) scale(.985)!important;
  filter:blur(6px);
  transition:opacity .72s ease, transform .72s cubic-bezier(.22,1,.36,1), filter .72s ease!important;
  will-change:opacity,transform,filter;
}
.scroll-reveal.reveal-visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0);
}
.info-extra-section,
.extra-info-section,
.dynamic-info-section,
.custom-info-section,
.site-info-section,
section[class*="info-section"],
section[class*="extra-section"]{
  transition:opacity .72s ease, transform .72s cubic-bezier(.22,1,.36,1), filter .72s ease;
}
@media(max-width:860px){
  .scroll-reveal{transform:translate3d(0,32px,0) scale(.99)!important; filter:blur(4px);}
  .choice-card{padding-top:24px;}
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
}


/* v64 - força lupa e menu hamburger no mobile + fallback sem FontAwesome */
@media (max-width: 860px) {
  .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 76px !important;
    padding: 12px 16px !important;
    overflow: visible !important;
  }

  .nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    min-width: 112px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nav-links .nav-cta {
    display: none !important;
  }

  .nav-links .nav-search-btn,
  .nav-links .nav-menu-btn,
  .nav-icon.nav-search-btn,
  .nav-icon.nav-menu-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(130,10,209,.12) !important;
    background: #f4ecfb !important;
    color: var(--primary) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    position: relative !important;
    z-index: 40 !important;
    box-shadow: 0 10px 28px rgba(41,11,77,.08) !important;
  }

  .nav-links .nav-search-btn i,
  .nav-links .nav-menu-btn i {
    display: none !important;
  }

  .nav-search-btn::before {
    content: "⌕" !important;
    display: block !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: var(--primary) !important;
    transform: translateY(-1px) rotate(-12deg) !important;
  }

  .nav-menu-btn::before {
    content: "☰" !important;
    display: block !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    color: var(--primary) !important;
  }

  .nav-search-btn:active,
  .nav-menu-btn:active {
    transform: scale(.94) !important;
  }
}

/* v64 - reveal também nas seções criadas pelo admin */
.custom-info-section,
.info-extra-section,
.extra-info-section,
.dynamic-info-section,
.site-info-section,
section[class*="custom-info"],
section[class*="info-section"],
section[class*="extra-section"] {
  will-change: opacity, transform, filter;
}

/* v65 - mobile navbar com lupa e hamburger soltos, sem painel/fundo roxo */
@media (max-width: 860px) {
  .nav-links .nav-search-btn,
  .nav-links .nav-menu-btn,
  .nav-icon.nav-search-btn,
  .nav-icon.nav-menu-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--primary) !important;
  }

  .nav-links .nav-search-btn:hover,
  .nav-links .nav-menu-btn:hover,
  .nav-links .nav-search-btn:focus-visible,
  .nav-links .nav-menu-btn:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
  }

  .nav-search-btn::before {
    content: "⌕" !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    color: var(--primary) !important;
    transform: translateY(-1px) rotate(-12deg) !important;
  }

  .nav-menu-btn::before {
    content: "☰" !important;
    font-size: 31px !important;
    font-weight: 900 !important;
    color: var(--primary) !important;
  }

  .nav-links {
    gap: 16px !important;
    min-width: auto !important;
  }
}


/* v70 - destaque suave no botão/card Quero ser UltraVioleta */
.choice-card.primary {
  animation: choiceFloatSlow 4.8s ease-in-out infinite, choicePulseSoft 3.2s ease-in-out infinite;
}
.choice-card.primary:hover,
.choice-card.primary:focus-visible {
  animation-play-state: paused;
}
@keyframes choiceFloatSlow {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes choicePulseSoft {
  0%, 100% { box-shadow: 0 28px 70px rgba(41,11,77,.16); }
  50% { box-shadow: 0 38px 92px rgba(130,10,209,.28); }
}
@media (prefers-reduced-motion: reduce) {
  .choice-card.primary { animation: none !important; }
}

