FUTURISTIC-FASHION

Futuristic Fashion

Pure white minimal futuristic fashion interface. Black text on white. Mouse-tracking spotlight reveal. Wireframe globe, checkerboard, L-corner brackets.

Difficulty:★★★★☆
Mood:Futuristic · Clean · Interactive · Geometric · Precise
Clean & Structured

Visual DNA

Pure white minimal futuristic fashion. Black text on white. Mouse-tracking spotlight reveals a second image inside a soft circular mask on the dark background image. Wireframe globe SVG, checkerboard accents, L-corner brackets frame the composition. Side drawers for shop/collections/journal. Technical precision meets fashion editorial.

Design Principles

WHITE AS CANVAS

Not cream, not off-white, not "warm white" — pure white (#FFFFFF). The background is a blank gallery wall. Black ink sits on it with absolute precision. No gradients, no tints, no warmth. The purity of the white is what makes the technical framing elements (L-corner brackets, wireframe globes, checkerboard patterns) feel precise rather than decorative.

What it prevents: The AI tendency to add "warmth" with cream or off-white backgrounds, which softens the futuristic precision into something cozy and less intentional.

---

INTERACTIVE REVEAL

The mouse is a spotlight. As the user moves their cursor across the dark background image, a soft circular mask reveals a second image beneath — like a flashlight in a dark room. The spotlight has a radius that clamps between 160px and 420px, with ease-factor smoothing at 0.1. This isn't a hover effect; it's a continuous interaction that makes every cursor movement meaningful.

What it prevents: Static imagery that the user passively consumes. The spotlight reveal turns viewing into an active, exploratory act.

---

TECHNICAL FRAMING

L-corner brackets frame the composition like a camera viewfinder. Wireframe globe SVGs signal global reach. Checkerboard patterns reference 3D modeling viewports. These elements aren't decoration — they're a visual language that says "precision, measurement, technical craft." They frame the fashion content the way a camera viewfinder frames a subject.

What it prevents: Generic fashion layouts that rely on photography alone. The technical framing creates a specific aesthetic register — futuristic, precise, engineered.

---

GRAY IS THE ONLY COLOR

Pure white ground, pure black text, gray accents only. Gray-200 through gray-600. No purple, no cream, no blue, no warm tones. The grid overlay is slate (#64748b) at 10% opacity. This extreme color restriction forces all visual interest into the typography, the layout, and the interactive elements. Color would dilute the precision.

What it prevents: The AI tendency to add "just one accent color" which inevitably becomes a purple or blue gradient that destroys the minimalist futuristic aesthetic.

---

SIDE DRAWER NAVIGATION

Navigation doesn't sit in a top bar. It slides in from the right as a drawer — Shop, Collections, Journal, Cart. The drawer has a backdrop blur and slides with `cubic-bezier(0.76, 0, 0.24, 1)` easing. This keeps the main composition clean (no nav clutter) while providing full navigation when needed. The drawer itself is a design element — its slide-in motion is part of the aesthetic.

What it prevents: Traditional top navigation bars that break the gallery-wall purity of the white canvas.

Typography System

# Typography System

## Display Typeface

| Property | Specification |
|----------|--------------|
| **Register** | Geometric, futuristic, engineered |
| **Examples** | Orbitron 600-900, Eurostile Extended, Space Grotesk, Monument Extended |
| **Weight** | 600-900 (bold — this style uses heavy display type) |
| **Tracking** | 0.02em-0.06em (slightly open, geometric) |
| **Size** | `clamp(2rem, 4.5vw, 5.25rem)` — large but not monumental |
| **Transform** | UPPERCASE for headlines |

**Why geometric display:** The futuristic aesthetic demands type that looks engineered, not written. Orbitron's circular geometry and wide stance feel like they were designed in a CAD program. This matches the wireframe globe and checkerboard technical framing.

---

## Body Typeface

| Property | Specification |
|----------|--------------|
| **Register** | Clean, modern, highly readable sans-serif |
| **Examples** | Plus Jakarta Sans 400-700, Inter, Satoshi, Space Grotesk |
| **Weight** | 400-700 (range for hierarchy) |
| **Tracking** | 0.01em-0.02em (standard) |
| **Size** | `clamp(0.7rem, 0.35vw + 0.55rem, 0.9rem)` — small, precise |
| **Line Height** | 1.5-1.6 |

**Why Plus Jakarta Sans:** It's geometric but humanist — the body text feels modern without being cold. The contrast with Orbitron's extreme geometry creates a productive tension: the display is machine-like, the body is human.

---

## Micro / Label Type

| Property | Specification |
|----------|--------------|
| **Register** | Same family as body, lighter weight |
| **Examples** | Plus Jakarta Sans 400-500 |
| **Weight** | 400-500 |
| **Tracking** | 0.15em-0.25em (very wide, technical) |
| **Size** | 10-12px |
| **Transform** | UPPERCASE |

**Usage:** Section labels, product codes, technical annotations. These tiny labels feel like measurement readouts on a technical instrument — "SHOP", "COLLECTIONS", "JOURNAL", product codes, size indicators.

---

## Type Scale

```
Display:  clamp(2rem, 4.5vw, 5.25rem)  — large, geometric, uppercase
Body:     clamp(0.7rem, 0.35vw + 0.55rem, 0.9rem) — small, precise
Micro:    10-12px                        — technical labels
```

The scale is compact — 10px to 84px. The contrast is between the geometric display and the precise body, not between extreme type sizes.

---

## Font Pairing Logic

**Geometric display + humanist body:** Orbitron + Plus Jakarta Sans. The display is the brand statement (futuristic, engineered); the body is the user interface (readable, functional). This pairing creates a specific tension: the brand feels like the future, the interface feels like now.

**Alternative:** Space Grotesk for both display and body — it has geometric qualities at heavy weights and humanist qualities at regular weights. A single-family approach with extreme weight contrast.

**Never:** Serif typefaces (wrong register entirely), monospace for body (too technical for fashion), or decorative/display fonts that aren't geometric.

Color Architecture

# Color Architecture

## Ground

```css
--color-ground: #FFFFFF; /* Pure white — the gallery wall */
```

**Why pure white:** Not cream (#F5F3F0), not off-white (#FAFAFA), not warm white. Pure #FFFFFF. The white is a statement — it's the absence of color, the blank canvas, the gallery wall. Any tint destroys the futuristic precision.

---

## Text

```css
--color-text: #000000;          /* Pure black — the ink */
--color-text-secondary: #333333; /* Dark gray for secondary text */
--color-text-muted: #888888;     /* Medium gray for labels and metadata */
```

**Why pure black:** Not near-black (#1A1A1A), not ink (#111411). Pure #000000. The black-on-white contrast is the highest possible — it's the contrast of a printed page, a technical drawing, a blueprint. This is intentional.

---

## Accents (Gray Only)

```css
--color-gray-200: #E5E5E5;  /* Light gray — borders, dividers */
--color-gray-300: #D1D1D1;  /* Light gray — hover states */
--color-gray-400: #A3A3A3;  /* Medium gray — inactive elements */
--color-gray-500: #737373;  /* Medium gray — secondary text */
--color-gray-600: #525252;  /* Dark gray — active states */
```

**Rule:** No color. No purple, no blue, no warm tones, no cool tones. Gray is the only accent. The restriction forces all visual interest into typography, layout, and interaction.

---

## Grid Overlay

```css
--color-grid: #64748b; /* Slate — for the SVG grid overlay */
--grid-opacity: 0.1;   /* 10% — barely visible, subliminal */
```

**Purpose:** A subtle SVG grid overlay at 10% opacity creates a technical drawing aesthetic. It's not a visible grid — it's a subliminal texture that says "precision, measurement, engineering" without being distracting.

---

## Dual-Image Reveal

The background uses two images:
- **Base layer:** Dark, moody fashion photograph (visible by default)
- **Reveal layer:** Brighter, alternative photograph (revealed by mouse spotlight)

```css
--reveal-mask: radial-gradient(
  circle 200px at var(--mouse-x) var(--mouse-y),
  transparent 0%,
  rgba(0, 0, 0, 0.9) 100%
);
```

The spotlight reveals the second image through the mask. The radius clamps between 160px and 420px depending on viewport size.

---

## Color Don'ts

| Don't | Do Instead |
|------|------------|
| Cream or off-white background | Pure white #FFFFFF |
| Near-black text (#1A1A1A) | Pure black #000000 |
| Any accent color (purple, blue, warm) | Gray-200 through gray-600 only |
| Gradient backgrounds | Solid white or the dual-image reveal |
| Colored hover states | Gray opacity shifts (e.g., #000 → #333) |
| Tinted grid lines | Slate #64748b at 10% opacity |
| Colorful photography | The dual-image reveal uses dark/moody fashion photography |

Motion Principles

# Motion Principles

## Philosophy

Motion in Futuristic Fashion is **precise and interactive**. The mouse is the primary motion driver — a spotlight that reveals hidden layers. Secondary motion comes from parallax grid offsets and drawer slide-ins. Everything moves with technical precision, not organic ease. The motion feels engineered.

---

## Mouse-Tracking Spotlight

| Property | Specification |
|----------|--------------|
| **Ease factor** | 0.1 (smooth follow, slight lag) |
| **Radius** | `clamp(160px, 16vw, 420px)` — viewport-relative |
| **Mask** | Radial gradient, transparent center → dark edges |
| **Layers** | Base image (dark) + reveal image (bright) beneath |
| **Update** | `requestAnimationFrame` with lerp smoothing |

```javascript
let mouseX = 0, mouseY = 0;
let smoothX = 0, smoothY = 0;
const ease = 0.1;

function updateSpotlight() {
  smoothX += (mouseX - smoothX) * ease;
  smoothY += (mouseY - smoothY) * ease;
  document.documentElement.style.setProperty('--mouse-x', smoothX + 'px');
  document.documentElement.style.setProperty('--mouse-y', smoothY + 'px');
  requestAnimationFrame(updateSpotlight);
}
```

**The spotlight should feel like a flashlight** — smooth, weighted, slightly trailing the cursor. The 0.1 ease factor creates a cinematic lag that makes the interaction feel intentional, not instantaneous.

---

## Parallax Grid Offset

| Property | Specification |
|----------|--------------|
| **Ease factor** | 0.06 (slower than spotlight — more subtle) |
| **Offset** | `cx * 16 / cy * 16` (16px max offset) |
| **Target** | SVG grid overlay only |

```javascript
const cx = (e.clientX / window.innerWidth - 0.5) * 2;
const cy = (e.clientY / window.innerHeight - 0.5) * 2;
gridX += (cx * 16 - gridX) * 0.06;
gridY += (cy * 16 - gridY) * 0.06;
grid.style.transform = `translate(${gridX}px, ${gridY}px)`;
```

**The grid parallax is subliminal.** At 16px max offset with 0.06 ease, the grid barely moves. But the movement is perceptible — it creates a sense that the page is a 3D space, not a flat surface.

---

## Side Drawer Slide-In

| Property | Specification |
|----------|--------------|
| **Direction** | Right slide-in (translateX 100% → 0) |
| **Duration** | 400-500ms |
| **Easing** | `cubic-bezier(0.76, 0, 0.24, 1)` — smooth, precise |
| **Backdrop** | Blur overlay, fade-in 300ms |

```css
.drawer {
  transform: translateX(100%);
  transition: transform 500ms cubic-bezier(0.76, 0, 0.24, 1);
}
.drawer.open {
  transform: translateX(0);
}
.drawer-backdrop {
  opacity: 0;
  transition: opacity 300ms ease;
  backdrop-filter: blur(8px);
}
.drawer-backdrop.open {
  opacity: 1;
}
```

**Why this easing:** `cubic-bezier(0.76, 0, 0.24, 1)` is a smooth S-curve — fast start, slow finish, no bounce. It feels engineered, not organic. The drawer slides in with precision and settles exactly where it should.

---

## Entrance Animations

| Element | Animation | Duration | Easing | Delay |
|---------|-----------|----------|--------|-------|
| Logo | Opacity 0→1 + translateY(-8px)→0 | 600ms | `ease-out` | 0ms |
| Nav links | Opacity 0→1 | 400ms | `ease-out` | 200ms (staggered 80ms) |
| L-corner brackets | Scale 0.8→1 + opacity 0→1 | 800ms | `cubic-bezier(0.22, 1, 0.36, 1)` | 400ms |
| Headline | Opacity 0→1 + translateY(20px)→0 | 700ms | `ease-out` | 600ms |
| Wireframe globe | Rotation 0→360deg + opacity 0→1 | 1200ms | `linear` | 800ms |
| CTA | Opacity 0→1 + scale(0.95)→1 | 500ms | `ease-out` | 1000ms |

**Key:** The wireframe globe rotates continuously — a slow, perpetual spin that signals "global, connected, always on." The rotation is linear, not eased, because it's mechanical.

---

## Interaction States

| Element | Hover State | Active State |
|---------|------------|-------------|
| Nav links | Color #000 → #333 (300ms) | — |
| CTA | Background transparent → #000, text #000 → #FFF (300ms) | — |
| L-corner brackets | Scale 1.0 → 1.02 (400ms) | — |
| Wireframe globe | Rotation speed 1x → 2x (600ms) | — |
| Checkerboard | Opacity 0.5 → 0.8 (300ms) | — |

---

## Reduced Motion

When `prefers-reduced-motion: reduce`:
- Spotlight: instant position (no lerp)
- Grid parallax: disabled
- Drawer: instant open/close
- Entrance animations: instant opacity
- Wireframe globe: static (no rotation)

```css
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
```

---

## What NOT to Animate

| Never | Why |
|-------|-----|
| Bounce or spring easing | Wrong register — this is precision, not play |
| Auto-rotating carousels | The user controls exploration via spotlight |
| Pulsing or breathing effects | Too organic for the engineered aesthetic |
| Text typing animations | Too gimmicky for this precise style |
| Parallax on text elements | Only the grid and spotlight move |

Layout Grammar

# Layout Grammar

## Grid System

**No visible grid, but a subliminal SVG grid overlay at 10% opacity.** Internally:

- Full viewport: `min-h-screen`, `overflow-hidden`
- Content max-width: `clamp(320px, 90vw, 1400px)`
- Edge margin: `clamp(1.5rem, 4vw, 4rem)`
- The SVG grid overlay creates a technical drawing aesthetic without being a visible grid

---

## Hero Section

| Property | Specification |
|----------|--------------|
| Height | Full viewport — `min-h-screen` |
| Background | Dual-image reveal (dark base + spotlight-revealed layer) |
| Layout | Asymmetric — headline left, feature block right-bottom |
| Framing | L-corner brackets at composition edges |
| Overflow | Hidden — the spotlight stays within viewport |

```
┌─[L]──────────────────────────────────[L]─┐
│                                           │
│  LOGO˚                        SHOP | COL  |
│                              ┌────────────┤
│  FUTURE                      │  JOURNAL   │
│  FORWARD                     │  [bag]     │
│  FASHION                     └────────────┤
│                                           │
│  ┌─────────┐    ┌─────────────────────┐   │
│  │SHOP NOW │    │  Wireframe globe    │   │
│  └─────────┘    │  + tagline text     │   │
│                 └─────────────────────┘   │
│                                           │
└─[L]──────────────────────────────────[L]─┘
```

**The L-corner brackets** frame the composition like a camera viewfinder. They're positioned at the four corners of the hero, creating a technical framing that says "this is a composed shot."

---

## L-Corner Brackets

```css
.corner-bracket {
  position: absolute;
  width: 32px;
  height: 32px;
  border: 1px solid #000;
}
.corner-tl { top: 20px; left: 20px; border-right: none; border-bottom: none; }
.corner-tr { top: 20px; right: 20px; border-left: none; border-bottom: none; }
.corner-bl { bottom: 20px; left: 20px; border-right: none; border-top: none; }
.corner-br { bottom: 20px; right: 20px; border-left: none; border-top: none; }
```

**Purpose:** The brackets frame the viewport like a camera viewfinder. They're a visual language that says "precision, composition, technical craft." They should be thin (1px), black, and positioned 20px from the viewport edges.

---

## Side Drawer Navigation

```
┌─────────────────────────────┬──────────────┐
│                             │              │
│  [Main composition]         │  [Drawer]    │
│  (dimmed + blurred          │  SHOP        │
│   when drawer open)         │  COLLECTIONS │
│                             │  JOURNAL     │
│                             │  CART (0)    │
│                             │              │
└─────────────────────────────┴──────────────┘
```

The drawer slides in from the right:
- Width: `clamp(280px, 30vw, 400px)`
- Background: white with backdrop blur
- Easing: `cubic-bezier(0.76, 0, 0.24, 1)`
- The main composition dims and blurs when the drawer is open

---

## Layout Patterns

### Pattern 1: Asymmetric Hero
```
┌─────────────────────────────────────────┐
│  LOGO                        NAV + CART │
│                                         │
│  HEADLINE                               │
│  (large, left-aligned)                  │
│                                         │
│  [CTA]          [Wireframe globe box]  │
└─────────────────────────────────────────┘
```

### Pattern 2: Checkerboard Accent Section
```
┌─────────────────────────────────────────┐
│  [Checkerboard SVG]  [Product image]    │
│  [Product details]   [Checkerboard SVG] │
└─────────────────────────────────────────┘
```

### Pattern 3: Full-Bleed Feature
```
┌─────────────────────────────────────────┐
│  [Full-bleed fashion photography]       │
│  [Small label overlay]                  │
│  [Technical annotation]                 │
└─────────────────────────────────────────┘
```

---

## Responsive Behavior

| Breakpoint | Layout Change |
|------------|--------------|
| **Desktop (1200px+)** | Full asymmetric hero, L-corner brackets, side drawer, wireframe globe |
| **Tablet (768px)** | Simplified hero — headline stacks, globe hidden, brackets smaller |
| **Mobile (375px)** | Centered hero, no L-brackets, drawer becomes full-width overlay, spotlight radius reduces to 120-200px |

**On mobile:** The spotlight interaction still works but with a smaller radius. The L-corner brackets may be hidden — they can feel cramped on small screens. The drawer becomes a full-width overlay rather than a side panel.

---

## Layout Don'ts

| Don't | Do Instead |
|------|------------|
| Centered layouts | Asymmetric — headline left, feature block right |
| Card-based design | Full-bleed sections with technical framing |
| Top navigation bar | Side drawer navigation (right slide-in) |
| Visible grid lines | Subliminal SVG grid at 10% opacity |
| Standard hero centering | L-corner bracket framing at viewport edges |
| Multiple columns of text | Single column, left-aligned, precise |
| Filling the viewport with content | Let the white space breathe — the white IS the design |

Texture & Surface

# Texture & Surface

## Primary Texture: Dual-Image Reveal

The background is not a solid color — it's a dual-image system:

| Layer | Content | Visibility |
|-------|---------|-----------|
| Base layer | Dark, moody fashion photograph | Always visible |
| Reveal layer | Brighter, alternative photograph | Revealed by mouse spotlight |
| Mask | Radial gradient at mouse position | Controls reveal area |

```css
.image-reveal {
  position: fixed;
  inset: 0;
  z-index: 0;
}
.image-reveal__base {
  position: absolute;
  inset: 0;
  background-image: url('dark-fashion-photo.jpg');
  background-size: cover;
  background-position: center;
}
.image-reveal__hidden {
  position: absolute;
  inset: 0;
  background-image: url('bright-fashion-photo.jpg');
  background-size: cover;
  background-position: center;
  -webkit-mask: radial-gradient(
    circle var(--spotlight-radius) at var(--mouse-x) var(--mouse-y),
    black 0%, transparent 100%
  );
  mask: radial-gradient(
    circle var(--spotlight-radius) at var(--mouse-x) var(--mouse-y),
    black 0%, transparent 100%
  );
}
```

**Why dual-image:** The reveal creates an interactive texture — the surface changes as you explore. It's not a static background; it's a surface that responds to touch.

---

## SVG Grid Overlay

```css
.grid-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.1;
  background-image: url("data:image/svg+xml,...");
  /* SVG: thin lines at 40px intervals, stroke #64748b */
}
```

**Parameters:**
- Opacity: 0.1 (10% — subliminal, not visible as a grid)
- Line color: slate #64748b
- Line spacing: 40px
- Parallax: offset by mouse position (16px max, ease 0.06)

**Purpose:** The grid creates a technical drawing aesthetic. It's not a visible grid — it's a texture that says "precision, measurement, engineering" without being distracting.

---

## Checkerboard Pattern

```css
.checkerboard {
  background-image:
    linear-gradient(45deg, #000 25%, transparent 25%),
    linear-gradient(-45deg, #000 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #000 75%),
    linear-gradient(-45deg, transparent 75%, #000 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
  opacity: 0.08;
}
```

**Usage:** Checkerboard patterns appear as accent elements — framing product images, filling small decorative areas, referencing 3D modeling viewports. They should be subtle (8% opacity) and used sparingly.

---

## Wireframe Globe

```svg
<svg viewBox="0 0 200 200">
  <circle cx="100" cy="100" r="80" fill="none" stroke="#000" stroke-width="0.5"/>
  <ellipse cx="100" cy="100" rx="80" ry="30" fill="none" stroke="#000" stroke-width="0.5"/>
  <ellipse cx="100" cy="100" rx="80" ry="60" fill="none" stroke="#000" stroke-width="0.5"/>
  <ellipse cx="100" cy="100" rx="30" ry="80" fill="none" stroke="#000" stroke-width="0.5"/>
  <ellipse cx="100" cy="100" rx="60" ry="80" fill="none" stroke="#000" stroke-width="0.5"/>
  <line x1="20" y1="100" x2="180" y2="100" stroke="#000" stroke-width="0.5"/>
</svg>
```

**Usage:** The wireframe globe sits in a small box (120-160px) with a tagline. It rotates continuously (linear, 20s per rotation) — a slow, perpetual spin that signals "global, connected, always on." The globe is a technical decoration, not a functional element.

---

## Surface Rules

| Surface | Treatment |
|---------|-----------|
| Background | Dual-image reveal (dark base + spotlight-revealed layer) |
| Grid overlay | SVG grid at 10% opacity, slate #64748b |
| Content area | Pure white #FFFFFF (over the reveal) |
| L-corner brackets | 1px solid #000, 32px × 32px |
| Drawer | White with backdrop blur, 1px left border #E5E5E5 |
| CTA | Transparent bg, 1px border #000 → fill #000 on hover |
| Checkerboard | 8% opacity, 20px squares, used as accent only |

**No shadows, no gradients, no glassmorphism (except drawer backdrop blur).** The style is defined by precision and flatness — depth comes from the dual-image reveal, not from visual effects.

---

## Texture Don'ts

| Don't | Do Instead |
|------|------------|
| Gradient backgrounds | Solid white or dual-image reveal |
| Drop shadows | Flat surfaces — depth comes from the reveal interaction |
| Film grain or noise | Clean, digital, precise — no analog texture |
| Glassmorphism on cards | Backdrop blur only on the drawer overlay |
| Patterned backgrounds (dots, lines) | SVG grid at 10% opacity only |
| Textured photography | Clean, high-contrast fashion photography |
| Colorful imagery | Dark/moody base, brighter reveal — both desaturated |

Vocabulary Bank

# Vocabulary Bank

## Primary Terms

| Term | Why It Matters |
|------|---------------|
| `pure white minimal` | #FFFFFF ground — the gallery wall, not cream, not off-white |
| `mouse spotlight reveal` | Interactive dual-image system — the mouse is a flashlight |
| `wireframe globe` | Technical SVG decoration — signals global, connected, engineered |
| `checkerboard accent` | 3D viewport reference — precision and measurement |
| `L-corner brackets` | Camera viewfinder framing — technical composition |
| `side drawer navigation` | Right slide-in panels — keeps the canvas clean |

---

## Secondary Terms

| Term | Effect |
|------|--------|
| `dual-image reveal` | Dark base + bright reveal layer, masked by radial gradient at mouse position |
| `spotlight radius` | `clamp(160px, 16vw, 420px)` — viewport-relative reveal area |
| `grid parallax` | SVG grid offset by mouse position, 16px max, ease 0.06 |
| `Orbitron display` | Geometric, futuristic typeface — CAD-program aesthetic |
| `Plus Jakarta Sans body` | Humanist sans — readable, modern, not cold |
| `gray accents only` | Gray-200 through gray-600 — no color, ever |
| `subliminal grid` | SVG grid at 10% opacity — texture, not visible grid |
| `drawer slide-in` | `cubic-bezier(0.76, 0, 0.24, 1)` — smooth, precise, engineered |
| `technical framing` | L-brackets + wireframe globe + checkerboard — precision language |
| `gallery wall` | The pure white background — blank, intentional, curated |

---

## Context Terms

| Term | Mood |
|------|------|
| `technical drawing` | Precise, measured, engineered |
| `camera viewfinder` | Composed, intentional, framed |
| `3D modeling viewport` | Digital, spatial, technical |
| `fashion editorial` | Curated, minimal, intentional |
| `CAD program` | Geometric, precise, machine-designed |
| `blueprint` | Technical, planned, exact |
| `gallery` | White walls, curated, minimal |

---

## Banned Terms

| Term | Why It Breaks the Style |
|------|------------------------|
| `cream backgrounds` | Destroys the pure white precision |
| `purple accents` | The most common AI default — destroys the minimalist aesthetic |
| `centered layouts` | Too generic — this style is asymmetric |
| `card-based design` | Too web-app — this is a gallery, not a dashboard |
| `colorful imagery` | Only dark/moody + brighter reveal — no saturated color |
| `gradient backgrounds` | Flat white or dual-image reveal only |
| `drop shadows` | Flat surfaces — depth comes from interaction, not effects |
| `warm tones` | No warmth — this is cool, precise, engineered |
| `serif typography` | Wrong register — this is geometric, not editorial |
| `organic shapes` | Everything is geometric, precise, angular |

---

## Prompt-Ready Phrases

```
"pure white #FFFFFF ground with black text"
"mouse-tracking spotlight reveal with radial gradient mask"
"radius clamp(160px, 16vw, 420px) with ease factor 0.1"
"L-corner brackets framing the composition"
"wireframe globe SVG with continuous linear rotation"
"checkerboard pattern accent at 8% opacity"
"side drawer navigation with cubic-bezier(0.76, 0, 0.24, 1)"
"Orbitron 600-900 display, Plus Jakarta Sans body"
"gray accents only — no purple, no cream, no color"
"SVG grid overlay at 10% opacity, slate #64748b"
"dual-image reveal: dark base + spotlight-revealed bright layer"
"no gradients, no shadows, no glassmorphism (except drawer blur)"
```

Anti-Slop Checklist

☐Pure white (#FFFFFF) ground — not cream, not off-white
☐Pure black (#000000) text — not near-black
☐Gray accents only (gray-200 through gray-600) — no color
☐No purple, no cream, no blue, no warm tones
☐Mouse-tracking spotlight reveal on background
☐Spotlight radius `clamp(160px, 16vw, 420px)` with ease 0.1
☐Dual-image system (dark base + bright reveal layer)
☐L-corner brackets framing the hero composition
☐Wireframe globe SVG with continuous rotation
☐Checkerboard pattern accents (8% opacity, used sparingly)
☐SVG grid overlay at 10% opacity (subliminal, not visible)
☐Side drawer navigation (right slide-in)
☐Drawer easing `cubic-bezier(0.76, 0, 0.24, 1)`
☐Orbitron 600-900 for display type
☐Plus Jakarta Sans 400-700 for body type
☐Fluid clamp sizing throughout
☐Asymmetric layout (headline left, feature block right)
☐No centered layouts
☐No card-based design
☐No gradient backgrounds
☐No drop shadows
☐No glassmorphism (except drawer backdrop blur)
☐No serif typography
☐No organic shapes — everything geometric
☐`prefers-reduced-motion` honored (instant spotlight, no rotation)

When to Use

# When to Use

## Perfect For

| Context | Why This Style Works |
|---------|---------------------|
| **Fashion brands** | The gallery-wall aesthetic showcases fashion as art, not product |
| **Luxury product launches** | The interactive reveal creates engagement without losing premium feel |
| **Design studios** | The technical framing signals craft and precision — the studio's own aesthetic |
| **Architectural firms** | The geometric type and technical framing match architectural drawing language |
| **Premium product pages** | The spotlight reveal turns product viewing into exploration |
| **Tech-fashion hybrids** | The geometric display + interactive reveal bridges tech and fashion |
| **Avant-garde brands** | The extreme minimalism (white, black, gray only) signals confidence and edge |

## Brand Personality Match

This style reinforces brands that are:
- **Precise** — engineered, intentional, measured
- **Futuristic** — forward-looking, not nostalgic
- **Minimal** — confident enough to use only white, black, and gray
- **Interactive** — the spotlight reveal makes every visit an exploration
- **Technical** — the framing elements signal craft and engineering

## Avoid When

| Context | Why It Fails |
|---------|-------------|
| **E-commerce with many products** | The minimal layout can't support product grids or catalogs |
| **Content-heavy sites** | The small body text and minimal layout can't support long-form content |
| **Warm, organic brands** | The extreme precision and gray-only palette feels cold |
| **Youth/casual brands** | Too serious, too precise, too gallery-like |
| **Sites needing color** | The no-color rule is absolute — if you need color, this isn't the style |
| **Brands with warm photography** | The dual-image reveal uses dark/moody photography — warm, bright photos don't work |

## How to Decide

Ask: **"Does my brand want to feel like a futuristic gallery — precise, interactive, and completely devoid of color?"**

If yes → Futuristic Fashion.
If no → Consider Monochrome Single Accent (if you need one color), Dark Tech Terminal (if you want dark mode), or Bold Anti-Corporate Color (if you want maximum color).

Common Mistakes

Mistake 1: Adding "Just One" Accent Color

**What people do:** Add a purple or blue accent "to make it pop" because pure black-on-white feels too stark.

**Why it fails:** The entire aesthetic is built on the absence of color. One accent color doesn't "pop" — it destroys the system. The purple immediately reads as a generic AI default, and the precision of the technical framing elements is undermined by the introduction of an organic color choice.

**Fix:** Gray only. Gray-200 through gray-600. If you need emphasis, use weight, size, or opacity — never color. The restriction IS the design.

---

Mistake 2: Using Cream or Off-White Background

**What people do:** Use #F5F3F0 or #FAFAFA because "pure white is too harsh."

**Why it fails:** Pure white is the point. Cream softens the aesthetic into something cozy and less intentional. The technical framing elements (L-brackets, wireframe globe, checkerboard) look wrong on cream — they need the stark contrast of pure white to read as precision instruments.

**Fix:** Pure #FFFFFF. Always. If it feels too stark, the solution is better photography in the dual-image reveal, not a warmer background.

---

Mistake 3: Making the Spotlight Too Large or Too Fast

**What people do:** Set the spotlight radius to 600px+ or use ease factor 0.3+ for "snappy" response.

**Why it fails:** A large spotlight reveals too much at once — the mystery of the hidden image is lost. A fast ease factor makes the spotlight feel like a cursor, not a flashlight. The interaction becomes trivial instead of exploratory.

**Fix:** Radius `clamp(160px, 16vw, 420px)`. Ease factor 0.1. The spotlight should feel weighted — it trails the cursor slightly, creating a cinematic lag that makes the interaction feel intentional.

---

Mistake 4: Centering Everything

**What people do:** Center the headline, center the CTA, center the wireframe globe — because "centered looks clean."

**Why it fails:** Centered layouts are the AI default. They feel generic and safe. This style is asymmetric — the headline belongs on the left, the feature block belongs on the right-bottom. The asymmetry creates visual tension that centered layouts eliminate.

**Fix:** Headline left-aligned. CTA below headline, left-aligned. Wireframe globe box in the right-bottom area. L-corner brackets frame the asymmetric composition. The layout should feel composed, not centered.

---

Mistake 5: Using Serif Typography

**What people do:** Pair Orbitron with a serif body font "for contrast."

**Why it fails:** Serif typefaces belong to editorial, literary, or traditional aesthetics. This style is futuristic and geometric. A serif body font creates a jarring mismatch — the display says "future" and the body says "past." The contrast is wrong.

**Fix:** Geometric display (Orbitron) + humanist sans body (Plus Jakarta Sans). Both are modern. The contrast is in their geometry — Orbitron is extreme, Plus Jakarta Sans is moderate. This is the right kind of contrast.

---

Mistake 6: Adding Drop Shadows

**What people do:** Add box shadows to the CTA, the drawer, or the L-corner brackets "for depth."

**Why it fails:** Drop shadows are a digital UI convention. They say "this is a clickable element on a flat surface." This style doesn't have flat surfaces — it has a dual-image reveal that creates real depth through interaction. Shadows compete with the reveal and make the page feel like a standard web app.

**Fix:** No shadows. Depth comes from the spotlight reveal interaction. The only exception is the drawer's backdrop blur, which creates depth through focus, not shadow.

---

Mistake 7: Skipping the Technical Framing Elements

**What people do:** Build the white-on-black layout with the spotlight reveal but omit the L-corner brackets, wireframe globe, and checkerboard patterns.

**Why it fails:** Without the technical framing, the style is just "white page with black text and a mouse interaction." The framing elements are what make it specifically futuristic fashion rather than generically minimal. They're the visual language that says "precision, engineering, technical craft."

**Fix:** Include all three: L-corner brackets at the hero corners, wireframe globe in a tagline box, checkerboard patterns as accent elements. They should be subtle but present — they're the style's signature.

Reference Gallery

# Reference Gallery

## Live Sites

### LGPSM
- **What works:** Pure white minimal, black text, mouse-tracking spotlight reveal, wireframe globe, L-corner brackets, checkerboard accents, side drawer navigation
- **URL:** Reference implementation — the canonical example of this style

### Off-White (off---white.com)
- **What works:** Minimal aesthetic with technical/industrial framing, zip-tie motifs, quotation marks as design elements, black-on-white precision
- **URL:** off---white.com

### Acne Studios (acnestudios.com)
- **What works:** Minimal fashion layout, precise typography, generous whitespace, gallery-wall aesthetic
- **URL:** acnestudios.com

### COS (cos.com)
- **What works:** Clean minimal fashion layout, geometric type, restrained color palette, editorial precision
- **URL:** cos.com

## Key Visual References

### Layout References
- **L-corner brackets** — 1px black, 32px × 32px, at viewport corners
- **Asymmetric hero** — headline left, feature block right-bottom
- **Side drawer** — right slide-in, backdrop blur, `cubic-bezier(0.76, 0, 0.24, 1)`
- **Subliminal grid** — SVG at 10% opacity, slate #64748b

### Typography References
- **Orbitron 600-900** — geometric, futuristic, CAD-program aesthetic
- **Plus Jakarta Sans 400-700** — humanist sans, modern, readable
- **UPPERCASE display** — tracking 0.02em-0.06em
- **Micro labels** — 10-12px, tracking 0.15em-0.25em, uppercase

### Interaction References
- **Mouse spotlight** — radial gradient mask, ease 0.1, radius clamp(160px, 16vw, 420px)
- **Grid parallax** — 16px max offset, ease 0.06
- **Wireframe globe rotation** — linear, 20s per rotation, continuous
- **Drawer slide-in** — 500ms, `cubic-bezier(0.76, 0, 0.24, 1)`

### Color References
- **Pure white #FFFFFF** — the gallery wall
- **Pure black #000000** — the ink
- **Gray-200 through gray-600** — the only accents
- **Slate #64748b at 10%** — the grid overlay

## Screenshot Notes

> When capturing references for this style, look for:
> - The background color (must be pure #FFFFFF, not cream)
> - The text color (must be pure #000000, not near-black)
> - The presence of technical framing (L-brackets, globe, checkerboard)
> - The spotlight interaction (should have weighted, cinematic lag)
> - The layout (should be asymmetric, not centered)
> - The color palette (should be gray only — no purple, no blue, no warm tones)
> - The drawer navigation (should slide from right with smooth easing)

AI Prompts

EXACT REPLICA5791 characters
> Copy this entire prompt and paste it into your AI coding assistant.

---

```
Build a futuristic fashion page for "LGPSM" — a fashion brand. Stack: React + Vite + TypeScript + Tailwind CSS v4 + lucide-react. Page title: `LGPSM — Future Forward Fashion`.

Vibe: Pure white gallery wall. Black ink. A mouse spotlight reveals a hidden image beneath the dark background. Wireframe globe, checkerboard accents, L-corner brackets frame the composition. Technical precision meets fashion editorial.

---

## ANTI-SLOP CONSTRAINTS

- NO cream or off-white background (pure #FFFFFF only)
- NO accent colors (gray-200 through gray-600 only)
- NO purple, blue, or warm tones
- NO centered layouts (asymmetric only)
- NO card-based design
- NO gradient backgrounds
- NO drop shadows
- NO serif typography
- NO organic shapes
- NO glassmorphism (except drawer backdrop blur)

---

## FONTS

Load via Google Fonts:
```
https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;900&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap
```

Usage:
- **Orbitron 700-900**: Display headlines, logo — `clamp(2rem, 4.5vw, 5.25rem)`, uppercase, tracking 0.04em
- **Plus Jakarta Sans 400-700**: Body, nav, labels — `clamp(0.7rem, 0.35vw + 0.55rem, 0.9rem)`
- **Plus Jakarta Sans 500 UPPERCASE**: Micro labels — 10-12px, tracking 0.2em

---

## COLOR SYSTEM

```css
:root {
  --white: #FFFFFF;
  --black: #000000;
  --gray-200: #E5E5E5;
  --gray-300: #D1D1D1;
  --gray-400: #A3A3A3;
  --gray-500: #737373;
  --gray-600: #525252;
  --grid-color: #64748b;
  --grid-opacity: 0.1;
}
```

Body: `bg-white text-black antialiased font-body overflow-hidden`.

---

## FLUID SIZE SYSTEM

```css
:root {
  --edge-margin: clamp(1.5rem, 4vw, 4rem);
  --logo: clamp(0.85rem, 0.8vw, 1.1rem);
  --nav: clamp(0.6rem, 0.25vw + 0.5rem, 0.75rem);
  --headline: clamp(2rem, 4.5vw, 5.25rem);
  --body: clamp(0.7rem, 0.35vw + 0.55rem, 0.9rem);
  --micro: clamp(0.55rem, 0.2vw + 0.45rem, 0.65rem);
  --spotlight-radius: clamp(160px, 16vw, 420px);
}
```

---

## STRUCTURE

### 1. ImageRevealBackground (fixed, z-0)
Dual-image system:
- Base layer: dark fashion photo (always visible)
- Reveal layer: bright fashion photo (masked by radial gradient at mouse position)
- SVG grid overlay at 10% opacity, slate #64748b
- Mouse tracking with ease factor 0.1

```javascript
// Mouse spotlight tracking
let mouseX = 0, mouseY = 0, smoothX = 0, smoothY = 0;
const ease = 0.1;
function updateSpotlight() {
  smoothX += (mouseX - smoothX) * ease;
  smoothY += (mouseY - smoothY) * ease;
  document.documentElement.style.setProperty('--mouse-x', smoothX + 'px');
  document.documentElement.style.setProperty('--mouse-y', smoothY + 'px');
  requestAnimationFrame(updateSpotlight);
}
```

### 2. Header (fixed, z-50)
- Logo (left): Orbitron 700, "LGPSM˚", tracking 0.15em, uppercase, size var(--logo)
- Nav (right): Plus Jakarta Sans 500, "SHOP | COLLECTIONS | JOURNAL", gap clamp(1.5rem, 3vw, 3rem), bag icon (lucide ShoppingBag, size 16)
- Hover: opacity 0.5 (300ms)

### 3. Hero Section
- L-corner brackets: 4 corners, 1px solid #000, 32px × 32px, 20px from edges
- Headline (left): Orbitron 900, "FUTURE FORWARD FASHION", uppercase, tracking 0.04em, size var(--headline), leading 1.05
- CTA (below headline): Plus Jakarta Sans 600, "SHOP NOW" + lucide ArrowRight (size 14), 1px border #000, transparent bg → bg-black text-white on hover (300ms)
- Wireframe globe box (right-bottom): 140px, SVG wireframe globe, continuous linear rotation (20s), tagline text below: "GLOBAL / FORWARD / PRECISE"
- Checkerboard SVG accent: 8% opacity, 20px squares, positioned as decorative element

### 4. Side Drawers (right slide-in)
- Shop drawer: product grid (minimal, gray borders)
- Collections drawer: collection list with thumbnail images
- Journal drawer: article list with dates
- Cart drawer: cart items + checkout button
- All drawers: width clamp(280px, 30vw, 400px), white bg, backdrop-blur(8px), 1px left border #E5E5E5
- Slide: translateX(100%) → 0, 500ms, cubic-bezier(0.76, 0, 0.24, 1)

---

## INTERACTION

- Mouse spotlight: track mouseRef, ease smoothRef factor 0.1, radial gradient mask
- Grid parallax: offset cx*16/cy*16, ease factor 0.06
- Drawers: backdrop blur, slide from right
- Wireframe globe: continuous rotation, linear, 20s
- L-corner brackets: scale 1.0 → 1.02 on hover (400ms)

---

## ANIMATIONS

| Class | Keyframes | Duration | Easing | Delay |
|-------|-----------|----------|--------|-------|
| `anim-logo` | opacity 0→1, translateY(-8px)→0 | 600ms | `ease-out` | 0ms |
| `anim-nav` | opacity 0→1 | 400ms | `ease-out` | 200ms (stagger 80ms) |
| `anim-brackets` | scale 0.8→1, opacity 0→1 | 800ms | `cubic-bezier(0.22, 1, 0.36, 1)` | 400ms |
| `anim-headline` | opacity 0→1, translateY(20px)→0 | 700ms | `ease-out` | 600ms |
| `anim-globe` | rotation 0→360deg, opacity 0→1 | 1200ms | `linear` | 800ms |
| `anim-cta` | opacity 0→1, scale(0.95)→1 | 500ms | `ease-out` | 1000ms |

`prefers-reduced-motion: reduce` → collapse all to 0.01ms, disable globe rotation, instant spotlight.

---

## ICONS

lucide-react: `ShoppingBag` (nav cart), `ArrowRight` (CTA), `X` (drawer close), `Menu` (mobile). Sizes 14-16, strokeWidth 1.5.

---

## ANTI-SLOP (LOCKED)

- Pure white #FFFFFF ground
- Pure black #000000 text
- Gray accents only (no purple, no cream, no color)
- Mouse-tracking spotlight reveal (ease 0.1, radius clamp)
- L-corner brackets framing
- Wireframe globe with continuous rotation
- Checkerboard accent at 8% opacity
- Side drawer navigation (cubic-bezier(0.76, 0, 0.24, 1))
- No gradients, no shadows, no glassmorphism (except drawer blur)
- Fluid clamp sizing throughout

---

Recreate this page with the exact colors, fonts, spotlight interaction, technical framing, and drawer navigation above.
```

This prompt recreates a specific design pixel-faithfully. Study it to understand the style at its purest.