Clareza antes do efeito
Hierarquia forte, leitura rápida e uma ação principal por contexto.
Fundamentos, tokens, componentes e regras de uso da identidade aprovada: carvão, terracota e areia. Base do projeto Lovable, completada com as categorias que já existiam nos outros sistemas da casa.
O Lovable aprovado trouxe a identidade. As categorias que ele não tinha vieram dos outros sistemas em desenvolvimento. Cada seção mostra de onde veio.
| Categoria | No Lovable? | Veio de | O que entrou |
|---|---|---|---|
| Essência, voz, texturas | Sim | Lovable | Mantido como estava |
| Marca | Parcial | Lovable + novo | Área de proteção, tamanho mínimo, usos proibidos |
| Escalas de cor 50–950 | Não | Site CloudPage | Carvão, terracota e areia em 11 tons |
| Cores de feedback | Não | Site CloudPage | Sucesso, aviso, erro e informação |
| Modo escuro | Não | Site CloudPage | Tema escuro trocando só os tokens semânticos |
| Tabela de contraste | Não | Site CloudPage + Santos TP | Pares aprovados com razão WCAG |
| Escala tipográfica | Não | Site CloudPage + Aline Brites | 11 estilos com clamp fluido |
| Grid, breakpoints, container | Parcial | Site CloudPage + Santos TP | Grid 12 colunas, 4 breakpoints, container de 1280px |
| Raios, sombras | Parcial | Site CloudPage + Santos TP | Escala fechada; sombra tingida de carvão |
| Bordas | Não | Novo | Espessuras e papéis (não existia em nenhum) |
| Camadas (z-index) | Não | Site CloudPage | 8 níveis, com o botão do WhatsApp previsto |
| Tokens de movimento | Parcial | Site CloudPage | 4 durações, 2 curvas |
| Tamanhos de ícone | Parcial | Site CloudPage | 16 / 20 / 24px, traço 1.5 |
| Pipeline de imagem | Não | Aline Brites + Santos TP | WebP, srcset, largura e altura sempre |
| Formulário, alerta, acordeão, badge | Não | Site CloudPage | Componentes com todos os estados |
| Cabeçalho de seção | Parcial | Aline Brites | Componente único, versões clara e escura |
| Botão flutuante WhatsApp | Não | Aline Brites + Santos TP | Posição, camada e quando esconder |
| Matriz de estados | Não | Site CloudPage | Hover, foco, ativo, desabilitado, erro, carregando |
| Acessibilidade | Parcial | Site CloudPage + Santos TP | Foco, skip link, aria-live, teste axe |
| Acabamento | Não | Aline Brites + Santos TP | Seleção, scrollbar, âncoras, cor do navegador |
| Tokens em código, governança | Não | Site CloudPage + Santos TP | Nomes, formato DTCG, versão, changelog, decisões datadas |
primary e terracota eram quase iguais. Ficou um valor só, #C2410C.Autoridade técnica, clareza comercial e precisão editorial. Parecer construído por especialistas: direto, mensurável, sem decoração gratuita.
Hierarquia forte, leitura rápida e uma ação principal por contexto.
Alinhamentos, linhas finas e numeração técnica organizam a página.
Carvão comunica autoridade; terracota sinaliza ação e informação-chave.
Logotipo tipográfico em Archivo Black com o ponto em terracota, que fecha a frase. O símbolo "C." serve para favicon e avatar.
LogoLogo lightfavicon.svgInverter as cores do nome e do ponto.
Aplicar sobre gradiente ou foto sem película carvão.
Esticar, condensar ou trocar a fonte.
Usar fundo terracota: o ponto desaparece.
Três famílias primitivas e uma camada semântica por cima. Componentes usam só tokens semânticos, nunca a primitiva direto: é isso que permite o modo escuro.
Terracota nunca em grandes áreas: é reservada para ação, foco e dado importante.
| Token | Papel | Claro | Escuro |
|---|
O erro é vermelho frio de propósito, para não ser confundido com a terracota da marca.
| Texto | Fundo | Razão | Uso |
|---|---|---|---|
| carvão-900 | areia-50 | 16,7:1 | Qualquer texto |
| carvão-600 | areia-50 | 6,6:1 | Texto secundário |
| carvão-500 | areia-50 | 4,3:1 | Só a partir de 18px |
| terracota-600 | areia-50 | 5,0:1 | Texto de ênfase e link |
| terracota-600 | areia-300 | 4,3:1 | Só a partir de 18px; menor, use terracota-700 |
| branco | terracota-600 | 5,2:1 | Botão primário |
| terracota-400 | carvão-900 | 5,5:1 | Ênfase sobre escuro |
| terracota-600 | carvão-900 | 3,4:1 | Título e destaque a partir de 24px, ícone, linha |
| branco 55% | carvão-900 | 6,0:1 | Mínimo para texto pequeno no escuro |
| borda carvão-500 | surface / carvão-800 | 4,4 / 3,3:1 | Borda de campo (mínimo 3:1) |
| borda carvão-300 | surface | 1,7:1 | Só divisória decorativa, nunca campo |
| branco 40% | carvão-900 | 3,8:1 | Não usar em texto |
Três famílias com papel fixo. A escala é fluida: cresce com a tela entre um mínimo e um máximo, sem precisar de breakpoint.
Títulos, números de impacto, logotipo, botões e etiquetas. Peso único: 400. Nunca aplicar bold.
Texto corrido, navegação, formulários. Pesos 400, 500, 600 e 700.
Métricas, status, numeração, dados técnicos. Pesos 400 e 500.
Sites, SEO, tráfego pago e automação gerenciados por um só parceiro.
Cada empresa tem um mercado próprio, e cada resultado exige uma estrutura pensada do zero.
Combinamos tecnologia, dados e execução para entregar o que importa: oportunidades qualificadas e medidas.
Google Ads, Meta Ads e estratégia de funil.
Sede em Brasília · atendimento em todo o Brasil
text-wrap: balance; parágrafos: text-wrap: pretty.Base de 4px. Todo espaço interno e externo sai desta escala; valor fora dela (28px, 36px, 56px) não entra.
| Contexto | Celular | Desktop | Token |
|---|---|---|---|
| Respiro vertical de seção | 96px | 128px | --space-24 / --space-32 |
| Kicker → título | 24px | 24px | --space-6 |
| Título → conteúdo | 48px | 64px | --space-12 / --space-16 |
| Padding de card | 24px | 32px | --space-6 / --space-8 |
| Entre cards | 16px | 24px | --space-4 / --space-6 |
| Campo → campo | 16px | 16px | --space-4 |
Composição editorial assimétrica sobre um grid de 12 colunas. O container é um só em todo o site e nas LPs.
xl (1280); abaixo, menu hambúrguer.Cantos discretos, coerentes com a precisão da marca. Círculo só para status, avatar e botão flutuante.
Sombra tingida de carvão, nunca preto puro. Hierarquia vem primeiro de linha e fundo; sombra só no que flutua ou é clicável.
Linhas finas são a principal ferramenta de estrutura da marca: separam sem pesar. Prefira divisória e grid com 1px de gap a cards soltos.
| Token | Espessura | Cor | Uso |
|---|---|---|---|
--border-hairline | 1px | --border | Divisória, card, tabela, grid de serviços |
--border-strong | 1px | --border-strong | Botão secundário, abertura de seção |
--border-input | 1.5px | carvão-500 (3:1 ou mais) | Campo de formulário, checkbox, qualquer controle |
--border-focus | 2px | --focus | Contorno de foco (outline, offset 3px) |
--border-accent | 1px × 40px | terracota | Traço do kicker |
--border-alert | 3px à esquerda | cor do feedback | Alerta |
No escuro, bordas usam branco a 12% (normal) e 22% (forte).
Ordem fixa de sobreposição. Nenhum z-index numérico solto: popup, WhatsApp e aviso de cookies deixam de brigar entre si.
--z-tooltip--z-toast--z-modal--z-overlay--z-float--z-dropdown--z-header--z-raisedQuando um modal ou o aviso de cookies está aberto, o botão do WhatsApp se esconde (padrão Santos TP).
Contido e com propósito: entra, confirma, orienta. Passe o mouse (ou dê Tab) nos cartões para ver cada duração.
Cor, borda, foco de campo.
Hover de botão (sobe 2px), card.
Sublinhado editorial, menu, acordeão.
Entrada de seção: opacidade + 22px.
--ease-padrao cubic-bezier(.2,0,0,1) para interação; --ease-saida cubic-bezier(.22,1,.36,1) para entrada.prefers-reduced-motion, todas as transições caem para 0.Lucide, traço fino. O ícone apoia um comando ou uma leitura; nunca é enfeite solto.
currentColor.aria-label.arrow-up-right é a seta oficial de CTA.Arquitetura, tecnologia e pessoas em contexto real, com contraste controlado e espaço para tipografia.
Linhas, estrutura e luz âmbar: a metáfora da "base" digital.
Telas e painéis reais, nunca ilustração genérica de nuvem.
Película carvão da esquerda (100%) para a direita (18%).
srcset e sizes.width e height sempre, para não pular layout.fetchpriority="high"; demais com loading="lazy".alt vazio em imagem que informa algo.Feitas só com CSS, sem arquivo de imagem. Uma textura por bloco, sempre discreta.
grainSuperfícies escuras e hero.hairline-gridFundo claro, módulo de 96px.hairline-grid-darkHero e capa.arcsRecurso pontual, canto de seção.dot-gridÁrea pequena, apoio de dado.areia-fibraFaixa clara de destaque.Peças reais do site, com versões clara e escura. Uma ação primária por agrupamento; sem card dentro de card.
btn-primario · btn-secundario · btn-textobtn-sm · btn-lglink-editorialUm processo claro que transforma desafio em resultado mensurável.
Números reais de clientes, com fonte.
escuro.SectionHeadbadge · tag · statusServiceCardO trabalho trouxe organização comercial. Passamos a gerar oportunidades qualificadas.
MetricCard · QuoteCardInput · AlertLanding page em 10 dias úteis; site institucional entre 30 e 45 dias, conforme o conteúdo.
Sim. Servidor, backup diário, certificado e monitoramento entram no plano de manutenção.
Não para o site. Tráfego e manutenção têm período mínimo definido na proposta.
AccordionHeader · WhatsAppFab · FooterTodo componente interativo precisa responder a estes seis estados. Se falta um, o componente não está pronto.
| Estado | Botão | Campo | Card / link |
|---|---|---|---|
| Hover | terracota-700, sobe 2px | borda carvão-500 | card inverte para carvão; link sublinha |
| Foco (teclado) | contorno 2px terracota, offset 3px | borda terracota + halo 3px | contorno 2px terracota |
| Ativo | volta à posição (0px) | mantém foco | sem deslocamento |
| Desabilitado | opacidade 45%, sem sombra | fundo areia-300, texto carvão-500 | não se aplica |
| Erro | não se aplica | borda erro-600 + mensagem + aria-invalid | não se aplica |
| Carregando | spinner, texto oculto, aria-busy | desabilitado durante envio | esqueleto na altura final |
Meta: WCAG 2.2 nível AA em todo o site e nas LPs. Verificado automaticamente antes de publicar.
outline: none sem substituto.aria-describedby; resposta de envio em aria-live.aria-expanded e aria-controls.alt descritivo; decorativa com alt="".<html lang="pt-BR"> em toda página; títulos em ordem, sem pular nível.Clara, direta e segura. Benefício antes da tecnologia; número com fonte antes de adjetivo.
"Execução impecável com resultados extraordinários."
Preferir"520 leads por mês em 6 meses, medidos no CRM."
"Implementamos tagueamento server-side via GTM."
Preferir"Você sabe de qual anúncio veio cada venda."
"Clique aqui" · "Saiba mais"
Preferir"Falar no WhatsApp" · "Solicitar diagnóstico" · "Conhecer solução"
Detalhes pequenos que fazem a marca aparecer até na barra de rolagem.
| Detalhe | Regra | Veio de |
|---|---|---|
| Seleção de texto | fundo terracota-600, texto branco (selecione um trecho desta página) | Aline Brites |
| Barra de rolagem | trilho areia-100, polegar carvão-300; no escuro, carvão-800 / carvão-600 | Aline + Santos |
| Âncoras | scroll-margin-top igual à altura do cabeçalho fixo + 24px | Aline + Santos |
| Cor do navegador | theme-color #1B1B18 | Aline Brites |
| Favicon | SVG "C." + PNG 180px para iOS | Lovable |
| Carrossel de logos | pausa fora da tela e com movimento reduzido | Santos TP |
| Cabeçalho | transparente no topo; carvão 95% com blur após 32px de rolagem | Lovable |
Fonte única em tokens.json (formato W3C DTCG), gerando CSS para o site e para as LPs. Ninguém escreve cor hex em componente.
--carvao-900, --terracota-600. Só são lidos pelos semânticos.--bg, --text, --action. Usados pelos componentes; mudam no tema escuro.--button-height-md, --card-padding. Opcional, só quando o componente precisa.--categoria-nome-variacao.tokens.css; nada de paleta própria./* tokens.css · gerado a partir de tokens.json */ :root { /* primitivos */ --carvao-900: #1B1B18; --carvao-800: #292924; --carvao-600: #5E594F; --terracota-600: #C2410C; --terracota-700: #9E3409; --terracota-400: #D9774C; --areia-50: #FFF9F0; --areia-300: #F3EAD2; /* semânticos · claro */ --bg: var(--areia-50); --surface: #FFFDF9; --text: var(--carvao-900); --text-muted: var(--carvao-600); --accent-text: var(--terracota-600); --action: var(--terracota-600); --action-hover: var(--terracota-700); --border: var(--carvao-200); --focus: var(--terracota-600); /* tipografia */ --font-display: "Archivo Black", "Arial Black", sans-serif; --font-sans: "Hind", system-ui, sans-serif; --font-mono: "JetBrains Mono", ui-monospace, monospace; /* forma, profundidade, camadas, movimento */ --radius-sm: 4px; --radius-lg: 8px; --shadow-md: 0 8px 20px -6px rgb(27 27 24 / .14); --z-header: 20; --z-float: 40; --z-modal: 60; --dur-base: 250ms; --ease-saida: cubic-bezier(.22,1,.36,1); } [data-theme="dark"] { --bg: var(--carvao-900); --surface: var(--carvao-800); --text: var(--carvao-100); --text-muted: var(--carvao-400); --accent-text: var(--terracota-400); --focus: var(--terracota-400); }
Como o sistema muda sem se perder: versão, registro de decisão e checklist antes de publicar.
| Versão | Data | Mudança |
|---|---|---|
| 2.1 | 15/09/2026 | Conformidade WCAG 2.2 AA: borda de campo, cores de feedback, idioma, pular conteúdo, níveis de título. |
| 2.0 | 15/09/2026 | Identidade carvão + terracota aprovada; categorias dos outros sistemas incorporadas; contraste, raios e peso de fonte corrigidos. |
| 1.0 | 15/09/2026 | Rascunho no Lovable. |
| v3.3 | anterior | Sistema azul-marinho + coral, substituído. |
/* 15/09/2026: WhatsApp verde por reconhecimento, pedido do cliente */.