Brandbook
v4.0 · Petrobras Vitalício · github
Source-of-truth visual

Projeto Petrobras
Vitalício

Família visual canônica usada em landings, criativos e anúncios. Identidade dark-promo industrial premium — preto absoluto, verde neon e amarelo gold.

TokensDTCG W3C
68
Componentes25 canônicos
25
Knowledge embutidoobrigatório
8
quality-bar · copy-rules · frontend-rules
brand-voice · SYSTEM · EXAMPLES · icons · components.json
Quality gatev4: 92
92/100
audit-mobile ≥88 · lighthouse ≥85
quality-bar checklist · 9-12/12
Specimen wall — landings ativas
Live preview — agenda-petrobras-2026-teste
lp.c01.com.br/agenda-petrobras-2026-teste
Foundations

Tokens & rules

Foundations

Cores

Paleta rígida de 3 pilares: preto absoluto (territorio, 95%), verde neon (acao) e amarelo gold (escala/dinheiro). Nunca azul, nunca cinza claro.

Backgrounds

--bg-base
#000000
Fundo padrão de toda peça. Preto puro, 95% da área.
--bg-deep-green
#051914
Verde quase-preto. Overlay sutil, end de gradients.
--bg-card
#0a2418
Verde escuro. Fundo de cards e blocos de conteúdo.
--bg-card-elevated
#103a28
Cards em hover ou primária. Um nível acima.

Brand greens

--green-1
#0FFC84
Verde-neon brilhante. START do gradient. CTAs, glows, palavras-chave.
--green-2
#1EE751
Verde-neon escuro. END do gradient.

Brand yellows / gold

--yellow-1
#FFDC00
Amarelo brilhante. Logo, dinheiro, promessas, accent text.
--yellow-2
#E3AE00
Gold escuro. END do gradient amarelo.

Alert / urgência

--red-alert
#6E0A10
Burgundy escuro. Apenas barra de alerta superior.
--red-alert-deep
#480709
Burgundy mais escuro. END do gradient alert.

Texto

--text
#FFFFFF
Branco. Corpo padrão. 70-80% das palavras.
--text-soft
#D1D5DB
Cinza claro. Body em fundos pretos.
--text-muted
#9CA3AF
Cinza médio. Labels, captions, metadata.

Gradientes

Sempre usar gradientes nos verdes e amarelos. Cor sólida fica chapada.

--gradient-green
--gradient-yellow
--gradient-alert
--gradient-card-surface
--gradient-green-radial
--gradient-yellow-radial

Tipografia

Dois pilares: PF Fusion Sans Pro Medium em títulos grandes apenas (h-hero, h-section, números ≥2rem). Sora em todo o resto.

PF Fusion Sans Pro — display only

All-caps por padrão, geometric heavy, condensada. Usar SOMENTE em títulos ≥2rem. Em tamanhos pequenos (cards, body) fica esticada e ilegível — usa Sora.

.h-hero · clamp(2.5rem, 8vw, 4rem) · weight 500 · uppercase · letter-spacing -0.025em
PETROBRAS 2026
.h-section · clamp(1.875rem, 5.5vw, 2.5rem) · weight 500 · uppercase · letter-spacing -0.015em
Como você vai usar
.stat-num · 2.5rem · weight 500 · color green-1
9.000+

Sora — body, CTAs, labels

Humanist geometric sans, abertura generosa, ótima leitura em fundo escuro. Usar em TODO body, card-titles, bullets, captions, CTAs.

.t-lead · 1.125rem · weight 400 · line-height 1.6
Mais de 9.000 vagas anuais previstas, salários de até R$ 32.000 e estabilidade vitalícia.
.t-body · 1rem · weight 400 · line-height 1.5
A média histórica entre a publicação do edital e a data da prova é de apenas 76 dias.
.card-title · 1rem · weight 700 · uppercase · letter-spacing 0.04em
Nível superior
.t-caption · 0.75rem · weight 400 · color text-muted
Vagas limitadas. Disponível em WhatsApp e Telegram.

Word coloring 3-tone

Headlines tricromáticas. Branco padrão (70-80%) + verde conceito + amarelo promessa.

Tudo sobre a carreira na maior empresa do Brasil
Conquiste uma carreira estável com salário de até R$26.000 por mês na Petrobras
Intensivo de aulas ao vivo

Espaçamento

Escala 8-pt: 4 / 8 / 16 / 24 / 32 / 48 / 64.

--s-xs
4px
--s-sm
8px
--s-md
16px
--s-lg
24px
--s-xl
32px
--s-2xl
48px
--s-3xl
64px

Bordas

Arredondamento sutil. Nunca exagerar — radius >16px parece "feito por IA".

--r-sm 6px
--r-md 10px
--r-lg 20px
--r-pill 9999px

Glows

Profundidade em fundo preto vem de luz neon — nunca sombra escura. Sombra preta sobre preto some.

--glow-green
--glow-green-soft
--glow-yellow
--glow-yellow-soft
Components

Componentes

Components

CTAs

Sempre com gradient + glow + arrow-circle suffix. Nunca cor sólida.

<a href="..." class="cta-green">Garantir minha vaga</a>
<a href="..." class="cta-yellow">Ver programação</a>

Btn calendar (outline com SVG)

Barras topo

Alert (urgência) e Confirm (positiva). Nunca emoji ⚠ — usar SVG inline.

Alert bar (urgência)

Edital iminente · Cesgranrio já contratada
<div class="alert-bar">
  <strong>EDITAL IMINENTE</strong> · CESGRANRIO JÁ CONTRATADA
</div>

Confirm bar (positiva)

Cadastro confirmado · 5 aulas ao vivo entre 15/06 e 25/06

Cards (com glass effect)

Background glass discreto + border-left accent (verde / amarelo / alert).

Nível superior

Idade 18-76, qualquer engenharia, pode estar cursando 7º+.

Margem Equatorial

Pode liberar até 300.000 empregos na região Norte/Nordeste.

Edital pode sair

A Cesgranrio já foi contratada. Aulas entre 15/06 e 25/06.

<div class="card accent-green">
  <div class="card-title">Nível superior</div>
  <p class="t-body">Texto do card.</p>
</div>

Stat cards

9.000+
vagas/ano
76
dias pra prova
24
ênfases

Lesson cards

Card horizontal de aula (thumb + título + meta + CTAs). Auto-promovido pro DS canônico.

Fundamentos de Reservatórios
Seg 15/06/2026 · 20h · 90 min

Avatares

Substitui emoji 👨‍🎓. Iniciais em fundo verde-escuro, texto verde-1.

RM AS JP

Pills

Pill stamp (metadata destaque)

Aula 02 · Sexta · 20h

Pill subject (matéria/ênfase)

Engenharia de Petróleo

Pill time

9H

Schedule row

Linha de programação clicável.

9H
Engenharia de Petróleo

Reservatórios e produção: tudo que cai na prova.

Bullets com glow

Substitui emoji ✓. Bolinhas verde-1 com glow.

  • Idade: 18 a 76 anos
  • Qualquer curso de engenharia
  • Pode estar cursando (7º período+)
  • CREA não precisa agora

Meta chips (pill com SVG)

15/06 — 25/06 · 2026 20h · Horário de Brasília Transmissão pelo YouTube

Countdown

Timer de 4 cells (dias / horas / min / seg). JS leve.

37
dias
05
horas
06
min
32
seg

Thumb frame

Wrapper 16:9 com glow neon. Pra vídeos, imagens, embeds.

Voice

Voz da marca

Voice

Word coloring 3-tone

Headlines tricromáticas: branco padrão (70-80%), verde conceito, amarelo promessa.

Verde — conceito / ação
CARREIRA, AO VIVO, VAGA, APROVADO, DENTRO
Amarelo — promessa / dinheiro / escala
R$26.000, MAIOR, VITALÍCIO, AGORA, 76 DIAS

Headlines — do's vs don'ts

Evite — genérico
Descubra o segredo dos aprovados em concurso público
Use — específico com prova
PETROBRAS 2026 · TUDO O QUE VEM POR AÍ
Evite — abstrato
Mude sua vida com nosso método infalível
Use — número + nome
CARREIRA NA PETROBRAS · COMO É TRABALHAR NA MAIOR EMPRESA DO BRASIL

CTAs — do's vs don'ts

Evite — verbo fraco
"Saiba mais", "Clique aqui", "Quero saber mais"
Use — verbo direto + objeto específico
"Garantir minha vaga", "Receber o ebook", "Entrar no grupo VIP"

Vocabulário

Use
aprovado · vaga · ênfase · edital · banca · Cesgranrio · vitalício · 76 dias · R$ 32.000
Evite
sucesso · transformar sua vida · potencializar · tropa · alunão · guerreiro · hack · atalho
Use
cronograma verticalizado · metas diárias · prova ao vivo · Resumão · regime embarcado · plataforma
Evite
curso completo · conteúdo de qualidade · oportunidade única · método infalível · clique já

3 públicos

Como falar com cada um. Detalhes em docs/skills/brand-voice-rules.md.

Engenheiro Petrobras (#1)
Reconhecer expertise técnica. Mencionar regime embarcado, refinaria. Salário em valores absolutos. Ironizar concorrência fraca.
Concurseiro tradicional (#2)
Empatia pelo cansaço. Estatística como ponto de partida. Resultado mensurável (notas, %).
Recém-formado (#3)
Educar sobre o caminho ("o que é Cesgranrio?"). Comparativo CLT vs Petrobras. Reduzir intimidação.
Forms · novo v4

Form input + label

Glass effect, focus ring verde, hover sutil. Sempre <label for> associado.

A gente usa só pra te chamar pelo nome no email.

<div class="form-group">
  <label class="form-label" for="email">Email <span class="required">*</span></label>
  <input type="email" id="email" class="form-input" required>
  <p class="form-help">Não compartilhamos seu email.</p>
</div>

Estados — erro / sucesso

aria-invalid="true" + aria-describedby pro form-error.

Por favor, informe um e-mail válido.

CPF validado.

Checkbox / radio

Toast

role="status" aria-live="polite". 3 variantes: success, error, warning.

Inscrição confirmada

Você vai receber as aulas no e-mail cadastrado.

Erro ao enviar

Verifica sua conexão e tenta de novo.

Vagas acabando

Restam 7 vagas pra Engenharia de Petróleo.

Iconography

Biblioteca SVG

Substitui emojis em landings. Click pra copiar SVG inline. Detalhes em docs/design-systems/petrobras-vitalicio/icons.md.

calendar
clock
play
check
bell
alert
arrow
lock
money
Pipeline

O que acontece quando alguém pede uma landing

Da ativação da skill até o deploy em produção. Tudo automático — pessoa só dá o prompt e aprova preview.

/// 01
Pessoa do time

Abre Cowork → seleciona lp-c01/ → manda prompt

Prompt curto sem regras técnicas: "cria landing de captura pra evento X em /slug". Sistema decide o resto.

/// 02
Cowork (automático)

CLAUDE.md + ativa skill lp-c01-landing

Detecta keywords (cria/edita/adapta + landing/lp.c01) → carrega workflows + regras invioláveis (anti-emoji, mobile-first, push branch preview).

/// 03
Skill (obrigatório)

8 arquivos de knowledge embutidos

frontend-quality-bar.md (Apple/Linear/Stripe bar) · copy-rules.md (AIDA/PAS/Hormozi) · frontend-rules.md (mobile-first/glow não shadow) · brand-voice-rules.md (3 públicos/vocabulário) · SYSTEM.md + EXAMPLES.md + icons.md + components.json

/// 04
Skill executa

Gera HTML aplicando 7 critérios obrigatórios

Variação rítmica · assinatura visual · tipografia editorial · page load orchestration · estados desenhados · hover signature · momentos de delight (count-up / progress / countdown)

/// 05
Validação local

Checklist 12 itens · mín 9/12

Skill valida estaticamente: zero emojis (regex), zero placeholders, lang/viewport/robots, tamanho < 2MB, checklist quality-bar 12 itens. Se < 9/12, refatora antes de commit.

/// 06
Git

Commit em preview/<slug> + push

Push automático se PAT configurado. Senão pessoa clica Push no GitHub Desktop.

/// 07
CI · 3 actions automáticas

deploy.yml → audit.yml → lighthouse.yml

deploy: Cloudflare Pages preview/produção (~30s) · audit-mobile: Playwright headless 6 critérios — score ≥88 · lighthouse: performance + a11y + SEO + best-practices — todas ≥85. Tudo postado como comentário no commit em github.com.

/// 08
Aprovação humana → produção

Pessoa abre URL preview → aprova com "publica"

Skill faz merge na main → CI deploya em lp.c01.com.br/<slug>. Tempo total do prompt à produção: ~3-5 min.

Quality bar

A barra é Apple, Linear, Stripe

Não "site OK de SaaS". Memorável. 7 critérios obrigatórios + checklist 12 itens. Codificado em docs/skills/frontend-quality-bar.md.

Referências (não "bonito" — craft)

Apple
restrição · cada pixel considerado
Linear
densidade com elegância · dark mode magistral
Stripe
tipografia editorial · documentação como produto
Vercel
whitespace como elemento · minimalismo que comunica
Airbnb
design de experiência · storytelling pela interface
A24
sensibilidade cinematográfica · cada frame tem razão

7 critérios obrigatórios — toda landing nova

01
Variação rítmica entre seções

≥3 tipos diferentes de layout. Misturar editorial full-bleed, asymmetric, overlap, bento, intimista, denso técnico. Card 3-col uniforme em ≤30-40% das seções.

02
Assinatura visual única

Noise overlay (SVG turbulence 1-3% opacity) · vignettes radiais · linhas técnicas (blueprint) · numeração monospace de seção (/// 02 · NOME) · ::selection custom. Trocar logo NÃO pode virar template genérico.

03
Tipografia editorial

Hero clamp(3rem, 9vw, 6rem). Section editorial clamp(6rem, 22vw, 16rem). text-wrap: balance em headlines, pretty em parágrafos, font-feature-settings: tnum em números.

04
Page load orchestration

Hero com staggered reveal (logo 0.1s → headline 0.2 → sub 0.32 → CTA 0.42 → photo 0.5 → stats 0.85-1.15). SEMPRE cubic-bezier(0.16, 1, 0.3, 1). Respeitar prefers-reduced-motion.

05
Estados desenhados (não defaults browser)

Loading: shimmer/skeleton, nunca spinner. Empty: ilustração + CTA. Error: mensagem + ação de recuperação. Disabled: opacity + cursor + filter, nunca só opacity. Transitions 200-300ms, NUNCA instantâneo.

06
Hover signature único

translateY(-2px) é o "Comic Sans dos hovers". Cada produto tem signature. Nossa: border-color rgba(15,252,132,0.55) + box-shadow inset 1px white 8%.

07
≥3 momentos de delight

Stats count-up ao viewport (1.4s easeOutQuint) · progress bars animadas ao scroll · countdown live em CTA quando há urgência factual · hover surprise em elemento inesperado. Sem isso, landing fica "competente mas esquecível".

Checklist pré-push (12 itens · mín 9/12)

Skill lp-c01-landing valida mentalmente antes de declarar pronto. Score reportado no relatório final pra auditoria.

[ ]Variação rítmica: ≥3 tipos de layout nas seções
[ ]Noise overlay aplicado (body::before SVG turbulence)
[ ]Page load orchestration no hero (staggered reveals)
[ ]≥3 micro-interações de delight (count-up / progress / countdown / hover surprise)
[ ]Hover signature único (NÃO translateY genérico)
[ ]Tipografia: balance + pretty + tnum + letter-spacing apropriado
[ ]Estados desenhados (não defaults browser)
[ ]CSS modernas (text-wrap, color-mix, :has() onde fizer sentido)
[ ]Background atmosférico (vignettes ou linhas técnicas)
[ ]Numeração técnica de seção (recomendado)
[ ]prefers-reduced-motion respeitado
[ ]::selection custom

Targets de score

audit-mobile
≥ 88/100
subiu de 85 (era barra antiga) → 88 com quality-bar
quality-bar checklist
≥ 9/12
manual mas obrigatório no relatório final
Lighthouse
≥ 85/100
performance · a11y · best-practices · SEO
Audit

Score & issues v1 → v4

Avaliação contra frameworks Brad Frost / Nathan Curtis / GOV.UK / USWDS / EightShapes 8+1. Histórico: v1 (64) → v4 (~92) após embutir frontend-quality-bar.md. Relatório completo em docs/audits/v1-audit-report.md.

Score consolidado

80
Consistency
GOV.UK · naming, padrões
75
Simplicity
Brad Frost · LOC, deps
70
Breadth
Nathan Curtis · uso real
65
Quality
EightShapes 8+1
30
Maturity
USWDS · lifecycle, testes
FAIL
A11y gate
WCAG · focus, skip, aria

Score consolidado: 64/100. Alvo v4: 92+/100.

O que tá bom (mantém)

  • Tokens via CSS custom properties — zero hardcoded values
  • Glass effect, gradients, glows neon (identidade forte)
  • Naming consistente, brandbook completo
  • Word coloring 3-tone codificado
  • Auto-promoção de patterns canônicos via skill

Quick wins aplicados (v4)

  • :focus-visible global em CTAs/btn-calendar (a11y crítico)
  • :disabled state em CTAs (opacity, cursor, pointer-events)
  • prefers-reduced-motion baseline (transitions desabilitam quando user pediu)
  • .skip-link canônico (WCAG 2.4.1)
  • .sr-only utility pra texto de screen reader
  • Lifecycle status nos componentes (@status canonical|stable|experimental)

Componentes adicionados (v4)

  • Forms completos: form-input, form-textarea, form-label, form-error, form-success, form-check
  • Modal: modal-backdrop, modal, modal-close, modal-title, modal-body, modal-actions
  • Toast: toast-container, toast (success / error / warning)
  • Footer canônico: footer-canonical com links e meta

AI metadata (v4)

  • tokens.json — W3C DTCG Format (cores, gradients, spacing, typography, motion, semantic aliases)
  • components.json — Catálogo de 25 componentes com slots, states, a11y notes, lifecycle, sources

Próximas melhorias (v5)

  • Visual regression testing — screenshot baseline + diff em cada deploy
  • Lighthouse CI no GitHub Action — score postado no commit
  • Storybook se virar app/produto (não landings estáticas)
  • Testes unitários nos componentes JS (countdown, modal trap)
Examples

Landings ativas

Aplicações reais do design system em produção.