Automatize seu marketing e vendas com IA e transforme tarefas em resultados reais.
Criamos agentes de IA humanizados, assistentes personalizados e fluxos inteligentes que automatizam atendimento, analisam dados em tempo real e otimizam suas campanhas para você vender mais, gastar menos e escalar seu negócio.
Reduza tarefas manuais e erros operacionais
Aumente a conversão de leads com IA
Tenha estratégias de marketing guiadas por dados
Soluções de IA que trabalham pelo seu negócio 24/7
Automatize processos, conquiste mais clientes e tome decisões estratégicas com inteligência artificial integrada em cada etapa do seu negócio.
Agentes de IA Humanizados
Agentes inteligentes que atendem seus clientes em site, WhatsApp e redes sociais com linguagem natural, entendem contexto e encaminham oportunidades quentes direto para o time de vendas.
- Atendimento 24 horas por dia, 7 dias por semana
- Redução de filas e aumento na satisfação
- Experiência personalizada e humanizada
Assistentes Personalizados para Processos Internos
Assistentes de IA que ajudam sua equipe em tarefas repetitivas: geração de relatórios, documentação, suporte interno, treinamentos e muito mais.
- Produtividade em alta sem aumentar o time
- Redução de retrabalho e erros operacionais
- Onboarding e treinamento acelerados
Fluxos Automatizados Multitarefa
Conectamos seus sistemas (CRM, e-mail, WhatsApp, formulários, e-commerce) em fluxos inteligentes que executam ações automáticas e mantêm tudo sincronizado.
- Menos tarefas manuais e mais foco em estratégia
- Processos padronizados e escaláveis
- Integração total entre ferramentas
Análise de Dados e Estratégias com IA
Nossa IA analisa dados de campanhas, leads e vendas para identificar oportunidades, gargalos e otimizar continuamente suas estratégias de marketing e vendas.
- Decisões baseadas em dados reais, não em achismos
- Aumento do ROI em marketing e vendas
- Previsibilidade e controle de resultados
Integrações com Suas Ferramentas
Integramos a IA com os sistemas que você já usa: CRM, ERP, plataformas de anúncios, automação de marketing e muito mais.
- Visão unificada de dados e processos
- Controle total sem trocar de ferramenta
- Menos trabalho manual, mais inteligência
Marketing Digital com IA para atrair, nutrir e converter mais clientes
Cuidamos de toda a sua presença digital: da identidade visual até a gestão de tráfego pago, com automações de IA que fazem seu marketing trabalhar de forma inteligente e rentável.
Identidade Visual e Branding
Criamos logotipo, paleta de cores, tipografia e todos os elementos visuais que tornam sua marca memorável, profissional e alinhada ao seu posicionamento de mercado.
- Marca forte e reconhecível no mercado
- Coerência visual em todos os pontos de contato
- Credibilidade e profissionalismo
Sites e Landing Pages de Alta Conversão
Desenvolvemos sites institucionais, landing pages e páginas de vendas focadas em performance, SEO e conversão de visitantes em leads e clientes.
- Site responsivo, rápido e otimizado para Google
- Foco total em conversão e experiência do usuário
- Integração com ferramentas de automação
Gestão de Redes Sociais
Planejamento estratégico de conteúdo, criação de artes, cronograma de postagens e acompanhamento de performance para fortalecer sua presença digital.
- Presença digital ativa e profissional
- Conteúdo alinhado ao seu público e objetivos
- Crescimento orgânico e engajamento real
E-commerce Otimizado com IA
Criação ou melhoria de lojas virtuais com foco em experiência do usuário, checkout eficiente, integrações com pagamento e logística, e automações de IA para upsell.
- Loja profissional e fácil de usar
- Aumento na taxa de conversão e ticket médio
- Integração com IA para recomendações
Funis de Vendas e Qualificação de Leads
Criamos e gerenciamos funis completos que atraem, nutrem e qualificam leads automaticamente, entregando para seu time comercial apenas oportunidades reais de venda.
- Leads mais qualificados e prontos para comprar
- Redução do ciclo de vendas
- Automação inteligente de nutrição
Gestão de Tráfego Pago com IA
Gerenciamos suas campanhas em Google Ads, Meta Ads e outras plataformas, com otimização contínua via IA: segmentação, lances, criativos, horários e públicos.
- ROI máximo em cada real investido
- Campanhas otimizadas em tempo real pela IA
- Relatórios claros e resultados previsíveis
Por que escolher a HopperAI MAX para o seu negócio?
Foco em Resultado, Não em Ferramentas
Não vendemos tecnologia pela tecnologia. Cada solução que criamos tem um objetivo claro: aumentar suas vendas, reduzir custos ou ganhar tempo.
Integração Total entre IA, Marketing e Vendas
Conectamos inteligência artificial, estratégias de marketing e processos comerciais para criar um ecossistema completo que funciona de forma inteligente e automatizada.
Projetos Personalizados para Seu Modelo de Negócio
Não trabalhamos com modelos prontos. Cada projeto é desenhado do zero, respeitando as particularidades do seu negócio, público e objetivos.
Suporte Consultivo e Acompanhamento Próximo
Nossa equipe atua como parceira estratégica: acompanhamos resultados, ajustamos estratégias e estamos sempre disponíveis para otimizar seu desempenho.
Implementação Rápida e Escalável
Projetos ágeis, com entregas rápidas e estrutura preparada para crescer junto com o seu negócio. Comece pequeno, escale rápido.
Uso Ético e Seguro de Dados e IA
Trabalhamos com as melhores práticas de segurança e privacidade de dados, garantindo conformidade com LGPD e uso responsável de inteligência artificial.
Resultados que a IA já está gerando para nossos clientes
Veja como empresas de diferentes segmentos estão usando nossas soluções para vender mais, automatizar processos e crescer com inteligência.
Cliente do Varejo Online
O desafio:
Alto volume de perguntas repetitivas no WhatsApp, equipe sobrecarregada e muitos leads perdidos fora do horário comercial.
Nossa solução:
Implementamos um agente de IA humanizado no WhatsApp integrado ao catálogo de produtos, que responde dúvidas, envia fotos, calcula frete e encaminha pedidos prontos para o time de vendas.
Resultados alcançados:
- Redução de 60% no tempo de resposta
- Atendimento 24/7 sem aumentar equipe
- Aumento de 35% na conversão de leads noturnos
Empresa de Consultoria
O desafio:
Dificuldade em qualificar leads de forma rápida e falta de dados estratégicos sobre campanhas de marketing digital.
Nossa solução:
Criamos funis automatizados de qualificação com IA, integrados ao CRM, e implantamos análise preditiva de dados de campanha para ajustar estratégias em tempo real.
Resultados alcançados:
- 3x mais leads qualificados entregues ao time comercial
- Redução de 50% no custo por lead
- Ciclo de vendas reduzido em 20 dias
Escola de Cursos Online
O desafio:
Dúvidas frequentes de alunos sobre matrículas, pagamentos e certificados sobrecarregavam o suporte.
Nossa solução:
Desenvolvemos um assistente de IA para atendimento interno e externo, respondendo dúvidas automáticas, gerando relatórios e auxiliando na gestão de processos administrativos.
Resultados alcançados:
- 70% das dúvidas resolvidas automaticamente
- Equipe focada em atividades estratégicas
- Satisfação dos alunos aumentou 40%
Pronto para ter o poder da IA trabalhando pelo seu negócio?
Agende uma consultoria gratuita e descubra como a HopperAI MAX pode automatizar seu marketing, otimizar vendas e entregar resultados reais para sua empresa.
Vamos conversar sobre o seu projeto?
Preencha o formulário abaixo ou fale direto com a gente pelo WhatsApp. Vamos entender seu momento e desenhar a melhor solução com IA e marketing digital para o seu negócio.
contato@hopperaimax.com.br
+55 (11) 99999-9999
Localização
São Paulo, SP
Horário de Atendimento
Seg a Sex, 9h às 18h
ARQUIVO: style.css
/* ========================================
RESET E VARIÁVEIS
======================================== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* Cores principais */
–bg-primary: #0A0E27;
–bg-secondary: #151B3B;
–bg-tertiary: #0F1640;
–cyan: #00D9FF;
–blue: #0A7FFF;
–coral: #FF4D4D;
–orange: #FF6B35;
–text-primary: #FFFFFF;
–text-secondary: #E0E0E0;
–text-muted: #B0B0B0;
–text-dark: #707070;
/* Tipografia */
–font-primary: ‘Inter’, sans-serif;
–font-heading: ‘Montserrat’, sans-serif;
/* Espaçamentos */
–spacing-xs: 8px;
–spacing-sm: 16px;
–spacing-md: 24px;
–spacing-lg: 40px;
–spacing-xl: 60px;
–spacing-xxl: 80px;
/* Transições */
–transition-fast: 0.2s ease;
–transition-normal: 0.3s ease;
–transition-slow: 0.5s ease;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 90px;
}
body {
font-family: var(–font-primary);
background-color: var(–bg-primary);
color: var(–text-secondary);
line-height: 1.6;
overflow-x: hidden;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
text-decoration: none;
color: inherit;
transition: var(–transition-normal);
}
ul {
list-style: none;
}
/* ========================================
BOTÕES
======================================== */
.btn {
display: inline-block;
padding: 14px 32px;
border-radius: 8px;
font-family: var(–font-primary);
font-weight: 600;
font-size: 16px;
text-align: center;
cursor: pointer;
transition: all var(–transition-normal);
border: none;
text-decoration: none;
}
.btn-primary {
background: var(–coral);
color: var(–text-primary);
}
.btn-primary:hover {
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 77, 77, 0.6);
}
.btn-secondary {
background: transparent;
color: var(–cyan);
border: 2px solid var(–cyan);
}
.btn-secondary:hover {
background: var(–cyan);
color: var(–bg-primary);
}
.btn-white {
background: var(–text-primary);
color: var(–coral);
}
.btn-white:hover {
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 255, 255, 0.4);
}
.btn-outline-white {
background: transparent;
color: var(–text-primary);
border: 2px solid var(–text-primary);
}
.btn-outline-white:hover {
background: var(–text-primary);
color: var(–coral);
}
.btn-whatsapp {
background: #25D366;
color: var(–text-primary);
}
.btn-whatsapp:hover {
transform: scale(1.05);
box-shadow: 0 0 30px rgba(37, 211, 102, 0.6);
}
.btn-lg {
padding: 18px 40px;
font-size: 18px;
}
.btn-block {
width: 100%;
}
/* ========================================
HEADER
======================================== */
.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
background: rgba(10, 14, 39, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(0, 217, 255, 0.1);
padding: 20px 0;
z-index: 1000;
transition: var(–transition-normal);
}
.header.scrolled {
padding: 15px 0;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.header-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.logo img {
height: 50px;
width: auto;
}
.nav-list {
display: flex;
gap: 32px;
align-items: center;
}
.nav-link {
color: var(–text-primary);
font-weight: 500;
font-size: 16px;
position: relative;
}
.nav-link::after {
content: ”;
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background: var(–cyan);
transition: width var(–transition-normal);
}
.nav-link:hover::after {
width: 100%;
}
.header-cta {
display: inline-block;
}
.mobile-menu-toggle {
display: none;
flex-direction: column;
gap: 5px;
background: none;
border: none;
cursor: pointer;
}
.mobile-menu-toggle span {
width: 28px;
height: 3px;
background: var(–cyan);
border-radius: 2px;
transition: var(–transition-normal);
}
/* ========================================
HERO SECTION
======================================== */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
padding: 120px 0 80px;
overflow: hidden;
}
.hero-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle at 50% 50%, rgba(10, 127, 255, 0.15) 0%, rgba(10, 14, 39, 0) 70%);
z-index: 0;
}
.hero-content {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.hero-title {
font-family: var(–font-heading);
font-size: 56px;
font-weight: 800;
color: var(–text-primary);
line-height: 1.2;
margin-bottom: 24px;
}
.hero-subtitle {
font-size: 18px;
color: var(–text-secondary);
line-height: 1.7;
margin-bottom: 40px;
}
.hero-benefits {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 40px;
}
.benefit-item {
display: flex;
align-items: center;
gap: 12px;
color: var(–text-primary);
font-weight: 500;
}
.benefit-item i {
color: var(–cyan);
font-size: 20px;
}
.hero-cta {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
.hero-image img {
max-width: 500px;
filter: drop-shadow(0 0 40px rgba(0, 217, 255, 0.4));
}
.floating-animation {
animation: float 3s ease-in-out infinite;
}
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-20px);
}
}
/* ========================================
SEÇÕES DE CONTEÚDO
======================================== */
section {
padding: var(–spacing-xxl) 0;
}
.section-header {
text-align: center;
max-width: 900px;
margin: 0 auto 60px;
}
.section-title {
font-family: var(–font-heading);
font-size: 42px;
font-weight: 700;
color: var(–text-primary);
margin-bottom: 16px;
line-height: 1.2;
}
.section-subtitle {
font-size: 18px;
color: var(–text-muted);
line-height: 1.6;
}
/* ========================================
CARDS DE SERVIÇOS
======================================== */
.services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
}
.services-grid-2col {
grid-template-columns: repeat(2, 1fr);
}
.service-card {
background: var(–bg-secondary);
border: 1px solid rgba(0, 217, 255, 0.2);
border-radius: 12px;
padding: 32px;
transition: all var(–transition-normal);
}
.service-card:hover {
transform: translateY(-8px);
border-color: var(–cyan);
box-shadow: 0 12px 40px rgba(0, 217, 255, 0.3);
}
.service-icon {
width: 64px;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 217, 255, 0.1);
border-radius: 12px;
margin-bottom: 20px;
}
.service-icon i {
font-size: 32px;
color: var(–cyan);
}
.service-icon-alt {
background: rgba(255, 107, 53, 0.1);
}
.service-icon-alt i {
color: var(–orange);
}
.service-title {
font-family: var(–font-heading);
font-size: 22px;
font-weight: 600;
color: var(–text-primary);
margin-bottom: 12px;
}
.service-description {
font-size: 15px;
color: var(–text-muted);
line-height: 1.6;
margin-bottom: 16px;
}
.service-benefits {
margin-bottom: 20px;
}
.service-benefits li {
display: flex;
align-items: flex-start;
gap: 10px;
margin-bottom: 8px;
font-size: 14px;
color: var(–text-secondary);
}
.service-benefits i {
color: var(–cyan);
margin-top: 4px;
flex-shrink: 0;
}
.service-link {
color: var(–orange);
font-weight: 600;
font-size: 14px;
display: inline-flex;
align-items: center;
gap: 8px;
}
.service-link:hover {
color: var(–coral);
text-decoration: underline;
}
/* ========================================
MARKETING DIGITAL
======================================== */
.marketing-digital {
background: linear-gradient(180deg, var(–bg-primary) 0%, var(–bg-tertiary) 100%);
}
/* ========================================
DIFERENCIAIS
======================================== */
.diferenciais {
position: relative;
}
.diferenciais::before {
content: ”;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(0, 217, 255, 0.08) 0%, transparent 70%);
pointer-events: none;
}
.diferenciais-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
}
.diferencial-item {
text-align: center;
}
.diferencial-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 77, 77, 0.1);
border-radius: 50%;
margin: 0 auto 24px;
}
.diferencial-icon i {
font-size: 40px;
color: var(–coral);
}
.diferencial-icon-alt {
background: rgba(0, 217, 255, 0.1);
}
.diferencial-icon-alt i {
color: var(–cyan);
}
.diferencial-icon-accent {
background: rgba(255, 107, 53, 0.1);
}
.diferencial-icon-accent i {
color: var(–orange);
}
.diferencial-icon-blue {
background: rgba(10, 127, 255, 0.1);
}
.diferencial-icon-blue i {
color: var(–blue);
}
.diferencial-title {
font-family: var(–font-heading);
font-size: 20px;
font-weight: 600;
color: var(–text-primary);
margin-bottom: 12px;
}
.diferencial-description {
font-size: 15px;
color: var(–text-muted);
line-height: 1.6;
}
/* ========================================
CASES DE SUCESSO
======================================== */
.cases {
background: linear-gradient(135deg, var(–bg-primary) 0%, #1A1F4D 100%);
}
.cases-container {
display: flex;
flex-direction: column;
gap: 30px;
}
.case-card {
background: var(–bg-secondary);
border: 1px solid rgba(0, 217, 255, 0.2);
border-radius: 12px;
padding: 40px;
transition: all var(–transition-normal);
}
.case-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0, 217, 255, 0.2);
}
.case-tag {
display: inline-block;
background: rgba(255, 107, 53, 0.2);
color: var(–orange);
padding: 6px 16px;
border-radius: 20px;
font-size: 13px;
font-weight: 600;
margin-bottom: 16px;
}
.case-tag-alt {
background: rgba(0, 217, 255, 0.2);
color: var(–cyan);
}
.case-tag-accent {
background: rgba(10, 127, 255, 0.2);
color: var(–blue);
}
.case-title {
font-family: var(–font-heading);
font-size: 24px;
font-weight: 600;
color: var(–text-primary);
margin-bottom: 24px;
}
.case-section {
margin-bottom: 20px;
}
.case-section-title {
color: var(–cyan);
font-weight: 600;
font-size: 16px;
margin-bottom: 8px;
}
.case-section p {
color: var(–text-muted);
line-height: 1.6;
}
.case-results {
display: flex;
flex-direction: column;
gap: 10px;
}
.case-results li {
display: flex;
align-items: flex-start;
gap: 12px;
color: var(–text-secondary);
}
.case-results i {
color: var(–cyan);
margin-top: 4px;
font-size: 18px;
}
/* ========================================
CTA SECTION
======================================== */
.cta-section {
position: relative;
background: linear-gradient(135deg, var(–coral) 0%, var(–orange) 100%);
padding: var(–spacing-xxl) 0;
overflow: hidden;
}
.cta-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(10, 14, 39, 0.4);
}
.cta-content {
position: relative;
z-index: 1;
text-align: center;
max-width: 900px;
margin: 0 auto;
}
.cta-title {
font-family: var(–font-heading);
font-size: 46px;
font-weight: 700;
color: var(–text-primary);
margin-bottom: 20px;
line-height: 1.2;
}
.cta-subtitle {
font-size: 18px;
color: var(–text-primary);
line-height: 1.6;
margin-bottom: 40px;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
/* ========================================
CONTATO
======================================== */
.contato-content {
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: 60px;
}
.contato-info {
display: flex;
flex-direction: column;
gap: 32px;
}
.info-item {
display: flex;
gap: 16px;
}
.info-item i {
font-size: 24px;
color: var(–cyan);
flex-shrink: 0;
}
.info-item h4 {
font-family: var(–font-heading);
font-size: 16px;
font-weight: 600;
color: var(–text-primary);
margin-bottom: 4px;
}
.info-item p {
color: var(–text-muted);
font-size: 15px;
}
.contato-form {
background: var(–bg-secondary);
border: 1px solid rgba(0, 217, 255, 0.2);
border-radius: 12px;
padding: 40px;
}
.form-group {
margin-bottom: 20px;
}
.form-group input,
.form-group textarea {
width: 100%;
padding: 14px 18px;
background: rgba(10, 14, 39, 0.6);
border: 1px solid rgba(0, 217, 255, 0.2);
border-radius: 6px;
color: var(–text-primary);
font-family: var(–font-primary);
font-size: 15px;
transition: var(–transition-normal);
}
.form-group input::placeholder,
.form-group textarea::placeholder {
color: var(–text-dark);
}
.form-group input:focus,
.form-group textarea:focus {
outline: none;
border-color: var(–cyan);
box-shadow: 0 0 0 3px rgba(0, 217, 255, 0.1);
}
.form-group textarea {
resize: vertical;
min-height: 100px;
}
.form-message {
margin-top: 20px;
padding: 12px;
border-radius: 6px;
text-align: center;
display: none;
}
.form-message.success {
background: rgba(0, 217, 255, 0.1);
color: var(–cyan);
display: block;
}
.form-message.error {
background: rgba(255, 77, 77, 0.1);
color: var(–coral);
display: block;
}
/* ========================================
FOOTER
======================================== */
.footer {
background: #05070F;
padding: 60px 0 30px;
}
.footer-content {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 40px;
margin-bottom: 40px;
}
.footer-logo {
max-width: 160px;
margin-bottom: 20px;
}
.footer-text {
color: var(–text-dark);
font-size: 14px;
line-height: 1.6;
}
.footer-title {
font-family: var(–font-heading);
font-size: 16px;
font-weight: 600;
color: var(–text-primary);
margin-bottom: 20px;
}
.footer-links li {
margin-bottom: 12px;
}
.footer-links a {
color: var(–text-muted);
font-size: 14px;
}
.footer-links a:hover {
color: var(–cyan);
}
.footer-contact li {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 12px;
color: var(–text-muted);
font-size: 14px;
}
.footer-contact i {
color: var(–cyan);
}
.footer-social {
display: flex;
gap: 16px;
}
.footer-social a {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 217, 255, 0.1);
border-radius: 50%;
color: var(–cyan);
font-size: 18px;
transition: var(–transition-normal);
}
.footer-social a:hover {
background: var(–cyan);
color: var(–bg-primary);
transform: translateY(-4px);
}
.footer-bottom {
text-align: center;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-bottom p {
color: var(–text-dark);
font-size: 13px;
}
.footer-bottom a {
color: var(–text-dark);
text-decoration: underline;
}
.footer-bottom a:hover {
color: var(–cyan);
}
/* ========================================
WHATSAPP FLUTUANTE
======================================== */
.whatsapp-float {
position: fixed;
bottom: 30px;
right: 30px;
width: 60px;
height: 60px;
background: #25D366;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
z-index: 999;
transition: var(–transition-normal);
animation: pulse 2s infinite;
}
.whatsapp-float:hover {
transform: scale(1.1);
box-shadow: 0 6px 30px rgba(37, 211, 102, 0.6);
}
.whatsapp-float i {
font-size: 30px;
color: var(–text-primary);
}
@keyframes pulse {
0%, 100% {
box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
}
50% {
box-shadow: 0 4px 30px rgba(37, 211, 102, 0.7);
}
}
/* ========================================
RESPONSIVO
======================================== */
@media (max-width: 1024px) {
.services-grid {
grid-template-columns: repeat(2, 1fr);
}
.diferenciais-grid {
grid-template-columns: repeat(2, 1fr);
}
.footer-content {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.nav {
position: fixed;
top: 90px;
left: -100%;
width: 100%;
height: calc(100vh – 90px);
background: rgba(10, 14, 39, 0.98);
backdrop-filter: blur(10px);
transition: left var(–transition-normal);
}
.nav.active {
left: 0;
}
.nav-list {
flex-direction: column;
padding: 40px;
gap: 24px;
}
.header-cta {
display: none;
}
.mobile-menu-toggle {
display: flex;
}
.hero-content {
grid-template-columns: 1fr;
gap: 40px;
}
.hero-image {
order: -1;
text-align: center;
}
.hero-image img {
max-width: 300px;
margin: 0 auto;
}
.hero-title {
font-size: 36px;
}
.section-title {
font-size: 32px;
}
.services-grid,
.services-grid-2col {
grid-template-columns: 1fr;
}
.diferenciais-grid {
grid-template-columns: 1fr;
}
.contato-content {
grid-template-columns: 1fr;
gap: 40px;
}
.footer-content {
grid-template-columns: 1fr;
}
.cta-title {
font-size: 32px;
}
.cta-buttons {
flex-direction: column;
}
.hero-cta {
flex-direction: column;
}
.whatsapp-float {
width: 56px;
height: 56px;
bottom: 20px;
right: 20px;
}
}
@media (max-width: 480px) {
.hero-title {
font-size: 28px;
}
.section-title {
font-size: 26px;
}
.service-card {
padding: 24px;
}
}
ARQUIVO: script.js
// ========================================
// INICIALIZAÇÃO
// ========================================
document.addEventListener(‘DOMContentLoaded’, function() {
// Inicializar AOS (Animate On Scroll)
AOS.init({
duration: 800,
easing: ‘ease-in-out’,
once: true,
offset: 100
});
// Inicializar funcionalidades
initMobileMenu();
initStickyHeader();
initSmoothScroll();
initContactForm();
});
// ========================================
// MENU MOBILE
// ========================================
function initMobileMenu() {
const mobileToggle = document.getElementById(‘mobile-menu-toggle’);
const nav = document.getElementById(‘nav’);
const navLinks = document.querySelectorAll(‘.nav-link’);
if (mobileToggle) {
mobileToggle.addEventListener(‘click’, function() {
nav.classList.toggle(‘active’);
mobileToggle.classList.toggle(‘active’);
});
// Fechar menu ao clicar em um link
navLinks.forEach(link => {
link.addEventListener(‘click’, function() {
nav.classList.remove(‘active’);
mobileToggle.classList.remove(‘active’);
});
});
}
}
// ========================================
// HEADER STICKY
// ========================================
function initStickyHeader() {
const header = document.getElementById(‘header’);
window.addEventListener(‘scroll’, function() {
if (window.scrollY > 100) {
header.classList.add(‘scrolled’);
} else {
header.classList.remove(‘scrolled’);
}
});
}
// ========================================
// SMOOTH SCROLL
// ========================================
function initSmoothScroll() {
const links = document.querySelectorAll(‘a[href^=”#”]’);
links.forEach(link => {
link.addEventListener(‘click’, function(e) {
const href = this.getAttribute(‘href’);
// Ignorar links vazios ou apenas #
if (href === ‘#’ || href === ”) return;
e.preventDefault();
const target = document.querySelector(href);
if (target) {
const headerHeight = document.getElementById(‘header’).offsetHeight;
const targetPosition = target.offsetTop – headerHeight;
window.scrollTo({
top: targetPosition,
behavior: ‘smooth’
});
}
});
});
}
// ========================================
// FORMULÁRIO DE CONTATO
// ========================================
function initContactForm() {
const form = document.getElementById(‘contact-form’);
const formMessage = document.getElementById(‘form-message’);
if (form) {
form.addEventListener(‘submit’, function(e) {
e.preventDefault();
// Coletar dados do formulário
const formData = new FormData(form);
const data = {};
formData.forEach((value, key) => {
data[key] = value;
});
// Simular envio (integrar com seu backend aqui)
// Exemplo: fetch(‘/api/contact’, { method: ‘POST’, body: JSON.stringify(data) })
// Feedback de sucesso
formMessage.textContent = ‘Mensagem enviada com sucesso! Entraremos em contato em breve.’;
formMessage.className = ‘form-message success’;
form.reset();
// Limpar mensagem após 5 segundos
setTimeout(() => {
formMessage.style.display = ‘none’;
}, 5000);
// Em caso de erro, usar:
// formMessage.textContent = ‘Erro ao enviar mensagem. Tente novamente.’;
// formMessage.className = ‘form-message error’;
});
}
}
