Primária
CTA principal, selo e preço em destaque. No CSS do site: .bg-primary / .text-primary.
--brand-primarybg-primary
- Aa4,02:1 · AA grandeBranco sobre primária, como nos botões
- Aa4,02:1 · AA grandePrimária sobre branco, como em rótulos text-sm

Marca
Guideline visual
Provale
Tokens lidos do HTML e do CSS publicados em provale.com.br. O que o site não define está marcado como derivado. A copy de campanha entra depois e aparece aqui como [COPY].
01
Arquivos oficiais em public/brand/. O site não publica SVG. O wordmark é branco: a logo vive sobre navy.

--brand-third #121069. No header o site usa w-44 e xl:w-52.
--brand-navy-bar #02004B. Mobile do header usa w-40.

/brand/favicon.png, 36×42, o mesmo arquivo de /images/Favicon.png.02
AA vale para texto normal (4,5:1). AA grande vale a partir de 3:1, em texto de 24px ou 18,7px em negrito. O chip “Aa” usa o par indicado.
Primária
CTA principal, selo e preço em destaque. No CSS do site: .bg-primary / .text-primary.
--brand-primarybg-primary
Secundária
Hover do CTA, acento, scrollbar e bullet ativo. Texto ciano sobre navy.
--brand-secondarybg-secondary
Terciária
Nav, card de plano, footer e texto de título. Token .bg-third / .text-third.
--brand-thirdbg-third
Navy barra
Barra superior (Central do assinante). Também cor de texto .text-[#02004B].
--brand-navy-barbg-brand-navy-bar
Navy banner
Fundo dos banners da home.
--brand-navy-bannerbg-brand-navy-banner
Navy chip
Chip de recurso na página de câmeras.
--brand-navy-chipbg-brand-navy-chip
Navy ProFibra
Fundo do banner em /internet.
--brand-navy-fiberbg-brand-navy-fiber
Navy empresarial
Fundo do banner em /internet-empresarial.
--brand-navy-businessbg-brand-navy-business
Navy telefonia
Fundo do banner em /telefoniafixa.
--brand-navy-phonebg-brand-navy-phone
Azul rótulo
text-blue-900, rótulos em negrito (cidade no seletor e selos).
--brand-blue-900text-blue-900
Corpo
Texto de depoimento (text-gray-900).
--brand-bodytext-gray-900
Texto apoio
Parágrafo do modal de WhatsApp.
--brand-gray-700text-gray-700
Muted
text-gray-500 em endereço e ação secundária do modal. Passa AA; por isso virou o muted.
--muted-foregroundtext-muted-foreground
Cinza legenda
Subtítulo text-[#BCBCBC] na home. Contraste insuficiente sobre branco.
--brand-muted-legendtext-brand-muted-legend
Placeholder
placeholder:text-zinc-500 do seletor de cidade.
--brand-zinc-500text-zinc-500
Superfície
hover:bg-gray-100 do fechar do modal.
--brand-gray-100bg-gray-100
Borda
border-zinc-200 do seletor. Em navy o site usa border-white/20.
--borderborder-zinc-200
Anel de foco do site
focus-visible:ring-zinc-950, anel de 2px com offset de 2px no seletor e no switch.
--brand-zinc-950ring-zinc-950
Fundo do botão “Fale pelo WhatsApp”. Hover extraído: #1EBE5D.
--brand-whatsappbg-brand-whatsapp
WhatsApp hover
hover:bg-[#1ebe5d] do botão de WhatsApp.
--brand-whatsapp-hoverbg-brand-whatsapp-hover
Verde campanha
CTA largo da página de câmeras. Hover extraído: #13A846.
--brand-campaignbg-brand-campaign
Verde campanha hover
hover:bg-[#13a846] do CTA de câmeras.
--brand-campaign-hoverbg-brand-campaign-hover
Estrela
Preenchimento de /images/estrela.svg. Tamanho no site: h-4.
--brand-startext-brand-star
Erro
Não há cor de erro no site. Vermelho escuro, distinto da primária, para mensagem de formulário.
--destructivebg-destructive
03
font-family: Rubik, Open Sans, sans-serif no body do site. Rubik entra como variável 300–900. Open Sans entra só nos pesos 400, 600 e 700, como fallback.
text-xs0.75rem / 1rem
Aa Provale
Barra superior, meta, endereço
text-sm0.875rem / 1.25rem
Aa Provale
Nav, CTA mobile, benefícios
text-base1rem / 1.5rem
Aa Provale
Corpo do modal e botão desktop
text-lg1.125rem / 1.75rem
Aa Provale
Nome do cliente, preço “+”
text-xl1.25rem / 1.75rem
Aa Provale
Subtítulo e nav em xl
text-2xl1.5rem / 2rem
Aa Provale
Título de bloco no contato
text-3xl1.875rem / 2.25rem
Aa Provale
Títulos de seção
text-4xl2.25rem / 2.5rem
Aa Provale
Título de apoio na home
text-5xl3rem / 1
Aa Provale
Preço no card de plano
text-6xl3.75rem / 1
Aa Provale
Palavra “mega”
text-8xl6rem / 1
Aa Provale
Número da velocidade
Rubik 500font-medium · Pílula da página de câmeras
Rubik 600font-semibold · Chips de recurso
Rubik 700font-bold · Peso dominante de título, nav e CTA
Rubik 800font-extrabold · Título do modal e da página de câmeras
Nav tracking-widestExtraído: 0.1em, uppercase, text-sm
Título tracking-tightExtraído do modal: font-extrabold e −0.025em
Open Sans é o segundo nome da pilha, não um estilo de título. Este parágrafo usa font-alt só para mostrar o fallback.
04
A escala é a do Tailwind 3, confirmada no CSS compilado. O container mais largo do site é max-w-[1584px]. Esta página usa max-w-6xl para leitura.
1 · 0.25rem · 4px · gap-1 das estrelas
2 · 0.5rem · 8px · py-2 do CTA mobile, p-2
3 · 0.75rem · 12px · gap-3, py-3, px-3 do seletor
4 · 1rem · 16px · p-4 do plano, gap-4, px-4, py-4
5 · 1.25rem · 20px · gap-5 e p-5 do menu
6 · 1.5rem · 24px · px-6, gap-6, p-6
8 · 2rem · 32px · p-8 do depoimento, py-8, mt-8
10 · 2.5rem · 40px · gap-10
12 · 3rem · 48px · gap-12, py-12, px-12
16 · 4rem · 64px · py-16
20 · 5rem · 80px · px-20 e xl:px-20
rounded-full9999pxBotões, selos, switch e ícone da centralrounded-2xl1remCard de plano, depoimento e modal. Token --radius-2xl e --radius-lg.rounded-xl0.75remMenu, chip, ícone de app e CTA de câmeras. Token --radius-xl.rounded-md0.75remO site usa rounded-md, mas --radius não está definido no CSS publicado. Adotamos o raio de controle.05
shadow-sm--shadow-smSeletor e switch0 1px 2px 0 rgb(0 0 0 / 0.05)shadow-lg--shadow-lgMenu, pílula e botão de WhatsApp0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)shadow-xl--shadow-xlDepoimento (com shadow-black/10) e hover do WhatsApp0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)shadow-2xl--shadow-2xlModal e card de câmeras0 25px 50px -12px rgb(0 0 0 / 0.25)drop-shadow-2xl--drop-shadow-2xlImagem de produto na página de câmerasdrop-shadow(0 25px 25px rgb(0 0 0 / 0.15))06
Forma extraída: pílula, negrito, py-3 px-6 ou px-12, cor em 300ms. O hover do primário vai para o ciano. O texto nesse hover passa a navy — no site ele continua branco.
Desktop
size lg · px-12 py-3
Mobile
size sm · px-6 py-2 text-sm
Foco visível
2px e offset de 2px vêm do seletor (ring-2 ring-offset-2). O halo ciano é derivado, para o anel não sumir sobre o vermelho. Use Tab nos botões reais.
07
O site não tem input de texto. O seletor de cidade é h-9, rounded-md, shadow-sm, placeholder zinc-500. O raio aqui é o de controle, 0.75rem, e a altura mínima é 44px.
08
O selo do plano gamer é pílula, bg-primary, py-1 px-4, negrito, branco. O texto branco sobre o vermelho fica em AA grande.
09
000
[COPY]
[COPY] R$ 00,00
Extraído: w-80, rounded-2xl, bg-third, py-12, hover −4px
[COPY] Depoimento curto de um cliente da região.
[COPY] Nome
[COPY] Cidade/SP
[COPY] Resumo do artigo em duas linhas, com a promessa clara para quem lê no celular.
Derivado O card de post não existe no site atual. Raio, sombra e tipo são os extraídos.
10
Extraído da nav: branco, uppercase, tracking-widest, hover ciano, 300ms.
underline-offset-2 existe no modal. A cor fica navy: ciano e vermelho falham AA sobre branco em texto pequeno.
11
Planos aponta para /internet. WhatsApp usa o número publicado, 12 92004-7987. Consultar cobertura não aparece nas páginas lidas; o botão só mostra o contorno da marca.
12
Card com levantamento
Extraído: translateY(−0.25rem) em 300ms, curva cubic-bezier(0.4, 0, 0.2, 1). Só com mouse fino, para o toque não deixar o card preso no hover.
Derivado: scale(0.98) em 140ms, curva cubic-bezier(0.23, 1, 0.32, 1). A cor continua nos 300ms do site. Sem transition: all.
13