Design Specification — NOIRFRAME® | Editorial Fashion Studio
| Field | Value |
| Site / Project | https://noirframefashion.aura.build/ |
| Analyzed on | 2026-07-20 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a dark canvas (#030202), ink text (#F7EFE4). Display headings use a distinct face (ui-serif, Georgia, serif) over the body stack ('Inter'). Detected font weights: 300, 400, 500, 600. Shapes are dominated by pill radii (9999px) — the page otherwise favors sharp, unrounded edges.
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 27 |
#F7EFE4 | 247, 239, 228 | 35° 54% 93% | 23 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 23 |
#030202 | 3, 2, 2 | 0° 20% 1% | 5 |
#F4F4F0 | 244, 244, 240 | 60° 15% 95% | 4 |
#020202 | 2, 2, 2 | 0° 0% 1% | 2 |
#070605 | 7, 6, 5 | 30° 17% 2% | 1 |
#030303 | 3, 3, 3 | 0° 0% 1% | 1 |
#030403 | 3, 4, 3 | 120° 14% 1% | 1 |
#F6EFE3 | 246, 239, 227 | 38° 51% 93% | 1 |
#12291F | 18, 41, 31 | 154° 39% 12% | 1 |
#311F12 | 49, 31, 18 | 25° 46% 13% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-background | #030202 | 3, 2, 2 | 0° 20% 1% |
--color-surface | #F7EFE4 | 247, 239, 228 | 35° 54% 93% |
--color-text-primary | #F7EFE4 | 247, 239, 228 | 35° 54% 93% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #030202 | 3, 2, 2 | 0° 20% 1% |
--color-border | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Gradients
- `radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .26) 0 1px, transparent 1px),
radial-gradient(circle at 80% 70%, rgba(255, 255, 255, .18) 0 1px, transparent 1px)`
linear-gradient(to bottom, transparent 0, transparent 4px, rgba(255, 255, 255, .16) 5px, transparent 6px)
- `radial-gradient(circle at 72% 18%, rgba(247,239,228,.11), transparent 34%),
linear-gradient(180deg, #070605 0%, #030202 52%, #000 100%)`
Typography
Primary typeface: Inter — stack: 'Inter'
Display / heading typeface: ui-serif, Georgia, serif (used for large headings; body uses the primary stack)
Font stacks (most used first)
'Inter'
'Playfair Display'
"Inter", sans-serif
"Playfair Display", serif
ui-serif, Georgia, serif
Web font sources
- fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600&display=swap
Derived type scale
| Token | Size |
| display | 162px |
| headline-lg | 36px |
| headline-md | 30px |
| title-lg | 20px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| 10px | 4 |
| 20px | 2 |
| 12px | 2 |
| 36px | 2 |
| 72px | 2 |
| 86px | 2 |
| 8px | 1 |
| 11px | 1 |
| 9px | 1 |
| 13px | 1 |
| 162px | 1 |
| 16px | 1 |
| 14px | 1 |
| 24px | 1 |
| 60px | 1 |
| 18px | 1 |
| 30px | 1 |
| 48px | 1 |
| 64px | 1 |
Weights in use: 300, 400, 500, 600
Line heights (by frequency)
| Value | Count |
| 1 | 4 |
| 1.35 | 1 |
| .78 | 1 |
| 1.625 | 1 |
| 1.55 | 1 |
| .84 | 1 |
| .76 | 1 |
| .82 | 1 |
Letter spacing (by frequency)
| Value | Count |
| .16em | 2 |
| .12em | 2 |
| -0.055em | 2 |
| .14em | 2 |
| -0.095em | 1 |
| .18em | 1 |
| -.01em | 1 |
| .02em | 1 |
Spacing
Derived spacing scale
| Token | Value |
| unit | 8px |
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 64px |
Raw values (by frequency)
| Value | Count |
| 24px | 11 |
| 32px | 11 |
| 16px | 10 |
| 12px | 9 |
| 8px | 8 |
| 20px | 8 |
| 48px | 5 |
| 4px | 4 |
| 64px | 4 |
| 40px | 4 |
| 112px | 3 |
| 1px | 2 |
| 10px | 2 |
| 80px | 2 |
| 96px | 2 |
| 144px | 1 |
Borders & Radius
Derived radius tokens
Raw values (resolved, by frequency)
Shadows
Derived elevation
| Token | Value |
| sm | 0 30px 80px rgba(0,0,0,.45) |
| md | 0 -80px 120px rgba(0,0,0,.72) |
All detected shadows
0 30px 80px rgba(0,0,0,.45)
0 -80px 120px rgba(0,0,0,.72)
Layout
Container max-width: 768px
Grid columns (largest detected grid): 12
Breakpoints
Animation & Motion
Transitions
grid-template-rows .45s cubic-bezier(.16, 1, .3, 1)
transform .35s cubic-bezier(.16, 1, .3, 1)
transform .45s cubic-bezier(.16, 1, .3, 1), opacity .45s cubic-bezier(.16, 1, .3, 1)
all 150ms cubic-bezier(0.4, 0, 0.2, 1)
transform 150ms cubic-bezier(0.4, 0, 0.2, 1)
color, background-color, border-color 150ms cubic-bezier(0.4, 0, 0.2, 1)
Easing curves
cubic-bezier(.16, 1, .3, 1)
cubic-bezier(0.4, 0, 0.2, 1)
Components
Extracted from the page's own interactive elements (classes → resolved CSS values).
button-primary — sample text: “Start”
| Property | Value |
| backgroundColor | #FFFFFF |
| fontWeight | 500 |
| textTransform | uppercase |
| textColor | #000000 |
| padding | 10px 16px |
| border | 1px solid currentColor |
| transition | all 150ms cubic-bezier(0.4, 0, 0.2, 1) |
| backgroundColor (hover) | #F7EFE4 |
button-secondary — sample text: “Start a project”
| Property | Value |
| backgroundColor | #FFFFFF |
| fontWeight | 500 |
| textTransform | uppercase |
| textColor | #000000 |
| padding | 12px 16px |
navigation-link
| Property | Value |
| fontWeight | 500 |
| textTransform | uppercase |
| transition | all 150ms cubic-bezier(0.4, 0, 0.2, 1) |
| textColor (hover) | #FFFFFF |
CTA labels found on page
- Start Project
- View Editorials
Effects
- backdrop-filter:
blur(14px)
- backdrop-filter:
blur(18px)
Source Design Tokens (CSS custom properties)
:root {
--white: #f7efe4;
--muted: rgba(247, 239, 228, 0.58);
--faint: rgba(247, 239, 228, 0.14);
--line: rgba(247, 239, 228, 0.13);
--line-strong: rgba(247, 239, 228, 0.26);
--black: #000;
--header-side-gap: 16px;
--header-max-width: 1536px;
--page-max-width: 1536px;
--page-gutter: clamp(16px, 2.6vw, 48px);
--sticky-header-height: 58px;
--header-hero-gap: 12px;
--body-bg: #030202;
--body-color: var(--white);
--heading-font: ui-serif, Georgia, serif;
}
Do's and Don'ts
Do
- Do keep the canvas at
#030202; surfaces should stay within the detected neutral ramp.
- Do set large headings in
ui-serif, Georgia, serif with tight tracking (-0.055em), and body copy in the primary stack.
- Do stick to the detected font weight(s): 300, 400, 500, 600.
- Do align spacing to the 8px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
- Don't round cards or containers; only pill-shaped elements (9999px) carry a radius on this page.
Design Tokens (copy-paste)
:root {
--color-background: #030202;
--color-surface: #F7EFE4;
--color-text-primary: #F7EFE4;
--color-secondary: #000000;
--color-text-secondary: #030202;
--color-border: #FFFFFF;
--color-on-secondary: #FFFFFF;
--font-sans: 'Inter';
--font-size-display: 162px;
--font-size-headline-lg: 36px;
--font-size-headline-md: 30px;
--font-size-title-lg: 20px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14px;
--font-size-label-sm: 12px;
--radius-pill: 9999px;
--shadow-sm: 0 30px 80px rgba(0,0,0,.45);
--shadow-md: 0 -80px 120px rgba(0,0,0,.72);
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 64px;
--font-display: ui-serif, Georgia, serif;
--tracking-display: -0.055em;
--tracking-label: .16em;
--container-max: 768px;
}