Análise concluída

Mailchimp

mailchimp.com/pt-br

Mailchimp constrói uma linguagem visual Tipografia de destaque ampla e Composição densa em controles, apoiada por uma base escuro e pela tipografia Graphik Web. Sua experiência de marketing coloca o ritmo editorial e a narrativa de conteúdo no centro da composição.

/ 01 . Color

Paleta de cores

Sistema visual extraído de estilos computados, variáveis CSS e usos recorrentes de foreground/background na página analisada.

TextPrimary

#ffffff

Primary text · Observado

Background

#231e15

Page canvas · Observado

Border

rgba(35, 30, 21, 0.3)

Borders and separators · Observado

Neutral family 1

#000000

Observado família da paleta

Neutral family 2

#f0f4f6

Observado família da paleta

Neutral family 3

rgba(35, 30, 21, 0.65)

Observado família da paleta

Yellow family 1

#ffe01b

Observado família da paleta

Yellow family 2

rgba(255, 224, 27, 0.65)

Observado família da paleta

Yellow family 3

rgba(255, 224, 27, 0.15)

Observado família da paleta

/ 02 . Typography

Sistema tipográfico

navigation

Aa Linguagem visual

Família
Graphik Web
Tamanho
16px
Peso
400
Linha
21.6px

button

Aa Linguagem visual

Família
Graphik Web
Tamanho
13px
Peso
500
Linha
14.3px

caption

Aa Linguagem visual

Família
Graphik Web
Tamanho
13px
Peso
400
Linha
17.55px

smallHeading

Aa Linguagem visual

Família
Graphik Web
Tamanho
16px
Peso
400
Linha
24px

body

Aa Linguagem visual

Família
Graphik Web
Tamanho
16px
Peso
400
Linha
normal

headingLarge

Aa Linguagem visual

Família
Means Web
Tamanho
40px
Peso
400
Linha
40px

/ 03 . System

Espaçamento e forma

Ritmo de espaçamento

controlGap1

30px

controlGap2

40px

contentGap1

30px

contentGap2

44px

sectionGap1

68px

sectionGap2

80px

space-xs

2.4px

space-sm

8px

Raios de canto

smallRadius

3px

mediumRadius

10px

largeRadius

24px

fullRadius

9999px

Linguagem de bordas

defaultBorder

1px solid rgb(188, 186, 182)

/ 04 . Components

Padrões de interface

Nav

inferred

Reusable nav pattern.

12px 16px

Variant A Content Section

inferred

Major page content boundary.

80px 0px32px 0px

Variant B Content Section

inferred

Major page content boundary.

80px 0px64px 0px

Content Card

observed

Repeated grouped content surface.

24px corner radius

Large Inline Text Link

observed

Text navigation embedded in compact content flow.

"Graphik Web", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif | 16px | 400 | 21.6px | normal"Graphik Web", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif | 15px | 500 | 32px | normal0px 40px 0px 0pxPill

Small Inline Text Link

observed

Text navigation embedded in compact content flow.

"Graphik Web", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif | 13px | 500 | 14.3px | normal8px3px corner radius
Ver conteúdo completo do DESIGN.md
# DESIGN.md

## 1. Visão geral

Interface orientada por hierarquia visual clara, superfícies consistentes e uma paleta semântica controlada.
Use os tokens e contratos abaixo como fonte normativa para implementação responsiva e acessível.

> Contrato normativo de implementação: preserve os nomes semânticos dos tokens, regras de responsividade e estados de interação ao estender a interface.

## 2. Cores e acessibilidade

### Tokens semânticos de cor

| Token | Valor Hex | Finalidade |
|---|---|---|
| background | `#231e15` | Canvas principal |
| surface | `#231e15` | Superfícies elevadas |
| text-primary | `#ffffff` | Texto principal |
| text-secondary | `#ffffff` | Texto secundário |
| text-muted | `#ffffff` | Texto auxiliar |
| text-on-brand | `#ffffff` | Texto sobre a marca |
| border | `#231e15` | Bordas e divisores |
| brand | `#2563eb` | Ação principal da marca |
| success | `#166534` | Estado positivo |
| danger | `#b91c1c` | Estado destrutivo |
| warning | `#92400e` | Estado de alerta |
| info | `#075985` | Estado informativo |
| focus | `#1d4ed8` | Anel de foco |

### Regras WCAG AA

- Texto normal deve atingir contraste mínimo de 4,5:1.
- Texto grande e elementos de interface devem atingir contraste mínimo de 3:1.
- O foco visível deve manter contraste mínimo de 3:1 e nunca depender apenas de cor.
- Use somente combinações entre tokens semânticos que cumpram essas taxas.

## 3. Tipografia

### Família

| Token | Família | Uso |
|---|---|---|
| font-primaryfont | `'Graphik Web', sans-serif` | Body and interface text |
| font-displayfont | `'Means Web', sans-serif` | Display hierarchy |

### Escala tipográfica

| Token | Família | Tamanho | Peso | Altura de linha |
|---|---|---:|---:|---:|
| type-navigation | `'Graphik Web', sans-serif` | `16px` | `400` | `21.6px` |
| type-button | `'Graphik Web', sans-serif` | `13px` | `500` | `14.3px` |
| type-caption | `'Graphik Web', sans-serif` | `13px` | `400` | `17.55px` |
| type-smallheading | `'Graphik Web', sans-serif` | `16px` | `400` | `24px` |
| type-body | `'Graphik Web', sans-serif` | `16px` | `400` | `normal` |
| type-headinglarge | `'Means Web', sans-serif` | `40px` | `400` | `40px` |
| type-headingmedium | `'Graphik Web', sans-serif` | `23px` | `400` | `30px` |
| type-display | `'Means Web', sans-serif` | `64px` | `400` | `76.8px` |

## 4. Layout e espaçamento

### Breakpoints

- **Mobile:** `< 768px` — grid de 1 coluna, gutters de 16px/24px e navegação empilhada.
- **Tablet:** `768px–1023px` — grid adaptativo e gutters de 32px/48px.
- **Desktop:** `>= 1024px` — gutters de 120px e container com largura máxima definida pelo layout.

### Regras responsivas

- **Header:** empilhe navegação e ações no mobile; mantenha a navegação principal em linha a partir do tablet.
- **Hero:** use uma coluna no mobile, composição equilibrada em duas colunas no tablet e o container completo no desktop.
- **Cards:** ocupe a largura do grid no mobile, use duas colunas no tablet e o grid definido no desktop.
- **Grid de navegação: use uma coluna no mobile, colunas adaptativas no tablet e a composição completa no desktop.

### Escala de espaçamento

| Token | Valor | Uso |
|---|---:|---|
| space-xs | `2.4px` | Escala de layout |
| space-sm | `8px` | Escala de layout |
| space-md | `12px` | Escala de layout |
| space-lg | `16px` | Escala de layout |
| space-xl | `20px` | Escala de layout |

## 5. Formas, bordas e profundidade

### Raios

| Token | Valor | Uso |
|---|---:|---|
| radius-sm | `4px` | Controles compactos |
| radius-md | `12px` | Cards e superfícies |
| radius-full | `9999px` | Pills e controles circulares |

### Bordas e profundidade

- Largura da borda: `var(--ds-border-width)`.
- Estilo da borda: `solid`.
- Cor da borda: `var(--ds-color-border)`.
- Use `var(--ds-shadow-sm)` para elevação baixa e `var(--ds-shadow-inner)` para separação interna.

## 6. Especificação de componentes

### Nav

- **Componente:** Reusable nav pattern.
- **Tipografia:** `var(--ds-type-body)`
- **Cores:** `var(--ds-color-text-primary)` e `var(--ds-color-text-on-brand)` sobre a marca
- **Geometria:** `var(--ds-radius-md)` e `var(--ds-space-sm)` de espaçamento interno
- **Borda:** `var(--ds-border-width) solid var(--ds-color-border)`

### Content Section — Variant A

- **Componente:** Major page content boundary.
- **Tipografia:** `var(--ds-type-body)`
- **Cores:** `var(--ds-color-text-primary)` e `var(--ds-color-text-on-brand)` sobre a marca
- **Geometria:** `var(--ds-radius-md)` e `var(--ds-space-sm)` de espaçamento interno
- **Borda:** `var(--ds-border-width) solid var(--ds-color-border)`

### Content Card

- **Componente:** Repeated grouped content surface.
- **Tipografia:** `var(--ds-type-body)`
- **Cores:** `var(--ds-color-text-primary)` e `var(--ds-color-text-on-brand)` sobre a marca
- **Geometria:** `var(--ds-radius-md)` e `var(--ds-space-sm)` de espaçamento interno
- **Borda:** `var(--ds-border-width) solid var(--ds-color-border)`

### Inline Text Link — Large

- **Componente:** Text navigation embedded in compact content flow.
- **Tipografia:** `var(--ds-type-body)`
- **Cores:** `var(--ds-color-brand)` e `var(--ds-color-text-on-brand)` sobre a marca
- **Geometria:** `var(--ds-radius-md)` e `var(--ds-space-sm)` de espaçamento interno
- **Borda:** `var(--ds-border-width) solid var(--ds-color-border)`

### Button — Variant A

- **Componente:** Direct interface action.
- **Tipografia:** `var(--ds-type-body)`
- **Cores:** `var(--ds-color-brand)` e `var(--ds-color-text-on-brand)` sobre a marca
- **Geometria:** `var(--ds-radius-full)` e `var(--ds-space-sm)` de espaçamento interno
- **Borda:** `var(--ds-border-width) solid var(--ds-color-border)`

## 7. Contrato de interação

### Regras universais de estado

| Estado | Comportamento visual |
|---|---|
| Estado inicial | Use `var(--ds-color-surface)`, `var(--ds-color-text-primary)`, `var(--ds-color-border)`, `var(--ds-type-body)` e `var(--ds-radius-md)`. |
| `:hover` | Aumente a ênfase com `var(--ds-color-brand-hover)` ou `var(--ds-color-surface-hover)`; preserve geometria e layout. |
| `:active` | Aplique `var(--ds-color-brand-active)` ou `var(--ds-color-surface-active)`; preserve dimensões. |
| `:focus-visible` | Exiba anel de `var(--ds-focus-ring-width)` usando `var(--ds-color-focus)`, com afastamento `var(--ds-focus-ring-offset)`. |
| `:disabled` | Use `var(--ds-state-disabled-opacity)`, `cursor: not-allowed` e `pointer-events: none`; remova eventos de ponteiro. |

## 8. Design tokens

```css
:root {
  --ds-color-background: #231e15;
  --ds-color-surface: #231e15;
  --ds-color-text-primary: #ffffff;
  --ds-color-text-secondary: #ffffff;
  --ds-color-text-muted: #ffffff;
  --ds-color-text-on-brand: #ffffff;
  --ds-color-border: #231e15;
  --ds-color-brand: #2563eb;
  --ds-color-brand-hover: color-mix(in srgb, var(--ds-color-brand) 86%, var(--ds-color-text-primary));
  --ds-color-brand-active: color-mix(in srgb, var(--ds-color-brand) 72%, var(--ds-color-text-primary));
  --ds-color-surface-hover: color-mix(in srgb, var(--ds-color-surface) 92%, var(--ds-color-text-primary));
  --ds-color-surface-active: color-mix(in srgb, var(--ds-color-surface) 84%, var(--ds-color-text-primary));
  --ds-color-success: #166534;
  --ds-color-danger: #b91c1c;
  --ds-color-warning: #92400e;
  --ds-color-info: #075985;
  --ds-color-focus: #1d4ed8;
  --ds-font-body: 'Graphik Web', sans-serif;
  --ds-type-body: 'Graphik Web', sans-serif 16px 400 / 24px;
  --ds-type-heading-large: 'Means Web', sans-serif 48px 700 / 1.1;
  --ds-type-heading-medium: 'Means Web', sans-serif 32px 600 / 1.2;
  --ds-type-heading-small: 'Means Web', sans-serif 24px 600 / 1.25;
  --ds-type-caption: 'Graphik Web', sans-serif 12px 500 / 16px;
  --ds-space-xs: 4px;
  --ds-space-sm: 8px;
  --ds-space-md: 16px;
  --ds-space-lg: 24px;
  --ds-space-xl: 40px;
  --ds-border-width: 1px;
  --ds-radius-sm: 4px;
  --ds-radius-md: 12px;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 2px 8px rgb(0 0 0 / 0.12);
  --ds-shadow-inner: inset 0 1px 2px rgb(0 0 0 / 0.12);
  --ds-breakpoint-tablet: 768px;
  --ds-breakpoint-desktop: 1024px;
  --ds-gutter-mobile: 16px;
  --ds-gutter-mobile-large: 24px;
  --ds-gutter-tablet: 32px;
  --ds-gutter-tablet-large: 48px;
  --ds-gutter-desktop: 120px;
  --ds-focus-ring-width: 2px;
  --ds-focus-ring-offset: 2px;
  --ds-state-disabled-opacity: 0.5;
  --ds-transition-fast: 150ms ease-out;
}
```