ReverseFaceSearch commited on
Commit
d86126d
·
verified ·
1 Parent(s): 5d4f485

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +981 -18
style.css CHANGED
@@ -1,28 +1,991 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
 
 
 
 
 
 
 
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
 
1
+ :root {
2
+ --page-bg: #fafafa;
3
+ --surface: #ffffff;
4
+ --text: #0f172a;
5
+ --text-secondary: #64748b;
6
+ --text-muted: #94a3b8;
7
+ --border: #e2e8f0;
8
+ --indigo: #4f46e5;
9
+ --violet: #7c3aed;
10
+ --gradient: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
11
+ --card-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 16px 40px -12px rgba(79, 70, 229, 0.14);
12
+ --wide-shadow: 0 2px 4px rgba(15, 23, 42, 0.04), 0 24px 60px -16px rgba(79, 70, 229, 0.18);
13
+ --font: "Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
14
+ }
15
+
16
+ * {
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ [hidden] {
21
+ display: none !important;
22
+ }
23
+
24
+ html {
25
+ scroll-behavior: smooth;
26
+ -webkit-text-size-adjust: 100%;
27
+ text-size-adjust: 100%;
28
+ overflow-x: hidden;
29
+ }
30
+
31
  body {
32
+ min-width: 320px;
33
+ margin: 0;
34
+ overflow-x: hidden;
35
+ background: var(--page-bg);
36
+ color: var(--text);
37
+ font-family: var(--font);
38
+ -webkit-font-smoothing: antialiased;
39
+ text-rendering: optimizeLegibility;
40
+ }
41
+
42
+ button,
43
+ input {
44
+ font: inherit;
45
+ }
46
+
47
+ button,
48
+ a {
49
+ -webkit-tap-highlight-color: transparent;
50
+ }
51
+
52
+ a {
53
+ color: inherit;
54
+ text-decoration: none;
55
+ }
56
+
57
+ svg {
58
+ display: block;
59
+ }
60
+
61
+ .container {
62
+ width: min(100% - 48px, 1120px);
63
+ margin-inline: auto;
64
+ }
65
+
66
+ .page-glow {
67
+ position: fixed;
68
+ z-index: -1;
69
+ pointer-events: none;
70
+ border-radius: 999px;
71
+ filter: blur(60px);
72
+ }
73
+
74
+ .page-glow--top {
75
+ top: -35vh;
76
+ left: 50%;
77
+ width: 62vh;
78
+ height: 62vh;
79
+ transform: translateX(-50%);
80
+ background: radial-gradient(circle, rgba(79, 70, 229, 0.55), transparent 70%);
81
+ opacity: 0.07;
82
+ }
83
+
84
+ .page-glow--side {
85
+ top: 24vh;
86
+ right: -18vh;
87
+ width: 42vh;
88
+ height: 42vh;
89
+ background: radial-gradient(circle, rgba(139, 92, 246, 0.5), transparent 70%);
90
+ opacity: 0.05;
91
+ }
92
+
93
+ .site-header {
94
+ position: sticky;
95
+ top: 0;
96
+ z-index: 20;
97
+ border-bottom: 1px solid rgba(226, 232, 240, 0.8);
98
+ background: rgba(250, 250, 250, 0.86);
99
+ backdrop-filter: blur(14px);
100
+ -webkit-backdrop-filter: blur(14px);
101
+ }
102
+
103
+ .header-inner {
104
+ display: flex;
105
+ width: 100%;
106
+ align-items: center;
107
+ padding: 12px 32px;
108
+ }
109
+
110
+ .brand {
111
+ display: inline-flex;
112
+ align-items: center;
113
+ gap: 10px;
114
+ font-size: 16px;
115
+ font-weight: 700;
116
+ letter-spacing: -0.025em;
117
+ transition: opacity 150ms ease;
118
+ }
119
+
120
+ .brand:hover {
121
+ opacity: 0.76;
122
+ }
123
+
124
+ .brand-icon {
125
+ display: inline-flex;
126
+ width: 36px;
127
+ height: 36px;
128
+ flex: 0 0 auto;
129
+ align-items: center;
130
+ justify-content: center;
131
+ border-radius: 12px;
132
+ color: #fff;
133
+ background: linear-gradient(135deg, #2563eb, #7c3aed);
134
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
135
+ }
136
+
137
+ .brand-icon svg {
138
+ width: 18px;
139
+ height: 18px;
140
+ }
141
+
142
+ .brand-icon path {
143
+ fill: none;
144
+ stroke: currentColor;
145
+ stroke-width: 1.6;
146
+ stroke-linecap: round;
147
+ stroke-linejoin: round;
148
+ }
149
+
150
+ .brand-icon circle {
151
+ fill: currentColor;
152
+ }
153
+
154
+ .brand-gradient,
155
+ .footer-brand span {
156
+ color: transparent;
157
+ background: linear-gradient(90deg, #2563eb, #7c3aed);
158
+ background-clip: text;
159
+ -webkit-background-clip: text;
160
+ }
161
+
162
+ .hero {
163
+ position: relative;
164
+ overflow: hidden;
165
+ padding: 42px 0 76px;
166
+ }
167
+
168
+ .hero-container {
169
+ position: relative;
170
+ z-index: 1;
171
+ text-align: center;
172
+ }
173
+
174
+ .hero h1 {
175
+ max-width: 768px;
176
+ margin: 0 auto;
177
+ font-size: clamp(2.15rem, calc(2.8vw + 1.25rem), 3.5rem);
178
+ font-weight: 700;
179
+ line-height: 1.05;
180
+ letter-spacing: -0.045em;
181
+ }
182
+
183
+ .hero h1 span {
184
+ display: block;
185
+ }
186
+
187
+ .hero-subtitle {
188
+ max-width: 600px;
189
+ margin: 12px auto 24px;
190
+ color: var(--text-secondary);
191
+ font-size: 16px;
192
+ line-height: 1.6;
193
+ }
194
+
195
+ .network-pattern {
196
+ position: absolute;
197
+ inset: 0;
198
+ opacity: 0.28;
199
+ background-image: radial-gradient(circle, rgba(99, 102, 241, 0.28) 1px, transparent 1.6px);
200
+ background-size: 30px 30px;
201
+ mask-image: radial-gradient(ellipse 63% 62% at 50% 45%, transparent 56%, #000 100%);
202
+ -webkit-mask-image: radial-gradient(ellipse 63% 62% at 50% 45%, transparent 56%, #000 100%);
203
+ pointer-events: none;
204
+ }
205
+
206
+ .hero-node {
207
+ position: absolute;
208
+ border: 1px dashed rgba(129, 140, 248, 0.38);
209
+ border-radius: 50%;
210
+ pointer-events: none;
211
+ }
212
+
213
+ .hero-node::after {
214
+ content: "";
215
+ position: absolute;
216
+ inset: 8px;
217
+ border-radius: inherit;
218
+ background: linear-gradient(135deg, #eef2ff, #ddd6fe);
219
+ box-shadow: 0 12px 32px -10px rgba(99, 102, 241, 0.22);
220
+ }
221
+
222
+ .hero-node--left {
223
+ top: 185px;
224
+ left: max(18px, calc(50% - 455px));
225
+ width: 72px;
226
+ height: 72px;
227
+ opacity: 0.62;
228
+ }
229
+
230
+ .hero-node--right {
231
+ right: max(20px, calc(50% - 445px));
232
+ bottom: 105px;
233
+ width: 54px;
234
+ height: 54px;
235
+ opacity: 0.5;
236
  }
237
 
238
+ .upload-shell {
239
+ width: min(100%, 672px);
240
+ margin-inline: auto;
241
  }
242
 
243
+ .upload-card {
244
+ position: relative;
245
+ overflow: hidden;
246
+ min-height: 264px;
247
+ padding: 40px 40px 22px;
248
+ border: 1px solid var(--border);
249
+ border-radius: 32px;
250
+ background: var(--surface);
251
+ box-shadow: var(--wide-shadow);
252
+ cursor: pointer;
253
+ outline: none;
254
+ transition: border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
255
  }
256
 
257
+ .upload-card:hover,
258
+ .upload-card:focus-visible {
259
+ border-color: rgba(165, 180, 252, 0.8);
260
+ box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04), 0 28px 68px -16px rgba(79, 70, 229, 0.22);
 
 
261
  }
262
 
263
+ .upload-card.is-dragging {
264
+ border-color: #a5b4fc;
265
+ background: rgba(238, 242, 255, 0.42);
266
+ transform: scale(1.005);
267
+ }
268
+
269
+ .upload-accent {
270
+ position: absolute;
271
+ inset: 0 0 auto;
272
+ height: 4px;
273
+ background: linear-gradient(90deg, #3b82f6, #6366f1, #8b5cf6);
274
+ opacity: 0.7;
275
+ }
276
+
277
+ .upload-empty,
278
+ .upload-preview {
279
+ display: flex;
280
+ min-height: 150px;
281
+ flex-direction: column;
282
+ align-items: center;
283
+ justify-content: center;
284
+ gap: 14px;
285
+ }
286
+
287
+ .upload-icon {
288
+ position: relative;
289
+ display: inline-flex;
290
+ width: 64px;
291
+ height: 64px;
292
+ align-items: center;
293
+ justify-content: center;
294
+ border: 1px solid rgba(199, 210, 254, 0.75);
295
+ border-radius: 16px;
296
+ color: #4f46e5;
297
+ background: linear-gradient(135deg, #eef2ff, #f5f3ff);
298
+ }
299
+
300
+ .upload-icon::before {
301
+ content: "";
302
+ position: absolute;
303
+ inset: -8px;
304
+ border: 1.5px dashed rgba(129, 140, 248, 0.35);
305
+ border-radius: 20px;
306
+ animation: ring-pulse 3.6s ease-in-out infinite;
307
+ }
308
+
309
+ .upload-icon svg {
310
+ width: 27px;
311
+ height: 27px;
312
+ }
313
+
314
+ .upload-icon path,
315
+ .card-icon path,
316
+ .card-icon circle,
317
+ .card-icon rect {
318
+ fill: none;
319
+ stroke: currentColor;
320
+ stroke-width: 1.55;
321
+ stroke-linecap: round;
322
+ stroke-linejoin: round;
323
+ }
324
+
325
+ .upload-title {
326
+ margin: 0;
327
+ font-size: 24px;
328
+ font-weight: 700;
329
+ letter-spacing: -0.025em;
330
+ }
331
+
332
+ .upload-prompt {
333
+ margin: 5px 0 0;
334
+ color: var(--text-secondary);
335
+ font-size: 15px;
336
+ }
337
+
338
+ .upload-prompt span {
339
+ color: #4f46e5;
340
+ font-weight: 500;
341
+ }
342
+
343
+ .upload-preview img {
344
+ width: 144px;
345
+ height: 144px;
346
+ border: 1px solid #e0e7ff;
347
+ border-radius: 16px;
348
+ object-fit: cover;
349
+ box-shadow: 0 8px 24px rgba(79, 70, 229, 0.14);
350
+ }
351
+
352
+ .preview-details {
353
+ display: flex;
354
+ max-width: 100%;
355
+ align-items: center;
356
+ justify-content: center;
357
+ gap: 12px;
358
+ color: #475569;
359
+ font-size: 14px;
360
+ }
361
+
362
+ #file-name {
363
+ max-width: 260px;
364
+ overflow: hidden;
365
+ text-overflow: ellipsis;
366
+ white-space: nowrap;
367
+ }
368
+
369
+ .change-photo {
370
+ padding: 0;
371
+ border: 0;
372
+ color: #4f46e5;
373
+ background: transparent;
374
+ cursor: pointer;
375
+ text-decoration: underline;
376
+ text-underline-offset: 2px;
377
+ }
378
+
379
+ .upload-meta {
380
+ display: flex;
381
+ flex-wrap: wrap;
382
+ align-items: center;
383
+ justify-content: center;
384
+ gap: 4px 20px;
385
+ margin-top: 18px;
386
+ color: var(--text-muted);
387
+ font-size: 12px;
388
+ line-height: 1.5;
389
+ }
390
+
391
+ .upload-meta strong {
392
+ color: var(--text-secondary);
393
+ font-weight: 500;
394
+ }
395
+
396
+ .meta-dot {
397
+ color: #cbd5e1;
398
+ }
399
+
400
+ .upload-error {
401
+ margin: 10px 0 0;
402
+ color: #e11d48;
403
+ font-size: 14px;
404
+ }
405
+
406
+ .primary-button {
407
+ display: inline-flex;
408
+ min-height: 48px;
409
+ align-items: center;
410
+ justify-content: center;
411
+ padding: 13px 40px;
412
+ border: 0;
413
+ border-radius: 999px;
414
+ color: #fff;
415
+ background: var(--gradient);
416
+ box-shadow: 0 4px 16px rgba(79, 70, 229, 0.28);
417
+ cursor: pointer;
418
+ font-size: 15px;
419
+ font-weight: 600;
420
+ letter-spacing: 0.04em;
421
+ line-height: 1.2;
422
+ transition: transform 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
423
+ }
424
+
425
+ .primary-button:not(:disabled):hover {
426
+ transform: scale(1.02);
427
+ box-shadow: 0 6px 22px rgba(79, 70, 229, 0.38);
428
+ }
429
+
430
+ .primary-button:focus-visible {
431
+ outline: 3px solid rgba(99, 102, 241, 0.28);
432
+ outline-offset: 3px;
433
+ }
434
+
435
+ .primary-button:disabled {
436
+ opacity: 0.4;
437
+ cursor: not-allowed;
438
+ }
439
+
440
+ .hero-button {
441
+ margin-top: 16px;
442
+ }
443
+
444
+ .capabilities {
445
+ display: flex;
446
+ max-width: 920px;
447
+ flex-wrap: wrap;
448
+ align-items: center;
449
+ justify-content: center;
450
+ gap: 8px 16px;
451
+ margin: 16px auto 0;
452
+ color: var(--text-muted);
453
+ font-size: 12px;
454
+ }
455
+
456
+ .capabilities span {
457
+ white-space: nowrap;
458
+ }
459
+
460
+ .capabilities span::first-letter {
461
+ color: #6366f1;
462
+ }
463
+
464
+ .section {
465
+ padding: 92px 0;
466
+ }
467
+
468
+ .features {
469
+ border-top: 1px solid rgba(226, 232, 240, 0.75);
470
+ background: rgba(255, 255, 255, 0.55);
471
+ }
472
+
473
+ .section-heading {
474
+ max-width: 720px;
475
+ margin: 0 auto 42px;
476
+ text-align: center;
477
+ }
478
+
479
+ .section-heading h2,
480
+ .final-cta h2 {
481
+ margin: 0;
482
+ font-size: clamp(2rem, 3.5vw, 2.65rem);
483
+ font-weight: 700;
484
+ line-height: 1.14;
485
+ letter-spacing: -0.04em;
486
+ }
487
+
488
+ .section-heading p {
489
+ margin: 14px auto 0;
490
+ color: var(--text-secondary);
491
+ font-size: 16px;
492
+ line-height: 1.7;
493
+ }
494
+
495
+ .feature-grid {
496
+ display: grid;
497
+ grid-template-columns: repeat(3, minmax(0, 1fr));
498
+ gap: 20px;
499
+ }
500
+
501
+ .info-card {
502
+ min-height: 238px;
503
+ padding: 28px;
504
+ border: 1px solid var(--border);
505
+ border-radius: 24px;
506
+ background: var(--surface);
507
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03), 0 14px 34px -20px rgba(79, 70, 229, 0.22);
508
+ transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
509
+ }
510
+
511
+ .info-card:hover {
512
+ transform: translateY(-2px);
513
+ border-color: #c7d2fe;
514
+ box-shadow: var(--card-shadow);
515
+ }
516
+
517
+ .card-icon {
518
+ display: inline-flex;
519
+ width: 46px;
520
+ height: 46px;
521
+ align-items: center;
522
+ justify-content: center;
523
+ border: 1px solid #e0e7ff;
524
+ border-radius: 14px;
525
+ color: #4f46e5;
526
+ background: linear-gradient(135deg, #eef2ff, #f5f3ff);
527
+ }
528
+
529
+ .card-icon svg {
530
+ width: 22px;
531
+ height: 22px;
532
+ }
533
+
534
+ .info-card h3,
535
+ .step h3 {
536
+ margin: 20px 0 9px;
537
+ font-size: 18px;
538
+ font-weight: 700;
539
+ letter-spacing: -0.025em;
540
+ }
541
+
542
+ .info-card p,
543
+ .step p {
544
+ margin: 0;
545
+ color: var(--text-secondary);
546
+ font-size: 14px;
547
+ line-height: 1.7;
548
+ }
549
+
550
+ .how-it-works {
551
+ background: var(--page-bg);
552
+ }
553
+
554
+ .steps {
555
+ display: grid;
556
+ grid-template-columns: repeat(3, minmax(0, 1fr));
557
+ gap: 52px;
558
+ max-width: 1020px;
559
+ margin: 0 auto;
560
+ }
561
+
562
+ .step {
563
+ position: relative;
564
+ text-align: center;
565
+ }
566
+
567
+ .step:not(:last-child)::after {
568
+ content: "";
569
+ position: absolute;
570
+ top: 28px;
571
+ left: calc(50% + 48px);
572
+ width: calc(100% - 44px);
573
+ height: 1px;
574
+ background: linear-gradient(90deg, #c7d2fe, #ddd6fe);
575
+ }
576
+
577
+ .step-number {
578
+ position: relative;
579
+ z-index: 1;
580
+ display: inline-flex;
581
+ width: 58px;
582
+ height: 58px;
583
+ align-items: center;
584
+ justify-content: center;
585
+ border: 1px solid #c7d2fe;
586
+ border-radius: 50%;
587
+ color: #4f46e5;
588
+ background: linear-gradient(135deg, #fff, #f5f3ff);
589
+ box-shadow: 0 8px 22px -12px rgba(79, 70, 229, 0.45);
590
+ font-size: 14px;
591
+ font-weight: 700;
592
+ letter-spacing: 0.06em;
593
+ }
594
+
595
+ .step h3 {
596
+ margin-top: 20px;
597
+ }
598
+
599
+ .section-button {
600
+ margin: 42px auto 0;
601
+ }
602
+
603
+ .how-it-works .container {
604
+ text-align: center;
605
+ }
606
+
607
+ .faq-section {
608
+ border-top: 1px solid rgba(226, 232, 240, 0.75);
609
+ background: rgba(255, 255, 255, 0.58);
610
+ }
611
+
612
+ .faq-container {
613
+ max-width: 880px;
614
+ }
615
+
616
+ .faq-section .section-heading {
617
+ margin-bottom: 34px;
618
+ }
619
+
620
+ .faq-list {
621
+ display: grid;
622
+ gap: 12px;
623
+ }
624
+
625
+ .faq-item {
626
+ overflow: hidden;
627
+ border: 1px solid var(--border);
628
+ border-radius: 18px;
629
+ background: var(--surface);
630
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
631
+ transition: border-color 180ms ease, box-shadow 180ms ease;
632
+ }
633
+
634
+ .faq-item.is-open {
635
+ border-color: #c7d2fe;
636
+ box-shadow: 0 8px 28px -22px rgba(79, 70, 229, 0.36);
637
+ }
638
+
639
+ .faq-item h3 {
640
+ margin: 0;
641
+ }
642
+
643
+ .faq-question {
644
+ display: flex;
645
+ width: 100%;
646
+ align-items: center;
647
+ justify-content: space-between;
648
+ gap: 24px;
649
+ padding: 21px 22px;
650
+ border: 0;
651
+ color: var(--text);
652
+ background: transparent;
653
+ cursor: pointer;
654
+ text-align: left;
655
+ font-size: 15px;
656
+ font-weight: 700;
657
+ line-height: 1.45;
658
+ }
659
+
660
+ .faq-question:focus-visible {
661
+ outline: 3px solid rgba(99, 102, 241, 0.2);
662
+ outline-offset: -3px;
663
+ }
664
+
665
+ .chevron {
666
+ width: 9px;
667
+ height: 9px;
668
+ flex: 0 0 auto;
669
+ margin-right: 3px;
670
+ border-right: 1.75px solid #64748b;
671
+ border-bottom: 1.75px solid #64748b;
672
+ transform: rotate(45deg) translateY(-2px);
673
+ transition: transform 180ms ease;
674
+ }
675
+
676
+ .faq-question[aria-expanded="true"] .chevron {
677
+ transform: rotate(225deg) translate(-2px, -2px);
678
+ }
679
+
680
+ .faq-answer {
681
+ max-height: 0;
682
+ overflow: hidden;
683
+ opacity: 0;
684
+ transition: max-height 220ms ease, opacity 180ms ease;
685
+ }
686
+
687
+ .faq-answer.is-open {
688
+ max-height: 260px;
689
+ opacity: 1;
690
+ }
691
+
692
+ .faq-answer p {
693
+ margin: 0;
694
+ padding: 0 54px 22px 22px;
695
+ color: var(--text-secondary);
696
+ font-size: 14px;
697
+ line-height: 1.7;
698
+ }
699
+
700
+ .final-cta {
701
+ padding: 94px 0 100px;
702
+ text-align: center;
703
+ }
704
+
705
+ .final-cta p {
706
+ max-width: 620px;
707
+ margin: 15px auto 28px;
708
+ color: var(--text-secondary);
709
+ font-size: 16px;
710
+ line-height: 1.65;
711
+ }
712
+
713
+ .site-footer {
714
+ border-top: 1px solid rgba(226, 232, 240, 0.8);
715
+ background: rgba(255, 255, 255, 0.72);
716
+ }
717
+
718
+ .footer-inner {
719
+ padding-top: 32px;
720
+ padding-bottom: 30px;
721
+ text-align: center;
722
+ }
723
+
724
+ .footer-brand {
725
+ margin: 0;
726
+ font-size: 15px;
727
+ font-weight: 700;
728
+ letter-spacing: -0.02em;
729
+ }
730
+
731
+ .footer-topics {
732
+ display: flex;
733
+ flex-wrap: wrap;
734
+ justify-content: center;
735
+ gap: 4px 10px;
736
+ margin: 14px 0 0;
737
+ color: var(--text-secondary);
738
+ font-size: 13px;
739
+ }
740
+
741
+ .copyright {
742
+ margin: 16px 0 0;
743
+ color: var(--text-muted);
744
+ font-size: 12px;
745
+ }
746
+
747
+ @keyframes ring-pulse {
748
+ 0%,
749
+ 100% {
750
+ opacity: 0.45;
751
+ transform: scale(1);
752
+ }
753
+ 50% {
754
+ opacity: 0.85;
755
+ transform: scale(1.04);
756
+ }
757
+ }
758
+
759
+ @media (max-width: 767px) {
760
+ .container {
761
+ width: min(100% - 32px, 1120px);
762
+ }
763
+
764
+ .header-inner {
765
+ padding: 10px 16px;
766
+ }
767
+
768
+ .brand {
769
+ gap: 9px;
770
+ font-size: 14px;
771
+ }
772
+
773
+ .brand-icon {
774
+ width: 34px;
775
+ height: 34px;
776
+ border-radius: 11px;
777
+ }
778
+
779
+ .hero {
780
+ padding: 34px 0 58px;
781
+ }
782
+
783
+ .hero h1 {
784
+ max-width: 520px;
785
+ font-size: clamp(2.05rem, 10vw, 2.75rem);
786
+ }
787
+
788
+ .hero-subtitle {
789
+ margin-top: 12px;
790
+ margin-bottom: 20px;
791
+ font-size: 14px;
792
+ }
793
+
794
+ .network-pattern,
795
+ .hero-node {
796
+ display: none;
797
+ }
798
+
799
+ .upload-card {
800
+ min-height: 245px;
801
+ padding: 30px 20px 20px;
802
+ border-radius: 28px;
803
+ box-shadow: var(--card-shadow);
804
+ }
805
+
806
+ .upload-empty,
807
+ .upload-preview {
808
+ min-height: 145px;
809
+ }
810
+
811
+ .upload-icon {
812
+ width: 56px;
813
+ height: 56px;
814
+ }
815
+
816
+ .upload-title {
817
+ font-size: 20px;
818
+ }
819
+
820
+ .upload-prompt {
821
+ font-size: 14px;
822
+ }
823
+
824
+ .upload-meta {
825
+ gap: 2px;
826
+ font-size: 11px;
827
+ }
828
+
829
+ .upload-meta > span {
830
+ width: 100%;
831
+ }
832
+
833
+ .upload-meta .meta-dot {
834
+ display: none;
835
+ }
836
+
837
+ .upload-preview img {
838
+ width: 120px;
839
+ height: 120px;
840
+ }
841
+
842
+ .preview-details {
843
+ flex-wrap: wrap;
844
+ gap: 5px 12px;
845
+ }
846
+
847
+ #file-name {
848
+ max-width: 200px;
849
+ }
850
+
851
+ .hero-button {
852
+ width: 100%;
853
+ }
854
+
855
+ .capabilities {
856
+ max-width: 390px;
857
+ gap: 6px 12px;
858
+ font-size: 10px;
859
+ }
860
+
861
+ .section {
862
+ padding: 68px 0;
863
+ }
864
+
865
+ .section-heading {
866
+ margin-bottom: 30px;
867
+ }
868
+
869
+ .section-heading h2,
870
+ .final-cta h2 {
871
+ font-size: clamp(1.75rem, 8vw, 2.15rem);
872
+ }
873
+
874
+ .section-heading p {
875
+ margin-top: 12px;
876
+ font-size: 14px;
877
+ line-height: 1.65;
878
+ }
879
+
880
+ .feature-grid {
881
+ grid-template-columns: 1fr;
882
+ gap: 14px;
883
+ }
884
+
885
+ .info-card {
886
+ min-height: auto;
887
+ padding: 23px;
888
+ border-radius: 20px;
889
+ }
890
+
891
+ .info-card h3 {
892
+ margin-top: 16px;
893
+ }
894
+
895
+ .steps {
896
+ grid-template-columns: 1fr;
897
+ gap: 42px;
898
+ max-width: 500px;
899
+ }
900
+
901
+ .step {
902
+ padding-inline: 6px;
903
+ }
904
+
905
+ .step:not(:last-child)::after {
906
+ top: 68px;
907
+ left: calc(50% - 0.5px);
908
+ width: 1px;
909
+ height: 29px;
910
+ background: linear-gradient(180deg, #c7d2fe, #ddd6fe);
911
+ }
912
+
913
+ .section-button {
914
+ width: 100%;
915
+ max-width: 320px;
916
+ margin-top: 38px;
917
+ }
918
+
919
+ .faq-section .section-heading {
920
+ margin-bottom: 26px;
921
+ }
922
+
923
+ .faq-question {
924
+ gap: 18px;
925
+ padding: 18px;
926
+ font-size: 14px;
927
+ }
928
+
929
+ .faq-answer p {
930
+ padding: 0 42px 19px 18px;
931
+ font-size: 13px;
932
+ }
933
+
934
+ .final-cta {
935
+ padding: 72px 0 76px;
936
+ }
937
+
938
+ .final-cta p {
939
+ margin-bottom: 24px;
940
+ font-size: 14px;
941
+ }
942
+
943
+ .final-cta .primary-button {
944
+ width: 100%;
945
+ max-width: 320px;
946
+ }
947
+
948
+ .footer-topics {
949
+ align-items: center;
950
+ font-size: 12px;
951
+ line-height: 1.6;
952
+ }
953
+ }
954
+
955
+ @media (max-width: 379px) {
956
+ .brand {
957
+ font-size: 13px;
958
+ }
959
+
960
+ .hero h1 {
961
+ font-size: 2rem;
962
+ }
963
+
964
+ .capabilities {
965
+ gap-inline: 8px;
966
+ font-size: 9.5px;
967
+ }
968
+
969
+ .footer-topics span:nth-child(even) {
970
+ display: none;
971
+ }
972
+
973
+ .footer-topics span:nth-child(odd) {
974
+ width: 100%;
975
+ }
976
+ }
977
+
978
+ @media (prefers-reduced-motion: reduce) {
979
+ html {
980
+ scroll-behavior: auto;
981
+ }
982
+
983
+ *,
984
+ *::before,
985
+ *::after {
986
+ scroll-behavior: auto !important;
987
+ animation-duration: 0.01ms !important;
988
+ animation-iteration-count: 1 !important;
989
+ transition-duration: 0.01ms !important;
990
+ }
991
  }