UrBling (also known as Urban Grunge, c. 2003–2009) is a mid-2000s aesthetic that emerged as Y2K Futurism faded, shifting hip-hop-influenced visual culture away from flashy “bling” maximalism toward a grittier, street-level, urban-grunge sensibility. It is a melting pot of elements from Graffiti Pop, Corporate Grunge, and Kustom Kulture – combining spray-paint textures, tribal motifs, and distressed surfaces with warm, high-contrast color palettes of orange, red, and black. Where McBling was rhinestone-studded and feminized, UrBling is masculinized, raw, and aggressive: silhouetted cityscapes, paint splatters, winged crests, flame graphics, and gothic-stencil typography on dark, weathered backgrounds. Think the visual language of GTA: San Andreas, Linkin Park album art, Affliction tees, Need for Speed: Most Wanted, and Comedy Central bumpers circa 2005 – street energy packaged with just enough corporate polish to fill a Hot Topic storefront.
| Role | Colors |
|---|---|
| Base / Background | Near-black, deep charcoal, dark warm gray |
| Primary accents | Burnt orange, fire red, amber yellow |
| Secondary accents | Silver, chrome, cool gray |
| Text tones | Off-white, dirty cream, sepia-tinted white |
| Neutral midtones | Warm brown, sepia, dusty tan, concrete gray |
| Color | Hex | Usage |
|---|---|---|
| Soot Black | #0D0D0D |
Deep backgrounds, primary base |
| Dark Charcoal | #1A1A1A |
Main background, section fills |
| Warm Charcoal | #2A2522 |
Card backgrounds, elevated surfaces |
| Concrete Gray | #4A4845 |
Borders, dividers, secondary structure |
| Dusty Gray | #6E6B66 |
Muted body text, captions, metadata |
| Sepia Mid | #8B7D6B |
Warm midtone, weathered surface accent |
| Dirty White | #E8E0D4 |
Primary text, headings on dark backgrounds |
| Aged Cream | #D4C9B8 |
Secondary text, softer emphasis |
| Burnt Orange | #D4620A |
Primary accent, links, highlights, flame tips |
| Fire Red | #C41E1E |
Aggressive accent, strong emphasis, flame cores |
| Amber Yellow | #E5A100 |
Warm highlight, flame tops, warning accents |
| Hot Rod Orange | #FF6B1A |
High-energy accent, hover states, glow effects |
| Chrome Silver | #B8B8B8 |
Metallic accent, crest details, secondary highlights |
| Cool Steel | #7A8088 |
Cool midtone, industrial elements, muted accents |
| Dark Brown | #3D2E1E |
Deep warm accent, shadow tones, leather |
| Rust Brown | #8B4513 |
Warm accent, weathered metal, aged surfaces |
| Camo Olive | #4A5A2A |
Military pattern accent, secondary cool tone |
| Smoke White | #F0ECE4 |
Brightest text, hero titles on darkest backgrounds |
:root {
/* Base tones */
--urbling-black: #0d0d0d;
--urbling-charcoal: #1a1a1a;
--urbling-charcoal-warm: #2a2522;
--urbling-concrete: #4a4845;
--urbling-dust: #6e6b66;
--urbling-sepia: #8b7d6b;
/* Text tones */
--urbling-white: #e8e0d4;
--urbling-cream: #d4c9b8;
--urbling-smoke: #f0ece4;
/* Warm accents */
--urbling-orange: #d4620a;
--urbling-red: #c41e1e;
--urbling-amber: #e5a100;
--urbling-hotrod: #ff6b1a;
--urbling-brown: #3d2e1e;
--urbling-rust: #8b4513;
/* Cool accents */
--urbling-chrome: #b8b8b8;
--urbling-steel: #7a8088;
--urbling-olive: #4a5a2a;
/* Functional mappings */
--urbling-bg-primary: var(--urbling-charcoal);
--urbling-bg-secondary: var(--urbling-charcoal-warm);
--urbling-bg-surface: var(--urbling-concrete);
--urbling-text-primary: var(--urbling-white);
--urbling-text-secondary: var(--urbling-cream);
--urbling-text-muted: var(--urbling-dust);
--urbling-accent: var(--urbling-orange);
--urbling-accent-hover: var(--urbling-hotrod);
--urbling-accent-danger: var(--urbling-red);
--urbling-border: var(--urbling-concrete);
}
UrBling typography blends corporate grunge distress with street-art aggression and gothic weight:
These are typefaces historically associated with the UrBling period (commercial/specialty fonts):
| Font | Style | Usage |
|---|---|---|
| Oswald | Condensed bold sans | Headlines, hero text, primary display |
| Anton | Ultra-condensed heavy sans | Section titles, impactful short text |
| Teko | Condensed geometric sans | Subheadings, labels, condensed display |
| Black Ops One | Military stencil display | Decorative headings, urban-warfare accent |
| Permanent Marker | Bold hand-written marker | Tag-style text, callouts, graffiti accent |
| UnifrakturCook | Blackletter / Gothic | Decorative gothic accent, crest text, tattoo-style |
| Russo One | Bold geometric sans | Clean urban display, modern headers |
| Bebas Neue | Condensed all-caps sans | Banners, labels, condensed headings |
| Share Tech Mono | Technical monospace | Metadata, labels, small technical text |
| Fira Sans | Humanist sans-serif | Body text, readable long-form content |
/* Import UrBling-appropriate Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&family=Anton&family=Teko:wght@400;600&family=Black+Ops+One&family=Permanent+Marker&family=Bebas+Neue&family=Fira+Sans:wght@400;600&family=Share+Tech+Mono&display=swap');
/* Hero / Display text -- heavy condensed sans */
h1 {
font-family: 'Oswald', 'Anton', Impact, sans-serif;
font-weight: 700;
font-size: clamp(2.5rem, 7vw, 5.5rem);
letter-spacing: 0.06em;
line-height: 1.0;
text-transform: uppercase;
color: var(--urbling-smoke);
text-shadow:
2px 2px 0 rgba(0, 0, 0, 0.7),
0 0 20px rgba(212, 98, 10, 0.3);
}
/* Section headings -- aggressive condensed */
h2 {
font-family: 'Anton', 'Oswald', Impact, sans-serif;
font-size: clamp(1.8rem, 4vw, 3rem);
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--urbling-orange);
text-shadow:
2px 2px 0 rgba(0, 0, 0, 0.6),
0 0 15px rgba(212, 98, 10, 0.2);
}
/* Sub-headings -- stencil or marker style */
h3 {
font-family: 'Black Ops One', 'Teko', sans-serif;
font-size: 1.4rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--urbling-amber);
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
/* Body text -- clean humanist sans */
body {
font-family: 'Fira Sans', 'Segoe UI', Tahoma, sans-serif;
font-weight: 400;
font-size: 1rem;
line-height: 1.7;
color: var(--urbling-text-secondary);
}
/* Labels, tags, metadata */
.urbling-label {
font-family: 'Share Tech Mono', 'Teko', monospace;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--urbling-dust);
}
/* Condensed banner text */
.urbling-banner {
font-family: 'Bebas Neue', 'Oswald', sans-serif;
font-size: clamp(1.2rem, 3vw, 2rem);
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--urbling-chrome);
}
/* Oversized stat / impact number */
.urbling-stat {
font-family: 'Anton', Impact, sans-serif;
font-size: clamp(3rem, 9vw, 8rem);
color: var(--urbling-orange);
text-shadow:
3px 3px 0 rgba(0, 0, 0, 0.6),
0 0 30px rgba(212, 98, 10, 0.4);
}
/* Base urban atmosphere background */
.urbling-bg {
background-color: var(--urbling-charcoal);
background-image:
/* Warm atmospheric gradient (sunset over city) */
radial-gradient(ellipse at 50% 0%, rgba(212, 98, 10, 0.08) 0%, transparent 60%),
radial-gradient(ellipse at 30% 20%, rgba(229, 161, 0, 0.04) 0%, transparent 40%),
/* Subtle noise grain */
radial-gradient(circle at 60% 70%, rgba(100, 80, 60, 0.04) 0%, transparent 50%);
}
/* Noise overlay using SVG filter */
.urbling-noise::before {
content: '';
position: absolute;
inset: 0;
opacity: 0.07;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
background-size: 256px 256px;
pointer-events: none;
mix-blend-mode: overlay;
}
/* Urban skyline silhouette using clip-path */
.urbling-skyline {
position: relative;
}
.urbling-skyline::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 120px;
background: var(--urbling-black);
clip-path: polygon(
0% 100%, 0% 70%, 3% 70%, 3% 50%, 5% 50%, 5% 70%,
8% 70%, 8% 30%, 10% 30%, 10% 25%, 12% 25%, 12% 30%,
14% 30%, 14% 70%, 18% 70%, 18% 55%, 20% 55%, 20% 40%,
22% 40%, 22% 55%, 24% 55%, 24% 70%, 28% 70%, 28% 20%,
30% 20%, 30% 15%, 31% 15%, 31% 20%, 33% 20%, 33% 70%,
38% 70%, 38% 45%, 40% 45%, 40% 35%, 42% 35%, 42% 45%,
44% 45%, 44% 70%, 50% 70%, 50% 50%, 52% 50%, 52% 60%,
55% 60%, 55% 70%, 60% 70%, 60% 25%, 62% 25%, 62% 18%,
63% 18%, 63% 25%, 65% 25%, 65% 70%, 70% 70%, 70% 55%,
72% 55%, 72% 45%, 74% 45%, 74% 55%, 76% 55%, 76% 70%,
80% 70%, 80% 35%, 82% 35%, 82% 30%, 84% 30%, 84% 35%,
86% 35%, 86% 70%, 90% 70%, 90% 60%, 93% 60%, 93% 70%,
96% 70%, 96% 50%, 98% 50%, 98% 70%, 100% 70%, 100% 100%
);
opacity: 0.5;
pointer-events: none;
}
/* Stylized flame divider rising from a line */
.urbling-flame-divider {
border: none;
height: 40px;
position: relative;
margin: 3rem 0;
}
/* Base line */
.urbling-flame-divider::before {
content: '';
position: absolute;
bottom: 0;
left: 10%;
right: 10%;
height: 2px;
background: linear-gradient(
90deg,
transparent 0%,
var(--urbling-orange) 20%,
var(--urbling-red) 50%,
var(--urbling-orange) 80%,
transparent 100%
);
box-shadow: 0 0 8px rgba(212, 98, 10, 0.4);
}
/* Flame shapes using clip-path */
.urbling-flame-divider::after {
content: '';
position: absolute;
bottom: 2px;
left: 15%;
right: 15%;
height: 35px;
background: linear-gradient(
to top,
var(--urbling-red) 0%,
var(--urbling-orange) 40%,
var(--urbling-amber) 70%,
transparent 100%
);
clip-path: polygon(
0% 100%, 5% 60%, 8% 100%, 12% 40%, 16% 100%, 20% 30%,
24% 100%, 28% 50%, 32% 100%, 36% 20%, 40% 100%, 44% 45%,
48% 100%, 52% 25%, 56% 100%, 60% 55%, 64% 100%, 68% 35%,
72% 100%, 76% 15%, 80% 100%, 84% 50%, 88% 100%, 92% 40%,
96% 100%, 100% 60%, 100% 100%
);
opacity: 0.6;
pointer-events: none;
}
/* Tribal-style decorative border using SVG pattern */
.urbling-tribal-border {
position: relative;
padding: 2rem;
}
.urbling-tribal-border::before,
.urbling-tribal-border::after {
content: '';
position: absolute;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 20px;
background: var(--urbling-orange);
opacity: 0.5;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20'%3E%3Cpath d='M0 10 Q25 0 50 10 Q75 20 100 10 Q125 0 150 10 Q175 20 200 10' fill='none' stroke='black' stroke-width='4'/%3E%3C/svg%3E");
mask-size: 200px 20px;
mask-repeat: repeat-x;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20'%3E%3Cpath d='M0 10 Q25 0 50 10 Q75 20 100 10 Q125 0 150 10 Q175 20 200 10' fill='none' stroke='black' stroke-width='4'/%3E%3C/svg%3E");
-webkit-mask-size: 200px 20px;
-webkit-mask-repeat: repeat-x;
}
.urbling-tribal-border::before { top: 0; }
.urbling-tribal-border::after { bottom: 0; }
/* Winged emblem section opener */
.urbling-crest {
position: relative;
text-align: center;
padding: 3rem 2rem;
}
/* Wing shapes flanking the content */
.urbling-crest::before,
.urbling-crest::after {
content: '';
position: absolute;
top: 50%;
width: 80px;
height: 60px;
border: 2px solid var(--urbling-orange);
border-radius: 50% 50% 0 0;
opacity: 0.3;
transform: translateY(-50%);
}
.urbling-crest::before {
left: 10%;
border-bottom: none;
transform: translateY(-50%) rotate(-15deg) scaleX(-1);
}
.urbling-crest::after {
right: 10%;
border-bottom: none;
transform: translateY(-50%) rotate(15deg);
}
/* Shield-shaped container */
.urbling-shield {
display: inline-block;
padding: 2rem 3rem;
background: var(--urbling-charcoal-warm);
clip-path: polygon(
50% 0%, 100% 15%, 100% 75%, 50% 100%, 0% 75%, 0% 15%
);
border: none;
position: relative;
}
/* Paint splatter decoration */
.urbling-splatter {
position: relative;
}
.urbling-splatter::before {
content: '';
position: absolute;
top: -10px;
right: -10px;
width: 12px;
height: 12px;
border-radius: 50%;
background: var(--urbling-orange);
box-shadow:
15px 8px 0 3px var(--urbling-red),
-8px 20px 0 1px var(--urbling-orange),
30px -5px 0 2px var(--urbling-amber),
-15px -12px 0 1px var(--urbling-red),
40px 15px 0 0 var(--urbling-orange),
-20px 5px 0 2px var(--urbling-amber);
opacity: 0.5;
pointer-events: none;
}
/* Scratched, worn metal surface texture */
.urbling-scratched-metal {
background:
/* Diagonal scratch lines */
repeating-linear-gradient(
-30deg,
transparent,
transparent 6px,
rgba(255, 255, 255, 0.012) 6px,
rgba(255, 255, 255, 0.012) 7px
),
repeating-linear-gradient(
20deg,
transparent,
transparent 10px,
rgba(255, 255, 255, 0.008) 10px,
rgba(255, 255, 255, 0.008) 11px
),
/* Base metallic surface */
linear-gradient(
180deg,
#2a2522 0%,
#221e1b 50%,
#2a2522 100%
);
}
.urbling-card {
background: var(--urbling-charcoal-warm);
border: 1px solid rgba(212, 98, 10, 0.25);
border-top: 3px solid var(--urbling-orange);
padding: 2rem;
position: relative;
overflow: hidden;
box-shadow:
0 4px 20px rgba(0, 0, 0, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
/* Subtle warm glow at top edge */
.urbling-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60px;
background: linear-gradient(
to bottom,
rgba(212, 98, 10, 0.06) 0%,
transparent 100%
);
pointer-events: none;
}
/* Corner tribal accent */
.urbling-card::after {
content: '';
position: absolute;
bottom: -1px;
right: -1px;
width: 40px;
height: 40px;
border-left: 2px solid rgba(212, 98, 10, 0.2);
border-top: 2px solid rgba(212, 98, 10, 0.2);
opacity: 0.6;
pointer-events: none;
}
/* Stencil stamp text treatment */
.urbling-stencil {
font-family: 'Black Ops One', monospace;
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(--urbling-orange);
border: 2px solid var(--urbling-orange);
padding: 0.3em 0.8em;
display: inline-block;
transform: rotate(-2deg);
opacity: 0.75;
text-shadow: 0 0 3px rgba(212, 98, 10, 0.3);
box-shadow:
inset 0 0 8px rgba(212, 98, 10, 0.08),
0 0 4px rgba(0, 0, 0, 0.3);
}
.urbling-button {
display: inline-block;
padding: 0.7rem 2.2rem;
font-family: 'Oswald', 'Anton', sans-serif;
font-weight: 700;
font-size: 0.95rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--urbling-smoke);
background: linear-gradient(
180deg,
rgba(212, 98, 10, 0.15) 0%,
rgba(212, 98, 10, 0.05) 100%
);
border: 2px solid var(--urbling-orange);
cursor: pointer;
position: relative;
transition: all 0.2s ease;
box-shadow:
0 2px 10px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.urbling-button:hover {
background: var(--urbling-orange);
color: var(--urbling-black);
box-shadow:
0 4px 20px rgba(212, 98, 10, 0.4),
0 0 30px rgba(212, 98, 10, 0.15);
}
.urbling-button:active {
transform: translateY(1px);
box-shadow:
0 1px 5px rgba(0, 0, 0, 0.4),
inset 0 1px 3px rgba(0, 0, 0, 0.2);
}
/* Rough, broken horizontal rule */
.urbling-divider {
border: none;
height: 3px;
background:
repeating-linear-gradient(
90deg,
var(--urbling-concrete) 0px,
var(--urbling-concrete) 5px,
transparent 5px,
transparent 8px,
var(--urbling-concrete) 8px,
var(--urbling-concrete) 11px,
transparent 11px,
transparent 16px
);
opacity: 0.5;
margin: 3rem 0;
box-shadow: 0 0 6px rgba(212, 98, 10, 0.1);
}
Physical UrBling materials and their web equivalents:
| Physical Material | Web Equivalent |
|---|---|
| Concrete wall | Dark warm-gray gradient with subtle radial blotch overlays and SVG noise texture |
| Scratched metal | Dark surface with thin diagonal repeating-linear-gradient scratch lines in near-white |
| Spray paint on concrete | Bold text with text-shadow glow and SVG displacement filter for overspray softness |
| Stencil cutout | Black Ops One font with hard-edged letterforms, slight rotation, and border framing |
| Tribal tattoo ink | SVG or CSS curvilinear patterns used as masks on accent-colored elements |
| Hot-rod flame paint | Multi-stop linear-gradient from red through orange to amber, shaped with clip-path |
| Worn leather | Dark brown background with subtle directional gradient grain |
| Camouflage fabric | Multi-colored blob pattern using overlapping radial-gradient shapes in olive/brown/tan |
| Chrome auto trim | Cool silver linear-gradient with multiple reflective highlight stops |
| City at dusk | Warm orange-to-charcoal vertical gradient with silhouette clip-path overlays |
| Paint drips | linear-gradient strips from accent color to transparent, positioned below elements |
| Distressed print tee | Faded, low-opacity text or graphic with noise overlay simulating washed-out screenprint |
The following define the UrBling visual language and serve as design references:
UrBling thrived alongside:
| Aesthetic | Relationship to UrBling |
|---|---|
| Corporate Grunge | Shares distressed textures, dark palettes, and stencil typography; Corporate Grunge is more muted and 90s-era, UrBling is warmer and 2000s-era |
| Graffiti Pop | Shares street-art roots and spray-paint motifs; Graffiti Pop is brighter, more colorful, and more playful; UrBling is darker and more aggressive |
| McBling | Parallel mid-2000s hip-hop aesthetic; McBling focuses on bling, luxury, and sparkle; UrBling is the grittier, more masculine counterpart |
| Kustom Kulture | Shares flame graphics, hot-rod aesthetics, and tribal motifs; Kustom Kulture is more Americana and auto-focused |
| Nu-Metal | Musical sibling; shares the aggressive, dark, masculine visual language and distressed typography |
| Skater | Shares urban environments, graffiti culture, and distressed graphics; Skater is more colorful and irreverent |
| Neo-Tribal | Shares tribal tattoo-inspired ornamental patterns; Neo-Tribal is more focused on body art and symmetry |
| Scene | Contemporary youth subculture; more colorful and emo-inflected, but shares the mid-2000s timeframe and Hot Topic retail context |
| Metalheart | Shares gothic typography, dark palettes, and aggressive attitude; Metalheart leans heavier into metal iconography |
| Y2K Futurism | UrBling’s immediate predecessor; glossy and optimistic where UrBling is matte and gritty |
| Post-Grunge Maximalism | Shares the maximalist, textured, mid-2000s sensibility; a broader category that encompasses UrBling’s visual approach |
| Vectordelia | Contemporary digital art style; cleaner vector aesthetics that UrBling sometimes borrows for graphic overlays |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>UrBling Page</title>
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&family=Anton&family=Black+Ops+One&family=Permanent+Marker&family=Bebas+Neue&family=Fira+Sans:wght@400;600&family=Share+Tech+Mono&display=swap" rel="stylesheet">
<style>
:root {
--urbling-black: #0d0d0d;
--urbling-charcoal: #1a1a1a;
--urbling-charcoal-warm: #2a2522;
--urbling-concrete: #4a4845;
--urbling-dust: #6e6b66;
--urbling-sepia: #8b7d6b;
--urbling-white: #e8e0d4;
--urbling-cream: #d4c9b8;
--urbling-smoke: #f0ece4;
--urbling-orange: #d4620a;
--urbling-red: #c41e1e;
--urbling-amber: #e5a100;
--urbling-hotrod: #ff6b1a;
--urbling-chrome: #b8b8b8;
--urbling-steel: #7a8088;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: var(--urbling-charcoal);
color: var(--urbling-cream);
font-family: 'Fira Sans', 'Segoe UI', Tahoma, sans-serif;
font-weight: 400;
line-height: 1.7;
position: relative;
overflow-x: hidden;
}
/* Global noise texture overlay */
body::before {
content: '';
position: fixed;
inset: 0;
opacity: 0.06;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
background-size: 256px 256px;
pointer-events: none;
mix-blend-mode: overlay;
z-index: 9999;
}
h1, h2, h3 {
font-family: 'Oswald', 'Anton', Impact, sans-serif;
text-transform: uppercase;
color: var(--urbling-smoke);
}
.hero {
text-align: center;
padding: 8rem 2rem 6rem;
position: relative;
z-index: 1;
background:
radial-gradient(ellipse at 50% 0%, rgba(212, 98, 10, 0.1) 0%, transparent 60%),
var(--urbling-black);
}
/* Skyline silhouette behind hero */
.hero::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 100px;
background: var(--urbling-charcoal);
clip-path: polygon(
0% 100%, 0% 70%, 4% 70%, 4% 45%, 6% 45%, 6% 70%,
10% 70%, 10% 30%, 12% 30%, 12% 25%, 14% 25%, 14% 70%,
20% 70%, 20% 50%, 22% 50%, 22% 35%, 24% 35%, 24% 70%,
30% 70%, 30% 55%, 34% 55%, 34% 70%, 40% 70%, 40% 20%,
42% 20%, 42% 15%, 43% 15%, 43% 70%, 50% 70%, 50% 45%,
54% 45%, 54% 70%, 60% 70%, 60% 30%, 62% 30%, 62% 70%,
68% 70%, 68% 55%, 70% 55%, 70% 40%, 72% 40%, 72% 70%,
78% 70%, 78% 50%, 82% 50%, 82% 70%, 88% 70%, 88% 60%,
92% 60%, 92% 70%, 96% 70%, 96% 55%, 100% 55%, 100% 100%
);
opacity: 0.4;
pointer-events: none;
}
.hero h1 {
font-family: 'Oswald', Impact, sans-serif;
font-weight: 700;
font-size: clamp(3rem, 8vw, 6rem);
letter-spacing: 0.06em;
line-height: 1.0;
color: var(--urbling-smoke);
text-shadow:
2px 2px 0 rgba(0, 0, 0, 0.7),
0 0 30px rgba(212, 98, 10, 0.3);
margin-bottom: 1rem;
position: relative;
z-index: 2;
}
.hero p {
font-family: 'Share Tech Mono', monospace;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.2em;
color: var(--urbling-dust);
position: relative;
z-index: 2;
}
/* Flame-accented divider */
.urbling-divider {
border: none;
height: 3px;
background: linear-gradient(
90deg,
transparent 0%,
var(--urbling-orange) 20%,
var(--urbling-red) 50%,
var(--urbling-orange) 80%,
transparent 100%
);
opacity: 0.6;
margin: 0;
box-shadow: 0 0 10px rgba(212, 98, 10, 0.3);
}
section {
max-width: 800px;
margin: 0 auto;
padding: 4rem 2rem;
position: relative;
z-index: 1;
}
h2 {
font-family: 'Anton', 'Oswald', Impact, sans-serif;
font-size: clamp(1.8rem, 4vw, 3rem);
color: var(--urbling-orange);
text-shadow:
2px 2px 0 rgba(0, 0, 0, 0.6),
0 0 15px rgba(212, 98, 10, 0.2);
margin-bottom: 1.5rem;
}
.urbling-card {
background: var(--urbling-charcoal-warm);
border: 1px solid rgba(212, 98, 10, 0.25);
border-top: 3px solid var(--urbling-orange);
padding: 2rem;
margin: 2rem 0;
box-shadow:
0 4px 20px rgba(0, 0, 0, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.urbling-stencil {
font-family: 'Black Ops One', monospace;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--urbling-orange);
border: 2px solid var(--urbling-orange);
padding: 0.3em 0.7em;
display: inline-block;
transform: rotate(-2deg);
opacity: 0.75;
}
.urbling-button {
display: inline-block;
padding: 0.7rem 2.2rem;
font-family: 'Oswald', sans-serif;
font-weight: 700;
font-size: 0.95rem;
letter-spacing: 0.1em;
text-transform: uppercase;
text-decoration: none;
color: var(--urbling-smoke);
background: linear-gradient(180deg, rgba(212, 98, 10, 0.15) 0%, rgba(212, 98, 10, 0.05) 100%);
border: 2px solid var(--urbling-orange);
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}
.urbling-button:hover {
background: var(--urbling-orange);
color: var(--urbling-black);
box-shadow: 0 4px 20px rgba(212, 98, 10, 0.4);
}
a {
color: var(--urbling-orange);
text-decoration: none;
border-bottom: 1px solid rgba(212, 98, 10, 0.3);
transition: color 0.15s;
}
a:hover {
color: var(--urbling-hotrod);
border-bottom-color: var(--urbling-hotrod);
}
</style>
</head>
<body>
<div class="hero">
<h1>Title Here</h1>
<p>Subheading in monospace uppercase</p>
</div>
<hr class="urbling-divider">
<section>
<h2>Section Heading</h2>
<div class="urbling-card">
<p>Content styled with UrBling aesthetic. Warm urban grunge, fiery accents, distressed surfaces, street-level energy.</p>
<br>
<span class="urbling-stencil">Street Certified</span>
</div>
<br>
<a href="#" class="urbling-button">Get Started</a>
</section>
</body>
</html>
clip-path or SVG overlays at low opacity to establish the urban atmosphere.