VortexHunter23 commited on
Commit
2e3f5e5
·
verified ·
1 Parent(s): 90e1ca7

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +538 -19
index.html CHANGED
@@ -1,19 +1,538 @@
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" data-theme="dark">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>NebulaForge DataCenter — Petabyte-Scale LLM Data Infrastructure</title>
7
+ <meta name="description" content="NebulaForge is a next‑gen datacenter providing secure, high‑throughput pipelines for LLM training, fine‑tuning, and inference data. Multi‑region, S3‑compatible, vector DBs, and enterprise‑grade privacy." />
8
+ <meta name="theme-color" content="#0b0f1a" />
9
+ <meta property="og:title" content="NebulaForge DataCenter — Petabyte-Scale LLM Data Infrastructure" />
10
+ <meta property="og:description" content="Secure, high‑throughput pipelines for LLM training, fine‑tuning, and inference data. Multi‑region storage, vector databases, and privacy by design." />
11
+ <meta property="og:type" content="website" />
12
+ <meta property="og:image" content="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='630'><rect width='100%' height='100%' fill='%230b0f1a'/><text x='50%' y='50%' dominant-baseline='middle' text-anchor='middle' fill='%23ffffff' font-family='Inter,Segoe UI,Arial' font-size='64'>NebulaForge DataCenter</text></svg>" />
13
+ <style>
14
+ /* ========== Modern CSS Reset ========== */
15
+ *, *::before, *::after { box-sizing: border-box; }
16
+ * { margin: 0; }
17
+ html, body { height: 100%; }
18
+ body { line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
19
+ img, picture, video, canvas, svg { display: block; max-width: 100%; }
20
+ input, button, textarea, select { font: inherit; color: inherit; }
21
+ button { cursor: pointer; }
22
+ a { color: inherit; text-decoration: none; }
23
+ :focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
24
+
25
+ /* ========== Theme Variables ========== */
26
+ :root {
27
+ --brand: #7c3aed; /* violet */
28
+ --brand-2: #06b6d4; /* cyan */
29
+ --brand-3: #22c55e; /* green */
30
+ --bg: #0b0f1a;
31
+ --bg-elev: #101626;
32
+ --bg-soft: #0f1424;
33
+ --text: #e8ecf3;
34
+ --muted: #aab3c7;
35
+ --border: rgba(255,255,255,.08);
36
+ --glass: rgba(255,255,255,.06);
37
+ --shadow-1: 0 10px 30px rgba(0,0,0,.35);
38
+ --shadow-2: 0 20px 60px rgba(0,0,0,.45);
39
+ --radius: 14px;
40
+ --radius-sm: 10px;
41
+ --radius-lg: 24px;
42
+ --container: min(1200px, 92vw);
43
+ --header-h: 72px;
44
+ }
45
+ [data-theme="light"] {
46
+ --bg: #f6f8fb;
47
+ --bg-elev: #ffffff;
48
+ --bg-soft: #f0f3f9;
49
+ --text: #0d1220;
50
+ --muted: #4b556b;
51
+ --border: rgba(0,0,0,.08);
52
+ --glass: rgba(255,255,255,.7);
53
+ --shadow-1: 0 8px 24px rgba(0,0,0,.1);
54
+ --shadow-2: 0 18px 48px rgba(0,0,0,.12);
55
+ }
56
+
57
+ /* ========== Global Styles ========== */
58
+ body {
59
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
60
+ color: var(--text);
61
+ background: radial-gradient(1200px 800px at 10% -10%, rgba(124,58,237,.18), transparent 60%),
62
+ radial-gradient(900px 700px at 100% 0%, rgba(6,182,212,.12), transparent 60%),
63
+ linear-gradient(180deg, var(--bg), var(--bg));
64
+ min-height: 100%;
65
+ overflow-x: hidden;
66
+ }
67
+ .container { width: var(--container); margin-inline: auto; }
68
+ .section { padding: clamp(56px, 8vw, 120px) 0; }
69
+ .grid { display: grid; gap: 24px; }
70
+ .grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
71
+ .grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
72
+ .grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
73
+ @media (max-width: 900px) {
74
+ .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
75
+ }
76
+
77
+ /* ========== Header ========== */
78
+ header {
79
+ position: sticky; top: 0; z-index: 50;
80
+ backdrop-filter: saturate(140%) blur(10px);
81
+ background: linear-gradient(180deg, rgba(0,0,0,.35), transparent);
82
+ border-bottom: 1px solid var(--border);
83
+ }
84
+ .nav {
85
+ height: var(--header-h);
86
+ display: grid;
87
+ grid-template-columns: 1fr auto 1fr;
88
+ align-items: center;
89
+ gap: 16px;
90
+ }
91
+ .brand {
92
+ display: inline-flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: .2px;
93
+ }
94
+ .brand .logo {
95
+ width: 34px; height: 34px; border-radius: 10px;
96
+ background: conic-gradient(from 210deg, var(--brand), var(--brand-2), var(--brand-3), var(--brand));
97
+ position: relative; box-shadow: 0 10px 30px rgba(124,58,237,.35), inset 0 0 40px rgba(255,255,255,.06);
98
+ }
99
+ .brand small { color: var(--muted); font-weight: 600; font-size: 12px; }
100
+ nav ul { display: flex; gap: 20px; list-style: none; }
101
+ nav a { color: var(--muted); font-weight: 600; font-size: 14px; padding: 8px 10px; border-radius: 10px; }
102
+ nav a:hover { color: var(--text); background: var(--glass); }
103
+ .nav-ctas { justify-self: end; display: flex; gap: 10px; align-items: center; }
104
+ .btn {
105
+ border: 1px solid var(--border);
106
+ background: var(--glass);
107
+ color: var(--text);
108
+ padding: 10px 14px; border-radius: 12px; font-weight: 700;
109
+ transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
110
+ }
111
+ .btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-1); }
112
+ .btn-primary {
113
+ background: linear-gradient(135deg, var(--brand), var(--brand-2));
114
+ border: 1px solid transparent;
115
+ color: white;
116
+ }
117
+ .btn-ghost { background: transparent; }
118
+ .theme-toggle {
119
+ width: 44px; height: 38px; display: inline-grid; place-items: center; border-radius: 12px;
120
+ background: var(--glass); border: 1px solid var(--border);
121
+ }
122
+ .hamburger { display: none; width: 44px; height: 38px; border-radius: 12px; border: 1px solid var(--border); background: var(--glass); align-items: center; justify-content: center; }
123
+ .hamburger span { width: 20px; height: 2px; background: var(--text); position: relative; display: block; }
124
+ .hamburger span::before, .hamburger span::after { content: ""; position: absolute; left: 0; width: 20px; height: 2px; background: var(--text); }
125
+ .hamburger span::before { top: -6px; }
126
+ .hamburger span::after { top: 6px; }
127
+ @media (max-width: 1024px) {
128
+ nav { display: none; }
129
+ .hamburger { display: inline-flex; }
130
+ .nav { grid-template-columns: auto auto 1fr; }
131
+ .nav-ctas { justify-self: end; }
132
+ }
133
+ .mobile-menu {
134
+ display: none;
135
+ position: fixed; inset: var(--header-h) 0 auto 0; z-index: 40;
136
+ background: linear-gradient(180deg, var(--bg-elev), var(--bg));
137
+ border-bottom: 1px solid var(--border);
138
+ padding: 12px var(--container);
139
+ }
140
+ .mobile-menu ul { display: grid; gap: 10px; list-style: none; }
141
+ .mobile-menu a { display: block; padding: 12px; border-radius: 12px; background: var(--glass); border: 1px solid var(--border); font-weight: 600; color: var(--text); }
142
+
143
+ /* ========== Hero ========== */
144
+ .hero {
145
+ position: relative;
146
+ padding-top: clamp(20px, 4vw, 60px);
147
+ overflow: hidden;
148
+ }
149
+ .hero::before {
150
+ content: "";
151
+ position: absolute; inset: -20% -10% auto -10%; height: 600px;
152
+ background:
153
+ radial-gradient(600px 280px at 20% 50%, rgba(124,58,237,.25), transparent 60%),
154
+ radial-gradient(500px 240px at 80% 40%, rgba(6,182,212,.25), transparent 60%);
155
+ filter: blur(20px);
156
+ pointer-events: none;
157
+ }
158
+ .hero-grid {
159
+ display: grid; gap: 32px;
160
+ grid-template-columns: 1.1fr 0.9fr;
161
+ align-items: center;
162
+ }
163
+ @media (max-width: 900px) {
164
+ .hero-grid { grid-template-columns: 1fr; }
165
+ }
166
+ .eyebrow {
167
+ display: inline-flex; align-items: center; gap: 10px;
168
+ padding: 6px 12px; border-radius: 999px; background: var(--glass); border: 1px solid var(--border);
169
+ color: var(--muted); font-weight: 700; font-size: 12px; letter-spacing: .3px; text-transform: uppercase;
170
+ }
171
+ .eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-3); box-shadow: 0 0 10px var(--brand-3); }
172
+ .hero h1 {
173
+ font-size: clamp(34px, 6vw, 60px);
174
+ line-height: 1.05; letter-spacing: -0.02em; margin: 14px 0 10px;
175
+ }
176
+ .hero p.lead {
177
+ font-size: clamp(16px, 2.2vw, 20px); color: var(--muted); max-width: 60ch;
178
+ }
179
+ .typed { color: transparent; }
180
+ .typed > span { color: var(--text); }
181
+ .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
182
+ .subnote { color: var(--muted); font-size: 13px; margin-top: 8px; }
183
+ .trust {
184
+ display: flex; gap: 18px; align-items: center; margin-top: 28px; color: var(--muted); font-weight: 600; flex-wrap: wrap;
185
+ }
186
+ .trust-logos { display: flex; gap: 12px; flex-wrap: wrap; }
187
+ .trust .badge {
188
+ padding: 6px 10px; border-radius: 999px; border: 1px solid var(--border); background: var(--glass);
189
+ display: inline-flex; align-items: center; gap: 8px; color: var(--text);
190
+ }
191
+ .hero-card {
192
+ background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
193
+ border: 1px solid var(--border); border-radius: var(--radius-lg);
194
+ padding: 16px; box-shadow: var(--shadow-2); position: relative; overflow: hidden;
195
+ }
196
+ .hero-card .api {
197
+ background: var(--bg-soft); border: 1px solid var(--border); border-radius: 14px; padding: 12px;
198
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
199
+ color: #d5e2ff; font-size: 14px; position: relative;
200
+ }
201
+ .api .copy {
202
+ position: absolute; top: 8px; right: 8px; font-size: 12px; padding: 6px 8px; border-radius: 10px; border: 1px solid var(--border);
203
+ background: var(--glass); color: var(--muted); font-weight: 700;
204
+ }
205
+ .api pre { margin-top: 8px; white-space: pre-wrap; }
206
+ .stats {
207
+ display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 12px;
208
+ }
209
+ .stat {
210
+ background: var(--glass); border: 1px solid var(--border); border-radius: 12px; padding: 12px;
211
+ }
212
+ .stat b { font-size: 18px; }
213
+ .stat small { color: var(--muted); display: block; margin-top: 4px; }
214
+
215
+ /* ========== Features ========== */
216
+ .features .card, .solutions .card {
217
+ background: var(--glass); border: 1px solid var(--border); border-radius: var(--radius);
218
+ padding: 20px; transition: transform .2s ease, background .2s ease, border-color .2s ease;
219
+ }
220
+ .features .card:hover, .solutions .card:hover {
221
+ transform: translateY(-2px);
222
+ border-color: rgba(124,58,237,.35);
223
+ background: linear-gradient(180deg, rgba(124,58,237,.08), transparent);
224
+ }
225
+ .icon {
226
+ width: 42px; height: 42px; border-radius: 10px;
227
+ display: grid; place-items: center; margin-bottom: 10px;
228
+ background: linear-gradient(135deg, rgba(124,58,237,.25), rgba(6,182,212,.25));
229
+ border: 1px solid var(--border);
230
+ }
231
+ .features h3, .solutions h3 { margin: 6px 0; font-size: 20px; }
232
+ .features p, .solutions p { color: var(--muted); }
233
+
234
+ /* ========== Solutions ========== */
235
+ .solutions .pill {
236
+ display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700;
237
+ padding: 6px 10px; border-radius: 999px; background: var(--glass); border: 1px solid var(--border); color: var(--muted);
238
+ }
239
+
240
+ /* ========== Pricing ========== */
241
+ .pricing .plan {
242
+ background: var(--glass); border: 1px solid var(--border); border-radius: var(--radius-lg);
243
+ padding: 24px; position: relative; overflow: hidden; transition: transform .2s ease, border-color .2s ease;
244
+ }
245
+ .pricing .plan:hover { transform: translateY(-3px); border-color: rgba(124,58,237,.35); }
246
+ .plan.featured {
247
+ background: linear-gradient(180deg, rgba(124,58,237,.14), rgba(6,182,212,.10));
248
+ border: 1px solid rgba(124,58,237,.35);
249
+ }
250
+ .price { font-size: 42px; font-weight: 800; letter-spacing: -0.02em; margin: 8px 0; }
251
+ .price small { color: var(--muted); font-size: 14px; font-weight: 600; }
252
+ .features-list { margin: 14px 0; display: grid; gap: 8px; }
253
+ .features-list li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; color: var(--text); }
254
+ .features-list svg { color: var(--brand-3); margin-top: 2px; }
255
+
256
+ /* ========== Security ========== */
257
+ .cert-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
258
+ @media (max-width: 900px) { .cert-grid { grid-template-columns: repeat(2, 1fr); } }
259
+ .cert {
260
+ padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--glass);
261
+ display: grid; gap: 6px; place-items: center; text-align: center; color: var(--muted); font-weight: 700;
262
+ }
263
+ .cert svg { width: 26px; height: 26px; color: var(--brand); }
264
+
265
+ /* ========== Contact Form ========== */
266
+ .form {
267
+ background: var(--glass); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 20px;
268
+ }
269
+ .form .row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
270
+ @media (max-width: 900px) { .form .row { grid-template-columns: 1fr; } }
271
+ .field { display: grid; gap: 6px; }
272
+ label { font-weight: 700; font-size: 14px; color: var(--muted); }
273
+ input[type="text"], input[type="email"], input[type="number"], select, textarea {
274
+ border: 1px solid var(--border); background: var(--bg-soft); color: var(--text);
275
+ border-radius: 12px; padding: 12px; transition: border-color .2s ease, background .2s ease;
276
+ }
277
+ textarea { min-height: 120px; resize: vertical; }
278
+ input:focus, select:focus, textarea:focus { border-color: rgba(124,58,237,.55); outline: none; background: var(--bg-elev); }
279
+ .helper { color: var(--muted); font-size: 12px; }
280
+ .success { display: none; margin-top: 12px; padding: 10px 12px; border: 1px solid rgba(34,197,94,.45); color: #d1fae5; background: rgba(34,197,94,.15); border-radius: 12px; }
281
+
282
+ /* ========== Footer ========== */
283
+ footer { border-top: 1px solid var(--border); background: linear-gradient(0deg, var(--bg-elev), transparent); }
284
+ .footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
285
+ @media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr; } }
286
+ .foot-links { display: flex; gap: 18px; flex-wrap: wrap; color: var(--muted); }
287
+ .copyright { color: var(--muted); }
288
+
289
+ /* ========== Reveal Animations ========== */
290
+ .reveal { opacity: 0; transform: translateY(16px) scale(.98); transition: opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1); }
291
+ .reveal.in-view { opacity: 1; transform: none; }
292
+ @media (prefers-reduced-motion: reduce) {
293
+ .reveal { opacity: 1; transform: none; }
294
+ .btn, .plan, .features .card { transition: none; }
295
+ }
296
+
297
+ /* ========== Utilities ========== */
298
+ .muted { color: var(--muted); }
299
+ .spacer { height: 16px; }
300
+ .divider { height: 1px; background: var(--border); margin: 18px 0; }
301
+ .pill { padding: 8px 12px; border: 1px solid var(--border); border-radius: 999px; background: var(--glass); }
302
+ .nowrap { white-space: nowrap; }
303
+ .tag { font-size: 12px; font-weight: 700; color: var(--muted); }
304
+ </style>
305
+ </head>
306
+ <body>
307
+ <!-- Header -->
308
+ <header>
309
+ <div class="container nav">
310
+ <a class="brand" href="#">
311
+ <span class="logo" aria-hidden="true"></span>
312
+ <span>NebulaForge DataCenter</span>
313
+ <small>LLM Data Infrastructure</small>
314
+ </a>
315
+
316
+ <nav aria-label="Primary">
317
+ <ul>
318
+ <li><a href="#solutions">Solutions</a></li>
319
+ <li><a href="#features">Features</a></li>
320
+ <li><a href="#pricing">Pricing</a></li>
321
+ <li><a href="#security">Security</a></li>
322
+ <li><a href="#contact">Contact</a></li>
323
+ </ul>
324
+ </nav>
325
+
326
+ <div class="nav-ctas">
327
+ <button class="theme-toggle" id="themeToggle" aria-label="Toggle theme" title="Toggle theme">
328
+ <svg id="iconMoon" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 1 0 9.79 9.79z"/></svg>
329
+ <svg id="iconSun" style="display:none" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M6.76 4.84l-1.8-1.79L3.17 4.84l1.79 1.79 1.8-1.79zM1 13h3v-2H1v2zm10 10h2v-3h-2v3zM4.22 19.78l1.79-1.79-1.8-1.8-1.79 1.8 1.8 1.79zM20 1h-2v3h2V1zm-1.76 3.05l-1.79 1.79 1.79 1.79 1.8-1.79-1.8-1.79zM12 6a6 6 0 100 12A6 6 0 0012 6zm7 12.95l-1.8-1.79-1.79 1.79 1.79 1.8 1.8-1.8zM12 1h-2v3h2V1z"/></svg>
330
+ </button>
331
+ <a class="btn btn-ghost" href="#docs">Docs</a>
332
+ <a class="btn btn-primary" href="#contact">Get started</a>
333
+ <button class="hamburger" id="hamburger" aria-label="Open menu" aria-expanded="false" aria-controls="mobileMenu">
334
+ <span></span>
335
+ </button>
336
+ </div>
337
+ </div>
338
+ <div class="mobile-menu" id="mobileMenu" role="dialog" aria-label="Mobile menu">
339
+ <ul>
340
+ <li><a href="#solutions">Solutions</a></li>
341
+ <li><a href="#features">Features</a></li>
342
+ <li><a href="#pricing">Pricing</a></li>
343
+ <li><a href="#security">Security</a></li>
344
+ <li><a href="#contact">Contact</a></li>
345
+ <li><a class="btn btn-primary" href="#contact">Get started</a></li>
346
+ </ul>
347
+ </div>
348
+ </header>
349
+
350
+ <!-- Hero -->
351
+ <section class="hero section">
352
+ <div class="container hero-grid">
353
+ <div class="reveal">
354
+ <span class="eyebrow"><span class="dot"></span> Petabyte-scale • Multi-region • S3-compatible</span>
355
+ <h1>
356
+ The datacenter built to serve
357
+ <span class="typed"><span id="typed"></span></span>
358
+ </h1>
359
+ <p class="lead">
360
+ NebulaForge provides secure, high‑throughput pipelines for LLM training, fine‑tuning, and inference data. Store, version, and serve billions of tokens with enterprise‑grade privacy and SLAs.
361
+ </p>
362
+ <div class="cta-row">
363
+ <a class="btn btn-primary" href="#contact">Talk to an engineer</a>
364
+ <a class="btn" href="#docs">Explore docs</a>
365
+ </div>
366
+ <div class="trust">
367
+ <span>Trusted by teams at</span>
368
+ <div class="trust-logos" aria-label="Trusted logos">
369
+ <span class="badge">OpenAI‑compatible APIs</span>
370
+ <span class="badge">Anthropic‑ready</span>
371
+ <span class="badge">Azure • AWS • GCP</span>
372
+ <span class="badge">Self‑hosted agents</span>
373
+ </div>
374
+ </div>
375
+ </div>
376
+
377
+ <div class="hero-card reveal" aria-label="API preview">
378
+ <div class="api">
379
+ <button class="copy" id="copyAPI">Copy</button>
380
+ <div class="tag">curl • ingest</div>
381
+ <pre id="apiCode">curl -X POST https://api.nebulaforge.ai/v1/ingest \
382
+ -H "Authorization: Bearer $NEBULA_TOKEN" \
383
+ -F "dataset=@/path/to/corpus.parquet" \
384
+ -F "deduplicate=true" \
385
+ -F "hash_col=id" \
386
+ -F "lang=en"</pre>
387
+ </div>
388
+ <div class="stats">
389
+ <div class="stat">
390
+ <b>5.6 PB</b>
391
+ <small>Active datasets</small>
392
+ </div>
393
+ <div class="stat">
394
+ <b>12 ms</b>
395
+ <small>P95 vector latency</small>
396
+ </div>
397
+ <div class="stat">
398
+ <b>99.99%</b>
399
+ <small>Availability SLA</small>
400
+ </div>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </section>
405
+
406
+ <!-- Solutions -->
407
+ <section id="solutions" class="section">
408
+ <div class="container">
409
+ <div class="reveal" style="display:flex; align-items: end; justify-content: space-between; gap: 16px; flex-wrap: wrap;">
410
+ <div>
411
+ <span class="eyebrow">Solutions</span>
412
+ <h2 style="font-size: clamp(26px, 3.6vw, 38px); margin-top: 8px;">Everything you need to ship LLM products</h2>
413
+ <p class="muted" style="margin-top: 8px; max-width: 60ch;">From raw data to serving billions of embeddings, NebulaForge unifies storage, processing, and delivery for LLM workloads.</p>
414
+ </div>
415
+ <a class="btn" href="#pricing">View pricing</a>
416
+ </div>
417
+
418
+ <div class="spacer"></div>
419
+
420
+ <div class="solutions grid grid-3">
421
+ <div class="card reveal">
422
+ <span class="pill">
423
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 24 24"><path d="M3 13h2v8H3v-8zm4-3h2v11H7V10zm4-6h2v17h-2V4zm4 8h2v9h-2v-9zm4-4h2v13h-2V8z"/></svg>
424
+ Ingest & Deduplicate
425
+ </span>
426
+ <h3>Streaming ETL for LLMs</h3>
427
+ <p>Schema-aware ingestion with on‑the‑fly language detection, PII redaction, canonicalization, and exact/近似 deduplication.</p>
428
+ <div class="spacer"></div>
429
+ <ul class="features-list">
430
+ <li>
431
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>
432
+ LangDetect + FastText
433
+ </li>
434
+ <li>
435
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>
436
+ MinHash + SimHash
437
+ </li>
438
+ <li>
439
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>
440
+ PII scrub (NER)
441
+ </li>
442
+ </ul>
443
+ </div>
444
+
445
+ <div class="card reveal">
446
+ <span class="pill">
447
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2l4 4-4 4-4-4 4-4zm0 6l4 4-4 4-4-4 4-4zm0 6l4 4-4 4-4-4 4-4z"/></svg>
448
+ Vector DB + RAG
449
+ </span>
450
+ <h3>Low‑latency vector search</h3>
451
+ <p>Multi‑tenant vector DB with HNSW/IVF, hybrid keyword + semantic search, and streaming updates for agentic RAG.</p>
452
+ <div class="spacer"></div>
453
+ <ul class="features-list">
454
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>1B+ vectors</li>
455
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>Hybrid search</li>
456
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>Streaming upserts</li>
457
+ </ul>
458
+ </div>
459
+
460
+ <div class="card reveal">
461
+ <span class="pill">
462
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 24 24"><path d="M4 4h16v6H4V4zm0 8h10v8H4v-8z"/></svg>
463
+ S3‑compatible store
464
+ </span>
465
+ <h3>Durable, versioned object storage</h3>
466
+ <p>Immutable snapshots, bucket versioning, lifecycle policies, and geo‑replication for training corpora and checkpoints.</p>
467
+ <div class="spacer"></div>
468
+ <ul class="features-list">
469
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>11x9s durability</li>
470
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>Multi‑region</li>
471
+ <li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 24 24"><path d="M9 16.17l-3.88-3.88L3.7 13.71 9 19l12-12-1.41-1.41z"/></svg>Lifecycle + KMS</li>
472
+ </ul>
473
+ </div>
474
+ </div>
475
+ </div>
476
+ </section>
477
+
478
+ <!-- Features -->
479
+ <section id="features" class="section">
480
+ <div class="container">
481
+ <div class="reveal">
482
+ <span class="eyebrow">Features</span>
483
+ <h2 style="font-size: clamp(26px, 3.6vw, 38px); margin-top: 8px;">Built for scale, security, and velocity</h2>
484
+ </div>
485
+ <div class="spacer"></div>
486
+ <div class="features grid grid-4">
487
+ <div class="card reveal">
488
+ <div class="icon" aria-hidden="true">
489
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>
490
+ </div>
491
+ <h3>High‑throughput pipelines</h3>
492
+ <p>Sharded, fault‑tolerant workers with backpressure and retries. 20 GB/s per rack sustained.</p>
493
+ </div>
494
+ <div class="card reveal">
495
+ <div class="icon" aria-hidden="true">
496
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12 1l9 4v6c0 5-3.8 9.7-9 11-5.2-1.3-9-6-9-11V5l9-4zm0 6a3 3 0 100 6 3 3 0 000-6z"/></svg>
497
+ </div>
498
+ <h3>Privacy & compliance</h3>
499
+ <p>SOC 2 Type II, ISO 27001, GDPR DPA. Region pinning and per‑tenant KMS keys.</p>
500
+ </div>
501
+ <div class="card reveal">
502
+ <div class="icon" aria-hidden="true">
503
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M3 3h18v2H3V3zm2 4h14v2H5V7zm-2 4h18v2H3v-2zm2 4h14v2H5v-2zm-2 4h18v2H3v-2z"/></svg>
504
+ </div>
505
+ <h3>Global edge caching</h3>
506
+ <p>Multi‑CDN with signed URLs and smart cache keys to accelerate fine‑tuning and inference I/O.</p>
507
+ </div>
508
+ <div class="card reveal">
509
+ <div class="icon" aria-hidden="true">
510
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M3 13h2v8H3v-8zm4-6h2v14H7V7zm4-3h2v17h-2V4zm4 8h2v9h-2v-9zm4-4h2v13h-2V8z"/></svg>
511
+ </div>
512
+ <h3>Observability</h3>
513
+ <p>Per‑pipeline metrics, token‑aware cost tracing, and data lineage for governance.</p>
514
+ </div>
515
+ <div class="card reveal">
516
+ <div class="icon" aria-hidden="true">
517
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12 3l10 6-10 6L2 9l10-6zm0 8l10 6-10 6-10-6 10-6z"/></svg>
518
+ </div>
519
+ <h3>Synthetic data</h3>
520
+ <p>Rule‑guided generation with safety filters and eval‑ready feedback loops.</p>
521
+ </div>
522
+ <div class="card reveal">
523
+ <div class="icon" aria-hidden="true">
524
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M4 4h16v4H4V4zm0 6h10v10H4V10zm12 0h4v10h-4V10z"/></svg>
525
+ </div>
526
+ <h3>Data curation suite</h3>
527
+ <p>Active learning, clustering, dedup, and domain filters. Export to DPO formats.</p>
528
+ </div>
529
+ <div class="card reveal">
530
+ <div class="icon" aria-hidden="true">
531
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1010 10A10.011 10.011 0 0012 2zm1 15h-2v-2h2zm0-4h-2V7h2z"/></svg>
532
+ </div>
533
+ <h3>Security first</h3>
534
+ <p>Private networking, per‑dataset ACLs, field‑level encryption, and tamper‑evident logs.</p>
535
+ </div>
536
+ <div class="card reveal">
537
+ <div class="icon" aria-hidden="true">
538
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" view