Farm Sink
O sistema, uma peça por vez
Tudo aqui nasce do tokens.json: o que você vê é o que o sistema faz. Escolha por onde entrar, e a página mostra só aquilo.
Fundamentos
Logos
as 5 versões oficiais e os pares fundo/tinta
Paleta
6 cores, com contraste medido em cada par
Tipografia
duas famílias, 21 tokens de escala
Iconografia
61 ícones em 8 categorias
Espaçamento
a escala e o layout da tela
Curvatura
a linguagem curva da SSM
Sombras
três níveis, uso comedido
Motion
durações, curvas e ritmo social
As peças
Átomos
as menores unidades: botão, campo, tag
Moléculas
peças montadas de átomos
Organismos
seções inteiras, no canvas e na tela
Templates
os arquétipos de peça pronta
Páginas
o sistema aplicado por inteiro
Direção
Fotografia
a direção da foto e os prompts de IA
Personas
o clima de cada marca
Composição
os limites que separam desenho de ruído
Governança
Design System · linguagem visual
O sistema por trás de cada peça
A linguagem visual executável das duas marcas: cores, tipos, componentes, logos e regras de composição. O porquê estratégico vive no documento irmão, Marca & Voz.
Arquitetura de marca
Don Artesano é a mãe: atelier, projetos sob medida, B2B. CubasFarm é a filha: loja online, consumidor final, B2C. Compartilham DNA visual, mas cada uma guarda cores de identidade exclusivas que a outra nunca usa: Ônix na mãe; Dourado e Resina na filha.
Don Artesano
Empresa mãe · projetos sob medida · B2B
- Público
- Arquitetos e construtoras
- Tom
- Sofisticado, atelier exclusivo
- Cor dominante
- Titânio Sólido
- Destaque
- Azul Ônix (exclusivo)
- Proibido
- Dourado (exclusivo CubasFarm)
CubasFarm
Empresa filha · loja online · B2C
- Público
- Consumidor final
- Tom
- Aspiracional, acessível, ágil
- Cor dominante
- Branco Resina
- Detalhe
- Dourado (máx. 1-2 elementos (casa: Regras de composição))
- Proibido
- Azul Ônix (exclusivo DA)
Logos
As versões oficiais e os pares fundo/tinta aprovados. Cada logo aqui é o arquivo de Logos/ renderizado, e a proporção ao lado é medida do desenho, não digitada. Passe o mouse numa logo para exportar em SVG ou PNG.
- Respiro mínimo
- 25% da altura da logo aplicada, em todos os 4 lados
- Proibições
- Nunca compor a logo na mão (selo + nome digitado ao lado): inventa um lockup que não existe. Use sempre UM arquivo pronto: horizontal, vertical ou selo · Nunca em Dourado (nenhuma marca) · Nunca esticar, comprimir, rotacionar, inclinar · Nunca sombra, contorno, brilho, gradiente · Nunca recolorir fora dos pares fundo/logo oficiais · Logo CubasFarm nunca sobre Titânio Sólido
- No Instagram
- capa de feed 120px, canto inferior direito · miolo de feed 80px, canto inferior direito · feed de CTA 150px, centralizada acima do CTA · story 120px, canto inferior direito · capa de reel 120px, canto inferior direito (casa: organismo assinatura)
Não. Selo + nome digitado ao lado inventa um lockup que não existe.
Sim. O arquivo Logos/da-horizontal.svg inteiro, como uma peça só.
Don Artesano · Horizontal
- quando usar
- cabeçalhos de site, papel timbrado, assinatura de e-mail, rodapés
- tinta
- claros: Titânio Sólido · escuros: Branco SSM
- mínimos
- 140px largura digital · 30mm largura impresso
- proporção
- 3,87:1 medida do arquivo (948×245)
- arquivo
Logos/da-horizontal.svg
Don Artesano · Vertical
- quando usar
- capas, aberturas de vídeo, posts com altura disponível
- tinta
- claros: Titânio Sólido · escuros: Branco SSM
- mínimos
- 100px largura digital · 22mm largura impresso
- proporção
- 2,31:1 medida do arquivo (973×422)
- arquivo
Logos/da-vertical.svg
Selo DA
- quando usar
- favicon, avatar, marca d'água, espaços mínimos; único aprovado em tamanhos extremos (16-32px)
- tinta
- sobre Ônix e escuros: Branco SSM · sobre claros: Titânio Sólido
- mínimos
- 24px altura digital · 8mm altura impresso
- proporção
- 1,25:1 medida do arquivo (858×688)
- arquivo
Logos/selo-da.svg
CubasFarm · Horizontal
- quando usar
- contextos largos no universo CubasFarm
- tinta
- claros: Titânio Sólido · foto escura com descanso: Branco SSM · nunca sobre Titânio chapado
- mínimos
- 120px largura digital · 25mm largura impresso
- proporção
- 2,62:1 medida do arquivo (497×190)
- arquivo
Logos/cf-horizontal.svg
CubasFarm · Vertical
- quando usar
- contextos altos no universo CubasFarm
- tinta
- claros: Titânio Sólido · foto escura com descanso: Branco SSM · nunca sobre Titânio chapado
- mínimos
- 90px largura digital · 20mm largura impresso
- proporção
- 1,56:1 medida do arquivo (413×265)
- arquivo
Logos/cf-vertical.svg
Paleta de cores
Titânio Sólido
Dominante na Don Artesano; uso comedido na CubasFarm.
Cinza Quartzo
Subtítulos, menus, legendas, texto secundário.
Branco SSM
Texto sobre escuro; o branco do produto.
Azul Ônix
Heros e fundos escuros de sofisticação.
Dourado
Acento, no máximo 1 a 2 elementos por peça.
Branco Resina
O claro quente da loja: fundos e grids de produto.
Pares de texto aprovados
Neutros de apoio · não-marca
Canvas
#f8f8f8 · fundo de app/docsBorda sutil
#ededed · divisor leveBorda padrão
#d9d9d9 · inputs, cardsEstados semânticos · alertas e feedback
Sucesso
#1f6b3eAtenção
#9c6a1e · ≠ douradoErro
#a8281cInfo
#1f4d8cEstados são não-brand: aparecem em validações, banners e feedback de UI, nunca como cor de marca em peças. O âmbar de atenção existe justamente para não roubar o papel do Dourado.
Não. Dourado sobre Ônix mistura as exclusivas das duas marcas numa peça só: não existe peça meio Don, meio CubasFarm.
Sim. Cada exclusiva na marca dona: o Dourado assina a CubasFarm sobre as cores compartilhadas.
Tipografia
Duas famílias, cada uma com uma função fixa. NUNCA em caixa alta. Cada amostra abaixo é vestida pelo próprio token que ela ilustra: o que você vê é o que o token faz.
As duas famílias
Escala do canvas · 11 tokens
Tamanhos de arte para 3:4 e 9:16. Amostras grandes aparecem reduzidas na página; o tamanho real está sempre escrito ao lado.
Escala da tela · 10 tokens
Em Playfair (display), numerais SEMPRE lining (feature lnum): o conjunto padrão da fonte é oldstyle e a marca não o usa. Números funcionais (preço, quantidade, tabela) são Inter, tabulares quando em coluna. Limites de composição: casa única em Regras de composição.
Não. NUNCA em caixa alta.: em caixa alta o display perde o desenho das minúsculas e vira gritaria serifada.
Sim. Playfair 500 em caixa normal: fala baixo e imponente, do jeito da marca.
Não. Preço é tabular/funcional, NUNCA Playfair: o número vira enfeite e desalinha em qualquer tabela.
Sim. Inter 600 tabular: dígitos que se alinham e se comparam.
Iconografia
61 ícones em 8 categorias (de marca + utilitários de navegação), todos 24x24, stroke 2px, cor herdada do contexto via currentColor. Nunca hardcoded. Cada ícone abaixo é o arquivo de Icones/ renderizado: a página não tem cópia própria. Clique num ícone para exportar em SVG/PNG nas cores da marca ou copiar o nome.
Propriedades técnicas SSM · 7
Produtos CubasFarm · 10
Verticais B2B Don Artesano · 3
Ofício & precisão · 4
Herança · 4
Serviço & operacional · 5
Funcionalidades de site · 8
Utilitários de navegação · 20
- Medida
- 24x24 · stroke 2px
- Cor
- Herda do contexto via currentColor, nunca hardcoded. Titânio sobre fundos claros, Branco SSM sobre escuros. Na CubasFarm, Dourado é permitido como acento e conta no limite de 1-2 acentos dourados da peça.
- Proibições
- Dourado em ícones Don Artesano (exclusividade CubasFarm) · Preto puro #000 · Gradientes, sombras, brilhos
- Exceções preenchidas
- ssm-material (brand mark 64x64) · estrela-filled (par com estrela outline)
Desvios conhecidos e aceitos: nao-mancha, calha-gourmet, instalacao e cupom usam BOOLEAN operations e renderizam visualmente mais 'pesados' que os stroke-only puros: desvio aceito em 2026-04-25. Não retrabalhar.
Espaçamento
Escala de espaçamento em px e o layout web. Os formatos de post (3:4 e 9:16) são padrões externos das redes: as medidas de cada peça vivem em Templates.
A filosofia do respiro
O respiro é o separador. Como nada tem borda por padrão, é o espaço que diz onde uma coisa acaba e a outra começa: tirar respiro não deixa a página mais cheia, deixa ilegível.
- entre seções
- Generoso e constante: a seção padrão respira 96px em cima e embaixo, e o hero 120px. É o que dá o ritmo de leitura da página
- dentro da peça
- Eficiente: 12 a 24px. Dentro do card o espaço trabalha, não desfila, para a foto e o produto dominarem
- mínimo
- Nenhuma peça abaixo de 15% de área livre
O que é uma seção
Uma faixa horizontal da página, com um assunto só. Ocupa a largura toda; o conteúdo dentro dela obedece ao container. Partes: abertura (título + linha de apoio, opcional) · conteúdo · respiro de fechamento.
Seção não tem borda nem fundo próprio por padrão: ela se separa da vizinha pelo respiro. Fundo só quando a faixa é deliberadamente outra superfície.
Curvatura & bordas
Curva é a linguagem da SSM: fluidez, sem emendas visíveis. Por padrão nada tem borda; quando existe, é funcional e vem das espessuras abaixo.
Curva é a linguagem da SSM: fluidez, sem emendas visíveis. Valor fora desta escala não existe; miniaturas em escala de canvas usam o valor proporcional.
Não. Borda de repouso desenha caixas: a página inteira vira formulário.
Sim. Superfície branca sobre canvas com sombra sm: separa sem riscar. Borda, só quando é função.
Sombras & elevação
Três níveis de sombra para UI de site. Uso comedido: a marca prefere hierarquia por espaço e cor, não por profundidade. Nos criativos, a regra anti-IA proíbe brilho e sombra artificiais; a única elevação permitida no canvas é a do card de produto, que veste o shadow/md para separar o card branco do fundo claro.
shadow/sm
y 3 · blur 9 · 12%
shadow/md
y 6 · blur 16 · 12%
shadow/lg
y 12 · blur 32 · 18%
canvas · card de produto
veste o shadow/md · única sombra permitida nos criativos
Motion
Durações e easings para o site; regras de movimento para Reels e Stories. Em peças estáticas, movimento zero: sombra e brilho continuam proibidos nos criativos.
Durações
Curvas de easing
cubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0.4, 0, 1, 1)cubic-bezier(0, 0, 0.2, 1)cubic-bezier(0.22, 1, 0.36, 1)Entrada de texto oficial
Fade + deslize de 24px, 300ms, easing editorial.
Reels & Stories
- Entrada de texto: Fade + deslize sutil de baixo para cima (~24px), duração base (300ms), easing editorial. Nunca bounce, nunca typewriter.
- Ritmo de corte: Cortes a cada 2-4s em Reels de produto; respiros de 5-6s em cenas de superfície/toque: a sensação soft pede tempo.
- Legendas: Sempre dentro das safe zones (topo 250px, base 350px). Tipografia do sistema, nunca a nativa do app em peças produzidas.
- Proibido: Zoom pulsante, shake, transições giratórias, stickers/efeitos nativos de app em peças produzidas (coerente com o filtro anti-IA do sistema)
Átomos
As menores peças funcionais, um card por peça. O título é o nome da peça; o chip ao lado é o endereço dela no sistema (.ds-*, um namespace só): na tela é a classe CSS, no canvas endereça a chave das receitas. Botão e companhia renderizados pelo próprio Web/ds-web.css (marca via data-brand; demos na CubasFarm, a loja). Iconografia e Logos são ativos de marca e vivem em Fundamentos, não aqui.
Ação & navegação
O que a pessoa aperta: o par primário/secundário e o link.
botão .ds-botao
Um só botão para as duas marcas: as cores vêm da marca do contexto (data-brand no ancestral). Variantes primary (padrão) e secondary. Estados: hover · active · foco (anel da marca) · disabled · loading. Tamanhos: 32 / 44 (alvo tátil) / 56.
↳ no canvas: CTA [215×41] dos anúncios A/B · radius 20/10
link .ds-link
Link de texto com sublinhado elegante; variantes standalone (sem sublinhado, underline no hover) e inverse.
↳ só na tela
Formulário
A conversa de dados: campos de texto, escolhas e a chave de liga/desliga.
input .ds-input
Campo de texto simples; deve ser embrulhado em FormField (molecule) para label/helper/erro.
↳ só na tela
textarea .ds-textarea
Área de texto multilinha, herda visual do Input com altura maior e resize vertical.
↳ só na tela
select .ds-select
Select nativo estilizado com chevron via background-image SVG inline (mantem a11y do browser).
↳ só na tela
checkbox .ds-checkbox
Checkbox custom (appearance none) acessível com estados checked e indeterminate.
↳ só na tela
radio .ds-radio
Radio button custom redondo.
↳ só na tela
toggle .ds-toggle
Switch tipo iOS implementado como checkbox.
↳ só na tela
Rótulo & feedback
O sistema falando: etiquetas, avisos, progresso e o esqueleto de carregamento.
tag .ds-tag
Chip pill estática ou removível (com botão de close inline).
↳ no canvas: .ds-tag-de-categoria 22px
badge .ds-badge
Pill compacto estático com 3 variantes: neutro, destaque, sale (+ success e info).
↳ no canvas: .ds-chip-de-cupom
tooltip .ds-tooltip
Hint popover; modo wrapper CSS-only (hover/focus-within) ou standalone controlado por JS.
↳ só na tela
barra de progresso .ds-barra-de-progresso
Barra de progresso determinada (progress nativo) ou indeterminada (animação de slide).
↳ só na tela
skeleton .ds-skeleton
Placeholder de loading com shimmer animado; variantes line (default), block, circle.
↳ só na tela
Conteúdo & superfície
Onde o conteúdo se apoia: cartão, ficha, avatar e o divisor.
card .ds-card
Card genérico de superfície: fundo Branco SSM, sem borda de repouso, separa do canvas por superfície e ganha sombra ao virar link. Três densidades, e nada fora delas
↳ só na tela
ficha .ds-ficha
- Material
- SSM 30% PMMA
- Garantia
- 5 anos
Pares rótulo/valor empilhados com separador sutil: informação nunca solta, sempre rotulada.
↳ só na tela
avatar .ds-avatar
Container redondo para imagem, iniciais ou ícone, com dot de status opcional.
↳ só na tela
divisor .ds-divisor
Linha separadora sutil horizontal (default) ou vertical.
↳ só na tela
Fundações com casa própria
Tipografia e iconografia têm seções inteiras; aqui vivem o endereço e a amostra de bolso.
tipografia .ds-display-* · .ds-heading-* · .ds-body-*
Classes CSS puras de tipografia (sem markup próprio); templates aplicam a classe ao elemento HTML semântico.
↳ casa: seção Tipografia (escalas do canvas e da tela)
ícone .ds-icone
Ícone SVG de 24×24 consumido por referência (<use>); a cor herda do contexto por currentColor.
↳ casa: seção Iconografia (cor por currentColor)
Moléculas
Os menores grupos de átomos com função própria, agrupados pelo trabalho que fazem. Uma peça, uma identidade, dois tamanhos: as etiquetas canvas/tela em cada card mostram a peça nas duas escalas; quando o par da tela é uma peça irmã, o rótulo declara o endereço dela (tela · .ds-tag). Demos de tela na marca CubasFarm (a loja); a DA troca as cores via data-brand.
Produto & preço
A unidade de venda: a etiqueta, o preço e o cupom que a acompanham.
tag de categoria .ds-tag-de-categoria DA CF
texto .ds-tag-de-categoria 22px
↳ usada em: .ds-card-de-produto, .ds-faixa-de-hashtags
↳ na tela: .ds-tag
preço .ds-preco
texto Inter semibold (nunca Playfair)
↳ usada em: .ds-card-de-produto (variante pill)
↳ na tela: .ds-preco
chip de cupom .ds-chip-de-cupom
badge de desconto + código (ex: 10% OFF · FARM10)
⚠ só tráfego pago
↳ usada em: .ds-bloco-de-oferta
↳ na tela: .ds-badge--oferta
card de catálogo .ds-card-de-catalogo
Card vertical de produto para grids de catalogo: imagem + tag + título + rating + preco + CTA.
↳ no canvas: .ds-card-de-produto (organismo do feed)
Formulário & checkout
Os passos da compra: campo pronto, quantidade e pagamento salvo.
campo de formulário .ds-campo-de-formulario
Wrapper de campo de formulario: label + control (input/textarea/select) + helper/erro.
↳ só na tela
seletor de quantidade .ds-seletor-de-quantidade
Seletor de quantidade: botoes menos/mais + input numerico central, role=group.
↳ só na tela
cartão salvo .ds-cartao-salvo
Cartao salvo no checkout: brand mark + ultimos 4 digitos + validade, selecionavel.
↳ só na tela
Conteúdo & confiança
O que sustenta a história: fotos, avaliações, créditos e diferenciais.
hashtag .ds-hashtag
texto .ds-tag-de-categoria em Branco SSM sobre foto
↳ usada em: .ds-faixa-de-hashtags
↳ na tela: .ds-tag (sobre foto)
crédito de foto .ds-credito-de-foto
texto credito 22px em {color.brand.cinza-quartzo}
↳ usada em: .ds-bloco-de-depoimento, .ds-bloco-editorial
↳ na tela: .ds-card-de-foto__caption
card de foto .ds-card-de-foto
Cozinha da Lu · SP
Figure com imagem arredondada + caption; para hero, galerias e ambient shots.
↳ no canvas: .ds-moldura-de-foto (organismo do feed)
bloco de diferencial .ds-bloco-de-diferencial
Não porosa
Não absorve líquidos nem mancha.
Ícone + título + descrição para secoes de diferenciais/como funciona.
↳ só na tela
nota em estrelas .ds-nota-em-estrelas
Estrelas + valor numerico + count de avaliacoes, com aria-label descritivo no wrapper.
↳ só na tela
card de avaliação .ds-card-de-avaliacao
Parece uma peça só.
março de 2026Card de avaliacao: header (avatar + nome + rating) + texto entre aspas + data.
↳ só na tela
Organismos
Seções completas, compostas das moléculas e átomos abaixo, agrupadas pelo papel que cumprem. No feed, combinam-se sobre a grade única para gerar variedade; na loja, viram seções de página.
Chrome da página
A moldura de toda página: a barra de topo, o menu lateral e o rodapé.
moldura-de-sistema .ds-moldura-de-sistema
A casca de qualquer sistema: a marca emoldura por fora, o conteúdo vive numa superfície clara embutida, e a curva aparece no encontro dos dois. Recebe a barra de topo e o menu lateral; o miolo é o palco
✕ Não usar: Site institucional e loja não usam moldura: ali o conteúdo é a página inteira, sem casca de aplicação
↳ só na tela
barra de topo .ds-barra-de-topo
Sistema · app / painel
Institucional · site
E-commerce · loja (base, com topbar)
Barra de topo UNIVERSAL: o chrome horizontal do topo, com uma variante por contexto. Compõe com o menu-lateral num shell de app, ou vive sozinha.
✕ Não usar: Duas barras de topo empilhadas (promo + navegação como organismos separados): é UMA barra com topbar interno. E nunca a variante e-commerce cheia dentro de um app: no sistema, use --sistema.
↳ no canvas: .ds-assinatura (a marca assina)
menu lateral .ds-menu-lateral
Completo · com grupos e usuário
Rail · só ícones
Menu lateral UNIVERSAL (side nav / rail): navegação vertical com grupos, itens (ícone + rótulo + contador), estado ativo e rodapé. Serve app, site e loja.
✕ Não usar: Como única navegação de um site institucional simples de 3-4 páginas: ali a barra de topo basta. E nunca com mais de ~7 itens por grupo sem subdividir: vira lista, não menu.
↳ só tela: navegação de app, site e loja
rodapé .ds-rodape
Chrome do rodape: brand block + colunas de links + social + legal, sobre fundo inverso.
✕ Não usar: Na versão completa dentro de checkout: distração no momento de pagar. Ali, só a legal bar.
↳ no canvas: .ds-assinatura (a marca assina)
Destaque & narrativa
A primeira dobra: onde a atenção nasce, no feed e na loja.
moldura de foto .ds-moldura-de-foto
Como a fotografia entra na peça
↳ usado em: A, B, E, F, G, Story A, Reel A
↳ na tela: .ds-card-de-foto · imagem do .ds-carrossel-hero
bloco editorial .ds-bloco-editorial
A voz da peça: headline + corpo de apoio opcional
H1/H2 Playfair + corpo Inter + .ds-credito-de-foto opcional
↳ usado em: A, B, C, F, G, Stories, Reels
↳ na tela: conteúdo do .ds-carrossel-hero (display + corpo)
carrossel hero .ds-carrossel-hero
Carrossel de hero com slides (imagem bg + overlay + conteúdo), setas e dots; scroll-snap CSS.
✕ Não usar: Com um slide só (vira hero estático com controles mortos) ou em autoplay sem pausa acessível.
↳ no canvas: .ds-moldura-de-foto + .ds-bloco-editorial
Vitrine de produto
O catálogo em cena: grades, herói de produto e atalhos.
card de produto .ds-card-de-produto
O produto apresentado em superfície branca
card Branco SSM + .ds-tag-de-categoria + nome (H1/H2) + .ds-preco opcional
↳ usado em: D, E, G, Story A
↳ na tela: .ds-card-de-catalogo
vitrine de produtos .ds-vitrine-de-produtos
Catálogo
Farm Sinks
Farm Sink
Cuba Farm 70
Farm Sink
Cuba Farm 90
Farm Sink
Tanque Farm 60
Seção de catalogo: header + filter chips + grid de product-cards + CTA Ver todos.
✕ Não usar: Com menos de 3 produtos: grade rala deprecia o catálogo. Use produto em destaque.
↳ só na tela
produto em destaque .ds-produto-em-destaque
Farm Sink
Cuba Farm 70
Peça única em superfície sólida mineral, sem emenda à vista.
Card de produto grande e horizontal para destaques (home, produtos relacionados); diferente do molecule vertical.
✕ Não usar: Em série: dois heróis seguidos competem e nenhum vence. É peça de UM produto por vez.
↳ no canvas: .ds-card-de-produto
atalhos de categoria .ds-atalhos-de-categoria
Row de cards clicáveis com imagem de fundo, título Playfair e seta circular (Figma área-lks-row/tile).
✕ Não usar: Com categoria de item único: atalho que leva a uma página de um produto frustra o clique.
↳ só na tela
Prova social
Quem já comprou fala: avaliações e depoimentos.
bloco de depoimento .ds-bloco-de-depoimento
Prova social e voz de cliente
Parece uma peça só.
aspas-decorativas 280 (podem ser Douradas na CF) + citação H2 + .ds-credito-de-foto
↳ usado em: Story B, quote blocks
↳ na tela: .ds-bloco-de-depoimento
bloco de avaliações .ds-bloco-de-avaliacoes
Avaliações
Quem já instalou
Parece uma peça só.
2026Instalação simples, acabamento impecável.
2026Seção de social proof: nota agregada (estrelas + média + count) + grid de review-cards.
✕ Não usar: Sem volume real (menos de 3 avaliações): prova social rala desprova.
↳ só na tela
Argumento & conversão
O empurrão final: diferenciais, oferta e captura de contato.
bloco de oferta .ds-bloco-de-oferta
Conversão: botão + oferta
botão CTA [215×41] + .ds-chip-de-cupom opcional
⚠ EXCLUSIVO de tráfego pago (A/B), nunca no feed orgânico
↳ usado em: A, B
↳ na tela: .ds-botao + .ds-badge--oferta
seção de diferenciais .ds-secao-de-diferenciais
Por que SSM
Feita para durar
Não porosa
Não absorve líquidos nem mancha.
Peça única
Sem emendas onde a sujeira se acumula.
Sob medida
Reparável e ajustável ao projeto.
Seção de página com header (eyebrow + título + descrição) + grid de feature-boxes.
✕ Não usar: Com mais de 4 itens: vira lista e o argumento perde força. Corte até doer.
↳ só na tela
pílula de benefício .ds-pilula-de-beneficio
Destaque horizontal clicável em formato pill: ícone grande + título + descrição + CTA; maior que o feature-box.
✕ Não usar: Para claims longos: pílula é 2-4 palavras. Frase inteira pede bloco de diferencial.
↳ só na tela
newsletter .ds-newsletter
Form de assinatura de e-mail com status aria-live; 2 colunas em desktop.
✕ Não usar: Dentro do funil de compra (carrinho, checkout): captura ali é fricção, não relacionamento.
↳ só na tela
card de contato .ds-card-de-contato
Fale com a loja
Resposta no mesmo dia útil.
Bloco de contato: título + descrição + lista de canais (ícone + label + valor).
✕ Não usar: Como CTA primário de venda: é peça de suporte e confiança, não de conversão.
↳ só na tela
Assinatura & peças do feed
A marca assina a peça: selo, hashtags e os formatos próprios do feed.
assinatura .ds-assinatura
A marca assina: obrigatório em toda peça
↳ usado em: TODAS as peças
↳ na tela: marca no .ds-barra-de-topo e .ds-rodape
faixa de hashtags .ds-faixa-de-hashtags
Série editorial nomeada
hashtag no topo [150,150,780,26]
↳ usado em: E (série com hashtag própria)
↳ na tela: .ds-tag em série
ficha de vaga .ds-ficha-de-vaga
Recrutamento escaneável
eyebrow + cargo Playfair 60 + salario-chip + 2 seções de bullets + obsBox + footer
⚠ só Don Artesano, formato 1080×1080
↳ usado em: Vaga RH
↳ na tela: sem par na tela (peça de RH do feed)
Como nasce um template novo: a variedade é combinatória
Fórmula: 1 fundo (.ds-moldura-de-foto OU cor de marca) + 1-2 organismos de conteúdo + .ds-assinatura (sempre). .ds-bloco-de-oferta apenas em tráfego pago.
Margem 150 · coluna 780 · baseline 1290 (feed) · safe zones 250/350 (vertical) · limites de composição valem sempre.
Caminho de promoção: Combinação nova = EXPERIMENTO no nível de página. Publicou, funcionou (aprovação + engajamento), repetiu 2-3x com consistência: é promovida a arquétipo nomeado no sistema. Curar, não inovar: o sistema absorve o que a prática comprova.
Combinações inéditas legítimas (exemplos)
- .ds-moldura-de-foto:closeup-topo + .ds-bloco-de-depoimento = depoimento sobre textura (F+B, não existe como arquétipo)
- .ds-moldura-de-foto:split-topo + .ds-card-de-produto:canto-sobre-foto = lançamento com ambiente + ficha (B+E)
- .ds-bloco-editorial:hero-gigante sobre Ônix, sem foto = manifesto DA (G+C)
Templates & receitas de montagem
Receitas comprovadas de combinação dos organismos sobre a grade única. Combinações novas são legítimas e, quando vencem na prática, viram arquétipo. Regra de governança: Anúncios A/B só em Meta/Google Ads, nunca no feed orgânico. Na web, os templates de página chegam com a aplicação nos sites.
Grade universal do feed (1080×1440)
Arquétipos: receitas comprovadas
Anúncio A · Foto Full Bleed
SÓ TRÁFEGO PAGO · PROIBIDO NO FEEDImpacto imediato: uma foto de ambiente ocupa tudo, gradiente garante contraste e a promessa entra em uma linha.
.ds-moldura-de-foto:full-bleed+.ds-bloco-editorial:sobre-foto+.ds-bloco-de-oferta+.ds-assinatura:feed- 1foto
[0, 0, 1080, 1440] - 2gradiente
[0, 720, 1080, 720] - 3headline
[150, 1000, 780, 100] - 4corpo
[150, 1120, 780, 60] - 5cta
[150, 1211, 215, 41] - 6selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
foto[0, 0, 1080, 1440] - 2
gradiente[0, 720, 1080, 720] - 3
headline[150, 1000, 780, 100] - 4
corpo[150, 1120, 780, 60] - 5
cta[150, 1211, 215, 41] - 6
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 1L DA CFcorpocorpo · 35px · máx 1L DA CFctacta-botao · 35px · máx 1L DA CF
Anúncio B · Split (foto + fundo liso)
SÓ TRÁFEGO PAGO · PROIBIDO NO FEEDMetade superior prova (foto), metade inferior argumenta (texto sobre fundo liso da marca).
.ds-moldura-de-foto:split-topo+.ds-bloco-editorial:pos-foto+.ds-bloco-de-oferta+.ds-assinatura:feed- 1foto
[0, 0, 1080, 720] - 2headline
[150, 820, 780, 100] - 3corpo
[150, 950, 780, 120] - 4cta
[150, 1211, 215, 41] - 5selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
foto[0, 0, 1080, 720] - 2
headline[150, 820, 780, 100] - 3
corpo[150, 950, 780, 120] - 4
cta[150, 1211, 215, 41] - 5
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 1L DA CFcorpocorpo · 35px · máx 2L DA CF
Arquetipo C · Tipografia Dominante
FEED ORGÂNICOSem foto: a frase é a peça. Herança e convicção ditas em Playfair sobre fundo de marca.
.ds-bloco-editorial:dominante+.ds-assinatura:feed- 1headline
[150, 450, 780, 200] - 2corpo
[150, 780, 780, 180] - 3selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
headline[150, 450, 780, 200] - 2
corpo[150, 780, 780, 180] - 3
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 2L DA CFcorpocorpo · 35px · máx 3L DA CF
Arquetipo D · Produto Branco
FEED ORGÂNICOCatálogo elegante: produto recortado em card branco central, nome como assinatura editorial.
.ds-card-de-produto:central+.ds-assinatura:feed- 1curvaTop
[-80, -60, 500, 500] - 2curvaBottom
[660, 1000, 500, 500] - 3cardProduto
[280, 420, 520, 420] - 4tagCategoria
[150, 1000, 780, 30] - 5nomeProduto
[150, 1050, 780, 100] - 6selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
curvaTop[-80, -60, 500, 500] - 2
curvaBottom[660, 1000, 500, 500] - 3
cardProduto[280, 420, 520, 420] - 4
tagCategoria[150, 1000, 780, 30] - 5
nomeProduto[150, 1050, 780, 100] - 6
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
tagCategoriatag-de-categoria · 22px · máx 1L DA CFnomeProdutoH1-titulo-principal · 80px · máx 1L DA CF
Arquetipo E · Foto + Card
FEED ORGÂNICOPessoa em cena com card branco de apresentação: humaniza a marca (série com hashtag própria).
.ds-moldura-de-foto:full-bleed+.ds-faixa-de-hashtags+.ds-card-de-produto:canto-sobre-foto+.ds-assinatura:feed- 1foto
[0, 0, 1080, 1440] - 2hashtag
[150, 150, 780, 26] - 3card
[150, 990, 500, 300] - 4cardTag
[190, 1025, 420, 26] - 5cardNome
[190, 1070, 420, 150] - 6selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
foto[0, 0, 1080, 1440] - 2
hashtag[150, 150, 780, 26] - 3
card[150, 990, 500, 300] - 4
cardTag[190, 1025, 420, 26] - 5
cardNome[190, 1070, 420, 150] - 6
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
hashtagtag-de-categoria · 22px · máx 1L DA CFcardTagtag-de-categoria · 22px · máx 1L DA CFcardNomeH2-subtitulo · 56px · máx 2L DA CF
Arquetipo F · Branco Editorial
FEED ORGÂNICOMetade close-up, metade respiro branco: argumento técnico dito com calma editorial.
.ds-moldura-de-foto:closeup-topo+.ds-bloco-editorial:pos-foto+.ds-assinatura:feed- 1closeup
[0, 0, 1080, 720] - 2headline
[150, 880, 780, 200] - 3corpo
[150, 1110, 780, 100] - 4selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
closeup[0, 0, 1080, 720] - 2
headline[150, 880, 780, 200] - 3
corpo[150, 1110, 780, 100] - 4
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 2L DA CFcorpocorpo · 35px · máx 2L DA CF
Arquetipo G · Hero Ambient
FEED ORGÂNICOPalavra gigante sobre ambiente + pill de produto com preço: editorial que vende sem parecer anúncio.
.ds-moldura-de-foto:full-bleed+.ds-bloco-editorial:hero-gigante+.ds-card-de-produto:pill+.ds-assinatura:feed- 1foto
[0, 0, 1080, 1440] - 2displayHero
[90, 80, 900, 460] - 3pillCard
[290, 1050, 500, 120] - 4selo
[850, 1210, 80, 80]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
foto[0, 0, 1080, 1440] - 2
displayHero[90, 80, 900, 460] - 3
pillCard[290, 1050, 500, 120] - 4
selo[850, 1210, 80, 80]
Textos · estilo e tamanho
displayHerodisplay-hero · 200px · máx 2L DA CFpillNometag-pill · 28px · máx 1L DA CFpillPrecoInter Regular 16 · máx 1L DA CF
Vaga RH (só Don Artesano)
FEED ORGÂNICOPeça funcional de recrutamento: cargo em destaque, requisitos escaneáveis, contato no rodapé.
.ds-ficha-de-vaga+.ds-assinatura:vaga- 1apronStrip
[0, 0, 1080, 6] - 2eyebrow
[150, 30, 780, 31] - 3logoHorizontal
[693, 6, 237, 80] - 4cargo
[150, 122, 780, 149] - 5salaryChip
[150, 299, 238, 52] - 6secao1
[150, 379, 780, 240] - 7secao2
[150, 647, 780, 240] - 8obsBox
[150, 915, 780, 80] - 9rodape
[150, 1023, 780, 60]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
apronStrip[0, 0, 1080, 6] - 2
eyebrow[150, 30, 780, 31] - 3
logoHorizontal[693, 6, 237, 80] - 4
cargo[150, 122, 780, 149] - 5
salaryChip[150, 299, 238, 52] - 6
secao1[150, 379, 780, 240] - 7
secao2[150, 647, 780, 240] - 8
obsBox[150, 915, 780, 80] - 9
rodape[150, 1023, 780, 60]
Textos · estilo e tamanho
eyebrowInter Bold 26 · máx 1L DA CFcargoNomePlayfair Display Medium 60 (fora da escala social) · máx 2L DA CFsalarioInter Bold 20 · máx 1L DA CF
Formatos verticais
Faixas hachuradas = UI do Instagram, área proibida para conteúdo.
Reel Capa · A-foto-full-bleed
1080×1920 · SAFE ZONES 250/350Frame inicial do Reel com gradiente e promessa: espelho vertical do Anúncio A.
.ds-moldura-de-foto:full-bleed+.ds-bloco-editorial:sobre-foto+.ds-assinatura:vertical- 1headline
[150, 1250, 780, 100] - 2corpo
[150, 1370, 780, 100] - 3selo
[810, 1450, 120, 120]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
headline[150, 1250, 780, 100] - 2
corpo[150, 1370, 780, 100] - 3
selo[810, 1450, 120, 120]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 1L DA CFcorpocorpo · 35px · máx 2L DA CF
Reel Capa · B-tipografia-dominante
1080×1920 · SAFE ZONES 250/350Capa sem foto: frase centrada verticalmente no fundo da marca.
.ds-bloco-editorial:dominante+.ds-assinatura:vertical- 1headline
[150, 850, 780, 250] - 2corpo
[150, 1100, 780, 100] - 3selo
[810, 1450, 120, 120]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
headline[150, 850, 780, 250] - 2
corpo[150, 1100, 780, 100] - 3
selo[810, 1450, 120, 120]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 2L DA CFcorpocorpo · 35px · máx 1L DA CF
Story · A-produto-destaque
1080×1920 · SAFE ZONES 250/350Produto emoldurado num quadrado central com nome e benefício centrados abaixo.
.ds-moldura-de-foto:frame-central+.ds-bloco-editorial:centrado+.ds-assinatura:vertical- 1frameProduto
[150, 400, 780, 780] - 2headline
[150, 1230, 780, 100] - 3corpo
[150, 1350, 780, 80] - 4selo
[810, 1450, 120, 120]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
frameProduto[150, 400, 780, 780] - 2
headline[150, 1230, 780, 100] - 3
corpo[150, 1350, 780, 80] - 4
selo[810, 1450, 120, 120]
Textos · estilo e tamanho
headlineH1-titulo-principal · 80px · máx 1L DA CFcorpocorpo · 35px · máx 1L DA CF
Story · B-quote
1080×1920 · SAFE ZONES 250/350Depoimento em Playfair com aspas gigantes: prova social como peça editorial.
.ds-bloco-de-depoimento+.ds-assinatura:vertical- 1quoteBlock
[150, 400, 780, 1100] - 2aspas
[150, 400, 122, 373] - 3quote
[150, 720, 780, 500] - 4credito
[150, 1400, 780, 26] - 5selo
[810, 1450, 120, 120]
Medidas completas: zonas [x, y, larg, alt] e estilos de texto
Zonas · [x, y, larg, alt] px
- 1
quoteBlock[150, 400, 780, 1100] - 2
aspas[150, 400, 122, 373] - 3
quote[150, 720, 780, 500] - 4
credito[150, 1400, 780, 26] - 5
selo[810, 1450, 120, 120]
Textos · estilo e tamanho
aspasaspas-decorativas · 280px · máx 1L DA CFquoteH1-titulo-principal · 80px · máx 5L DA CFcreditotag-de-categoria · 22px · máx 1L DA CF
Checklist pré-publicação
- Arquétipo certo para o objetivo? (anúncio A/B nunca no feed orgânico)
- Máx 3 cores · máx 2 pesos de fonte · ≥15% de respiro (casa: Regras de composição)
- Dourado só na CubasFarm, máx 1-2 elementos (casa: Regras de composição)
- Playfair nunca em caixa alta · preço nunca em Playfair (casa: Tipografia)
- Selo na posição do formato (casa: Grade universal e organismo assinatura)
- Conteúdo fora das safe zones nos formatos verticais (250 topo / 350 base)
- Texto legível no tamanho real do celular
- Copy: a Don Artesano / a SSM no feminino · sem travessão · máx 5 hashtags · máx 2 emojis
Páginas
O nível mais alto: os templates preenchidos com conteúdo real. Servem para provar o sistema de ponta a ponta e revelar o que só aparece quando tudo se junta. Aqui, uma peça de cada vertente, com produto, preço e logo reais.
Social · peças em fidelidade
Web · página de produto (CubasFarm)
Página de produto completa · role dentro da moldura para ver do cabeçalho ao rodapé
O que esta instância revelou (e já foi corrigido)
- Bordas de repouso nos componentes web. Card de produto, avaliação, cartão de contato, cabeçalho e a variante horizontal do card carregavam contorno herdado da versão anterior. Numa página real isso contradiz a fluidez da SSM: agora separam por superfície e sombra, sem borda de repouso.
- A marca no cabeçalho vinha em Dourado. O brasão do header usava a cor de destaque, que na CubasFarm é o Dourado: a logo nunca é Dourada. Passou à cor principal, e a página agora usa a logo real do sistema, não um placeholder.
- Controles preenchidos, não contornados. Ícones sociais do rodapé e as setas do carrossel trocaram o contorno por preenchimento translúcido, coerente com os campos de formulário.
- Safe zones das peças sociais. A primeira montagem pôs o selo no cantinho e o texto perto da borda. Corrigido para a geometria da fonte: margem de 150px, selo de 120px (story) e 80px (feed) recuado 150px da direita, e no story o conteúdo respeita as safe zones do Instagram (topo 250px, base 350px), com o selo apoiado exatamente na linha inferior.
Fotografia & prompts de IA
A foto é a peça. Direção oficial para foto real e imagem gerada, extraída dos anúncios que mais performaram.
Princípio
A foto é a peça. O produto branco em SSM é sempre o ponto de maior luminância e o centro de gravidade da cena: tudo o mais existe para fazê-lo parecer inevitável.
Clima sóbrio
- princípio
- o produto branco é a maior luminância da cena
- luz DA
- neutra-fria (5000-6000K, manhã) · natural, lateral, difusa
Clima residencial habitado
- luz CF
- quente (3500-4500K, fim de tarde suave) · natural, lateral, difusa
- ecos da marca
- latão escovado + madeira clara
Fotos reais do catálogo: exemplos vivos da direção.
Cenários
- Cozinha residencial sofisticada (principal)
- Área gourmet residencial
- Banheiro residencial (linhas Athena/Gaia/Selene)
- Atelier/produção: SOMENTE Don Artesano B2B, luz fria
CF: sempre ambiente residencial habitado. DA: obra finalizada de projeto ou atelier.
Materiais de cena
- Madeira natural clara/média (prateleira, tábua, piso)
- Metais em latão/dourado escovado (torneira, puxadores): o eco físico do acento da marca
- Cerâmica e pedra em tons neutros
- Verde orgânico (ramos, ervas) como único respiro de cor viva
Poucos e intencionais: bowls, livros, sabonete em vidro âmbar, frutas claras. Máx 3 grupos de props por cena.
Luz
- Qualidade: Natural, lateral, difusa: janela grande fora de quadro
- Temperatura: CF: quente (3500-4500K, fim de tarde suave). DA: neutra-fria (5000-6000K, manhã).
- Flash direto, sombras duras, iluminação de estúdio aparente, golden hour saturado
Proibido: Flash direto, sombras duras, iluminação de estúdio aparente, golden hour saturado
Câmera
- Altura: Nível da bancada (produto) ou do peito (cena aberta)
- Ângulo: Frontal ou 3/4 sutil. Nunca top-down como hero, nunca contra-plongée.
- Lente: Equivalente 35-50mm; distorção wide proibida
- Foco: Cena majoritariamente nítida; desfoque só em extremos de fundo
Presença humana
Padrão: sem pessoas. Permitido: mãos tocando a superfície (a sensação soft): pele em close, sem rosto. Rosto/corpo inteiro: nunca em peça de produto.
Tratamento
- Contraste: Baixo-médio, curvas suaves
- Saturação: Contida: a cena quase monocromática deixa o verde e o latão cantarem
- Grão: Nenhuma ou finíssima
O branco do SSM nunca estoura: a textura da superfície permanece legível
Nunca na foto
- Produto flutuando em fundo infinito
- Reflexos duros / brilho artificial
- HDR evidente
- Cara de banco de imagem (famílias sorrindo, apertos de mão)
- Cara de fábrica: paletes, plástico-bolha, galpão
- Composição perfeitamente simétrica
Nunca nos materiais
- Plástico aparente
- Inox frio como protagonista
- Clutter
- Eletrodomésticos coloridos
- Decoração temática
Padrão de prompt para geração de imagem
Preencher os 7 blocos na ordem. Duas execuções do mesmo prompt devem parecer da mesma campanha.
- CENA: cenário permitido () + clima da persona da marca
- PRODUTO: qual peça SSM, posição dominante, branco como maior luminância
- MATERIAIS: 2-3 itens de
- LUZ: temperatura + direção conforme a marca ()
- CÂMERA: altura + ângulo + lente ()
- TRATAMENTO: contraste, saturação, granulação, branco legível
- FORMATO: aspect ratio do canvas alvo (3:4 feed, 9:16 vertical)
Exemplo pronto (CF, feed 3:4)
Cozinha residencial sofisticada com bancada clara em tom creme; cuba farm sink branca em superfície sólida mineral com frente canelada, centralizada, o elemento mais luminoso da cena; prateleira de madeira clara com cerâmicas neutras, torneira em latão escovado, ramos verdes em vaso de vidro; luz natural lateral difusa de fim de tarde (~4000K) vinda de janela fora de quadro; câmera à altura da bancada, ângulo frontal, lente 50mm, cena nítida; contraste suave, saturação contida, textura do branco legível; proporção 3:4.
Negative prompt oficial
texto, logotipo, marca d'água, pessoas, rostos, produto flutuando, fundo infinito de estúdio, brilho artificial, HDR, cores saturadas, simetria perfeita, plástico, inox dominante, clutter, cara de banco de imagem, renderização 3D artificial, distorção de lente
Se o resultado parecer gerado por IA, reprova (Todo criativo deve parecer feito por designer humano, nunca gerado por IA). Duas execuções do mesmo prompt devem parecer da mesma campanha.
Personas visuais
A persona define o clima do criativo: o mesmo produto comunicado de formas diferentes conforme quem vê. É o que separa uma peça Don Artesano de uma peça CubasFarm antes de qualquer palavra.
B2B · Arquitetos e construtoras
Don Artesano
- Clima
- Frio, técnico, austero
- Fundo
- Azul Ônix / Titânio Sólido
- Foto
- Ambiente real de projeto, luz natural fria
- Tom
- Técnico, preciso, sem adjetivos emocionais
B2C · Consumidor final
CubasFarm
- Clima
- Quente, aspiracional, envolvente
- Fundo
- Branco Resina / Branco SSM
- Foto
- Residencial sofisticado, luz quente
- Tom
- Aspiracional, sensorial, benefício claro
Zero clichê de gênero. A comunicação exalta inteligência e poder de decisão: especialmente das arquitetas e decisoras.
Regras de composição
Todo criativo deve parecer feito por designer humano, nunca gerado por IA
Proibido
- Gradientes sintéticos ou brilho artificial
- Elementos decorativos genéricos sem propósito
- Simetria excessiva: parece robótico
- Iluminação irreal, cores saturadas em excesso
- Clichês de banco de imagens
- Padrões geométricos repetitivos
Obrigatório
- Assimetria elegante com tensão intencional
- Foto de produto em ambiente real ou fundo liso
- Hierarquia tipográfica clara
- Espaço em branco como elemento de design
- Acento dourado com parcimônia: quando aparece, surpreende
Não. Cinco cores disputando, dois acentos, sem respiro: parece gerado, não desenhado.
Sim. Três cores, um acento, respiro generoso: máximo do sistema, mínimo de ruído.
Acessibilidade embutida
- Contraste calculado, não prometido: cada par da Paleta exibe a razão medida na hora da geração e o selo real que ela alcança. Onde a marca escolhe um par que reprova, como o Dourado, isso está escrito no próprio par, não escondido.
- Alvo tátil de 44px: tamanho mínimo de toque no Espaçamento; o botão médio nasce nele.
- Foco sempre visível: todo controle da tela tem anel de foco de 2px na cor da marca (navegue por Tab em qualquer demo).
- Estados com semântica, não só cor: erro usa aria-invalid, carregamento usa aria-busy, e os demos dos Átomos servem de gabarito de marcação.
- Movimento respeita a pessoa: com prefers-reduced-motion ativo, as transições da tela e a rolagem suave deste documento se desligam.
Decisões & changelog
As decisões que definem o sistema, consolidadas. O diário completo, com data, contexto, racional e os caminhos revistos até cada decisão final, vive em Tokens/DECISOES.md. Nada muda em silêncio.
Este arquivo era a fonte de si mesmo, e por isso apodrecia: mover duas seções custava um commit de 3.593 linhas, e o que estava escrito aqui podia discordar do tokens.json sem ninguém notar. Agora Tipografia, Logos, Iconografia e Fotografia se juntam a Paleta, Medidas, Motion, Direção, Templates e Web: toda seção que deriva de alguma coisa é gerada. Escritas à mão sobram só as que não derivam de nada, como este changelog.
Gerar expôs o que estava escondido. A regra número um do sistema, "a logo não se compõe", não existia no tokens.json: vivia escrita aqui e digitada dentro do gerador. A arte das cinco logos existia só dentro deste HTML, sem arquivo nenhum, enquanto os 61 ícones já tinham pasta própria; agora moram em Logos/, e a proporção de cada uma é medida do desenho, não digitada ao lado dele. A Tipografia mostrava 9 dos 21 tokens de escala. E o documento carregava 12 identificadores repetidos desde sempre, invisíveis porque ninguém montava os ícones a partir dos arquivos.
Entrou também a auditoria de máquina (R22): identificador único, referência de desenho com alvo, texto alternativo em imagem, nome em botão, rótulo em campo e hierarquia de títulos sem salto. Ela pegou o demo da busca ensinando um padrão inacessível, com dica no lugar de rótulo, e pegou duas vezes o CSS que eu mesmo tinha acabado de escrever.
Uma pergunta insistente destravou a resposta certa: por que ícones e logos têm seção própria e Moléculas e Organismos não têm nada do tipo dentro? Porque ícones e logos não são componentes montados como um botão: são ativos de marca, parentes da cor e da tipografia, não dos átomos. Eu os tinha metido no nível dos componentes. Agora eles vivem no capítulo Fundamentos, ao lado de Paleta, Tipografia e Espaçamento, do jeito que Carbon e Material organizam. Com isso, Átomos, Moléculas e Organismos ficam finalmente simétricos: os três só com cards de peça, nenhum com subseção. O capítulo antes chamado Tokens virou Fundamentos, porque agora abriga também esses ativos, que tokens não são. E dentro de Fundamentos a ordem lidera pela identidade: Logos primeiro (a assinatura da marca), depois Paleta, Tipografia e Iconografia, e por fim os tokens mais mecânicos (Espaçamento, Curvatura, Sombras, Motion).
Faltava a affordance mais básica de um menu em árvore: nada indicava quais categorias tinham subitens, e eles só apareciam ao passar o mouse por cima, o que não se descobre e não existe no toque. Agora cada categoria com subitens mostra um chevron que aponta para o lado quando fechada e gira para baixo quando aberta, e a abertura é por clique, não por hover. As categorias que são link direto não ganham chevron, porque não escondem nada. E para não reincidir, a regra R21 passou a exigir o indicador em toda categoria que expande, testada removendo o chevron e vendo a bateria flagrar.
No lançamento dos organismos de navegação eu disse que a barra lateral do documento passava a "falar a gramática" do menu lateral, mas na prática só o estado ativo tinha mudado; o resto continuava bespoke (títulos de categoria maiores e claros, item com espaçamento próprio). Agora a barra lateral do manual usa os mesmos tokens do .ds-menu-lateral na variante inversa: item com o mesmo tamanho, respiro e raio; título de categoria na mesma caixa alta discreta com tracking; e o último resquício de dourado (o anel de foco da categoria) virou branco. Medido lado a lado: item e título de grupo têm valores idênticos aos do organismo. O documento não imita mais a própria linguagem: ele a usa.
Ver histórico: 34 decisões anteriores
O item ativo da navegação levava um filete vertical à esquerda (box-shadow inset) que o dono já havia reprovado uma vez, como ornamento sem base no sistema. Ele voltou por descuido nos organismos novos e na barra lateral deste manual; agora saiu dos dois. O estado ativo separa só pelo que o sistema já tem: superfície afundada, cor primária e peso. E para não reincidir, a bateria do navegador ganhou a regra R20, que reprova qualquer box-shadow inset no item ativo de navegação, testada plantando o ornamento de volta e vendo a regra flagrá-lo.
A navegação virou vocabulário de primeira classe, na escola do UI Shell do IBM Carbon: um topo e uma lateral que compõem um shell de aplicação ou funcionam sozinhos, cada um servindo os três contextos. A barra de topo (.ds-barra-de-topo) tem uma variante por contexto: sistema (menu + título + ações), institucional (logo + páginas + CTA) e e-commerce (topbar + categorias + carrinho): o antigo cabeçalho virou a variante e-commerce dela, sem organismo duplicado. O menu lateral (.ds-menu-lateral) traz grupos, itens com ícone e contador, estado ativo por superfície e peso, rodapé de usuário, além do rail compacto (só ícones) e da superfície inversa. E a própria barra lateral deste manual passou a falar essa gramática. O documento se navega com a própria linguagem que ensina.
A causa raiz de "fontes que não são da marca": a Inter vinha do Google Fonts por link, mas o artifact publicado bloqueia rede externa (CSP), então ela nunca carregava lá e o texto caía em Arial. As duas famílias passaram a ser arquivo local (Inter e Playfair variáveis), embutidas como dado na publicação: o artifact é 100% autossuficiente, sem depender de nenhum servidor de fora. De quebra, dois vazamentos antigos: o título para leitor de tela e o botão de voltar ao topo herdavam a fonte do navegador (controles de formulário não herdam família), corrigidos na fonte com a âncora de marca no corpo do documento e a herança dos controles. Guardas novas: o auditor estático barra qualquer fonte externa ou família fora do par, e a bateria do navegador agora varre também os diálogos e os elementos soltos, não só o corpo principal.
O jeito dos grandes sistemas de apresentar componentes: o índice é leve e o mergulho é fundo. No grid, cada peça agora é um tile de galeria: demo, nome e a missão em duas linhas. Clicar no card abre a ficha da peça, um diálogo com tudo o que o tile guarda: papel completo, o quando NÃO usar, onde é usada, estados, e os demos com ampliar e ‹html› funcionando lá dentro (dica "ficha ↗" aparece no hover). Nada foi removido: os detalhes mudaram de lugar, da parede para a profundidade.
O nível 1 era a última grade chapada do documento: 19 cards em fila. Agora os átomos vivem em cinco categorias funcionais (Ação & navegação · Formulário · Rótulo & feedback · Conteúdo & superfície · Fundações com casa própria), na mesma mecânica de Moléculas e Organismos. E toda categoria do documento, nos três níveis, ganhou uma linha de missão embaixo do título dizendo o trabalho daquele grupo ("O que a pessoa aperta"; "A primeira dobra: onde a atenção nasce"). O filtro da navegação já entende os blocos novos e os recolhe quando vazios.
Do GOV.UK veio a metade que faltava do conselho: cada organismo da tela agora diz também quando NÃO usar, em vermelho de estado, ao lado do papel ("carrossel com um slide só vira hero com controles mortos"; "newsletter no checkout é fricção, não relacionamento"). E a Composição ganhou o bloco Acessibilidade embutida: contraste provado nos pares da Paleta, alvo tátil de 44px, foco visível em todo controle, semântica além da cor (aria-invalid, aria-busy) e movimento que respeita prefers-reduced-motion. De passagem, as medidas do cabeçalho nos tokens ainda descreviam a anatomia antiga de marca composta (brand_mark + brand_name): corrigidas para o slot de logo, que recebe o arquivo completo.
Rodada guiada pelas referências que definem a categoria. Do Material Design, os pares não-faça/faça agora vivem onde a regra vive: Tipografia (Playfair em caixa alta; preço em Playfair), Paleta (exclusivas das duas marcas misturadas) e Curvatura (borda de repouso versus superfície com sombra), cada erro mostrado de verdade e isento das baterias por escopo cirúrgico (provado nos dois sentidos: com isenção, conforme; sem ela, a R3 flagra na hora). Ainda do Material, o botão e o input mostram estados reais renderizados pelo próprio CSS: repouso, disabled, loading, erro via aria-invalid. Do IBM Carbon, todo demo de tela ganhou o botão ‹html›: um clique copia o markup pronto para colar no projeto. E a fonte única ficou de bolso: tokens.json ↓ na navegação (no artifact, embutido e auto-contido).
Rodada de excelência na experiência de quem navega: o filtro da navegação agora alcança as peças e receitas (digite "busca" e o documento mostra só o que interessa, com contador; Esc limpa; "/" foca); todo endereço .ds- é copiável no clique, no chip do card e nas receitas, com o mesmo feedback do hex e dos prompts; o marcador de seção ativa na navegação trocou de mecanismo para funcionar em qualquer ambiente; as descrições ganharam largura de leitura confortável (72 caracteres); a rolagem ficou suave (respeitando quem prefere movimento reduzido); e a aba do navegador ganhou o selo DA como favicon, direto do arquivo oficial.
Sem flagrante do dono, o sistema inteiro foi varrido com olhar crítico. Achados: a página rolava de lado em telas de 1280px (a coluna da grade crescia com os previews em px reais; agora minmax(0,1fr) e a fileira rola por dentro, com a regra R19 de guarda); o feed dizia "4:5" na desc de Espaçamento, nos passos de prompt de IA e no próprio token ratio, sendo que 1080×1440 é 3:4 (o prompt ensinava a gerar foto na proporção errada); a desc de Sombras dizia "nunca em peças sociais" enquanto o card de produto do canvas sempre teve elevação (agora documentado: ele veste o shadow/md, única sombra dos criativos, com linha própria na régua); a chave preco-display dos tokens não tinha classe correspondente (virou preco = .ds-preco); a Papelaria usava um cinza fora da paleta nas assinaturas de e-mail; e o auditor estático ganhou o validador da fonte única (ratio confere com as dimensões, receitas resolvem, referências existem, endereços citados existem, toda peça tem casa na folha), que na estreia flagrou a deriva do preço e um travessão recém-escrito.
Três flagrantes seguidos do mesmo tema provaram que regra fora do auditor não é regra. A bateria dinâmica ganhou a R17 (todo endereço é .ds-<slug do nome>, o chip deriva do título, demos de tela carregam a classe que declaram no rótulo, receitas usam .ds-) e a R18 (peça sem amostra renderizada é violação; nenhum "undefined" vaza). Testadas por injeção: quatro violações plantadas, quatro flagradas. De quebra, os rótulos dos demos de tela nas peças de canvas agora declaram a correspondência (tela · .ds-tag no card da tag de categoria; tela · .ds-badge--oferta no chip de cupom): peça irmã tem endereço próprio, não rótulo mudo.
As peças de tela endereçavam como .ds-newsletter e as do canvas como bloco-de-oferta, seco: dois formatos. Agora o endereço de toda peça é .ds-<nome>, nas duas vertentes: na tela ele é a classe CSS, no canvas ele endereça a chave das receitas. Chips, receitas dos templates (.ds-moldura-de-foto:full-bleed + .ds-bloco-de-oferta + .ds-assinatura:feed) e as linhas de uso cruzado ("usada em", "no canvas:") falam o mesmo formato. A exceção de ontem morreu junto: hashtag e assinatura agora também mostram .ds-hashtag e .ds-assinatura.
Os três últimos átomos que eram ficha de texto ganharam amostra renderizada: o tooltip aparece aberto sobre um link, a tipografia mostra as três famílias de escala em uso, e o ícone traz três traços reais da Iconografia. O chip da tipografia parou de prometer uma classe que não existia: o endereço verdadeiro é a família .ds-display-* · .ds-heading-* · .ds-body-*. De quebra, o card do botão exibia "undefined" na linha de uso (resto do renomeio) e foi corrigido.
"Cabeçalho" com endereço .ds-header era nome duplo: duas palavras para a mesma peça. Agora o endereço técnico é o próprio nome codificado (sem acento, espaços viram hífen): o cabeçalho mora em .ds-cabecalho, a barra de busca em .ds-barra-de-busca, a tag de categoria na chave tag-de-categoria. Todas as classes da tela e chaves das receitas foram renomeadas; quando o nome já é o endereço (hashtag, assinatura), o chip nem aparece. Só o vocabulário da plataforma permanece em inglês: atributos do HTML e os grupos internos do motor de tokens.
Todo card agora tem o nome da peça em português como título e o endereço técnico como chip de código: a classe .ds-* nas peças de tela, a chave das receitas nas peças do canvas. Moléculas e organismos foram agrupados por categoria de função, os cards se adaptam ao porte da peça, e o bloco de depoimento virou um card só com os dois tamanhos (era a mesma peça com dois nomes).
As 17 peças de tela que eram só ficha ganharam amostra renderizada de verdade: as 6 moléculas restantes ao natural, e os 8 organismos de página inteira (cabeçalho, rodapé, carrossel, vitrines) em escala com clique para ampliar em tamanho real, a mesma mecânica dos templates. As personas ganharam a foto de clima de cada marca, os cards da Arquitetura ganharam os wordmarks reais, a Composição ganhou o par visual não faça / faça, a Tipografia ganhou um parágrafo de leitura real, e os divisores internos de Templates ficaram à altura da seção. O card-ponteiro de preço foi fundido à peça única.
O termo revogado "cor-ponte" saiu da Paleta; as descrições das cores pararam de repetir o papel já dito no selo; o histórico do changelog voltou a colapsar, com as três decisões recentes visíveis; e a folha de estilo do sistema web foi limpa de nomes e termos internos.
Montar a logo na mão (o selo ao lado do nome digitado) inventa um lockup que não existe. A seção Logos ganhou a proibição e um exemplo lado a lado (não faça / faça), e o componente de header do sistema web deixou de modelar marca + nome: agora tem um slot que recebe o arquivo de logo completo. Cada situação usa um arquivo pronto: horizontal no header, selo em espaços mínimos, vertical empilhado.
No Anúncio B (Split), a metade inferior do Don Artesano tinha texto branco sobre fundo branco: o fundo sólido da marca estava definido como branco, quando o texto do DA é branco por design (como no arquétipo C, de fundo Titânio). O fundo passou a Titânio, e o texto voltou a aparecer. A varredura não achou outro caso. O auditor ganhou a regra que teria pego isso: nenhum texto pode ter a cor (quase) igual ao fundo sólido atrás dele.
A migração dos previews para px reais tinha deixado os elementos não-textuais (botão CTA, pill de preço, chip de salário, rodapé, cargo da vaga) nos tamanhos antigos minúsculos, quase invisíveis num canvas de 1080. Todos voltaram aos tamanhos reais dos tokens. Os headlines de exemplo que estouravam a zona foram encurtados para caber (como um designer escreve para o template), o corte rígido do texto saiu, o botão passou a se ajustar ao texto, e os estilos escritos em texto livre passaram a ser lidos (o eyebrow voltou a bold).
Os previews e os diagramas de medida passaram a ser construídos em resolução real (1080px) e apenas reduzidos por transform para caber. Clicar em qualquer um abre a peça em tamanho real: ajustada à tela ou 1:1 pixel a pixel. As medidas ganharam numeração nas zonas, com legenda numerada embaixo (número, nome e coordenadas) casando com a lista de specs.
Os previews de arquétipos e Stories estavam pequenos demais para julgar a composição. Mais que dobraram (feed 167→346px, story 124→270px), ganharam sombra de peça e passaram a viver numa faixa de rolagem horizontal: no desktop, Don Artesano e CubasFarm aparecem lado a lado; em telas estreitas, desliza sem quebrar a página. O wireframe de medidas ficou compacto ao lado.
Os previews de arquétipos, Stories e organismos assinavam com um "DA" em texto genérico. Agora usam o símbolo DA real (o mesmo átomo de identidade da seção Logos), lido da fonte e colorido por contexto: Branco sobre foto e fundo escuro, Titânio sobre claro.
O topo da hierarquia ganhou casa: um feed e um story em fidelidade e uma página de produto da CubasFarm montada só com os organismos do sistema web, tudo com produto e preço reais. Compor de verdade revelou o que os componentes isolados escondiam e já foi corrigido: bordas de repouso nos componentes web viraram superfície e sombra (fluidez da SSM), a marca no cabeçalho saiu do Dourado, ícones sociais e setas passaram a preenchidos, e a escala de sombras (que existia decomposta mas nunca fechava num valor usável) foi composta na fonte.
A terceira fonte (mono, exceção antiga dos documentos) foi revogada: o sistema tem Playfair Display e Inter, e nada mais. Literais técnicos agora são Inter sobre chip neutro. O leque de tokens ganhou a seção Curvatura & bordas: escala de raios com papéis, espessuras de borda com a política (nada tem borda por padrão), tintas de branco sobre escuro em cinco pontos e os três véus de foto. Véus e tintas agora vivem nos tokens e alimentam os previews.
Auditoria automatizada de conformidade contra as próprias regras, agora permanente em Scripts (varredura estática dos arquivos + varredura dinâmica dos estilos renderizados). Corrigidos: par de texto que combinava exclusivas de marcas diferentes (removido), superfícies do documento que usavam cores exclusivas (agora nas principais), numerais lining aplicados por herança a todo o documento, raios fora da escala, rótulo em Playfair caixa alta e CSS herdado sem uso nos dois documentos.
A proibição de Dourado em ícones valia só para a Don Artesano na documentação original. O uso foi liberado na CubasFarm como acento, contando no limite de 1-2 por peça. A regra "logo nunca em Dourado" foi ratificada. O exportador de ícones oferece Dourado com a etiqueta "só CubasFarm".
Nó web no tokens.json, seis átomos essenciais (button, link, tag, input, card, ficha) com marca via data-brand e Web/ds-web.css como entregável real. Especificações herdadas da versão anterior do sistema, atualizadas pelas decisões vigentes. Ver os níveis Átomos, Moléculas e Organismos.
Os arquétipos foram decompostos em 8 organismos (moldura-de-foto, bloco-editorial, card-de-produto, bloco-de-oferta, bloco-de-depoimento, assinatura, faixa-de-hashtags, ficha-de-vaga) e 5 moléculas sociais. Cada arquétipo agora declara sua receita, e combinações inéditas são legítimas: nascem como experimento e, quando vencem na prática, são promovidas a arquétipo. A variedade do feed é combinatória: as peças são fixas, as combinações não.
Quatro pontes (Titânio, Cinza Quartzo, Branco Resina, Branco SSM) e duas exclusivas de destaque: Ônix na DA, Dourado na CF. Com o Titânio como ponte, o texto Titânio na CubasFarm, a logo CF em Titânio e o lockup "by Don Artesano" são uso normal do sistema. Na CF, contexto escuro vem de fotografia, nunca de cor chapada.
Legibilidade validada nas três combinações de fundo. Os ratios WCAG permanecem documentados como nota informativa (2.40:1 sobre brancos, 6.73:1 sobre Ônix): achado técnico informa, não decide. Em corpos pequenos sobre claros, preferir tamanho generoso. Segue proibido em Don Artesano e em ícones.
Story passa de 80px no topo esquerdo (que colide com o avatar/nome do perfil na UI do Instagram) para 120px no canto inferior direito, respeitando a safe zone de 350px. Uma regra só para feed, carrossel, story e capa de Reel.
Nó templates com os 8 arquétipos de feed + Reels + Stories e geometria completa; direção fotográfica a partir dos anúncios que mais performaram; padrão de prompts de imagem com negative prompt oficial; motion; e método atômico: o método com o status de cada nível. Moléculas e organismos web: congelados até o projeto do site.
Após a extração final (templates, ícones, tokens), o Figma passou a fonte histórica de consulta. Quando superfícies divergem, o tokens.json vence: sempre. Documentos separados por natureza: Design System (visual) e Marca & Voz (estratégia e linguagem verbal).
Auditoria interna alinhou a interface dos documentos às regras que eles documentam: só cores da paleta (ou transparências delas), logo em cor aprovada, pesos de fonte do trio oficial e vocabulário do glossário. Exceção documentada: JetBrains Mono para trechos de código, exclusiva destes documentos.