Dark Futurism is a brooding, high-contrast web aesthetic built on the visual grammar of dystopian science fiction. It draws from the cinematic traditions of Blade Runner, Ghost in the Shell, Tron: Legacy, and the Deus Ex franchise – worlds where sleek technology serves opaque power structures, where data flows through holographic grids suspended in perpetual night, and where the interface itself is a narrative artifact of a civilization that has traded warmth for precision. Where Cyberpunk revels in urban decay and hacker subculture, Dark Futurism elevates the same dark-on-neon palette into something more composed, more institutional – closer to the command bridge of a capital ship than a back-alley terminal.
The aesthetic is defined by its uncompromising commitment to darkness as a design medium. Backgrounds are near-black with subtle blue or violet undertones, creating a void from which every element must earn its visibility through luminance. Neon accents – predominantly cyan, magenta, and electric violet – are used with surgical restraint, appearing as border lines, glow effects, data highlights, and interactive state indicators. Holographic grid overlays, wireframe geometries, and perspective-warped plane elements create a sense of infinite spatial depth, as though the interface exists within a three-dimensional data environment rather than a flat screen. Typography is mechanical and utilitarian: condensed sans-serifs and monospaced faces rendered in uppercase with generous letter-spacing, evoking military briefings and system readouts.
In practice, Dark Futurism translates to dashboards, portfolios, product pages, and landing sites that feel like operational interfaces extracted from a near-future world. Every element – cards, buttons, navigation bars, hero sections – is designed to look like it belongs on a heads-up display. Thin borders glow faintly. Panels float with backdrop blur over atmospheric backgrounds. Data is presented with the density and clarity of a tactical readout. The result is an experience that feels simultaneously dangerous, precise, and deeply immersive – a design language for projects that demand authority, technological credibility, and an unmistakable sense of forward momentum.
backdrop-filter: blur() simulating holographic projection surfacesclip-path, rejecting soft curves in favor of hard-edged precisionbox-shadow and text-shadow values that simulate realistic light emission from neon sources, with tight inner glow and wide soft outer falloffThe Dark Futurism palette operates on a strict principle: the background is a near-black void, and every visible color represents a signal – a point of data, an interactive element, or a status indicator demanding attention. The palette is small and disciplined, with most of the viewport occupied by the darkest tones and neon appearing only at key structural and interactive moments.
| Swatch | Hex | Role / Usage |
|---|---|---|
![]() |
#06060C |
Absolute void – deepest background layer, page body |
![]() |
#0C0C18 |
Primary background – main content areas |
![]() |
#141428 |
Elevated surface – card backgrounds, nav panels |
![]() |
#1E1E3A |
Tertiary surface – hover states, raised panels |
![]() |
#2A2A4A |
Border base – subtle dividers, inactive borders |
![]() |
#00E5FF |
Primary signal – interactive elements, links, primary accent |
![]() |
#7B61FF |
Secondary signal – secondary accent, decorative highlights |
![]() |
#FF2D78 |
Tertiary signal – notifications, badges, emphasis |
![]() |
#00FF88 |
Success / affirmative – confirmations, online status, progress |
![]() |
#FFB000 |
Warning signal – caution states, pending indicators |
![]() |
#FF3B3B |
Danger / critical – errors, destructive actions, alerts |
![]() |
#D0D0E8 |
Primary text – headings and body on dark backgrounds |
![]() |
#6B6B8F |
Secondary text – captions, metadata, disabled labels |
![]() |
#1A1A36 |
Grid line – faint structural lines, holographic overlay strokes |
![]() |
#0A3D5C |
Deep glow – background glow zones beneath cyan-accented elements |
:root {
/* Void layers (darkest to lightest) */
--df-void: #06060c;
--df-bg: #0c0c18;
--df-surface: #141428;
--df-elevated: #1e1e3a;
--df-border-base: #2a2a4a;
/* Signal colors */
--df-cyan: #00e5ff;
--df-violet: #7b61ff;
--df-magenta: #ff2d78;
--df-green: #00ff88;
--df-amber: #ffb000;
--df-red: #ff3b3b;
/* Text */
--df-text-primary: #d0d0e8;
--df-text-secondary: #6b6b8f;
/* Structural */
--df-grid-line: #1a1a36;
--df-deep-glow: #0a3d5c;
/* Glow composites (box-shadow / text-shadow) */
--df-glow-cyan: 0 0 8px rgba(0, 229, 255, 0.6), 0 0 24px rgba(0, 229, 255, 0.25), 0 0 64px rgba(0, 229, 255, 0.1);
--df-glow-violet: 0 0 8px rgba(123, 97, 255, 0.6), 0 0 24px rgba(123, 97, 255, 0.25), 0 0 64px rgba(123, 97, 255, 0.1);
--df-glow-magenta: 0 0 8px rgba(255, 45, 120, 0.6), 0 0 24px rgba(255, 45, 120, 0.25), 0 0 64px rgba(255, 45, 120, 0.1);
/* Borders */
--df-border: 1px solid rgba(0, 229, 255, 0.12);
--df-border-active: 1px solid rgba(0, 229, 255, 0.4);
}
Dark Futurism typography is engineered, not designed. Every letterform should feel like it was produced by a system – mechanical, precise, and stripped of personality. The typographic hierarchy relies on weight, spacing, and luminance rather than decorative variation.
| Font | Style | Best For |
|---|---|---|
| Orbitron | Geometric, futuristic | Hero headlines, display text, branding |
| Rajdhani | Condensed, semi-angular | Subheadings, navigation, card titles |
| Exo 2 | Geometric, wide | Section headlines, large display |
| Share Tech Mono | Monospaced, technical | Body text, terminal readouts, data |
| IBM Plex Mono | Clean monospace | Extended reading, code blocks |
| Electrolize | Square, digital | Dashboard labels, data headers |
| Chakra Petch | Thai-inspired geometric | Alternative headlines, UI elements |
| Jura | Light geometric | Supporting text, secondary headings |
| Fira Code | Monospace with ligatures | Technical content, code displays |
| Space Grotesk | Neo-grotesque | Modern body text alternative |
| Heading Font | Body Font | Character |
|---|---|---|
| Orbitron (700) | Share Tech Mono (400) | Command bridge – authoritative and machine-precise |
| Exo 2 (700) | IBM Plex Mono (400) | Research station – clean, readable, institutional |
| Rajdhani (600) | Fira Code (400) | Tactical display – dense, efficient, developer-oriented |
| Chakra Petch (600) | Share Tech Mono (400) | Surveillance system – angular, exotic, data-heavy |
| Electrolize (400) | Space Grotesk (400) | Dashboard – square-edged headers with modern body |
/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@400;600;700&family=Share+Tech+Mono&display=swap');
/* Headings */
h1, h2, h3, h4, h5, h6 {
font-family: 'Orbitron', 'Exo 2', sans-serif;
font-weight: 700;
color: var(--df-text-primary);
text-transform: uppercase;
letter-spacing: 0.08em;
line-height: 1.15;
}
/* Hero / display text with neon glow */
.df-display {
font-family: 'Orbitron', sans-serif;
font-size: clamp(2.5rem, 6vw, 5rem);
font-weight: 900;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--df-cyan);
text-shadow: var(--df-glow-cyan);
}
/* Body / terminal text */
body {
font-family: 'Share Tech Mono', 'Fira Code', monospace;
font-size: 0.95rem;
line-height: 1.7;
color: var(--df-text-primary);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Navigation and label text */
.df-label {
font-family: 'Rajdhani', 'Orbitron', sans-serif;
font-weight: 600;
font-size: 0.75rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--df-text-secondary);
}
/* Data readout */
.df-data {
font-family: 'Share Tech Mono', monospace;
font-size: 0.85rem;
color: var(--df-cyan);
line-height: 1.5;
}
/* Subheading */
.df-subhead {
font-family: 'Rajdhani', sans-serif;
font-weight: 700;
font-size: 1.1rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--df-text-primary);
}
backdrop-filter: blur() float over background grids and atmospheric textures, creating a parallax sense of depthtransform: perspective() rotateX() applied to grid overlays to create the illusion of a receding data plane beneath the content.df-card {
background: rgba(20, 20, 40, 0.75);
border: 1px solid rgba(0, 229, 255, 0.1);
padding: 32px 28px;
position: relative;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.df-card:hover {
border-color: rgba(0, 229, 255, 0.35);
box-shadow: 0 0 16px rgba(0, 229, 255, 0.08), 0 0 48px rgba(0, 229, 255, 0.04);
}
/* HUD corner brackets */
.df-card::before,
.df-card::after {
content: '';
position: absolute;
width: 14px;
height: 14px;
border-color: var(--df-cyan);
border-style: solid;
opacity: 0.5;
transition: opacity 0.35s ease;
}
.df-card:hover::before,
.df-card:hover::after {
opacity: 1;
}
.df-card::before {
top: -1px;
left: -1px;
border-width: 2px 0 0 2px;
}
.df-card::after {
bottom: -1px;
right: -1px;
border-width: 0 2px 2px 0;
}
/* Card label (module identifier) */
.df-card__label {
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.65rem;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--df-cyan);
margin-bottom: 14px;
opacity: 0.7;
}
/* Card grid layout */
.df-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}
.df-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
background: transparent;
color: var(--df-cyan);
border: 1px solid var(--df-cyan);
padding: 13px 34px;
font-family: 'Orbitron', sans-serif;
font-weight: 700;
font-size: 0.8rem;
letter-spacing: 0.12em;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
position: relative;
clip-path: polygon(
0 0,
calc(100% - 12px) 0,
100% 12px,
100% 100%,
12px 100%,
0 calc(100% - 12px)
);
transition: all 0.3s ease;
}
.df-button:hover {
background: var(--df-cyan);
color: var(--df-void);
box-shadow: var(--df-glow-cyan);
}
/* Violet variant */
.df-button--violet {
color: var(--df-violet);
border-color: var(--df-violet);
}
.df-button--violet:hover {
background: var(--df-violet);
color: var(--df-void);
box-shadow: var(--df-glow-violet);
}
/* Magenta variant */
.df-button--magenta {
color: var(--df-magenta);
border-color: var(--df-magenta);
}
.df-button--magenta:hover {
background: var(--df-magenta);
color: var(--df-void);
box-shadow: var(--df-glow-magenta);
}
/* Filled / solid variant */
.df-button--filled {
background: var(--df-cyan);
color: var(--df-void);
}
.df-button--filled:hover {
filter: brightness(1.2);
box-shadow: var(--df-glow-cyan);
}
/* Small variant for inline use */
.df-button--sm {
padding: 8px 20px;
font-size: 0.7rem;
letter-spacing: 0.1em;
clip-path: polygon(
0 0,
calc(100% - 8px) 0,
100% 8px,
100% 100%,
8px 100%,
0 calc(100% - 8px)
);
}
.df-nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
height: 64px;
background: rgba(6, 6, 12, 0.88);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(0, 229, 255, 0.08);
}
.df-nav__logo {
font-family: 'Orbitron', sans-serif;
font-weight: 900;
font-size: 1.1rem;
color: var(--df-cyan);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.18em;
text-shadow: 0 0 8px rgba(0, 229, 255, 0.35);
}
.df-nav__links {
display: flex;
gap: 32px;
list-style: none;
margin: 0;
padding: 0;
}
.df-nav__links a {
font-family: 'Share Tech Mono', monospace;
font-size: 0.8rem;
color: var(--df-text-secondary);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.1em;
position: relative;
transition: color 0.25s ease;
}
.df-nav__links a::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 1px;
background: var(--df-cyan);
box-shadow: 0 0 6px rgba(0, 229, 255, 0.5);
transition: width 0.3s ease;
}
.df-nav__links a:hover,
.df-nav__links a.active {
color: var(--df-cyan);
}
.df-nav__links a:hover::after,
.df-nav__links a.active::after {
width: 100%;
}
/* Status indicator dot */
.df-nav__status {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--df-green);
box-shadow: 0 0 6px rgba(0, 255, 136, 0.6);
animation: df-pulse 2s ease-in-out infinite;
}
@keyframes df-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.4; }
}
.df-hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 100px 40px 80px;
background: var(--df-void);
overflow: hidden;
}
/* Scan line overlay */
.df-hero::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(0, 229, 255, 0.015) 2px,
rgba(0, 229, 255, 0.015) 4px
);
pointer-events: none;
z-index: 2;
}
/* Perspective grid floor */
.df-hero::after {
content: '';
position: absolute;
bottom: 0;
left: -10%;
right: -10%;
height: 45%;
background:
linear-gradient(to bottom, transparent 0%, rgba(0, 229, 255, 0.025) 100%),
repeating-linear-gradient(
90deg,
transparent,
transparent 79px,
rgba(0, 229, 255, 0.05) 79px,
rgba(0, 229, 255, 0.05) 80px
),
repeating-linear-gradient(
0deg,
transparent,
transparent 79px,
rgba(0, 229, 255, 0.05) 79px,
rgba(0, 229, 255, 0.05) 80px
);
transform: perspective(600px) rotateX(55deg);
transform-origin: bottom center;
pointer-events: none;
z-index: 1;
}
.df-hero__content {
position: relative;
z-index: 3;
max-width: 780px;
}
.df-hero__content h1 {
font-size: clamp(2.5rem, 6vw, 4.5rem);
color: var(--df-cyan);
text-shadow: var(--df-glow-cyan);
margin-bottom: 1.5rem;
animation: df-text-breathe 5s ease-in-out infinite;
}
.df-hero__content p {
font-size: 1.05rem;
color: var(--df-text-secondary);
max-width: 580px;
margin: 0 auto 2.5rem;
line-height: 1.85;
}
@keyframes df-text-breathe {
0%, 100% {
text-shadow:
0 0 8px rgba(0, 229, 255, 0.7),
0 0 24px rgba(0, 229, 255, 0.35),
0 0 64px rgba(0, 229, 255, 0.15);
}
50% {
text-shadow:
0 0 6px rgba(0, 229, 255, 0.5),
0 0 18px rgba(0, 229, 255, 0.2),
0 0 48px rgba(0, 229, 255, 0.08);
}
}
@media (max-width: 768px) {
.df-hero {
min-height: auto;
padding: 80px 20px 60px;
}
}
.df-grid-overlay {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 0;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 99px,
rgba(0, 229, 255, 0.025) 99px,
rgba(0, 229, 255, 0.025) 100px
),
repeating-linear-gradient(
90deg,
transparent,
transparent 99px,
rgba(0, 229, 255, 0.025) 99px,
rgba(0, 229, 255, 0.025) 100px
);
opacity: 0.5;
}
@keyframes df-glitch {
0%, 100% { clip-path: inset(0 0 0 0); transform: translate(0); }
10% { clip-path: inset(15% 0 70% 0); transform: translate(-2px, 1px); }
20% { clip-path: inset(65% 0 10% 0); transform: translate(2px, -1px); }
30% { clip-path: inset(35% 0 40% 0); transform: translate(-1px, 2px); }
40% { clip-path: inset(80% 0 5% 0); transform: translate(1px, -1px); }
50% { clip-path: inset(5% 0 85% 0); transform: translate(-2px, 0); }
60% { clip-path: inset(50% 0 25% 0); transform: translate(2px, 1px); }
70% { clip-path: inset(20% 0 55% 0); transform: translate(0, -2px); }
80% { clip-path: inset(70% 0 15% 0); transform: translate(-1px, 1px); }
90% { clip-path: inset(45% 0 30% 0); transform: translate(1px, 0); }
}
.df-glitch {
position: relative;
display: inline-block;
}
.df-glitch::before,
.df-glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.df-glitch::before {
color: var(--df-magenta);
animation: df-glitch 4s infinite linear alternate;
z-index: -1;
}
.df-glitch::after {
color: var(--df-cyan);
animation: df-glitch 3s infinite linear alternate-reverse;
z-index: -1;
}
.df-table {
width: 100%;
border-collapse: collapse;
font-family: 'Share Tech Mono', monospace;
font-size: 0.85rem;
}
.df-table th {
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.7rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--df-cyan);
text-align: left;
padding: 12px 16px;
border-bottom: 1px solid rgba(0, 229, 255, 0.18);
background: rgba(0, 229, 255, 0.03);
}
.df-table td {
padding: 10px 16px;
color: var(--df-text-primary);
border-bottom: 1px solid rgba(0, 229, 255, 0.05);
}
.df-table tr:hover td {
background: rgba(0, 229, 255, 0.04);
}
.df-table td.status--active {
color: var(--df-green);
}
.df-table td.status--warning {
color: var(--df-amber);
}
.df-table td.status--critical {
color: var(--df-red);
}
.df-divider {
position: relative;
height: 1px;
margin: 0;
border: none;
background: linear-gradient(
90deg,
transparent 0%,
rgba(0, 229, 255, 0.2) 20%,
rgba(123, 97, 255, 0.15) 50%,
rgba(0, 229, 255, 0.2) 80%,
transparent 100%
);
}
.df-divider::before {
content: '';
position: absolute;
top: -3px;
left: 50%;
transform: translateX(-50%);
width: 7px;
height: 7px;
background: var(--df-cyan);
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
box-shadow: 0 0 8px rgba(0, 229, 255, 0.6);
}
#06060C, #0C0C18) – never pure #000000, which reads as flat and lifelessbox-shadow values at decreasing opacityclip-path: polygon() for angular, beveled shapes on buttons and containers; avoid border-radius for primary UI elementsbackdrop-filter: blur() with semi-transparent backgrounds for overlapping panels to create holographic depth| Aesthetic | Relationship to Dark Futurism |
|---|---|
| Cyberpunk | The closest relative; both share neon-on-dark palettes and dystopian themes, but Cyberpunk is grittier and more chaotic while Dark Futurism is sleeker and more institutional |
| Dark Aero | Shares glossy dark surfaces and tech-forward sensibility; Dark Aero is rooted in mid-2000s consumer electronics while Dark Futurism projects further into speculative sci-fi |
| Synthwave | Both use neon and darkness with 1980s roots, but Synthwave is nostalgic and celebratory; Dark Futurism is cold and forward-looking |
| Dark Mode Neon | Similar neon-on-dark color strategy, but Dark Mode Neon is a UI pattern rather than a narrative aesthetic; Dark Futurism adds the HUD, grid, and dystopian storytelling layer |
| Glassmorphism | Shares the translucent panel technique with backdrop blur; Dark Futurism uses it within a much darker, more atmospheric frame with neon borders |
| Laser Grid | Both employ perspective grid visuals, but Laser Grid is specifically retro 1980s while Dark Futurism is forward-projected and more compositionally complex |
| Cyberminimalism | Shares the tech-forward, dark-background approach but strips away the density and atmospheric effects in favor of extreme simplicity |
| Industrial Gothic | Both are dark and imposing, but Industrial Gothic draws from physical architecture and heavy materials rather than digital interfaces and light |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dark Futurism Page</title>
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@400;600;700&family=Share+Tech+Mono&display=swap" rel="stylesheet">
<style>
/* ===========================
CUSTOM PROPERTIES
=========================== */
:root {
--df-void: #06060c;
--df-bg: #0c0c18;
--df-surface: #141428;
--df-elevated: #1e1e3a;
--df-border-base: #2a2a4a;
--df-cyan: #00e5ff;
--df-violet: #7b61ff;
--df-magenta: #ff2d78;
--df-green: #00ff88;
--df-amber: #ffb000;
--df-red: #ff3b3b;
--df-text-primary: #d0d0e8;
--df-text-secondary: #6b6b8f;
--df-grid-line: #1a1a36;
--df-glow-cyan: 0 0 8px rgba(0,229,255,0.6), 0 0 24px rgba(0,229,255,0.25), 0 0 64px rgba(0,229,255,0.1);
--df-glow-violet: 0 0 8px rgba(123,97,255,0.6), 0 0 24px rgba(123,97,255,0.25), 0 0 64px rgba(123,97,255,0.1);
--df-glow-magenta: 0 0 8px rgba(255,45,120,0.6), 0 0 24px rgba(255,45,120,0.25), 0 0 64px rgba(255,45,120,0.1);
}
/* ===========================
RESET & BASE
=========================== */
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: var(--df-void);
color: var(--df-text-primary);
font-family: 'Share Tech Mono', 'Fira Code', monospace;
font-size: 0.95rem;
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-x: hidden;
}
h1, h2, h3, h4 {
font-family: 'Orbitron', sans-serif;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
line-height: 1.15;
}
a {
color: var(--df-cyan);
text-decoration: none;
transition: color 0.25s ease;
}
a:hover {
color: #fff;
}
img {
max-width: 100%;
display: block;
}
/* ===========================
HOLOGRAPHIC GRID OVERLAY
=========================== */
.grid-overlay {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 0;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 99px,
rgba(0, 229, 255, 0.02) 99px,
rgba(0, 229, 255, 0.02) 100px
),
repeating-linear-gradient(
90deg,
transparent,
transparent 99px,
rgba(0, 229, 255, 0.02) 99px,
rgba(0, 229, 255, 0.02) 100px
);
opacity: 0.6;
}
/* ===========================
NAVIGATION
=========================== */
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
height: 64px;
background: rgba(6, 6, 12, 0.9);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(0, 229, 255, 0.08);
}
.logo {
font-family: 'Orbitron', sans-serif;
font-weight: 900;
font-size: 1.1rem;
color: var(--df-cyan);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.18em;
text-shadow: 0 0 8px rgba(0, 229, 255, 0.35);
}
nav ul {
display: flex;
gap: 32px;
list-style: none;
}
nav ul a {
font-family: 'Share Tech Mono', monospace;
font-size: 0.8rem;
color: var(--df-text-secondary);
text-transform: uppercase;
letter-spacing: 0.1em;
position: relative;
transition: color 0.25s ease;
}
nav ul a::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 1px;
background: var(--df-cyan);
box-shadow: 0 0 6px rgba(0, 229, 255, 0.5);
transition: width 0.3s ease;
}
nav ul a:hover {
color: var(--df-cyan);
}
nav ul a:hover::after {
width: 100%;
}
.nav-status {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--df-green);
box-shadow: 0 0 6px rgba(0, 255, 136, 0.6);
animation: pulse 2s ease-in-out infinite;
}
/* ===========================
HERO
=========================== */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 100px 40px 80px;
overflow: hidden;
}
/* Scan lines */
.hero::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(0, 229, 255, 0.015) 2px,
rgba(0, 229, 255, 0.015) 4px
);
pointer-events: none;
z-index: 2;
}
/* Grid floor */
.hero::after {
content: '';
position: absolute;
bottom: 0;
left: -10%;
right: -10%;
height: 45%;
background:
linear-gradient(to bottom, transparent 0%, rgba(0, 229, 255, 0.025) 100%),
repeating-linear-gradient(
90deg,
transparent,
transparent 79px,
rgba(0, 229, 255, 0.05) 79px,
rgba(0, 229, 255, 0.05) 80px
),
repeating-linear-gradient(
0deg,
transparent,
transparent 79px,
rgba(0, 229, 255, 0.05) 79px,
rgba(0, 229, 255, 0.05) 80px
);
transform: perspective(600px) rotateX(55deg);
transform-origin: bottom center;
pointer-events: none;
z-index: 1;
}
.hero-content {
position: relative;
z-index: 3;
max-width: 760px;
}
.hero-content h1 {
font-size: clamp(2.5rem, 6vw, 4.5rem);
color: var(--df-cyan);
text-shadow: var(--df-glow-cyan);
margin-bottom: 1.5rem;
animation: text-breathe 5s ease-in-out infinite;
}
.hero-content .subtitle {
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.75rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--df-violet);
margin-bottom: 1rem;
text-shadow: 0 0 8px rgba(123, 97, 255, 0.4);
}
.hero-content p {
font-size: 1rem;
color: var(--df-text-secondary);
max-width: 560px;
margin: 0 auto 2.5rem;
line-height: 1.85;
}
.hero-buttons {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
@keyframes text-breathe {
0%, 100% {
text-shadow:
0 0 8px rgba(0, 229, 255, 0.7),
0 0 24px rgba(0, 229, 255, 0.35),
0 0 64px rgba(0, 229, 255, 0.15);
}
50% {
text-shadow:
0 0 6px rgba(0, 229, 255, 0.5),
0 0 18px rgba(0, 229, 255, 0.2),
0 0 48px rgba(0, 229, 255, 0.08);
}
}
/* ===========================
BUTTONS
=========================== */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
color: var(--df-cyan);
border: 1px solid var(--df-cyan);
padding: 13px 34px;
font-family: 'Orbitron', sans-serif;
font-weight: 700;
font-size: 0.8rem;
letter-spacing: 0.12em;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
clip-path: polygon(
0 0,
calc(100% - 12px) 0,
100% 12px,
100% 100%,
12px 100%,
0 calc(100% - 12px)
);
transition: all 0.3s ease;
}
.btn:hover {
background: var(--df-cyan);
color: var(--df-void);
box-shadow: var(--df-glow-cyan);
}
.btn--violet {
color: var(--df-violet);
border-color: var(--df-violet);
}
.btn--violet:hover {
background: var(--df-violet);
color: var(--df-void);
box-shadow: var(--df-glow-violet);
}
/* ===========================
DIVIDER
=========================== */
.divider {
position: relative;
height: 1px;
margin: 0;
border: none;
background: linear-gradient(
90deg,
transparent 0%,
rgba(0, 229, 255, 0.2) 20%,
rgba(123, 97, 255, 0.15) 50%,
rgba(0, 229, 255, 0.2) 80%,
transparent 100%
);
}
.divider::before {
content: '';
position: absolute;
top: -3px;
left: 50%;
transform: translateX(-50%);
width: 7px;
height: 7px;
background: var(--df-cyan);
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
box-shadow: 0 0 8px rgba(0, 229, 255, 0.6);
}
/* ===========================
FEATURES SECTION
=========================== */
.features {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px;
}
.features .section-label {
text-align: center;
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.7rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--df-violet);
margin-bottom: 0.5rem;
}
.features h2 {
text-align: center;
font-size: clamp(1.4rem, 3vw, 2rem);
color: var(--df-text-primary);
margin-bottom: 3rem;
}
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}
.card {
background: rgba(20, 20, 40, 0.75);
border: 1px solid rgba(0, 229, 255, 0.1);
padding: 32px 28px;
position: relative;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.card:hover {
border-color: rgba(0, 229, 255, 0.35);
box-shadow: 0 0 16px rgba(0, 229, 255, 0.08), 0 0 48px rgba(0, 229, 255, 0.03);
}
/* Corner brackets */
.card::before,
.card::after {
content: '';
position: absolute;
width: 14px;
height: 14px;
border-color: var(--df-cyan);
border-style: solid;
opacity: 0.4;
transition: opacity 0.35s ease;
}
.card:hover::before,
.card:hover::after {
opacity: 1;
}
.card::before {
top: -1px;
left: -1px;
border-width: 2px 0 0 2px;
}
.card::after {
bottom: -1px;
right: -1px;
border-width: 0 2px 2px 0;
}
.card-label {
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.65rem;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--df-cyan);
margin-bottom: 14px;
opacity: 0.7;
}
.card h3 {
font-size: 1.05rem;
margin-bottom: 0.75rem;
color: var(--df-text-primary);
}
.card p {
color: var(--df-text-secondary);
font-size: 0.9rem;
line-height: 1.7;
}
/* ===========================
STATS BAR
=========================== */
.stats {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
}
.stat {
text-align: center;
padding: 36px 20px;
border-right: 1px solid rgba(0, 229, 255, 0.06);
}
.stat:last-child {
border-right: none;
}
.stat-value {
font-family: 'Orbitron', sans-serif;
font-weight: 900;
font-size: 2rem;
color: var(--df-cyan);
text-shadow: 0 0 12px rgba(0, 229, 255, 0.3);
line-height: 1;
margin-bottom: 0.5rem;
}
.stat-label {
font-family: 'Rajdhani', sans-serif;
font-weight: 600;
font-size: 0.7rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--df-text-secondary);
}
/* ===========================
CTA SECTION
=========================== */
.cta {
position: relative;
z-index: 1;
text-align: center;
padding: 80px 40px;
}
.cta h2 {
font-size: clamp(1.5rem, 3.5vw, 2.2rem);
color: var(--df-magenta);
text-shadow: 0 0 12px rgba(255, 45, 120, 0.35);
margin-bottom: 1rem;
}
.cta p {
color: var(--df-text-secondary);
max-width: 500px;
margin: 0 auto 2rem;
line-height: 1.8;
}
.cta .btn {
color: var(--df-magenta);
border-color: var(--df-magenta);
}
.cta .btn:hover {
background: var(--df-magenta);
color: var(--df-void);
box-shadow: var(--df-glow-magenta);
}
/* ===========================
FOOTER
=========================== */
footer {
position: relative;
z-index: 1;
text-align: center;
padding: 32px 40px;
border-top: 1px solid rgba(0, 229, 255, 0.06);
font-size: 0.78rem;
color: var(--df-text-secondary);
letter-spacing: 0.06em;
}
footer span {
color: var(--df-cyan);
text-shadow: 0 0 6px rgba(0, 229, 255, 0.3);
}
/* ===========================
PULSE ANIMATION
=========================== */
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.4; }
}
/* ===========================
RESPONSIVE
=========================== */
@media (max-width: 768px) {
nav {
padding: 0 20px;
height: 56px;
}
nav ul {
gap: 18px;
}
nav ul a {
font-size: 0.7rem;
}
.hero {
min-height: auto;
padding: 80px 20px 60px;
}
.features {
padding: 60px 20px;
}
.card-grid {
grid-template-columns: 1fr;
}
.stats {
grid-template-columns: repeat(2, 1fr);
padding: 0 20px;
}
.stat {
padding: 24px 16px;
}
.stat:nth-child(2) {
border-right: none;
}
.cta {
padding: 60px 20px;
}
.hero-buttons {
flex-direction: column;
align-items: center;
}
}
</style>
</head>
<body>
<!-- Holographic grid overlay -->
<div class="grid-overlay"></div>
<!-- Navigation -->
<nav>
<a href="#" class="logo">Axiom</a>
<ul>
<li><a href="#">Systems</a></li>
<li><a href="#">Datacore</a></li>
<li><a href="#">Protocol</a></li>
<li><a href="#">Archive</a></li>
</ul>
<div class="nav-status" title="System Online"></div>
</nav>
<!-- Hero Section -->
<section class="hero">
<div class="hero-content">
<div class="subtitle">// Axiom Research Division</div>
<h1>Dark Futurism</h1>
<p>Advanced interface systems for a world beyond the visible spectrum. Precision-engineered data environments operating at the edge of perception.</p>
<div class="hero-buttons">
<a href="#" class="btn">Initialize System</a>
<a href="#" class="btn btn--violet">View Protocols</a>
</div>
</div>
</section>
<!-- Divider -->
<hr class="divider">
<!-- Stats Bar -->
<div class="stats">
<div class="stat">
<div class="stat-value">99.7%</div>
<div class="stat-label">Uptime Index</div>
</div>
<div class="stat">
<div class="stat-value">4.2ms</div>
<div class="stat-label">Avg Latency</div>
</div>
<div class="stat">
<div class="stat-value">12.8K</div>
<div class="stat-label">Active Nodes</div>
</div>
<div class="stat">
<div class="stat-value">AES-512</div>
<div class="stat-label">Encryption</div>
</div>
</div>
<!-- Divider -->
<hr class="divider">
<!-- Features Section -->
<section class="features">
<div class="section-label">// Core Modules</div>
<h2>System Architecture</h2>
<div class="card-grid">
<div class="card">
<div class="card-label">Module 01 / Neural</div>
<h3>Cortical Bridge</h3>
<p>Direct neural interface with sub-millisecond synchronization latency. Full-duplex data transfer through quantum-encrypted channels operating beyond conventional bandwidth limits.</p>
</div>
<div class="card">
<div class="card-label">Module 02 / Stealth</div>
<h3>Phantom Protocol</h3>
<p>Zero-signature network traversal system. Every data packet dissolves upon delivery. No footprint, no trace, no residual signal for adversarial systems to reconstruct.</p>
</div>
<div class="card">
<div class="card-label">Module 03 / Defense</div>
<h3>Aegis Barrier</h3>
<p>Adaptive countermeasure array with self-evolving threat recognition. Machine learning cores predict and neutralize intrusion vectors before they fully materialize in the network.</p>
</div>
</div>
</section>
<!-- Divider -->
<hr class="divider">
<!-- CTA Section -->
<section class="cta">
<h2>Enter the Grid</h2>
<p>The architecture is waiting. Initialize your connection and step into the data stream.</p>
<a href="#" class="btn">Authenticate</a>
</section>
<!-- Footer -->
<footer>
<p>[ <span>AXIOM SYSTEMS</span> ] // Engineered in the void between signals</p>
</footer>
</body>
</html>
#06060C or #0C0C18 rather than pure #000000; the subtle chromatic shift creates atmospheric depth and prevents the dead, flat quality of true black – on most displays, pure black creates an unnatural “hole” effect where the screen appears to be offbox-shadow or text-shadow values with increasing spread and decreasing opacity to simulate physical neon light falloff (e.g., 8px at 60%, 24px at 25%, 64px at 10%); a single-layer glow reads as a flat halo rather than emitted light-webkit-font-smoothing: antialiased and -moz-osx-font-smoothing: grayscale on dark-background pages; without these, light text on dark backgrounds renders thicker than intended on macOS, destroying the precision aestheticbox-shadow glows are GPU-composited but expensive when applied to many elements simultaneously; restrict heavy 3-4 layer glows to key focal elements (hero text, primary buttons, card borders on hover) and use simpler single-layer or no-glow treatments for ambient elements like table rows and secondary textclip-path: polygon() clips the element’s box model, which means box-shadow is also clipped and invisible; when you need both angular shapes and glow effects, wrap the clipped element in a container and apply filter: drop-shadow() to the container insteadbackdrop-filter and -webkit-backdrop-filter for Safari compatibility; also provide a solid fallback background color (e.g., background: rgba(20, 20, 40, 0.95)) for browsers that do not support the property at allrepeating-linear-gradient are lightweight on modern browsers, but avoid combining them with large backdrop-filter areas – the compositing cost multiplies; on lower-powered devices, consider reducing grid overlay opacity or removing it entirely via a prefers-reduced-motion media query