Marca Axis Brasil

A marca em uma página.

Este é o guia de uso: símbolo, logo, cores, tipografia, voz e componentes. Agências, parceiros e imprensa — tudo que você precisa tá aqui. Se faltar algo, fala com a gente.

01 · Símbolo

O paralelogramo.

O símbolo é uma faixa diagonal — paralelogramo com ângulo de 30°, proporção 96×88 e espessura lateral de 33 unidades. É o único elemento gráfico da marca além do logo. Usa pra ancorar layouts, separar seções ou assinar materiais. Nunca rotaciona, nunca inverte, nunca preenche fundo inteiro.

Proporção
96 × 88
Ângulo
30°
Espessura
33 un · 37.5%
Cor
#000DFF @ 50%
.diagonal-band {
  clip-path: polygon(
    0%    0%,      /* topo esquerdo  */
    100%  62.5%,   /* topo direito   */
    100%  100%,    /* bottom direito */
    0%    37.5%    /* bottom esquerdo*/
  );
  /* regra: brand @ 50% sobre #121212 */
  background: rgba(0, 13, 255, 0.5);
}
02 · Background

Grade gerativa.

A malha isométrica é uma grade de tiles axis-aligned. Cada célula W × cellH recebe as duas orientações do paralelogramo sobrepostas (↘ e ↗). Rows adjacentes se sobrepõem verticalmente pela espessura da banda — é o que faz as diagonais se conectarem de célula em célula, formando o lattice completo.

Tile grid populado · ambas orientações por célula · overlap vertical = espessura
--band-width
96px
Largura da célula. Controla a densidade da grade.
--band-color
#000DFF
Azul do símbolo. Mesmo da seção 01.
--band-opacity
0.5
Regra da marca: Primary sempre a 50%. Também permite a sobreposição entre ↘ e ↗.
--bg-color
#121212
Fundo do brand book. Cinza quase-preto, nunca #000 puro.
Passo a passo
1. Define tile: W × H (ratio 96:88)
2. Célula mais baixa: cellH = H - 0.375·H
   (rows adjacentes se sobrepõem pela espessura)
3. Pra cada [col][row]: renderiza AS DUAS orientações sobrepostas

// posição:
x = col * W
y = row * cellH

// duas clip-paths no mesmo bounding box:
polygon(0% 0%,    100% 62.5%, 100% 100%,  0% 37.5%)   // ↘
polygon(0% 62.5%, 100% 0%,    100% 37.5%, 0% 100%)    // ↗
:root {
  --band-width: 96px;
  --band-height: calc(var(--band-width) * 88 / 96);
  --cell-height: calc(var(--band-height) * 0.625);
  --band-color: #000DFF;
  --band-opacity: 0.5;      /* brand rule */
  --bg-color: #121212;
}

.iso-bg {
  position: relative;
  background: var(--bg-color);
  overflow: hidden;
}

.tile {
  position: absolute;
  width: var(--band-width);
  height: var(--band-height);
  background: var(--band-color);
  opacity: var(--band-opacity);
}

.tile--down {
  clip-path: polygon(0% 0%, 100% 62.5%, 100% 100%, 0% 37.5%);
}

.tile--up {
  clip-path: polygon(0% 62.5%, 100% 0%, 100% 37.5%, 0% 100%);
}

No demo acima, o SVG gera os tiles server-side a partir das fórmulas. As duas camadas compartilham a mesma lista de posições — muda só a clip-path. Pra produção: JS gera as divs uma vez e redesenha no ResizeObserver, ou exporta como SVG <pattern> pra uso estático (OG images, PDFs, email).

03 · Paralelogramo iso

Export estático.

Versão renderizada e exportada como SVG. Mesma grade, mesma lógica — mas congelada, sem JS, pronta pra OG images, PDFs, email ou onde quer que precise de um asset fixo.

Paralelogramo isométrico — export estático da grade
paralelogramo-iso.svg · 881×724 · fill #000DFF @ opacity 0.5
04 · Composições

Mascarando a grade.

Pensa o canvas como uma malha de tiles W×H alinhada aos eixos (nada de staircase). Em cada célula entra um paralelogramo, em uma de duas orientações: ↘ ou ↗. A variedade visual emerge da distribuição das orientações — aleatório, alternado, xadrez, zig-zag em faixas. Muda o padrão de escolha, muda a composição. O grid nunca se quebra — só troca de tile.

Tile grid com overlap entre rows = espessura da banda · seed=7
O tile, a célula, a sobreposição
// duas variações do mesmo shape, no mesmo bounding box W×H
<clipPath id="tile-down">  <!-- ↘ -->
  <polygon points="0,0    1,0.625  1,1    0,0.375" />
</clipPath>
<clipPath id="tile-up">    <!-- ↗ -->
  <polygon points="0,0.625 1,0     1,0.375 0,1" />
</clipPath>

// a célula é mais baixa que o paralelogramo:
const overlapY = 0.375 * H       // = espessura da banda
const cellH    = H - overlapY    // rows adjacentes se sobrepõem
                                 //   por overlapY

// pra cada [col][row]:
const x = col * W
const y = row * cellH
const down = rng() < 0.5         // ↘ ou ↗

<rect x={x} y={y} width={W} height={H}
      clip-path={down ? 'url(#tile-down)' : 'url(#tile-up)'} />

Truchet-style: duas peças, uma célula, decisão binária — mas o espaço de composições é grande. 100% ↘ = faixas paralelas; alternando por coluna= zig-zag vertical; xadrez = losangos nos cantos; random = trama caótica. Pra compor shapes específicos (logo, silhueta, hero com recorte), troca a função que escolhe a orientação — e aí dá pra construir padrões direcionados.

06 · Cores

Paleta mínima.

Blue Solid (#000DFF) é a cor da marca — e é sempre aplicada a 50% de opacidade sobre #121212. É o que preenche símbolo, grade iso, gradientes — e o fill dos botões em repouso. Nunca chapada. Blue Hi (#4A5BFF) entra no hover do botão (o "activate") e como cor de ação em links, nav ativo, badges, eyebrows. Cyan só em gradient-tail com Blue Solid e glow ambiente. O resto é monocromático.

Blue Solid (primária · sempre a 50%)
Cor da marca — SEMPRE a 50% sobre #121212. Símbolo, grade iso, gradientes, fill de botão em repouso. Nunca chapada.
Blue Hi (ação + hover)
Cor da ação — sólida. Hover de botão (activate), links, nav ativo, badges, dots, eyebrows, kickers. Hover++ em botão: #6B7CFF.
Cyan (accent)
Só em gradientes com o azul (CTA primário, logo, avatar) e glow ambiente. Nunca sozinho em texto ou UI.
BG
Fundo do produto. Cinza quase-preto, padrão do brand book. Nunca #000 puro.
Foreground
Texto principal. Headings, labels, títulos de cards.
Muted
Texto secundário, descrições, subtítulos, placeholders.
07 · Tipografia

Inter. Seis pesos.

Inter 300-800, carregada via next/font pra performance. Headings sempre 700-800 com letter-spacing negativo. Body sempre 400 com line-height 1.7.

H1 / 72px / 800
Software com IA.
H2 / 44px / 800
Resultados reais.
H3 / 19px / 700
Automação com IA
Body / 16px / 400
Inter regular para corpo de texto.
Eyebrow / 11px / 600
IA QUE FUNCIONA
Caption / 13px / 400
Texto secundário e labels.
08 · Voz e tom

Como a gente fala.

A voz da Axis é a mesma em copy do site, posts de LinkedIn, email pro lead e mensagem no WhatsApp. Mudar de registro quebra a marca.

Somos
  • DiretosVamos ao ponto. Frase curta bate mais que parágrafo.
  • Técnicos sem ser intimidadoresNomeia stack, cita trade-offs, mas sempre em PT-BR claro.
  • BrasileirosPortuguês do Brasil, linguagem de quem fala com o time, não com VC internacional.
  • Humanos"A gente constrói", não "a empresa entrega". Primeira pessoa plural.
  • ConcretosNúmeros, cases, prazos. "15 minutos por importação", não "eficiência operacional".
Não somos
  • ArrogantesNem "revolucionário" nem "disruptivo". O resultado prova o valor.
  • BuzzwordsSem "synergy", "leverage", "game-changer", "best-in-class".
  • CorporativosSem "nós da Axis oferecemos soluções". Isso é brochure vazio.
  • VagosSem "soluções sob medida para sua empresa". O que, pra quem, por quê.
  • IntimidadoresNão explicar com jargão de tech-bro. IA é poderosa; interface precisa ser clara.
09 · Componentes

Peças que se repetem.

Botões, badges e inputs são os três blocos mais usados. Bordas arredondadas (8-12px), gradiente nos botões primários, glow cyan sutil em hover.

Botão primário
Badge / tag
COMEXJURÍDICOSaaS
Input
Eyebrow label
IA QUE PESSOAS REAIS USAM
10 · Design system

A marca dentro do produto.

A gente constrói software. O sistema abaixo mostra a paleta aplicada — brand, neutros e semânticas — e depois os exemplos reais de UI: shell, tabela, formulário, estados. Referência pra manter consistência entre produtos.

Brand · 4 cores
Regra: Primary (#000DFF) é sempre a 50% — fill de símbolo, iso, gradientes e botão em repouso. Primary Hi (#4A5BFF sólido) é o activate do botão + cor de ação (links, nav, badges). Accent só em gradient-tail com Primary.
Primary · 50%
#000DFF @ 50%
Marca. Símbolo, iso, gradientes, botão em repouso.
Primary Hi
#4A5BFF
Hover de botão, links, eyebrows, nav ativo.
Primary Hi++ · hover
#6B7CFF
Hover++ (links sublinhados, estados ativos).
Accent
#00D4FF
Gradient-tail com primary. Nunca sozinho.
Neutros · 6 steps
Do fundo ao texto. Use borda translúcida, nunca linha sólida.
BG
#121212
Fundo do app.
Surface 1
#1A1A1F
Cards, painéis.
Surface 2
#212127
Elevado, popovers.
Border
rgba(255,255,255,0.08)
Divisores.
Muted
#8A8F98
Texto secundário.
Text
#FFFFFF
Texto primário.
Semânticas · 4 roles
Comunicam estado, nunca decoração. Cada cor tem um papel; não tem versão alternativa.
Success
#10B981
Confirmação, status ativo, delta positivo.
Warning
#F59E0B
Pendente, em contato, aviso.
Danger
#EF4444
Erro, destrutivo, don't.
Info
#4A5BFF
Reusa Primary Hi. Notas, dicas.
Regra de ouro: se um elemento precisa de cor e não comunica estado (sucesso / aviso / erro / info), ele fica em neutro. Cor é sinal — semântica colorida demais perde o sinal.
Neutros · ramp 10-step
De #121212 até #FFFFFF. Use step 0 / 50 / 100 como superfícies; 600 como muted; 900 como texto primário.
0BG
50Surface-1
100Surface-2
200#2B2B33
300#3B3B44
400#55555F
500#6F6F79
600Muted
700#B4B8C0
800#DCDEE3
Primary · alpha ramp
Os tints rgba (α5–α50) são usados como bg/hover. Os sólidos (500/600/900) são texto, ícone, borda. A brand role é α50.
α5wash
α10tint
α20hover
α30
α40
α50brand
500hi
600hi hover
900raw
accent
Espaçamento · ritmo 4px
Todo padding/gap/margin usa esta escala. Nunca hardcode valores (7px, 15px, 22px) — quebra o ritmo.
--space-0
0
--space-0-5
2px
--space-1
4px
--space-2
8px
--space-3
12px
--space-4
16px
--space-5
20px
--space-6
24px
--space-8
32px
--space-10
40px
--space-12
48px
--space-16
64px
--space-20
80px
--space-24
96px
--space-32
128px
Radius · 8 steps
Botões em lg (8). Cards em xl (12). Modais em 2xl (16). Pills em pill.
--radius-sm
4px
--radius-md
6px
--radius-lg
8px
--radius-xl
12px
--radius-2xl
16px
--radius-3xl
24px
--radius-pill
9999px
--radius-none
0
Elevação · 5 + 3 glows
Elevação = shadow escuro (profundidade). Glow = halo primary-hi (branded). Um elemento pode ter os dois — botão primário tem.
--elevation-1
1px offset · 2px blur
Hairline lift.
--elevation-2
2px offset · 8px blur
Card.
--elevation-3
8px offset · 20px blur
Popover, dropdown.
--elevation-4
16px offset · 36px blur
Modal, sheet.
--elevation-5
32px offset · 60px blur
Fullscreen overlay.
--glow-sm
16px blur
Botão em repouso.
--glow-md
28px blur
Botão hover, card ativo.
--glow-lg
44px blur
Hero, empty-state.
Motion · duração × easing
Fast pra feedback imediato (hover). Base pra a maioria. Slow pra transições de layout. Expo pra entrada de elementos com personalidade.
--duration-fast
Fast · 150ms · ease-in
--duration-base
Base · 200ms · ease-out
--duration-slow
Slow · 300ms · ease-in-out
--duration-slower
Expo · 500ms · ease-expo
Z-index · ordem das camadas
Sempre use tokens, nunca z-index hardcoded — evita guerras de stacking.
Base
--z-base
0
Raised
--z-raised
10
Sticky
--z-sticky
100
Dropdown
--z-dropdown
1000
Overlay
--z-overlay
1100
Modal
--z-modal
1200
Toast
--z-toast
1300
Breakpoints · 5 steps
Mobile-first. Layout colapsa em md (768px). Container máx em 2xl (1536px).
sm
@media (min-width: 640px)
640px
md
@media (min-width: 768px)
768px
lg
@media (min-width: 1024px)
1024px
xl
@media (min-width: 1280px)
1280px
2xl
@media (min-width: 1536px)
1536px
Focus ring · acessibilidade
2px bg gap + 2px primary-hi. Obrigatório em todos os inputs e elementos interativos. Clique no input pra ver.
Botão · variantes × estados × tamanhos
Primary é a CTA. Secondary é contexto. Ghost é navegação interna. Danger é destrutivo (só confirma uma ação perigosa).
Primary
Secondary
Ghost
Danger
Tamanhos
Input · 6 estados
Focus usa o focus-ring token. Error tem box-shadow + border-color vermelhos + help-text abaixo. Disabled reduz opacidade pra 0.45.
Default
Hover
Focus
Filled
Error
Email inválido.
Disabled
Badge · 5 variantes
Badge comunica status ou categoria. Nunca usar mais de 2 numa mesma linha — vira confete.
NEUTROINFOSUCESSOAVISOERRO
Card · 3 variantes
Default é conteúdo estático. Interactive tem hover (cursor + lift + glow). Selected é o estado persistente de escolha.
Default
Conteúdo estático. Sem interação, sem hover. Apenas agrupa informação.
--card · --border · --radius-xl
Interactive
Hover aqui. Border primary-hi, bg tint, lift 2px, glow halo. Indica "clica em mim".
+ hover state
Selected
Estado persistente. Border + bg tint + inset border duplo. O "escolhido".
+ inset border
Regra de sistema: se você precisar de um valor que não está nos tokens acima, pare — ou o token tá faltando (adiciona na escala) ou você tá quebrando o sistema (reusa um valor existente). Valores mágicos (7px, 15px, #3b4aff) acumulam entropia e quebram consistência.
App shell · dashboard com métricas e atividade
app.axisbrasil.ai/dashboard
Dashboard
FB
LEADS NO MÊS
1.284
+18% vs. março
DIAGNÓSTICOS
342
+24% vs. março
CONVERSÃO
26,6%
+2,1 pp
Atividade recente
Novo lead · Mariana Souza / Ecowayhá 8 min
Diagnóstico concluído · Folegohá 32 min
Proposta enviada · Contaprevhá 2 h
Tabela · listagem com badges de status
app.axisbrasil.ai/leads
Leads 128
Nome
Empresa
Origem
Status
Data
Mariana Souza
Ecoway
Diagnóstico
ativo
21/04
João Maia
Folego
Site
em contato
20/04
Carolina Lima
Contaprev
Indicação
arquivado
18/04
Rafael Costa
ChemAI
LinkedIn
ativo
17/04
Formulário · login sem senha (magic link)
app.axisbrasil.ai/login
Entra na sua conta.
A gente manda um link por email. Sem senha.
Primeira vez? A conta é criada ao clicar no link.
Estado vazio · copy humana com CTA
app.axisbrasil.ai/diagnosticos
Nenhum diagnóstico ainda.
Compartilha o link com um lead — o primeiro resultado cai aqui em minutos.
Feedback · toast de sucesso e erro
Link copiado
Cola pra quem você quiser mandar.
!
Não conseguimos enviar
Verifica o email e tenta de novo.
11 · Downloads

Assets da marca.

Logo PNG em alta resolução, favicon, background. Pra casos específicos (SVG editável, versão em preto puro, aplicação em material impresso) fala com a gente no WhatsApp que a gente manda direto.

Logo PNG ↓Favicon ↓Background ↓Paralelogramo iso SVG ↓