pedrod8 commited on
Commit
3398d18
·
verified ·
1 Parent(s): 5f296b4

make this 1000% better

Browse files

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- SEO / Social Media -->
<title>Nathan Stower | Full-Stack Business Strategist & Fixer</title>
<meta name="description" content="Full-Stack Business Strategist & Fixer. CX • Product • Dev • Media • Engineering. One partner, from insight to implementation.">
<meta property="og:title" content="Nathan Stower | Full-Stack Business Strategist & Fixer">
<meta property="og:description" content="One partner, from insight to implementation. CX • Product • Dev • Media • Engineering">
<meta property="og:type" content="website">
<meta property="og:image" content="img/og-card.jpg">
<meta name="twitter:card" content="summary_large_image">
<link rel="icon" href="img/favicon.svg" type="image/svg+xml">

<!-- Resource Hints for Performance -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="dns-prefetch" href="//cdn.tailwindcss.com">
<link rel="dns-prefetch" href="//cdn.jsdelivr.net">
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com">

<!-- Fonts with display=swap to prevent FOIT -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">

<!-- Scripts -->
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>

<style>
:root {
--black: #000000;
--white: #ffffff;
--yellow: #FFFF00;
--yellow-bright: #FFD700;
--gray-light: #e5e5e5;
--gray-dark: #333333;
--gray-ultra-light: #f8f8f8;
--green: #00ff00;
--blue: #0066ff;

/* 3D Card Variables */
--card-width: 700px;
--card-height: 500px;
--card-radius: 28px;
--card-pad: 35px;
--curve: cubic-bezier(.68,-.55,.265,1.55);

/* Process Stage Gradients */
--stage-1-gradient: linear-gradient(135deg, #6366F1, #4839c5);
--stage-2-gradient: linear-gradient(135deg, #8B5CF6, #6d38d8);
--stage-3-gradient: linear-gradient(135deg, #EC4899, #c22267);
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
font-family: 'Inter', sans-serif;
background-color: var(--white);
color: var(--black);
overflow-x: hidden;
cursor: none;
}

/* ========== ACCESSIBILITY ========== */
.skip-link {
position: absolute;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
z-index: 10000;
}

.skip-link:focus {
left: 1rem;
top: 1rem;
width: auto;
height: auto;
padding: 1rem 1.5rem;
background: var(--yellow);
color: var(--black);
border: 2px solid var(--black);
box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 1);
font-weight: 700;
font-family: 'JetBrains Mono', monospace;
}

/* ========== ANIMATIONS ========== */


@keyframes
glow {
0%, 100% { text-shadow: 0 0 5px var(--yellow); }
50% { text-shadow: 0 0 20px var(--yellow); }
}



@keyframes
float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}



@keyframes
pulse-ring {
0% { transform: scale(0.95); opacity: 1; }
100% { transform: scale(1.3); opacity: 0; }
}



@keyframes
blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}



@keyframes
gridPulse {
0%, 100% { transform: scale(1); opacity: 0.6; }
50% { transform: scale(1.03); opacity: 1; }
}

/* ========== CUSTOM CURSOR ========== */
.cursor {
width: 20px;
height: 20px;
background: var(--yellow);
border-radius: 50%;
position: fixed;
pointer-events: none;
mix-blend-mode: difference;
z-index: 9999;
transition: transform 0.2s ease;
transform: translate(-50%, -50%);
}

.cursor-hover {
transform: translate(-50%, -50%) scale(2);
background: transparent;
border: 2px solid var(--yellow);
}

.cursor-trail {
width: 8px;
height: 8px;
background: var(--yellow-bright);
border-radius: 50%;
position: fixed;
pointer-events: none;
mix-blend-mode: difference;
z-index: 9998;
opacity: 0.7;
transition: all 0.15s ease;
transform: translate(-50%, -50%);
}

/* ========== 3D CUBE BACKGROUND ========== */
#cube-bg {
position: fixed;
inset: 0;
z-index: 0;
opacity: 0.85;
pointer-events: none;
width: 100vw;
height: 100vh;
}

#cube-bg canvas {
display: block;
width: 100% !important;
height: 100% !important;
}

/* ========== HERO BACKGROUND IMAGE ========== */
.hero-background {
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
overflow: hidden;
}

.hero-background::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url('https://cdn.midjourney.com/u/3c4e05aa-860d-483f-8ba3-70ab96882a5f/f7b58489d5ed82eba62a1ce4f19f7680a3491be7628ffed85eea683db1d0f195.png');
background-size: cover;
background-position: 65% top;
background-repeat: no-repeat;
opacity: 0.6;
filter: brightness(1.1) contrast(0.95);
}

/* ========== SCROLLBAR ========== */
::-webkit-scrollbar {
width: 8px;
}

::-webkit-scrollbar-track {
background: var(--gray-ultra-light);
}

::-webkit-scrollbar-thumb {
background: var(--yellow);
border-radius: 10px;
}

/* ========== HORIZONTAL SCROLL SECTION ========== */
.horizontal-wrapper {
position: relative;
overflow: hidden;
}

.horizontal-sections {
display: flex;
width: fit-content;
height: 100vh;
will-change: transform;
}

.horizontal-section {
width: 100vw;
height: 100vh;
flex-shrink: 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
isolation: isolate;
}

.h-content {
max-width: 1400px;
width: 100%;
padding: 0 3rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}

.h-text {
z-index: 10;
position: relative;
}

.h-text h1,
.h-text p {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.h-visual {
position: relative;
width: 100%;
height: 70vh;
border-radius: 1rem;
overflow: hidden;
border: 2px solid var(--yellow);
box-shadow: 0 0 30px rgba(255, 255, 0, 0.3);
z-index: 20;
background: rgba(0, 0, 0, 0.1);
}

.h-visual video {
width: 100%;
height: 100%;
object-fit: cover;
}

/* ========== NAVIGATION DOTS ========== */
.nav-dots {
position: fixed;
right: 2rem;
top: 50%;
transform: translateY(-50%);
z-index: 100;
display: flex;
flex-direction: column;
gap: 1rem;
transition: opacity 0.3s ease;
}

.nav-dot {
width: 12px;
height: 12px;
border-radius: 50%;
background: transparent;
border: 2px solid var(--black);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}

.nav-dot::after {
content: "";
position: absolute;
inset: 0;
width: 100%;
height: 100%;
background: var(--yellow);
border-radius: 50%;
transform: scale(0);
transition: transform 0.25s var(--curve);
}

.nav-dot.active {
background: var(--yellow);
border-color: var(--yellow);
transform: scale(1.5);
}

.nav-dot.active::after {
transform: scale

Files changed (2) hide show
  1. README.md +7 -4
  2. index.html +202 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Full Stack Strategy Wizard
3
- emoji: 🚀
4
- colorFrom: green
5
  colorTo: green
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: Full-Stack Strategy Wizard ‍♂️
3
+ colorFrom: pink
 
4
  colorTo: green
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
index.html CHANGED
@@ -1,19 +1,203 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Wireframe Wormhole</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js" defer></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js" defer></script>
10
+ <script src="https://unpkg.com/feather-icons" defer></script>
11
+ <link rel="preconnect" href="https://cdnjs.cloudflare.com">
12
+ <link rel="preconnect" href="https://cdn.jsdelivr.net">
13
+ <link rel="preconnect" href="https://unpkg.com">
14
+ <style>
15
+ body, html {
16
+ margin: 0;
17
+ padding: 0;
18
+ overflow: hidden;
19
+ height: 100%;
20
+ will-change: transform, opacity;
21
+ contain: strict;
22
+ }
23
+ #vanta-canvas {
24
+ position: fixed;
25
+ top: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ height: 100%;
29
+ z-index: 0;
30
+ contain: strict;
31
+ transform: translateZ(0);
32
+ backface-visibility: hidden;
33
+ image-rendering: -webkit-optimize-contrast;
34
+ }
35
+ .content {
36
+ position: relative;
37
+ z-index: 1;
38
+ height: 100vh;
39
+ display: flex;
40
+ flex-direction: column;
41
+ justify-content: center;
42
+ align-items: center;
43
+ text-shadow: 0 2px 4px rgba(0,0,0,0.5); /* Better contrast */
44
+ }
45
+ @keyframes zoomInOut {
46
+ 0% { transform: scale(1); }
47
+ 100% { transform: scale(1.1); }
48
+ }
49
+
50
+ .content > * {
51
+ will-change: transform, opacity;
52
+ backface-visibility: hidden;
53
+ }
54
+ </style>
55
+ </head>
56
+ <body class="bg-black text-white">
57
+ <div id="vanta-canvas">
58
+ </div>
59
+
60
+ <div id="followup" class="hidden w-full min-h-screen bg-black text-white pt-20 pb-32 px-8">
61
+ <div class="max-w-4xl mx-auto">
62
+ <h2 class="text-4xl font-bold mb-12 text-center">Journey Through the Wormhole</h2>
63
+
64
+ <div class="grid md:grid-cols-2 gap-12">
65
+ <div class="space-y-6">
66
+ <h3 class="text-2xl font-semibold">Depth Perception</h3>
67
+ <p class="text-gray-300">Experience true three-dimensional depth with our layered wireframe technology.</p>
68
+ <div class="h-64 bg-gradient-to-b from-gray-900 to-black border border-gray-800 rounded-lg"></div>
69
+ </div>
70
+
71
+ <div class="space-y-6">
72
+ <h3 class="text-2xl font-semibold">Monochrome Space</h3>
73
+ <p class="text-gray-300">Navigate through a stark black and white universe of pure geometry.</p>
74
+ <div class="h-64 bg-gradient-to-b from-white to-gray-300 border border-gray-400 rounded-lg"></div>
75
+ </div>
76
+ </div>
77
+
78
+ <div class="mt-20 text-center">
79
+ <button id="returnBtn" class="px-8 py-4 bg-white text-black rounded-full text-xl font-semibold hover:scale-105 transition-transform duration-300 shadow-lg hover:shadow-white/30">
80
+ Return to Entrance
81
+ </button>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ <div class="content text-center px-4">
86
+ <h1 class="text-5xl md:text-7xl font-bold mb-6 text-transparent bg-clip-text bg-gradient-to-r from-purple-300 to-pink-500">
87
+ Wireframe Wormhole
88
+ </h1>
89
+ <p class="text-xl md:text-2xl max-w-2xl mb-10 opacity-95">
90
+ Dive into an infinite 3D wireframe universe that zooms endlessly into another dimension
91
+ </p>
92
+ <button id="enterBtn" class="px-8 py-4 bg-gradient-to-r from-purple-500 to-pink-600 rounded-full text-xl font-semibold hover:scale-105 transition-transform duration-300 shadow-lg hover:shadow-purple-500/50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-pink-500">
93
+ Enter the Wormhole
94
+ </button>
95
+ </div>
96
+
97
+ <div class="absolute bottom-6 left-0 right-0 text-center opacity-70 text-sm">
98
+ <p>Scroll or use arrow keys to navigate</p>
99
+ <i data-feather="arrow-down" class="animate-bounce mt-2 mx-auto"></i>
100
+ </div>
101
+ <script>
102
+ // Initialize Vanta.js after DOM is loaded
103
+ document.addEventListener('DOMContentLoaded', function() {
104
+ initVanta();
105
+ });
106
+ function initVanta() {
107
+ VANTA.NET({
108
+ el: "#vanta-canvas",
109
+ mouseControls: true,
110
+ touchControls: true,
111
+ gyroControls: false,
112
+ minHeight: 200.00,
113
+ minWidth: 200.00,
114
+ scale: 1.00,
115
+ scaleMobile: 1.00,
116
+ color: 0x8a2be2,
117
+ backgroundColor: 0x000000,
118
+ points: 18.00,
119
+ maxDistance: 30.00,
120
+ spacing: 22.00,
121
+ showDots: false,
122
+ lineWidth: 0.8,
123
+ color: 0xffffff,
124
+ backgroundColor: 0x000000,
125
+ pointSize: 1.5,
126
+ pointLight: true,
127
+ pointLightIntensity: 0.5,
128
+ pointLightColor: 0xffffff,
129
+ lineColor: 0xaaaaaa
130
+ });
131
+ // Optimized click handler with passive listener
132
+ document.getElementById('enterBtn').addEventListener('click', function() {
133
+ const netEffect = VANTA.NET({
134
+ el: "#vanta-canvas",
135
+ mouseControls: true,
136
+ touchControls: true,
137
+ gyroControls: false,
138
+ minHeight: 200.00,
139
+ minWidth: 200.00,
140
+ scale: 1.00,
141
+ scaleMobile: 1.00,
142
+ color: 0x7e3ff2,
143
+ backgroundColor: 0x000000,
144
+ points: 18.00,
145
+ maxDistance: 30.00,
146
+ spacing: 22.00,
147
+ showDots: false,
148
+ lineWidth: 0.8,
149
+ color: 0xffffff,
150
+ backgroundColor: 0x000000,
151
+ pointSize: 1.5,
152
+ pointLight: true,
153
+ pointLightIntensity: 0.5,
154
+ pointLightColor: 0xffffff,
155
+ lineColor: 0xaaaaaa
156
+ });
157
+
158
+ // Start zoom animation
159
+ let scale = 1;
160
+ const zoomStep = () => {
161
+ scale *= 1.02;
162
+ requestAnimationFrame(() => {
163
+ netEffect.setOptions({
164
+ spacing: 18.00 * scale,
165
+ maxDistance: 25.00 * scale,
166
+ points: 12.00 * scale
167
+ });
168
+ });
169
+ );
170
+ if (scale < 100) {
171
+ requestAnimationFrame(zoomStep);
172
+ } else {
173
+ // Here you would typically transition to another scene or page
174
+ requestAnimationFrame(() => {
175
+ document.querySelector('.content').classList.add('hidden');
176
+ document.getElementById('followup').classList.remove('hidden');
177
+ });
178
+ // Optimized return button handler
179
+ document.getElementById('returnBtn').addEventListener('click', function() {
180
+ requestAnimationFrame(() => {
181
+ document.querySelector('.content').classList.remove('hidden');
182
+ document.getElementById('followup').classList.add('hidden');
183
+ if (netEffect) {
184
+ netEffect.setOptions({
185
+ points: 18.00,
186
+ maxDistance: 30.00,
187
+ spacing: 22.00,
188
+ lineWidth: 0.8,
189
+ pointSize: 1.5
190
+ });
191
+ }
192
+ });
193
+ });
194
+ zoomStep();
195
+ }
196
+ // Initialize feather icons
197
+ document.addEventListener('DOMContentLoaded', function() {
198
+ feather.replace();
199
+ });
200
+ </script>
201
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
202
+ </body>
203
  </html>