:root {
  --q-roxo: #5B2EFF;
  --q-roxo-escuro: #321B74;
  --q-marinho: #101A46;
  --q-lilas: #F4F1FF;
  --q-branco: #FFFFFF;
  --q-gradient: linear-gradient(135deg, #5B2EFF 0%, #321B74 55%, #101A46 100%);
  --q-gradient-soft: linear-gradient(135deg, #F4F1FF 0%, #E8DFFF 100%);

  --bg: #f6f4fb;
  --surface: #fff;
  --ink: #101634;
  --muted: #69708a;
  --line: #e8e4f0;
  --green: #16a77b;
  --orange: #ff7a24;
  --red: #e04141;
  --shadow: 0 18px 55px rgba(31, 18, 78, .10);
  --shadow-soft: 0 6px 20px rgba(91, 46, 255, .10);
  --radius: 22px;
  --radius-sm: 14px;
  --radius-xs: 10px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--q-branco);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

button, input, select, textarea { font: inherit; }
a { color: var(--q-roxo); text-decoration: none; }
a:hover { color: var(--q-roxo-escuro); }
img { max-width: 100%; display: block; }

/* ============================================================
   COMPONENTES BASE
   ============================================================ */
.container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.container-sm { max-width: 880px; margin: 0 auto; padding: 0 24px; }

.eyebrow {
  color: var(--q-roxo);
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}
.eyebrow-light {
  color: #C8B8FF;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.h1 { font-size: 56px; font-weight: 900; line-height: 1.05; letter-spacing: -0.02em; }
.h2 { font-size: 40px; font-weight: 900; line-height: 1.1; letter-spacing: -0.015em; }
.h3 { font-size: 28px; font-weight: 800; line-height: 1.2; }
.h4 { font-size: 20px; font-weight: 800; line-height: 1.3; }
.lead { font-size: 18px; line-height: 1.6; color: var(--muted); }
.muted { color: var(--muted); font-size: 14px; }
.price-big {
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  color: var(--q-roxo);
  letter-spacing: -0.02em;
}
.price-old {
  text-decoration: line-through;
  color: var(--muted);
  font-size: 18px;
  font-weight: 600;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: var(--radius-sm);
  padding: 14px 22px;
  font-weight: 800;
  cursor: pointer;
  transition: all .18s ease;
  text-decoration: none;
  font-size: 15px;
  white-space: nowrap;
}
/* ============================================================
   BOTÕES — SUPORTE DUAL: .btn-primary (hifen) E .btn.primary (espaco)
   O JS do ecossistema Quero usa sintaxe com espaço; manter as duas
   garante compatibilidade total sem quebrar estilos antigos.
   ============================================================ */
.btn-primary, .btn.primary, .btn.purple {
  background: var(--q-gradient);
  color: #fff;
  box-shadow: 0 10px 26px rgba(91, 46, 255, .30);
}
.btn-primary:hover, .btn.primary:hover, .btn.purple:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(91, 46, 255, .40);
  color: #fff;
}
.btn-secondary, .btn.secondary {
  background: #fff;
  color: var(--q-roxo);
  border: 1.5px solid var(--q-roxo);
}
.btn-secondary:hover, .btn.secondary:hover { background: var(--q-lilas); transform: translateY(-2px); }
.btn-ghost, .btn.ghost {
  background: #fff;
  color: var(--q-roxo);
  border: 1.5px solid var(--q-roxo);
}
.btn-ghost:hover, .btn.ghost:hover { background: var(--q-lilas); color: var(--q-roxo-escuro); transform: translateY(-2px); }
.btn-light, .btn.light {
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
  border: 1.5px solid rgba(91,46,255,.18);
}
.btn-light:hover, .btn.light:hover { background: #E8DFFF; transform: translateY(-2px); }
.btn-danger, .btn.danger { background: #FEE2E2; color: var(--red); border: 1.5px solid rgba(224,65,65,.22); }
.btn-danger:hover, .btn.danger:hover { background: #FECACA; transform: translateY(-2px); }
.btn.green {
  background: linear-gradient(135deg, #16a77b, #0e8361);
  color: #fff;
  box-shadow: 0 10px 24px rgba(22,167,123,.28);
  border: 0;
}
.btn.green:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(22,167,123,.38); color: #fff; }
.btn.orange {
  background: linear-gradient(135deg, #ff8a3d, #ff6b00);
  color: #fff;
  box-shadow: 0 10px 24px rgba(255,122,36,.28);
  border: 0;
}
.btn.orange:hover { transform: translateY(-2px); color: #fff; }
.btn-block, .btn.block { width: 100%; }
.btn-sm, .btn.small { padding: 10px 16px; font-size: 14px; border-radius: 12px; }
.btn.big { padding: 18px 28px; font-size: 16px; border-radius: 16px; box-shadow: 0 14px 34px rgba(91,46,255,.22); }
.btn .arrow { margin-left: 4px; transition: transform .15s ease; }
.btn:hover .arrow { transform: translateX(3px); display: inline-block; }

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 30px rgba(30,23,62,.045);
  overflow: hidden;
}
.card-dark {
  background: var(--q-gradient);
  color: #fff;
  border: 0;
  box-shadow: 0 18px 48px rgba(16, 26, 70, .25);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
}
.badge.green { background: #e5f8f0; color: #14815e; }
.badge.orange { background: #fff0e6; color: #c95911; }
.badge.red { background: #fee2e2; color: #b91c1c; }
.badge.purple-solid {
  background: var(--q-gradient);
  color: #fff;
  box-shadow: 0 6px 16px rgba(91, 46, 255, .30);
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  box-shadow: 0 4px 12px rgba(30,23,62,.04);
}

.field { display: grid; gap: 8px; }
.field label {
  font-size: 12px;
  font-weight: 800;
  color: #545b72;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.input, .select, .textarea {
  width: 100%;
  border: 1.5px solid var(--line);
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 13px 16px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  font-size: 15px;
  color: var(--ink);
}
.input:focus, .select:focus, .textarea:focus {
  border-color: var(--q-roxo);
  box-shadow: 0 0 0 4px rgba(91, 46, 255, .10);
}
.textarea { resize: vertical; min-height: 90px; }
.input-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.input-group-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

/* ============================================================
   NAVEGAÇÃO PRINCIPAL DO SITE
   ============================================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(232,228,240,.7);
}
.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  gap: 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  color: var(--ink);
  text-decoration: none;
}
.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--q-gradient);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(91, 46, 255, .35);
}
.brand-text {
  line-height: 1;
  display: flex;
  flex-direction: column;
}
.brand-text b { font-size: 18px; letter-spacing: -.01em; }
.brand-text small {
  font-size: 9px;
  letter-spacing: 2.1px;
  color: var(--q-roxo);
  font-weight: 800;
}

.site-menu {
  display: flex;
  align-items: center;
  gap: 6px;
}
.site-menu a {
  padding: 10px 14px;
  border-radius: 12px;
  color: var(--ink);
  font-weight: 600;
  font-size: 14px;
  transition: background .15s ease, color .15s ease;
}
.site-menu a:hover {
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
}
.site-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--q-lilas);
  border: 0;
  color: var(--q-roxo-escuro);
  font-size: 20px;
  font-weight: 800;
  cursor: pointer;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero {
  position: relative;
  padding: 80px 0 100px;
  overflow: hidden;
  background: radial-gradient(ellipse at top left, rgba(91, 46, 255, .08) 0%, transparent 60%),
              radial-gradient(ellipse at bottom right, rgba(16, 26, 70, .06) 0%, transparent 55%);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
}
.hero-left .h1 { color: var(--q-marinho); }
.hero-left .h1 .accent {
  background: var(--q-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-benefit-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 32px 0;
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.hero-trust {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.hero-trust .avatars { display: flex; }
.hero-trust .avatars span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2.5px solid #fff;
  margin-left: -10px;
  background: var(--q-gradient-soft);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 13px;
  color: var(--q-roxo-escuro);
}
.hero-trust .avatars span:first-child { margin-left: 0; }

.hero-visual {
  position: relative;
  height: 540px;
}
.hero-visual .hero-photo {
  position: absolute;
  right: 0;
  top: 30px;
  width: 420px;
  height: 480px;
  border-radius: 36px;
  object-fit: cover;
  box-shadow: 0 32px 70px rgba(16, 26, 70, .20);
  background: var(--q-gradient-soft);
}
.hero-photo-placeholder {
  position: absolute;
  right: 0;
  top: 30px;
  width: 420px;
  height: 480px;
  border-radius: 36px;
  background: var(--q-gradient);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 120px;
  box-shadow: 0 32px 70px rgba(16, 26, 70, .20);
  overflow: hidden;
}
.hero-photo-placeholder::before {
  content: "👷‍♀️";
  font-size: 180px;
  opacity: .95;
}
.float-card {
  position: absolute;
  background: #fff;
  border-radius: 20px;
  padding: 18px 22px;
  box-shadow: 0 18px 46px rgba(16, 26, 70, .14);
  border: 1px solid rgba(232, 228, 240, .8);
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 2;
  animation: floaty 6s ease-in-out infinite;
}
.float-card .ic {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
  flex-shrink: 0;
}
.float-card b { display: block; font-size: 14px; font-weight: 800; }
.float-card small { color: var(--muted); font-size: 12px; font-weight: 600; }
.float-card.top-left { top: 0; left: 0; animation-delay: .2s; }
.float-card.mid-right { top: 200px; right: 0; animation-delay: 1.1s; }
.float-card.bottom-left { bottom: 20px; left: 30px; animation-delay: 2s; }
.float-card .price-tag {
  font-weight: 900;
  color: var(--q-roxo);
  font-size: 18px;
}

@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ============================================================
   SECTION DE COMPARAÇÃO DE VALORES
   ============================================================ */
.section-wrap { padding: 88px 0; }
.section-wrap.lilas {
  background: linear-gradient(180deg, #fff 0%, var(--q-lilas) 100%);
}
.section-wrap.marinho {
  background: var(--q-gradient);
  color: #fff;
}
.section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
.section-head .h2 { margin: 12px 0; }
.section-head p { color: var(--muted); font-size: 17px; line-height: 1.6; }
.section-wrap.marinho .section-head p { color: rgba(255,255,255,.75); }

.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 1000px;
  margin: 0 auto;
}
.compare-card {
  padding: 40px 36px;
  border-radius: 28px;
  border: 1.5px solid var(--line);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.compare-card.win {
  border: 0;
  background: var(--q-gradient);
  color: #fff;
  transform: scale(1.03);
  box-shadow: 0 26px 60px rgba(91, 46, 255, .28);
}
.compare-card h4 { margin: 0; font-size: 17px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: 1.2px; }
.compare-card.win h4 { color: rgba(255,255,255,.75); }
.compare-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.compare-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--q-lilas);
  font-weight: 700;
  font-size: 15px;
}
.compare-card.win .compare-list li { background: rgba(255,255,255,.10); color: #fff; }
.compare-total {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px dashed var(--line);
}
.compare-card.win .compare-total { border-top-color: rgba(255,255,255,.18); }
.compare-total b { font-size: 13px; color: var(--muted); }
.compare-card.win .compare-total b { color: rgba(255,255,255,.65); }
.compare-total .total-price {
  font-size: 44px;
  font-weight: 900;
  color: var(--ink);
}
.compare-card.win .compare-total .total-price { color: #fff; }
.compare-savings {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--q-roxo-escuro);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  font-size: 13px;
  align-self: flex-start;
}

/* ============================================================
   CARDS DE COMBOS
   ============================================================ */
.combos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.combo-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 28px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.combo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 54px rgba(16, 26, 70, .12);
  border-color: rgba(91, 46, 255, .25);
}
.combo-card.featured {
  background: var(--q-gradient);
  color: #fff;
  border: 0;
  transform: translateY(-8px);
  box-shadow: 0 28px 64px rgba(91, 46, 255, .32);
}
.combo-card.featured:hover {
  transform: translateY(-12px);
  box-shadow: 0 34px 76px rgba(91, 46, 255, .40);
}
.combo-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.combo-badge-featured {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 18px;
  background: #FFC93C;
  color: #7a4c00;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .5px;
  border-radius: 999px;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(255, 178, 0, .30);
}
.combo-for { font-size: 13px; font-weight: 700; color: var(--muted); margin-top: 4px; }
.combo-card.featured .combo-for { color: rgba(255,255,255,.7); }
.combo-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.combo-price .p {
  font-size: 42px;
  font-weight: 900;
  color: var(--q-roxo);
  line-height: 1;
}
.combo-card.featured .combo-price .p { color: #fff; }
.combo-price .m { font-size: 14px; font-weight: 700; color: var(--muted); }
.combo-card.featured .combo-price .m { color: rgba(255,255,255,.75); }
.combo-benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.combo-benefits li {
  display: flex;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  padding: 8px 0;
}
.combo-benefits li::before {
  content: "✓";
  color: var(--q-roxo);
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 1px;
}
.combo-card.featured .combo-benefits li::before { color: #A5F3FC; }
.combo-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ============================================================
   SIMULADOR
   ============================================================ */
.sim-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
}
.sim-steps {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 28px;
  padding: 36px;
  box-shadow: 0 12px 36px rgba(30,23,62,.05);
}
.sim-steps-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.sim-progress {
  display: flex;
  gap: 10px;
}
.sim-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
  font-weight: 900;
  display: grid;
  place-items: center;
  font-size: 14px;
  position: relative;
}
.sim-dot.active {
  background: var(--q-gradient);
  color: #fff;
  box-shadow: 0 8px 20px rgba(91, 46, 255, .30);
}
.sim-dot.done { background: var(--green); color: #fff; }
.sim-dot + .sim-dot::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  width: 10px;
  height: 2px;
  background: var(--line);
}
.sim-step { display: none; animation: fadein .25s ease; }
.sim-step.active { display: block; }
@keyframes fadein { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.option-card {
  padding: 22px 16px;
  border: 2px solid var(--line);
  border-radius: 18px;
  cursor: pointer;
  text-align: center;
  transition: all .15s ease;
  background: #fff;
  user-select: none;
}
.option-card:hover { border-color: var(--q-roxo); background: var(--q-lilas); }
.option-card.selected {
  border-color: var(--q-roxo);
  background: var(--q-lilas);
  box-shadow: inset 0 0 0 1px var(--q-roxo);
}
.option-card .ic { font-size: 32px; margin-bottom: 8px; display: block; }
.option-card b { display: block; font-size: 14px; font-weight: 800; color: var(--ink); }
.option-card small { color: var(--muted); font-size: 12px; font-weight: 600; margin-top: 4px; display: block; }

.sim-nav {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.sim-result-card {
  background: var(--q-gradient);
  color: #fff;
  border-radius: 28px;
  padding: 32px 28px;
  box-shadow: 0 22px 56px rgba(16, 26, 70, .22);
  position: sticky;
  top: 100px;
}
.sim-result-card .recomendacao {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.sim-result-price {
  font-size: 54px;
  font-weight: 900;
  line-height: 1;
  margin: 16px 0 8px;
  letter-spacing: -.02em;
}
.sim-result-per {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.75);
  margin-bottom: 24px;
}
.sim-result-benefits {
  display: grid;
  gap: 10px;
  margin: 24px 0;
}
.sim-result-benefits div {
  padding: 10px 14px;
  background: rgba(255,255,255,.09);
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 600;
}
.sim-reasoning {
  padding: 16px;
  background: rgba(255,255,255,.06);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  font-size: 12.5px;
  color: rgba(255,255,255,.70);
  line-height: 1.7;
}

/* ============================================================
   LANDING PAGE / CAMPAIGN
   ============================================================ */
.campaign-hero {
  position: relative;
  padding: 70px 0 80px;
  background: var(--q-gradient);
  color: #fff;
  overflow: hidden;
}
.campaign-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.10), transparent 40%),
    radial-gradient(circle at 10% 80%, rgba(91, 46, 255, .30), transparent 45%);
  pointer-events: none;
}
.campaign-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 56px;
  align-items: center;
  position: relative;
}
.campaign-top-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  align-items: center;
}
.partner-logo {
  width: 110px;
  height: 60px;
  border-radius: 14px;
  background: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: var(--q-roxo-escuro);
  font-size: 13px;
  padding: 8px;
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}
.campaign-title {
  font-size: 54px;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.02em;
  margin: 8px 0 18px;
}
.campaign-subtitle {
  font-size: 19px;
  line-height: 1.55;
  color: rgba(255,255,255,.82);
  margin-bottom: 30px;
  max-width: 520px;
}
.campaign-entity {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  backdrop-filter: blur(8px);
  margin-bottom: 28px;
}
.campaign-visual {
  width: 100%;
  max-width: 440px;
  height: 440px;
  border-radius: 30px;
  background: rgba(255,255,255,.06);
  border: 2px solid rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  font-size: 180px;
  margin-left: auto;
  backdrop-filter: blur(10px);
  box-shadow: 0 28px 70px rgba(0,0,0,.18);
  overflow: hidden;
  position: relative;
}
.campaign-visual::before { content: "👷‍♂️"; }
.campaign-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-combo-section {
  padding: 80px 0;
  background: var(--q-lilas);
}
.combo-card-big {
  background: #fff;
  border-radius: 32px;
  padding: 48px 44px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
  box-shadow: 0 26px 68px rgba(16, 26, 70, .10);
  border: 1.5px solid rgba(232, 228, 240, .6);
}
.combo-big-title {
  font-size: 40px;
  font-weight: 900;
  color: var(--q-marinho);
  letter-spacing: -.01em;
  margin: 4px 0;
}
.combo-big-benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 28px 0;
}
.combo-big-benefits div {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  background: var(--q-lilas);
  border-radius: 14px;
  font-weight: 700;
  font-size: 14px;
  align-items: center;
}
.combo-big-benefits div::before { content: "✓"; color: var(--q-roxo); font-weight: 900; flex-shrink: 0; }

.price-box {
  background: var(--q-gradient);
  color: #fff;
  border-radius: 24px;
  padding: 36px 32px;
  text-align: center;
  box-shadow: 0 20px 54px rgba(91, 46, 255, .30);
}
.price-box .from {
  text-decoration: line-through;
  color: rgba(255,255,255,.55);
  font-weight: 700;
  font-size: 16px;
}
.price-box .for-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(255,255,255,.70);
  margin-top: 14px;
  font-weight: 800;
}
.price-box .value {
  font-size: 68px;
  font-weight: 900;
  line-height: 1;
  margin: 10px 0 6px;
  letter-spacing: -.02em;
}
.price-box .per {
  font-size: 15px;
  color: rgba(255,255,255,.85);
  font-weight: 700;
  margin-bottom: 26px;
}
.condicao-especial {
  background: rgba(255, 201, 60, .15);
  border: 1.5px dashed rgba(255, 201, 60, .6);
  border-radius: 16px;
  padding: 14px 18px;
  color: #6a4800;
  font-weight: 700;
  font-size: 14px;
  margin-top: 18px;
}

/* ============================================================
   LEAD MODAL
   ============================================================ */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 40, .55);
  backdrop-filter: blur(4px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal-overlay.open { display: flex; animation: fadein .2s ease; }
.modal-box {
  background: #fff;
  border-radius: 28px;
  width: 100%;
  max-width: 600px;
  max-height: 92vh;
  overflow: auto;
  padding: 36px;
  box-shadow: 0 40px 100px rgba(0,0,0,.30);
  animation: popin .25s ease;
}
@keyframes popin { from { transform: translateY(20px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.modal-head .h3 { margin: 6px 0 4px; }
.modal-close {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 0;
  background: var(--q-lilas);
  color: var(--q-roxo-escuro);
  cursor: pointer;
  font-weight: 900;
  font-size: 18px;
  flex-shrink: 0;
}
.modal-summary {
  background: var(--q-lilas);
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 24px;
  font-size: 14px;
  color: var(--q-roxo-escuro);
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.modal-summary .p {
  font-size: 22px;
  font-weight: 900;
  color: var(--q-roxo);
}
.modal-form { display: grid; gap: 14px; }
.modal-success {
  text-align: center;
  padding: 24px 16px;
}
.modal-success .success-ic {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #34d399, #059669);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  margin: 0 auto 20px;
  box-shadow: 0 14px 40px rgba(5, 150, 105, .30);
}

/* ============================================================
   WHATSAPP FLUTUANTE
   ============================================================ */
.wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}
.wa-btn {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  border: 0;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(22, 163, 100, .40);
  display: grid;
  place-items: center;
  transition: transform .18s ease;
  position: relative;
}
.wa-btn:hover { transform: scale(1.08) translateY(-2px); }
.wa-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid #25D366;
  animation: wa-pulse 1.8s ease-out infinite;
}
@keyframes wa-pulse {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.4); }
}
.wa-tooltip {
  margin-right: 10px;
  padding: 10px 16px;
  background: #fff;
  color: var(--ink);
  border-radius: 14px;
  font-weight: 700;
  font-size: 13px;
  box-shadow: 0 12px 32px rgba(0,0,0,.14);
  max-width: 280px;
  line-height: 1.4;
  border: 1px solid var(--line);
}
.wa-wrap { display: flex; align-items: center; cursor: pointer; }

/* ============================================================
   RODAPÉ
   ============================================================ */
.site-footer {
  background: var(--q-marinho);
  color: rgba(255,255,255,.85);
  padding: 72px 0 40px;
}
.site-footer .container {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 48px;
}
.site-footer h5 {
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin: 0 0 18px;
}
.site-footer a {
  color: rgba(255,255,255,.70);
  display: block;
  padding: 6px 0;
  font-size: 14px;
  font-weight: 500;
  transition: color .15s ease;
}
.site-footer a:hover { color: #fff; }
.site-footer .brand { color: #fff; margin-bottom: 20px; }
.site-footer p { color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.65; }
.footer-bottom {
  margin-top: 54px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgba(255,255,255,.50);
}

/* ============================================================
   LGPD / COOKIE BAR
   ============================================================ */
.lgpd-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: var(--q-marinho);
  color: #fff;
  padding: 16px 24px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 -10px 30px rgba(0,0,0,.18);
  flex-wrap: wrap;
}
.lgpd-bar.show { display: flex; }
.lgpd-bar p { margin: 0; font-size: 13.5px; color: rgba(255,255,255,.85); flex: 1; min-width: 280px; line-height: 1.55; }
.lgpd-actions { display: flex; gap: 10px; flex-shrink: 0; }

/* ============================================================
   CRM / DASHBOARD INTERNO
   ============================================================ */
.qb-shell { display: grid; grid-template-columns: 268px 1fr; min-height: 100vh; }
.qb-sidebar {
  background: var(--q-marinho);
  color: #fff;
  padding: 24px 14px;
  position: fixed;
  width: 268px;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 50;
  overflow: auto;
}
.qb-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 8px 10px 20px;
  font-weight: 800;
  font-size: 19px;
  color: #fff;
}
.qb-brand small { display: block; color: #aeb4cb; font-size: 10px; letter-spacing: 1.7px; margin-top: 2px; }
.qb-nav { display: grid; gap: 4px; }
.qb-nav-section {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: rgba(255,255,255,.45);
  font-weight: 800;
  padding: 14px 12px 6px;
}
.qb-nav button {
  border: 0;
  background: transparent;
  color: #c6c9da;
  padding: 12px 14px;
  border-radius: 12px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-weight: 650;
  font-size: 14px;
  transition: background .15s ease, color .15s ease;
}
.qb-nav button:hover { background: rgba(154,92,255,.14); color: #fff; }
.qb-nav button.active {
  background: linear-gradient(90deg, rgba(154,92,255,.28), rgba(154,92,255,.08));
  color: #fff;
  box-shadow: inset 2px 0 0 #9b5cff;
}
.qb-nav .ico { width: 20px; text-align: center; font-size: 15px; }

.qb-main { margin-left: 268px; min-width: 0; background: var(--bg); min-height: 100vh; }
.qb-top {
  height: 72px;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(246,244,251,.9);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 5;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}
.qb-search {
  flex: 1;
  max-width: 500px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 14px;
  color: var(--muted);
  font-size: 14px;
}
.qb-user { display: flex; align-items: center; gap: 12px; }
.qb-user b { display: block; font-size: 14px; line-height: 1; }
.qb-user small { font-size: 11.5px; color: var(--muted); margin-top: 3px; display: block; }
.qb-avatar {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: var(--q-gradient);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
}

.qb-content { padding: 30px 32px 60px; max-width: 1500px; }
.page-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin: 0 0 22px;
  flex-wrap: wrap;
}
.page-toolbar .h3 { margin: 6px 0 4px; }
.page-toolbar .page-sub { color: var(--muted); margin: 0; font-size: 14.5px; }
.toolbar-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 22px 0; }
.kpi { padding: 22px; }
.kpi .label { font-size: 12.5px; color: var(--muted); font-weight: 700; }
.kpi .value { font-size: 30px; font-weight: 850; margin: 8px 0 6px; color: var(--ink); }
.kpi .delta { font-size: 12px; color: var(--green); font-weight: 700; }
.kpi .delta.down { color: var(--red); }

.grid-2 { display: grid; grid-template-columns: 1.4fr .9fr; gap: 18px; }
.section-card { padding: 24px; }
.section-card h3 { margin: 0 0 4px; }
.section-card .muted-sub { color: var(--muted); font-size: 13px; margin: 0 0 18px; }

.table-wrap { overflow: auto; border-radius: var(--radius-sm); }
.table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.table th {
  text-align: left;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: #FAF9FD;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.table td { padding: 14px 16px; border-bottom: 1px solid var(--line); }
.table tr:hover td { background: rgba(244, 241, 255, .5); }
.table .num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.table .center { text-align: center; }
.empty-state {
  padding: 60px 24px;
  text-align: center;
  color: var(--muted);
}
.empty-state .ic { font-size: 54px; margin-bottom: 12px; opacity: .5; }

.list { display: grid; gap: 4px; }
.list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  gap: 14px;
}
.list-item:last-child { border: 0; }
.list-item small { display: block; color: var(--muted); margin-top: 4px; font-size: 12.5px; }
.list-item .meta { flex: 1; min-width: 0; }
.list-item .meta b { font-size: 14.5px; }

.pipeline { display: grid; gap: 12px; }
.pipeline-row {
  display: grid;
  grid-template-columns: 130px 1fr 56px;
  align-items: center;
  gap: 14px;
  font-size: 13.5px;
  font-weight: 700;
}
.pipeline-row b { text-align: right; color: var(--q-roxo-escuro); }
.bar { height: 10px; background: var(--q-lilas); border-radius: 99px; overflow: hidden; }
.bar i { display: block; height: 100%; border-radius: 99px; background: var(--q-gradient); }

.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-card { padding: 28px; }

.icon-input {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--q-lilas);
  display: grid;
  place-items: center;
  font-size: 26px;
  color: var(--q-roxo-escuro);
  flex-shrink: 0;
}

.switch-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}
.switch {
  position: relative;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: var(--line);
  cursor: pointer;
  transition: background .15s ease;
}
.switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  transition: transform .15s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.switch.on { background: var(--q-gradient); }
.switch.on::after { transform: translateX(20px); }

.chips-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-add {
  border: 1.5px dashed var(--line);
  background: transparent;
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--muted);
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
}
.chip-add:hover { color: var(--q-roxo); border-color: var(--q-roxo); background: var(--q-lilas); }

/* ============================================================
   RESPONSIVIDADE
   ============================================================ */
@media (max-width: 1180px) {
  .combos-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-visual .hero-photo-placeholder, .hero-visual .hero-photo { width: 360px; height: 420px; }
  .site-footer .container { grid-template-columns: 1fr 1fr; gap: 36px; }
  .kpis { grid-template-columns: repeat(2, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }
  .compare-grid { grid-template-columns: 1fr; }
  .compare-card.win { transform: none; }
  .sim-layout { grid-template-columns: 1fr; }
  .sim-result-card { position: static; }
  .combo-card-big { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; }
  .combo-big-benefits { grid-template-columns: 1fr; }
  .campaign-grid { grid-template-columns: 1fr; gap: 36px; }
  .campaign-visual { margin: 0 auto; }
  .input-group-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .hero { padding: 50px 0 64px; }
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero-visual { height: 400px; }
  .hero-visual .hero-photo-placeholder, .hero-visual .hero-photo {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    height: 380px;
  }
  .float-card { transform: scale(.92); }
  .float-card.bottom-left { left: -10px; bottom: -10px; }
  .float-card.mid-right { right: -10px; top: 160px; }
  .float-card.top-left { top: -10px; left: 10px; }
  .h1 { font-size: 40px; }
  .h2 { font-size: 32px; }
  .campaign-title { font-size: 38px; }
  .section-wrap { padding: 64px 0; }
  .combos-grid { grid-template-columns: 1fr; }
  .combo-card.featured { transform: none; }
  .site-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; padding: 16px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 2px; }
  .site-menu.open { display: flex; }
  .mobile-toggle { display: grid; place-items: center; }
  .site-actions .btn-ghost, .site-actions .btn-secondary { display: none; }
  .site-footer .container { grid-template-columns: 1fr; gap: 32px; }
  .option-grid { grid-template-columns: 1fr; }
  .input-group { grid-template-columns: 1fr; }
  .input-group-3 { grid-template-columns: 1fr; }

  /* CRM Mobile */
  .qb-sidebar {
    width: 72px;
    padding: 14px 10px;
  }
  .qb-brand span, .qb-brand small, .qb-nav button span:not(.ico), .qb-nav-section { display: none; }
  .qb-brand { justify-content: center; padding: 8px 0 16px; }
  .qb-nav button { justify-content: center; }
  .qb-main { margin-left: 72px; }
  .qb-top { padding: 0 16px; height: 64px; }
  .qb-search { display: none; }
  .qb-content { padding: 20px 16px 60px; }
  .kpis { grid-template-columns: 1fr 1fr; }
  .h3 { font-size: 22px; }
  .modal-box { padding: 24px 20px; }
  .form-grid-2 { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .container { padding: 0 18px; }
  .hero { padding: 36px 0 48px; }
  .h1 { font-size: 34px; }
  .h2 { font-size: 26px; }
  .hero-visual { height: 340px; }
  .hero-visual .hero-photo-placeholder, .hero-visual .hero-photo { height: 320px; border-radius: 28px; }
  .hero-photo-placeholder::before { font-size: 120px; }
  .float-card { transform: scale(.85); }
  .kpis { grid-template-columns: 1fr; }
  .campaign-hero { padding: 44px 0 56px; }
  .campaign-title { font-size: 30px; }
  .price-box .value { font-size: 52px; }
  .combo-big-title { font-size: 30px; }
  .btn { padding: 12px 16px; font-size: 14px; }
  .price-big { font-size: 42px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .page-toolbar { flex-direction: column; align-items: stretch; }
  .toolbar-actions { width: 100%; }
  .toolbar-actions .btn { flex: 1; }
  .sim-steps { padding: 24px 20px; }
  .combo-card-big { padding: 24px 18px; }
  .campaign-visual { height: 320px; max-width: 100%; }
}

/* ============================================================
   BLOCO DE COMPATIBILIDADE — CLASSES USADAS NO JS (QUERO-APP.JS)
   Todas abaixo são obrigatórias para o funcionamento do site/CRM.
   São complementares aos estilos acima — NÃO remove o que já existe.
   ============================================================ */

/* ---------- SECTION / LAYOUT UTILITÁRIOS ---------- */
.section { width: 100%; }
.section.pad { padding: 72px 0; }
.section.light { background: linear-gradient(180deg, #fff 0%, var(--q-lilas) 100%); }
.container .hero-actions,
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.doc { max-width: 820px; margin: 0 auto; }
.doc h1 { font-size: 40px; font-weight: 900; letter-spacing: -.015em; margin: 8px 0 24px; color: var(--q-marinho); }
.doc h2 { font-size: 24px; font-weight: 800; margin: 32px 0 12px; color: var(--q-marinho); }
.doc p { font-size: 16px; line-height: 1.7; color: #404865; margin: 12px 0; }
.doc ul { margin: 14px 0; padding-left: 24px; }
.doc li { font-size: 15px; line-height: 1.7; color: #404865; padding: 5px 0; }
.grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 18px; }
@media (max-width: 860px){ .grid { grid-template-columns: 1fr; } }
.section-head { margin: 0 auto 48px; text-align: center; max-width: 760px; }
.section-head h2 { font-size: 40px; font-weight: 900; line-height: 1.1; letter-spacing: -.015em; margin: 10px 0; color: var(--q-marinho); }
.section-head p { font-size: 17px; color: var(--muted); line-height: 1.6; }

/* ---------- HERO SITE (USADO PELO JS NA HOME) ---------- */
.hero-site {
  position: relative;
  padding: 72px 0 96px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at top left, rgba(91,46,255,.08) 0%, transparent 60%),
    radial-gradient(ellipse at bottom right, rgba(16,26,70,.06) 0%, transparent 55%);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
}
.hero-copy h1 { font-size: 56px; font-weight: 900; line-height: 1.05; letter-spacing: -.02em; color: var(--q-marinho); margin: 8px 0 18px; }
.grad-text {
  background: var(--q-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 520px; margin: 0 0 28px; }
.hero-stats { display: flex; gap: 32px; margin-top: 32px; flex-wrap: wrap; }
.hero-stats > div { display: flex; flex-direction: column; }
.hero-stats b { font-size: 30px; font-weight: 900; color: var(--q-roxo); line-height: 1; }
.hero-stats small { font-size: 13px; color: var(--muted); font-weight: 700; margin-top: 6px; }
.hero-visual { position: relative; height: 540px; }
.hero-img {
  position: absolute; right: 0; top: 30px;
  width: 420px; height: 480px; border-radius: 36px;
  background:
    radial-gradient(circle at 70% 22%, rgba(255,255,255,.18), transparent 25%),
    linear-gradient(145deg, #6c3cff 0%, #33247c 55%, #101a46 100%);
  box-shadow: 0 32px 70px rgba(16,26,70,.20);
  overflow: hidden;
}
.hero-img::before {
  content: "👷‍♀️👨‍🍳👩‍⚕️👨‍🔧";
  position: absolute; inset: 0;
  display: grid; place-items: center;
  font-size: 92px;
  opacity: .9;
  background: radial-gradient(circle at center, rgba(255,255,255,.18), transparent 65%);
}
.float-card {
  position: absolute; background: #fff; border-radius: 20px; padding: 16px 20px;
  box-shadow: 0 18px 46px rgba(16,26,70,.14);
  border: 1px solid rgba(232,228,240,.8);
  display: flex; align-items: center; gap: 12px;
  z-index: 2; animation: floaty 6s ease-in-out infinite;
}
.float-card .ico {
  width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center;
  font-size: 20px; background: var(--q-lilas); color: var(--q-roxo-escuro); flex-shrink: 0;
}
.float-card b { display: block; font-size: 14px; font-weight: 800; color: var(--ink); }
.float-card small { color: var(--muted); font-size: 12px; font-weight: 600; }
.float-card.f1 { top: 0; left: 0; animation-delay: .2s; }
.float-card.f2 { top: 150px; right: -10px; animation-delay: 1.1s; }
.float-card.f3 { bottom: 60px; left: 10px; animation-delay: 2s; }
.float-card.f4 { bottom: 0; right: 40px; animation-delay: .7s; }
@keyframes floaty { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-10px);} }

@media (max-width: 1180px){
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { height: 440px; }
  .hero-img { width: 360px; height: 420px; }
}
@media (max-width: 860px){
  .hero-site { padding: 48px 0 64px; }
  .hero-copy h1 { font-size: 38px; }
  .hero-visual { height: 380px; }
  .hero-img { position: relative; width: 100%; max-width: 400px; margin: 0 auto; height: 360px; }
  .hero-stats b { font-size: 24px; }
  .hero-stats { gap: 20px; }
}
@media (max-width: 520px){
  .hero-copy h1 { font-size: 32px; }
  .hero-img { height: 300px; }
  .hero-img::before { font-size: 68px; }
  .float-card { transform: scale(.88); }
  .float-card.f1 { top: -10px; left: -10px; }
  .float-card.f2 { right: -20px; top: 120px; }
  .float-card.f3 { left: -10px; bottom: 20px; }
  .float-card.f4 { right: -5px; bottom: -15px; }
}

/* ---------- COMPARATIVO HOME ---------- */
.compare-grid {
  display: grid;
  grid-template-columns: 1fr .12fr 1fr;
  gap: 22px;
  max-width: 1060px;
  margin: 0 auto;
  align-items: center;
}
.compare-card {
  padding: 36px 30px;
  border-radius: 28px;
  border: 1.5px solid var(--line);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 480px;
}
.compare-card.win {
  border: 0;
  background: var(--q-gradient);
  color: #fff;
  transform: scale(1.04);
  box-shadow: 0 26px 60px rgba(91,46,255,.28);
  position: relative;
}
.win-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  padding: 7px 18px; border-radius: 999px;
  background: #FFC93C; color: #7a4c00;
  font-weight: 900; font-size: 11px; letter-spacing: .5px;
  box-shadow: 0 8px 20px rgba(255,178,0,.30);
  text-transform: uppercase;
}
.compare-title {
  font-size: 12px; font-weight: 800; color: var(--muted);
  text-transform: uppercase; letter-spacing: 1.2px;
}
.compare-card.win .compare-title { color: rgba(255,255,255,.75); }
.compare-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.compare-list li {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; border-radius: 14px;
  background: var(--q-lilas); font-weight: 700; font-size: 14.5px;
  color: var(--ink);
}
.compare-card.win .compare-list li { background: rgba(255,255,255,.10); color: #fff; }
.compare-list li .ok { font-weight: 900; }
.compare-card.win .compare-list li .ok { color: #A5F3FC; }
.compare-total {
  display: flex; flex-direction: column; gap: 6px;
  padding-top: 20px; margin-top: auto;
  border-top: 1px dashed var(--line);
}
.compare-card.win .compare-total { border-top-color: rgba(255,255,255,.18); }
.compare-total span { font-size: 13px; color: var(--muted); font-weight: 700; }
.compare-card.win .compare-total span { color: rgba(255,255,255,.7); }
.compare-total b { font-size: 22px; font-weight: 900; color: var(--ink); line-height: 1.2; }
.compare-total .strike { text-decoration: line-through; color: var(--muted); font-weight: 700; font-size: 22px; }
.compare-total .big-price { font-size: 48px; font-weight: 900; color: #fff; letter-spacing: -.02em; line-height: 1; }
.compare-vs {
  background: var(--q-gradient);
  color: #fff;
  width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center;
  font-weight: 900; font-size: 14px;
  box-shadow: 0 12px 30px rgba(91,46,255,.32);
  margin: 0 auto;
}
@media (max-width: 980px){
  .compare-grid { grid-template-columns: 1fr; }
  .compare-vs { transform: rotate(90deg); }
  .compare-card.win { transform: none; }
}

/* ---------- COMBOS GRID (CARDS) ---------- */
.combos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.combo-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 28px;
  padding: 32px 28px;
  display: flex; flex-direction: column;
  gap: 20px;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.combo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 54px rgba(16,26,70,.12);
  border-color: rgba(91,46,255,.25);
}
.combo-card.featured {
  background: var(--q-gradient);
  color: #fff; border: 0;
  transform: translateY(-8px);
  box-shadow: 0 28px 64px rgba(91,46,255,.32);
}
.combo-card.featured:hover { transform: translateY(-12px); }
.badge-top {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  padding: 7px 18px; border-radius: 999px;
  background: #FFC93C; color: #7a4c00;
  font-weight: 900; font-size: 11px; letter-spacing: .5px;
  box-shadow: 0 8px 20px rgba(255,178,0,.30);
  text-transform: uppercase;
}
.badge-top.sec { background: var(--q-gradient); color: #fff; box-shadow: 0 8px 20px rgba(91,46,255,.30); }
.combo-name { font-size: 22px; font-weight: 900; line-height: 1.2; }
.combo-for { font-size: 13.5px; font-weight: 700; color: var(--muted); margin-top: -6px; }
.combo-card.featured .combo-for { color: rgba(255,255,255,.75); }
.combo-price { display: flex; flex-direction: column; gap: 4px; }
.combo-price span { font-size: 13px; color: var(--muted); font-weight: 700; }
.combo-card.featured .combo-price span { color: rgba(255,255,255,.75); }
.combo-price b { font-size: 42px; font-weight: 900; color: var(--q-roxo); line-height: 1; letter-spacing: -.02em; }
.combo-card.featured .combo-price b { color: #fff; }
.combo-price small { font-size: 14px; color: var(--muted); font-weight: 700; }
.combo-card.featured .combo-price small { color: rgba(255,255,255,.7); text-decoration: line-through; }
.combo-benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.combo-benefits li {
  display: flex; gap: 10px; font-size: 14px; line-height: 1.5; font-weight: 600;
  padding: 6px 0; align-items: flex-start;
}
.combo-benefits li .ok {
  color: var(--q-roxo); font-weight: 900; flex-shrink: 0; margin-top: 1px;
}
.combo-card.featured .combo-benefits li .ok { color: #A5F3FC; }
.combo-actions { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }

@media (max-width: 1180px){ .combos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px){ .combos-grid { grid-template-columns: 1fr; } .combo-card.featured { transform: none; } }

/* ---------- CAMPANHAS MINI CARDS ---------- */
.campanhas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.campanha-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(30,23,62,.05);
  display: flex; flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.campanha-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(16,26,70,.10); }
.campanha-img {
  height: 200px;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.18), transparent 22%),
    linear-gradient(135deg, #7b4bff 0%, #4d2bc0 52%, #182454 100%);
}
.campanha-body { padding: 22px 20px 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.campanha-body h3 { font-size: 19px; font-weight: 900; line-height: 1.3; color: var(--ink); margin: 0; }
.campanha-body p { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 0; }
.campanha-price {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  margin-top: auto; padding-top: 12px;
  border-top: 1px dashed var(--line);
}
.campanha-price b { font-size: 26px; font-weight: 900; color: var(--q-roxo); }
.campanha-price small { text-decoration: line-through; color: var(--muted); font-weight: 700; font-size: 14px; }
.campanha-price span { font-size: 13px; color: var(--muted); font-weight: 700; }

@media (max-width: 1080px){ .campanhas-grid { grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 680px){ .campanhas-grid { grid-template-columns: 1fr;} }

/* ---------- CTA BAND ---------- */
.cta-band {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 44px 48px;
  background: var(--q-gradient);
  color: #fff;
  border-radius: 32px;
  box-shadow: 0 26px 60px rgba(91,46,255,.28);
  flex-wrap: wrap;
}
.cta-band h2 { font-size: 30px; font-weight: 900; letter-spacing: -.015em; margin: 0 0 6px; line-height: 1.2; }
.cta-band p { margin: 0; font-size: 16px; color: rgba(255,255,255,.82); line-height: 1.55; max-width: 560px; }
.cta-band .btn.primary {
  background: #fff; color: var(--q-roxo-escuro);
  box-shadow: 0 14px 34px rgba(0,0,0,.15);
}
.cta-band .btn.primary:hover { background: var(--q-lilas); color: var(--q-roxo-escuro); }
@media (max-width: 720px){
  .cta-band { padding: 32px 28px; flex-direction: column; align-items: flex-start; }
  .cta-band h2 { font-size: 24px; }
  .cta-band .btn.primary { width: 100%; }
}

/* ---------- LANDING PAGE (/c/:slug) ---------- */
.landing-hero {
  position: relative;
  padding: 72px 0 96px;
  background: var(--q-gradient);
  color: #fff;
  overflow: hidden;
}
.landing-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.10), transparent 40%),
    radial-gradient(circle at 10% 80%, rgba(91,46,255,.30), transparent 45%);
  pointer-events: none;
}
.landing-hero-inner { position: relative; }
.landing-hero h1 {
  font-size: 54px; font-weight: 900; line-height: 1.02; letter-spacing: -.02em;
  margin: 8px 0 18px;
}
.landing-big-sub { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.85); max-width: 640px; margin: 0; }
.parceiro-logo {
  width: 110px; height: 60px; object-fit: contain;
  background: #fff; border-radius: 14px; padding: 8px;
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}
.tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 999px;
  background: rgba(255,255,255,.14); color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  font-weight: 700; font-size: 13px;
  backdrop-filter: blur(8px);
}
.tag.light { background: #fff; color: var(--q-roxo-escuro); border: 0; }
.tag.alt { background: rgba(255,201,60,.22); color: #ffe58a; border-color: rgba(255,201,60,.45); }

.landing-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: flex-start;
}
.landing-info h2 { font-size: 32px; font-weight: 900; color: var(--q-marinho); margin: 16px 0 20px; line-height: 1.15; }
.condicao {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-radius: 16px;
  background: rgba(255, 201, 60, .15);
  border: 1.5px dashed rgba(255,178,0,.55);
  color: #6a4800; font-weight: 700; font-size: 14.5px;
  margin-bottom: 12px;
}
.condicao .ok { font-size: 16px; }
.landing-benefits { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 10px; }
.landing-benefits li {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 14px 18px; background: #fff; border-radius: 16px;
  border: 1px solid var(--line);
  font-size: 14.5px; font-weight: 700; color: var(--ink); line-height: 1.5;
}
.landing-benefits li .ok { color: var(--q-roxo); font-weight: 900; flex-shrink: 0; margin-top: 1px; }
.landing-benefits li:hover { border-color: rgba(91,46,255,.3); box-shadow: 0 6px 18px rgba(91,46,255,.08); }

.landing-card {
  background: #fff;
  border-radius: 28px;
  padding: 32px 28px;
  border: 1.5px solid var(--line);
  box-shadow: 0 22px 56px rgba(16,26,70,.10);
  display: flex; flex-direction: column; gap: 18px;
}
.sticky-card { position: sticky; top: 100px; }
.lc-combo { font-size: 24px; font-weight: 900; color: var(--q-marinho); line-height: 1.2; }
.lc-price { display: flex; flex-direction: column; gap: 6px; }
.lc-price .strike { color: var(--muted); text-decoration: line-through; font-size: 16px; font-weight: 700; }
.lc-price div { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.lc-price div small { font-size: 14px; color: var(--muted); font-weight: 700; }
.lc-price div b { font-size: 48px; font-weight: 900; color: var(--q-roxo); letter-spacing: -.02em; line-height: 1; }
.lc-price div span { font-size: 14px; color: var(--muted); font-weight: 700; width: 100%; }
.lc-no {
  background: var(--q-lilas);
  border-radius: 16px;
  padding: 14px 18px;
  color: var(--q-roxo-escuro);
  font-weight: 700;
  font-size: 13.5px;
  line-height: 1.7;
}
.lc-share { margin-top: 8px; }
.lc-share .wa-link {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: 14px;
  background: #e5f8f0; color: #0f7653;
  font-weight: 800; font-size: 13.5px;
  border: 1.5px solid rgba(22,167,123,.2);
}
.lc-share .wa-link:hover { background: #d1f2e5; }

/* FAQ */
.faq { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.faq details {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 18px;
  padding: 4px 0;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.faq details[open] { border-color: rgba(91,46,255,.3); box-shadow: 0 10px 30px rgba(91,46,255,.08); }
.faq summary {
  padding: 18px 22px;
  cursor: pointer;
  font-weight: 800;
  color: var(--ink);
  list-style: none;
  display: flex; align-items: center; gap: 12px;
  font-size: 15.5px; line-height: 1.45;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary b { color: var(--q-roxo); font-weight: 900; }
.faq summary::after { content: "+"; margin-left: auto; color: var(--q-roxo); font-size: 22px; font-weight: 900; transition: transform .15s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 22px 20px; margin: 0; font-size: 14.5px; line-height: 1.7; color: #485070; }

@media (max-width: 1080px){
  .landing-grid { grid-template-columns: 1fr; }
  .sticky-card { position: static; }
  .landing-hero h1 { font-size: 42px; }
}
@media (max-width: 620px){
  .landing-hero h1 { font-size: 32px; }
  .landing-card { padding: 24px 20px; }
  .lc-price div b { font-size: 40px; }
}

/* ---------- SIMULADOR PÚBLICO ---------- */
.sim-layout {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: 28px; max-width: 1100px; margin: 0 auto;
}
.form-card { background: #fff; border: 1.5px solid var(--line); border-radius: 28px; padding: 32px; box-shadow: 0 12px 36px rgba(30,23,62,.05); }
.steps-row { display: flex; gap: 10px; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.step {
  flex: 1; min-width: 120px;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 14px;
  background: var(--q-lilas); color: var(--q-roxo-escuro);
  font-weight: 800; font-size: 13px;
}
.step span {
  width: 28px; height: 28px; border-radius: 50%;
  background: #fff; color: var(--q-roxo-escuro);
  display: grid; place-items: center;
  font-size: 13px; font-weight: 900;
  flex-shrink: 0;
}
.step small { color: var(--muted); font-weight: 700; font-size: 12px; display: block; line-height: 1.2; }
.step.current { background: var(--q-gradient); color: #fff; box-shadow: 0 8px 20px rgba(91,46,255,.25); }
.step.current small { color: rgba(255,255,255,.8); }
.step.current span { background: #fff; color: var(--q-roxo); }
.step.done { background: #e5f8f0; color: #0f7653; }
.step.done small { color: #3fa97e; }

.step-panel h3 { font-size: 24px; font-weight: 900; color: var(--q-marinho); margin: 0 0 8px; }
.step-panel .muted { font-size: 15px; margin-bottom: 22px; display: block; }
.cards-choice { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 780px){ .cards-choice { grid-template-columns: 1fr; } }
.choice-card {
  padding: 22px 18px;
  border: 2px solid var(--line);
  border-radius: 18px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: all .15s ease;
  user-select: none;
  display: flex; flex-direction: column; gap: 8px;
  align-items: flex-start;
}
.choice-card:hover { border-color: var(--q-roxo); background: var(--q-lilas); }
.choice-card.active {
  border-color: var(--q-roxo);
  background: var(--q-lilas);
  box-shadow: inset 0 0 0 2px var(--q-roxo), 0 10px 24px rgba(91,46,255,.10);
  transform: translateY(-2px);
}
.choice-card .ico { font-size: 30px; line-height: 1; }
.choice-card .num {
  font-size: 34px; font-weight: 900;
  background: var(--q-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.choice-card b { font-size: 15px; font-weight: 800; color: var(--ink); }
.choice-card small { color: var(--muted); font-size: 12.5px; font-weight: 600; line-height: 1.5; }

.step-actions { display: flex; justify-content: space-between; gap: 14px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }

.sim-ok { text-align: left; }
.sim-ok-badge {
  display: inline-block; padding: 7px 16px; border-radius: 999px;
  background: #e5f8f0; color: #0f7653;
  font-weight: 900; font-size: 11px; letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 14px;
}
.sim-ok h3 { font-size: 28px; font-weight: 900; color: var(--q-marinho); margin: 0 0 6px; }
.sim-recom { margin-top: 22px; }
.recom-card {
  background: var(--q-lilas); border: 1.5px solid rgba(91,46,255,.2);
  border-radius: 24px; padding: 28px 26px;
  position: relative;
}
.recom-card.featured { background: var(--q-gradient); color: #fff; border: 0; box-shadow: 0 22px 56px rgba(91,46,255,.28); }
.recom-card.featured .badge-top { background: #FFC93C; color: #7a4c00; }
.recom-name { font-size: 22px; font-weight: 900; line-height: 1.2; }
.recom-for { font-size: 13.5px; color: var(--muted); font-weight: 700; margin-top: -4px; }
.recom-card.featured .recom-for { color: rgba(255,255,255,.75); }
.recom-price { display: flex; flex-direction: column; gap: 4px; margin: 18px 0; }
.recom-price small { font-size: 13px; font-weight: 700; color: var(--muted); }
.recom-card.featured .recom-price small { color: rgba(255,255,255,.75); }
.recom-price b { font-size: 44px; font-weight: 900; color: var(--q-roxo); letter-spacing: -.02em; line-height: 1; }
.recom-card.featured .recom-price b { color: #fff; }
.recom-price span { font-size: 13.5px; color: var(--muted); font-weight: 700; }
.recom-card.featured .recom-price span { color: rgba(255,255,255,.75); }
.recom-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.recom-card ul li { display: flex; gap: 10px; padding: 8px 0; font-size: 14px; font-weight: 600; line-height: 1.5; align-items: flex-start; }
.recom-card ul li .ok { color: var(--q-roxo); font-weight: 900; flex-shrink: 0; margin-top: 1px; }
.recom-card.featured ul li .ok { color: #A5F3FC; }
.recom-card.featured .muted { color: rgba(255,255,255,.75) !important; }

.result.sticky-card { padding: 32px 28px; }
.result .price { font-size: 52px; font-weight: 900; color: var(--q-roxo); letter-spacing: -.02em; line-height: 1; margin: 16px 0 8px; }
.result ul.benefits { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 8px; }
.result ul.benefits li {
  padding: 10px 14px; background: var(--q-lilas);
  border-radius: 12px; font-size: 13.5px; font-weight: 700;
  color: var(--q-roxo-escuro);
}

.loading {
  display: grid; place-items: center;
  padding: 40px 20px;
  color: var(--q-roxo); font-weight: 800;
}

@media (max-width: 980px){
  .sim-layout { grid-template-columns: 1fr; }
  .form-card { padding: 24px 20px; }
  .cards-choice { grid-template-columns: 1fr; }
}

/* ---------- LEAD MODAL ---------- */
.modal {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.modal[hidden] { display: none; }
.modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(10, 14, 40, .55);
  backdrop-filter: blur(4px);
  animation: fadein .2s ease;
}
.modal-card {
  position: relative;
  background: #fff;
  border-radius: 28px;
  width: 100%; max-width: 600px;
  max-height: 92vh; overflow: auto;
  padding: 34px 32px;
  box-shadow: 0 40px 100px rgba(0,0,0,.30);
  animation: popin .25s ease;
}
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }
@keyframes popin { from { transform: translateY(20px) scale(.97); opacity: 0;} to { transform: none; opacity: 1;} }
.modal-close {
  position: absolute; top: 16px; right: 16px;
  width: 40px; height: 40px;
  border-radius: 12px; border: 0;
  background: var(--q-lilas); color: var(--q-roxo-escuro);
  cursor: pointer; font-weight: 900; font-size: 20px;
  z-index: 2;
}
.modal-close:hover { background: #E8DFFF; }
.lead-header { margin-bottom: 22px; }
.lead-header h2 { font-size: 26px; font-weight: 900; color: var(--q-marinho); margin: 6px 0; line-height: 1.25; }
.lead-header p { margin: 0; font-size: 15px; color: var(--muted); line-height: 1.55; }
.lead-form { display: grid; gap: 14px; }
.row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.row-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.filters.row-3 { margin-bottom: 20px; padding: 20px; background: #FAF9FD; border-radius: 18px; border: 1px solid var(--line); }
.field { display: grid; gap: 8px; }
.field > span, .field label {
  font-size: 11.5px; font-weight: 800; color: #545b72;
  letter-spacing: .35px; text-transform: uppercase;
}
.field input, .field select, .field textarea {
  width: 100%;
  border: 1.5px solid var(--line); background: #fff;
  border-radius: var(--radius-sm);
  padding: 13px 16px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  font-size: 14.5px; color: var(--ink);
  font-family: inherit;
}
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--q-roxo);
  box-shadow: 0 0 0 4px rgba(91,46,255,.10);
}
.lead-msg {
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}
.lead-msg.ok { background: #e5f8f0; color: #0f7653; border: 1px solid rgba(22,167,123,.22); }
.lead-msg.err { background: #fee2e2; color: #991b1b; border: 1px solid rgba(224,65,65,.22); }

@media (max-width: 680px){
  .row-2, .row-3 { grid-template-columns: 1fr; }
  .modal-card { padding: 24px 20px; border-radius: 22px; }
  .lead-header h2 { font-size: 22px; }
}

/* ---------- WHATSAPP FLUTUANTE + CTA MOBILE FIXO ---------- */
.wa-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 90;
  display: flex; flex-direction: column; gap: 10px; align-items: flex-end;
  text-decoration: none;
}
.wa-pulse {
  position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid #25D366;
  animation: wapulse 1.8s ease-out infinite;
  pointer-events: none;
}
@keyframes wapulse { 0%{ opacity: 1; transform: scale(1);} 100%{ opacity: 0; transform: scale(1.4);} }
.wa-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff; display: grid; place-items: center;
  font-size: 30px;
  box-shadow: 0 14px 36px rgba(22,163,100,.40);
  position: relative;
  transition: transform .18s ease;
}
.wa-icon:hover { transform: scale(1.08) translateY(-2px); }
.wa-label {
  background: #fff;
  color: var(--ink);
  padding: 10px 16px;
  border-radius: 14px;
  font-weight: 800; font-size: 13.5px;
  box-shadow: 0 12px 32px rgba(0,0,0,.14);
  border: 1px solid var(--line);
  max-width: 280px; line-height: 1.4;
}

/* MOBILE CTA FIXO DUPLO (Mobile First) */
.mobile-cta-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 88;
  display: none;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  border-top: 1px solid var(--line);
  box-shadow: 0 -12px 34px rgba(0,0,0,.08);
  gap: 10px;
}
.mobile-cta-bar > a, .mobile-cta-bar > button {
  flex: 1;
  padding: 14px 14px;
  border-radius: 14px;
  font-weight: 900; font-size: 14px;
  text-align: center;
  cursor: pointer; text-decoration: none;
  border: 0;
}
.mobile-cta-bar .cta-wa {
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff;
  box-shadow: 0 8px 22px rgba(22,163,100,.28);
}
.mobile-cta-bar .cta-sim {
  background: var(--q-gradient);
  color: #fff;
  box-shadow: 0 8px 22px rgba(91,46,255,.28);
}
.mobile-cta-bar .cta-sim:hover, .mobile-cta-bar .cta-wa:hover { transform: translateY(-1px); }

@media (max-width: 860px){
  .mobile-cta-bar { display: flex; }
  .wa-float { bottom: 92px; }
  .qb-shell .mobile-cta-bar { display: none; }
}

/* ---------- LGPD ---------- */
.lgpd-bar {
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 200;
  background: var(--q-marinho); color: #fff;
  padding: 16px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 -10px 30px rgba(0,0,0,.18);
  flex-wrap: wrap;
}
.lgpd-bar[hidden] { display: none; }
.lgpd-bar > div:first-child {
  flex: 1; min-width: 280px;
  font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.88);
}
.lgpd-bar a { color: #C8B8FF; text-decoration: underline; font-weight: 700; }
@media (max-width: 680px){
  .lgpd-bar { padding-bottom: calc(16px + 84px); }
}

/* ---------- CRM / SIDEBAR / SHELL (usados pelo JS) ---------- */
.qb-shell { display: grid; grid-template-columns: 268px 1fr; min-height: 100vh; }
.qb-sidebar {
  background: var(--q-marinho); color: #fff;
  padding: 24px 14px;
  position: fixed; width: 268px; inset: 0 auto 0 0;
  display: flex; flex-direction: column; gap: 14px;
  z-index: 50; overflow: auto;
}
.qb-brand, .brand-light { display: flex; align-items: center; gap: 10px; padding: 8px 10px 20px; font-weight: 900; color: #fff; font-size: 18px; text-decoration: none; }
.brand-light small, .qb-brand small { display: block; color: #aeb4cb; font-size: 10px; letter-spacing: 1.7px; margin-top: 2px; line-height: 1.3; }
.brand-light { padding: 0; margin-bottom: 20px; }
.qb-nav-section {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.4px;
  color: rgba(255,255,255,.45); font-weight: 800; padding: 14px 12px 6px;
}
.qb-side-footer {
  margin-top: auto; padding: 16px 10px 10px;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex; flex-direction: column; gap: 4px;
  font-size: 12px; color: rgba(255,255,255,.55); font-weight: 700;
}
.qb-side-footer strong { color: #fff; font-size: 13px; }
.qb-main { margin-left: 268px; min-width: 0; background: var(--bg); min-height: 100vh; }
.qb-top {
  height: 72px; padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: rgba(246,244,251,.9); backdrop-filter: blur(14px);
  position: sticky; top: 0; z-index: 5;
  border-bottom: 1px solid var(--line);
}
.qb-search {
  flex: 1; max-width: 500px;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 11px 14px; color: var(--muted); font-size: 14px;
  outline: none;
}
.qb-search:focus { border-color: var(--q-roxo); box-shadow: 0 0 0 3px rgba(91,46,255,.10); }
.qb-user { display: flex; align-items: center; gap: 12px; }
.qb-user b { display: block; font-size: 14px; line-height: 1; color: var(--ink); }
.qb-user small { display: block; margin-top: 4px; font-size: 11.5px; color: var(--muted); }
.qb-avatar {
  width: 40px; height: 40px; border-radius: 14px;
  background: var(--q-gradient); color: #fff;
  display: grid; place-items: center; font-weight: 800;
  box-shadow: 0 8px 20px rgba(91,46,255,.25);
}
.qb-content { padding: 30px 32px 120px; max-width: 1500px; }
.page-title { font-size: 28px; font-weight: 900; color: var(--ink); letter-spacing: -.015em; line-height: 1.2; }
.page-sub { color: var(--muted); font-size: 14.5px; margin: 4px 0 0; }

.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 22px 0; }
.kpi { padding: 22px; border-radius: var(--radius); }
.kpi .label { font-size: 12.5px; color: var(--muted); font-weight: 700; }
.kpi .value { font-size: 30px; font-weight: 850; margin: 8px 0 6px; color: var(--ink); }
.kpi .delta { font-size: 12px; color: var(--green); font-weight: 700; }
.kpi .delta.down { color: var(--red); }
.section-card { padding: 24px; border-radius: var(--radius); }
.section-card h3 { margin: 0 0 4px; font-size: 20px; font-weight: 800; color: var(--ink); }
.muted-sub { color: var(--muted); font-size: 13px; margin: 0 0 18px; }

.table-wrap { overflow: auto; border-radius: var(--radius-sm); }
.table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.table th {
  text-align: left; color: var(--muted);
  font-size: 11.5px; font-weight: 800; letter-spacing: .3px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: #FAF9FD; text-transform: uppercase;
}
.table td { padding: 14px 16px; border-bottom: 1px solid var(--line); color: var(--ink); vertical-align: middle; }
.table tr:hover td { background: rgba(244,241,255,.5); }
.table .num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.table .center { text-align: center; }
.table .empty { text-align: center; padding: 48px 24px !important; color: var(--muted); font-weight: 600; }

.empty-state { padding: 60px 24px; text-align: center; color: var(--muted); }
.empty-state h2 { color: var(--ink); font-weight: 900; }
.empty { padding: 48px 24px; text-align: center; color: var(--muted); font-weight: 600; }

.list { display: grid; gap: 4px; }
.list-item, .item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0; border-bottom: 1px solid var(--line); gap: 14px;
}
.list-item:last-child, .item:last-child { border: 0; }
.list-item small, .item small { display: block; color: var(--muted); margin-top: 4px; font-size: 12.5px; line-height: 1.5; }
.list-item .meta, .item .meta { flex: 1; min-width: 0; }
.list-item .meta b, .item .meta b { font-size: 14.5px; color: var(--ink); line-height: 1.2; }

.pipeline { display: grid; gap: 12px; }
.pipeline-row {
  display: grid; grid-template-columns: 150px 1fr 56px;
  align-items: center; gap: 14px;
  font-size: 13.5px; font-weight: 700; color: var(--ink);
}
.pipeline-row b { text-align: right; color: var(--q-roxo-escuro); }
.bar { height: 10px; background: var(--q-lilas); border-radius: 99px; overflow: hidden; }
.bar i { display: block; height: 100%; border-radius: 99px; background: var(--q-gradient); }

.row-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }

.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-card { padding: 28px; }
.switches { display: flex; flex-direction: column; gap: 6px; padding: 12px 0; }
.switch-wrap { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.switch-wrap input { width: 18px; height: 18px; accent-color: var(--q-roxo); }

/* CRM ATENDIMENTO IA */
.ai-chat { padding: 0; display: flex; flex-direction: column; height: 72vh; min-height: 520px; overflow: hidden; }
.ai-chat-head {
  padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border-bottom: 1px solid var(--line); background: #FAF9FD;
}
.ai-chat-head b { display: block; font-size: 15px; color: var(--ink); }
.ai-chat-head small { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; }
.messages {
  flex: 1; overflow: auto; padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  background: linear-gradient(180deg, #fff, #F6F4FB);
}
.msg {
  max-width: 75%; padding: 12px 16px; border-radius: 18px;
  font-size: 14px; line-height: 1.6; color: var(--ink);
  background: #fff; border: 1px solid var(--line);
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
}
.msg.me {
  align-self: flex-end; background: var(--q-gradient); color: #fff; border: 0;
  box-shadow: 0 8px 22px rgba(91,46,255,.20);
}
.composer {
  display: flex; gap: 10px; padding: 16px; border-top: 1px solid var(--line); background: #fff;
}
.composer input {
  flex: 1; background: #FAF9FD; border: 1px solid var(--line);
  padding: 12px 16px; border-radius: 14px; font-size: 14.5px; outline: none;
}
.composer input:focus { border-color: var(--q-roxo); box-shadow: 0 0 0 3px rgba(91,46,255,.10); }

/* LOGIN CRM */
.qb-login-body, .login-wrap {
  min-height: 100vh; margin: 0;
  background:
    radial-gradient(ellipse at top, rgba(91,46,255,.15), transparent 60%),
    linear-gradient(180deg, #0a0f2c 0%, #101A46 100%);
  display: grid; place-items: center;
  padding: 20px;
}
.login-card {
  background: #fff; padding: 44px 40px;
  border-radius: 32px; width: 100%; max-width: 440px;
  box-shadow: 0 40px 100px rgba(0,0,0,.35);
}
.login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; color: var(--ink); font-weight: 900; font-size: 20px; }
.login-brand small { display: block; font-size: 10px; letter-spacing: 1.7px; color: var(--q-roxo); }
.login-card h1 { font-size: 26px; font-weight: 900; color: var(--q-marinho); margin: 0 0 6px; }
.login-card > p { color: var(--muted); font-size: 14.5px; margin: 0 0 26px; }
.login-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; }
.login-footer a { color: var(--q-roxo); font-weight: 700; font-size: 13.5px; text-decoration: none; }

/* FOOTER SITE (overrides + marca clara) */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.88); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(232,228,240,.75); }
.site-header-inner {
  max-width: 1240px; margin: 0 auto; padding: 14px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.site-brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 900; }
.site-brand strong { font-size: 17px; letter-spacing: -.01em; color: var(--q-marinho); display: block; line-height: 1; }
.site-brand small { display: block; font-size: 9px; letter-spacing: 2.1px; color: var(--q-roxo); font-weight: 800; margin-top: 2px; }
.site-brand-mark {
  width: 40px; height: 40px; border-radius: 13px;
  background: var(--q-gradient); color: #fff;
  display: grid; place-items: center;
  font-size: 20px; font-weight: 900;
  box-shadow: 0 8px 22px rgba(91,46,255,.35);
  flex-shrink: 0;
}
.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav a {
  padding: 10px 14px; border-radius: 12px;
  color: var(--ink); font-weight: 650; font-size: 14px; text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.site-nav a:hover, .site-nav a.active { background: var(--q-lilas); color: var(--q-roxo-escuro); }
.site-actions { display: flex; align-items: center; gap: 10px; }
.site-menu-btn {
  display: none;
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--q-lilas); color: var(--q-roxo-escuro);
  border: 0; font-size: 22px; font-weight: 800; cursor: pointer;
}
.site-mobile-menu {
  display: none;
  flex-direction: column; gap: 2px;
  padding: 12px 24px 20px;
  background: #fff; border-top: 1px solid var(--line);
}
.site-mobile-menu[hidden] { display: none; }
.site-mobile-menu a {
  padding: 12px 14px; border-radius: 12px;
  color: var(--ink); font-weight: 700; font-size: 14.5px; text-decoration: none;
}
.site-mobile-menu a:hover { background: var(--q-lilas); color: var(--q-roxo-escuro); }
.site-main { min-height: 70vh; }
.site-footer {
  background: var(--q-marinho); color: rgba(255,255,255,.85); padding: 72px 0 120px; margin-top: 40px;
}
.site-footer-grid {
  display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 48px;
}
.site-footer h4 {
  color: #fff; font-size: 13px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1.2px; margin: 0 0 18px;
}
.site-footer a {
  color: rgba(255,255,255,.70); display: block;
  padding: 6px 0; font-size: 14px; font-weight: 500; text-decoration: none;
  transition: color .15s ease;
}
.site-footer a:hover { color: #fff; }
.site-footer p { color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.65; max-width: 320px; }
.site-footer-bottom {
  max-width: 1240px; margin: 54px auto 0; padding: 26px 24px 0;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 13px; color: rgba(255,255,255,.50);
}

/* PROVA SOCIAL / PARCEIROS (Home Section 4) */
.trust-strip {
  padding: 48px 0;
  background: linear-gradient(180deg, #fff, var(--q-lilas));
}
.trust-strip h4 {
  text-align: center; font-size: 12px; font-weight: 800;
  color: var(--muted); letter-spacing: 2px; text-transform: uppercase;
  margin: 0 0 28px;
}
.trust-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  max-width: 1100px; margin: 0 auto;
  text-align: center;
}
.trust-metrics b {
  display: block; font-size: 40px; font-weight: 900; letter-spacing: -.02em;
  background: var(--q-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.trust-metrics small {
  display: block; font-size: 13px; font-weight: 700; color: var(--muted);
  margin-top: 8px; line-height: 1.4;
}
.partner-row {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 40px;
}
.partner-pill {
  padding: 14px 22px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line);
  color: var(--q-roxo-escuro); font-weight: 800; font-size: 13.5px;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
@media (max-width: 860px){
  .trust-metrics { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .trust-metrics b { font-size: 30px; }
  .site-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .kpis { grid-template-columns: repeat(2, 1fr); }
  .site-nav { display: none; }
  .site-menu-btn { display: grid; place-items: center; }
  .site-actions .btn.ghost, .site-actions .btn.secondary { display: none; }
  .site-mobile-menu { display: flex; }
  .site-main { padding-bottom: 100px; }
}
@media (max-width: 620px){
  .site-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .kpis { grid-template-columns: 1fr; }
  .form-grid-2 { grid-template-columns: 1fr; }
  .qb-sidebar { width: 72px; padding: 14px 10px; }
  .qb-brand span, .qb-nav-section, .qb-nav button span:not(.ico), .qb-side-footer { display: none; }
  .qb-brand { justify-content: center; padding: 8px 0 16px; }
  .qb-main { margin-left: 72px; }
  .qb-content { padding: 20px 16px 120px; }
  .qb-top { padding: 0 16px; height: 64px; }
  .pipeline-row { grid-template-columns: 110px 1fr 44px; font-size: 12.5px; }
}

/* ---------- SITE HEADER RESPONSIVO ---------- */
@media (max-width: 900px){
  .site-nav { display: none; }
  .site-menu-btn { display: grid; place-items: center; }
  .site-actions .btn.ghost { display: none; }
}

/* ============================================================
   UTILITÁRIOS
   ============================================================ */
.hidden { display: none !important; }
.flex { display: flex; }
.items-center { align-items: center; }
.gap-sm { gap: 8px; }
.gap-md { gap: 14px; }
.mt-sm { margin-top: 8px; }
.mt-md { margin-top: 16px; }
.mt-lg { margin-top: 28px; }
.mb-sm { margin-bottom: 8px; }
.mb-md { margin-bottom: 16px; }
.mb-lg { margin-bottom: 28px; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.full { width: 100%; }
.hero-section-min { min-height: 60vh; display: flex; align-items: center; }

/* ============================================================
   QUERO BENEFÍCIOS — PREMIUM CONVERSION EXPERIENCE 2026
   Performance-first: no external fonts or hero images.
   ============================================================ */
:root{
  --qb-ink:#0c1233;--qb-navy:#101a46;--qb-violet:#6c3cff;--qb-violet-2:#8b63ff;
  --qb-soft:#f7f5ff;--qb-mint:#dffbf2;--qb-cyan:#dff6ff;--qb-surface:#ffffff;
  --qb-border:rgba(16,26,70,.09);--qb-shadow:0 28px 80px rgba(16,26,70,.12);
}
html{scroll-behavior:smooth} body{background:#fff;color:var(--qb-ink)}
.qb-boot{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;animation:qbBootOut .35s ease 1.4s forwards;pointer-events:none}.qb-boot div{display:flex;flex-direction:column}.qb-boot b{font-size:17px;letter-spacing:.04em}.qb-boot small{font-size:8px;letter-spacing:.18em;color:#6d7288}.qb-boot-dark{background:var(--qb-navy);color:#fff}.qb-boot-dark small{color:rgba(255,255,255,.55)}@keyframes qbBootOut{to{opacity:0;visibility:hidden}}
.site-header{background:rgba(255,255,255,.78)!important;backdrop-filter:blur(22px) saturate(155%);-webkit-backdrop-filter:blur(22px) saturate(155%)}
.site-header-inner{min-height:74px}.site-nav a{font-size:13.5px;font-weight:720}.site-actions .btn.primary{box-shadow:0 10px 30px rgba(91,46,255,.22)}
.qb-hero-premium{position:relative;overflow:hidden;padding:92px 0 88px;background:linear-gradient(180deg,#fff 0%,#fbfaff 60%,#f6f3ff 100%)}
.qb-hero-premium:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(108,60,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(108,60,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 82%);pointer-events:none}
.qb-glow{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none}.qb-glow-a{width:560px;height:560px;right:-180px;top:-230px;background:radial-gradient(circle,rgba(108,60,255,.15),transparent 68%)}.qb-glow-b{width:420px;height:420px;left:-210px;bottom:-210px;background:radial-gradient(circle,rgba(61,210,190,.12),transparent 70%)}
.qb-hero-premium-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:72px;max-width:1240px}
.qb-proof-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(108,60,255,.14);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 30px rgba(16,26,70,.05);font-size:11px;letter-spacing:.12em;font-weight:850;color:#51498a}.qb-proof-pill span{width:7px;height:7px;border-radius:99px;background:#2ad4a3;box-shadow:0 0 0 5px rgba(42,212,163,.12)}
.qb-hero-premium-copy h1{font-size:clamp(48px,5.2vw,76px);line-height:.98;letter-spacing:-.055em;margin:22px 0 24px;color:var(--qb-navy);max-width:760px}.qb-hero-premium-copy h1 span{background:linear-gradient(92deg,#6c3cff 0%,#9b5cff 52%,#316ee8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.qb-hero-lead{font-size:19px;line-height:1.68;color:#626a84;max-width:650px;margin:0 0 30px}.qb-hero-actions{align-items:center}.qb-btn-lift{box-shadow:0 18px 38px rgba(91,46,255,.26);transition:transform .2s ease,box-shadow .2s ease}.qb-btn-lift:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(91,46,255,.32)}
.qb-trust-row{display:flex;align-items:center;gap:9px 10px;flex-wrap:wrap;margin-top:26px;color:#70778d;font-size:12.5px;font-weight:650}.qb-trust-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9fbf5;color:#178e6f;font-size:11px}.qb-trust-row span{margin-right:10px}
.qb-hero-product{position:relative;min-height:570px;display:grid;place-items:center}.qb-product-halo{position:absolute;width:470px;height:470px;border-radius:50%;background:linear-gradient(135deg,rgba(108,60,255,.18),rgba(66,212,194,.12));filter:blur(2px)}
.qb-product-window{position:relative;z-index:2;width:min(460px,92%);border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.86);backdrop-filter:blur(22px);border-radius:34px;box-shadow:0 40px 100px rgba(39,33,91,.2),inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden;transform:rotate(1.2deg)}
.qb-product-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--qb-border)}.qb-mini-brand{display:flex;align-items:center;gap:9px}.qb-mini-brand>b{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#6c3cff,#2c205f)}.qb-mini-brand span{font-size:11px;font-weight:900;letter-spacing:.06em}.qb-mini-brand small{display:block;font-size:6.5px;letter-spacing:.2em;color:#7a7790}.qb-live-dot{font-size:10px;font-weight:800;color:#148263;background:#e8fbf4;border:1px solid #c9f0e3;padding:6px 8px;border-radius:999px}
.qb-product-body{padding:30px}.qb-product-kicker{font-size:9px;letter-spacing:.16em;color:#7f6ac6;font-weight:900}.qb-product-body h3{font-size:30px;letter-spacing:-.035em;margin:10px 0 8px;color:var(--qb-navy)}.qb-product-body>p{font-size:14px;color:#737a90;margin:0 0 22px}.qb-benefit-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qb-benefit-chip{min-height:74px;padding:14px;border-radius:18px;border:1px solid var(--qb-border);background:#fff;display:flex;flex-direction:column;gap:8px}.qb-benefit-chip span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#f0ecff;color:#6c3cff;font-weight:900}.qb-benefit-chip b{font-size:12px;line-height:1.25}.qb-product-cta{margin-top:18px;width:100%;border:0;border-radius:16px;background:linear-gradient(100deg,#6c3cff,#4c2bc5);color:#fff;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;font-weight:850;cursor:pointer;box-shadow:0 12px 28px rgba(108,60,255,.2)}
.qb-float-proof{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:17px;padding:12px 14px;box-shadow:0 22px 54px rgba(16,26,70,.16);animation:qbFloat 6s ease-in-out infinite}.qb-float-proof>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eafbf5;color:#168668;font-weight:900}.qb-float-proof b{display:block;font-size:11.5px}.qb-float-proof small{font-size:9.5px;color:#858aa0}.qb-float-proof-a{left:-8px;top:125px}.qb-float-proof-b{right:-12px;bottom:92px;animation-delay:1.5s}.qb-float-proof-b>span{background:#f0ecff;color:#6c3cff}@keyframes qbFloat{50%{transform:translateY(-8px)}}
.qb-proof-strip{border-top:1px solid var(--qb-border);border-bottom:1px solid var(--qb-border);background:#fff}.qb-proof-strip-inner{min-height:74px;display:flex;align-items:center;justify-content:center;gap:18px;color:#697087;font-size:13px;font-weight:750}.qb-proof-strip-inner>span{font-size:10px;letter-spacing:.13em;color:#8c91a4}.qb-proof-strip-inner div{color:var(--qb-navy)}.qb-proof-strip-inner i{font-style:normal;color:#b6b0cf}
.qb-section-premium{padding:112px 0}.qb-section-heading{margin-bottom:48px}.qb-section-heading.center{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}.qb-section-heading h2{font-size:clamp(36px,4vw,56px);line-height:1.04;letter-spacing:-.045em;color:var(--qb-navy);margin:12px 0 16px}.qb-section-heading h2 span{color:#7550e9}.qb-section-heading p{font-size:16px;line-height:1.7;color:#6f768b;max-width:700px}.qb-section-heading.center p{margin-left:auto;margin-right:auto}.qb-section-heading.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.qb-section-heading.split>div:last-child{padding-bottom:4px}.qb-section-heading.split .btn{margin-top:12px}
.qb-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.qb-value-grid article{position:relative;overflow:hidden;min-height:310px;padding:34px;border:1px solid var(--qb-border);border-radius:28px;background:linear-gradient(180deg,#fff,#fbfaff);box-shadow:0 18px 60px rgba(16,26,70,.055);transition:transform .25s ease,box-shadow .25s ease}.qb-value-grid article:hover{transform:translateY(-5px);box-shadow:0 24px 70px rgba(16,26,70,.09)}.qb-value-index{position:absolute;right:24px;top:22px;font-size:11px;letter-spacing:.12em;color:#bbb5d1;font-weight:900}.qb-value-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#efeaff,#f7f5ff);color:#6c3cff;font-size:22px;font-weight:900;margin-bottom:34px}.qb-value-grid h3{font-size:22px;margin:0 0 12px;letter-spacing:-.025em}.qb-value-grid p{font-size:14.5px;line-height:1.7;color:#73798e;margin:0}
.qb-comparison-section{padding:112px 0;background:var(--qb-navy);color:#fff;overflow:hidden;position:relative}.qb-comparison-section:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-250px;top:-300px;background:radial-gradient(circle,rgba(124,80,255,.26),transparent 68%)}.qb-comparison-layout{position:relative;display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.qb-comparison-copy .eyebrow{color:#bcaeff}.qb-comparison-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.03;letter-spacing:-.045em;margin:12px 0 20px;max-width:700px}.qb-comparison-copy p{color:rgba(255,255,255,.68);font-size:17px;line-height:1.7;max-width:650px}.qb-checklist{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.qb-checklist span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.84)}.qb-comparison-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:30px;padding:34px;backdrop-filter:blur(18px);box-shadow:0 35px 90px rgba(0,0,0,.2)}.qb-comp-label{font-size:9px;letter-spacing:.16em;color:#bcb0e8;font-weight:900}.qb-comp-price{padding:20px 0 26px;border-bottom:1px solid rgba(255,255,255,.11)}.qb-comp-price small,.qb-comp-price span{display:block;color:rgba(255,255,255,.55)}.qb-comp-price strong{display:block;font-size:30px;letter-spacing:-.03em;margin:6px 0 8px}.qb-comp-price span{font-size:11.5px;line-height:1.5}.qb-comp-lines{display:grid;gap:8px;padding-top:20px}.qb-comp-lines span{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.05);font-size:13px;color:rgba(255,255,255,.85)}.qb-comp-lines i{font-style:normal;font-size:9px;color:#c6b9ff;font-weight:900}
.qb-catalog-section{padding:112px 0;background:#fbfaff}.qb-combos-premium .combo-card{border-radius:28px!important;box-shadow:0 20px 60px rgba(16,26,70,.07)!important;transition:transform .25s ease,box-shadow .25s ease}.qb-combos-premium .combo-card:hover{transform:translateY(-5px);box-shadow:0 28px 80px rgba(16,26,70,.12)!important}
.qb-campaign-section{padding:112px 0;background:linear-gradient(140deg,#4f28cf 0%,#6c3cff 46%,#2c3f9f 100%);position:relative;overflow:hidden}.qb-campaign-section:after{content:"";position:absolute;inset:auto -10% -60% auto;width:650px;height:650px;border-radius:50%;background:rgba(255,255,255,.08)}.light-text h2,.light-text h2 span{color:#fff}.light-text p{color:rgba(255,255,255,.7)}.light-text .eyebrow{color:#d7cdfc}.qb-campaign-grid{position:relative;z-index:2}.qb-center-action{text-align:center;margin-top:34px;position:relative;z-index:2}.btn.white{background:#fff;color:#4e2bc0;border-color:#fff}.btn.glass{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.18)}
.qb-steps-section{padding:112px 0}.qb-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.qb-steps-grid article{padding:30px;border-top:1px solid var(--qb-border)}.qb-steps-grid b{display:inline-flex;width:38px;height:38px;border-radius:13px;background:#f0ecff;align-items:center;justify-content:center;color:#6c3cff;font-size:11px}.qb-steps-grid h3{font-size:21px;margin:24px 0 10px}.qb-steps-grid p{color:#757b8e;line-height:1.65;font-size:14px}
.qb-final-cta-wrap{padding:0 0 100px}.qb-final-cta{position:relative;overflow:hidden;padding:58px 64px;border-radius:36px;background:linear-gradient(125deg,#101a46,#33247c 50%,#6638e7);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 34px 90px rgba(16,26,70,.2)}.qb-final-glow{position:absolute;width:420px;height:420px;border-radius:50%;right:12%;top:-280px;background:rgba(255,255,255,.1)}.qb-final-cta>div{position:relative}.qb-final-cta>div>span{font-size:9px;letter-spacing:.16em;color:#cec4f8;font-weight:900}.qb-final-cta h2{font-size:36px;letter-spacing:-.035em;margin:10px 0 8px}.qb-final-cta p{margin:0;color:rgba(255,255,255,.67)}.qb-final-actions{display:flex;gap:10px;flex-shrink:0}
.site-footer{background:#090f2c!important;border-top:1px solid rgba(255,255,255,.04)}.site-footer-grid{padding-top:6px}.site-footer-bottom{display:flex;justify-content:space-between}
.wa-float{box-shadow:0 16px 42px rgba(30,184,98,.23)!important}.mobile-cta-bar{backdrop-filter:blur(18px)}

/* Premium login */
.qb-premium-login-body{margin:0;min-height:100vh;background:#f6f5fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--qb-ink)}.qb-premium-login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.qb-login-brand-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b1235 0%,#162255 48%,#5631d2 100%);padding:7vw;display:flex;align-items:center;color:#fff}.qb-login-orb{position:absolute;border-radius:50%}.orb-a{width:620px;height:620px;right:-270px;top:-250px;background:rgba(255,255,255,.07)}.orb-b{width:430px;height:430px;left:-210px;bottom:-210px;background:rgba(107,224,209,.09)}.qb-login-brand-content{position:relative;z-index:2;max-width:650px}.qb-login-logo{display:flex;align-items:center;gap:12px;margin-bottom:13vh}.qb-login-logo>span,.qb-login-mobile-brand>span{width:44px;height:44px;border-radius:14px;background:#fff;color:#5d35d4;display:grid;place-items:center;font-weight:950;font-size:21px}.qb-login-logo div,.qb-login-mobile-brand div{display:flex;flex-direction:column}.qb-login-logo b,.qb-login-mobile-brand b{font-size:15px;letter-spacing:.05em}.qb-login-logo small,.qb-login-mobile-brand small{font-size:7px;letter-spacing:.2em;opacity:.65}.qb-login-kicker{font-size:10px;letter-spacing:.18em;color:#c5b9f6;font-weight:900}.qb-login-brand-content h1{font-size:clamp(42px,4.6vw,68px);line-height:.98;letter-spacing:-.05em;margin:18px 0 22px;max-width:640px}.qb-login-brand-content>p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.67);max-width:540px}.qb-login-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.qb-login-features span{padding:9px 12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:999px;font-size:11px;color:rgba(255,255,255,.8)}.qb-login-form-panel{display:grid;place-items:center;padding:40px}.qb-login-form-card{width:min(440px,100%)}.qb-login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:40px;color:var(--qb-navy)}.qb-login-secure{display:inline-block;font-size:9px;letter-spacing:.13em;color:#25826b;font-weight:900;margin-bottom:18px}.qb-login-form-card h2{font-size:36px;letter-spacing:-.04em;margin:0 0 8px;color:var(--qb-navy)}.qb-login-form-card>p{color:#73798d;margin:0 0 30px}.qb-login-field{display:block;margin-bottom:17px}.qb-login-field>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#5b6278;margin-bottom:8px}.qb-login-field input{width:100%;box-sizing:border-box;border:1px solid #ddd9e8;border-radius:15px;background:#fff;padding:15px 16px;font-size:15px;outline:0;transition:.2s}.qb-login-field input:focus{border-color:#8062e7;box-shadow:0 0 0 4px rgba(108,60,255,.08)}.qb-password-wrap{position:relative}.qb-password-wrap input{padding-right:64px}.qb-password-wrap button{position:absolute;right:9px;top:8px;bottom:8px;border:0;background:#f1edff;color:#6540d4;border-radius:9px;padding:0 10px;font-weight:800;cursor:pointer}.qb-login-submit{width:100%;border:0;border-radius:15px;padding:16px 18px;margin-top:7px;background:linear-gradient(100deg,#6c3cff,#4a2bc2);color:#fff;display:flex;align-items:center;justify-content:space-between;font-weight:850;font-size:14px;cursor:pointer;box-shadow:0 16px 36px rgba(108,60,255,.22)}.qb-login-submit:disabled{opacity:.7;cursor:wait}.qb-login-error{min-height:20px;margin-top:13px;color:#b42318;font-size:12.5px}.qb-login-help{border-top:1px solid #ebe8f1;margin-top:22px;padding-top:18px;color:#8a8fa0;font-size:11.5px;text-align:center}

@media(max-width:1040px){.qb-hero-premium-grid,.qb-comparison-layout{grid-template-columns:1fr;gap:44px}.qb-hero-premium-copy{text-align:center}.qb-hero-lead{margin-left:auto;margin-right:auto}.qb-hero-actions,.qb-trust-row{justify-content:center}.qb-hero-product{min-height:520px}.qb-value-grid{grid-template-columns:1fr 1fr}.qb-value-grid article:last-child{grid-column:1/-1}.qb-section-heading.split{grid-template-columns:1fr;gap:8px}.qb-final-cta{flex-direction:column;text-align:center}.qb-premium-login{grid-template-columns:1fr}.qb-login-brand-panel{display:none}.qb-login-mobile-brand{display:flex}.qb-login-form-panel{min-height:100vh;background:linear-gradient(180deg,#fbfaff,#f1edff)}}
@media(max-width:760px){.qb-hero-premium{padding:52px 0 52px}.qb-hero-premium-copy h1{font-size:42px}.qb-hero-lead{font-size:16px}.qb-hero-actions{flex-direction:column}.qb-hero-actions .btn{width:100%}.qb-trust-row{align-items:flex-start;font-size:11px}.qb-hero-product{min-height:460px}.qb-product-window{width:94%}.qb-float-proof-a{left:-2px;top:92px}.qb-float-proof-b{right:-2px;bottom:58px}.qb-proof-strip-inner{gap:10px;overflow-x:auto;justify-content:flex-start;padding-top:16px;padding-bottom:16px}.qb-proof-strip-inner>span{display:none}.qb-section-premium,.qb-comparison-section,.qb-catalog-section,.qb-campaign-section,.qb-steps-section{padding:78px 0}.qb-value-grid,.qb-steps-grid{grid-template-columns:1fr}.qb-value-grid article:last-child{grid-column:auto}.qb-comparison-layout{gap:42px}.qb-comparison-card{padding:24px}.qb-section-heading h2{font-size:38px}.qb-final-cta{padding:42px 24px;border-radius:28px}.qb-final-cta h2{font-size:30px}.qb-final-actions{width:100%;flex-direction:column}.qb-final-actions .btn{width:100%}.qb-login-form-panel{padding:28px 22px}.qb-login-form-card h2{font-size:32px}}
@media(max-width:520px){.qb-hero-premium-copy h1{font-size:37px}.qb-product-body{padding:24px 20px}.qb-product-body h3{font-size:26px}.qb-benefit-stack{grid-template-columns:1fr 1fr}.qb-benefit-chip{min-height:68px;padding:11px}.qb-benefit-chip b{font-size:11px}.qb-float-proof{display:none}.qb-section-heading h2{font-size:33px}.qb-final-cta-wrap{padding-bottom:70px}.site-header-inner{padding-left:16px;padding-right:16px}.site-actions .btn.primary{display:none}.site-menu-btn{display:grid!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.qb-float-proof,.qb-boot{animation:none}.qb-boot{display:none}.qb-btn-lift,.qb-value-grid article,.qb-combos-premium .combo-card{transition:none}}

/* ===== Acesso CRM no site público ===== */
.qb-crm-access{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(18,26,64,.14);background:#fff;color:var(--q-marinho,#111936);font-weight:850;box-shadow:0 8px 24px rgba(18,26,64,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.qb-crm-access:hover{transform:translateY(-1px);border-color:rgba(108,60,255,.34);box-shadow:0 12px 28px rgba(51,38,111,.12)}.qb-crm-access-icon{width:22px;height:22px;border-radius:7px;background:rgba(108,60,255,.10);color:#6740d8;display:grid;place-items:center;font-size:12px}.qb-mobile-crm-link{margin-top:8px!important;padding:13px 14px!important;border-radius:12px!important;background:linear-gradient(100deg,#6c3cff,#4a2bc2)!important;color:#fff!important;font-weight:850!important}.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}.qb-footer-crm{border:0;background:transparent;color:rgba(255,255,255,.58);font:inherit;font-size:11px;cursor:pointer;padding:6px 0}.qb-footer-crm:hover{color:#fff;text-decoration:underline}@media(max-width:860px){.site-actions .qb-crm-access{display:none}}@media(max-width:600px){.site-footer-bottom{align-items:flex-start;flex-direction:column}.qb-footer-crm{padding-top:0}}
