# DAS Website Layout Guide
*A cozy, personal space for lo-fi beats*

---

## Design Philosophy
This site should feel like stepping into a friend's carefully curated music space. Warm, intimate, uncluttered. Every pixel serves the music.

---

## Spacing System

### Container Padding
- **Desktop:** 80px horizontal, 60px vertical
- **Tablet:** 40px horizontal, 40px vertical  
- **Mobile:** 24px horizontal, 32px vertical

### Section Spacing (vertical)
- **Between major sections:** 120px (desktop), 80px (tablet), 60px (mobile)
- **Between subsections:** 60px (desktop), 40px (tablet), 32px (mobile)
- **Between elements in a group:** 24px (desktop), 20px (tablet), 16px (mobile)

### Track List Item Spacing
- **Gap between tracks:** 16px
- **Internal padding:** 20px (desktop), 16px (mobile)
- **Hover expansion:** Add 4px padding-top and padding-bottom on hover

---

## Typography Hierarchy

### Font Families
- **Headings:** System font stack: `-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`
- **Body:** Same as headings for cohesion
- **Accent/Artist name:** Consider a gentle rounded sans like `'DM Sans', 'Inter', system-ui`

### Font Sizes

#### Desktop (1024px+)
- **Artist Name (H1):** 72px, font-weight: 700, letter-spacing: -0.02em
- **Tagline:** 24px, font-weight: 400, letter-spacing: 0.01em, opacity: 0.85
- **Section Headers (H2):** 36px, font-weight: 600
- **Track Titles:** 20px, font-weight: 500
- **Track Album/Description:** 16px, font-weight: 400, opacity: 0.7
- **About Text:** 18px, font-weight: 400, line-height: 1.7
- **Buttons/Links:** 16px, font-weight: 500, letter-spacing: 0.02em

#### Tablet (768px - 1023px)
- **Artist Name:** 56px
- **Tagline:** 20px
- **Section Headers:** 28px
- **Track Titles:** 18px
- **Track Album/Description:** 15px
- **About Text:** 17px
- **Buttons/Links:** 15px

#### Mobile (<768px)
- **Artist Name:** 40px
- **Tagline:** 18px
- **Section Headers:** 24px
- **Track Titles:** 17px
- **Track Album/Description:** 14px
- **About Text:** 16px, line-height: 1.65
- **Buttons/Links:** 15px

---

## Color Palette

### Primary Colors
```
Background: #FFF8F0 (warm off-white, like aged paper)
Text Primary: #2A2420 (warm dark brown, not pure black)
Text Secondary: rgba(42, 36, 32, 0.65)
```

### Accent Colors
```
Primary Accent: #E85D75 (warm coral pink)
Hover Accent: #D94460 (deeper coral)
Secondary Accent: #FFA07A (light salmon - for subtle highlights)
```

### Interactive States
```
Link Default: #2A2420
Link Hover: #E85D75
Button Background: #E85D75
Button Hover: #D94460
Button Text: #FFF8F0
Track Item Hover Background: rgba(232, 93, 117, 0.08)
```

### Semantic Colors
```
Focus Ring: 2px solid #E85D75, offset 2px
Border/Divider: rgba(42, 36, 32, 0.12)
```

---

## Responsive Breakpoints

```css
/* Mobile-first approach */

/* Small phones */
@media (max-width: 375px) {
  /* Tighter spacing, smaller fonts */
}

/* Standard mobile */
@media (min-width: 376px) and (max-width: 767px) {
  /* Base mobile styles */
}

/* Tablet portrait */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Medium spacing and fonts */
}

/* Desktop */
@media (min-width: 1024px) {
  /* Full spacing and fonts */
}

/* Large desktop */
@media (min-width: 1440px) {
  /* Optional: max-width container, centered */
  /* Max content width: 1200px */
}
```

---

## Component-Specific Guidelines

### Hero Section (Artist Name + Tagline)
- **Alignment:** Center
- **Vertical spacing from top:** 80px (desktop), 60px (mobile)
- **Tagline margin-top:** 16px
- **Animation:** Subtle fade-in on load (0.6s ease)

### Track List
- **Max width:** 640px, centered
- **Border radius:** 12px per item
- **Transition:** all 0.2s ease-in-out
- **Hover state:** Lift with subtle shadow `box-shadow: 0 4px 12px rgba(42, 36, 32, 0.08)`
- **Play button (if added):** 40px circle, positioned left or center, accent color

### About Section
- **Max width:** 560px, centered
- **Text alignment:** Center
- **Line height:** 1.7 (desktop), 1.65 (mobile)

### Streaming Links
- **Layout:** Horizontal flex on desktop, vertical stack on mobile (<600px)
- **Button style:** Rounded corners (24px), 16px vertical padding, 32px horizontal padding
- **Gap between buttons:** 16px
- **Icon size (if added):** 20px, positioned left of text with 8px gap
- **Hover effect:** Slight scale (transform: scale(1.02)) + color change

---

## Accessibility Considerations

### Color Contrast
- **Text on background:** Minimum WCAG AA (4.5:1 for body text, 3:1 for large text)
- **Accent color on white:** #E85D75 on #FFF8F0 = ~4.8:1 ✓
- **Dark text on white:** #2A2420 on #FFF8F0 = ~13.5:1 ✓

### Focus States
- **All interactive elements** must have visible focus ring
- **Focus ring:** 2px solid accent color, 2px offset
- **Never remove outline** without replacing with visible alternative

### Keyboard Navigation
- **Tab order:** Logical top-to-bottom flow
- **Skip links:** Consider "Skip to music" link at top
- **Interactive elements:** Minimum 44x44px touch target on mobile

### Screen Reader Support
- **Artist name:** Wrapped in `<h1>` with proper hierarchy
- **Track list:** Semantic `<ul>` with `<li>` items
- **Links:** Descriptive text ("Listen on Spotify" not just "Spotify")
- **Icons:** Include `aria-label` or sr-only text
- **Album art (if added):** Descriptive alt text

### Motion & Animation
- **Respect `prefers-reduced-motion`:**
```css
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
```

### Performance
- **Font loading:** Use `font-display: swap` to prevent invisible text
- **Images (if added):** Lazy load, provide width/height to prevent layout shift
- **Animations:** Use `transform` and `opacity` for GPU acceleration

---

## Mobile-Specific Considerations

### Touch Targets
- **Minimum size:** 44x44px (48x48px recommended)
- **Spacing between targets:** At least 8px

### Viewport
```html
<meta name="viewport" content="width=device-width, initial-scale=1">
```

### Horizontal Scrolling
- **Never require horizontal scroll**
- **Text:** Must wrap naturally
- **Buttons:** Stack vertically if needed

### Performance
- **Keep total page weight under 500KB** (before images)
- **Critical CSS:** Inline above-the-fold styles
- **Lazy load:** Below-the-fold content

---

## Implementation Notes

### CSS Variables (Recommended)
```css
:root {
  --color-bg: #FFF8F0;
  --color-text: #2A2420;
  --color-text-secondary: rgba(42, 36, 32, 0.65);
  --color-accent: #E85D75;
  --color-accent-hover: #D94460;
  
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 24px;
  --spacing-lg: 40px;
  --spacing-xl: 60px;
  --spacing-xxl: 80px;
  
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 24px;
  
  --font-size-xs: 14px;
  --font-size-sm: 16px;
  --font-size-md: 18px;
  --font-size-lg: 24px;
  --font-size-xl: 36px;
  --font-size-xxl: 72px;
}
```

### Animation Timing
- **Micro-interactions (hover, focus):** 150-250ms
- **Page transitions:** 400-600ms
- **Ease function:** `cubic-bezier(0.4, 0.0, 0.2, 1)` for smoothness

---

## Final Touch: Personality

This isn't just a website—it's a feeling. Every interaction should whisper, not shout. Think:
- **Gentle hover states** (not aggressive)
- **Breathing room** (generous whitespace)
- **Organic shapes** (rounded corners, soft shadows)
- **Warm tones** (no harsh blues or grays)
- **Handcrafted vibe** (imperfect is perfect)

The goal: visitors should want to *stay*, not just *visit*.
