/* =====================
   Base & Resets
   ===================== */
   
   /* Containers com mesmo padrÃ£o */
   .container-cabecalho,
   .container-hero,
   .container-cta,
   .container-solucoes,
   .container-faq,
   .container-footer { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
   
   /* =====================
      Header / CabeÃ§alho
      ===================== */
   .cabecalho { position: fixed; top: 0; left: 0; right: 0; background: #0000002f; backdrop-filter: blur(20px); z-index: 1000; padding: 15px 0; }
   .container-cabecalho { display: flex; justify-content: space-between; align-items: center; }
   .logo { display: flex; align-items: center; gap: 10px; }
   .texto-logo a { font-size: var(--f5); font-weight: bold; color: var(--cor-branco); text-decoration: none; }
   
   .botoes-cabecalho { display: flex; gap: 15px; align-items: center; }
   .botao-secundario { background: transparent; color: var(--cor-branco); border: 1px solid #222; padding: 10px 20px; border-radius: 25px; cursor: pointer; font-size: var(--f1); transition: all 0.3s ease; }
   .botao-secundario:hover { border-color: var(--cor-azul); color: var(--cor-azul); }
   .botao-primario { background: linear-gradient(45deg, var(--cor-azul), #0066FF); color: var(--cor-branco); border: none; padding: 10px 20px; border-radius: 25px; cursor: pointer; font-size: var(--f1); font-weight: 600; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(8, 90, 238, 0.3); }
   .botao-primario:hover { box-shadow: 0 6px 25px rgba(8, 90, 238, 0.5); }
   
   /* =====================
      Hero
      ===================== */
   .hero { min-height: 100vh; display: flex; align-items: center; position: relative; padding-top: 80px; }
   .container-hero { align-items: center; }
   .conteudo-hero { animation: slideInLeft 1s ease-out; }
   .texto-invisivel { color: #222; font-family: var(--inter)}
   
   /* TÃ­tulos compartilhados */
   .titulo-principal,
   .titulo-cta,
   .titulo-solucoes,
   .titulo-faq { font-weight: 300; line-height: 1.2; color: var(--cor-branco); margin: 0; }
   
   .titulo-principal { font-size: 3.5rem; margin-bottom: 20px; text-align: center; line-height: 1; }
   .titulo-cta, .titulo-solucoes, .titulo-faq { font-size: 3.2rem; }
   
   /* Gradiente de texto (unificado) */
   .texto-azul { color: var(--cor-azul); }
   
   .subtitulo { font-size: 1.1rem; color: var(--cor-branco); line-height: 1.6; margin-bottom: 30px; text-align: center; }
   
   .linhas-codigo { position: absolute; top: 20px; right: 20px; width: 100px; height: 80px; }
   .linhas-codigo::before,
   .linhas-codigo::after { content: ''; position: absolute; width: 80px; height: 2px; background: var(--cor-azul); opacity: 0.6; }
   .linhas-codigo::before { top: 10px; animation: slideCode 2s infinite; }
   .linhas-codigo::after { top: 25px; width: 60px; animation: slideCode 2s infinite 0.5s; }
   
   /* Elementos decorativos base */
   .elementos-decorativos { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
   
   /* PartÃ­cula (definiÃ§Ã£o Ãºnica, reutilizada em todas as seÃ§Ãµes) */
   .particula { position: absolute; width: 4px; height: 4px; background: var(--cor-azul); border-radius: 50%; opacity: 0.6; }
   /* Hero posicionamentos */
   .particula-1 { top: 20%; left: 10%; animation: float 6s infinite; }
   .particula-2 { top: 60%; right: 15%; animation: float 8s infinite reverse; }
   .particula-3 { bottom: 30%; left: 20%; animation: float 10s infinite; }
   
   /* =====================
      CTA
      ===================== */
   .cta { padding: 120px 0; position: relative; overflow: hidden; }
   .conteudo-cta { display: flex; justify-content: space-between; align-items: center; gap: 0; }
   .subtitulo-cta { font-size: 1.1rem; color: var(--cor-branco); line-height: 1.6; margin: 0; text-align: right; }
   
   .botao-cta { position: relative; background: transparent; border: 2px solid var(--cor-azul); color: var(--cor-branco); padding: 8px; border-radius: 50px; cursor: pointer; font-size: var(--f2); display: flex; align-items: center; gap: 12px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; text-decoration: none; min-width: 220px; justify-content: center; box-shadow: 0 0 30px rgba(8, 90, 238, 0.3); }
   .botao-cta::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent); transition: left 0.6s ease; }
   .botao-cta:hover::before { left: 100%; }
   .efeito-hover { position: absolute; inset: 0; background: linear-gradient(45deg, var(--cor-azul), var(--cor-azul)); opacity: 0; transition: opacity 0.3s ease; border-radius: 50px; z-index: -1; }
   .botao-cta:hover { color: var(--cor-branco); border-color: var(--cor-azul); box-shadow: 0 10px 40px rgba(8, 90, 238, 0.6); }
   .botao-cta:hover .efeito-hover { opacity: 1; }
   .botao-cta:hover .seta-botao { transform: translateX(5px); }
   .botao-cta:active { transform: translateY(4px); }
   .texto-botao { font-family: var(--bold) }
   .texto-botao, .seta-botao { position: relative; z-index: 2; }
   
   .decoracao-cta { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
   .linha-decorativa { position: absolute; background: linear-gradient(90deg, transparent, var(--cor-azul), transparent); height: 1px; opacity: 0.3; animation: linhaPulsante 4s infinite; }
   .linha-1 { top: 25%; left: 0; width: 40%; }
   .linha-2 { bottom: 35%; right: 0; width: 30%; animation-delay: 2s; }
   .ponto-luminoso { position: absolute; width: 6px; height: 6px; background: var(--cor-azul); border-radius: 50%; opacity: 0.6; animation: pontoFlutuante 6s infinite; box-shadow: 0 0 20px var(--cor-azul); }
   .ponto-1 { top: 20%; left: 15%; }
   .ponto-2 { bottom: 25%; right: 20%; animation-delay: 3s; }
   
   /* =====================
      SoluÃ§Ãµes
      ===================== */
   .solucoes { padding: 120px 0; background: var(--cor-preto); position: relative; overflow: hidden; }
   .header-solucoes { text-align: center; margin-bottom: 80px; }
   
   /* Badges com mesmo estilo */
   .badge-conteudo,
   .badge-faq { display: inline-block; padding: 8px 20px; background: rgba(21,21,21,0.8); border: 1px solid var(--cor-cinza); border-radius: 20px; color: #ccc; font-size: var(--f1); margin-bottom: 20px; }
   
   .subtitulo-solucoes { font-size: 1.1rem; color: var(--cor-cinza); margin: 0; }
   
   .grid-modulos { display: flex; flex-direction: column; gap: 60px; }
   .card-modulo { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; background: linear-gradient(135deg, rgba(21,21,21,0.3), rgba(8,90,238,0.05)); border: 1px solid var(--cor-azul-escuro); border-radius: 20px; padding: 40px; position: relative; transition: all 0.3s ease; }
   .card-modulo:hover { border-color: var(--cor-azul); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }
   
   .visual-modulo { position: relative; display: flex; justify-content: center; align-items: center; height: 300px; }
   
   /* MÃ³dulos especÃ­ficos (mantidos) */
   .tela-codigo { width: 280px; height: 200px; background: linear-gradient(135deg, #1a1a1a, #0f0f0f); border-radius: 10px; border: 1px solid var(--cor-cinza); overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
   .header-tela { background: #1f1f1f; padding: 10px 15px; border-bottom: 1px solid var(--cor-cinza); display: flex; align-items: center; }
   .botoes-tela { display: flex; gap: 8px; }
   .botao-tela { width: 12px; height: 12px; border-radius: 50%; }
   .vermelho { background: #ff5f56; } .amarelo { background: #ffbd2e; } .verde { background: #27ca3f; }
   .conteudo-codigo { padding: 15px; }
   
   /* Mod 2 */
   .dois-header { background-color: #333; border-radius: 10px; display: flex; gap: 1rem; font-size: 9px; justify-content: space-between; padding: 10px; color: #bbb; }
   .dois-nav { display: flex; gap: 5px; }
   .dois-hero { display: flex; margin-top: 15px; justify-content: space-between; }
   .dois-img { background: linear-gradient(45deg, #222, #555); width: 50%; height: 80px; border-radius: 10px; }
   .dois-txt { display: flex; flex-direction: column; gap: 10px; }
   .dois-txt p { font-size: 8px; width: 100px; height: 10px; text-align: right; color: #bbb; }
   
   /* Mod 3 */
   .tres-header { background-color: #9bffc8; border-radius: 5px; display: flex; gap: 1rem; font-size: 9px; justify-content: space-between; padding: 4px 10px; color: #000; }
   .tres-nav { display: flex; gap: 5px; }
   .tres-hero { display: flex; flex-direction: column; gap: 10px; margin-top: 15px; justify-content: space-between; }
   .tres-hero p { font-size: 10px; margin-left: 5px; }
   .tres-categorias { width: 100%; display: flex; justify-content: space-between; }
   .tres-hero .cat { width: 30px; height: 30px; border-radius: 5px; }
   .tres-hero .um { background-color: rgb(255, 80, 80); }
   .tres-hero .dois { background-color: rgb(102, 102, 255); }
   .tres-hero .tres { background-color: rgb(228, 158, 228); }
   .tres-hero .quatro { background-color: rgb(206, 255, 133); }
   .tres-hero .cinco { background-color: rgb(255, 192, 133); }
   .tres-hero .seis { background-color: rgb(133, 255, 229); }
   .tres-txt p { font-size: 8px; width: 100px; height: 10px; text-align: right; color: #bbb; }
   
   /* Dashboard (Mod 4) */
   .dashboard-container { width: 300px; height: 220px; background: linear-gradient(135deg, #0a0a0a, #1a1a1a); border-radius: 10px; border: 1px solid var(--cor-cinza); overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.5); padding: 15px; }
   .dashboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid var(--cor-cinza); }
   .logo-ads { color: var(--cor-azul); font-weight: bold; font-size: var(--f1); }
   .status-live { color: #6aff56; font-size: 12px; animation: piscarLive 2s infinite; }
   .metricas-dashboard { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 15px; }
   .metrica { text-align: center; }
   .valor-metrica { display: block; color: var(--cor-azul); font-weight: bold; font-size: var(--f2); }
   .label-metrica { display: block; color: #ccc; font-size: 11px; margin-top: 2px; }
   .grafico-barras { display: flex; align-items: end; justify-content: space-between; height: 60px; gap: 8px; }
   .barra { width: 30px; background: linear-gradient(0deg, var(--cor-azul), var(--cor-azul)); border-radius: 2px 2px 0 0; animation: crescerBarra 2s ease-in-out infinite; opacity: 0.8; }
   .barra:nth-child(1){animation-delay:0s}.barra:nth-child(2){animation-delay:0.2s}.barra:nth-child(3){animation-delay:0.4s}.barra:nth-child(4){animation-delay:0.6s}.barra:nth-child(5){animation-delay:0.8s}
   .efeito-4 { bottom: -20px; left: -30px; width: 120px; height: 120px; background: radial-gradient(circle, var(--cor-azul), transparent); animation-delay: 3s; }
   
   /* ConteÃºdo texto do mÃ³dulo */
   .conteudo-modulo { padding: 20px 0; }
   .numero-modulo { display: inline-block; padding: 6px 12px; background: rgba(8,90,238,0.2); border: 1px solid var(--cor-azul); border-radius: 15px; color: var(--cor-azul); font-size: 12px; font-weight: 600; margin-bottom: 15px; }
   .titulo-modulo { font-size: 1.8rem; font-weight: 600; color: var(--cor-branco); margin: 0 0 15px 0; }
   .descricao-modulo { color: var(--cor-cinza); line-height: 1.6; font-size: 15px; margin: 0; }
   
   /* Efeitos luminosos / partÃ­culas SoluÃ§Ãµes */
   .efeito-luminoso { position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.3; animation: pulsarLuz 4s ease-in-out infinite; }
   .efeito-1 { top: -20px; right: -20px; width: 100px; height: 100px; background: radial-gradient(circle, var(--cor-azul), transparent); }
   .efeito-2 { top: 50%; left: -30px; width: 80px; height: 80px; background: radial-gradient(circle, var(--cor-azul), transparent); animation-delay: 1s; }
   .efeito-3 { bottom: -20px; right: -20px; width: 120px; height: 120px; background: radial-gradient(circle, var(--cor-azul), transparent); animation-delay: 2s; }
   
   .particulas-flutuantes { position: absolute; inset: 0; pointer-events: none; }
   /* Nas soluÃ§Ãµes usamos a mesma base .particula; apenas garantimos animaÃ§Ã£o aqui */
   .solucoes .particula { animation: flutuar 8s infinite linear; }
   .solucoes .particula:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
   .solucoes .particula:nth-child(2) { top: 60%; right: 15%; animation-delay: 2s; }
   .solucoes .particula:nth-child(3) { bottom: 30%; left: 70%; animation-delay: 4s; }
   
   .decoracao-fundo { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
   .linha-conectora { position: absolute; background: linear-gradient(45deg, transparent, rgba(8,90,238,0.2), transparent); height: 1px; opacity: 0.5; animation: linhaConectora 6s infinite; }
   .linha-1 { top: 30%; left: 10%; width: 200px; transform: rotate(15deg); }
   .linha-2 { bottom: 40%; right: 10%; width: 150px; transform: rotate(-15deg); animation-delay: 3s; }
   .ponto-conexao { position: absolute; width: 8px; height: 8px; background: var(--cor-azul); border-radius: 50%; box-shadow: 0 0 20px var(--cor-azul); animation: pontoConexao 4s infinite; }
   .ponto-1 { top: 25%; left: 5%; }
   .ponto-2 { bottom: 35%; right: 8%; animation-delay: 2s; }
   
   /* =====================
      FAQ
      ===================== */
   .faq { padding: 120px 0; background: var(--cor-preto); position: relative; overflow: hidden; }
   .header-faq { text-align: center; margin-bottom: 80px; }
   
   .grid-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 80px; }
   .coluna-faq { display: flex; flex-direction: column; gap: 20px; }
   
   .faq-item { background: linear-gradient(135deg, rgba(21,21,21,0.4), rgba(8,90,238,0.05)); border: 1px solid rgba(21,21,21,0.8); border-radius: 15px; overflow: hidden; transition: all 0.4s ease; opacity: 0; transform: translateY(30px); animation: aparecerFaq 0.6s ease forwards; }
   .faq-item:hover { border-color: rgba(8,90,238,0.3); box-shadow: 0 10px 30px rgba(0,0,0,0.2); transform: translateY(-3px); }
   .faq-item.ativo { border-color: var(--cor-azul); box-shadow: 0 15px 40px rgba(8,90,238,0.2); }
   .faq-item:nth-child(1){animation-delay:.1s}.faq-item:nth-child(2){animation-delay:.2s}.faq-item:nth-child(3){animation-delay:.3s}.faq-item:nth-child(4){animation-delay:.4s}.faq-item:nth-child(5){animation-delay:.5s}
   
   .faq-pergunta { padding: 25px; display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; cursor: pointer; user-select: none; }
   .titulo-pergunta { font-size: 1.1rem; font-weight: 600; color: var(--cor-branco); margin: 0; line-height: 1.4; flex: 1; }
   .botao-expandir { background: rgba(8,90,238,0.1); border: 1px solid rgba(8,90,238,0.3); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; flex-shrink: 0; }
   .botao-expandir:hover { background: rgba(8,90,238,0.2); border-color: var(--cor-azul); transform: scale(1.05); }
   .icone-seta { color: var(--cor-azul); transition: transform 0.3s ease; }
   .faq-item.ativo .icone-seta { transform: rotate(180deg); }
   .faq-item.ativo .botao-expandir { background: var(--cor-azul); border-color: var(--cor-azul); }
   .faq-item.ativo .icone-seta { color: var(--cor-branco); }
   
   .faq-resposta { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; }
   .faq-item.ativo .faq-resposta { max-height: 300px; padding: 0 25px 25px; }
   .conteudo-resposta { padding-top: 10px; border-top: 1px solid rgba(8,90,238,0.1); }
   .conteudo-resposta p { color: var(--cor-cinza); line-height: 1.6; margin: 0; font-size: var(--f1); }
   
   /* CTA FAQ */
   .cta-faq { background: linear-gradient(135deg, rgba(8,90,238,0.1), rgba(21,21,21,0.5)); border: 1px solid rgba(8,90,238,0.2); border-radius: 20px; padding: 50px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
   .titulo-cta-faq { font-size: 1.8rem; font-weight: 600; color: var(--cor-branco); margin: 0 0 10px 0; }
   .subtitulo-cta-faq { color: var(--cor-cinza); margin: 0 0 25px 0; font-size: 15px; }
   .botoes-cta-faq { display: flex; gap: 15px; align-items: center; }
   .botao-whatsapp { font-family: var(--bold); background: linear-gradient(45deg, #25D366, #128C7E); border: none; color: var(--cor-branco); padding: 12px 25px; border-radius: 25px; cursor: pointer; font-size: var(--f1); font-weight: 600; display: flex; align-items: center; gap: 8px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(37,211,102,0.3); }
   .botao-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 6px 25px rgba(37,211,102,0.5); }
   .ilustracao-faq { display: flex; align-items: center; justify-content: center; position: relative; }
   .icone-faq { color: var(--cor-azul); font-size: 80px; animation: flutuarFaq 4s ease-in-out infinite; }
   .ponto-interrogacao-animado { position: absolute; font-size: 30px; color: var(--cor-azul); opacity: 0.6; animation: pulsarInterrogacao 2s ease-in-out infinite; top: -10px; right: -10px; }
   
   /* DecoraÃ§Ã£o FAQ */
   .decoracao-faq { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
   .linha-decorativa-faq { position: absolute; background: linear-gradient(45deg, transparent, rgba(8,90,238,0.2), transparent); height: 1px; opacity: 0.4; animation: linhaFaq 10s infinite; }
   .linha-faq-1 { top: 15%; left: 5%; width: 250px; transform: rotate(30deg); }
   .linha-faq-2 { bottom: 25%; right: 8%; width: 200px; transform: rotate(-30deg); animation-delay: 5s; }
   .ponto-luminoso-faq { position: absolute; width: 6px; height: 6px; background: var(--cor-azul); border-radius: 50%; box-shadow: 0 0 20px var(--cor-azul); animation: pontoFaq 8s infinite; }
   .ponto-faq-1 { top: 20%; left: 12%; }
   .ponto-faq-2 { top: 60%; right: 15%; animation-delay: 3s; }
   .ponto-faq-3 { bottom: 30%; left: 8%; animation-delay: 6s; }
   
   /* Estados/Loading */
   .faq-item.carregando .conteudo-resposta { position: relative; }
   .faq-item.carregando .conteudo-resposta::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--cor-azul), transparent); animation: carregandoFaq 1.5s infinite; }
   
   /* =====================
      Footer
      ===================== */
   
   .separador-footer { height: 1px; background: linear-gradient(90deg, transparent, rgba(8,90,238,1), transparent); margin: 0 0 30px 0; opacity: 0.5; }
   .bottom-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 30px; }
   .copyright p { color: #666; font-size: 13px; margin: 0; }
   .links-legais { display: flex; align-items: center; gap: 15px; }
   .link-legal { color: #666; text-decoration: none; font-size: 13px; transition: color 0.3s ease; }
   .link-legal:hover { color: var(--cor-azul); }
   
   .decoracao-footer { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
   .linha-decorativa-footer { position: absolute; top: 40%; right: 5%; width: 150px; height: 1px; background: linear-gradient(90deg, transparent, rgba(8,90,238,0.2), transparent); transform: rotate(25deg); opacity: 0.3; animation: linhaFooter 8s infinite; }
   .ponto-decorativo-footer { position: absolute; top: 60%; left: 8%; width: 4px; height: 4px; background: var(--cor-azul); border-radius: 50%; opacity: 0.4; box-shadow: 0 0 15px rgba(8,90,238,0.3); animation: pontoFooter 6s infinite; }
   
   /* =====================
      Keyframes (Ãºnica fonte da verdade)
      ===================== */
   @keyframes slideInLeft { from { opacity: 0; transform: translateX(-100px);} to { opacity: 1; transform: translateX(0);} }
   @keyframes slideInRight { from { opacity: 0; transform: translateX(100px);} to { opacity: 1; transform: translateX(0);} }
   @keyframes pulseNeon { 0%,100%{opacity:.3;transform:translate(-50%,-50%) scale(1);} 50%{opacity:.6;transform:translate(-50%,-50%) scale(1.05);} }
   @keyframes slideCode { 0%{width:0;opacity:0;} 50%{opacity:1;} 100%{width:80px;opacity:0;} }
   @keyframes float { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-20px);} }
   @keyframes gradienteAnimado { 0%,100%{ background-position: 0% 50%; } 50%{ background-position: 100% 50%; } }
   @keyframes linhaPulsante { 0%,100%{ opacity:.1; transform: scaleX(0);} 50%{ opacity:.4; transform: scaleX(1);} }
   @keyframes pontoFlutuante { 0%,100%{ transform: translateY(0) scale(1); opacity:.6;} 50%{ transform: translateY(-15px) scale(1.2); opacity:1;} }
   @keyframes ripple { to { transform: scale(2); opacity: 0; } }
   @keyframes piscarLive { 0%,50%{opacity:1;} 51%,100%{opacity:.3;} }
   @keyframes crescerBarra { 0%,100%{ transform: scaleY(.8); opacity:.6;} 50%{ transform: scaleY(1.1); opacity:1;} }
   @keyframes pulsarLuz { 0%,100%{ opacity:.2; transform: scale(1);} 50%{ opacity:.4; transform: scale(1.1);} }
   @keyframes flutuar { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-20px);} }
   @keyframes linhaConectora { 0%,100%{ opacity:0; transform: scaleX(0);} 50%{ opacity:.5; transform: scaleX(1);} }
   @keyframes pontoConexao { 0%,100%{ opacity:.6; transform: scale(1);} 50%{ opacity:1; transform: scale(1.3);} }
   @keyframes gradienteFaq { 0%,100%{ background-position: 0% 50%; } 50%{ background-position: 100% 50%; } }
   @keyframes flutuarFaq { 0%,100%{ transform: translateY(0) rotate(0);} 50%{ transform: translateY(-15px) rotate(10deg);} }
   @keyframes pulsarInterrogacao { 0%,100%{ opacity:.6; transform: scale(1);} 50%{ opacity:1; transform: scale(1.2);} }
   @keyframes linhaFaq { 0%,100%{ opacity:.2; transform: scaleX(0);} 50%{ opacity:.6; transform: scaleX(1);} }
   @keyframes pontoFaq { 0%,100%{ opacity:.4; transform: scale(1);} 50%{ opacity:1; transform: scale(1.5);} }
   @keyframes aparecerFaq { from { opacity: 0; transform: translateY(30px);} to { opacity: 1; transform: translateY(0);} }
   @keyframes carregandoFaq { 0% { transform: translateX(-100%);} 100% { transform: translateX(100%);} }
   @keyframes linhaFooter { 0%,100%{ opacity:.2; transform: rotate(25deg) scaleX(.5);} 50%{ opacity:.4; transform: rotate(25deg) scaleX(1);} }
   @keyframes pontoFooter { 0%,100%{ opacity:.3; transform: scale(1);} 50%{ opacity:.6; transform: scale(1.2);} }
   @keyframes girarConfig { from { transform: rotate(0);} to { transform: rotate(360deg);} }
   @keyframes aparecerMensagem { from { opacity: 0; transform: translateY(10px) scale(.9);} to { opacity: 1; transform: translateY(0) scale(1);} }
   @keyframes girarEngrenagem { from { transform: rotate(0);} to { transform: rotate(360deg);} }
   @keyframes fluxoDados { 0%{ transform: translateX(-100%) scaleX(0);} 50%{ transform: translateX(0) scaleX(1);} 100%{ transform: translateX(100%) scaleX(0);} }
   
   /* =====================
      Chatbot / AutomaÃ§Ã£o (Sol. 5)
      ===================== */
   .chatbot-container { width: 280px; height: 300px; background: linear-gradient(135deg, #1a1a2e, #16213e); border-radius: 15px; border: 2px solid #0f3460; overflow: hidden; box-shadow: 0 10px 30px rgba(15,52,96,0.4); display: flex; flex-direction: column; }
   .chatbot-header { background: linear-gradient(135deg, #0f3460, #16213e); padding: 12px 15px; border-bottom: 1px solid #0f3460; display: flex; align-items: center; gap: 12px; }
   .chatbot-avatar { font-size: 20px; animation: pulsarBot 3s ease-in-out infinite; }
   .chatbot-info { flex: 1; display: flex; flex-direction: column; }
   .chatbot-nome { color: var(--cor-branco); font-size: 13px; font-weight: 600; margin-bottom: 2px; }
   .chatbot-status { font-size: 10px; color: #4ecdc4; }
   .chatbot-mensagens { flex: 1; padding: 15px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; background: rgba(0,0,0,0.2); }
   .mensagem { display: flex; align-items: flex-end; gap: 8px; opacity: 0; animation: aparecerMensagem 0.8s ease forwards; }
   .mensagem:nth-child(1){animation-delay:.5s}.mensagem:nth-child(2){animation-delay:1.2s}.mensagem:nth-child(3){animation-delay:2s}
   .mensagem.bot { align-self: flex-start; }
   .mensagem.usuario { align-self: flex-end; flex-direction: row-reverse; }
   .avatar-msg { font-size: var(--f1); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; flex-shrink: 0; }
   .mensagem.bot .avatar-msg { background: rgba(8,90,238,0.2); }
   .mensagem.usuario .avatar-msg { background: rgba(76,175,80,0.2); }
   .texto-msg { background: rgba(255,255,255,0.1); color: var(--cor-branco); padding: 8px 12px; border-radius: 12px; font-size: 11px; max-width: 160px; word-wrap: break-word; backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.1); }
   .mensagem.bot .texto-msg { background: linear-gradient(135deg, rgba(8,90,238,0.3), rgba(74,158,255,0.2)); border-radius: 12px 12px 12px 4px; }
   .mensagem.usuario .texto-msg { background: linear-gradient(135deg, rgba(76,175,80,0.3), rgba(129,199,132,0.2)); border-radius: 12px 12px 4px 12px; }
   .chatbot-input { padding: 10px 15px; background: rgba(0,0,0,0.3); border-top: 1px solid #0f3460; display: flex; gap: 8px; align-items: center; }
   .chatbot-input input { flex: 1; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 6px 12px; color: var(--cor-branco); font-size: 11px; outline: none; }
   .chatbot-input input::placeholder { color: rgba(255,255,255,0.5); }
   .btn-enviar { background: linear-gradient(45deg, var(--cor-azul), var(--cor-azul)); color: var(--cor-branco); border: none; border-radius: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 12px; transition: all 0.3s ease; }
   .btn-enviar:hover { transform: scale(1.1); box-shadow: 0 4px 12px rgba(8,90,238,0.4); }
   .efeito-5 { top: -30px; left: -30px; width: 100px; height: 100px; background: radial-gradient(circle, #0f3460, transparent); animation-delay: 1s; }
   .engrenagem { position: absolute; font-size: 20px; opacity: 0.3; color: var(--cor-azul); }
   .engrenagem-1 { top: 20%; right: -10px; animation: girarEngrenagem 8s linear infinite; }
   .engrenagem-2 { bottom: 30%; left: -10px; animation: girarEngrenagem 8s linear infinite reverse; animation-delay: 2s; }
   
   /* =====================
      Acessibilidade / PreferÃªncias
      ===================== */
   .footer a:focus { outline: 2px solid rgba(8,90,238,0.5); outline-offset: 2px; border-radius: 4px; }
   .footer a:focus:not(:focus-visible) { outline: none; }
   
   @media (prefers-color-scheme: dark) {
     .footer { background: linear-gradient(135deg, #000 0%, #0a0a0a 100%); }
     .rede-social { background: rgba(8,8,8,0.8); }
   }
   
   @media (prefers-reduced-motion: reduce) {
     .linha-decorativa-footer,
     .ponto-decorativo-footer,
     .rede-social::before { animation: none; }
     .link-footer,
     .rede-social { transition: none; }
   }
   
   /* =====================
      Responsividade
      ===================== */
   @media (max-width: 1024px) {
     .conteudo-footer { grid-template-columns: 1fr 1fr; gap: 40px; }
     .coluna-logo { grid-column: 1 / -1; max-width: none; margin-bottom: 20px; }
   }
   
   @media (max-width: 968px) {
     .grid-faq { grid-template-columns: 1fr; gap: 20px; }
     .cta-faq { grid-template-columns: 1fr; text-align: center; padding: 40px 30px; }
     .botoes-cta-faq { justify-content: center; flex-wrap: wrap; }
     .ilustracao-faq { margin-top: 20px; }
   }
   
   @media (max-width: 768px) {
     .container-hero { grid-template-columns: 1fr; gap: 40px; text-align: center; padding: 0 15px; }
     .titulo-principal { font-size: 2.5rem; }
     .botoes-cabecalho { flex-direction: column; gap: 10px; }
     .botao-secundario, .botao-primario { padding: 8px 16px; font-size: 12px; }
     .imagem-hero { height: 300px; }
   
     .cta { padding: 80px 0; }
     .conteudo-cta { flex-direction: column; gap: 40px; text-align: center; }
     .titulo-cta { font-size: 2.5rem; }
     .info-cta { align-items: center; }
     .botao-cta { min-width: 220px; padding: 8px; font-size: 15px; }
   
     .solucoes { padding: 80px 0; }
     .header-solucoes { margin-bottom: 60px; }
     .titulo-solucoes { font-size: 2.5rem; }
     .grid-modulos { gap: 40px; }
     .card-modulo { grid-template-columns: 1fr; gap: 30px; padding: 30px 20px; }
     .visual-modulo { height: 300px; }
     .tela-codigo { width: 100%; max-width: 280px; }
   
     .faq { padding: 80px 0; }
     .header-faq { margin-bottom: 60px; }
     .titulo-faq { font-size: 2.5rem; }
     .grid-faq { margin-bottom: 60px; }
     .faq-pergunta { padding: 20px; gap: 15px; }
     .titulo-pergunta { font-size: 1rem; }
     .botao-expandir { width: 35px; height: 35px; }
     .faq-item.ativo .faq-resposta { padding: 0 20px 20px; }
     .cta-faq { padding: 30px 20px; }
     .botoes-cta-faq { flex-direction: column; gap: 12px; width: 100%; }
     .botao-whatsapp { width: 100%; justify-content: center; }
     .icone-faq { font-size: 60px; }
     .ponto-interrogacao-animado { font-size: 20px; }
   
     .container-footer { padding: 40px 20px 25px; }
     .conteudo-footer { grid-template-columns: 1fr; gap: 35px; margin-bottom: 30px; }
     .coluna-logo { grid-column: auto; margin-bottom: 0; text-align: center; }
     .logo-footer { justify-content: center; }
     .redes-sociais { justify-content: center; }
     .titulo-coluna { text-align: center; }
     .titulo-coluna::after { left: 50%; transform: translateX(-50%); }
     .nav-footer { align-items: center; }
     .info-contato { align-items: center; }
     .bottom-footer { flex-direction: column; text-align: center; gap: 15px; }
     .links-legais { flex-wrap: wrap; justify-content: center; }
   }
   
   @media (max-width: 480px) {
     .container-faq { padding: 0 15px; }
     .titulo-faq { font-size: 2rem; }
     .faq-pergunta { padding: 15px; }
     .titulo-pergunta { font-size: 0.95rem; }
     .conteudo-resposta p { font-size: 13px; }
     .cta-faq { padding: 25px 15px; }
     .titulo-cta-faq { font-size: 1.5rem; }
   
     .container-footer { padding: 35px 15px 20px; }
     .logo-footer { flex-direction: column; gap: 8px; }
     .icone-logo-footer { font-size: 32px; }
     .texto-logo-footer { font-size: 20px; }
     .redes-sociais { gap: 12px; }
     .rede-social { width: 40px; height: 40px; }
     .links-legais { gap: 10px; }
     .divisor { display: none; }
   }
   