WF + AI Design System
WF + AI Design System

Uma página,uma linguagem só.

O vocabulário visual do workshop Freelancer + AI: cor, tipo, forma e movimento tirados direto do CSS que roda na página. O papel é bege, a tinta contorna e a sombra é dura.

Fundações

Marca

A assinatura é o par logo + wordmark, sempre lado a lado com gap: 12px. O símbolo é um círculo de 40px, com aro de 2px e sombra dura de 4px na --moldura; o wordmark é Dela Gothic One 23px / 400, com o sufixo .dev no mesmo peso e em --laranja. Nunca redesenhe o par: o contraste de cor entre dallatorre e .dev é a marca.

dallatorre.dev

Sobre o papel bege: wordmark na tinta preta e o .dev no laranja. É o uso do topo e do rodapé, e o padrão da casa.

dallatorre.dev

Sobre o papel escuro: o wordmark vira bege, e o aro do símbolo também — é ele que separa o círculo preto do fundo. O laranja não muda de tema.

Favicon
Favicon
Redondofavicon-dallatorre.png
Favicon sobre o preto
Sobre o preto--preto
Fundações

Cor

Um papel bege, uma tinta quase preta e seis cores chapadas, sempre dentro de moldura.

Primária

O papel e a tinta de quase toda a página. O bege carrega o fundo, o preto carrega o texto, a moldura e a sombra — nunca o contrário. O roxo forte só aparece no anel de foco.

Bege
HEX#FCFBF8
RGB252, 251, 248
Token--bege
Usopapel, cartão
Preto
HEX#101011
RGB16, 16, 17
Token--preto
Usotinta, moldura, sombra
Bege 2
HEX#EFEBE0
RGB239, 235, 224
Token--bege-2
Usopapel 2, zebra
Roxo forte
HEX#4B34F7
RGB75, 52, 247
Token--roxo-forte
Usoanel de foco
Cores dos cartões

Sempre chapadas e sempre com moldura e sombra dura. São as mesmas nos dois temas, e o texto sobre elas é sempre preto: o pior caso, o laranja, ainda dá 6.21:1.

Verde
HEX#00C96B
Token--verde
Usobotão primário
Preto s/ ela8.66:1
Laranja
HEX#FF5E00
Token--laranja
Uso.dev, setas, cartão
Preto s/ ela6.21:1
Pêssego
HEX#FFC2B6
Token--pessego
Usopapel do rodapé
Preto s/ ela12.36:1
Roxo
HEX#968FFA
Token--roxo
Usocartão
Preto s/ ela6.89:1
Lilás
HEX#BAB7FC
Token--lilas
Usomenu, botão secundário
Preto s/ ela10.20:1
Verde médio
HEX#92DEAB
Token--verde-medio
Usocartão
Preto s/ ela12.01:1
Verde claro
HEX#B6EAC6
Token--verde-claro
Usoolho da hero, ladrilho
Preto s/ ela14.10:1
Balanço

A proporção real da página: o bege domina, o preto aparece em todo contorno e em toda sombra, e as cores, somadas, ficam nos cartões e nos botões.

Papéis de seção

As seções se alternam em quatro papéis, e é o papel — não a cor do cartão — que muda com o tema. No escuro eles viram quatro pretos tingidos, e as cores chapadas continuam as mesmas por cima: é por isso que o texto sobre elas é sempre preto.

--papel#FCFBF8
escuro #101011
--papel-2#EFEBE0
escuro #19191B
--papel-pessego#FFC2B6
escuro #241918
--papel-lilas#BAB7FC
escuro #1A192D
--cartao#FCFBF8
escuro #1E1E21
Traços, sombras e superfícies
TokenClaroEscuroOnde entra
--moldura#101011#FCFBF8contorno e sombra de tudo que pousa no papel
--linhavar(--moldura)var(--moldura)traço de dentro; todo cartão de cor o redefine como --preto
--sobre-cor#101011#101011texto sobre qualquer cor chapada
--tinta-2rgba(16,16,17,.78)rgba(252,251,248,.8)lead e texto de apoio
--tinta-mutergba(16,16,17,.6)rgba(252,251,248,.6)rótulo e legenda
--cartao#FCFBF8#1E1E21papel do cartão neutro e dos campos
--foco#4B34F7#BAB7FCanel de foco, 3px
--barrabege → transparentepreto → transparenteo degradê do topo fixo, sem borda
Fundações

Tipografia

Três vozes: Montserrat grita, Questrial explica, Dela Gothic assina.

Os títulos que abrem uma tela — a hero e o fecho — são Montserrat 900, e o da hero leva uma das linhas dentro da pílula de sombra dura, como o “Website” do template. O título de seção é Montserrat 700, sem pílula. Caixa-alta e peso fino não entram em título nenhum: fora esses dois padrões, não invente um terceiro.

Aa

Montserrat

A voz que abre. Títulos, botões, rótulos, números e tudo o que pede peso.

Pesos 500 · 600 · 700 · 800 · 900  ·  Google Fonts
Aa

Questrial

A voz que explica. Corpo, leads, legendas e notas — tudo o que é lido em bloco. Tem um peso só — ênfase aqui é Montserrat ou cor.

Peso 400  ·  Google Fonts

Dela Gothic One

A voz que assina. Só o wordmark dallatorre.dev, como a letra do logo do template — nunca em título.

Peso 400  ·  Google Fonts
Escala de papéis
Título da hero Fonte Montserrat
Peso 900
Tamanho clamp(40, 5.6vw, 84)
Line-height 108%
Tracking −2,5%
Aprenda freelance
com AI de verdade
Título de seção Classe .titulo
Fonte Montserrat
Peso 700
Tamanho clamp(30, 3.6vw, 48)
Line-height 122%
Tracking −1%
Medida 22ch
O que você sai fazendo
Título pareado Classe .fecho h2
Fonte Montserrat
Peso 900 / 600
Tamanho clamp(30, 4.2vw, 56)
Line-height 110%
Tracking −2%
Portfólio não é
o que você estudou
Título de cartão Classe .card h3
Fonte Montserrat
Peso 600
Tamanho clamp(24, 2.3vw, 32)
Line-height 115%
Do briefing ao deploy
Lead Classe .lead
Fonte Questrial
Peso 400
Tamanho 18 · 19 na hero
Line-height 28 · 30
Medida 56ch
Você entra num time, pega um projeto real e sai com uma entrega no portfólio — não com um certificado de conclusão.
Raia Classe .raia__txt
Fonte Montserrat
Peso 600
Tamanho clamp(18, 1.7vw, 24)
Line-height 128%
Um projeto real, do briefing ao deploy
Raia densa Classe .raias--densa
Fonte Questrial
Peso 400
Tamanho 17
Cor --tinta-2
Leitura corrida: listas longas em texto menor, sem virar título
Olho de seção Classe .eyebrow
Fonte Montserrat
Peso 600
Tamanho 18 / 28
Cor --tinta
Como vai ser o workshop
Numeração Onde ::before do título
Fonte Montserrat
Peso 600
Tamanho .72em do título
Forma 01. · contador
Figuras tabular-nums
01.   02.   03.   04.   05.
Etiqueta Classe .tag
Fonte Montserrat
Peso 600
Tamanho 13–15
Forma pílula, contorno 2px
Experiência real
Botão Classe .btn
Fonte Montserrat
Peso 600
Tamanho 17 / 26 · 16 / 24
Quero minha vaga
Nota Classe .nota__txt
Fonte Questrial
Tamanho clamp(12.5, .95vw, 16)
Line-height 135%
Largura 140 → 195px
Nove anos entregando software para cliente pagante
Wordmark Classe .marca span
Fonte Dela Gothic One
Peso 400
Tamanho 23
Cor --tinta · --laranja
dallatorre.dev
Fundações

Espaço & Forma

O compasso é o do template, e não fluido: seção com 104px de respiro em cima e embaixo (72px no telefone), miolo travado em 1120px e margem lateral de 28px (18px no telefone). O que respira junto do viewport é o corpo dos títulos e o padding das caixas grandes — esses, sim, em clamp() sobre vw.

Ritmo vertical

Padding de seção 104px 0, e 72px 0 abaixo de 720px. Do olho ao título, 10px; do título ao lead, 18px; do cabeçalho ao conteúdo, 60px (44px no telefone). Entre cartões, 44px 32px.

Raio

capa · 18
médio · 32
cartão · 40
pílula

Cartão grande em 40px (--r-card); cartão menor, e todo cartão no telefone, em 32px (--r-medio); capa de foto em 18px; botão, etiqueta e campo de uma linha em 999px (--r-pill) — tudo o que se aperta ou se preenche vira pílula.

Medidas e limites
MedidaValorOnde
Margem lateral28px · 18px.wrap, acima e abaixo de 720px
Margem do topo e da hero64px · 40px · 24pxacima de 1280, até 1280, até 768
Largura de conteúdo1120px.wrap (--maxw)
Medida de título22ch.titulo
Medida de lead56ch · 48ch.lead · .hero .lead
Altura do topo92px · 80pxacima e abaixo de 560px
Grade de cartõesrepeat(2, 1fr) · repeat(3, 1fr)serviços · portfólio
Quebras da navegação1180 · 980 · 945marca encolhe · menu sai · dock entra
Quebras das seções1100 · 900 · 720 · 560anéis saem · leque vira grade · uma coluna · selo sobe
Fundações

Sombra & Moldura

Nada aqui tem desfoque. Tudo o que sai do papel sai com moldura de tinta e sombra dura, deslocada só para baixo e sem blur nenhum — é ela que diz o que é botão, o que é cartão e o que é chão. A espessura acompanha o tamanho da peça, e a sombra também.

Escada de sombras

3px etiqueta e olho · 4px botão, selo e campo · 5px ladrilho e dock · 8px pílula do título · 12px cartão. Sempre 0 Npx 0 0 var(--moldura). No botão o hover encolhe a sombra; na carta do leque, que levanta, ela cresce para 18px.

Foto emoldurada

Foto não leva véu: leva moldura. 2px quando mora dentro de um cartão, 4px quando está solta no papel, com raio de 16 a 32px — e o texto mora fora dela.

Ladrilhos de tecnologia

Os SVGs são as cores das próprias marcas, então cada um ganha uma pastilha nos tons claros do template — bege, bege 2, lilás, verde-claro, pêssego —, com moldura de 2px, sombra dura de 5px e padding de 21%. Os quatro logos que vêm em branco chapado (MariaDB, PostgreSQL, MySQL e MCP) ficam no --preto.

Figma
Lilás--lilas
React
Bege--bege
HTML5
Bege 2--bege-2
Laravel
Pêssego--pessego
JavaScript
Verde claro--verde-claro
Claude
Bege 2--bege-2
MCP
Preto--preto

Tamanho e canto variam por ladrilho (64px e 18px são os da órbita 1): quem manda são os dados de cada casa — --lado e --canto no HTML da home, HeroCircles.jsx no workshop —, não uma medida única. O que não varia é a pastilha, a moldura e o padding.

Componentes

Botões

Um desenho só, em duas medidas: a pílula do template. Contorno de 2px, sombra dura de 4px e cor chapada — verde para o que a página quer que se aperte, lilás para o resto. O clique é um afundar: no hover a pílula desce 1px e a sombra encolhe junto, no :active ela encosta no chão (0.2s).

Três estados

Anatomia

Contorno2px solid var(--linha)
Sombra0 4px 0 0 var(--linha), dura
Afundartranslate: 0 1px no hover, 0 4px no :active, .2s var(--ease)
Raio999px
LetraMontserrat 600, 17px / 26px

Duas medidas

ClasseFundoPaddingCorpoPapel
.btn--verde10 / 2217 · 600primário
.btn-ghost--lilas10 / 2217 · 600secundário
.btn--pequeno—8 / 1816 · 600topo, cartões

translate, e não transform, não é capricho: o GSAP escreve o transform dos pais na entrada em cascata, e as duas propriedades somam em vez de uma apagar a outra. Mantenha assim.

Sobre um cartão de cor o botão é o mesmo, só que bege: o verde sumiria no cartão verde. O texto do CTA sempre pede uma ação de entrada — Entrar no time, Quero minha vaga — nunca Saiba mais.

Botão de ícone

Só o ícone, num círculo bege de 42px com o mesmo contorno, a mesma sombra e o mesmo afundar da pílula — é o idioma e o tema no topo da home, e a seta do carrossel do template (lá, de 54px). Sem rótulo visível, quem diz o que ele faz é o aria-label.

Menu e abas

O menu é uma fileira de pílulas lilás de 8px 18px, Montserrat 600 16px — a do topo da home e a do rodapé —, e a chamada principal é a pílula verde no fim dela. As abas são as mesmas pílulas dentro de um trilho de papel com moldura fina: a acesa ganha o lilás e o contorno, as outras ficam só no texto. É o desenho do Preview / DESIGN.md lá em cima.

Componentes

Pílulas & Selos

Tudo que rotula é uma pílula, e toda pílula é totalmente arredondada, com contorno de 2px. O selo mudou de papel: agora é a pastilha redonda do template, a que carrega o ícone no alto de um cartão de cor. Rótulo de texto é a etiqueta.

Selo · a pastilha do ícone

Círculo bege de 64px, contorno de 2px e sombra dura de 4px na --linha — mora sempre sobre cor, então desenha em preto nos dois temas. O ícone é um glifo preto: SVG de traço a 28px, ou um dos PNGs como fundo a 50%.

Etiquetas e marcadores
Vagas abertas 100% remoto Experiência real

A etiqueta com ponto é o marcador de estado; a pílula verde-clara de sombra curta é o olho da hero. A pílula lilás com a seta (.cursor-tag__rotulo, 15px / 600, sombra de 3px) é a etiqueta que segue o cursor pela página — e, como toda cor aqui, leva texto preto por cima.

Componentes

Cards & Painéis

Dois contêineres, a mesma moldura. O painel é o cartão neutro: papel --cartao, contorno de 4px, raio de 40px e sombra dura de 12px. O cartão de cor é o mesmo desenho com uma das seis cores chapadas por dentro e texto preto por cima — e é ele que entorta.

Painel neutro

O contêiner padrão para conteúdo agrupado sobre o papel — a caixa das duas portas e o cartão do rodapé. Padding em clamp(28px, 4.4vw, 60px): ele cresce com o viewport, como os títulos.

Cartões de cor

Briefing

Um projeto real, do briefing ao deploy.

Code review

Code review de quem entrega para cliente pagante.

AI no fluxo

AI no fluxo de trabalho, não como truque.

Cada cartão roda numa cor e numa inclinação de ±1 a 2°, e endireita no hover (rotate: 0deg, .3s). rotate, e não transform: a cascata do GSAP escreve o transform na entrada, e os dois somam. Passe o mouse.

Cartão que é link

O que é link afunda em vez de endireitar: no hover o cartão desce 10px e a sombra cai para 2px, como o View case do template.

Leque · os cards de entrega

Cinco cartas sobrepostas em 13% da própria largura, cada uma com giro e deslocamento vertical próprios. Passe o mouse: a carta se endireita, sobe 16px, cresce 6%, ganha uma sombra dura mais alta e empurra as vizinhas. O verde fica no meio de propósito — é ele que ancora as outras quatro cores.

01.Briefing
02.Protótipo
03.Build
04.Review
05.Entrega

A faixa exposta de cada card (largura − sobreposição − padding) é o que manda no corpo do título: todos precisam se ler no repouso, então os dois números andam juntos. Cada card tem perspective própria — num contêiner comum todos dividiriam o mesmo ponto de fuga e os das pontas girariam tortos.

Rodapé
dallatorre.dev
© 2026 dallatorre.dev — @edudallatorreFeito em Londres.

O rodapé é um cartão bege sobre o papel pêssego, como o do template: a marca no alto, um fio de 2px, e embaixo os destinos — o rótulo em Montserrat 600 18px e as pílulas, lilás para o que é do site e bege para o que leva para fora dele.

Dock do celular

Abaixo de 946px a navegação sai do topo e vira uma barra flutuante no pé, ao alcance do polegar: um cartão de papel com moldura de 2px, raio de 30px e sombra de 5px. Só o item da seção em que a página está fica aceso — a pastilha verde, com contorno —, e quem diz qual é ele é o aria-current que o script escreve, e não uma classe.

Componentes

Cabeçalho de Seção

Toda seção abre igual, como no template: o olho miúdo em Montserrat 600, o título grande logo abaixo e a linha de apoio, tudo centrado. Não há régua nem seta de continuidade: o que separa uma seção da outra é a troca de papel. A entrada é do GSAP, pelo atributo data-cabeca — o olho sobe, as letras do título acendem em ordem aleatória e o lead vem por último.

Como vai ser o workshop
Do briefing ao deploy, com um time atrás

O título é frase curta e sem ponto final. Lead e itens de lista são frases completas, com ponto.

Componentes

Raias

A lista numerada que serve as quatro seções do meio: grade de 52px 1fr 42px, divisórias de 2px na --moldura e, no hover, o papel lilás mais um recuo à esquerda. A marca da direita é um botão de ícone, e gira 90°.

01 Um projeto real, do briefing ao deploy +
02 Code review de quem entrega para cliente pagante +
03 AI no fluxo de trabalho, não como truque +
01Variante densa: corpo menor, peso 400 e a cor de corpo — para listas longas que não são título.+
02A grade, as divisórias e o hover são os mesmos; só a tipografia muda.+
EstadoFundoMarca
Repouso—botão de ícone bege, contorno --moldura
Hover--papel-lilas + recuogira 90°
Destaque--verde-claro, texto --sobre-cornão gira
Componentes

Superfície de Cor

No sistema novo o claro é o padrão, e o que muda de uma seção para a outra é o papel: bege, bege 2, pêssego e lilás, em alternância. Sobre o papel de cor o conteúdo vai num cartão bege, como o Partners in crime do template, e os destaques de dentro voltam a ser cartões de cor. Os ícones deixaram de ser máscara: os PNGs já são glifos pretos, e entram como imagem dentro de um selo bege — sem filter e sem tingir.

Experiência real
Portfólio não é o que você estudou

É o que você entregou. A diferença entre um curso e um time é ter alguém esperando o seu commit.

Entrar no time

Você estuda sozinho e nunca sabe se o que fez está bom.

Sabe a sintaxe, mas trava na hora de montar um projeto inteiro.

Tem repositórios, mas nenhum que alguém pagou para existir.

PapelEscuroClaro
Fundo#101011#FCFBF8
Título#FCFBF8#101011
Segunda voza mesma tinta, na pílula #1E1E21a mesma tinta, na pílula #FCFBF8
Corporgba(252,251,248,.8)rgba(16,16,17,.78)
Fio#FCFBF8#101011
Ênfaseas cores chapadas, iguaisas cores chapadas, iguais
Componentes

Notas & Setas

As credenciais viram anotações manuscritas em volta da foto, com uma seta apontando para o que descrevem. Ficam ancoradas na borda da imagem, não na da tela: right: 100% encosta a nota na moldura e o top em porcentagem passa a ser da altura da foto — é o que mantém todas dentro da faixa dela em monitor largo.

Nove anos entregando software para cliente pagante

Times de 2 a 30 pessoas, remoto e presencial

A seta é desenhada apontando para a direita e para baixo, e vale como está do lado esquerdo da foto; do lado direito ela é espelhada (scaleX(-1)) em vez de existir um segundo desenho. Cada nota ainda gira a seta no próprio ângulo, via --giroSeta. Corpo e largura são contidos de propósito: são nove notas em volta de uma foto só. A seta é o laranja do logo — o único traço de cor do palco —, e a foto vai em preto e branco, com moldura de 4px.

Componentes

Formulários

A página de hoje não tem campo nenhum — todo CTA leva ao grupo do WhatsApp. Este é o desenho derivado dos tokens, para quando entrar um formulário de inscrição, e não uma peça já em uso.

O anel de foco é o --foco: 3px de roxo forte, afastado 2px do campo — no escuro, lilás. Passe pelos campos com Tab.

Regras

Superfície--cartao, o papel dos cartões
Borda2px solid var(--moldura) e sombra dura de 4px
Raio999px — campo de uma linha é pílula; 16px no de várias
Focooutline: 3px solid var(--foco), afastado 2px
RótuloMontserrat 600 · 15px · sem caixa-alta
Marcarquadrado de 2px; marcado, --verde com o visto em preto

No template campo e botão são pílula os dois — o que separa um do outro é a cor: o campo é papel, o botão é cor chapada. Se o campo ganhar cor, o formulário vira uma fileira de CTAs.

Diretrizes

Movimento

Uma curva só na página inteira: cubic-bezier(.22, 1, .36, 1) — saída rápida, chegada longa. O GSAP usa power3.out para entradas e power2.inOut para o flip dos cards. Nada de linear, exceto os giros infinitos (as órbitas), que precisam de velocidade constante.

--ease · passe o mouse

cubic-bezier(.22, 1, .36, 1) em 0.5s: a mesma curva do hover do card, da raia e do afundar do botão.

Durações

Afundar de botão0.2s
Cartão de link0.25s
Cartão endireitando0.3s
Hover de raia0.35s
Hover do leque0.5s
Entrada de ladrilho0.7s
Fade do vídeo0.9s
Giro das órbitas30–60s linear ∞

Movimento reduzido. Com prefers-reduced-motion: reduce, os giros infinitos param: órbitas, contra-giro dos ladrilhos e o cursor do typewriter perdem a animation. As transições de hover ficam — são curtas e disparadas pelo usuário. Toda entrada de ladrilho é escala + opacidade, nunca filter: animar filter dentro de dois ancestrais que giram congela a rasterização no meio do caminho.

Diretrizes

Direção de Arte

A imagem da página é sempre a mesma promessa: gente real trabalhando junto. Foto documental emoldurada em tinta, sem véu por cima, e ícones de linha em preto dentro de selos bege. Sem stock sorridente, sem mockup de dashboard.

Palco de encontro tech

Palco & plateia

A foto do palco: ambiente escuro, luz de palco, plateia visível. Entra emoldurada, com 4px de tinta e raio de 28px, e o texto mora fora dela, num cartão — nunca por cima.

Estudo em grupo

Trabalho em grupo

Telas, mesa, mais de uma pessoa. É a prova visual do argumento da página — time, não curso.

Ícones em selo

Os PNGs são glifos pretos e entram como são: fundo de um selo bege a 50%, com contorno e sombra dura. Sem máscara e sem filter — a cor do ícone é a da tinta.

Diretrizes

Faça & Não faça

Faça

  • Lidere com o papel bege #FCFBF8; a tinta #101011 carrega o texto, a moldura e a sombra.
  • Escreva o título em Montserrat 700 a 900, em caixa normal — o da hero com uma linha dentro da pílula.
  • Faça ênfase com cor ou peso.
  • Ponha texto preto sobre qualquer cor chapada; o pior caso, o laranja, ainda dá 6.21:1.
  • Contorne tudo o que sai do papel e dê a ele sombra dura, só para baixo.
  • Use tabular-nums em qualquer número.
  • Entorte o cartão de cor entre 1 e 2° com rotate, e não transform.
  • Mantenha o título de seção curto e sem ponto final.

Não faça

  • Não use itálico: a Questrial não tem, e o falso itálico se vê.
  • Não ponha texto branco sobre as cores chapadas — no verde ele dá 2.20:1 e no laranja 3.06:1.
  • Não use sombra com desfoque, brilho, vidro (backdrop-filter) nem texto em degradê.
  • Não quadre as pílulas nem tire o contorno de um botão: sem moldura ele não tem onde afundar.
  • Não use o laranja em texto corrido: no bege ele dá 2.96:1 — é cor de marca e de seta, não de leitura.
  • Não acrescente cor fora das duas paletas documentadas.
  • Não escreva CTA de Saiba mais ou Fale comigo — o CTA pede entrada.
  • Não cite dia da semana, mês ou data: a flexibilidade é vantagem, não falha.