/* =========================================================================
 * LP DE PLANOS (campanha "ERP — Demonstração")
 * Mesmo padrão visual do site institucional (conag.com.br): DM Sans, muito
 * branco e cinza neutro, cards com borda clara, plano em destaque escuro.
 * Cor com moderação: um verde sóbrio só em botões, ícones e detalhes.
 * Tudo fica dentro de .lpPlanos, então não afeta as outras páginas do site.
 * A fonte DM Sans já é importada no topo do geral.css.
 * ========================================================================= */

.lpPlanos {
  --lpVerde: #2f6b45;       /* verde sóbrio: botões, ícones, detalhes */
  --lpVerdeHover: #275a3a;
  --lpVerdeClaro: #a9c9b4;  /* verde acinzentado para detalhes sobre fundo escuro */
  --lpEscuro: #161c19;      /* grafite: hero, plano em destaque e CTA final */
  --lpFundo: #f6f7f6;       /* cinza neutro das seções alternadas */
  --lpTexto: #111827;
  --lpTextoSuave: #4b5563;
  --lpTextoMudo: #6b7280;
  --lpBorda: #e5e7eb;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  color: var(--lpTexto);
  -webkit-font-smoothing: antialiased;
}
.lpPlanos h1, .lpPlanos h2, .lpPlanos h3, .lpPlanos p, .lpPlanos a, .lpPlanos li, .lpPlanos button {
  font-family: inherit;
}

/* --- Seções e cabeçalhos --- */
.lpSecao { padding: 96px 0; }
.lpCinza { background: var(--lpFundo); }
.lpEscura { background: var(--lpEscuro); color: #fff; }
.lpEscura .lpSelo { color: rgba(255,255,255,.55); }
.lpEscura .lpTitulo { color: #fff; }
.lpEscura .lpTitulo strong { color: var(--lpVerdeClaro); }
.lpEscura .lpSub { color: rgba(255,255,255,.7); }
.lpCabecalho { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.lpSelo {
  display: inline-block; margin-bottom: 16px;
  font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--lpTextoMudo);
}
.lpTitulo {
  font-size: 44px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em;
  color: var(--lpTexto); margin: 0 0 20px;
}
.lpTitulo strong { font-weight: 700; color: var(--lpVerde); }
.lpSub { font-size: 18px; line-height: 1.65; color: var(--lpTextoSuave); margin: 0; }
.lpCentro { text-align: center; margin-top: 40px; }
.lpEsquerda { text-align: left; margin-left: 0; }

/* --- Botões --- */
.lpBtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 32px; border-radius: 8px;
  font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none !important;
  transition: opacity .2s, background .2s, transform .2s;
}
.lpTitulo, .lpHeroTitulo, .lpBtn { overflow-wrap: anywhere; }
.lpBtn i { font-size: 14px; transition: transform .2s; }
.lpBtn:hover i.fa-arrow-right { transform: translateX(4px); }
.lpBtnPrimario { background: var(--lpVerde); color: #fff !important; box-shadow: 0 6px 16px -6px rgba(0,0,0,.3); }
.lpBtnPrimario:hover, .lpBtnPrimario:focus { background: var(--lpVerdeHover); color: #fff; }
.lpBtnContorno { background: #fff; border: 1px solid #d1d5db; color: var(--lpTexto) !important; }
.lpBtnContorno:hover, .lpBtnContorno:focus { background: var(--lpFundo); color: var(--lpTexto); }
.lpBtnContorno i { color: var(--lpVerde); }

/* --- 1. Hero: fundo branco, texto à esquerda (como a seção 2 do institucional) --- */
.lpHero { background: #fff; border-bottom: 1px solid #f0f1f0; }
.lpHeroConteudo { padding-top: 96px; padding-bottom: 88px; }
.lpHeroConteudo > * { max-width: 820px; }
.lpHeroTitulo {
  font-size: 56px; font-weight: 700; line-height: 1.08; letter-spacing: -.02em;
  color: var(--lpTexto); margin: 0 0 24px;
}
.lpHeroTitulo strong { font-weight: 700; color: var(--lpVerde); }
.lpHeroSub { font-size: 20px; line-height: 1.6; color: var(--lpTextoSuave); margin: 0 0 40px; }
.lpHeroConteudo > .lpBotoes { display: flex; flex-wrap: wrap; gap: 16px; max-width: none; }
.lpHeroProva {
  margin: 56px 0 0; padding-top: 28px; border-top: 1px solid var(--lpBorda);
  font-size: 15px; color: var(--lpTextoMudo);
}
.lpHeroProva strong { color: var(--lpTexto); font-size: 22px; font-weight: 700; margin-right: 4px; }

/* --- 2. Vídeo --- */
.lpVideo {
  position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden;
  border-radius: 16px; background: #000;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.08);
}
.lpVideo iframe, .lpVideoPlay { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lpVideoPlay { padding: 0; background: #000; cursor: pointer; }
.lpVideoPlay img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
.lpVideoPlay:hover img { opacity: .85; }
.lpVideoIcone {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,.95); color: var(--lpEscuro);
  font-size: 28px; display: flex; align-items: center; justify-content: center; padding-left: 5px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .2s;
}
.lpVideoPlay:hover .lpVideoIcone { transform: translate(-50%, -50%) scale(1.08); }

/* --- 3. O que o sistema resolve: 3 cards como os pilares do institucional --- */
.lpCards { display: flex; flex-wrap: wrap; }
.lpCards > div { margin-bottom: 24px; }
.lpCard {
  position: relative; height: 100%; padding: 32px; border-radius: 16px; background: #fff;
  border: 1px solid #eef0ee; box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: box-shadow .4s, border-color .4s;
}
.lpCard:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,.08); border-color: var(--lpBorda); }
.lpCardNumero { position: absolute; top: 20px; right: 24px; font-size: 56px; font-weight: 700; line-height: 1; color: #f3f4f3; user-select: none; }
.lpIcone {
  position: relative; width: 52px; height: 52px; border-radius: 12px; background: #eef3ef; margin-bottom: 24px;
  display: flex; align-items: center; justify-content: center; color: var(--lpVerde); font-size: 22px;
}
.lpCard h3 { position: relative; font-size: 20px; font-weight: 700; color: var(--lpTexto); margin: 0 0 10px; }
.lpCard p { position: relative; font-size: 15px; line-height: 1.65; color: var(--lpTextoSuave); margin: 0; }

/* --- 4. Planos (os cards vêm do painel; aqui só o visual) --- */
.lpPlanosSecao .planos-row { display: flex; flex-wrap: wrap; align-items: stretch; }
.lpPlanosSecao .plano-item { margin-bottom: 24px; }
.lpPlanosSecao .plano-box {
  height: 100%; padding: 32px 24px; border-radius: 16px; background: #fff;
  border: 1px solid var(--lpBorda); box-shadow: 0 1px 2px rgba(0,0,0,.05);
  display: flex; flex-direction: column; justify-content: space-between;
  transition: box-shadow .3s, border-color .3s, transform .3s;
}
.lpPlanosSecao .plano-box:hover { transform: none; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1); border-color: #d1d5db; }
.lpPlanosSecao .plano-box.destaque {
  background: var(--lpEscuro); border-color: var(--lpEscuro);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.35);
}
.lpPlanosSecao .plano-selo {
  top: -13px; left: 50%; transform: translateX(-50%); width: auto; white-space: nowrap;
  padding: 5px 16px; border-radius: 50px; background: #fff; color: var(--lpEscuro); border: 1px solid var(--lpBorda);
  font-size: 12px; font-weight: 600; box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
.lpPlanosSecao .plano-selo i { font-size: 10px; margin-right: 4px; color: var(--lpVerde); }
.lpPlanosSecao .plano-titulo { font-size: 22px; font-weight: 700; color: var(--lpTexto); margin: 4px 0 6px; }
.lpPlanoParaQuem { font-size: 14px; line-height: 1.5; color: var(--lpTextoMudo); margin: 0 0 20px; }
.lpPlanosSecao .valor-mensal { font-size: 22px; font-weight: 700; margin: 0 0 8px; color: var(--lpTexto); }
.lpPlanosSecao .plano-usuarios { font-size: 14px; color: var(--lpTextoSuave); margin-bottom: 20px; }
.lpPlanosSecao .plano-usuarios i { color: var(--lpTextoMudo); }
.lpPlanosSecao .plano-implantacao { border-top: 1px solid #f3f4f6; border-bottom: 1px solid #f3f4f6; padding: 16px 0; margin-bottom: 20px; }
.lpPlanosSecao .plano-implantacao p { margin: 0; }
.lpPlanosSecao .plano-implantacao .Impl { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--lpTextoMudo); margin-bottom: 4px; }
.lpPlanosSecao .plano-horas { font-size: 14px; color: var(--lpTexto); }
.lpPlanosSecao .plano-descricao { font-size: 14px; line-height: 1.55; color: #374151; margin-bottom: 28px; }
.lpPlanosSecao .plano-descricao > p { font-weight: 600; color: var(--lpTexto); margin-bottom: 8px; }
.lpPlanosSecao .plano-descricao li { padding-left: 24px; margin-bottom: 10px; }
.lpPlanosSecao .plano-descricao li::before { color: var(--lpVerde); top: 1px; }
.lpPlanosSecao .btn-plano {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 16px; border-radius: 8px; font-size: 14px; font-weight: 600;
  background: #f9fafb; color: #374151; border: 1px solid var(--lpBorda);
}
.lpPlanosSecao .btn-plano:hover { background: #f3f4f6; color: var(--lpTexto); }
.lpPlanosSecao .btn-plano i { font-size: 12px; transition: transform .2s; }
.lpPlanosSecao .btn-plano:hover i { transform: translateX(4px); }
/* card em destaque: fundo escuro, textos claros */
.lpPlanosSecao .destaque .plano-titulo, .lpPlanosSecao .destaque .plano-horas, .lpPlanosSecao .destaque .valor-mensal,
.lpPlanosSecao .destaque .plano-descricao > p { color: #fff; }
.lpPlanosSecao .destaque .lpPlanoParaQuem, .lpPlanosSecao .destaque .plano-usuarios,
.lpPlanosSecao .destaque .plano-implantacao .Impl { color: rgba(255,255,255,.6); }
.lpPlanosSecao .destaque .plano-descricao { color: rgba(255,255,255,.8); }
.lpPlanosSecao .destaque .plano-implantacao { border-color: rgba(255,255,255,.1); }
.lpPlanosSecao .destaque .plano-usuarios i { color: rgba(255,255,255,.6); }
.lpPlanosSecao .destaque .plano-descricao li::before { color: var(--lpVerdeClaro); }
.lpPlanosSecao .destaque .btn-plano { background: var(--lpVerde); color: #fff; border: 0; }
.lpPlanosSecao .destaque .btn-plano:hover { background: var(--lpVerdeHover); color: #fff; }

/* --- 5. Prova social (include compartilhado; só o visual muda aqui) --- */
.lpProva > .container.full { padding-top: 96px; padding-bottom: 72px; }
.lpProva h2 { font-size: 44px !important; font-weight: 400; line-height: 1.15; letter-spacing: -.01em; color: var(--lpTexto); margin-bottom: 48px; }
.lpProva h2 strong { font-weight: 700; color: var(--lpVerde); }
.lpProva .bdR40 { border-radius: 16px; overflow: hidden; border: 1px solid var(--lpBorda); box-shadow: 0 10px 25px -10px rgba(0,0,0,.2); }
.lpProva .bdR40 iframe { display: block; }
.lpProva .carousel img { filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
.lpProva .carousel img:hover { filter: none; opacity: 1; }
.lpProva .carousel-control { width: 40px; background: none !important; color: var(--lpTextoMudo); text-shadow: none; opacity: .6; }
.lpProva .carousel-control:hover { color: var(--lpVerde); opacity: 1; }

/* --- 6. FAQ --- */
.lpFaq { max-width: 760px; margin: 0 auto; }
.lpFaq .panel {
  background: #fff; border: 1px solid var(--lpBorda); border-radius: 12px !important;
  box-shadow: none; margin: 0 0 12px !important; transition: box-shadow .2s, border-color .2s;
}
.lpFaq .panel:has(.collapse.in) { border-color: #d1d5db; box-shadow: 0 4px 6px -1px rgba(0,0,0,.06); }
.lpFaq .panel-heading { background: transparent; border: 0; padding: 0; }
.lpFaq .panel-title { font-size: 16px; font-weight: 600; line-height: 1.4; margin: 0; }
.lpFaq .panel-title a {
  display: block; position: relative; padding: 20px 56px 20px 24px;
  color: var(--lpTexto); text-decoration: none; transition: color .2s;
}
.lpFaq .panel-title a:hover { color: var(--lpVerde); }
.lpFaq .panel-title a::after {
  content: ''; position: absolute; right: 24px; top: 50%; width: 9px; height: 9px; margin-top: -7px;
  border-right: 2px solid var(--lpTextoMudo); border-bottom: 2px solid var(--lpTextoMudo);
  transform: rotate(45deg); transition: transform .2s;
}
.lpFaq .panel-title a[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: -2px; }
.lpFaq .panel-body { border: 0 !important; padding: 0 24px 20px; font-size: 15px; line-height: 1.65; color: var(--lpTextoSuave); }

/* --- 7. CTA final: faixa escura --- */
.lpFinal { text-align: center; }
.lpFinal .lpSub { max-width: 640px; margin: 0 auto 36px; }

/* --- Celular: barra fixa, acima da faixa "Vendas" do rodapé --- */
.lpBarraMobile {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9997; padding: 10px 16px;
  background: rgba(255,255,255,.95); border-top: 1px solid var(--lpBorda); box-shadow: 0 -1px 8px rgba(0,0,0,.06);
  opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .3s, transform .3s, visibility .3s;
}
.lpBarraMobile.ativa { opacity: 1; visibility: visible; transform: translateY(0); }
.lpBarraMobile a {
  display: block; text-align: center; padding: 14px; border-radius: 8px;
  font-family: 'DM Sans', system-ui, sans-serif; font-size: 16px; font-weight: 600;
  background: #2f6b45; color: #fff; text-decoration: none;
}

/* --- Responsivo --- */
@media (max-width: 991px) {
  .lpHeroTitulo { font-size: 46px; }
}
@media (max-width: 767px) {
  .lpSecao { padding: 64px 0; }
  .lpCabecalho { margin-bottom: 40px; }
  .lpTitulo, .lpProva h2 { font-size: 30px !important; }
  .lpSub { font-size: 16px; }
  .lpHeroConteudo { padding-top: 56px; padding-bottom: 56px; }
  .lpHeroTitulo { font-size: 36px; }
  .lpHeroSub { font-size: 17px; margin-bottom: 32px; }
  .lpBotoes { flex-direction: column; }
  .lpBtn { width: 100%; text-align: center; }
  .lpHeroProva { margin-top: 40px; padding-top: 24px; }
  .lpVideoIcone { width: 64px; height: 64px; font-size: 22px; }
  .lpPlanosSecao .plano-item { margin-bottom: 32px; }
  .lpCard { padding: 28px 24px; }
}

/* Releitura editorial: base neutra e traços das cores do ERP. */
.lpPlanos { --lpAzul: #0eb6b6; --lpLima: #62bc52; --lpFundo: #f5f5f1; --lpTexto: #202c29; --lpEscuro: #172823; }
.lpPlanos section[id] { scroll-margin-top: 110px; }
.lpPlanos a:focus-visible, .lpPlanos button:focus-visible { outline: 3px solid #0c8a8a; outline-offset: 5px; }
.lpPlanos .lpSelo { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .16em; }
.lpPlanos .lpSelo::before { content: ''; width: 28px; height: 1px; background: linear-gradient(90deg, var(--lpAzul), var(--lpLima)); }
.lpPlanos .lpTitulo { font-weight: 500; letter-spacing: -.035em; }
.lpPlanos .lpTitulo strong { font-weight: 500; }
.lpPlanos .lpBtn { border-radius: 5px; padding: 17px 23px; font-size: 14px; }
.lpPlanos .lpHero { position: relative; overflow: hidden; background: #f8f9f5; }
.lpPlanos .lpHeroConteudo { position: relative; padding-top: 88px; padding-bottom: 32px; }
.lpPlanos .lpHeroGrid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; max-width: none; }
.lpPlanos .lpHeroTitulo { font-size: clamp(36px, 4vw, 56px); font-weight: 500; letter-spacing: -.045em; }
.lpPlanos .lpHeroTitulo strong { font-weight: 500; }
.lpPlanos .lpHeroSub { font-size: 17px; line-height: 1.8; margin-bottom: 28px; }
.lpPlanos .lpBotoes { display: flex; flex-wrap: wrap; gap: 12px; }
.lpPlanos .lpHeroVisual { position: relative; padding: 8px; background: #fff; border: 1px solid #dbe4df; border-radius: 12px; box-shadow: 0 28px 65px -30px rgba(23,40,35,.35); transform: none; min-width: 0; }
.lpPlanos .lpHeroVisual img { display: block; width: 100%; height: auto; border-radius: 4px; }
.lpPlanos .lpVisualLegenda { display: flex; align-items: center; gap: 9px; padding: 18px 12px 10px; font-size: 12px; color: #52635c; }
.lpPlanos .lpPonto { width: 6px; height: 6px; background: var(--lpLima); border-radius: 50%; flex-shrink: 0; }
.lpPlanos .lpVisualEtiqueta { position: absolute; right: 18px; bottom: -24px; padding: 14px 18px; background: var(--lpEscuro); color: #fff; font-size: 11px; border-left: 2px solid var(--lpAzul); transform: none; }
.lpPlanos .lpHeroProva { max-width: none; margin-top: 76px; padding-top: 24px; font-size: 13px; }
.lpPlanos .lpEditorialGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.lpPlanos .lpLink { display: inline-flex; gap: 24px; align-items: center; margin-top: 28px; padding-bottom: 9px; border-bottom: 1px solid #94b6a2; color: var(--lpVerde); font-size: 14px; font-weight: 600; text-decoration: none; }
.lpPlanos .lpLink span { color: #0c8a8a; font-size: 21px; }
.lpPlanos .lpOrbita { position: relative; min-height: 410px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 100px 48px; padding: 12px 0; }
.lpPlanos .lpOrbitaCentro { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; }
.lpPlanos .lpOrbitaCentro > span { display: block; font-size: 26px; font-weight: 700; letter-spacing: .08em; }
.lpPlanos .lpOrbitaCentro small { color: var(--lpTextoMudo); font-size: 11px; }
.lpPlanos .lpOrbitaItem { position: relative; background: #fff; padding: 10px; align-self: start; }
.lpPlanos .lpOrbitaItem > span { font-size: 10px; color: #0c8a8a; }
.lpPlanos .lpOrbitaItem h3 { margin: 8px 0; font-size: 16px; }
.lpPlanos .lpOrbitaItem p { font-size: 12px; line-height: 1.6; color: var(--lpTextoSuave); margin: 0; }
.lpPlanos .lpOrbitaItem3 { grid-column: 1 / -1; width: 55%; justify-self: center; align-self: end; text-align: center; }
.lpPlanos .lpVideo { border-radius: 8px; }
.lpPlanos .lpCards { border-top: 1px solid var(--lpBorda); padding-top: 30px; }
.lpPlanos .lpCard { border: 0; border-right: 1px solid var(--lpBorda); border-radius: 0; padding: 22px 30px; box-shadow: none; }
.lpPlanos .lpCards > div:last-child .lpCard { border-right: 0; }
.lpPlanos .lpCardNumero { font-size: 12px; color: #71887d; top: 25px; }
.lpPlanos .lpIcone { background: none; width: auto; justify-content: flex-start; color: #0c8a8a; }
.lpPlanos .lpCards > div:nth-child(2) .lpIcone { color: #4d9341; }
.lpPlanos .lpProduto { padding-top: 12px; }
.lpPlanos .lpProdutoImagem { min-width: 0; margin: 0; padding: 32px 20px 20px; border: 1px solid #dce5df; border-radius: 8px; background: linear-gradient(135deg, #edf5f1, #f5f7f6); position: relative; }
.lpPlanos .lpProdutoImagem::before { content: ''; position: absolute; top: -1px; left: 30px; width: 90px; height: 2px; background: linear-gradient(90deg,var(--lpAzul),var(--lpLima)); }
.lpPlanos .lpProdutoImagem img { display: block; width: 100%; height: auto; }
.lpPlanos .lpProdutoImagem figcaption { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #5d7067; padding-top: 24px; }
.lpPlanos .lpListaEditorial { list-style: none; margin: 28px 0 0; padding: 0; }
.lpPlanos .lpListaEditorial li { display: flex; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--lpBorda); font-size: 14px; color: var(--lpTextoSuave); }
.lpPlanos .lpListaEditorial li span { color: #0c8a8a; font-size: 11px; }
.lpPlanos .lpPlanosSecao { border-top: 1px solid #e1e6df; }
.lpPlanos .lpPlanosSecao .plano-box { position: relative; border-radius: 8px; box-shadow: none; }
.lpPlanos .lpPlanosSecao .plano-box.destaque { border-top: 3px solid var(--lpLima); box-shadow: 0 20px 45px -30px #172823; }
.lpPlanos .lpPlanosSecao .plano-selo { position: absolute; }
.lpPlanos .lpPassos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; list-style: none; padding: 0; margin: 0; }
.lpPlanos .lpPassos li { border-top: 1px solid #bdd6c8; padding-top: 24px; position: relative; }
.lpPlanos .lpPassos li::before { content: ''; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--lpAzul); }
.lpPlanos .lpPassoNumero { color: #758d80; font-size: 12px; letter-spacing: .1em; }
.lpPlanos .lpPassos h3 { font-size: 19px; margin: 20px 0 12px; }
.lpPlanos .lpPassos p { font-size: 15px; line-height: 1.75; color: var(--lpTextoSuave); }
.lpPlanos .lpProva { border-top: 1px solid var(--lpBorda); background: #fafbf8; }
.lpPlanos .lpFaqGrid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.lpPlanos .lpFaqGrid .lpCabecalho { text-align: left; margin: 0; }
.lpPlanos .lpFaq { width: 100%; }
.lpPlanos .lpFaq .panel { border-radius: 4px !important; }
.lpPlanos .lpFinal { position: relative; overflow: hidden; background: radial-gradient(ellipse at bottom left, rgba(14,182,182,.1), transparent 60%), var(--lpEscuro); }
.lpPlanos .lpFinal::before { content: ''; display: block; width: 90px; height: 1px; background: linear-gradient(90deg,var(--lpAzul),var(--lpLima)); margin: 0 auto 32px; }
@media (max-width: 1199px) {
  .lpPlanos .lpHeroGrid, .lpPlanos .lpEditorialGrid { gap: 40px; }
}
@media (max-width: 991px) {
  .lpPlanos .lpHeroGrid, .lpPlanos .lpEditorialGrid, .lpPlanos .lpDemoGrid, .lpPlanos .lpFaqGrid { grid-template-columns: 1fr; gap: 40px; }
  .lpPlanos .lpHeroVisual { max-width: 620px; width: 100%; margin: 0 auto; transform: none; }
  .lpPlanos .lpVisualEtiqueta { transform: none; }
  .lpPlanos .lpOrbita { max-width: 500px; width: 100%; margin: auto; }
  .lpPlanos .lpCard { border-right: 0; border-bottom: 1px solid var(--lpBorda); }
  .lpPlanos .lpProdutoImagem { max-width: 620px; width: 100%; margin: auto; }
}
@media (max-width: 767px) {
  .lpPlanos .lpHeroConteudo { padding-top: 48px; }
  .lpPlanos .lpHeroProva { margin-top: 52px; }
  .lpPlanos .lpHeroVisual { margin-top: 10px; }
  .lpPlanos .lpEditorialGrid, .lpPlanos .lpFaqGrid { gap: 32px; }
  .lpPlanos .lpOrbita { gap: 100px 24px; min-height: 390px; }
  .lpPlanos .lpOrbitaItem3 { width: 75%; }
  .lpPlanos .lpPassos { grid-template-columns: 1fr; gap: 28px; }
  .lpPlanos .lpProduto { padding-top: 0; }
  .lpPlanos .lpVisualLegenda { font-size: 11px; }
  .lpPlanos .lpProva > .container.full { padding-top: 60px; padding-bottom: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .lpPlanos *, .lpPlanos *::before, .lpPlanos *::after { transition: none !important; }
}

/* Bootstrap clearfix must not become an implicit item in CSS grids. */
.lpPlanos .lpHeroConteudo::before, .lpPlanos .lpHeroConteudo::after,
.lpPlanos .lpEditorialGrid::before, .lpPlanos .lpEditorialGrid::after,
.lpPlanos .lpFaqGrid::before, .lpPlanos .lpFaqGrid::after { display: none; }
.lpPlanos .lpMarcaTracos { position: absolute; width: 700px; max-width: 65%; height: auto; right: max(0px, calc((100vw - 1300px) / 2)); top: 0; opacity: .24; pointer-events: none; }
.lpPlanos .lpHeroVisual { padding: 0; background: transparent; border: 0; box-shadow: none; }
.lpPlanos .lpMonitor { position: relative; border: 1px solid #c9d2ce; border-radius: 15px; padding: 11px 11px 0; background: linear-gradient(140deg,#fff,#e7ece9); box-shadow: 0 20px 45px -25px rgba(23,40,35,.4); }
.lpPlanos .lpMonitor .lpVideo { border: 5px solid #20332e; border-radius: 7px; box-shadow: none; scroll-margin-top: 120px; }
.lpPlanos .lpMonitor .lpVideoPlay img { height: 100%; border-radius: 0; object-fit: cover; }
.lpPlanos .lpMonitorQueixo { padding: 13px 0; text-align: center; color: #6a7e73; font-size: 9px; letter-spacing: .24em; }
.lpPlanos .lpMonitorBase { width: 35%; height: 49px; position: relative; margin: 0 auto 16px; border-bottom: 7px solid #c3cdc7; border-radius: 0 0 45% 45%; }
.lpPlanos .lpMonitorBase::before { content: ''; position: absolute; width: 35%; height: 42px; top: 0; left: 32.5%; background: linear-gradient(#a4b3aa,#e0e6e2); clip-path: polygon(15% 0,85% 0,100% 100%,0 100%); }
.lpPlanos .lpVisualLegenda { justify-content: center; padding: 10px 0; }
.lpPlanos .lpVisualEtiqueta { position: static; display: table; margin: 4px auto 0; padding: 8px 12px; background: transparent; color: #52635c; border-left: 1px solid var(--lpAzul); }
.lpPlanos .lpOrbita { display: block; min-height: 470px; padding: 0; isolation: isolate; }
.lpPlanos .lpCiclo { position: absolute; width: 330px; height: 330px; max-width: 90%; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: -1; }
.lpPlanos .lpOrbitaCentro { width: 150px; }
.lpPlanos .lpOrbitaCentro > span { font-family: 'DM Sans',sans-serif; color: #2f6b45; }
.lpPlanos .lpOrbitaItem { position: absolute; width: 43%; padding: 10px 12px; background: #fff; border-top: 1px solid #badbca; }
.lpPlanos .lpOrbitaItem1 { left: 0; top: 0; }
.lpPlanos .lpOrbitaItem2 { right: 0; top: 0; border-color: #9bdbd9; }
.lpPlanos .lpOrbitaItem3 { bottom: 0; left: 20%; width: 60%; text-align: center; }
@media (max-width: 767px) {
  .lpPlanos .lpMarcaTracos { top: auto; bottom: 30px; max-width: 100%; width: 500px; right: -70px; opacity: .18; }
  .lpPlanos .lpOrbita { min-height: 460px; }
  .lpPlanos .lpCiclo { width: 300px; height: 300px; }
  .lpPlanos .lpOrbitaItem { padding: 8px; }
  .lpPlanos .lpMonitor { padding: 7px 7px 0; border-radius: 10px; }
  .lpPlanos .lpMonitor .lpVideo { border-width: 3px; }
}

/* Refinamento aprovado: fluxo luminoso somente no pontilhado do ciclo. */
.lpPlanos .lpCicloFluxo { animation: lpFluxoPontilhado 8s linear infinite; }
@keyframes lpFluxoPontilhado { to { stroke-dashoffset: -110; } }
@media (prefers-reduced-motion: reduce) {
  .lpPlanos .lpCicloFluxo { animation: none; }
}

/* Ajustes editoriais: transição leve e informações comerciais. */
.lpPlanos .lpResolve { position: relative; background: linear-gradient(180deg, #f8f9f5 0%, #fff 80%); }
.lpPlanos .lpResolve::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(240px, 45%); height: 1px; background: linear-gradient(90deg, transparent, var(--lpAzul), var(--lpLima), transparent); }
.lpPlanos .lpPlanosPreco { margin: 20px 0 0; font-size: 15px; line-height: 1.65; color: var(--lpTextoSuave); }
.lpPlanos .lpPlanosPreco strong { color: var(--lpVerde); font-weight: 600; }
.lpPlanos .lpFaq .panel-body p:last-child { margin-bottom: 0; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .lpPlanos .lpProva h2 strong { background: linear-gradient(90deg, #2f6b45, #0c8a8a); -webkit-background-clip: text; background-clip: text; color: transparent; }
}

/* Rodada exclusiva de desktop. As variantes mobile conservam a copy anterior. */
.lpPlanos .lpDesktopCopy { display: none; }
.lpPlanos .lpListaEditorial .lpProdutoItemTexto { color: inherit; font-size: inherit; }
@media (min-width: 992px) {
  .lpPlanos .lpDesktopCopy { display: inline; }
  .lpPlanos .lpMobileCopy,
  .lpPlanos .lpDesktopOcultar { display: none; }
  .lpPlanos .lpHeroProva .lpProvaLinha { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
  .lpPlanos .lpHeroProva strong { font-size: inherit; margin: 0; }
  .lpPlanos .lpHeroProva .fa-check { color: var(--lpVerde); font-size: 11px; }
  .lpPlanos .plano-implantacao { border: 0; padding: 0; }
  .lpPlanos .plano-implantacao .Impl i { margin-right: 6px; color: var(--lpVerde); }
  .lpPlanos .destaque .plano-implantacao .Impl i { color: var(--lpVerdeClaro); }
  .lpPlanos .plano-descricao { border-top: 1px solid var(--lpBorda); margin-top: 20px; padding-top: 20px; }
  .lpPlanos .destaque .plano-descricao { border-top-color: rgba(255,255,255,.1); }
}

/* Correções pontuais da revisão desktop: restauração de conteúdo e hierarquia. */
@media (min-width: 992px) {
  .lpPlanos .lpHero .lpSelo::before { flex: 0 0 28px; }
  .lpPlanos .lpTituloPlanosDesktop { display: block; font-weight: 700; }
}

/* Mobile: mesma copy aprovada e hierarquia título > visual > complemento. */
.lpPlanos .lpVejaTelasMobile { display: none; }
@media (max-width: 991px) {
  .lpPlanos .lpDesktopCopy { display: inline; }
  .lpPlanos .lpMobileCopy, .lpPlanos .lpDesktopOcultar { display: none; }
  .lpPlanos .lpHero .lpSelo::before { flex: 0 0 28px; }
  .lpPlanos .lpHeroTexto { min-width: 0; }
  .lpPlanos .lpHeroTexto .lpHeroVisual { margin: 0 auto 24px; }
  .lpPlanos .lpHeroTexto .lpHeroSub { margin-bottom: 12px; }
  .lpPlanos .lpVejaTelasMobile { display: inline-flex; margin: 0 0 24px; }
  .lpPlanos .lpHeroProva .lpProvaLinha { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
  .lpPlanos .lpHeroProva strong { font-size: inherit; margin: 0; }
  .lpPlanos .lpHeroProva .fa-check { color: var(--lpVerde); font-size: 11px; }
  .lpPlanos .lpProduto .lpProdutoImagem { margin: 0 auto 24px; }
  .lpPlanos .lpProduto .lpListaEditorial { display: flex; gap: 20px; margin-top: 20px; }
  .lpPlanos .lpProduto .lpListaEditorial li { flex: 1; padding: 10px 0; }
  .lpPlanos .lpProduto .lpProdutoItemTexto { display: none; }
  .lpPlanos .lpMetodo .lpOrbita { margin-bottom: 24px; }
  .lpPlanos .lpTituloPlanosDesktop { display: block; font-weight: 700; }
  .lpPlanos .plano-implantacao { border: 0; padding: 0; }
  .lpPlanos .plano-implantacao .Impl i { margin-right: 6px; color: var(--lpVerde); }
  .lpPlanos .destaque .plano-implantacao .Impl i { color: var(--lpVerdeClaro); }
  .lpPlanos .plano-descricao { border-top: 1px solid var(--lpBorda); margin-top: 20px; padding-top: 20px; }
  .lpPlanos .destaque .plano-descricao { border-top-color: rgba(255,255,255,.1); }
}

/* Revisão mobile: grafismo preso ao monitor, tópicos legíveis e transições leves. */
.lpPlanos .lpMarcaTracosMobile { display: none; }
@media (max-width: 991px) {
  .lpPlanos .lpHero > .lpMarcaTracos { display: none; }
  .lpPlanos .lpHeroVisual { isolation: isolate; }
  .lpPlanos .lpMarcaTracosMobile { display: block; position: absolute; top: -20px; right: -10px; width: 100%; height: 80%; opacity: .18; z-index: -1; pointer-events: none; }
  .lpPlanos .lpResolve { display: none; }
  .lpPlanos .lpProduto .lpListaEditorial { display: block; margin-top: 24px; }
  .lpPlanos .lpProduto .lpListaEditorial li { display: flex; gap: 14px; padding: 14px 0; }
  .lpPlanos .lpProduto .lpProdutoItemTexto { display: block; flex: 1; }
  .lpPlanos .lpProduto .lpProdutoNumero { flex: 0 0 22px; padding-top: 2px; }
  .lpPlanos .lpSecao { padding-top: 72px; padding-bottom: 72px; }
  .lpPlanos .lpHeroConteudo { padding-bottom: 48px; }
  .lpPlanos .lpProva > .container.full { padding-top: 72px; padding-bottom: 72px; }
  .lpPlanos > section { position: relative; border-top: 0; border-bottom: 0; }
  .lpPlanos > section:not(.lpHero)::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(240px, 60%); height: 1px; background: linear-gradient(90deg, transparent, rgba(14,182,182,.35), rgba(98,188,82,.35), transparent); pointer-events: none; }
  .lpPlanos .lpProduto, .lpPlanos .lpCaminho, .lpPlanos .lpMetodo { background: linear-gradient(180deg, #f8f9f5 0, #fff 72px); }
  .lpPlanos .lpSelo::before { flex: 0 0 28px; }
  .lpPlanos .lpFaqSecao .lpCabecalho::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 16px; background: linear-gradient(90deg, var(--lpAzul), var(--lpLima)); }
}
