victor HF Staff commited on
Commit
d4b99cf
·
verified ·
1 Parent(s): 418ad75

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +472 -19
  3. prompts.txt +2 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Brutal Design
3
- emoji: 😻
4
- colorFrom: purple
5
- colorTo: purple
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: brutal-design
3
+ emoji: 🐳
4
+ colorFrom: blue
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,472 @@
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>OOOral | Brutalist Architecture</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Archivo+Black&display=swap');
11
+
12
+ body {
13
+ font-family: 'Space Mono', monospace;
14
+ background-color: #000;
15
+ color: #fff;
16
+ overflow-x: hidden;
17
+ }
18
+
19
+ .title-font {
20
+ font-family: 'Archivo Black', sans-serif;
21
+ }
22
+
23
+ .brutal-border {
24
+ border: 6px solid #fff;
25
+ box-shadow: 12px 12px 0 #fff;
26
+ }
27
+
28
+ .brutal-border-thin {
29
+ border: 3px solid #fff;
30
+ box-shadow: 6px 6px 0 #fff;
31
+ }
32
+
33
+ .brutal-btn {
34
+ transition: all 0.3s ease;
35
+ }
36
+
37
+ .brutal-btn:hover {
38
+ transform: translate(3px, 3px);
39
+ box-shadow: none;
40
+ }
41
+
42
+ .project-card {
43
+ transition: all 0.5s ease;
44
+ }
45
+
46
+ .project-card:hover {
47
+ transform: scale(1.03);
48
+ z-index: 10;
49
+ }
50
+
51
+ .menu-open {
52
+ transform: translateX(0);
53
+ }
54
+
55
+ .menu-closed {
56
+ transform: translateX(100%);
57
+ }
58
+
59
+ .text-stroke {
60
+ -webkit-text-stroke: 2px white;
61
+ color: transparent;
62
+ }
63
+
64
+ /* Glitch effect styles */
65
+ .glitch {
66
+ position: relative;
67
+ }
68
+
69
+ .glitch::before,
70
+ .glitch::after {
71
+ content: attr(data-text);
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ width: 100%;
76
+ height: 100%;
77
+ }
78
+
79
+ .glitch::before {
80
+ left: 2px;
81
+ text-shadow: -2px 0 #ff00c1;
82
+ clip: rect(44px, 450px, 56px, 0);
83
+ animation: glitch-anim 5s infinite linear alternate-reverse;
84
+ }
85
+
86
+ .glitch::after {
87
+ left: -2px;
88
+ text-shadow: -2px 0 #00fff9, 2px 2px #ff00c1;
89
+ clip: rect(44px, 450px, 56px, 0);
90
+ animation: glitch-anim2 5s infinite linear alternate-reverse;
91
+ }
92
+
93
+ @keyframes glitch-anim {
94
+ 0% { clip: rect(31px, 9999px, 94px, 0); }
95
+ 10% { clip: rect(112px, 9999px, 76px, 0); }
96
+ 20% { clip: rect(85px, 9999px, 77px, 0); }
97
+ 30% { clip: rect(27px, 9999px, 97px, 0); }
98
+ 40% { clip: rect(64px, 9999px, 98px, 0); }
99
+ 50% { clip: rect(61px, 9999px, 85px, 0); }
100
+ 60% { clip: rect(99px, 9999px, 114px, 0); }
101
+ 70% { clip: rect(34px, 9999px, 115px, 0); }
102
+ 80% { clip: rect(98px, 9999px, 129px, 0); }
103
+ 90% { clip: rect(43px, 9999px, 96px, 0); }
104
+ 100% { clip: rect(82px, 9999px, 64px, 0); }
105
+ }
106
+
107
+ @keyframes glitch-anim2 {
108
+ 0% { clip: rect(65px, 9999px, 119px, 0); }
109
+ 10% { clip: rect(66px, 9999px, 151px, 0); }
110
+ 20% { clip: rect(33px, 9999px, 149px, 0); }
111
+ 30% { clip: rect(147px, 9999px, 132px, 0); }
112
+ 40% { clip: rect(55px, 9999px, 75px, 0); }
113
+ 50% { clip: rect(122px, 9999px, 66px, 0); }
114
+ 60% { clip: rect(149px, 9999px, 144px, 0); }
115
+ 70% { clip: rect(99px, 9999px, 136px, 0); }
116
+ 80% { clip: rect(118px, 9999px, 103px, 0); }
117
+ 90% { clip: rect(15px, 9999px, 75px, 0); }
118
+ 100% { clip: rect(58px, 9999px, 149px, 0); }
119
+ }
120
+
121
+ .marquee {
122
+ animation: marquee 20s linear infinite;
123
+ }
124
+
125
+ @keyframes marquee {
126
+ 0% { transform: translateX(0); }
127
+ 100% { transform: translateX(-50%); }
128
+ }
129
+ </style>
130
+ </head>
131
+ <body class="min-h-screen">
132
+ <!-- Navigation -->
133
+ <nav class="fixed w-full z-50 bg-black p-4 flex justify-between items-center border-b-4 border-white">
134
+ <div class="title-font text-3xl">OOOral</div>
135
+ <div class="hidden md:flex space-x-8">
136
+ <a href="#work" class="hover:text-yellow-400 transition">Work</a>
137
+ <a href="#about" class="hover:text-yellow-400 transition">About</a>
138
+ <a href="#services" class="hover:text-yellow-400 transition">Services</a>
139
+ <a href="#contact" class="hover:text-yellow-400 transition">Contact</a>
140
+ </div>
141
+ <button id="menuBtn" class="md:hidden text-2xl">
142
+ <i class="fas fa-bars"></i>
143
+ </button>
144
+ </nav>
145
+
146
+ <!-- Mobile Menu -->
147
+ <div id="mobileMenu" class="fixed top-0 right-0 h-full w-3/4 bg-black border-l-4 border-white z-50 p-8 transition-transform duration-300 ease-in-out menu-closed">
148
+ <div class="flex justify-between items-center mb-12">
149
+ <div class="title-font text-3xl">OOOral</div>
150
+ <button id="closeMenuBtn" class="text-2xl">
151
+ <i class="fas fa-times"></i>
152
+ </button>
153
+ </div>
154
+ <div class="flex flex-col space-y-8 text-2xl">
155
+ <a href="#work" class="hover:text-yellow-400 transition">Work</a>
156
+ <a href="#about" class="hover:text-yellow-400 transition">About</a>
157
+ <a href="#services" class="hover:text-yellow-400 transition">Services</a>
158
+ <a href="#contact" class="hover:text-yellow-400 transition">Contact</a>
159
+ </div>
160
+ </div>
161
+
162
+ <!-- Hero Section -->
163
+ <section class="min-h-screen flex items-center justify-center relative overflow-hidden pt-16">
164
+ <div class="absolute inset-0 bg-black opacity-70"></div>
165
+ <video autoplay muted loop class="absolute w-full h-full object-cover">
166
+ <source src="https://assets.mixkit.co/videos/preview/mixkit-concrete-building-under-construction-31200-large.mp4" type="video/mp4">
167
+ </video>
168
+ <div class="container mx-auto px-6 relative z-10 text-center">
169
+ <h1 class="title-font text-6xl md:text-9xl mb-6 text-white">
170
+ <span class="glitch text-stroke" data-text="BRUTAL">BRUTAL</span> <span class="text-yellow-400">DESIGN</span>
171
+ </h1>
172
+ <p class="text-xl md:text-2xl mb-12 max-w-3xl mx-auto">We create uncompromising architectural statements that challenge conventional aesthetics.</p>
173
+ <a href="#work" class="brutal-border-thin bg-yellow-400 text-black px-8 py-4 text-xl font-bold inline-block brutal-btn">VIEW OUR WORK</a>
174
+ </div>
175
+ </section>
176
+
177
+ <!-- Marquee -->
178
+ <div class="bg-yellow-400 text-black py-4 overflow-hidden">
179
+ <div class="marquee whitespace-nowrap">
180
+ <span class="text-2xl font-bold mx-8">RAW MATERIALS • UNFILTERED DESIGN • CONCRETE POETRY • FUNCTIONAL BRUTALITY • RAW MATERIALS • UNFILTERED DESIGN • CONCRETE POETRY • FUNCTIONAL BRUTALITY •</span>
181
+ </div>
182
+ </div>
183
+
184
+ <!-- Work Section -->
185
+ <section id="work" class="py-20 bg-black">
186
+ <div class="container mx-auto px-6">
187
+ <h2 class="title-font text-4xl md:text-6xl mb-16 text-center">SELECTED PROJECTS</h2>
188
+
189
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
190
+ <!-- Project 1 -->
191
+ <div class="project-card brutal-border bg-black p-6">
192
+ <div class="h-64 bg-gray-800 mb-6 flex items-center justify-center">
193
+ <span class="text-4xl">🏗️</span>
194
+ </div>
195
+ <h3 class="text-2xl font-bold mb-2">THE BUNKER</h3>
196
+ <p class="text-gray-400 mb-4">Berlin, Germany</p>
197
+ <p class="mb-4">A reinforced concrete residential complex designed for the post-apocalyptic urban dweller.</p>
198
+ <a href="#" class="text-yellow-400 font-bold">EXPLORE →</a>
199
+ </div>
200
+
201
+ <!-- Project 2 -->
202
+ <div class="project-card brutal-border bg-black p-6">
203
+ <div class="h-64 bg-gray-800 mb-6 flex items-center justify-center">
204
+ <span class="text-4xl">🏢</span>
205
+ </div>
206
+ <h3 class="text-2xl font-bold mb-2">MONOLITH TOWER</h3>
207
+ <p class="text-gray-400 mb-4">Moscow, Russia</p>
208
+ <p class="mb-4">A 40-story office building with exposed concrete surfaces and minimal fenestration.</p>
209
+ <a href="#" class="text-yellow-400 font-bold">EXPLORE →</a>
210
+ </div>
211
+
212
+ <!-- Project 3 -->
213
+ <div class="project-card brutal-border bg-black p-6">
214
+ <div class="h-64 bg-gray-800 mb-6 flex items-center justify-center">
215
+ <span class="text-4xl">🏛️</span>
216
+ </div>
217
+ <h3 class="text-2xl font-bold mb-2">THE FORTRESS</h3>
218
+ <p class="text-gray-400 mb-4">London, UK</p>
219
+ <p class="mb-4">A cultural center with massive concrete forms and fortress-like appearance.</p>
220
+ <a href="#" class="text-yellow-400 font-bold">EXPLORE →</a>
221
+ </div>
222
+ </div>
223
+
224
+ <div class="text-center mt-16">
225
+ <a href="#" class="brutal-border-thin bg-white text-black px-8 py-4 text-xl font-bold inline-block brutal-btn">VIEW ALL PROJECTS</a>
226
+ </div>
227
+ </div>
228
+ </section>
229
+
230
+ <!-- About Section -->
231
+ <section id="about" class="py-20 bg-white text-black">
232
+ <div class="container mx-auto px-6">
233
+ <div class="flex flex-col md:flex-row items-center">
234
+ <div class="md:w-1/2 mb-12 md:mb-0 md:pr-12">
235
+ <h2 class="title-font text-4xl md:text-6xl mb-8">WE ARE OOOral</h2>
236
+ <p class="text-lg mb-6">Founded in 2010, OOOral is an architecture practice dedicated to the brutalist tradition. We believe in raw, honest materials and forms that serve their purpose without decorative pretense.</p>
237
+ <p class="text-lg mb-6">Our work is characterized by massive forms, geometric shapes, and a monochrome palette of concrete, steel, and glass.</p>
238
+ <p class="text-lg">We operate globally with offices in Berlin, Moscow, and Tokyo.</p>
239
+ </div>
240
+ <div class="md:w-1/2 brutal-border bg-black text-white p-8">
241
+ <h3 class="title-font text-3xl mb-6 text-yellow-400">OUR PHILOSOPHY</h3>
242
+ <ul class="space-y-4">
243
+ <li class="flex items-start">
244
+ <span class="text-yellow-400 mr-4">■</span>
245
+ <span>Form follows function, stripped to its essence</span>
246
+ </li>
247
+ <li class="flex items-start">
248
+ <span class="text-yellow-400 mr-4">■</span>
249
+ <span>Materials should be honest and unadorned</span>
250
+ </li>
251
+ <li class="flex items-start">
252
+ <span class="text-yellow-400 mr-4">■</span>
253
+ <span>Architecture as a social statement</span>
254
+ </li>
255
+ <li class="flex items-start">
256
+ <span class="text-yellow-400 mr-4">■</span>
257
+ <span>Brutality as beauty</span>
258
+ </li>
259
+ <li class="flex items-start">
260
+ <span class="text-yellow-400 mr-4">■</span>
261
+ <span>Design that withstands time and trends</span>
262
+ </li>
263
+ </ul>
264
+ </div>
265
+ </div>
266
+ </div>
267
+ </section>
268
+
269
+ <!-- Services Section -->
270
+ <section id="services" class="py-20 bg-black text-white">
271
+ <div class="container mx-auto px-6">
272
+ <h2 class="title-font text-4xl md:text-6xl mb-16 text-center">OUR SERVICES</h2>
273
+
274
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
275
+ <!-- Service 1 -->
276
+ <div class="brutal-border-thin p-8">
277
+ <div class="text-4xl mb-6 text-yellow-400">01</div>
278
+ <h3 class="text-2xl font-bold mb-4">ARCHITECTURAL DESIGN</h3>
279
+ <p>From concept to completion, we design buildings that make bold statements while serving their intended purpose with uncompromising functionality.</p>
280
+ </div>
281
+
282
+ <!-- Service 2 -->
283
+ <div class="brutal-border-thin p-8">
284
+ <div class="text-4xl mb-6 text-yellow-400">02</div>
285
+ <h3 class="text-2xl font-bold mb-4">URBAN PLANNING</h3>
286
+ <p>We approach urban spaces with the same brutalist philosophy, creating cityscapes that are efficient, honest, and visually striking.</p>
287
+ </div>
288
+
289
+ <!-- Service 3 -->
290
+ <div class="brutal-border-thin p-8">
291
+ <div class="text-4xl mb-6 text-yellow-400">03</div>
292
+ <h3 class="text-2xl font-bold mb-4">INTERVENTION DESIGN</h3>
293
+ <p>Transforming existing structures with brutalist interventions that create dialogue between old and new, soft and hard.</p>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </section>
298
+
299
+ <!-- Stats Section -->
300
+ <section class="py-20 bg-yellow-400 text-black">
301
+ <div class="container mx-auto px-6">
302
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-8 text-center">
303
+ <div class="brutal-border-thin p-6">
304
+ <div class="title-font text-4xl md:text-6xl mb-2">42</div>
305
+ <p class="text-lg">PROJECTS COMPLETED</p>
306
+ </div>
307
+ <div class="brutal-border-thin p-6">
308
+ <div class="title-font text-4xl md:text-6xl mb-2">16</div>
309
+ <p class="text-lg">COUNTRIES</p>
310
+ </div>
311
+ <div class="brutal-border-thin p-6">
312
+ <div class="title-font text-4xl md:text-6xl mb-2">3</div>
313
+ <p class="text-lg">CONTINENTS</p>
314
+ </div>
315
+ <div class="brutal-border-thin p-6">
316
+ <div class="title-font text-4xl md:text-6xl mb-2">∞</div>
317
+ <p class="text-lg">TONS OF CONCRETE</p>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ </section>
322
+
323
+ <!-- Contact Section -->
324
+ <section id="contact" class="py-20 bg-black text-white">
325
+ <div class="container mx-auto px-6">
326
+ <div class="flex flex-col md:flex-row">
327
+ <div class="md:w-1/2 mb-12 md:mb-0 md:pr-12">
328
+ <h2 class="title-font text-4xl md:text-6xl mb-8">CONTACT US</h2>
329
+ <p class="text-lg mb-8">Ready to discuss your brutalist vision? We're currently accepting new projects for 2024.</p>
330
+
331
+ <div class="space-y-6">
332
+ <div class="flex items-start">
333
+ <span class="text-yellow-400 mr-4 mt-1"><i class="fas fa-map-marker-alt"></i></span>
334
+ <div>
335
+ <h4 class="font-bold">OFFICES</h4>
336
+ <p>Berlin • Moscow • Tokyo</p>
337
+ </div>
338
+ </div>
339
+ <div class="flex items-start">
340
+ <span class="text-yellow-400 mr-4 mt-1"><i class="fas fa-envelope"></i></span>
341
+ <div>
342
+ <h4 class="font-bold">EMAIL</h4>
343
344
+ </div>
345
+ </div>
346
+ <div class="flex items-start">
347
+ <span class="text-yellow-400 mr-4 mt-1"><i class="fas fa-phone"></i></span>
348
+ <div>
349
+ <h4 class="font-bold">PHONE</h4>
350
+ <p>+49 30 1234567 (Berlin)</p>
351
+ </div>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ <div class="md:w-1/2">
356
+ <form class="brutal-border p-8">
357
+ <div class="mb-6">
358
+ <label for="name" class="block mb-2 font-bold">NAME</label>
359
+ <input type="text" id="name" class="w-full bg-black border-b-2 border-white py-2 px-1 focus:outline-none focus:border-yellow-400">
360
+ </div>
361
+ <div class="mb-6">
362
+ <label for="email" class="block mb-2 font-bold">EMAIL</label>
363
+ <input type="email" id="email" class="w-full bg-black border-b-2 border-white py-2 px-1 focus:outline-none focus:border-yellow-400">
364
+ </div>
365
+ <div class="mb-6">
366
+ <label for="project" class="block mb-2 font-bold">PROJECT TYPE</label>
367
+ <select id="project" class="w-full bg-black border-b-2 border-white py-2 px-1 focus:outline-none focus:border-yellow-400">
368
+ <option value="">Select...</option>
369
+ <option value="residential">Residential</option>
370
+ <option value="commercial">Commercial</option>
371
+ <option value="cultural">Cultural</option>
372
+ <option value="urban">Urban Planning</option>
373
+ <option value="other">Other</option>
374
+ </select>
375
+ </div>
376
+ <div class="mb-6">
377
+ <label for="message" class="block mb-2 font-bold">MESSAGE</label>
378
+ <textarea id="message" rows="4" class="w-full bg-black border-b-2 border-white py-2 px-1 focus:outline-none focus:border-yellow-400"></textarea>
379
+ </div>
380
+ <button type="submit" class="brutal-border-thin bg-yellow-400 text-black px-8 py-4 text-xl font-bold brutal-btn w-full">SUBMIT</button>
381
+ </form>
382
+ </div>
383
+ </div>
384
+ </div>
385
+ </section>
386
+
387
+ <!-- Footer -->
388
+ <footer class="bg-black text-white border-t-4 border-white py-12">
389
+ <div class="container mx-auto px-6">
390
+ <div class="flex flex-col md:flex-row justify-between items-center">
391
+ <div class="title-font text-3xl mb-6 md:mb-0">OOOral</div>
392
+ <div class="flex space-x-6 mb-6 md:mb-0">
393
+ <a href="#" class="text-2xl hover:text-yellow-400"><i class="fab fa-instagram"></i></a>
394
+ <a href="#" class="text-2xl hover:text-yellow-400"><i class="fab fa-twitter"></i></a>
395
+ <a href="#" class="text-2xl hover:text-yellow-400"><i class="fab fa-linkedin"></i></a>
396
+ </div>
397
+ <div class="text-center md:text-right">
398
+ <p>© 2023 OOOral Architecture</p>
399
+ <p class="text-gray-500 text-sm">All rights reserved</p>
400
+ </div>
401
+ </div>
402
+ </div>
403
+ </footer>
404
+
405
+ <script>
406
+ // Mobile menu toggle
407
+ const menuBtn = document.getElementById('menuBtn');
408
+ const closeMenuBtn = document.getElementById('closeMenuBtn');
409
+ const mobileMenu = document.getElementById('mobileMenu');
410
+
411
+ menuBtn.addEventListener('click', () => {
412
+ mobileMenu.classList.remove('menu-closed');
413
+ mobileMenu.classList.add('menu-open');
414
+ });
415
+
416
+ closeMenuBtn.addEventListener('click', () => {
417
+ mobileMenu.classList.remove('menu-open');
418
+ mobileMenu.classList.add('menu-closed');
419
+ });
420
+
421
+ // Smooth scrolling for anchor links
422
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
423
+ anchor.addEventListener('click', function (e) {
424
+ e.preventDefault();
425
+
426
+ // Close mobile menu if open
427
+ mobileMenu.classList.remove('menu-open');
428
+ mobileMenu.classList.add('menu-closed');
429
+
430
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
431
+ behavior: 'smooth'
432
+ });
433
+ });
434
+ });
435
+
436
+ // Form submission
437
+ const contactForm = document.querySelector('form');
438
+ if (contactForm) {
439
+ contactForm.addEventListener('submit', (e) => {
440
+ e.preventDefault();
441
+ alert('Thank you for your message. We will contact you soon.');
442
+ contactForm.reset();
443
+ });
444
+ }
445
+
446
+ // Animation on scroll
447
+ const animateOnScroll = () => {
448
+ const elements = document.querySelectorAll('.project-card, .brutal-border-thin');
449
+
450
+ elements.forEach(element => {
451
+ const elementPosition = element.getBoundingClientRect().top;
452
+ const screenPosition = window.innerHeight / 1.3;
453
+
454
+ if (elementPosition < screenPosition) {
455
+ element.style.opacity = '1';
456
+ element.style.transform = 'translateY(0)';
457
+ }
458
+ });
459
+ };
460
+
461
+ // Set initial state
462
+ document.querySelectorAll('.project-card, .brutal-border-thin').forEach(el => {
463
+ el.style.opacity = '0';
464
+ el.style.transform = 'translateY(20px)';
465
+ el.style.transition = 'opacity 0.5s ease, transform 0.5s ease';
466
+ });
467
+
468
+ window.addEventListener('scroll', animateOnScroll);
469
+ window.addEventListener('load', animateOnScroll);
470
+ </script>
471
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=victor/brutal-design" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
472
+ </html>
prompts.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ brutalist architecture agency website name: OOOral
2
+ add a glitch effect on the main section