Swiss Punk / New Wave
Referência brutalismo & anti-design para Swiss Punk / New Wave. Wolfgang Weingart (Basel), spread by April Greiman and Dan Friedman in the US.
Uso: composição editorial com grade tipográfica; Deconstructed Swiss grid; tilted, layered type; Wide letter-spacing, stepped baselines, rules

Contexto Histórico
Wolfgang Weingart (Basel), spread by April Greiman and Dan Friedman in the US. Exemplo: April Greiman 'Does It Make Sense?' (1986); Weingart Typographische Monatsblätter..
Fonte e proveniência
Importado de ara-mkr/claude-artisan · MIT · commit ae6d3ad · 2026-08-30
DESIGN.md
---
version: "alpha"
name: "Swiss Punk / New Wave"
description: "Sistema visual Swiss Punk / New Wave, traduzido do catálogo Claude Artisan para uso em produtos digitais. Deconstructed Swiss grid; tilted, layered type; Wide letter-spacing, stepped baselines, rules"
colors:
primary: "#ff2e63"
background: "#f1f0ea"
surface: "#ffffff"
text: "#16161a"
accent: "#08b2e3"
on-primary: "#000000"
on-surface: "#000000"
on-accent: "#000000"
typography:
h1:
fontFamily: "'Helvetica Neue', 'Univers', Arial, sans-serif"
fontSize: "4rem"
fontWeight: "700"
lineHeight: "1.05"
body-md:
fontFamily: "'Helvetica Neue', 'Univers', Arial, sans-serif"
fontSize: "1rem"
fontWeight: "400"
lineHeight: "1.6"
label-caps:
fontFamily: "'Helvetica Neue', 'Univers', Arial, sans-serif"
fontSize: "0.75rem"
fontWeight: "600"
letterSpacing: "0.06em"
rounded:
sm: "0px"
md: "0px"
lg: "0px"
spacing:
sm: "8px"
md: "16px"
lg: "32px"
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
rounded: "{rounded.md}"
padding: "16px"
button-secondary:
backgroundColor: "{colors.accent}"
textColor: "{colors.on-accent}"
rounded: "{rounded.md}"
padding: "16px"
card:
backgroundColor: "{colors.surface}"
textColor: "{colors.on-surface}"
rounded: "{rounded.lg}"
padding: "24px"
page:
backgroundColor: "{colors.background}"
textColor: "{colors.text}"
padding: "16px"
---
## Overview
Sistema visual Swiss Punk / New Wave, traduzido do catálogo Claude Artisan para uso em produtos digitais. Deconstructed Swiss grid; tilted, layered type; Wide letter-spacing, stepped baselines, rules
- **Categoria:** Brutalismo & anti-design
- **Era:** 1978–1990
- **Origem:** Wolfgang Weingart (Basel), spread by April Greiman and Dan Friedman in the US.
- **Exemplo:** April Greiman 'Does It Make Sense?' (1986); Weingart Typographische Monatsblätter.
- **Base estrutural:** composição editorial com grade tipográfica
**Traços definidores:**
- Deconstructed Swiss grid; tilted, layered type
- Wide letter-spacing, stepped baselines, rules
- Photographic collage, gradients (Greiman's digital work)
- Rebellion against rigid International Style
## Colors
- **bg** — #f1f0ea
- **surface** — #ffffff
- **surface-strong** — #e7e5db
- **border** — #16161a
- **text** — #16161a
- **text-muted** — #4c4c50
- **primary** — #ff2e63
- **accent** — #08b2e3
- **yellow** — #ffd400
## Typography
- Display: 'Helvetica Neue', 'Univers', Arial, sans-serif
- Corpo: 'Helvetica Neue', 'Univers', Arial, sans-serif
- Mono: ui-monospace, monospace
## Layout
- composição editorial com grade tipográfica
- Use uma grade responsiva e preserve a hierarquia de conteúdo.
- Colapse colunas abaixo de 768px sem overflow horizontal.
## Elevation & Depth
- Deconstructed Swiss grid; tilted, layered type; Wide letter-spacing, stepped baselines, rules; Photographic collage, gradients (Greiman's digital work); Rebellion against rigid International Style; sombras e elevação
## Shapes
- Raios: 0px, 0px, 0px.
## Components
- Botões mantêm foco visível e estados hover/pressed previsíveis.
- Cartões usam a superfície e a escala de raios definidas nos tokens.
- Formulários exibem labels persistentes, erro textual e foco por teclado.
## Do's and Don'ts
- Faça: respeite os tokens e a composição estrutural indicada.
- Faça: mantenha contraste WCAG AA e `prefers-reduced-motion`.
- Evite: usar o estilo como decoração sem hierarquia funcional.
Especificações Técnicas
CSS
/* Swiss Punk / New Wave — design tokens */
/* 1978–1990 | Wolfgang Weingart (Basel), spread by April Greiman and Dan Friedman, condensed */
:root {
/* color */
--color-bg: #f1f0ea;
--color-surface: #ffffff;
--color-surface-strong: #e7e5db;
--color-border: #16161a;
--color-text: #16161a;
--color-text-muted: #4c4c50;
--color-primary: #ff2e63;
--color-accent: #08b2e3;
--color-yellow: #ffd400;
/* radius: rule-driven grid rebellion, hard edges */
--radius-sm: 0px;
--radius-md: 0px;
--radius-lg: 0px;
--radius-pill: 999px;
/* shadow: offset hard shadow instead of blur, like layered print collage */
--shadow-sm: 3px 3px 0 var(--color-border);
--shadow-md: 5px 5px 0 var(--color-border);
--shadow-lg: 9px 9px 0 var(--color-border);
/* font: tight Swiss grotesk pushed to wide tracking, tilted */
--font-sans: 'Helvetica Neue', 'Univers', Arial, sans-serif;
--font-display: 'Helvetica Neue', 'Univers', Arial, sans-serif;
--font-mono: ui-monospace, monospace;
/* text */
--text-xs: 0.75rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.375rem;
--text-2xl: 1.75rem;
--text-3xl: 2.25rem;
--text-4xl: 3rem;
--text-5xl: 4rem;
/* space */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-6: 24px;
--space-8: 32px;
--space-12: 48px;
--space-16: 64px;
--space-24: 96px;
/* ease */
--ease-standard: cubic-bezier(0.6, 0, 0.4, 1);
/* extra: deconstructed grid — a tilted element + a hard offset shadow, the signature move */
--tilt-deg: -2.5deg;
--rule-line: 3px solid var(--color-border);
}
/* ============================================================
Base component classes — Swiss Punk / New Wave
Signature move: a slight rotation on interactive elements paired with a
hard offset shadow (no blur) that snaps flush on press, repeated on nav,
btn, and card to read as a deconstructed, collaged Swiss grid.
============================================================ */
body { margin: 0; color: var(--color-text); font-family: var(--font-sans); background: var(--color-bg); }
.nav { display: flex; gap: var(--space-4); align-items: center;
padding: var(--space-3) var(--space-6); background: var(--color-surface);
border: 3px solid var(--color-border); box-shadow: var(--shadow-md);
transform: rotate(-0.6deg); }
.btn {
font: 700 var(--text-base)/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase;
color: var(--color-text); padding: var(--space-3) var(--space-6); border-radius: var(--radius-md);
background: var(--color-yellow); border: 3px solid var(--color-border);
box-shadow: var(--shadow-sm);
cursor: pointer; transition: transform .12s var(--ease-standard), box-shadow .12s var(--ease-standard);
}
.btn:hover { transform: rotate(var(--tilt-deg)) translate(-1px,-1px); box-shadow: var(--shadow-md); }
.btn:active { transform: translate(2px,2px); box-shadow: none; }
.btn:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.btn--primary { background: var(--color-primary); color: #ffffff; }
.card { background: var(--color-surface); color: var(--color-text);
border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
border: 3px solid var(--color-border); padding: var(--space-6);
transform: rotate(0.8deg); }
.input {
width: 100%; box-sizing: border-box; color: var(--color-text); font: var(--text-base) var(--font-sans);
padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm);
background: var(--color-surface); border: 3px solid var(--color-border);
box-shadow: var(--shadow-sm);
}
.input::placeholder { color: var(--color-text-muted); }
.input:focus { outline: none; border-color: var(--color-accent);
box-shadow: var(--shadow-sm), 0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, transparent); }
.badge { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; font-size: var(--text-xs);
text-transform: uppercase; letter-spacing: .06em; padding: .3em .8em; border-radius: var(--radius-pill);
color: #ffffff; background: var(--color-accent); border: 2px solid var(--color-border); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } .btn:hover, .btn:active { transform: none; } }
/* Especificação de referência: references/00-flagship-implementation-specs/swiss-punk.md */Variáveis
--bg: #f1f0ea, --fg: #16161a, --accent: #ff2e63, --surface: #ffffff, --radius: 0px, --spacing: 16px, --font-display: 'Helvetica Neue', 'Univers', Arial, sans-serif, --font-body: 'Helvetica Neue', 'Univers', Arial, sans-serif
Checklist
Contraste WCAG AA; foco visível; navegação por teclado; estados hover/pressed; responsividade; prefers-reduced-motion; Tailwind v4 via @theme.
Cores
Primárias
Secundárias
Efeitos
Deconstructed Swiss grid; tilted, layered type, Wide letter-spacing, stepped baselines, rules, Photographic collage, gradients (Greiman's digital work), Rebellion against rigid International Style, shadow
Light/Dark
Fonte não declara modos; validar em light e dark antes de publicar
Prompt para AI
Atue como um Engenheiro Frontend Sênior e UI Designer Especialista.
Sua tarefa é codificar uma Landing Page completa na primeira tentativa.
- Tema da Landing Page: <INSIRA O TEMA>
- Seções a adicionar: <INSIRA AS SEÇÕES>
Gere o código final imediatamente seguindo estas definições:
## Estilo
- **Nome:** Swiss Punk / New Wave
- **Tipo:** claude-artisan/brutalist
- **Keywords:** Swiss Punk / New Wave, new wave typography, punk typography, Deconstructed Swiss grid; tilted, layered type, Wide letter-spacing, stepped baselines, rules, Photographic collage, gradients (Greiman's digital work), Rebellion against rigid International Style, brutalist
- **Era:** 1978–1990
- **Light/Dark:** Fonte não declara modos; validar em light e dark antes de publicar
## Paleta de Cores
- **Primárias:** bg: #f1f0ea, surface: #ffffff, surface-strong: #e7e5db, border: #16161a
- **Secundárias:** text: #16161a, text-muted: #4c4c50, primary: #ff2e63, accent: #08b2e3, yellow: #ffd400
## Efeitos Visuais
Deconstructed Swiss grid; tilted, layered type, Wide letter-spacing, stepped baselines, rules, Photographic collage, gradients (Greiman's digital work), Rebellion against rigid International Style, shadow
## Direção Visual para IA
Swiss Punk / New Wave, Deconstructed Swiss grid; tilted, layered type, Wide letter-spacing, stepped baselines, rules, Photographic collage, gradients (Greiman's digital work), Rebellion against rigid International Style, April Greiman 'Does It Make Sense?' (1986); Weingart Typographische Monatsblätter.
## CSS Technical
```css
/* Swiss Punk / New Wave — design tokens */
/* 1978–1990 | Wolfgang Weingart (Basel), spread by April Greiman and Dan Friedman, condensed */
:root {
/* color */
--color-bg: #f1f0ea;
--color-surface: #ffffff;
--color-surface-strong: #e7e5db;
--color-border: #16161a;
--color-text: #16161a;
--color-text-muted: #4c4c50;
--color-primary: #ff2e63;
--color-accent: #08b2e3;
--color-yellow: #ffd400;
/* radius: rule-driven grid rebellion, hard edges */
--radius-sm: 0px;
--radius-md: 0px;
--radius-lg: 0px;
--radius-pill: 999px;
/* shadow: offset hard shadow instead of blur, like layered print collage */
--shadow-sm: 3px 3px 0 var(--color-border);
--shadow-md: 5px 5px 0 var(--color-border);
--shadow-lg: 9px 9px 0 var(--color-border);
/* font: tight Swiss grotesk pushed to wide tracking, tilted */
--font-sans: 'Helvetica Neue', 'Univers', Arial, sans-serif;
--font-display: 'Helvetica Neue', 'Univers', Arial, sans-serif;
--font-mono: ui-monospace, monospace;
/* text */
--text-xs: 0.75rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.375rem;
--text-2xl: 1.75rem;
--text-3xl: 2.25rem;
--text-4xl: 3rem;
--text-5xl: 4rem;
/* space */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-6: 24px;
--space-8: 32px;
--space-12: 48px;
--space-16: 64px;
--space-24: 96px;
/* ease */
--ease-standard: cubic-bezier(0.6, 0, 0.4, 1);
/* extra: deconstructed grid — a tilted element + a hard offset shadow, the signature move */
--tilt-deg: -2.5deg;
--rule-line: 3px solid var(--color-border);
}
/* ============================================================
Base component classes — Swiss Punk / New Wave
Signature move: a slight rotation on interactive elements paired with a
hard offset shadow (no blur) that snaps flush on press, repeated on nav,
btn, and card to read as a deconstructed, collaged Swiss grid.
============================================================ */
body { margin: 0; color: var(--color-text); font-family: var(--font-sans); background: var(--color-bg); }
.nav { display: flex; gap: var(--space-4); align-items: center;
padding: var(--space-3) var(--space-6); background: var(--color-surface);
border: 3px solid var(--color-border); box-shadow: var(--shadow-md);
transform: rotate(-0.6deg); }
.btn {
font: 700 var(--text-base)/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase;
color: var(--color-text); padding: var(--space-3) var(--space-6); border-radius: var(--radius-md);
background: var(--color-yellow); border: 3px solid var(--color-border);
box-shadow: var(--shadow-sm);
cursor: pointer; transition: transform .12s var(--ease-standard), box-shadow .12s var(--ease-standard);
}
.btn:hover { transform: rotate(var(--tilt-deg)) translate(-1px,-1px); box-shadow: var(--shadow-md); }
.btn:active { transform: translate(2px,2px); box-shadow: none; }
.btn:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.btn--primary { background: var(--color-primary); color: #ffffff; }
.card { background: var(--color-surface); color: var(--color-text);
border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
border: 3px solid var(--color-border); padding: var(--space-6);
transform: rotate(0.8deg); }
.input {
width: 100%; box-sizing: border-box; color: var(--color-text); font: var(--text-base) var(--font-sans);
padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm);
background: var(--color-surface); border: 3px solid var(--color-border);
box-shadow: var(--shadow-sm);
}
.input::placeholder { color: var(--color-text-muted); }
.input:focus { outline: none; border-color: var(--color-accent);
box-shadow: var(--shadow-sm), 0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, transparent); }
.badge { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; font-size: var(--text-xs);
text-transform: uppercase; letter-spacing: .06em; padding: .3em .8em; border-radius: var(--radius-pill);
color: #ffffff; background: var(--color-accent); border: 2px solid var(--color-border); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } .btn:hover, .btn:active { transform: none; } }
/* Especificação de referência: references/00-flagship-implementation-specs/swiss-punk.md */
```
## Design System Variables
```css
--bg: #f1f0ea, --fg: #16161a, --accent: #ff2e63, --surface: #ffffff, --radius: 0px, --spacing: 16px, --font-display: 'Helvetica Neue', 'Univers', Arial, sans-serif, --font-body: 'Helvetica Neue', 'Univers', Arial, sans-serif
```
## Checklist de Implementação
- Contraste WCAG AA; foco visível; navegação por teclado; estados hover/pressed; responsividade; prefers-reduced-motion; Tailwind v4 via @theme.
## Regras de Execução
1. Siga fielmente o estilo visual determinado.
2. Use ícones SVG inline de alta qualidade (estilo Heroicons ou Lucide) — PROIBIDO usar emojis como ícones.
3. Adicione `cursor-pointer` e estados de `hover` suaves (transition-all) em todos os elementos interativos.
4. Estrutura Obrigatória da Página:
- Navbar (Logo + Links + CTA)
- Hero Section (Headline impactante + Subtitle + 2 botões + Elemento visual 3D/Abstrato via CSS)
- Features (3 cards com ícones)
- Testimonials (3 cards)
- Pricing (3 tiers, destaque no central)
- CTA Final
- Footer completo com redes sociais, política de privacidade, termos de uso, contato e links SEO.
5. Todo o conteúdo textual deve ser em Português Brasileiro (PT-BR).
6. O visual deve ser CLARAMENTE distinto — não crie um design "padrão Bootstrap". Force o uso das variáveis de design system fornecidas.
7. Use tags `<style>` no head para classes personalizadas (especialmente para os efeitos complexos de backdrop-filter e animações) que o Tailwind via CDN não cobrir.
8. Responsividade Total: O layout deve se adaptar perfeitamente a Mobile, Tablet e Desktop (Stack vertical no mobile).
9. Inclua meta tags básicas de SEO, Viewport e Open Graph no `<head>`.
10. Footer deve conter: Copyright 2026, Links de navegação secundária e Ícones de redes sociais.
11. Assuma as decisões criativas necessárias para entregar o resultado completo e funcional agora.Relacionados
Última sincronização: 30/08/2026

