Design System da Mestre
Referência para desenhar e construir os decks de proposta comercial da Agência Mestre. Os valores vêm do CSS em produção das propostas SocialLadder, Assis e Mendes, Central de Consultas e Forte Fênix (setembro e outubro de 2026), somados às regras do projeto e às correções acumuladas nas sessões anteriores. Cada tela abaixo está renderizada com o código real, em miniatura proporcional a 1600×900. O botão de tela cheia mostra o tamanho de apresentação; o de replay repete a animação de entrada. Desde novembro de 2026, ele também reúne o que vale para o site, as landing pages e os slides do dia a dia (seções 13 a 19).
Sete princípios que governam o deck
Antes de qualquer token: as decisões abaixo explicam por que a proposta é como é. Quando surgir uma situação nova, decida por elas.
| Princípio | Na prática |
|---|---|
| A ordem das telas é fixa | Credibilidade, momento e dor do lead, método com nome próprio, funcionamento, âncora de valor, escopo, pergunta de investimento, preço, premissas, CTA. Nenhum bloco troca de lugar. O que varia é o conteúdo dentro de cada bloco e quais blocos condicionais entram. |
| Tinta e papel, sem cor de destaque | A hierarquia vem do peso da fonte (300 a 900), do tamanho e do contraste entre tela escura e tela clara. O amarelo da marca fica no site e nas landing pages; na proposta ele não entra. |
| O número é o protagonista | Toda dor e toda prova ganham um número gigante com contador, uma legenda curta e a linha de fonte. O texto interpreta o número; o número convence. |
| Escuro para parar, claro para ler | Telas escuras marcam os pontos de virada: capa, transições, número-herói, citação, pergunta de investimento e fechamento. Conteúdo denso vive no papel. Cerca de uma em cada quatro telas é escura. |
| Personalização visível | Momento, desafios, diagnóstico e as telas de método que tocam o serviço são escritos para aquele lead, com os dados da triagem e das análises. Diagrama ou texto de outro cliente nunca é reaproveitado. |
| Tela cheia, desktop | A proposta é apresentada em tela cheia no desktop, com 1600×900 como referência de QA. Não existe versão mobile: o breakpoint de 820px é rede de segurança, não layout. |
| Medido antes de entregue | Quatro testes automáticos no Playwright zeram overflow, quebra prematura de parágrafo, colisão de descendente e desalinhamento de cards. O relatório com os números acompanha a entrega. |
Cor
Oito tokens e um punhado de cinzas derivados. Qualquer necessidade nova se resolve com eles ou com transparências de tinta e papel. Cor nova no deck é regressão.
Tokens do kit
Derivados fixos (sem token, valor cravado no CSS)
| Valor | Onde | Fundo |
|---|---|---|
#101010 | Wordmark fantasma (.ghost) das transições | escuro |
#161616 | Aspas gigantes (.quote-mark) da citação | escuro |
#242424 | Régua .hr sobre o escuro | escuro |
#2e2e2e | Bordas de .node, .dcard e caixas; linha-base do gráfico; .link | escuro |
#1f1f1f · #1e1e1e | Linhas secundárias de grade do gráfico; divisor dos resultados .res do SERP | escuro |
#0e0e0e + #262626 | Fundo e borda do mock de busca .serp; barra de busca com borda #303030 | escuro |
#1d1d1d | Esqueleto de texto (.skel) do mock escuro | escuro |
#1c1c1c + #2c2c2c | Bolha de pergunta do chat de IA | escuro |
#3a3a3a · #2a2a2a | Borda de .chip no escuro; divisores dentro do card invertido de cenário | escuro |
#ecE8dd | Diagonal (.diag) sobre o papel | claro |
#efece4 · #eceadf | Fundo do .excerpt; grade clara do gráfico de relatório | claro |
#fff · #000 | Fundo do frame de Key Visual (.kvp) e do frame de criativo (.kvc) | claro |
rgba(244,242,237,.5) | Borda do chip riscado (termos que saem) sobre o escuro | escuro |
Pares de contraste (WCAG AA)
| Texto | Fundo | Razão aprox. | Veredito |
|---|---|---|---|
#0a0a0a | #f4f2ed | 17,7 : 1 | AA / AAA |
#f4f2ed | #0a0a0a | 17,7 : 1 | AA / AAA |
#6b6760 (--grey) | #f4f2ed | 5,0 : 1 | AA |
#93908a (--grey-d) | #0a0a0a | 6,2 : 1 | AA |
#4a4740 (--mid) | #efece4 | 7,9 : 1 | AA / AAA |
#f4f2ed | #1c1c1c (bolha) | 15,2 : 1 | AA / AAA |
#6b6760 (--grey) | #0a0a0a | 3,5 : 1 | só texto grande. No escuro, use --grey-d |
#e3dfd4 (--tone) | #f4f2ed | 1,3 : 1 | decorativo (num-ghost) |
.dark .t-body e
.dark .t-small recebem --grey-d e peso 500). Texto de apoio escrito direto com color:var(--grey)
em tela escura reprova. Nas telas escuras, o trecho em negrito ganha color:var(--paper); nas claras,
color:var(--ink).Tipografia
Uma família só: Outfit, em seis pesos. Não existe serifa, não existe itálico fora da citação do .release. A hierarquia é feita com peso, tamanho e caixa alta.
| Peso | Classe | Papel |
|---|---|---|
| 300 | .lt | Legendas de eixo, "ou", subtítulo dentro do .org, tag .ptag, chips de pfield em decks mais leves |
| 400 | padrão | Corpo (t-body, t-small), parágrafos de transição e citação (p.t-xl / p.t-lg) |
| 500 | kicker, .lbl, .pfield, .mhead, .pill | Rótulos em caixa alta com tracking largo; corpo sobre o escuro |
| 600 | carregado, uso raro | Reserva. Não usar em texto novo. |
| 700 | .b, h2 por padrão, .org, .node, .srcchip | Títulos de card, valores em tabela, o trecho que o leitor leva |
| 900 | .bk, t-hero, t-big, .ghost, .num-ghost | Manifestos, números, a parte decisiva do título |
family=Outfit:wght@300;400;500;600;700;900.
Sem 500 e 600 na URL, o navegador sintetiza o peso a partir do 400 sem avisar, e kickers e rótulos ficam mais
leves que o aprovado.Escala (valores renderizados em 1600×900)
900 · clamp(72px, 17vw, 19rem)
272px · lh .92 · ls −.015em
MESTRE
valores e números-herói
clamp(52px, 9.5vw, 10rem) · 152px
clamp(56px, 10.5vw, 11rem) · 168px
900 · clamp(40px, 7.2vw, 7.5rem)
115px · lh 1 · ls −.01em
h2 700 + span.bk 900
clamp(30px, 4.2vw, 4.2rem) · 67px · lh 1.16
h2 700 · span.bk + span.muted
clamp(24px, 3vw, 3rem) · 48px · lh 1.2
clamp(17px, 1.55vw, 1.65rem)
25px · lh 1.4 · .b para título de card
clamp(14px, 1.15vw, 1.2rem)
18.4px · lh 1.55 · --grey
clamp(13px, .95vw, 1rem)
15.2px · lh 1.55 · --grey
clamp(20px, 2.1vw, 2.1rem) · 34px
lh 1.3 · telas com pouco texto
500 · clamp(12px, 1vw, 13px) = 13px
ls .34em · caixa alta · --grey
500 · 13.6px · ls .32em · --grey-d
500 · 12px · ls .26em · --grey
700 · 13.1px · ls .04em · caixa alta
.node 700 · 15.2px · ls .08em
Seu contato direto
Regras de composição
- Título de tela em
h2(700) com o trecho decisivo emspan.bk: "Nós documentamos. Nós implementamos." - Ou a inversão: frase forte em .bk seguida do complemento em
span.muted: "Três travas. Um mesmo efeito…" - Kicker como trilha: "Seção · Subtítulo" (Desafio · A tendência; Etapa 3 · Criação; Investimento · Gestão de mídia paga)
- Manifesto com minúsculas no padrão
hero_frase: linha 1 em t-lg ou t-xl Regular, linha 2 em t-xl ou t-big Black - Folga de 0.22em abaixo de t-big e t-xl com descendentes (g, j, p, q, y, ç):
padding-bottom:.24emquando o próximo elemento encosta - Parágrafos correm a largura da coluna;
h1,h2,h3{text-wrap:balance}ep{text-wrap:pretty}injetados antes do @media - Negrito para o trecho que o leitor leva, com a cor da tela (ink no papel, paper no escuro)
- Toda frase de título termina com ponto final
- Minúsculas no t-hero: o line-height .92 corta o g, o p, o y e o ç. Só dígitos, símbolos e CAIXA ALTA
- Classes
measure,measure-lgou max-width em ch/px em parágrafo - Manifesto em t-big quebrando em duas linhas: encurte o texto, nunca deixe quebrar sozinho
- Caixa alta fora de kicker, .org, .node, .pfield, .lbl, .ptag e tags
- Um peso novo "só desta vez"
- Travessão em qualquer texto visível
- Nome do decisor nos slides: "conforme mencionado", "nas palavras de vocês"
Tela, grid, espaçamento e fundos
Toda medida do kit é relativa à tela (vw/vh), por isso o deck preenche qualquer monitor sem rolagem. A referência de QA é 1600×900; os valores em pixel abaixo são desse tamanho.
| Token | Valor | Uso |
|---|---|---|
.slide | position:fixed; inset:0 | Cada tela ocupa a janela inteira; só a .active é visível. overflow:hidden e isolation:isolate são obrigatórios |
| padding da tela | 7vh 7vw · 63×112px | Margem de segurança igual em todas as telas; ≤820px cai para 6vh 7vw |
| alinhamento | flex column · justify center | Conteúdo centrado na vertical. Transições, citação e CTA somam align-items:center;text-align:center inline |
.cols gap | 3.4vw · 54px | .c2, .c3, .c4. Grids assimétricos vão inline: 1fr 1.2fr, .8fr 1.5fr, 1fr 1.7fr, repeat(5,1fr), com gap 4vw |
.mt1 … .mt4 | 1.4 · 3 · 5 · 7vh 13 · 27 · 45 · 63px | Único sistema de respiro vertical. Kicker → título usa mt1; título → conteúdo usa mt2 ou mt3; bloco final usa mt3 |
| align-items | stretch · start · center | stretch em fileiras de cards (alturas iguais); start em colunas de texto; center quando número e gráfico dividem a tela |
| bordas | 1px · 2px | 1px em tinta para caixas e tags; 2px em tinta para a régua que abre cada card de uma fileira e para o total de um cenário |
| raios | 0 | Nada arredondado, com três exceções: barra de busca (99px), bolha de chat (14px) e esqueletos (2px) |
| sombras | nenhuma | Profundidade vem de fundo invertido (.inkbox, .org.ink), nunca de sombra |
| imagens | base64 no HTML | Logos com --ar (proporção) inline; prints e Key Visual dentro de .cimg com borda de 1px |
Elementos decorativos
| Elemento | Especificação | Onde entra |
|---|---|---|
.diag | faixa de 9vw, skewX(−16deg), top/bottom −12vh, --tone-ink (claro: #ecE8dd). Posição inline: left 64 a 80vw; a segunda com opacity .5 ou .6 | Capa (duas faixas), pergunta de investimento, CTA e telas escuras de desafio (uma faixa) |
.ghost | wordmark em 24vw, 900, #101010, centrado | Transições: nome do cliente em "Ouvimos com atenção", MÉTODO, MESTRE, GEO, PLANTA |
.num-ghost | número da etapa em clamp(90px, 13vw, 13rem), --tone, right 7vw, top 6vh | Toda tela de etapa do método e as telas de Fase 1 / Fase 2 do investimento |
.quote-mark | aspas em 26vh, 900, #161616, top 4vh, left 6vw | Tela de citação |
| grain | .dark::after com SVG de ruído, opacity .05 | Todas as telas escuras, automático |
position:absolute leva
z-index:-1 e a .slide leva isolation:isolate. A transição de entrada anima
transform, o que cria um contexto de empilhamento temporário; sem o isolamento, o fantasma salta
para a frente do texto no instante em que a animação termina.Ritmo de fundos
Escuro e claro alternam com função: o escuro para o leitor, o claro faz ele ler. Nas quatro propostas-base, 12 telas escuras em 44 a 50 telas. A sequência típica:
Capa (escuro) → institucional, logos e cases (claro) → transição "Ouvimos com atenção" (escuro, fantasma com o nome do cliente) → momento (claro) → desafios alternando (escuro com número-herói ou gráfico; claro com cards e tabelas) → diagnóstico (claro) → citação (escuro) → MÉTODO (escuro) → método e etapas (claro; uma etapa escura quando carrega decisão de plataforma ou mock de busca) → "Isso não é promessa. É método." (escuro) → funcionamento, time, contato, escopo, horas e Glassdoor (claro) → pergunta de investimento (escuro) → investimento, tabelas, incluso e premissas (claro) → CTA (escuro).
Duas telas escuras seguidas só acontecem na dupla citação → MÉTODO. Três seguidas, nunca.
Breakpoint
| Corte | O que muda |
|---|---|
| ≤820px | padding da tela 6vh 7vw; todo .cols vira 1 coluna; logo-grid 3 colunas; ghost 34vw; .flow quebra linha com gap. É rede de segurança para um link aberto no celular, não um layout a desenhar |
Componentes
Os átomos do kit, renderizados com o CSS de produção em telas de amostra. Cada amostra é uma tela 16:9 completa, no mesmo escalonamento do deck.
Átomos sobre o papel
Kicker, título, régua. E as caixas que seguram o resto.
2 personas e 2 jornadas de compra
Pesquisa de palavras-chave e prompts
Reunião de início de projeto
para print
1 persona até 5 personas *
O que falta não é volume. É alguém que diga onde focar.
A régua de 1px separa blocos da mesma tela. A de 2px em tinta abre cada card de uma fileira e fecha o total de um cenário.
| Componente | Anatomia | Regra |
|---|---|---|
.kicker | 500 · 13px · ls .34em · caixa alta · --grey | Primeiro elemento de toda tela de conteúdo, com data-a="k". Também legenda sob contadores e rótulo de gráfico |
.chip | borda 1px tinta · padding .7em 1.1em · 16.8px | Termos, métricas curtas ("Top 3: de 2.221 para 706"). No escuro a borda vira #3a3a3a; riscado com line-through de 2px para termos negativados |
.pill / .pill.dim | borda 1px · padding .55em .9em · 15.2px · 500 | Listas de termos com dois estados: alvo (tinta) e descartado (cinza, 300) |
.li | border-top 1px --line · padding-top 1.4vh | Item de escopo e de premissa, dentro de um contêiner .t-md. Versão .tight para listas longas (padding .9vh, 1.3vw) |
.org | borda 1px · padding 1.3vh .9vw · 700 · 13px · caixa alta | Caixa de organograma, de arquitetura e de etapa de fluxo. Invertida (background:var(--ink)) para o contato direto e para o nó final. Tracejada para Sucesso do Cliente. Subtítulo em 300, .78em, ls .2em |
.orgline | 1px × 2.4vh, centrado | Conector vertical entre níveis do organograma e da árvore de arquitetura |
.inkbox | fundo tinta · padding 2.6vh 2.2vw · rótulo .lbl + p.t-md (lh 1.45) | Fecha a tela com a leitura de negócio: "Nas palavras de vocês", "O ativo já existe", "O calendário joga a favor", "Exemplo de leitura". Trecho decisivo em .b com cor papel. Uma por tela, sempre no fim |
.dashbox | borda tracejada --grey · 300 · ls .22em · caixa alta | Reserva de espaço para print ou imagem que ainda vai entrar. Não vai ao cliente |
.tagf | borda 1px --grey · .6em · ls .2em · 300 | Nota lateral em item de escopo (condicional, asterisco) |
.hr | 1px --line (escuro: #242424) · data-a="line" | Separa blocos. Com height:2px;background:var(--ink) inline, abre cada card de uma fileira de 3 ou 4 |
Átomos sobre o escuro
Fluxos, mocks de busca e caixas no escuro.
Caixa-preta: nem termo, nem verba, nem conta.
No CNPJ do cliente desde o primeiro dia.
| Componente | Anatomia | Regra |
|---|---|---|
.flow + .node + .link | flex; nó com borda 1px, 700, 15px, caixa alta, small em 300; linha de 1px que estica (flex:1) | Fluxo de processo (documenta → implementa → valida; pedido → estimativa → execução → débito) e checklist de migração. No papel, borda e linha em tinta |
.xmark / .okmark | círculo de 5vh, borda 1px, 900 | Dentro do fluxo quebrado (nós + ✕). Entra só quando a triagem descreve um caminho de verdade interrompido |
.dcard / .dcard-on | borda #2e2e2e; ligada: borda papel | Comparação de dois estados no escuro (modelo anterior × modelo proposto) |
.serp | fundo #0e0e0e; .sbar em pílula; .skel para linhas de texto; .res com posição e domínio; .srcchip | Dois usos: lista de resultados ("Para X, o cliente não existe") e simulação de resposta de IA com a Mestre citada. O rodapé declara que é simulação |
.chatq .bub | bolha #1c1c1c, raio 14px com canto inferior direito 2px, 78% de largura | Pergunta do usuário no mock de conversa com IA; a resposta segue em t-small com .skel |
Cards e mocks
Persona, documento, release e os frames de imagem.
Mora em Canoas, sem plano de saúde
Fazer a tomografia perto de casa, com preço fechado e sem esperar meses.
Não sabe quanto custa · quer agendar pelo celular, hoje.
Google, Maps e, cada vez mais, perguntando à IA.
salário-base médio: R$ 4 mil
"Cada matéria planta a associação certa: os termos que definem o serviço colados à marca."
2.32 : 1
1 : 1
Três artigos, 300 palavras.
V1 · SÓ O VISUAL
visual novo + copy atual
| Componente | Anatomia | Regra |
|---|---|---|
.persona | borda 1px, padding 3.2vh 1.8vw; .ptag flutuando no canto superior direito; avatar em SVG de traço; campos .pfield + p.t-small em tinta | Uma por tela de Etapa 1. Nome com idade, duas linhas de contexto, e três campos fixos: Objetivo, Dores, Onde está. Marcar sempre como "Exemplo" |
.doc + .dhead | borda 1px; cabeçalho com três .dot e rótulo em t-small 300, ls .18em | Mock de janela: print do site com texto marcado, relatório ilustrativo, cards do Glassdoor, cards de campanha e de cenário. O rótulo diz o que é ("ILUSTRATIVO", a URL, "GLASSDOOR · SALÁRIOS") |
.excerpt + mark | fundo #efece4, texto --mid; marca em tinta com texto papel | Trecho real da página do lead com o vocabulário errado marcado. Nunca reescrever o trecho |
.clt | rodapé em tinta, 700, 16.8px | "Custo CLT: R$ X" fixo na base do card Glassdoor; o título do card leva min-height:2.9em para alinhar a fileira |
.release | borda 1px; .rh 900 24px; .rq itálico --mid; u vira marca-texto --tone | Estrutura ilustrativa de press release (engenharia de menções). Único lugar com itálico além de depoimento |
.cimg | borda 1px, fundo --tone, imagem em object-fit:cover alinhada ao topo; .kvp 2.32:1 fundo branco e .kvc 1:1 fundo preto com contain | Prints de site (altura fixa em vh), painéis do Key Visual e criativos. Sempre com legenda t-small abaixo |
.tcard / .lcard / .vcard | borda 1px, flex column; tcard com .ttag em tinta; lcard-ink invertido; vcard com rótulo 300 ls .2em | Territórios de conteúdo, camadas de mensagem e versões de teste A/B. Títulos em linha única (white-space:nowrap + min-height) para a fileira alinhar |
Dados e contadores
Contador, Gantt, barras e a tabela de faixas.
| Componente | Anatomia | Regra |
|---|---|---|
[data-count] | data-target numérico, data-fmt="dec" para duas casas; formata em pt-BR; 1,6s easeOutExpo, 350ms após a tela abrir | Todo número grande roda com contador: anos, empresas, colaboradores, percentuais de case, números-herói de desafio, pessoas no time, horas. Prefixo (+, −) e sufixo (%, +) ficam fora do span |
.gtrack + .gbar | trilha de 4vh; barra cresce da esquerda (scaleX) com atraso por --d; três tons: tinta, --mid, --grey | Timeline do "Como funciona", sempre 3 fases com rótulos de mês acima (MÊS 0 · 3 · 6 · 12 ou DIA 0 · 30 · 60 · 90) |
.bars .row | grid 1fr 3fr auto; rótulo 700 com small 300; barra; valor 900 à direita | Ranking de concorrentes e de páginas por tráfego. O cliente aparece na lista, com a barra em cinza |
.vbar / .vok / .vbad | barra vertical que cresce da base (scaleY); cheia em papel ou hachurada | Comparação de volumes no escuro (busca certa × busca errada) |
.mrow | grid 1.6fr 1fr; linhas com border-top --line; cabeçalho .mhead em 500, caixa alta; .usd opcional | Tabela de gerenciamento de mídia e tabelas de termos. Variante com 5 colunas (2.6fr .7fr .8fr .5fr 1.3fr) para métricas de página |
.chart | SVG inline com viewBox fixo, eixos em #2e2e2e/#1f1f1f (escuro) ou --line/#eceadf (claro), linha em papel ou tinta de 3px; polyline desenha com stroke-dashoffset | Gráfico de tendência do desafio (dados reais, com marcos anotados em linha tracejada) e relatório ilustrativo da etapa de avaliação |
Telas do deck
Os modelos de tela, na ordem em que aparecem na proposta, renderizados com o CSS de produção. O texto é de propostas reais ou placeholder; a estrutura é a que se repete. Cada modelo diz o que é fixo e o que é personalizado.
Capa
PLANO
MESTRE
Nome do Cliente · Projeto de SEO & GEO com Desenvolvimento Web
Fixo: "PLANO MESTRE" em t-hero, kicker com mês e ano, duas diagonais. Variável: nome do cliente em .b e o nome do projeto em .muted ("Projeto de Gestão de Mídia · Google Ads", "Redesign do site com preservação de SEO e geração de MQLs", "Diagnóstico e Plano de SEO & GEO"). A barra de progresso, a marca e o contador de páginas (com setas clicáveis) vivem fora das telas, fixos na janela.
A Agência Mestre
Desde 2008, resultados com marketing digital.
SEO & GEO, conteúdo, Google Ads, Meta Ads, landing pages e desenvolvimento web.
E-mail marketing, nutrição de leads, automação de marketing e integração com o CRM.
GA4, dashboards e leitura do funil até o agendamento.
Fixo: 18 anos (ano corrente − 2008), 500+ empresas, 65 colaboradores. Variável: as três colunas mudam de nome e de texto conforme o serviço (Sites com SEO embarcado / Aquisição / Análise de dados em projeto de site; Aquisição com o selo Google Premier Partner em projeto de mídia). A última coluna termina na métrica do lead: "até o MQL e a venda", "até o agendamento".
Quem confia na Mestre
Algumas das empresas que confiam na Mestre.
SAÚDE · TECNOLOGIA · B2B · INDÚSTRIA · E-COMMERCE · EDUCAÇÃO
Grade de 6 colunas com 30 logos em PNG monocromático (base64), altura máxima 4.6vh, cada
img com --ar inline. A linha de setores em t-small com ls .18em coloca o setor do lead
primeiro. Os logos vêm do kit congelado; não se redesenha logo de cliente.
Case de sucesso
Suhai Seguradora. Uma curva de queda revertida.
com 98% mais palavras na primeira página do Google e mais de 30% de crescimento nas sessões orgânicas ano contra ano, revertendo uma curva de queda.
É o mesmo ponto de partida do Cliente: um site com histórico, que perdeu tráfego, e que precisa voltar a crescer com o que já tem.
Case completo em agenciamestre.com/cases
De 1 a 3 cases, um por tela, escolhidos pelo serviço e pelo segmento do lead (um deles de GEO
quando a proposta tem SEO). O número principal é conferido na página individual do case antes de entrar. A frase
da régua para baixo amarra o case ao lead ("É o mesmo ponto de partida…", "É o jogo da SocialLadder:"). Variantes:
três contadores lado a lado (mídia), ou Desafio → Estratégia Mestre → Resultado em três colunas. Em projeto de
site, uma segunda tela mostra prints do antes e depois em .cimg de altura fixa.
Até a IA (condicional)
Quando perguntam à IA, a resposta é a Mestre.
Otimizar presença em respostas de IA é parte do nosso método. E nós fazemos pela Mestre exatamente o que vendemos: autoridade, menções e entidade de marca.
É assim que empresas nos encontram hoje. E é assim que o próximo cliente vai encontrar vocês.
✦ CONVERSA COM IA · SIMULAÇÃO
Qual a melhor agência de marketing digital para o meu cenário?
Considerando experiência e resultados documentados, a Agência Mestre se destaca: 18 anos de mercado, 500+ empresas atendidas e método próprio de SEO e GEO.
Entra só quando o lead contou que chegou à Mestre por uma IA ou quando o projeto tem GEO. O título muda com a origem: "Você chegou até nós pelo ChatGPT. Não foi sorte." quando foi o caso. O mock declara "SIMULAÇÃO" no rótulo.
Transições
Ouvimos com atenção o momento da Central de Consultas.
Publicar mais não trouxe mais pacientes.
Para cada uma dessas travas,
existe um método.
Padrão hero_frase: linha 1 em t-lg Regular, linha 2 em t-xl Black, centradas. O fantasma leva uma palavra só, em caixa alta: o primeiro nome do cliente, MÉTODO, GEO, PLANTA. A segunda linha da transição de abertura é a dor em uma frase ("A pergunta não é se o site muda. É o que não pode mudar junto."). Na transição para o método, a frase ecoa o diagnóstico ("Para desenhar a planta, existe um método.").
O momento do cliente
Vinte anos de operação, nove clínicas em novembro.
E uma receita que anda de lado.
oito clínicas médicas acessíveis em Porto Alegre e região, a nona abrindo em novembro, com mais de 27 especialidades e um produto de telemedicina.
2026 trouxe a plataforma de engajamento depois de duas décadas sem CRM, a mídia paga reorganizada e, agora, a vez de SEO, conteúdo e site.
três pessoas no marketing interno e fornecedores separados para mídia, redes sociais e SEO. O orgânico é o braço que ninguém pensa de forma sênior.
Não existe uma estratégia bem definida: nem norte, nem pilares de conteúdo. O que falta não é volume. É alguém que diga onde focar.
Três fatos do lead em t-lg.bk com parágrafo, e a caixa fechando com a frase da triagem. Tudo personalizado; a citação é atribuída à empresa ("Nas palavras de vocês"), nunca ao decisor pelo nome.
Desafio com número-herói
do tráfego orgânico em três anos.
Eram 458 mil visitas mensais em junho de 2023. Em setembro de 2026, 80 mil. Só no último ano, a queda foi de 43%.
Fonte: análise de visibilidade orgânica do domínio · outubro de 2026
Bloco hero_numero: número com sinal fora do contador, legenda em t-md.b, contexto em
t-small, gráfico real ao lado com marcos anotados. A régua separa os chips de métricas e a linha de fonte, que
nomeia o tipo de análise sem citar ferramenta ("análise de visibilidade orgânica", "rastreamento técnico do site").
Variantes do mesmo bloco: "O site novo subiu. / O MQL caiu." (hero_frase com cards abaixo), buscas certas ×
erradas com .vbar, ranking de concorrentes com .bars.
Desafio em cards (raio-X técnico)
1.201 páginas rastreadas. Quatro achados pesam mais.
998 páginas sem meta description e 511 com título cortado. O Google escreve o anúncio sozinho.
A página de agendar exames responde com erro e ainda recebe 41 links internos.
97% das páginas sem os cabeçalhos básicos de segurança. Depois de um ataque em 2025, a porta segue sem tranca.
44% das páginas a cinco ou mais cliques da home. O post mais forte do site está a seis.
O site é rápido, organizado e roda em WordPress. O que falta é governança técnica, não migração.
Fonte: rastreamento técnico do site, 2.709 endereços · outubro de 2026
Cada card abre com a régua de 2px em tinta (animada da esquerda), título-achado com o número
dentro e corpo em t-small. Fileira em align-items:stretch, títulos em linha única. O mesmo esqueleto
serve ao "Como falamos com você" (4 cards com t-lg.bk) e ao diagnóstico (3 cards).
Diagnóstico (travas)
Três travas. Um mesmo efeito: muito conteúdo, pouco paciente.
Um post por dia sobre temas que a IA já responde, repetidos entre si, sem pilares, sem funil e sem conexão com o que a mídia paga já sabe que converte.
Vinte anos de medicina e nenhum médico assinando o que o site publica. Para o Google e para as IAs, ainda é um blog genérico de saúde.
Reuniões semanais sobre botões e páginas, posts na raiz do domínio, agendamento em 404 e uma proposta de migrar de CMS em vez de arrumar a casa.
Marca regional de 20 anos, 30 mil palavras ainda posicionadas e telemedicina para vender ao país inteiro. O que falta não é produzir mais. É direção sênior, assinatura médica e um parceiro que implemente.
Fecha a seção de desafios. Título sempre no molde "N travas. Um mesmo efeito: [consequência]." Entre 2 e 4 travas, cada uma com título-conceito de duas palavras e parágrafo com os números da triagem. A caixa final vira a chave para o método: o que o lead já tem e o que falta.
Citação e reforço do método
“Não existe nenhuma estratégia. A gente não tem um norte, pilares de conteúdo.
Sinto falta dessa proatividade, de uma senioridade.”
Central de Consultas · sobre a parceria atual de SEO
Isso não é promessa.
É método.
A citação entra só quando o lead disse algo forte de verdade, literal, com aspas tipográficas e atribuição à empresa e ao contexto ("reunião de diagnóstico, setembro de 2026"). O reforço "Isso não é promessa. É método." é fixo e fecha o bloco do método em toda proposta.
O método (visão macro)
SEO & GEO Mestre. Aplicado em mais de 500 empresas.
Estratégia, técnica, implementação, produção de conteúdo com validação médica e inteligência competitiva em uma única operação. No formato mais completo da Mestre: o Projeto A, ampliado para a cadência que o cliente precisa.
Etapas 1 e 2 no primeiro trimestre. Etapas 3, 4 e 5 rodando em paralelo, mês a mês, pelos 12 meses. E o GEO atravessando todas elas.
O método tem nome próprio (SEO & GEO Mestre, Mídia Mestre, Site Mestre, Inbound Mestre) e a prova de autoridade fixa. De 4 a 6 etapas numeradas; a linha de rodapé diz como elas se distribuem no tempo. Quando uma etapa não toca o serviço, ela sai ou é adaptada; nada fica genérico.
Tela de etapa
Nós documentamos. Nós implementamos.
Auditoria sem implementação vira PDF na gaveta. Aqui, o mesmo time que encontra o problema corrige no WordPress, dentro do banco de horas do projeto.
Planilha de validação compartilhada e dashboard de implementações: status, tempo estimado e tempo consumido, abertos para todo o time do cliente.
Nenhuma dependência de plataforma de nicho, nenhum fornecedor que vocês não consigam trocar. O que precisa de velocidade se resolve dentro do CMS que vocês já dominam.
Toda tela de etapa carrega o número fantasma no canto superior direito e o kicker "Etapa N ·
Nome". O corpo varia: persona ao lado de três fontes (Etapa 1), lista de termos com chips (Etapa 2), fluxo +
dois blocos (implementação), árvore de .org (arquitetura), quatro cards de versão (teste A/B). A
tela de etapa só vai ao escuro quando carrega uma decisão (WordPress ou HubSpot) ou um mock de busca.
Sequência de Key Visual (com criativos, design ou landing pages)
Tudo começa por um Key Visual.
Antes da primeira peça, construímos o Key Visual do projeto: o sistema visual que dá unidade aos anúncios, ao remarketing e às páginas. Sem ele, cada peça vira uma marca diferente.
Cores, tipografia e uso do logo aplicados ao posicionamento do cliente.
Modelos para anúncios, landing pages e site, prontos para escalar sem retrabalho.
A mesma marca com mensagens distintas por segmento, sem virar duas empresas.
Aprovado no primeiro mês, orienta tudo o que o cliente comunicar depois.
construído pela Mestre
Exemplo real: Key Visual construído pela Mestre para um projeto de Inbound.
O que o Key Visual entrega na prática.
Não é um layout bonito: é um manual de aplicação. Quem produz a peça seguinte já sabe exatamente o que usar.
Paleta definida, com hierarquia entre tons de base e cores de destaque.
Família tipográfica e pesos permitidos para títulos, apoios e chamadas.
Padrões de fundo para dar variedade sem quebrar a unidade.
Um sistema visual. Vários ângulos de venda.
As quatro peças saíram do mesmo Key Visual, em um projeto da casa. O que muda em cada uma é a dor atacada.
Topo: dor ampla e promessa de crescimento.
Diagnóstico: convite de baixa barreira.
Fundo: ataca a conversão, não o tráfego.
Qualificação: fala em cliente certo.
Sequência de referência (Knewin): "Tudo começa por um Key Visual", "O que o Key Visual entrega na prática" e "Um sistema visual. Vários ângulos de venda". Entra sempre que a proposta inclui criativos, design ou landing pages. As imagens são as do projeto da casa, em base64; os quatro ângulos recebem legenda com a dor do lead.
Como funciona (duração e timeline)
12 meses. Nem mais, nem menos.
Personas, estudo de palavras e prompts, análise geral, Documento de Arquitetura e primeira análise de concorrência.
Blog migrado para a estrutura nova, conteúdo em cadência mensal, implementações validadas ciclo a ciclo.
Autoridade consolidada no Google e nas IAs, páginas por cidade publicadas e o confronto com os concorrentes virando a favor.
A nona unidade abre no fim de novembro. Perfil local, página e linkagem prontos antes da inauguração é a diferença entre nascer no mapa e correr atrás depois.
"12 meses. Nem mais, nem menos." é o padrão; projetos de site usam "90 dias de projeto" com a ressalva de estimativa condicionada às aprovações, em asterisco. Três fases, três barras, três colunas. Fase 1 / Fase 2 ganham uma tela de timeline cada.
Quem cuida do projeto
Um time inteiro. Um único esforço seu.
pessoas ligadas ao projeto, entre estratégia, gestão, conteúdo, desenvolvimento e operação.
SEO & GEO
Conteúdo
Especialistas dedicados por frente. Você fala com quem executa, não com um generalista dividido entre contas.
Três níveis: direção, gestores, operação. O contato direto e a pessoa de Sucesso do Cliente ficam em caixas invertidas (ou tracejada, abaixo da fileira, quando a fileira tem 5 caixas). O número do time é contado e bate com as caixas. Sucesso do Cliente aparece aqui, na cadência de contato e no escopo, em toda proposta.
Como falamos com você
Proximidade de verdade, com cadência combinada.
Canal exclusivo do projeto no Discord, com os analistas dentro. Pedido feito, tarefa estimada e na fila.
Profissional de Sucesso do Cliente dedicado ao projeto, com alinhamentos pelo seu WhatsApp, e somente com ele.
Follow-ups nos dois primeiros meses, para o projeto ganhar ritmo desde a largada. Estratégia, não lista de tarefas.
Relatório apresentado ao vivo todo mês e, a cada trimestre, a Revisão de Sucesso.
Canais oficiais: e-mail, Discord e Google Meet, tudo registrado, com organização e histórico. E proatividade é regra da casa: nós levamos status, achados e pendências até você, antes de você precisar cobrar.
Escopo
O que entregamos na largada.
Briefing e planejamento das ações de SEO & GEO, com revisão de rota
2 personas e 2 jornadas de compra
Pesquisa de palavras-chave e prompts, com apresentação
2 rodadas de criação de pautas e Manual do Tom de Voz
Revisão de Google Analytics 4 e Search Console
1 dashboard de resultados em tempo real
Planilha de validação das implementações e do banco de horas
Reunião de início de projeto
As documentações de planejamento iniciam em 30 a 45 dias após a reunião de início. As primeiras reotimizações e a blindagem técnica entram já no primeiro ciclo mensal.
Duas telas: "O que entregamos na largada" (setup e planejamento) e "O que rodamos mês a mês" (operação contínua, com a nota "quantidades totais do projeto, distribuídas mês a mês"). Categorias em tag invertida, quantidades explícitas, itens com régua. Aqui pode citar ferramenta (GA4, Search Console, WordPress). Quantidades e valores saem do arquivo "Escopos e Valores".
Módulo de horas (tela separada)
Manutenção e melhorias em WordPress, com previsibilidade.
horas por mês, em banco de horas.
Estimativa antes, execução, débito do que foi consumido de fato e relatório do saldo todo mês.
Página da nova unidade
Implementação dos documentos técnicos
Botões, banners e preços
Migração do blog com redirecionamentos
Horas além das 10 mensais são cobradas a R$ 350,00 por hora, sempre com estimativa aprovada antes. Projetos maiores, como um novo site, recebem orçamento à parte.
Horas de implementação sempre em tela própria, em um dos três formatos: inclusas no escopo, pacote avulso (valor fechado, diluível nas parcelas) ou módulo mensal (banco de horas). O preço do módulo ganha a tela de investimento própria, no mesmo molde "12× R$ X".
Âncora Glassdoor
Uma equipe de SEO e desenvolvimento custa mais de R$ 30 mil/mês.
salário-base médio: R$ 6 mil
salário-base médio: R$ 4 mil
salário-base médio: R$ 2 mil
salário-base médio: R$ 4 mil
Isso sem falar na perda de produção por pausas de férias, dias doentes ou ausências justificadas…
Fonte: Glassdoor Brasil · custo CLT estimado com encargos e benefícios.
Três ou quatro cards com faixa, salário-base médio e o Custo CLT no rodapé em tinta. O título arredonda a soma para baixo ("mais de R$ 25 mil", "mais de R$ 30 mil"). Entra em toda proposta em português de serviço contínuo; sai das versões em inglês. Cargos e valores do catálogo oficial no método geral.
Pergunta de investimento e CTA
Hoje, quem pergunta ao Google ou a uma IA onde fazer um exame acessível em Porto Alegre já recebe uma resposta.
E qual o investimento para que a resposta seja a sua empresa?
Demos o primeiro passo.
Agora é a sua vez.
comercial@agenciamestre.com · (11) 2364-5494
A pergunta retoma a dor central em uma frase e termina com "E qual o investimento para…". O CTA é fixo: "Demos o primeiro passo. / Agora é a sua vez." com comercial@agenciamestre.com e o telefone, sem closer nomeado. Em versões com closer definido, entra e-mail e ramal da pessoa.
Investimento (parcelado)
Investimento no SEO & GEO Mestre.
A primeira no ato da assinatura do contrato, as demais todo dia 05 do mês.
O formato mais completo da Mestre: 48 artigos novos, 96 reotimizações, 12 documentos técnicos, arquitetura, SEO local das 9 unidades e gestão de IAs em uma única operação.
Sempre parcelado ("12× R$ 15.000", "3× R$ 14.000"), nunca o total do contrato. Em dólar, a linha
de referência em t-md cinza logo abaixo ("≈ 3× US$ 2.800 · referência de R$ 5,00 por dólar em 09/10/2026"). Com
âncora, o valor riscado entra em t-lg .strike acima do t-hero.
Setup + Fee mensal (mídia paga)
Investimento na Mídia Mestre.
O fee mensal acompanha a verba de anúncios do mês · tabela na próxima tela.
Cobrança via boleto: o setup no ato do fechamento e o fee mensal sempre no dia 05 de cada mês.
Gerenciamento da Mídia Paga.
Para os valores investidos em anúncios, há uma taxa mensal de criação, gestão e otimização que segue a tabela:
Na realidade do cliente: nos cenários apresentados, o gerenciamento é de R$ 2.200,00. E quando a verba crescer, a tabela já mostra quanto passa a ser.
Uma tela só com "Setup + Fee mensal" na mesma linha; a tabela de gerenciamento vem na tela
seguinte, sempre, com o exemplo de leitura para a verba do lead. Faixas e valores vigentes são os do arquivo
"Escopos e Valores". A versão em dólar usa .mrow com .usd.
Cenários de verba e tarja de fase
Quanto sai por mês, em cada cenário.
1.600 a 3.100 cliques estimados por mês.
2.800 a 5.400 cliques estimados por mês.
4.000 a 7.800 cliques estimados por mês.
Investimento nos 90 dias de diagnóstico e plano.
* Condições válidas para contratos assinados até 15/10/2026.
Cenários: três cards com a conta completa (verba + gestão = total), o recomendado invertido. A
tarja de fase entra em propostas de duas fases, acima do título, para não deixar dúvida sobre a que valor cada
tela se refere; o número fantasma repete a fase. Âncora riscada em .strike só quando houver condição
real com prazo.
Reforço do incluso e premissas
Reforçando: o que está nesse investimento.
Todo o escopo técnico e estratégico: análise geral, 12 documentos, arquitetura, backlinks, SEO local e gestão de IAs mês a mês.
48 artigos novos, 96 reotimizações, fluxo de validação, páginas de autor e Manual do Tom de Voz.
Analista dedicado, Sucesso do Cliente no WhatsApp, relatório mensal ao vivo e Revisão de Sucesso trimestral.
Fora do investimento: hospedagem, plugins e ferramentas de terceiros, verba de anúncios e projetos acima do banco de horas.
Importante considerar.
1º pagamento no ato; demais, todo dia 05 de cada mês
Entregas de planejamento iniciam em 30 a 45 dias após a reunião de início
Implementações no WordPress feitas pela Mestre dentro do banco de 10 horas; horas adicionais a R$ 350,00
Acessos a GA4, Search Console, perfis locais, WordPress e hospedagem concedidos pela contratante
Hospedagem, plugins e ferramentas por conta da contratante
Novo site ou projetos acima do banco de horas sob orçamento à parte
Rescisão antecipada com multa de 40% sobre as parcelas restantes
Comunicação com 90 dias de antecedência, sem multa
Premissas em duas colunas de itens com régua (a classe .tight compacta listas longas
sem cortar premissa). A permanência vai na caixa de duas colunas com o "OU" central, nunca como item de lista.
Em módulos mensais dentro de um projeto fechado, a caixa recebe o kicker "Permanência e saída dos módulos mensais".
Blueprint do deck
A ordem é uma sequência de persuasão. Cada bloco prepara o seguinte; nenhum troca de lugar. Blocos marcados como condicionais entram quando a condição existe e saem sem deixar buraco.
Movimento
Toda animação usa a mesma curva, cubic-bezier(.22,1,.36,1), e só anima transform,
opacity e clip-path. A ordem de entrada é controlada por --d, em passos de 90ms.
| Animação | Especificação | Onde |
|---|---|---|
| Troca de tela | opacity 0→1 e scale .988→1 em .75s; visibility com atraso de .75s na saída; trava de 420ms entre trocas | Toda .slide |
data-a (padrão) | sobe 30px e aparece em .9s; atraso calc(var(--d)*.09s + .15s) | Títulos, parágrafos, cards, caixas. --d de 1 a 12 define a ordem de leitura |
data-a="k" | letter-spacing .6em→.34em em 1.2s, atraso .1s | Kicker. É sempre o primeiro a entrar |
data-a="clip" | revela de cima para baixo com clip-path em 1.1s | t-hero (capa, valores, números-herói) e manifestos t-big |
data-a="line" | scaleX 0→1 da esquerda em 1.1s, atraso +.2s | Réguas .hr, inclusive as de 2px que abrem cards |
| Contador | 1,6s easeOutExpo até data-target, começa 350ms após a tela abrir, formato pt-BR, data-fmt="dec" para decimais | Todo número grande |
.gbar / .vbar | scaleX (1.1s, atraso +.3s) e scaleY (.9s, atraso +.35s) | Timeline Gantt e barras verticais |
.chart polyline | stroke-dashoffset 900→0 em 1.7s, atraso .6s | Linha de gráfico |
| Barra de progresso | scaleX proporcional ao índice, .5s | #progress, 2px no topo, em diferença de cor |
Sequência padrão de --d em uma tela de conteúdo: kicker (k) → título (1) → parágrafo de abertura
(2) → blocos ou cards (3 a 7, um passo cada) → régua (line) → caixa final ou linha de fonte (8 a 9). Cards de
uma mesma fileira podem pular de dois em dois (2, 4, 6) para a leitura acompanhar o olho.
Teclado: setas, PageUp/PageDown, espaço, Home, End e F para tela cheia. Toque: arrastar 50px
troca de tela. O índice vai para o hash da URL, então um link #12 abre direto na tela 13. Tudo
desliga sob prefers-reduced-motion: reduce, com contadores fixos no valor final.
Conteúdo e copy
Tom
Consultivo, em primeira pessoa do plural, com o lead no "vocês". O título de cada tela afirma algo que o leitor reconhece ("O site novo subiu. O MQL caiu.", "Na saúde, o Google só confia em quem assina."), e o corpo prova com número, fonte e consequência de negócio. A proposta fala como alguém que já estudou a casa, não como um catálogo.
Fórmulas que se repetem
| Peça | Molde | Exemplos |
|---|---|---|
| Kicker | "Seção · Subtítulo" | Desafio · O raio-X técnico; Etapa 2 · Planejamento; Investimento · Gestão de mídia paga; Módulo opcional · Pacote de horas WordPress |
| Título de tela | Frase + trecho decisivo em Black, com ponto final | Nós documentamos. Nós implementamos. · Tudo começa por um Key Visual. |
| Título invertido | Frase forte. Complemento em cinza. | Três travas. Um mesmo efeito: muito conteúdo, pouco paciente. · 12 meses. Nem mais, nem menos. |
| Transição | Linha 1 Regular / Linha 2 Black | Isso não é promessa. / É método. · Para cada uma dessas travas, / existe um método. |
| Número-herói | sinal + número + legenda em negrito + contexto em t-small + fonte | −83% / do tráfego orgânico em três anos. / Eram 458 mil visitas… / Fonte: análise de visibilidade orgânica · outubro de 2026 |
| Caixa de fechamento | rótulo em caixa alta + leitura de negócio com a virada em negrito | O ATIVO JÁ EXISTE · O CALENDÁRIO JOGA A FAVOR · NADA DISSO PEDE TROCAR DE PLATAFORMA · EXEMPLO DE LEITURA |
| Linha de fonte | "Fonte: [tipo de análise] · [mês de ano]" | rastreamento técnico do site, 2.709 endereços · outubro de 2026; reunião de diagnóstico com o time · outubro de 2026 |
| Ponte do case | "É o mesmo ponto de partida de…" / "É o jogo de…" | a frase abaixo da régua que liga o case ao lead |
| Pergunta de investimento | dor em uma frase + "E qual o investimento para…" | …para que a resposta seja a sua empresa? · …para ter a planta da casa? |
- Voz ativa com sujeito claro ("a Mestre implementa", "vocês acionam quando precisar")
- Número com fonte: cada estatística do lead vem de uma análise datada; cada número de case, da página publicada
- Dado → consequência de negócio → oportunidade, nessa ordem, em todo achado
- Frases curtas misturadas com longas; títulos com ponto final
- Citações literais do lead, cortadas se preciso, nunca reescritas
- Nomear o método com a marca: SEO & GEO Mestre, Mídia Mestre, Site Mestre
- Travessão em qualquer texto visível
- Nome de ferramenta nas telas de método e de cenário (vale "rastreamento técnico", "análise de visibilidade orgânica"); nomes só em escopo e premissas
- Nome do decisor: "conforme mencionado", "nas palavras de vocês"
- "Não é X. É Y." em série, advérbios de enchimento, "vale ressaltar"
- Três frases seguidas do mesmo tamanho
- Promessa de posição ou de resultado garantido
- Sobra de outro cliente: nome, segmento, exemplo ou diagrama reaproveitado
Fatos que não mudam sem confirmação
| Fato | Valor vigente | Regra |
|---|---|---|
| Equipe | 65 colaboradores | Se encontrar outro número em material antigo, corrigir e avisar |
| Tempo de mercado | desde 2008 · 18 anos em 2026 | anos = ano corrente − 2008; o contador recebe o número, não o texto |
| Prova de autoridade | "Aplicado em mais de 500 empresas." | Fixa na tela do método |
| Números de case | só os publicados | Conferir na página individual do case em agenciamestre.com/cases (a geral resume e às vezes diverge). Citar o recorte |
| Pagamento | 1ª no ato · demais dia 05 | Boleto no Brasil; invoice em dólar para o exterior, com a cotação do dia do pagamento |
| Prazo e saída | 12 meses · multa de 40% sobre as parcelas restantes · ou aviso prévio de 90 dias | Premissa padrão; outros prazos só quando pedidos |
| Sucesso do Cliente | em todo projeto | Organograma, cadência de contato e escopo; WhatsApp só com essa pessoa; follow-ups semanais nos dois primeiros meses |
| Contato final | comercial@agenciamestre.com · (11) 2364-5494 | Sem closer nomeado, salvo pedido |
| Escopos e valores | arquivo "Escopos e Valores" vigente | Só muda com pedido explícito |
Regras comerciais nas telas de preço
| Situação | Como aparece | Tela |
|---|---|---|
| Projeto mensal de 12 meses | 12× R$ X em t-hero; kicker "Parcelas mensais e iguais · cobrança por boleto"; sem total do contrato | Investimento |
| Projeto fechado (site, diagnóstico) | 3× R$ X, com o prazo na frase de valor ("Projeto fechado de 90 dias…") | Investimento |
| Mídia paga standalone | R$ Setup + Fee mensal na mesma linha; o fee explicado na tela seguinte | Setup + Fee → Tabela |
| Mídia paga em projeto combinado | Setup embutido no valor do projeto; tabela de gerenciamento continua obrigatória | Investimento → Tabela |
| Tabela de gerenciamento | Faixas de investimento mensal × valor (fixo nas baixas, percentual regressivo nas altas) + "Exemplo de leitura" com a verba do lead + mínimo mensal de mídia | Logo após o preço |
| Cenários de verba | Três cards doc com verba + gestão = total; o recomendado invertido; setup lembrado no rodapé | Após a tabela |
| Horas de implementação | Tela própria para o módulo e tela própria para o preço; hora adicional a R$ 350,00 | Módulo + Investimento do módulo |
| Âncora de valor | Glassdoor com Custo CLT antes da pergunta de investimento; preço "de/por" com .strike só com condição datada | Antes do preço |
| Duas fases | Tarja "FASE 1 · …" e "FASE 2 · …" acima do título, número fantasma 1 e 2, timeline por fase | Investimento |
| Módulos opcionais | Cada um com tela de escopo e tela de investimento, depois do investimento principal; "podem ser ativados na assinatura ou em qualquer mês" | Após o principal |
| Moeda estrangeira | Valor em reais; referência em US$ em t-md cinza e .usd na tabela; cotação e data declaradas nas premissas | Investimento, Tabela, Premissas |
| Reforço do incluso | Três cards + linha "Fora do investimento" | Antes das premissas |
Engenharia
Um arquivo HTML, sem dependência além da fonte. O design é um ativo congelado (o kit); o conteúdo é o que muda. Abaixo, o esqueleto, o kit completo e o pipeline de build e QA.
Esqueleto do arquivo
<!-- head --> <title>Plano Mestre · Nome do Cliente</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;900&display=swap" rel="stylesheet"> <style> /* kit congelado + adições do deck + CSS aditivo + @media */ </style> <!-- uma tela --> <section class="slide light"> <div class="num-ghost" style="position:absolute;right:7vw;top:6vh;font-size:clamp(90px,13vw,13rem)">3</div> <div class="kicker" data-a="k">Etapa 3 · Implementação</div> <h2 class="t-xl mt1" data-a style="--d:1">Nós documentamos. <span class="bk">Nós implementamos.</span></h2> <div class="cols c2 mt3" style="align-items:start"> <div data-a style="--d:4"><div class="t-md b">…</div><p class="t-body mt1">…</p></div> <div data-a style="--d:5">…</div> </div> <div class="inkbox mt3" data-a style="--d:7"><div class="lbl">…</div><p class="t-md mt1" style="line-height:1.45">… <span class="b" style="color:var(--paper)">…</span></p></div> </section> <!-- chrome fixo, depois da última tela --> <div id="progress"></div> <div id="brand">Agência Mestre</div> <div id="hint"><span id="pg">1</span> / <span id="tot">30</span> · <span class="navbtn" id="prev">←</span> <span class="navbtn" id="next">→</span></div> <script> /* navegação, abaixo */ </script>
CSS aditivo obrigatório (antes do @media, sem tocar no kit)
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
/* medida de linha no escuro, já consolidada nos decks recentes */
.dark .t-md{line-height:1.5}
.dark .t-body{line-height:1.62;font-weight:500}
.dark .t-small{font-weight:500}
Kit CSS congelado (produção, em vw/vh)
:root{
--ink:#0a0a0a; --paper:#f4f2ed; --grey:#6b6760; --grey-d:#93908a;
--mid:#4a4740; --tone:#e3dfd4; --tone-ink:#151515; --line:#dcd8cc;
--ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:var(--ink)}
body{font-family:'Outfit',system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--ink);color:var(--paper)}
/* ---------- SLIDES ---------- */
.slide{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;
padding:7vh 7vw;opacity:0;visibility:hidden;pointer-events:none;
transition:opacity .75s var(--ease),transform .75s var(--ease),visibility 0s .75s;
transform:scale(.988);overflow:hidden;isolation:isolate}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);transition-delay:0s}
.dark{background:var(--ink);color:var(--paper)}
.light{background:var(--paper);color:var(--ink)}
/* grain nos slides escuros */
.dark::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* diagonais brutalistas (fundo) */
.diag{position:absolute;top:-12vh;bottom:-12vh;width:9vw;z-index:-1;background:var(--tone-ink);
transform:skewX(-16deg);pointer-events:none}
.light .diag{background:#ecE8dd}
/* wordmark fantasma */
.ghost{position:absolute;left:50%;top:50%;z-index:-1;transform:translate(-50%,-50%);
font-weight:900;font-size:24vw;letter-spacing:-.01em;color:#101010;
pointer-events:none;user-select:none;white-space:nowrap}
/* ---------- TIPOGRAFIA ---------- */
.kicker{font-weight:500;font-size:clamp(12px,1vw,13px);letter-spacing:.34em;text-transform:uppercase;color:var(--grey)}
.dark .kicker{color:var(--grey-d)}
.t-hero{font-weight:900;font-size:clamp(72px,17vw,19rem);line-height:.92;letter-spacing:-.015em}
.t-big{font-weight:900;font-size:clamp(40px,7.2vw,7.5rem);line-height:1;letter-spacing:-.01em}
.t-xl{font-size:clamp(30px,4.2vw,4.2rem);line-height:1.16}
.t-lg{font-size:clamp(24px,3vw,3rem);line-height:1.2}
.t-md{font-size:clamp(17px,1.55vw,1.65rem);line-height:1.4}
.t-body{font-size:clamp(14px,1.15vw,1.2rem);line-height:1.55;color:var(--grey)}
.dark .t-body{color:var(--grey-d)}
.t-small{font-size:clamp(13px,.95vw,1rem);line-height:1.55;color:var(--grey)}
.dark .t-small{color:var(--grey-d)}
.b{font-weight:700}.bk{font-weight:900}.lt{font-weight:300}
.muted{color:var(--grey)}.dark .muted{color:var(--grey-d)}
/* ---------- LAYOUT HELPERS ---------- */
.cols{display:grid;gap:3.4vw}
.c3{grid-template-columns:repeat(3,1fr)}
.c4{grid-template-columns:repeat(4,1fr)}
.c2{grid-template-columns:repeat(2,1fr)}
.mt1{margin-top:1.4vh}.mt2{margin-top:3vh}.mt3{margin-top:5vh}.mt4{margin-top:7vh}
.hr{height:1px;background:var(--line);border:0;transform-origin:left;width:100%}
.dark .hr{background:#242424}
.num-ghost{font-weight:900;font-size:clamp(56px,7.5vw,8rem);line-height:1;color:var(--tone);z-index:-1}
.chip{display:inline-block;border:1px solid var(--ink);padding:.7em 1.1em;font-size:clamp(12px,1.05vw,1.1rem)}
.inkbox{background:var(--ink);color:var(--paper);padding:2.6vh 2.2vw}
.inkbox .lbl{font-weight:500;font-size:clamp(11px,.85vw,.85rem);letter-spacing:.32em;text-transform:uppercase;color:var(--grey-d)}
.dashbox{border:1px dashed var(--grey);display:flex;align-items:center;justify-content:center;text-align:center;
color:var(--grey);font-weight:300;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(10px,.95vw,.95rem);line-height:2}
/* ---------- ANIMAÇÃO DE ENTRADA ---------- */
[data-a]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*.09s + .15s)}
.active [data-a]{opacity:1;transform:none}
[data-a="clip"]{transform:none;clip-path:inset(0 0 102% 0);transition:opacity .9s var(--ease),clip-path 1.1s var(--ease);transition-delay:calc(var(--d,0)*.09s + .15s)}
.active [data-a="clip"]{clip-path:inset(-2% 0 -6% 0)}
[data-a="line"]{transform:scaleX(0);transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0)*.09s + .2s)}
.active [data-a="line"]{transform:scaleX(1)}
[data-a="k"]{letter-spacing:.6em;transition:opacity 1s var(--ease),letter-spacing 1.2s var(--ease),transform .9s var(--ease);transition-delay:.1s}
.active [data-a="k"]{letter-spacing:.34em}
/* ---------- LOGOS ---------- */
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4.5vh 2.5vw;align-items:center;justify-items:center}
.logo-grid img{max-height:clamp(26px,4.6vh,46px);max-width:100%;width:auto;object-fit:contain}
/* ---------- CITAÇÃO ---------- */
.quote-mark{position:absolute;top:4vh;left:6vw;z-index:-1;font-weight:900;font-size:26vh;line-height:1;color:#161616;user-select:none}
/* ---------- NAVEGAÇÃO ---------- */
#progress{position:fixed;top:0;left:0;height:2px;background:#f4f2ed;mix-blend-mode:difference;width:100%;transform:scaleX(0);transform-origin:left;z-index:60;transition:transform .5s var(--ease)}
.li{border-top:1px solid var(--line);padding-top:1.4vh}
#hint{position:fixed;bottom:24px;right:32px;font-size:12px;font-weight:300;letter-spacing:.08em;opacity:.55;z-index:50;color:#f4f2ed;mix-blend-mode:difference;user-select:none}
.navbtn{cursor:pointer;display:inline-block;padding:10px 12px;margin:-10px -4px;font-size:15px;transition:opacity .25s}
.navbtn:hover{opacity:1;transform:none}
#brand{position:fixed;bottom:24px;left:32px;font-size:11px;font-weight:300;letter-spacing:.3em;text-transform:uppercase;opacity:.35;z-index:50;color:#f4f2ed;mix-blend-mode:difference;user-select:none}
/* ---------- VISUAIS ILUSTRATIVOS ---------- */
.flow{display:flex;align-items:center;width:100%}
.node{border:1px solid #2e2e2e;padding:1.8vh 1.1vw;text-align:center;font-weight:700;font-size:clamp(10px,.95vw,1rem);letter-spacing:.08em;flex:none}
.node small{display:block;font-weight:300;font-size:.72em;letter-spacing:.22em;color:var(--grey-d);margin-top:.5vh}
.light .node{border-color:var(--ink)}
.link{flex:1;height:1px;background:#2e2e2e;min-width:1.5vw}
.light .link{background:var(--ink)}
.xmark,.okmark{width:5vh;height:5vh;border:1px solid var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:2.3vh;flex:none;color:var(--paper)}
.persona{border:1px solid var(--ink);padding:3.2vh 1.8vw;position:relative;background:var(--paper)}
.persona .ptag{position:absolute;top:-1.4vh;right:1.4vw;background:var(--ink);color:var(--paper);font-size:clamp(8px,.7vw,.7rem);letter-spacing:.28em;padding:.6em 1.2em;font-weight:300;text-transform:uppercase}
.pfield{font-size:clamp(11px,.75vw,.8rem);letter-spacing:.26em;text-transform:uppercase;color:var(--grey);font-weight:500;margin-top:2vh}
.serp{background:#0e0e0e;border:1px solid #262626;padding:2.4vh 1.5vw}
.sbar{border:1px solid #303030;border-radius:99px;padding:1.3vh 1.3vw;font-size:clamp(11px,.95vw,1rem);color:var(--paper);display:flex;align-items:center;gap:.7vw}
.skel{height:1.1vh;background:#1d1d1d;border-radius:2px;margin-top:1.3vh}
.srcchip{display:inline-flex;align-items:center;gap:.5vw;border:1px solid var(--paper);color:var(--paper);padding:.7vh 1vw;font-size:clamp(10px,.85vw,.9rem);font-weight:700;margin-top:2vh}
.doc{border:1px solid var(--ink);background:var(--paper)}
.dhead{display:flex;align-items:center;gap:.45vw;padding:1.3vh 1.1vw;border-bottom:1px solid var(--ink)}
.dot{width:1.1vh;height:1.1vh;border:1px solid var(--ink);border-radius:50%}
.skel-l{height:1vh;background:var(--tone);border-radius:2px;margin-top:1.4vh}
.gbar{height:4vh;background:var(--ink);transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0)*.09s + .3s)}
.active .gbar{transform:scaleX(1)}
.gtrack{position:relative;height:4vh;margin-top:1.6vh}
.vbar{width:100%;transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--d,0)*.07s + .35s)}
.active .vbar{transform:scaleY(1)}
.vok{background:var(--paper)}
.vbad{background:repeating-linear-gradient(45deg,var(--paper) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1px var(--paper)}
.chart polyline{stroke-dasharray:900;stroke-dashoffset:900}
.active .chart polyline{animation:draw 1.7s var(--ease) .6s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.org{border:1px solid var(--ink);padding:1.3vh .9vw;text-align:center;font-size:clamp(10px,.82vw,.88rem);font-weight:700;letter-spacing:.04em}
.orgline{width:1px;height:2.4vh;background:var(--ink);margin:0 auto}
.tagf{display:inline-block;border:1px solid var(--grey);color:var(--grey);font-size:.6em;letter-spacing:.2em;padding:.3em .7em;margin-left:.8em;vertical-align:middle;font-weight:300}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
@media (max-width:820px){
.slide{padding:6vh 7vw}
.cols{grid-template-columns:1fr!important;gap:3vh!important}
.logo-grid{grid-template-columns:repeat(3,1fr)}
.ghost{font-size:34vw}
.flow{flex-wrap:wrap;gap:1.2vh .8vw}
.link{min-width:6vw}
}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{transition:none!important;animation:none!important}
[data-a],[data-a="clip"],[data-a="k"]{opacity:1;transform:none;clip-path:none}
[data-a="line"]{transform:scaleX(1)}
.gbar{transform:scaleX(1)}
.vbar{transform:scaleY(1)}
.chart polyline{stroke-dasharray:none;stroke-dashoffset:0}
}Adições por tipo de projeto (SocialLadder · Assis e Mendes)
/* ---------- ADIÇÕES · projeto de site (SocialLadder) ---------- */
.tcard{border:1px solid var(--ink);padding:2.2vh 1.1vw;display:flex;flex-direction:column;background:var(--paper)}
.tcard .ttag{display:inline-block;align-self:flex-start;background:var(--ink);color:var(--paper);font-size:clamp(9px,.68vw,.72rem);letter-spacing:.24em;text-transform:uppercase;padding:.55em 1em;font-weight:500}
.tcard .t-md{min-height:1.4em;white-space:nowrap}
.tcard .ttag{white-space:nowrap}
.lcard{border:1px solid var(--ink);padding:2.6vh 1.6vw;display:flex;flex-direction:column;background:var(--paper)}
.lcard-ink{background:var(--ink);color:var(--paper)}
.lcard-ink .t-body{color:var(--grey-d)}
.dcard{border:1px solid #2e2e2e;padding:2.6vh 1.6vw;display:flex;flex-direction:column}
.dcard-on{border-color:var(--paper)}
.vcard{border:1px solid var(--ink);padding:2vh 1.1vw;display:flex;flex-direction:column;background:var(--paper)}
.vcard .t-md{min-height:2.6em}
.mrow{display:grid;grid-template-columns:2.6fr .7fr .8fr .5fr 1.3fr;gap:.8vw;align-items:center;padding:.9vh 0;border-top:1px solid var(--line);font-size:clamp(11px,.82vw,.9rem);line-height:1.3}
.mrow.mhead{border-top:0;font-weight:500;letter-spacing:.16em;text-transform:uppercase;font-size:clamp(9px,.68vw,.72rem);color:var(--grey)}
.mrow span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cimg{border:1px solid var(--ink);overflow:hidden;background:var(--tone)}
.cimg img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.cimg.kvp{aspect-ratio:2.32/1;height:auto;background:#fff}
.cimg.kvp img{object-fit:contain;object-position:center}
.cimg.kvc{aspect-ratio:1/1;height:auto;background:#000}
.cimg.kvc img{object-fit:contain;object-position:center}
.usd{display:block;font-weight:400;color:var(--grey);font-size:.82em;line-height:1.25;margin-top:.15em}
/* ---------- ADIÇÕES · diagnóstico SEO & GEO (Assis e Mendes) ---------- */
.t-lead{font-weight:400;font-size:clamp(20px,2.1vw,2.1rem);line-height:1.3;letter-spacing:-.005em}
.tight .li{padding:.9vh 0;font-size:clamp(15px,1.3vw,1.45rem)}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.dark .t-body{font-weight:500}
.dark .t-small{font-weight:500}
.chatq{display:flex;justify-content:flex-end}
.chatq .bub{background:#1c1c1c;border:1px solid #2c2c2c;border-radius:14px 14px 2px 14px;padding:1.4vh 1.2vw;font-size:clamp(12px,1.05vw,1.1rem);color:var(--paper);max-width:78%}
.chata{margin-top:1.8vh}
.bars .row{display:grid;grid-template-columns:1fr 3fr auto;gap:1.4vw;align-items:center;margin-top:1.6vh}
.bars .lab{font-size:clamp(13px,1.15vw,1.2rem);font-weight:700;line-height:1.2}
.bars .lab small{display:block;font-weight:300;color:var(--grey);font-size:.82em;letter-spacing:.04em}
.bars .val{font-weight:900;font-size:clamp(20px,2.1vw,2.2rem);line-height:1;min-width:4.2ch;text-align:right}
.serp .res{display:flex;align-items:baseline;gap:1vw;padding:1vh 0;border-bottom:1px solid #1e1e1e}
.serp .res .pos{font-weight:900;color:var(--grey-d);min-width:2.4ch;font-size:clamp(12px,1vw,1.05rem)}
.serp .res .dom{font-size:clamp(12px,1vw,1.05rem);color:var(--paper)}
.serp .res .dom small{color:var(--grey-d);font-weight:300;margin-left:.6vw}
.excerpt{border:1px solid var(--ink);padding:2vh 1.4vw;background:#efece4;font-size:clamp(13px,1.1vw,1.15rem);line-height:1.55;color:var(--mid)}
.excerpt mark{background:var(--ink);color:var(--paper);padding:.05em .3em;font-weight:700}
.tree .lvl{display:grid;gap:.9vw}
.pill{display:inline-block;border:1px solid var(--ink);padding:.55em .9em;font-size:clamp(11px,.95vw,1rem);margin:.4vh .4vw .4vh 0;font-weight:500}
.pill.dim{border-color:var(--grey);color:var(--grey);font-weight:300}
.release{border:1px solid var(--ink);background:var(--paper);padding:2vh 1.4vw}
.release .rh{font-weight:900;font-size:clamp(16px,1.5vw,1.6rem);line-height:1.25}
.release .rq{font-style:italic;color:var(--mid);margin-top:1.4vh;font-size:clamp(12px,1.05vw,1.1rem);line-height:1.5}
.release u{text-decoration:none;background:#e3dfd4;padding:0 .2em}
.strike{text-decoration:line-through;text-decoration-thickness:.08em;color:var(--grey);font-weight:400}Navegação (JavaScript do deck)
(function(){
const slides=[...document.querySelectorAll('.slide')];
const tot=slides.length, pg=document.getElementById('pg');
document.getElementById('tot').textContent=tot;
const bar=document.getElementById('progress');
let idx=Math.min(tot-1,Math.max(0,parseInt(location.hash.slice(1))||0));
let animLock=false, booted=false;
const RM = (typeof matchMedia === 'function') ? matchMedia('(prefers-reduced-motion: reduce)').matches : false;
function fmt(n,mode){
if(mode==='dec')return n.toFixed(2).replace('.',',');
return Math.round(n).toLocaleString('pt-BR');
}
function runCounters(slide){
slide.querySelectorAll('[data-count]').forEach(el=>{
const target=parseFloat(el.dataset.target), mode=el.dataset.fmt==='dec'?'dec':'int';
if(RM){el.textContent=fmt(target,mode);return;}
const dur=1600, t0=performance.now();
function tick(t){
const p=Math.min(1,(t-t0)/dur), e=1-Math.pow(2,-10*p); // easeOutExpo
el.textContent=fmt(target*e,mode);
if(p<1)requestAnimationFrame(tick); else el.textContent=fmt(target,mode);
}
requestAnimationFrame(tick);
});
}
function go(n){
if(animLock)return;
n=Math.max(0,Math.min(tot-1,n));
if(n===idx&&slides[n].classList.contains('active'))return;
if(booted){animLock=true; setTimeout(()=>animLock=false,420);} booted=true;
slides.forEach((s,i)=>{s.classList.toggle('active',i===n);s.setAttribute('aria-hidden',i===n?'false':'true');});
idx=n; pg.textContent=n+1;
bar.style.transform='scaleX('+((n+1)/tot)+')';
// reinicia contadores do slide ativo
slides[n].querySelectorAll('[data-count]').forEach(el=>el.textContent=fmt(0,el.dataset.fmt==='dec'?'dec':'int'));
setTimeout(()=>runCounters(slides[n]),350);
try{history.replaceState(null,'','#'+n);}catch(e){}
}
addEventListener('keydown',e=>{
if(['ArrowRight','ArrowDown','PageDown',' '].includes(e.key)){e.preventDefault();go(idx+1);}
else if(['ArrowLeft','ArrowUp','PageUp'].includes(e.key)){e.preventDefault();go(idx-1);}
else if(e.key==='Home')go(0);
else if(e.key==='End')go(tot-1);
else if(e.key.toLowerCase()==='f'){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen();}
});
document.getElementById('next').addEventListener('click',()=>go(idx+1));
document.getElementById('prev').addEventListener('click',()=>go(idx-1));
let tx=null;
addEventListener('touchstart',e=>tx=e.touches[0].clientX,{passive:true});
addEventListener('touchend',e=>{
if(tx===null)return;
const dx=e.changedTouches[0].clientX-tx;
if(Math.abs(dx)>50)go(idx+(dx<0?1:-1));
tx=null;
},{passive:true});
addEventListener('hashchange',()=>{const h=parseInt(location.hash.slice(1)); if(!isNaN(h))go(h);});
go(idx);
})();Pipeline de build
| Etapa | O que acontece |
|---|---|
| 1 · Coleta | Pipedrive (notas, SPIN), Fireflies (transcrição), análise de visibilidade orgânica, rastreamento técnico, Transparency Center de anúncios via Apify quando há mídia |
| 2 · Decisões | Escopo, tier, módulos e formato de preço confirmados em perguntas estruturadas antes de construir |
| 3 · Build | slides_a.py, slides_b.py, slides_c.py geram as telas; build.py compõe com kit_head.html, kit_tail.html e os logos congelados. Toda substituição de string passa por assert h.count(old) == 1 |
| 4 · QA | qa_deck.py em Chromium 1600×900, com a Outfit embutida em base64 para o render local (~/.cache/outfit-variable.ttf). Quatro testes, resultado zero, relatório com as medições |
| 5 · PDF | gerar-pdf-proposta.py origem.html saida.pdf --titulo "…", conferido com pdftoppm em páginas de amostra |
| 6 · Entrega | HTML em Proposta_Mestre_Cliente.html e PDF, publicados em /mnt/user-data/outputs/ |
Harness de QA (Playwright, 1600×900)
| Teste | Medida | Limite |
|---|---|---|
| a) Overflow | scrollHeight e scrollWidth de cada tela contra a janela; decorativos com z-index:-1 (.diag, .ghost, .quote-mark, .num-ghost) ignorados | ≤ 4px |
| b) Largura de parágrafo | Rects das linhas de cada p mesclados em linhas visuais; largura de cada linha (menos a última) contra a largura do contêiner; .org e #hint ignorados | ≥ 88% |
| c) Descendente | Para t-hero, t-big, t-xl e t-lg com line-height ≤ 1.05 contendo g, j, p, q, y ou ç: distância até o próximo elemento | ≥ 0.22em |
| d) Fileira de cards | Diferença de altura entre cards do mesmo grid e alinhamento do topo dos corpos | ≤ 6px |
| + Manifestos | Todo t-big de frase renderiza em uma linha | 1 linha |
| + Conteúdo | Sobras do cliente anterior, data-target coerentes com o texto, pares de <section>, 65 colaboradores, dia 05, zero travessões | 0 ocorrências |
Ativação de tela no harness: location.hash = índice (base 0), depois document.fonts.ready
e 1,4 a 1,7s de espera para as transições fecharem antes de medir.
Checklist de QA
- Ordem das telas igual ao blueprint; blocos condicionais entraram só com a condição
- Momento, desafios, diagnóstico e etapas escritos para este lead; zero sobra de outro cliente (nome, segmento, exemplo, diagrama)
- Todo número do lead com linha de fonte e data; todo número de case conferido na página individual
- 65 colaboradores, 18 anos, 500+ empresas; dia 05; permanência 12 meses com 40% ou 90 dias
- Nenhum nome de ferramenta fora de escopo e premissas; nenhum nome de decisor; nenhum travessão
- Sucesso do Cliente no organograma, na cadência de contato e no escopo
- Preço parcelado, sem total; tabela de mídia logo após o preço quando há mídia; horas em tela própria
- t-hero só com dígitos e caixa alta; manifestos t-big em uma linha; folga de descendente ≥ 0.22em
- Sem measure/max-width em parágrafo; text-wrap balance/pretty injetados
- Decorativos com z-index:-1 e .slide com isolation:isolate; URL do Google Fonts com os seis pesos
- Contadores com data-target coerentes; pares de section fechados; hash abre a tela certa
- Harness em 1600×900 com zero nos quatro testes, medições reportadas junto da entrega
- PDF gerado pelo script canônico, com o número de páginas igual ao de telas
- Escopo, quantidades e valores batendo com o arquivo "Escopos e Valores"
Marca e logo
O nome é Mestre, sem "Agência", em todo texto novo. "Fabio Ricotta" se escreve sem acento. O logo preto vai em fundo claro, o branco em fundo escuro. Prefira sempre o SVG; use PNG só quando o meio não aceita vetor.
Arquivos oficiais
A insígnia (o quadrado com o M) anda sozinha em avatar, favicon e espaços quadrados; o logo horizontal é a forma padrão.
Voz da marca
| Peça | Texto |
|---|---|
| Tagline | Sempre um passo à frente no seu marketing digital. |
| Posicionamento | Unimos estratégia de marketing e inteligência artificial para orientar decisões e gerar resultados consistentes. |
| Palavras-chave | Inteligência, Performance, Estratégia. |
- Logo preto em fundo claro, branco em fundo escuro
- Prefira SVG em qualquer peça digital
- Escreva "Mestre", sem "Agência", em todo texto novo
- Escreva "Fabio Ricotta" sem acento
- Logo preto sobre foto escura ou fundo escuro
- Redesenhar, esticar ou trocar a cor do logo
- Usar logos anteriores ao rebranding em peça nova
Onde estão os arquivos
A pasta oficial no Google Drive é Design System da Mestre · Arquivos de uso contínuo, com as subpastas:
- 01 Logos
- 02 Ícones
- 03 Fonte
- 04 Selos de parceiros
- 05 Marca
Origem do logo oficial: pasta Rebranding (Mayara Duarte).
Não usar em peça nova
Logos anteriores ao rebranding, guardados só para consulta histórica:
- Pasta _Logos (fev/2026)
- Pasta Logo Mestre (ago/2026)
Cor e tipografia do site
Os tokens abaixo vêm do CSS em produção do site novo (no ar desde 03/11/2026). O site divide com o deck a dupla tinta e papel, mas ganha um acento que o deck não tem: o amarelo.
Tokens de cor
Tipografia do site
Outfit, família única, pesos de 300 a 900. A hierarquia vem de peso e tamanho, como no deck. A escala é
fluida, com clamp:
| Nível | Valor | Exemplo |
|---|---|---|
| Display | clamp(3rem, 1.8rem + 5vw, 6rem) |
Tinta e papel |
| H1 | clamp(2.25rem, 1.55rem + 2.9vw, 4rem) |
Título da página |
| H1 de lista | clamp(2.5rem, 1.6rem + 3.2vw, 4.25rem) |
Blog da Mestre |
| H2 | clamp(1.875rem, 1.4rem + 2vw, 3rem) |
Título de seção |
| H3 | clamp(1.375rem, 1.2rem + .7vw, 1.75rem) |
Subtítulo de bloco |
| Lead | clamp(1.1875rem, 1.05rem + .55vw, 1.5rem) |
Frase de entrada logo abaixo do título. |
| Leitura | clamp(1.0625rem, 1rem + .25vw, 1.1875rem) |
Corpo de post em leitura longa. |
| Corpo | 1rem |
Texto corrido padrão. |
| Pequeno | .9375rem |
Legenda e texto de apoio. |
| Kicker | 14px no celular, 12px a partir de 1024px |
Rótulo de seção |
Espaço, forma e movimento
| Decisão | Valor |
|---|---|
| Contêiner | 1240px, com margem lateral clamp(1rem, .4rem + 3vw, 3rem) |
| Passos de espaço | .5 / 1 / 1,5 / 2,5 / 4rem |
| Medida do corpo do post | 42rem (cerca de 68 caracteres) |
| Alvo de toque | mínimo de 44px |
| Forma | raio zero, sem sombra, bordas de 1px, régua de 2px abrindo cartões |
| Curva de movimento | cubic-bezier(.22,1,.36,1); entradas ao rolar, nunca no título principal (atrasa o carregamento) |
O que muda do deck para o site
| No deck (seções 01 a 12) | No site e nas landing pages |
|---|---|
Unidades em vw/vh sobre 1600×900 | rem + clamp fluido |
| "Não existe mobile" | Celular primeiro |
Corpo em cinza (--grey) | Corpo #2b2925 no post |
| Animação por tela, com replay | Entrada ao rolar, sem animar o H1 |
| Sem cor de destaque | Amarelo como acento único |
Componentes do site
Cada bloco abaixo está renderizado com o estilo real do site, dentro de uma moldura de documentação. A alternância de faixas é a espinha dorsal: escuro para parar (topo, prova, perguntas, fim), claro para ler. Na Home e nas páginas de serviço a alternância vai até o rodapé.
Cabeçalho
Sem botão de orçamento quando há formulário na mesma vista: nunca dois na tela.
Botões e link de texto
O texto apagado ganha cor cheia no mouse e um sublinhado
amarelo de 2px afastado .3em, só com @media (hover:hover):
ler o artigo completo. Link de texto não desliza.
Formulário de orçamento
Título visível no próprio cartão, frase sem prometer prazo, campos em duas colunas com
"(obrigatório)" em cinza. Os campos ficam sempre alinhados, mesmo quando um rótulo ocupa duas linhas: cada
campo é uma coluna flexível e o input desce com margin-top:auto.
Números de prova e trilha
Número grande em peso 800/900 com sufixo pequeno (%, +, ×), métrica curta embaixo e nome do cliente em cinza. Valores de exemplo sempre marcados como exemplo.
Perguntas frequentes
Quanto tempo leva para ver resultado?
Depende do cenário de partida e da concorrência. O plano indica os marcos de acompanhamento desde o primeiro mês.
O que está incluso no escopo?
As entregas e a cadência combinada constam na proposta, item a item, sem letra miúda.
Quem executa o trabalho?
O time interno da Mestre, com Sucesso do Cliente acompanhando a operação.
Cartão de case e outras frentes
No mouse o cartão vai a #121212 e o quadrado do ícone fica amarelo com o ícone em tinta.
Chamadas finais e rodapé
Seu cliente já está buscando pelo seu serviço. Ele vai encontrar sua empresa?
Dê um toque de mestre à sua empresa!
Solicitar OrçamentoO telefone aparece só no rodapé (e na página de contato). Nenhuma seção chama para o telefone.
Ícones
Os 50 ícones do site, em grade de 24×24, traço de 1,75 ou 2px e cor herdada do texto
(currentColor). Clique em um ícone para copiar o SVG; o botão baixa o arquivo. O sprite completo
está em /marca/icones.svg e os originais na subpasta
02 Ícones
da pasta oficial do Drive.
Regras de layout e texto do site
As regras abaixo valem para o site e para qualquer landing page nova. Elas existem para que nenhuma página precise ser rediscutida do zero.
| Regra | Na prática |
|---|---|
| Celular primeiro | Testar em 320, 375, 768, 1024, 1366 e 1440px, sem rolagem lateral em nenhuma delas. |
| Formulário na primeira tela | Cartão e botão visíveis a 1366×768 e 1440×900. No celular, Home e páginas de conversão abrem no H1 e no formulário; subtítulo e números descem para baixo do formulário (reordenados, não apagados). |
| Campos alinhados | Campos sempre alinhados, mesmo quando um rótulo tem duas linhas. |
| Formulário identificado | Todo formulário diz o que é: título visível no mesmo cartão dos campos; frase sem prometer prazo de resposta. |
| Um botão de orçamento por vista | Nunca dois botões de orçamento na mesma vista: nem o do menu, nem a chamada fixa do celular com um formulário na tela. |
| Página de serviço | Formulário no topo e no fim; prova no topo é o número-chave de cada case. |
| Texto em largura cheia | Texto ocupa a largura inteira do contêiner: sem max-width em texto e sem
text-wrap: balance (use pretty). Título curto de seção sem ponto final. Cabeçalho
de seção: título à esquerda, link à direita na mesma linha, texto embaixo. |
| Telefone | Só no rodapé e na página de contato; nenhuma seção chama para o telefone. |
| Texto | Empresa = "Mestre"; "Fabio Ricotta" sem acento; nomes de serviço com maiúscula nas palavras principais ("Tráfego Pago", "Mídia Paga", "Criação de Sites", "Inbound Marketing", "Marketing de Conteúdo", "Gestão de Redes Sociais"); frases diretas, voz ativa, sem travessão, sem "não é X, é Y", sem frase de efeito; fato de case só do texto do case; depoimento sempre literal. |
Landing pages
Toda landing page de serviço segue o blueprint abaixo, na ordem. A página /landing mostra o blueprint montado com os componentes da seção 15.
| Bloco | Faixa | Conteúdo | Obrigatório? |
|---|---|---|---|
| 1 · Topo | escura | Trilha, H1, texto de apoio, 3 números dos cases (com nome do cliente) e, à direita, o formulário. No celular: H1 e formulário primeiro, texto e números depois. | sim |
| 2 · Introdução | clara | Título + texto. | sim |
| 3 · Conteúdo com cases | clara | Até 3 blocos de conteúdo, cada um com o cartão de um case, alternando o lado. | sim |
| 4 · Depoimento | clara | Depoimento literal de um case, com "Ver o case". | sim |
| 5 · Entregáveis | clara | Principais entregáveis. | sim |
| 6 · Perguntas frequentes | escura | Acordeão. | sim |
| 7 · Formulário do fim | clara | Mesmo formulário do topo. | sim |
| 8 · Outras frentes | escura | Cartões dos outros serviços. | sim |
| 9 · Rodapé | escura | Régua de 1px; telefone só aqui. | sim |
Checklist de publicação
- Formulário inteiro na primeira tela (cartão e botão) a 1366×768 e 1440×900
- Sem rolagem lateral nas 6 larguras (320, 375, 768, 1024, 1366, 1440)
- Um H1 só na página
- Sem segundo botão de orçamento na vista (menu e chamada fixa do celular inclusos)
- Telefone só no rodapé
Slides do dia a dia
A visão /slides é uma apresentação 16:9 com referência de 1600×900, como o deck, escalada para caber na tela. O texto é editável direto no slide e fica salvo no navegador; o botão "Exportar PDF" gera um slide por página. Os slides seguem a linguagem das propostas (seções 01 a 08): tinta e papel, Outfit, peso como hierarquia, raio zero, sem sombra, sem amarelo.
| Modelo | Quando usar |
|---|---|
| 1 · Capa | Abertura de qualquer apresentação, com título, subtítulo e data. |
| 2 · Agenda | Roteiro da conversa ou da reunião. |
| 3 · Divisor de seção | Viradas de assunto, com número grande. |
| 4 · Título + texto | Explicação corrida, um argumento por slide. |
| 5 · Número-herói | Um dado que convence sozinho, com fonte. |
| 6 · Três números | Prova em trio, sempre com fonte. |
| 7 · Antes e depois | Comparação de cenário em duas colunas. |
| 8 · Lista com ícones | Entregáveis, etapas ou benefícios, com os ícones da seção 16. |
| 9 · Depoimento | Voz do cliente. Depoimento sempre literal. |
| 10 · Imagem + texto | Print, mock ou foto com legenda. |
| 11 · Tabela simples | Comparativos e pacotes. |
| 12 · Encerramento | Fechamento e próximos passos. |