Propósito
A rotina primeiro
Tudo começa em onde, quando e quanto tempo a pessoa treina. O quiz decide, a página confirma. Nada de catálogo para decifrar.
Guideline
O sistema de marca e interface do site DynamicFit by Diana. Tudo o que for construído parte daqui: tokens, componentes, movimento e a sequência do quiz até à compra.
Princípios
É isto que a pessoa deve sentir: alguém que sabe o que está a fazer tratou da decisão por ela. Todas as escolhas abaixo reforçam essa sensação.
Propósito
Tudo começa em onde, quando e quanto tempo a pessoa treina. O quiz decide, a página confirma. Nada de catálogo para decifrar.
Simplicidade
Cada ecrã tem uma ação principal e uma resposta clara à pergunta: e agora? O caminho comum aparece primeiro; o resto fica um nível abaixo.
Hierarquia
Future Edge e cor plena ficam para os momentos de impacto. Ler e escolher acontece em Onest, com superfícies limpas.
Craft
Cada espaço, tempo e curva vem de uma escala. A interface responde no toque e pode ser interrompida a qualquer momento.
Idioma: português de Portugal, com tratamento por tu: telemóvel, ginásio, ecrã, treinas. As frases do manual em português do Brasil são adaptadas, como “Encontra a tua força”.
Logo
Usar sempre os ficheiros de /public/brand. O logo nunca é redesenhado em texto, mesmo existindo a fonte.
Abaixo da largura mínima do logo, usar o símbolo. Avatares são para redes sociais e favicon, nunca dentro de uma página.
Cor
As duas cores têm significado, e o manual mostra isso nas aplicações: verde para força, lilás para equilíbrio. Uma cor de marca domina cada secção.
Verde
Força, ação e chamadas principais. D² Gym.
Lilás
Equilíbrio, bem-estar e apoio. D² Home.
#000000 · Fundo principal
#FFFFFF · Texto sobre preto, bandas claras
#333333 · Bandas de apoio
#141414 · Cartões sobre preto
#A8A8A8 · Texto secundário sobre preto
Calculado com a fórmula WCAG a partir das cores. Mínimo de 4,5:1 para texto e 3:1 para títulos a partir de 24 px. O cinzento das legendas do manual falha em texto pequeno sobre preto; por isso existe o Texto suave.
| Texto ↓ / Fundo → | Preto | Branco | Verde | Lilás | Grafite |
|---|---|---|---|---|---|
| Preto | — | 21,0:1Texto | 18,4:1Texto | 14,4:1Texto | 1,7:1Não usar |
| Branco | 21,0:1Texto | — | 1,1:1Não usar | 1,5:1Não usar | 12,6:1Texto |
| Verde | 18,4:1Texto | 1,1:1Não usar | — | 1,3:1Não usar | 11,0:1Texto |
| Lilás | 14,4:1Texto | 1,5:1Não usar | 1,3:1Não usar | — | 8,7:1Texto |
| Grafite | 1,7:1Não usar | 12,6:1Texto | 11,0:1Texto | 8,7:1Texto | — |
Tipografia
Future Edge fala alto: títulos, botões e etiquetas. Onest explica: leitura e interface. Os valores abaixo foram medidos diretamente no PDF do manual.
Principal
Future Edge
ABCDEFGHIJKLMNOPQRSTUVWXYZ ÁÃÂÉÊÍÓÕÔÚÇ 0123456789 €×
ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
Secundária
Onest
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
Regular e Bold, os dois pesos do manual
Sempre em maiúsculas. Itálico nos títulos, romano com tracking nas etiquetas.
Find your match
Três packs
Encontra a tua força.
Dias corridos
Treino B
Para quem treina em casa
Quantos dias por semana consegues reservar?
O plano de treino que cabe na tua rotina real.
Não precisas de mudar a tua vida para treinar.
Compra única, sem mensalidade, acesso no telemóvel.
Sem registo. O resultado aparece no fim.
| Aplicação | Corpo no PDF | Tracking | Entrelinha |
|---|---|---|---|
| Logo DYNAMICFIT | 198 | −0,04 em | — |
| BY DIANA | 52 | +0,325 em | — |
| Etiquetas | 14,6 | +0,32 a +0,35 em | — |
| Título Future Edge | 165 | −0,018 em | — |
| Título de Reels | 47,7 | 0 | 0,94 |
| Tipografia gigante | 261–442 | −0,04 a +0,04 em | — |
| Onest grande | 137 | −0,073 em | — |
Espaço
O manual define o espaçamento entre letras, medido na secção anterior, mas não define grelha de página. Esta escala foi criada para acompanhar a mesma sensação: blocos densos com muito ar à volta.
Usar apenas estes passos do Tailwind. Em rem, para crescerem com o texto do utilizador.
| Token | Valor | Uso |
|---|---|---|
| --gutter | 16–56 px | Margem lateral |
| --space-section | 80–160 px | Topo e base de secção |
| --container | 1280 px | Largura máxima |
| Texto corrido a 16 px | 36 rem | Máximo de cerca de 75 caracteres |
| Alvo de toque | 44 px | Mínimo em qualquer controlo |
| Entre | Valor | Classe |
|---|---|---|
| Etiqueta e título | 16 px | mb-4 |
| Título grande e texto | 20–32 px | after-title |
| Título de cartão e texto | 12 px | gap-3 |
| Parágrafos | 16 px | gap-4 |
| Linhas de lista | 12 px | py-3 |
| Texto e chamada | 24–32 px | gap-6 a gap-8 |
Grelha de 4, 8 e 12 colunas, com intervalo de 8 px em cartões e 16 px em secções.
Forma
A marca inclina-se para a frente. Os três ângulos e o raio abaixo saem do manual e devem repetir-se sem variações.
Encontra a tua força.
Referências do manual. Força: ginásio escuro e luz dura. Equilíbrio: luz natural e ambiente quente. No site, usar fotografias reais da Diana; sobre imagem, escurecer o suficiente para manter 4,5:1.




Componentes
Cada banda define data-surface e os componentes recolorem sozinhos. Trocar a superfície abaixo mostra exatamente o que acontece em cada uma.
O que recebes
Dias corridos? Faz só o Base.
Cada treino vem em Base + Extra, para os dias com menos ou mais tempo.
D² Flex
Em casa
Plano estruturado e simples, pensado para pouco ou nenhum equipamento.
De 50€ por 20€
No ginásio
Chega ao ginásio a saber exatamente que treino fazer, que máquinas usar e quantas séries.
De 50€ por 20€
Casa + ginásio
A tua semana muda, o plano continua. Cada exercício tem a versão casa e a versão ginásio.
De 100€ por 35€
Cada pack tem superfície própria: Home em lilás, Gym em verde, Flex em preto. O preço de cada pack vem de PACKS, em lib/quiz.ts.
Este é o componente real, com as perguntas e a lógica do rascunho. Experimentar avançar, voltar a meio e refazer.
1/4
Onde consegues realmente treinar na maior parte da semana?
Sem registo. O resultado aparece no fim.
Movimento
Cada animação precisa de um motivo: responder, orientar ou evitar uma mudança brusca. Se for vista muitas vezes por dia, fica mais curta ou desaparece.
Carregar a meio do percurso: a transição inverte a partir do ponto atual, sem saltar.
| Interação | Duração | Curva |
|---|---|---|
| Toque em botão | 120 ms | --ease-brand, scale(0.97) |
| Hover e cor | 160 ms | ease |
| Passo do quiz, entradas | 240 ms | --ease-brand |
| Folha ou gaveta | 320 ms | --ease-drawer |
| Arrasto | Mola | bounce 0, duração 0,4 s |
| Lançamento com inércia | Mola | bounce 0,2, duração 0,4 s |
| Atalhos de teclado | Nenhuma | — |
50 ms entre itens. Nunca bloqueia o clique.
Sequência
A ordem vem do rascunho; a aparência vem deste guideline. O rascunho serve para a sequência e não para valores visuais.
1
Landing
Toda a página conduz ao quiz.
2
Quiz
Quatro perguntas, cerca de um minuto.
3
Resultado
Pack recomendado na superfície dele.
4
Compra
Checkout alojado por um serviço externo.
5
Treino
Card com Base, Extra, vídeos e troca casa/ginásio.
| Se | Então |
|---|---|
| Treina em casa e ginásio, ou a rotina muda muito | D² Flex |
| Treina em casa | D² Home |
| Treina no ginásio | D² Gym |
| Dias e tempo | Definem o plano dentro do pack |
| Rascunho | Guideline |
|---|---|
| Archivo | Future Edge |
| #0B0B0B e creme #F4F0E8 | #000000 e #FFFFFF |
| Onest a meio de títulos | Destaque por cor |
| Logótipo D² MATCH em texto | Logo oficial em SVG |
| Espera de 2,2 s no quiz | Transição até 800 ms |
Técnica
Cloudflare Pages serve apenas ficheiros estáticos, e isso define o que cada página pode fazer.
| Item | Valor |
|---|---|
| Next.js | output: "export" |
| Imagens | images.unoptimized: true; exportar já em WebP |
| Comando de build | npm run build |
| Pasta publicada | out |
| Fontes | Alojadas no próprio site, em WOFF2 |
| Tokens | app/globals.css |
| Componentes | components/brand e components/ui |