---
name: webconsulting-branding
description: Enforces webconsulting.at design system, color palettes, typography, and MDX component structures for frontend development.
version: 1.0.0
typo3_compatibility: "13.0 - 14.x"
triggers:
- frontend
- design
- branding
- ui
- components
- styling
---
# webconsulting Design System
## 1. Brand Identity & Voice
**Persona**: Innovative, Technical, Professional ("Senior Solutions Architect")
**Tone**: Clear, concise, authoritative. Avoid marketing fluff.
**Language**: German (Primary) / English (Technical documentation)
## 2. Visual Design Tokens (Strict Adherence)
### Color Palette
| Token | Hex Value | Tailwind Class | Usage |
|-------|-----------|----------------|-------|
| Primary Teal | `#14b8a6` | `text-teal-500` | Links, primary buttons, active states |
| Primary Cyan | `#06b6d4` | `text-cyan-600` | Hover states, secondary highlights |
| Accent Amber | `#f59e0b` | `text-amber-500` | Warnings, highlights, specialized icons |
| Neutral Dark | `#334155` | `text-slate-700` | Body text, standard paragraphs |
| Deep Black | `#0a0a0a` | `bg-neutral-950` | Footers, dark mode backgrounds |
| Hero Gradient Start | `#667eea` | `from-[#667eea]` | Hero section gradient start |
| Hero Gradient End | `#764ba2` | `to-[#764ba2]` | Hero section gradient end |
### Hero Gradient Usage
```css
.hero-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
```
```html
```
### Typography
| Element | Font Family | Weight | Usage |
|---------|-------------|--------|-------|
| Headings | Raleway | 600, 700 | H1-H3, titles |
| Body | Open Sans | 400, 500 | Paragraphs, UI elements |
| Code | JetBrains Mono | 400 | Code blocks, inline code |
| Fallback | Calibri | - | System fallback only |
### Font Import
```css
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@600;700&family=Open+Sans:wght@400;500&family=JetBrains+Mono&display=swap');
```
## 3. MDX Component Architecture
When generating content or frontend components, use the following structure. **Do NOT use raw HTML**.
### Interactive Tabs
Use for version comparisons (e.g., TYPO3 v11 vs v12 vs v13 vs v14):
```jsx
TYPO3 v13
TYPO3 v14
Content for v13...
Content for v14 (preferred)...
```
### Data & Comparison Tables
Use `ComparisonTable` for feature matrices. Supports boolean checkmarks:
```jsx
```
### Code Blocks with Syntax Highlighting
```jsx
{`htmlResponse();
}
}`}
```
### Callout Boxes
```jsx
Always use `declare(strict_types=1);` in PHP files.
This API changed in TYPO3 v14.
Never expose sensitive configuration files.
```
### MDX Images
```jsx
```
## 4. Mermaid Diagrams (Theming)
All diagrams must explicitly override the theme to match the Teal/Amber palette:
```markdown
%%{init: {'theme': 'base', 'themeVariables': {
'primaryColor': '#14b8a6',
'primaryTextColor': '#ffffff',
'primaryBorderColor': '#0d9488',
'lineColor': '#334155',
'secondaryColor': '#f59e0b',
'tertiaryColor': '#fef3c7',
'edgeLabelBackground': '#ffffff'
}}}%%
graph TD
A[Client Request] -->|HTTP| B(Load Balancer)
B --> C{TYPO3 Backend}
C -->|Cache Hit| D[Response]
C -->|Cache Miss| E[Database]
E --> D
```
## 5. Accessibility Guidelines (WCAG 2.1 AA)
### Contrast Requirements
- Ensure **4.5:1** contrast ratio for all text
- Large text (18px+ bold, 24px+ regular): **3:1** minimum
### Interactive Elements
- All interactive elements must have visible **focus states**
- Use ring: `focus:ring-2 focus:ring-teal-500 focus:ring-offset-2`
### Images and Media
- All images MUST include `alt` text
- Use `caption` prop in MDXImage component
- Decorative images: use `alt=""`
### Keyboard Navigation
- All interactive elements must be keyboard accessible
- Logical tab order (no positive tabindex)
- Skip links for main content
## 6. Responsive Breakpoints
| Breakpoint | Width | Tailwind Prefix |
|------------|-------|-----------------|
| Mobile | < 640px | (default) |
| Tablet | ≥ 640px | `sm:` |
| Desktop | ≥ 1024px | `lg:` |
| Wide | ≥ 1280px | `xl:` |
## 7. Component Spacing Scale
Use consistent spacing based on 4px grid:
| Token | Value | Usage |
|-------|-------|-------|
| `space-1` | 4px | Icon gaps |
| `space-2` | 8px | Inline elements |
| `space-4` | 16px | Component padding |
| `space-6` | 24px | Section gaps |
| `space-8` | 32px | Major sections |
| `space-12` | 48px | Page sections |
## 8. Button Styles
### Primary Button
```html
```
### Secondary Button
```html
```
### Ghost Button
```html
```