fraim-framework 2.0.44 → 2.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/bin/fraim.js +1 -1
  2. package/dist/registry/ai-manager-rules/design-phases/design-completeness-review.md +73 -0
  3. package/dist/registry/ai-manager-rules/design-phases/design-design.md +145 -0
  4. package/dist/registry/ai-manager-rules/design-phases/design.md +108 -0
  5. package/dist/registry/ai-manager-rules/design-phases/finalize.md +60 -0
  6. package/dist/registry/ai-manager-rules/design-phases/validate.md +125 -0
  7. package/dist/registry/ai-manager-rules/implement-phases/code.md +323 -0
  8. package/dist/registry/ai-manager-rules/implement-phases/completeness-review.md +94 -0
  9. package/dist/registry/ai-manager-rules/implement-phases/finalize.md +177 -0
  10. package/dist/registry/ai-manager-rules/implement-phases/implement-code.md +286 -0
  11. package/dist/registry/ai-manager-rules/implement-phases/implement-completeness-review.md +120 -0
  12. package/dist/registry/ai-manager-rules/implement-phases/implement-regression.md +173 -0
  13. package/dist/registry/ai-manager-rules/implement-phases/implement-repro.md +104 -0
  14. package/dist/registry/ai-manager-rules/implement-phases/implement-scoping.md +100 -0
  15. package/dist/registry/ai-manager-rules/implement-phases/implement-smoke.md +230 -0
  16. package/dist/registry/ai-manager-rules/implement-phases/implement-spike.md +121 -0
  17. package/dist/registry/ai-manager-rules/implement-phases/implement-validate.md +371 -0
  18. package/dist/registry/ai-manager-rules/implement-phases/quality-review.md +304 -0
  19. package/dist/registry/ai-manager-rules/implement-phases/regression.md +159 -0
  20. package/dist/registry/ai-manager-rules/implement-phases/repro.md +101 -0
  21. package/dist/registry/ai-manager-rules/implement-phases/scoping.md +93 -0
  22. package/dist/registry/ai-manager-rules/implement-phases/smoke.md +225 -0
  23. package/dist/registry/ai-manager-rules/implement-phases/spike.md +118 -0
  24. package/dist/registry/ai-manager-rules/implement-phases/validate.md +347 -0
  25. package/dist/registry/ai-manager-rules/shared-phases/finalize.md +169 -0
  26. package/dist/registry/ai-manager-rules/shared-phases/submit-pr.md +202 -0
  27. package/dist/registry/ai-manager-rules/shared-phases/wait-for-pr-review.md +170 -0
  28. package/dist/registry/ai-manager-rules/spec-phases/finalize.md +60 -0
  29. package/dist/registry/ai-manager-rules/spec-phases/spec-completeness-review.md +66 -0
  30. package/dist/registry/ai-manager-rules/spec-phases/spec-spec.md +139 -0
  31. package/dist/registry/ai-manager-rules/spec-phases/spec.md +102 -0
  32. package/dist/registry/ai-manager-rules/spec-phases/validate.md +118 -0
  33. package/dist/src/ai-manager/ai-manager.js +380 -119
  34. package/dist/src/ai-manager/evidence-validator.js +309 -0
  35. package/dist/src/ai-manager/phase-flow.js +244 -0
  36. package/dist/src/ai-manager/types.js +5 -0
  37. package/dist/src/cli/commands/sync.js +81 -0
  38. package/dist/src/fraim-mcp-server.js +45 -153
  39. package/dist/src/static-website-middleware.js +75 -0
  40. package/dist/tests/test-ai-coach-edge-cases.js +415 -0
  41. package/dist/tests/test-ai-coach-mcp-integration.js +432 -0
  42. package/dist/tests/test-ai-coach-performance.js +328 -0
  43. package/dist/tests/test-ai-coach-phase-content.js +264 -0
  44. package/dist/tests/test-ai-coach-workflows.js +487 -0
  45. package/dist/tests/test-ai-manager-phase-protocol.js +147 -0
  46. package/dist/tests/test-ai-manager.js +60 -71
  47. package/dist/tests/test-evidence-validation.js +221 -0
  48. package/dist/tests/test-mcp-lifecycle-methods.js +18 -23
  49. package/dist/tests/test-pr-review-integration.js +1 -0
  50. package/dist/tests/test-pr-review-workflow.js +299 -0
  51. package/dist/website/.nojekyll +0 -0
  52. package/dist/website/404.html +101 -0
  53. package/dist/website/CNAME +1 -0
  54. package/dist/website/README.md +22 -0
  55. package/dist/website/demo.html +604 -0
  56. package/dist/website/images/.gitkeep +1 -0
  57. package/dist/website/images/fraim-logo.png +0 -0
  58. package/dist/website/index.html +290 -0
  59. package/dist/website/pricing.html +414 -0
  60. package/dist/website/script.js +55 -0
  61. package/dist/website/styles.css +2647 -0
  62. package/package.json +2 -2
  63. package/registry/agent-guardrails.md +1 -1
  64. package/registry/stubs/workflows/brainstorming/blue-sky-brainstorming.md +11 -0
  65. package/registry/stubs/workflows/brainstorming/codebase-brainstorming.md +11 -0
  66. package/registry/stubs/workflows/compliance/detect-compliance-requirements.md +11 -0
  67. package/registry/stubs/workflows/compliance/generate-audit-evidence.md +11 -0
  68. package/registry/stubs/workflows/learning/synthesize-learnings.md +11 -0
  69. package/registry/stubs/workflows/legal/nda.md +11 -0
  70. package/registry/stubs/workflows/legal/patent-filing.md +11 -0
  71. package/registry/stubs/workflows/legal/trademark-filing.md +11 -0
  72. package/registry/stubs/workflows/product-building/design.md +1 -1
  73. package/registry/stubs/workflows/product-building/implement.md +1 -2
@@ -0,0 +1,2647 @@
1
+ /* Modern CSS Variables for theming */
2
+ :root {
3
+ /* Colors - Modern palette */
4
+ --bg-primary: #ffffff;
5
+ --bg-secondary: #fafbfc;
6
+ --bg-tertiary: #f4f6f8;
7
+ --bg-accent: #f8faff;
8
+ --text-primary: #0d1117;
9
+ --text-secondary: #656d76;
10
+ --text-muted: #8b949e;
11
+ --text-inverse: #ffffff;
12
+
13
+ /* Brand colors */
14
+ --accent-primary: #2563eb;
15
+ --accent-hover: #1d4ed8;
16
+ --accent-light: #dbeafe;
17
+ --accent-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
18
+
19
+ /* Status colors */
20
+ --success-color: #059669;
21
+ --success-light: #d1fae5;
22
+ --error-color: #dc2626;
23
+ --warning-color: #d97706;
24
+
25
+ /* Borders */
26
+ --border-color: #d1d9e0;
27
+ --border-light: #eaeef2;
28
+ --border-strong: #8b949e;
29
+
30
+ /* Shadows - More sophisticated */
31
+ --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
32
+ --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
33
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
34
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
35
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
36
+ --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
37
+
38
+ /* Spacing scale */
39
+ --space-xs: 0.5rem;
40
+ --space-sm: 0.75rem;
41
+ --space-md: 1rem;
42
+ --space-lg: 1.5rem;
43
+ --space-xl: 2rem;
44
+ --space-2xl: 3rem;
45
+ --space-3xl: 4rem;
46
+ --space-4xl: 6rem;
47
+
48
+ /* Typography scale */
49
+ --text-xs: 0.75rem;
50
+ --text-sm: 0.875rem;
51
+ --text-base: 1rem;
52
+ --text-lg: 1.125rem;
53
+ --text-xl: 1.25rem;
54
+ --text-2xl: 1.5rem;
55
+ --text-3xl: 1.875rem;
56
+ --text-4xl: 2.25rem;
57
+ --text-5xl: 3rem;
58
+ --text-6xl: 3.75rem;
59
+
60
+ /* Border radius */
61
+ --radius-sm: 0.375rem;
62
+ --radius-md: 0.5rem;
63
+ --radius-lg: 0.75rem;
64
+ --radius-xl: 1rem;
65
+ --radius-2xl: 1.5rem;
66
+ }
67
+
68
+ [data-theme="dark"] {
69
+ --bg-primary: #0d1117;
70
+ --bg-secondary: #161b22;
71
+ --bg-tertiary: #21262d;
72
+ --bg-accent: #0d1117;
73
+ --text-primary: #f0f6fc;
74
+ --text-secondary: #8b949e;
75
+ --text-muted: #656d76;
76
+ --text-inverse: #0d1117;
77
+
78
+ --accent-primary: #58a6ff;
79
+ --accent-hover: #79c0ff;
80
+ --accent-light: #1f2937;
81
+ --accent-gradient: linear-gradient(135deg, #58a6ff 0%, #79c0ff 50%, #a5b4fc 100%);
82
+
83
+ --success-color: #3fb950;
84
+ --success-light: #1a2e1a;
85
+ --error-color: #f85149;
86
+ --warning-color: #d29922;
87
+
88
+ --border-color: #30363d;
89
+ --border-light: #21262d;
90
+ --border-strong: #8b949e;
91
+
92
+ --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.3);
93
+ --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.4);
94
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4);
95
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4);
96
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.4);
97
+ --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.5);
98
+ }
99
+
100
+ /* Reset and base styles */
101
+ * {
102
+ margin: 0;
103
+ padding: 0;
104
+ box-sizing: border-box;
105
+ }
106
+
107
+ html {
108
+ scroll-behavior: smooth;
109
+ }
110
+
111
+ body {
112
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
113
+ line-height: 1.7;
114
+ color: var(--text-primary);
115
+ background: var(--bg-primary);
116
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
117
+ font-size: var(--text-base);
118
+ -webkit-font-smoothing: antialiased;
119
+ -moz-osx-font-smoothing: grayscale;
120
+ }
121
+
122
+ .container {
123
+ max-width: 1280px;
124
+ margin: 0 auto;
125
+ padding: 0 var(--space-xl);
126
+ }
127
+
128
+ /* Enhanced Typography */
129
+ h1, h2, h3, h4, h5, h6 {
130
+ font-weight: 700;
131
+ line-height: 1.2;
132
+ margin-bottom: var(--space-lg);
133
+ letter-spacing: -0.025em;
134
+ }
135
+
136
+ h1 {
137
+ font-size: var(--text-5xl);
138
+ font-weight: 800;
139
+ background: var(--accent-gradient);
140
+ -webkit-background-clip: text;
141
+ -webkit-text-fill-color: transparent;
142
+ background-clip: text;
143
+ margin-bottom: var(--space-xl);
144
+ }
145
+
146
+ h2 {
147
+ font-size: var(--text-4xl);
148
+ color: var(--text-primary);
149
+ margin-bottom: var(--space-2xl);
150
+ }
151
+
152
+ h3 {
153
+ font-size: var(--text-2xl);
154
+ color: var(--text-primary);
155
+ margin-bottom: var(--space-lg);
156
+ }
157
+
158
+ h4 {
159
+ font-size: var(--text-xl);
160
+ color: var(--text-primary);
161
+ margin-bottom: var(--space-md);
162
+ }
163
+
164
+ p {
165
+ font-size: var(--text-lg);
166
+ line-height: 1.8;
167
+ color: var(--text-secondary);
168
+ margin-bottom: var(--space-lg);
169
+ }
170
+
171
+ .lead {
172
+ font-size: var(--text-xl);
173
+ line-height: 1.7;
174
+ color: var(--text-secondary);
175
+ margin-bottom: var(--space-2xl);
176
+ max-width: 48rem;
177
+ }
178
+
179
+ code {
180
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
181
+ background: var(--bg-tertiary);
182
+ padding: 0.25rem 0.5rem;
183
+ border-radius: var(--radius-sm);
184
+ font-size: 0.875em;
185
+ border: 1px solid var(--border-light);
186
+ }
187
+
188
+ /* Modern Navigation */
189
+ .navbar {
190
+ position: fixed;
191
+ top: 0;
192
+ width: 100%;
193
+ background: rgba(255, 255, 255, 0.8);
194
+ backdrop-filter: blur(20px);
195
+ border-bottom: 1px solid var(--border-light);
196
+ z-index: 1000;
197
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
198
+ }
199
+
200
+ [data-theme="dark"] .navbar {
201
+ background: rgba(13, 17, 23, 0.8);
202
+ border-bottom-color: var(--border-color);
203
+ }
204
+
205
+ .nav-container {
206
+ max-width: 1280px;
207
+ margin: 0 auto;
208
+ padding: 0 var(--space-xl);
209
+ display: flex;
210
+ justify-content: space-between;
211
+ align-items: center;
212
+ height: 4rem;
213
+ }
214
+
215
+ .nav-brand {
216
+ display: flex;
217
+ align-items: center;
218
+ gap: var(--space-sm);
219
+ }
220
+
221
+ .nav-logo {
222
+ width: 2.5rem;
223
+ height: 2.5rem;
224
+ border-radius: var(--radius-lg);
225
+ }
226
+
227
+ .nav-menu {
228
+ display: flex;
229
+ align-items: center;
230
+ gap: var(--space-2xl);
231
+ }
232
+
233
+ .nav-link {
234
+ color: var(--text-secondary);
235
+ text-decoration: none;
236
+ font-weight: 500;
237
+ font-size: var(--text-sm);
238
+ transition: all 0.2s ease;
239
+ position: relative;
240
+ }
241
+
242
+ .nav-link:hover {
243
+ color: var(--accent-primary);
244
+ }
245
+
246
+ .nav-link::after {
247
+ content: '';
248
+ position: absolute;
249
+ width: 0;
250
+ height: 2px;
251
+ bottom: -0.5rem;
252
+ left: 50%;
253
+ background: var(--accent-gradient);
254
+ transition: all 0.3s ease;
255
+ transform: translateX(-50%);
256
+ }
257
+
258
+ .nav-link:hover::after {
259
+ width: 100%;
260
+ }
261
+
262
+ .theme-toggle {
263
+ background: none;
264
+ border: 1px solid var(--border-color);
265
+ border-radius: var(--radius-lg);
266
+ padding: var(--space-sm);
267
+ cursor: pointer;
268
+ font-size: var(--text-lg);
269
+ transition: all 0.2s ease;
270
+ display: flex;
271
+ align-items: center;
272
+ justify-content: center;
273
+ width: 2.5rem;
274
+ height: 2.5rem;
275
+ }
276
+
277
+ .theme-toggle:hover {
278
+ background: var(--bg-tertiary);
279
+ border-color: var(--accent-primary);
280
+ transform: scale(1.05);
281
+ }
282
+
283
+ /* Modern Hero Section */
284
+ .hero {
285
+ padding: 10rem 0 8rem;
286
+ background:
287
+ radial-gradient(circle at 20% 80%, rgba(37, 99, 235, 0.15) 0%, transparent 60%),
288
+ radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.15) 0%, transparent 60%),
289
+ radial-gradient(circle at 50% 50%, rgba(96, 165, 250, 0.05) 0%, transparent 70%),
290
+ var(--bg-primary);
291
+ position: relative;
292
+ overflow: hidden;
293
+ }
294
+
295
+ .hero::before {
296
+ content: '';
297
+ position: absolute;
298
+ top: 0;
299
+ left: 0;
300
+ right: 0;
301
+ bottom: 0;
302
+ background:
303
+ linear-gradient(90deg, transparent 0%, rgba(37, 99, 235, 0.05) 50%, transparent 100%),
304
+ linear-gradient(0deg, transparent 0%, rgba(59, 130, 246, 0.05) 50%, transparent 100%);
305
+ pointer-events: none;
306
+ }
307
+
308
+ .hero-content {
309
+ display: grid;
310
+ grid-template-columns: 1fr 1fr;
311
+ gap: var(--space-4xl);
312
+ align-items: center;
313
+ position: relative;
314
+ z-index: 1;
315
+ }
316
+
317
+ .hero-text {
318
+ max-width: 36rem;
319
+ }
320
+
321
+ .hero-title {
322
+ font-size: clamp(2.5rem, 5vw, 4.5rem);
323
+ font-weight: 900;
324
+ line-height: 1.05;
325
+ margin-bottom: var(--space-xl);
326
+ background: linear-gradient(135deg, #1e40af 0%, #2563eb 25%, #3b82f6 50%, #60a5fa 75%, #93c5fd 100%);
327
+ -webkit-background-clip: text;
328
+ -webkit-text-fill-color: transparent;
329
+ background-clip: text;
330
+ letter-spacing: -0.02em;
331
+ }
332
+
333
+ .hero-subtitle {
334
+ font-size: var(--text-xl);
335
+ line-height: 1.8;
336
+ color: var(--text-secondary);
337
+ margin-bottom: var(--space-2xl);
338
+ max-width: 34rem;
339
+ font-weight: 400;
340
+ }
341
+
342
+ .hero-cta {
343
+ display: flex;
344
+ gap: var(--space-lg);
345
+ align-items: center;
346
+ flex-wrap: wrap;
347
+ }
348
+
349
+ .btn {
350
+ display: inline-flex;
351
+ align-items: center;
352
+ justify-content: center;
353
+ padding: 0.875rem 2rem;
354
+ border-radius: var(--radius-xl);
355
+ font-weight: 600;
356
+ font-size: var(--text-base);
357
+ text-decoration: none;
358
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
359
+ border: none;
360
+ cursor: pointer;
361
+ position: relative;
362
+ overflow: hidden;
363
+ }
364
+
365
+ .btn-primary {
366
+ background: var(--accent-gradient);
367
+ color: var(--text-inverse);
368
+ box-shadow: var(--shadow-lg);
369
+ }
370
+
371
+ .btn-primary:hover {
372
+ transform: translateY(-2px);
373
+ box-shadow: var(--shadow-xl);
374
+ }
375
+
376
+ .btn-primary::before {
377
+ content: '';
378
+ position: absolute;
379
+ top: 0;
380
+ left: -100%;
381
+ width: 100%;
382
+ height: 100%;
383
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
384
+ transition: left 0.5s;
385
+ }
386
+
387
+ .btn-primary:hover::before {
388
+ left: 100%;
389
+ }
390
+
391
+ .btn-secondary {
392
+ background: var(--bg-primary);
393
+ color: var(--text-primary);
394
+ border: 2px solid var(--border-color);
395
+ box-shadow: var(--shadow-sm);
396
+ }
397
+
398
+ .btn-secondary:hover {
399
+ background: var(--bg-tertiary);
400
+ border-color: var(--accent-primary);
401
+ transform: translateY(-1px);
402
+ box-shadow: var(--shadow-md);
403
+ }
404
+
405
+ /* Hero Visual */
406
+ .hero-visual {
407
+ position: relative;
408
+ display: flex;
409
+ justify-content: center;
410
+ align-items: center;
411
+ }
412
+
413
+ .terminal-demo {
414
+ background: var(--bg-secondary);
415
+ border: 1px solid var(--border-color);
416
+ border-radius: var(--radius-2xl);
417
+ box-shadow: var(--shadow-2xl);
418
+ width: 100%;
419
+ max-width: 32rem;
420
+ overflow: hidden;
421
+ position: relative;
422
+ }
423
+
424
+ .terminal-demo::before {
425
+ content: '';
426
+ position: absolute;
427
+ top: 0;
428
+ left: 0;
429
+ right: 0;
430
+ height: 1px;
431
+ background: var(--accent-gradient);
432
+ }
433
+
434
+ .terminal-header {
435
+ background: var(--bg-tertiary);
436
+ padding: var(--space-lg);
437
+ display: flex;
438
+ align-items: center;
439
+ gap: var(--space-md);
440
+ border-bottom: 1px solid var(--border-light);
441
+ }
442
+
443
+ .terminal-controls {
444
+ display: flex;
445
+ gap: var(--space-sm);
446
+ }
447
+
448
+ .control {
449
+ width: 0.75rem;
450
+ height: 0.75rem;
451
+ border-radius: 50%;
452
+ }
453
+
454
+ .control.red { background: #ff5f57; }
455
+ .control.yellow { background: #ffbd2e; }
456
+ .control.green { background: #28ca42; }
457
+
458
+ .terminal-title {
459
+ font-size: var(--text-sm);
460
+ font-weight: 600;
461
+ color: var(--text-secondary);
462
+ margin-left: auto;
463
+ }
464
+
465
+ .terminal-body {
466
+ padding: var(--space-xl);
467
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
468
+ font-size: var(--text-sm);
469
+ line-height: 1.6;
470
+ background: var(--bg-primary);
471
+ }
472
+
473
+ .terminal-line {
474
+ display: flex;
475
+ align-items: center;
476
+ margin-bottom: var(--space-sm);
477
+ min-height: 1.5rem;
478
+ }
479
+
480
+ .prompt {
481
+ color: var(--accent-primary);
482
+ font-weight: 600;
483
+ margin-right: var(--space-sm);
484
+ }
485
+
486
+ .command {
487
+ color: var(--text-primary);
488
+ font-weight: 500;
489
+ }
490
+
491
+ .output {
492
+ color: var(--text-secondary);
493
+ }
494
+
495
+ .success {
496
+ color: var(--success-color);
497
+ font-weight: 500;
498
+ }
499
+
500
+ .cursor {
501
+ color: var(--accent-primary);
502
+ animation: blink 1s infinite;
503
+ }
504
+
505
+ @keyframes blink {
506
+ 0%, 50% { opacity: 1; }
507
+ 51%, 100% { opacity: 0; }
508
+ }
509
+
510
+ .nav-logo {
511
+ display: flex;
512
+ align-items: center;
513
+ gap: 12px;
514
+ font-weight: 700;
515
+ font-size: 20px;
516
+ color: var(--text-primary);
517
+ text-decoration: none;
518
+ }
519
+
520
+ .footer-logo {
521
+ display: flex;
522
+ align-items: center;
523
+ gap: 12px;
524
+ font-weight: 700;
525
+ font-size: 20px;
526
+ color: var(--text-primary);
527
+ margin-bottom: 16px;
528
+ }
529
+
530
+ .logo-text {
531
+ color: var(--text-primary);
532
+ font-weight: 700;
533
+ font-size: 24px;
534
+ letter-spacing: -0.5px;
535
+ }
536
+
537
+ .nav-logo .logo-text {
538
+ font-size: 20px;
539
+ }
540
+
541
+ .footer-logo .logo-text {
542
+ font-size: 24px;
543
+ }
544
+
545
+ .logo-icon {
546
+ height: 80px;
547
+ width: auto;
548
+ object-fit: contain;
549
+ }
550
+
551
+ .nav-logo .logo-icon {
552
+ height: 72px;
553
+ width: auto;
554
+ }
555
+
556
+ .footer-logo .logo-icon {
557
+ height: 80px;
558
+ width: auto;
559
+ }
560
+
561
+ .nav-links {
562
+ display: flex;
563
+ align-items: center;
564
+ gap: 32px;
565
+ }
566
+
567
+ .nav-links a {
568
+ text-decoration: none;
569
+ color: var(--text-secondary);
570
+ font-weight: 500;
571
+ transition: color 0.2s;
572
+ }
573
+
574
+ .nav-links a:hover {
575
+ color: var(--text-primary);
576
+ }
577
+
578
+ .nav-cta {
579
+ background: var(--accent-color) !important;
580
+ color: white !important;
581
+ padding: 8px 16px;
582
+ border-radius: 6px;
583
+ font-weight: 600;
584
+ transition: all 0.2s ease;
585
+ }
586
+
587
+ .nav-cta:hover {
588
+ background: var(--accent-hover) !important;
589
+ transform: translateY(-1px);
590
+ }
591
+
592
+ .theme-toggle {
593
+ background: none;
594
+ border: 2px solid var(--border-color);
595
+ border-radius: 8px;
596
+ padding: 8px 12px;
597
+ cursor: pointer;
598
+ transition: all 0.2s ease;
599
+ color: var(--text-secondary);
600
+ }
601
+
602
+ .theme-toggle:hover {
603
+ border-color: var(--accent-color);
604
+ color: var(--accent-color);
605
+ }
606
+
607
+ /* Hero Section */
608
+ .hero {
609
+ padding: 120px 0 80px;
610
+ background: var(--gradient-secondary);
611
+ overflow: hidden;
612
+ }
613
+
614
+ .hero-container {
615
+ max-width: 1200px;
616
+ margin: 0 auto;
617
+ padding: 0 24px;
618
+ display: grid;
619
+ grid-template-columns: 1fr 1fr;
620
+ gap: 64px;
621
+ align-items: center;
622
+ }
623
+
624
+ .hero-content {
625
+ text-align: left;
626
+ }
627
+
628
+ .hero-badge {
629
+ display: inline-block;
630
+ background: var(--bg-tertiary);
631
+ border: 1px solid var(--border-color);
632
+ border-radius: 24px;
633
+ padding: 8px 16px;
634
+ margin-bottom: 24px;
635
+ font-size: 14px;
636
+ font-weight: 500;
637
+ color: var(--text-secondary);
638
+ }
639
+
640
+ .hero-title {
641
+ font-size: 56px;
642
+ font-weight: 700;
643
+ margin-bottom: 24px;
644
+ line-height: 1.1;
645
+ }
646
+
647
+ .gradient-text {
648
+ background: var(--gradient-primary);
649
+ -webkit-background-clip: text;
650
+ -webkit-text-fill-color: transparent;
651
+ background-clip: text;
652
+ }
653
+
654
+ .hero-subtitle {
655
+ font-size: 20px;
656
+ color: var(--text-secondary);
657
+ margin-bottom: 32px;
658
+ line-height: 1.5;
659
+ }
660
+
661
+ .hero-cta {
662
+ display: flex;
663
+ gap: 16px;
664
+ margin-bottom: 48px;
665
+ flex-wrap: wrap;
666
+ }
667
+
668
+ .hero-proof {
669
+ display: flex;
670
+ gap: 32px;
671
+ flex-wrap: wrap;
672
+ }
673
+
674
+ .proof-item {
675
+ text-align: center;
676
+ }
677
+
678
+ .proof-number {
679
+ display: block;
680
+ font-size: 32px;
681
+ font-weight: 700;
682
+ color: var(--accent-color);
683
+ line-height: 1;
684
+ }
685
+
686
+ .proof-label {
687
+ display: block;
688
+ font-size: 14px;
689
+ color: var(--text-secondary);
690
+ margin-top: 4px;
691
+ }
692
+
693
+ .hero-visual {
694
+ display: flex;
695
+ justify-content: center;
696
+ align-items: center;
697
+ }
698
+
699
+ .terminal-demo {
700
+ background: var(--bg-primary);
701
+ border: 1px solid var(--border-color);
702
+ border-radius: 12px;
703
+ box-shadow: var(--shadow-lg);
704
+ width: 100%;
705
+ max-width: 500px;
706
+ overflow: hidden;
707
+ }
708
+
709
+ .terminal-header {
710
+ background: var(--bg-tertiary);
711
+ padding: 12px 16px;
712
+ display: flex;
713
+ align-items: center;
714
+ gap: 12px;
715
+ border-bottom: 1px solid var(--border-color);
716
+ }
717
+
718
+ .terminal-controls {
719
+ display: flex;
720
+ gap: 6px;
721
+ }
722
+
723
+ .control {
724
+ width: 12px;
725
+ height: 12px;
726
+ border-radius: 50%;
727
+ }
728
+
729
+ .control.red { background: #ff5f56; }
730
+ .control.yellow { background: #ffbd2e; }
731
+ .control.green { background: #27ca3f; }
732
+
733
+ .terminal-title {
734
+ font-size: 14px;
735
+ font-weight: 500;
736
+ color: var(--text-secondary);
737
+ }
738
+
739
+ .terminal-content {
740
+ padding: 16px;
741
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
742
+ font-size: 14px;
743
+ line-height: 1.4;
744
+ }
745
+
746
+ .terminal-line {
747
+ display: flex;
748
+ align-items: center;
749
+ gap: 8px;
750
+ margin-bottom: 8px;
751
+ }
752
+
753
+ .prompt {
754
+ color: var(--accent-color);
755
+ font-weight: 600;
756
+ }
757
+
758
+ .command {
759
+ color: var(--text-primary);
760
+ }
761
+
762
+ .typing {
763
+ animation: typing 3s steps(60) infinite;
764
+ }
765
+
766
+ @keyframes typing {
767
+ 0%, 50% { opacity: 1; }
768
+ 51%, 100% { opacity: 0.7; }
769
+ }
770
+
771
+ .terminal-output {
772
+ margin: 12px 0;
773
+ padding-left: 16px;
774
+ }
775
+
776
+ .output-line {
777
+ margin-bottom: 4px;
778
+ color: var(--text-secondary);
779
+ }
780
+
781
+ .output-line.success {
782
+ color: var(--success-color);
783
+ }
784
+
785
+ .btn-primary, .btn-secondary {
786
+ padding: 12px 24px;
787
+ border-radius: 8px;
788
+ text-decoration: none;
789
+ font-weight: 600;
790
+ transition: all 0.2s;
791
+ display: inline-flex;
792
+ align-items: center;
793
+ gap: 8px;
794
+ border: none;
795
+ cursor: pointer;
796
+ font-size: 16px;
797
+ }
798
+
799
+ .btn-primary {
800
+ background: var(--accent-color);
801
+ color: white;
802
+ }
803
+
804
+ .btn-primary:hover {
805
+ background: var(--accent-hover);
806
+ transform: translateY(-1px);
807
+ box-shadow: var(--shadow-md);
808
+ }
809
+
810
+ .btn-secondary {
811
+ background: transparent;
812
+ color: var(--accent-color);
813
+ border: 2px solid var(--accent-color);
814
+ }
815
+
816
+ .btn-secondary:hover {
817
+ background: var(--accent-color);
818
+ color: white;
819
+ }
820
+
821
+ .btn-primary.large, .btn-secondary.large {
822
+ padding: 16px 32px;
823
+ font-size: 18px;
824
+ }
825
+
826
+ .btn-icon {
827
+ font-size: 14px;
828
+ }
829
+
830
+ /* Features Section */
831
+ .features {
832
+ padding: 80px 0;
833
+ }
834
+
835
+ .section-header {
836
+ text-align: center;
837
+ margin-bottom: 64px;
838
+ }
839
+
840
+ .section-title {
841
+ font-size: 40px;
842
+ font-weight: 700;
843
+ margin-bottom: 16px;
844
+ }
845
+
846
+ .section-subtitle {
847
+ font-size: 18px;
848
+ color: var(--text-secondary);
849
+ max-width: 600px;
850
+ margin: 0 auto;
851
+ }
852
+
853
+ .features-grid {
854
+ display: grid;
855
+ grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
856
+ gap: 32px;
857
+ }
858
+
859
+ .feature-card {
860
+ background: var(--bg-secondary);
861
+ padding: 32px;
862
+ border-radius: 16px;
863
+ text-align: left;
864
+ transition: all 0.3s ease;
865
+ border: 1px solid var(--border-light);
866
+ }
867
+
868
+ .feature-card:hover {
869
+ transform: translateY(-4px);
870
+ box-shadow: var(--shadow-lg);
871
+ }
872
+
873
+ .feature-icon {
874
+ font-size: 48px;
875
+ margin-bottom: 16px;
876
+ display: block;
877
+ }
878
+
879
+ .feature-card h3 {
880
+ font-size: 24px;
881
+ margin-bottom: 12px;
882
+ font-weight: 600;
883
+ }
884
+
885
+ .feature-card p {
886
+ color: var(--text-secondary);
887
+ margin-bottom: 16px;
888
+ }
889
+
890
+ .feature-example {
891
+ background: var(--bg-tertiary);
892
+ padding: 12px 16px;
893
+ border-radius: 8px;
894
+ border-left: 4px solid var(--accent-color);
895
+ }
896
+
897
+ .feature-example code {
898
+ background: none;
899
+ padding: 0;
900
+ font-size: 13px;
901
+ color: var(--text-primary);
902
+ }
903
+
904
+ /* Problem/Solution Section */
905
+ .problem-solution {
906
+ padding: 80px 0;
907
+ background: var(--bg-secondary);
908
+ }
909
+
910
+ .comparison-grid {
911
+ display: grid;
912
+ grid-template-columns: 1fr 1fr;
913
+ gap: 48px;
914
+ margin-top: 48px;
915
+ }
916
+
917
+ .comparison-card {
918
+ background: var(--bg-primary);
919
+ border-radius: 16px;
920
+ padding: 32px;
921
+ border: 1px solid var(--border-color);
922
+ position: relative;
923
+ overflow: hidden;
924
+ }
925
+
926
+ .comparison-card.before {
927
+ border-left: 4px solid var(--error-color);
928
+ }
929
+
930
+ .comparison-card.after {
931
+ border-left: 4px solid var(--success-color);
932
+ }
933
+
934
+ .card-header {
935
+ display: flex;
936
+ align-items: center;
937
+ gap: 12px;
938
+ margin-bottom: 24px;
939
+ }
940
+
941
+ .card-icon {
942
+ font-size: 24px;
943
+ }
944
+
945
+ .card-header h3 {
946
+ font-size: 20px;
947
+ margin: 0;
948
+ }
949
+
950
+ .chat-conversation {
951
+ background: var(--bg-tertiary);
952
+ border-radius: 12px;
953
+ padding: 16px;
954
+ margin-bottom: 24px;
955
+ max-height: 200px;
956
+ overflow-y: auto;
957
+ }
958
+
959
+ .message {
960
+ margin-bottom: 12px;
961
+ padding: 12px 16px;
962
+ border-radius: 12px;
963
+ max-width: 80%;
964
+ }
965
+
966
+ .message.user {
967
+ background: var(--accent-color);
968
+ color: white;
969
+ margin-left: auto;
970
+ text-align: right;
971
+ }
972
+
973
+ .message.agent {
974
+ background: var(--bg-primary);
975
+ border: 1px solid var(--border-color);
976
+ }
977
+
978
+ .message.agent.success {
979
+ border-color: var(--success-color);
980
+ background: rgba(16, 185, 129, 0.1);
981
+ }
982
+
983
+ .message-content {
984
+ font-size: 14px;
985
+ line-height: 1.4;
986
+ }
987
+
988
+ .evidence-panel {
989
+ background: var(--bg-secondary);
990
+ border-radius: 8px;
991
+ padding: 16px;
992
+ margin-top: 12px;
993
+ border: 1px solid var(--success-color);
994
+ }
995
+
996
+ .evidence-header {
997
+ font-weight: 600;
998
+ color: var(--success-color);
999
+ margin-bottom: 8px;
1000
+ font-size: 14px;
1001
+ }
1002
+
1003
+ .evidence-list {
1004
+ display: flex;
1005
+ flex-direction: column;
1006
+ gap: 4px;
1007
+ }
1008
+
1009
+ .evidence-item {
1010
+ font-size: 13px;
1011
+ color: var(--text-secondary);
1012
+ }
1013
+
1014
+ .problems-list, .solutions-list {
1015
+ display: flex;
1016
+ flex-direction: column;
1017
+ gap: 8px;
1018
+ }
1019
+
1020
+ .problem-item {
1021
+ font-size: 14px;
1022
+ color: var(--error-color);
1023
+ font-weight: 500;
1024
+ }
1025
+
1026
+ .solution-item {
1027
+ font-size: 14px;
1028
+ color: var(--success-color);
1029
+ font-weight: 500;
1030
+ }
1031
+
1032
+ /* How It Works Section */
1033
+ .how-it-works {
1034
+ padding: 80px 0;
1035
+ }
1036
+
1037
+ .workflow-steps {
1038
+ display: flex;
1039
+ flex-direction: column;
1040
+ gap: 32px;
1041
+ max-width: 800px;
1042
+ margin: 0 auto;
1043
+ }
1044
+
1045
+ .step-card {
1046
+ display: flex;
1047
+ align-items: flex-start;
1048
+ gap: 24px;
1049
+ background: var(--bg-secondary);
1050
+ padding: 32px;
1051
+ border-radius: 16px;
1052
+ border: 1px solid var(--border-light);
1053
+ }
1054
+
1055
+ .step-number {
1056
+ background: var(--accent-color);
1057
+ color: white;
1058
+ width: 48px;
1059
+ height: 48px;
1060
+ border-radius: 50%;
1061
+ display: flex;
1062
+ align-items: center;
1063
+ justify-content: center;
1064
+ font-weight: 700;
1065
+ font-size: 20px;
1066
+ flex-shrink: 0;
1067
+ }
1068
+
1069
+ .step-content h3 {
1070
+ font-size: 24px;
1071
+ margin-bottom: 12px;
1072
+ font-weight: 600;
1073
+ }
1074
+
1075
+ .step-content p {
1076
+ color: var(--text-secondary);
1077
+ margin-bottom: 16px;
1078
+ }
1079
+
1080
+ .step-code {
1081
+ background: var(--bg-tertiary);
1082
+ padding: 16px;
1083
+ border-radius: 8px;
1084
+ border-left: 4px solid var(--accent-color);
1085
+ }
1086
+
1087
+ .step-code code {
1088
+ background: none;
1089
+ padding: 0;
1090
+ display: block;
1091
+ line-height: 1.6;
1092
+ }
1093
+
1094
+ .phase-flow {
1095
+ display: flex;
1096
+ align-items: center;
1097
+ gap: 8px;
1098
+ flex-wrap: wrap;
1099
+ }
1100
+
1101
+ .phase {
1102
+ padding: 6px 12px;
1103
+ border-radius: 20px;
1104
+ font-size: 14px;
1105
+ font-weight: 500;
1106
+ background: var(--bg-tertiary);
1107
+ color: var(--text-secondary);
1108
+ }
1109
+
1110
+ .phase.complete {
1111
+ background: var(--success-color);
1112
+ color: white;
1113
+ }
1114
+
1115
+ .phase.active {
1116
+ background: var(--accent-color);
1117
+ color: white;
1118
+ }
1119
+
1120
+ .arrow {
1121
+ color: var(--text-secondary);
1122
+ font-weight: 600;
1123
+ }
1124
+
1125
+ /* Results Section */
1126
+ .results {
1127
+ padding: 80px 0;
1128
+ background: var(--bg-secondary);
1129
+ }
1130
+
1131
+ .metrics-grid {
1132
+ display: grid;
1133
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1134
+ gap: 32px;
1135
+ margin-bottom: 64px;
1136
+ }
1137
+
1138
+ .metric-card {
1139
+ background: var(--bg-primary);
1140
+ padding: 32px;
1141
+ border-radius: 16px;
1142
+ text-align: center;
1143
+ border: 1px solid var(--border-light);
1144
+ transition: all 0.3s ease;
1145
+ }
1146
+
1147
+ .metric-card:hover {
1148
+ transform: translateY(-4px);
1149
+ box-shadow: var(--shadow-lg);
1150
+ }
1151
+
1152
+ .metric-number {
1153
+ font-size: 48px;
1154
+ font-weight: 700;
1155
+ color: var(--accent-color);
1156
+ display: block;
1157
+ line-height: 1;
1158
+ margin-bottom: 8px;
1159
+ }
1160
+
1161
+ .metric-label {
1162
+ font-size: 18px;
1163
+ font-weight: 600;
1164
+ color: var(--text-primary);
1165
+ margin-bottom: 8px;
1166
+ }
1167
+
1168
+ .metric-description {
1169
+ font-size: 14px;
1170
+ color: var(--text-secondary);
1171
+ }
1172
+
1173
+ .testimonial-section {
1174
+ max-width: 800px;
1175
+ margin: 0 auto;
1176
+ text-align: center;
1177
+ }
1178
+
1179
+ .testimonial blockquote {
1180
+ font-size: 24px;
1181
+ font-style: italic;
1182
+ color: var(--text-primary);
1183
+ margin-bottom: 16px;
1184
+ line-height: 1.4;
1185
+ }
1186
+
1187
+ .testimonial cite {
1188
+ font-size: 16px;
1189
+ color: var(--text-secondary);
1190
+ font-weight: 500;
1191
+ }
1192
+
1193
+ /* CTA Section */
1194
+ .cta {
1195
+ padding: 80px 0;
1196
+ background: var(--gradient-primary);
1197
+ color: white;
1198
+ text-align: center;
1199
+ }
1200
+
1201
+ .cta-content h2 {
1202
+ font-size: 40px;
1203
+ font-weight: 700;
1204
+ margin-bottom: 16px;
1205
+ }
1206
+
1207
+ .cta-content p {
1208
+ font-size: 20px;
1209
+ margin-bottom: 32px;
1210
+ opacity: 0.9;
1211
+ }
1212
+
1213
+ .cta-buttons {
1214
+ display: flex;
1215
+ gap: 16px;
1216
+ justify-content: center;
1217
+ margin-bottom: 48px;
1218
+ flex-wrap: wrap;
1219
+ }
1220
+
1221
+ .cta .btn-primary {
1222
+ background: white;
1223
+ color: var(--accent-color);
1224
+ }
1225
+
1226
+ .cta .btn-primary:hover {
1227
+ background: var(--bg-secondary);
1228
+ }
1229
+
1230
+ .cta .btn-secondary {
1231
+ background: transparent;
1232
+ color: white;
1233
+ border-color: white;
1234
+ }
1235
+
1236
+ .cta .btn-secondary:hover {
1237
+ background: white;
1238
+ color: var(--accent-color);
1239
+ }
1240
+
1241
+ .cta-features {
1242
+ display: flex;
1243
+ gap: 32px;
1244
+ justify-content: center;
1245
+ flex-wrap: wrap;
1246
+ }
1247
+
1248
+ .cta-feature {
1249
+ display: flex;
1250
+ align-items: center;
1251
+ gap: 8px;
1252
+ font-size: 16px;
1253
+ opacity: 0.9;
1254
+ }
1255
+
1256
+ .cta-feature .feature-icon {
1257
+ font-size: 18px;
1258
+ }
1259
+
1260
+ /* Footer */
1261
+ .footer {
1262
+ background: var(--bg-primary);
1263
+ border-top: 1px solid var(--border-color);
1264
+ padding: 64px 0 32px;
1265
+ }
1266
+
1267
+ .footer-content {
1268
+ display: grid;
1269
+ grid-template-columns: 1fr 2fr;
1270
+ gap: 64px;
1271
+ margin-bottom: 32px;
1272
+ }
1273
+
1274
+ .footer-brand p {
1275
+ color: var(--text-secondary);
1276
+ margin: 16px 0;
1277
+ }
1278
+
1279
+ .footer-social {
1280
+ display: flex;
1281
+ gap: 16px;
1282
+ }
1283
+
1284
+ .footer-social a {
1285
+ color: var(--text-secondary);
1286
+ transition: color 0.2s;
1287
+ }
1288
+
1289
+ .footer-social a:hover {
1290
+ color: var(--accent-color);
1291
+ }
1292
+
1293
+ .footer-links {
1294
+ display: grid;
1295
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
1296
+ gap: 32px;
1297
+ }
1298
+
1299
+ .footer-column h4 {
1300
+ font-weight: 600;
1301
+ margin-bottom: 16px;
1302
+ color: var(--text-primary);
1303
+ }
1304
+
1305
+ .footer-column a {
1306
+ display: block;
1307
+ color: var(--text-secondary);
1308
+ text-decoration: none;
1309
+ margin-bottom: 8px;
1310
+ transition: color 0.2s;
1311
+ }
1312
+
1313
+ .footer-column a:hover {
1314
+ color: var(--accent-color);
1315
+ }
1316
+
1317
+ .footer-bottom {
1318
+ text-align: center;
1319
+ padding-top: 32px;
1320
+ border-top: 1px solid var(--border-color);
1321
+ color: var(--text-secondary);
1322
+ }
1323
+
1324
+ /* Responsive Design */
1325
+ @media (max-width: 1024px) {
1326
+ .hero-container {
1327
+ grid-template-columns: 1fr;
1328
+ gap: 48px;
1329
+ text-align: center;
1330
+ }
1331
+
1332
+ .hero-content {
1333
+ text-align: center;
1334
+ }
1335
+
1336
+ .comparison-grid {
1337
+ grid-template-columns: 1fr;
1338
+ gap: 32px;
1339
+ }
1340
+
1341
+ .footer-content {
1342
+ grid-template-columns: 1fr;
1343
+ gap: 48px;
1344
+ }
1345
+ }
1346
+
1347
+ @media (max-width: 768px) {
1348
+ .hero-title {
1349
+ font-size: 40px;
1350
+ }
1351
+
1352
+ .section-title {
1353
+ font-size: 32px;
1354
+ }
1355
+
1356
+ .nav-links {
1357
+ gap: 16px;
1358
+ }
1359
+
1360
+ .nav-links a:not(.nav-cta) {
1361
+ display: none;
1362
+ }
1363
+
1364
+ .hero-cta {
1365
+ flex-direction: column;
1366
+ align-items: center;
1367
+ }
1368
+
1369
+ .features-grid {
1370
+ grid-template-columns: 1fr;
1371
+ }
1372
+
1373
+ .metrics-grid {
1374
+ grid-template-columns: repeat(2, 1fr);
1375
+ }
1376
+
1377
+ .cta-buttons {
1378
+ flex-direction: column;
1379
+ align-items: center;
1380
+ }
1381
+
1382
+ .cta-features {
1383
+ flex-direction: column;
1384
+ gap: 16px;
1385
+ }
1386
+
1387
+ .workflow-steps {
1388
+ gap: 24px;
1389
+ }
1390
+
1391
+ .step-card {
1392
+ flex-direction: column;
1393
+ text-align: center;
1394
+ }
1395
+
1396
+ .phase-flow {
1397
+ justify-content: center;
1398
+ }
1399
+ }
1400
+
1401
+ @media (max-width: 480px) {
1402
+ .container {
1403
+ padding: 0 16px;
1404
+ }
1405
+
1406
+ .nav-container {
1407
+ padding: 0 16px;
1408
+ }
1409
+
1410
+ .hero {
1411
+ padding: 100px 0 60px;
1412
+ }
1413
+
1414
+ .hero-title {
1415
+ font-size: 32px;
1416
+ }
1417
+
1418
+ .hero-subtitle {
1419
+ font-size: 18px;
1420
+ }
1421
+
1422
+ .metrics-grid {
1423
+ grid-template-columns: 1fr;
1424
+ }
1425
+
1426
+ .testimonial blockquote {
1427
+ font-size: 20px;
1428
+ }
1429
+
1430
+ .cta-content h2 {
1431
+ font-size: 32px;
1432
+ }
1433
+
1434
+ .cta-content p {
1435
+ font-size: 18px;
1436
+ }
1437
+ }
1438
+
1439
+ /* Problem/Solution Section */
1440
+ .problem-solution {
1441
+ padding: var(--space-4xl) 0;
1442
+ background: var(--bg-secondary);
1443
+ position: relative;
1444
+ }
1445
+
1446
+ .comparison {
1447
+ display: grid;
1448
+ grid-template-columns: 1fr auto 1fr;
1449
+ gap: var(--space-2xl);
1450
+ align-items: center;
1451
+ max-width: 75rem;
1452
+ margin: 0 auto;
1453
+ }
1454
+
1455
+ .comparison-side {
1456
+ background: var(--bg-primary);
1457
+ padding: var(--space-2xl);
1458
+ border-radius: var(--radius-2xl);
1459
+ box-shadow: var(--shadow-lg);
1460
+ border: 1px solid var(--border-light);
1461
+ position: relative;
1462
+ }
1463
+
1464
+ .comparison-side.problem {
1465
+ border-left: 4px solid var(--error-color);
1466
+ }
1467
+
1468
+ .comparison-side.solution {
1469
+ border-left: 4px solid var(--success-color);
1470
+ }
1471
+
1472
+ .comparison-side h3 {
1473
+ font-size: var(--text-2xl);
1474
+ font-weight: 700;
1475
+ margin-bottom: var(--space-lg);
1476
+ display: flex;
1477
+ align-items: center;
1478
+ gap: var(--space-sm);
1479
+ }
1480
+
1481
+ .comparison-side.problem h3::before {
1482
+ content: '❌';
1483
+ font-size: var(--text-xl);
1484
+ }
1485
+
1486
+ .comparison-side.solution h3::before {
1487
+ content: '✅';
1488
+ font-size: var(--text-xl);
1489
+ }
1490
+
1491
+ .comparison-side ul {
1492
+ list-style: none;
1493
+ margin-bottom: var(--space-lg);
1494
+ }
1495
+
1496
+ .comparison-side li {
1497
+ padding: var(--space-sm) 0;
1498
+ font-size: var(--text-base);
1499
+ line-height: 1.6;
1500
+ color: var(--text-secondary);
1501
+ display: flex;
1502
+ align-items: flex-start;
1503
+ gap: var(--space-sm);
1504
+ }
1505
+
1506
+ .comparison-note {
1507
+ font-size: var(--text-sm);
1508
+ color: var(--text-muted);
1509
+ font-style: italic;
1510
+ margin-bottom: 0;
1511
+ padding: var(--space-md);
1512
+ background: var(--bg-tertiary);
1513
+ border-radius: var(--radius-md);
1514
+ border-left: 3px solid var(--accent-primary);
1515
+ }
1516
+
1517
+ .comparison-divider {
1518
+ display: flex;
1519
+ align-items: center;
1520
+ justify-content: center;
1521
+ }
1522
+
1523
+ .vs-badge {
1524
+ background: var(--accent-gradient);
1525
+ color: var(--text-inverse);
1526
+ padding: var(--space-md) var(--space-lg);
1527
+ border-radius: 50%;
1528
+ font-weight: 700;
1529
+ font-size: var(--text-lg);
1530
+ box-shadow: var(--shadow-lg);
1531
+ min-width: 4rem;
1532
+ min-height: 4rem;
1533
+ display: flex;
1534
+ align-items: center;
1535
+ justify-content: center;
1536
+ }
1537
+
1538
+ /* Features Section */
1539
+ .features {
1540
+ padding: var(--space-4xl) 0;
1541
+ background: var(--bg-primary);
1542
+ }
1543
+
1544
+ .section-title {
1545
+ text-align: center;
1546
+ font-size: var(--text-4xl);
1547
+ font-weight: 800;
1548
+ margin-bottom: var(--space-3xl);
1549
+ background: var(--accent-gradient);
1550
+ -webkit-background-clip: text;
1551
+ -webkit-text-fill-color: transparent;
1552
+ background-clip: text;
1553
+ }
1554
+
1555
+ .features-grid {
1556
+ display: grid;
1557
+ grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
1558
+ gap: var(--space-2xl);
1559
+ margin-top: var(--space-3xl);
1560
+ }
1561
+
1562
+ .feature-card {
1563
+ background: var(--bg-secondary);
1564
+ padding: var(--space-2xl);
1565
+ border-radius: var(--radius-2xl);
1566
+ box-shadow: var(--shadow-md);
1567
+ border: 1px solid var(--border-light);
1568
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1569
+ position: relative;
1570
+ overflow: hidden;
1571
+ }
1572
+
1573
+ .feature-card::before {
1574
+ content: '';
1575
+ position: absolute;
1576
+ top: 0;
1577
+ left: 0;
1578
+ right: 0;
1579
+ height: 3px;
1580
+ background: var(--accent-gradient);
1581
+ transform: scaleX(0);
1582
+ transition: transform 0.3s ease;
1583
+ }
1584
+
1585
+ .feature-card:hover::before {
1586
+ transform: scaleX(1);
1587
+ }
1588
+
1589
+ .feature-card:hover {
1590
+ transform: translateY(-4px);
1591
+ box-shadow: var(--shadow-xl);
1592
+ border-color: var(--accent-light);
1593
+ }
1594
+
1595
+ .feature-icon {
1596
+ font-size: var(--text-3xl);
1597
+ margin-bottom: var(--space-lg);
1598
+ display: block;
1599
+ }
1600
+
1601
+ .feature-card h3 {
1602
+ font-size: var(--text-xl);
1603
+ font-weight: 700;
1604
+ margin-bottom: var(--space-md);
1605
+ color: var(--text-primary);
1606
+ }
1607
+
1608
+ .feature-card p {
1609
+ font-size: var(--text-base);
1610
+ line-height: 1.7;
1611
+ color: var(--text-secondary);
1612
+ margin-bottom: 0;
1613
+ }
1614
+
1615
+ /* How It Works Section */
1616
+ .how-it-works {
1617
+ padding: var(--space-4xl) 0;
1618
+ background: var(--bg-accent);
1619
+ }
1620
+
1621
+ .workflow-steps {
1622
+ display: grid;
1623
+ grid-template-columns: 1fr auto 1fr auto 1fr;
1624
+ gap: var(--space-xl);
1625
+ align-items: center;
1626
+ margin-top: var(--space-3xl);
1627
+ }
1628
+
1629
+ .workflow-step {
1630
+ text-align: center;
1631
+ position: relative;
1632
+ }
1633
+
1634
+ .step-number {
1635
+ width: 4rem;
1636
+ height: 4rem;
1637
+ background: var(--accent-gradient);
1638
+ color: var(--text-inverse);
1639
+ border-radius: 50%;
1640
+ display: flex;
1641
+ align-items: center;
1642
+ justify-content: center;
1643
+ font-size: var(--text-xl);
1644
+ font-weight: 700;
1645
+ margin: 0 auto var(--space-lg);
1646
+ box-shadow: var(--shadow-lg);
1647
+ }
1648
+
1649
+ .step-content h3 {
1650
+ font-size: var(--text-xl);
1651
+ font-weight: 700;
1652
+ margin-bottom: var(--space-md);
1653
+ color: var(--text-primary);
1654
+ }
1655
+
1656
+ .step-content p {
1657
+ font-size: var(--text-base);
1658
+ line-height: 1.7;
1659
+ color: var(--text-secondary);
1660
+ margin-bottom: 0;
1661
+ }
1662
+
1663
+ .workflow-arrow {
1664
+ font-size: var(--text-2xl);
1665
+ color: var(--accent-primary);
1666
+ font-weight: 700;
1667
+ }
1668
+
1669
+ /* Social Proof Section */
1670
+ .social-proof {
1671
+ padding: var(--space-4xl) 0;
1672
+ background: var(--bg-secondary);
1673
+ }
1674
+
1675
+ .testimonials {
1676
+ display: grid;
1677
+ grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
1678
+ gap: var(--space-2xl);
1679
+ margin-top: var(--space-3xl);
1680
+ }
1681
+
1682
+ .testimonial {
1683
+ background: var(--bg-primary);
1684
+ padding: var(--space-2xl);
1685
+ border-radius: var(--radius-2xl);
1686
+ box-shadow: var(--shadow-md);
1687
+ border: 1px solid var(--border-light);
1688
+ position: relative;
1689
+ }
1690
+
1691
+ .testimonial::before {
1692
+ content: '"';
1693
+ position: absolute;
1694
+ top: -0.5rem;
1695
+ left: var(--space-lg);
1696
+ font-size: 4rem;
1697
+ color: var(--accent-primary);
1698
+ font-weight: 700;
1699
+ line-height: 1;
1700
+ }
1701
+
1702
+ .testimonial p {
1703
+ font-size: var(--text-lg);
1704
+ line-height: 1.7;
1705
+ color: var(--text-primary);
1706
+ margin-bottom: var(--space-lg);
1707
+ font-style: italic;
1708
+ }
1709
+
1710
+ .testimonial-author {
1711
+ display: flex;
1712
+ flex-direction: column;
1713
+ gap: var(--space-xs);
1714
+ }
1715
+
1716
+ .testimonial-author strong {
1717
+ font-weight: 700;
1718
+ color: var(--text-primary);
1719
+ }
1720
+
1721
+ .testimonial-author span {
1722
+ font-size: var(--text-sm);
1723
+ color: var(--text-muted);
1724
+ }
1725
+
1726
+ /* CTA Section */
1727
+ .cta-section {
1728
+ padding: var(--space-4xl) 0;
1729
+ background: var(--accent-gradient);
1730
+ color: var(--text-inverse);
1731
+ text-align: center;
1732
+ }
1733
+
1734
+ .cta-content h2 {
1735
+ font-size: var(--text-4xl);
1736
+ font-weight: 800;
1737
+ margin-bottom: var(--space-lg);
1738
+ color: var(--text-inverse);
1739
+ }
1740
+
1741
+ .cta-content p {
1742
+ font-size: var(--text-xl);
1743
+ margin-bottom: var(--space-2xl);
1744
+ color: rgba(255, 255, 255, 0.9);
1745
+ max-width: 40rem;
1746
+ margin-left: auto;
1747
+ margin-right: auto;
1748
+ }
1749
+
1750
+ .cta-buttons {
1751
+ display: flex;
1752
+ gap: var(--space-lg);
1753
+ justify-content: center;
1754
+ align-items: center;
1755
+ flex-wrap: wrap;
1756
+ }
1757
+
1758
+ .btn-large {
1759
+ padding: 1rem 2.5rem;
1760
+ font-size: var(--text-lg);
1761
+ }
1762
+
1763
+ .btn-secondary.cta-secondary {
1764
+ background: rgba(255, 255, 255, 0.1);
1765
+ color: var(--text-inverse);
1766
+ border-color: rgba(255, 255, 255, 0.3);
1767
+ backdrop-filter: blur(10px);
1768
+ }
1769
+
1770
+ .btn-secondary.cta-secondary:hover {
1771
+ background: rgba(255, 255, 255, 0.2);
1772
+ border-color: rgba(255, 255, 255, 0.5);
1773
+ }
1774
+
1775
+ /* Footer */
1776
+ .footer {
1777
+ padding: var(--space-4xl) 0 var(--space-2xl);
1778
+ background: var(--bg-tertiary);
1779
+ border-top: 1px solid var(--border-color);
1780
+ }
1781
+
1782
+ .footer-content {
1783
+ display: grid;
1784
+ grid-template-columns: 2fr 1fr 1fr 1fr;
1785
+ gap: var(--space-3xl);
1786
+ margin-bottom: var(--space-3xl);
1787
+ }
1788
+
1789
+ .footer-brand {
1790
+ display: flex;
1791
+ flex-direction: column;
1792
+ gap: var(--space-lg);
1793
+ }
1794
+
1795
+ .footer-logo {
1796
+ width: 3rem;
1797
+ height: 3rem;
1798
+ border-radius: var(--radius-lg);
1799
+ }
1800
+
1801
+ .footer-brand p {
1802
+ font-size: var(--text-base);
1803
+ color: var(--text-secondary);
1804
+ margin-bottom: 0;
1805
+ max-width: 20rem;
1806
+ }
1807
+
1808
+ .footer-section h4 {
1809
+ font-size: var(--text-lg);
1810
+ font-weight: 700;
1811
+ margin-bottom: var(--space-lg);
1812
+ color: var(--text-primary);
1813
+ }
1814
+
1815
+ .footer-section ul {
1816
+ list-style: none;
1817
+ }
1818
+
1819
+ .footer-section li {
1820
+ margin-bottom: var(--space-sm);
1821
+ }
1822
+
1823
+ .footer-section a {
1824
+ color: var(--text-secondary);
1825
+ text-decoration: none;
1826
+ font-size: var(--text-base);
1827
+ transition: color 0.2s ease;
1828
+ }
1829
+
1830
+ .footer-section a:hover {
1831
+ color: var(--accent-primary);
1832
+ }
1833
+
1834
+ .footer-bottom {
1835
+ padding-top: var(--space-2xl);
1836
+ border-top: 1px solid var(--border-light);
1837
+ }
1838
+
1839
+ .footer-legal {
1840
+ display: flex;
1841
+ justify-content: space-between;
1842
+ align-items: center;
1843
+ flex-wrap: wrap;
1844
+ gap: var(--space-lg);
1845
+ }
1846
+
1847
+ .footer-legal p {
1848
+ font-size: var(--text-sm);
1849
+ color: var(--text-muted);
1850
+ margin-bottom: 0;
1851
+ }
1852
+
1853
+ .legal-links {
1854
+ display: flex;
1855
+ gap: var(--space-lg);
1856
+ }
1857
+
1858
+ .legal-links a {
1859
+ font-size: var(--text-sm);
1860
+ color: var(--text-muted);
1861
+ text-decoration: none;
1862
+ transition: color 0.2s ease;
1863
+ }
1864
+
1865
+ .legal-links a:hover {
1866
+ color: var(--accent-primary);
1867
+ }
1868
+ /* Advanced Animations & Micro-interactions */
1869
+ @keyframes fadeInUp {
1870
+ from {
1871
+ opacity: 0;
1872
+ transform: translateY(2rem);
1873
+ }
1874
+ to {
1875
+ opacity: 1;
1876
+ transform: translateY(0);
1877
+ }
1878
+ }
1879
+
1880
+ @keyframes fadeInLeft {
1881
+ from {
1882
+ opacity: 0;
1883
+ transform: translateX(-2rem);
1884
+ }
1885
+ to {
1886
+ opacity: 1;
1887
+ transform: translateX(0);
1888
+ }
1889
+ }
1890
+
1891
+ @keyframes fadeInRight {
1892
+ from {
1893
+ opacity: 0;
1894
+ transform: translateX(2rem);
1895
+ }
1896
+ to {
1897
+ opacity: 1;
1898
+ transform: translateX(0);
1899
+ }
1900
+ }
1901
+
1902
+ @keyframes pulse {
1903
+ 0%, 100% {
1904
+ transform: scale(1);
1905
+ }
1906
+ 50% {
1907
+ transform: scale(1.05);
1908
+ }
1909
+ }
1910
+
1911
+ @keyframes shimmer {
1912
+ 0% {
1913
+ background-position: -200% 0;
1914
+ }
1915
+ 100% {
1916
+ background-position: 200% 0;
1917
+ }
1918
+ }
1919
+
1920
+ /* Apply animations */
1921
+ .hero-text {
1922
+ animation: fadeInLeft 0.8s ease-out;
1923
+ }
1924
+
1925
+ .hero-visual {
1926
+ animation: fadeInRight 0.8s ease-out 0.2s both;
1927
+ }
1928
+
1929
+ .feature-card {
1930
+ animation: fadeInUp 0.6s ease-out both;
1931
+ }
1932
+
1933
+ .feature-card:nth-child(1) { animation-delay: 0.1s; }
1934
+ .feature-card:nth-child(2) { animation-delay: 0.2s; }
1935
+ .feature-card:nth-child(3) { animation-delay: 0.3s; }
1936
+ .feature-card:nth-child(4) { animation-delay: 0.4s; }
1937
+ .feature-card:nth-child(5) { animation-delay: 0.5s; }
1938
+ .feature-card:nth-child(6) { animation-delay: 0.6s; }
1939
+
1940
+ .workflow-step {
1941
+ animation: fadeInUp 0.6s ease-out both;
1942
+ }
1943
+
1944
+ .workflow-step:nth-child(1) { animation-delay: 0.2s; }
1945
+ .workflow-step:nth-child(3) { animation-delay: 0.4s; }
1946
+ .workflow-step:nth-child(5) { animation-delay: 0.6s; }
1947
+
1948
+ .testimonial {
1949
+ animation: fadeInUp 0.6s ease-out both;
1950
+ }
1951
+
1952
+ .testimonial:nth-child(1) { animation-delay: 0.1s; }
1953
+ .testimonial:nth-child(2) { animation-delay: 0.3s; }
1954
+ .testimonial:nth-child(3) { animation-delay: 0.5s; }
1955
+
1956
+ /* Enhanced button effects */
1957
+ .btn-primary {
1958
+ background: var(--accent-gradient);
1959
+ background-size: 200% 100%;
1960
+ animation: shimmer 3s ease-in-out infinite;
1961
+ }
1962
+
1963
+ .btn-primary:hover {
1964
+ animation: none;
1965
+ background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 50%, #3b82f6 100%);
1966
+ }
1967
+
1968
+ /* Terminal typing animation */
1969
+ .terminal-line .command {
1970
+ overflow: hidden;
1971
+ border-right: 2px solid var(--accent-primary);
1972
+ white-space: nowrap;
1973
+ animation: typing 2s steps(40, end), blink-caret 0.75s step-end infinite;
1974
+ animation-delay: 0.5s;
1975
+ animation-fill-mode: both;
1976
+ }
1977
+
1978
+ @keyframes typing {
1979
+ from { width: 0; }
1980
+ to { width: 100%; }
1981
+ }
1982
+
1983
+ @keyframes blink-caret {
1984
+ from, to { border-color: transparent; }
1985
+ 50% { border-color: var(--accent-primary); }
1986
+ }
1987
+
1988
+ /* Smooth scroll behavior */
1989
+ html {
1990
+ scroll-behavior: smooth;
1991
+ }
1992
+
1993
+ /* Enhanced focus states for accessibility */
1994
+ .btn:focus,
1995
+ .nav-link:focus,
1996
+ .theme-toggle:focus {
1997
+ outline: 2px solid var(--accent-primary);
1998
+ outline-offset: 2px;
1999
+ }
2000
+
2001
+ /* Reduced motion for accessibility */
2002
+ @media (prefers-reduced-motion: reduce) {
2003
+ *,
2004
+ *::before,
2005
+ *::after {
2006
+ animation-duration: 0.01ms !important;
2007
+ animation-iteration-count: 1 !important;
2008
+ transition-duration: 0.01ms !important;
2009
+ scroll-behavior: auto !important;
2010
+ }
2011
+ }
2012
+
2013
+ /* Enhanced responsive design */
2014
+ @media (max-width: 1024px) {
2015
+ .hero-content {
2016
+ grid-template-columns: 1fr;
2017
+ gap: var(--space-3xl);
2018
+ text-align: center;
2019
+ }
2020
+
2021
+ .hero-text {
2022
+ max-width: none;
2023
+ }
2024
+
2025
+ .comparison {
2026
+ grid-template-columns: 1fr;
2027
+ gap: var(--space-xl);
2028
+ }
2029
+
2030
+ .vs-badge {
2031
+ order: -1;
2032
+ margin: var(--space-lg) auto;
2033
+ }
2034
+
2035
+ .workflow-steps {
2036
+ grid-template-columns: 1fr;
2037
+ gap: var(--space-2xl);
2038
+ }
2039
+
2040
+ .workflow-arrow {
2041
+ display: none;
2042
+ }
2043
+
2044
+ .footer-content {
2045
+ grid-template-columns: 1fr 1fr;
2046
+ gap: var(--space-2xl);
2047
+ }
2048
+ }
2049
+
2050
+ @media (max-width: 768px) {
2051
+ .container {
2052
+ padding: 0 var(--space-lg);
2053
+ }
2054
+
2055
+ .hero {
2056
+ padding: 6rem 0 4rem;
2057
+ }
2058
+
2059
+ .hero-title {
2060
+ font-size: clamp(2rem, 8vw, 3rem);
2061
+ }
2062
+
2063
+ .hero-subtitle {
2064
+ font-size: var(--text-lg);
2065
+ }
2066
+
2067
+ .hero-cta {
2068
+ flex-direction: column;
2069
+ align-items: center;
2070
+ gap: var(--space-md);
2071
+ }
2072
+
2073
+ .btn {
2074
+ width: 100%;
2075
+ max-width: 20rem;
2076
+ }
2077
+
2078
+ .features-grid {
2079
+ grid-template-columns: 1fr;
2080
+ gap: var(--space-xl);
2081
+ }
2082
+
2083
+ .testimonials {
2084
+ grid-template-columns: 1fr;
2085
+ gap: var(--space-xl);
2086
+ }
2087
+
2088
+ .cta-buttons {
2089
+ flex-direction: column;
2090
+ align-items: center;
2091
+ gap: var(--space-md);
2092
+ }
2093
+
2094
+ .footer-content {
2095
+ grid-template-columns: 1fr;
2096
+ gap: var(--space-xl);
2097
+ text-align: center;
2098
+ }
2099
+
2100
+ .footer-legal {
2101
+ flex-direction: column;
2102
+ text-align: center;
2103
+ gap: var(--space-md);
2104
+ }
2105
+
2106
+ .nav-menu {
2107
+ gap: var(--space-lg);
2108
+ }
2109
+
2110
+ .nav-link:not(:last-child) {
2111
+ display: none;
2112
+ }
2113
+ }
2114
+
2115
+ @media (max-width: 480px) {
2116
+ .container {
2117
+ padding: 0 var(--space-md);
2118
+ }
2119
+
2120
+ .nav-container {
2121
+ padding: 0 var(--space-md);
2122
+ }
2123
+
2124
+ .hero {
2125
+ padding: 5rem 0 3rem;
2126
+ }
2127
+
2128
+ .section-title {
2129
+ font-size: var(--text-3xl);
2130
+ }
2131
+
2132
+ .terminal-demo {
2133
+ max-width: 100%;
2134
+ }
2135
+
2136
+ .terminal-body {
2137
+ padding: var(--space-lg);
2138
+ font-size: var(--text-xs);
2139
+ }
2140
+ }
2141
+
2142
+ /* Pricing Page Specific Styles */
2143
+ .pricing-hero .hero-content {
2144
+ display: block;
2145
+ text-align: center;
2146
+ }
2147
+
2148
+ .pricing-hero .hero-content.single-column {
2149
+ max-width: 48rem;
2150
+ margin: 0 auto;
2151
+ }
2152
+
2153
+ .pricing-hero .hero-text.centered {
2154
+ text-align: center;
2155
+ max-width: none;
2156
+ }
2157
+
2158
+ .section-header {
2159
+ text-align: center;
2160
+ margin-bottom: var(--space-4xl);
2161
+ }
2162
+
2163
+ .section-title {
2164
+ font-size: var(--text-4xl);
2165
+ font-weight: 800;
2166
+ color: var(--text-primary);
2167
+ margin-bottom: var(--space-lg);
2168
+ background: var(--accent-gradient);
2169
+ -webkit-background-clip: text;
2170
+ -webkit-text-fill-color: transparent;
2171
+ background-clip: text;
2172
+ }
2173
+
2174
+ .section-subtitle {
2175
+ font-size: var(--text-xl);
2176
+ color: var(--text-secondary);
2177
+ max-width: 42rem;
2178
+ margin: 0 auto;
2179
+ line-height: 1.7;
2180
+ }
2181
+
2182
+ /* Capability Assessment */
2183
+ .capability-assessment {
2184
+ padding: var(--space-4xl) 0;
2185
+ background: var(--bg-secondary);
2186
+ }
2187
+
2188
+ .assessment-grid {
2189
+ display: grid;
2190
+ grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
2191
+ gap: var(--space-2xl);
2192
+ margin-top: var(--space-3xl);
2193
+ }
2194
+
2195
+ .assessment-card {
2196
+ background: var(--bg-primary);
2197
+ border: 1px solid var(--border-light);
2198
+ border-radius: var(--radius-2xl);
2199
+ padding: var(--space-2xl);
2200
+ box-shadow: var(--shadow-md);
2201
+ transition: all 0.3s ease;
2202
+ }
2203
+
2204
+ .assessment-card:hover {
2205
+ transform: translateY(-4px);
2206
+ box-shadow: var(--shadow-xl);
2207
+ border-color: var(--accent-primary);
2208
+ }
2209
+
2210
+ .assessment-card .card-header {
2211
+ display: flex;
2212
+ align-items: center;
2213
+ gap: var(--space-lg);
2214
+ margin-bottom: var(--space-xl);
2215
+ }
2216
+
2217
+ .assessment-card .card-icon {
2218
+ font-size: var(--text-2xl);
2219
+ }
2220
+
2221
+ .assessment-card h3 {
2222
+ font-size: var(--text-xl);
2223
+ font-weight: 700;
2224
+ color: var(--text-primary);
2225
+ margin: 0;
2226
+ }
2227
+
2228
+ .assessment-list {
2229
+ list-style: none;
2230
+ padding: 0;
2231
+ margin: 0;
2232
+ }
2233
+
2234
+ .assessment-list li {
2235
+ padding: var(--space-sm) 0;
2236
+ color: var(--text-secondary);
2237
+ line-height: 1.6;
2238
+ position: relative;
2239
+ padding-left: var(--space-lg);
2240
+ }
2241
+
2242
+ .assessment-list li::before {
2243
+ content: '•';
2244
+ color: var(--accent-primary);
2245
+ font-weight: bold;
2246
+ position: absolute;
2247
+ left: 0;
2248
+ }
2249
+
2250
+ /* Pricing Plans */
2251
+ .pricing-plans {
2252
+ padding: var(--space-4xl) 0;
2253
+ background: var(--bg-primary);
2254
+ }
2255
+
2256
+ .plans-grid {
2257
+ display: grid;
2258
+ grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
2259
+ gap: var(--space-2xl);
2260
+ margin-top: var(--space-3xl);
2261
+ }
2262
+
2263
+ .plan-card {
2264
+ background: var(--bg-primary);
2265
+ border: 2px solid var(--border-light);
2266
+ border-radius: var(--radius-2xl);
2267
+ padding: var(--space-2xl);
2268
+ box-shadow: var(--shadow-lg);
2269
+ transition: all 0.3s ease;
2270
+ position: relative;
2271
+ display: flex;
2272
+ flex-direction: column;
2273
+ }
2274
+
2275
+ .plan-card:hover {
2276
+ transform: translateY(-6px);
2277
+ box-shadow: var(--shadow-2xl);
2278
+ border-color: var(--accent-primary);
2279
+ }
2280
+
2281
+ .plan-card.featured {
2282
+ border-color: var(--accent-primary);
2283
+ background: linear-gradient(135deg, var(--bg-primary) 0%, var(--accent-light) 100%);
2284
+ transform: scale(1.05);
2285
+ }
2286
+
2287
+ .plan-card.featured:hover {
2288
+ transform: scale(1.05) translateY(-6px);
2289
+ }
2290
+
2291
+ .plan-badge {
2292
+ position: absolute;
2293
+ top: -0.75rem;
2294
+ left: 50%;
2295
+ transform: translateX(-50%);
2296
+ background: var(--accent-gradient);
2297
+ color: var(--text-inverse);
2298
+ padding: var(--space-sm) var(--space-lg);
2299
+ border-radius: var(--radius-xl);
2300
+ font-size: var(--text-sm);
2301
+ font-weight: 600;
2302
+ box-shadow: var(--shadow-md);
2303
+ }
2304
+
2305
+ .plan-header {
2306
+ text-align: center;
2307
+ margin-bottom: var(--space-2xl);
2308
+ padding-bottom: var(--space-xl);
2309
+ border-bottom: 1px solid var(--border-light);
2310
+ }
2311
+
2312
+ .plan-name {
2313
+ font-size: var(--text-2xl);
2314
+ font-weight: 800;
2315
+ color: var(--text-primary);
2316
+ margin-bottom: var(--space-sm);
2317
+ }
2318
+
2319
+ .plan-subtitle {
2320
+ font-size: var(--text-base);
2321
+ color: var(--text-secondary);
2322
+ margin-bottom: var(--space-xl);
2323
+ font-style: italic;
2324
+ }
2325
+
2326
+ .plan-price {
2327
+ margin-bottom: var(--space-lg);
2328
+ }
2329
+
2330
+ .price-amount {
2331
+ font-size: var(--text-3xl);
2332
+ font-weight: 900;
2333
+ color: var(--accent-primary);
2334
+ display: block;
2335
+ }
2336
+
2337
+ .price-period {
2338
+ font-size: var(--text-sm);
2339
+ color: var(--text-muted);
2340
+ margin-top: var(--space-sm);
2341
+ display: block;
2342
+ }
2343
+
2344
+ .plan-content {
2345
+ flex: 1;
2346
+ margin-bottom: var(--space-2xl);
2347
+ }
2348
+
2349
+ .plan-description {
2350
+ margin-bottom: var(--space-xl);
2351
+ }
2352
+
2353
+ .plan-description p {
2354
+ font-size: var(--text-base);
2355
+ line-height: 1.7;
2356
+ color: var(--text-secondary);
2357
+ }
2358
+
2359
+ .plan-benefits, .plan-savings {
2360
+ margin-bottom: var(--space-xl);
2361
+ }
2362
+
2363
+ .plan-benefits h4, .plan-savings h4 {
2364
+ font-size: var(--text-lg);
2365
+ font-weight: 700;
2366
+ color: var(--text-primary);
2367
+ margin-bottom: var(--space-md);
2368
+ }
2369
+
2370
+ .plan-benefits ul {
2371
+ list-style: none;
2372
+ padding: 0;
2373
+ margin: 0;
2374
+ }
2375
+
2376
+ .plan-benefits li {
2377
+ padding: var(--space-sm) 0;
2378
+ color: var(--text-secondary);
2379
+ line-height: 1.6;
2380
+ position: relative;
2381
+ padding-left: var(--space-lg);
2382
+ }
2383
+
2384
+ .plan-benefits li::before {
2385
+ content: '✓';
2386
+ color: var(--success-color);
2387
+ font-weight: bold;
2388
+ position: absolute;
2389
+ left: 0;
2390
+ }
2391
+
2392
+ .plan-savings p {
2393
+ font-size: var(--text-base);
2394
+ color: var(--text-secondary);
2395
+ line-height: 1.6;
2396
+ }
2397
+
2398
+ .plan-footer {
2399
+ margin-top: auto;
2400
+ }
2401
+
2402
+ .pricing-note {
2403
+ text-align: center;
2404
+ margin-top: var(--space-3xl);
2405
+ padding: var(--space-xl);
2406
+ background: var(--bg-tertiary);
2407
+ border-radius: var(--radius-xl);
2408
+ border: 1px solid var(--border-light);
2409
+ }
2410
+
2411
+ .pricing-note p {
2412
+ font-size: var(--text-base);
2413
+ color: var(--text-secondary);
2414
+ margin: 0;
2415
+ }
2416
+
2417
+ /* Bundle Outcomes */
2418
+ .bundle-outcomes {
2419
+ padding: var(--space-4xl) 0;
2420
+ background: var(--bg-secondary);
2421
+ }
2422
+
2423
+ .outcomes-grid {
2424
+ display: grid;
2425
+ grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
2426
+ gap: var(--space-2xl);
2427
+ margin-top: var(--space-3xl);
2428
+ }
2429
+
2430
+ .outcome-card {
2431
+ background: var(--bg-primary);
2432
+ border: 1px solid var(--border-light);
2433
+ border-radius: var(--radius-2xl);
2434
+ padding: var(--space-2xl);
2435
+ box-shadow: var(--shadow-md);
2436
+ transition: all 0.3s ease;
2437
+ }
2438
+
2439
+ .outcome-card:hover {
2440
+ transform: translateY(-4px);
2441
+ box-shadow: var(--shadow-xl);
2442
+ border-color: var(--accent-primary);
2443
+ }
2444
+
2445
+ .outcome-icon {
2446
+ font-size: var(--text-3xl);
2447
+ margin-bottom: var(--space-lg);
2448
+ display: block;
2449
+ }
2450
+
2451
+ .outcome-card h3 {
2452
+ font-size: var(--text-xl);
2453
+ font-weight: 700;
2454
+ color: var(--text-primary);
2455
+ margin-bottom: var(--space-lg);
2456
+ }
2457
+
2458
+ .outcome-card ul {
2459
+ list-style: none;
2460
+ padding: 0;
2461
+ margin: 0;
2462
+ }
2463
+
2464
+ .outcome-card li {
2465
+ padding: var(--space-xs) 0;
2466
+ color: var(--text-secondary);
2467
+ line-height: 1.6;
2468
+ position: relative;
2469
+ padding-left: var(--space-lg);
2470
+ }
2471
+
2472
+ .outcome-card li::before {
2473
+ content: '•';
2474
+ color: var(--accent-primary);
2475
+ font-weight: bold;
2476
+ position: absolute;
2477
+ left: 0;
2478
+ }
2479
+
2480
+ /* FAQ Section */
2481
+ .faq {
2482
+ padding: var(--space-4xl) 0;
2483
+ background: var(--bg-primary);
2484
+ }
2485
+
2486
+ .faq-grid {
2487
+ display: grid;
2488
+ grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
2489
+ gap: var(--space-2xl);
2490
+ margin-top: var(--space-3xl);
2491
+ }
2492
+
2493
+ .faq-item {
2494
+ background: var(--bg-secondary);
2495
+ border: 1px solid var(--border-light);
2496
+ border-radius: var(--radius-xl);
2497
+ padding: var(--space-2xl);
2498
+ transition: all 0.3s ease;
2499
+ }
2500
+
2501
+ .faq-item:hover {
2502
+ box-shadow: var(--shadow-md);
2503
+ border-color: var(--accent-primary);
2504
+ }
2505
+
2506
+ .faq-question {
2507
+ font-size: var(--text-lg);
2508
+ font-weight: 700;
2509
+ color: var(--text-primary);
2510
+ margin-bottom: var(--space-lg);
2511
+ }
2512
+
2513
+ .faq-answer {
2514
+ font-size: var(--text-base);
2515
+ color: var(--text-secondary);
2516
+ line-height: 1.7;
2517
+ margin: 0;
2518
+ }
2519
+
2520
+ /* Button Variants */
2521
+ .btn-sm {
2522
+ padding: 0.5rem 1rem;
2523
+ font-size: var(--text-sm);
2524
+ }
2525
+
2526
+ .btn-large {
2527
+ padding: 1rem 2.5rem;
2528
+ font-size: var(--text-lg);
2529
+ }
2530
+
2531
+ .btn-icon {
2532
+ margin-left: var(--space-sm);
2533
+ transition: transform 0.2s ease;
2534
+ }
2535
+
2536
+ .btn:hover .btn-icon {
2537
+ transform: translateX(2px);
2538
+ }
2539
+
2540
+ /* CTA Section */
2541
+ .cta-section {
2542
+ padding: var(--space-4xl) 0;
2543
+ background:
2544
+ radial-gradient(circle at 20% 80%, rgba(37, 99, 235, 0.15) 0%, transparent 60%),
2545
+ radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.15) 0%, transparent 60%),
2546
+ var(--bg-primary);
2547
+ }
2548
+
2549
+ .cta-content {
2550
+ text-align: center;
2551
+ max-width: 42rem;
2552
+ margin: 0 auto;
2553
+ }
2554
+
2555
+ .cta-content h2 {
2556
+ font-size: var(--text-4xl);
2557
+ font-weight: 800;
2558
+ color: var(--text-primary);
2559
+ margin-bottom: var(--space-lg);
2560
+ background: var(--accent-gradient);
2561
+ -webkit-background-clip: text;
2562
+ -webkit-text-fill-color: transparent;
2563
+ background-clip: text;
2564
+ }
2565
+
2566
+ .cta-content p {
2567
+ font-size: var(--text-xl);
2568
+ color: var(--text-secondary);
2569
+ margin-bottom: var(--space-2xl);
2570
+ }
2571
+
2572
+ .cta-buttons {
2573
+ display: flex;
2574
+ gap: var(--space-lg);
2575
+ justify-content: center;
2576
+ align-items: center;
2577
+ flex-wrap: wrap;
2578
+ margin-bottom: var(--space-xl);
2579
+ }
2580
+
2581
+ .cta-note {
2582
+ margin-top: var(--space-xl);
2583
+ }
2584
+
2585
+ .cta-note p {
2586
+ font-size: var(--text-base);
2587
+ color: var(--text-muted);
2588
+ margin: 0;
2589
+ }
2590
+
2591
+ /* Active nav link */
2592
+ .nav-link.active {
2593
+ color: var(--accent-primary);
2594
+ font-weight: 600;
2595
+ }
2596
+
2597
+ .nav-link.active::after {
2598
+ width: 100%;
2599
+ }
2600
+
2601
+ /* Responsive Design */
2602
+ @media (max-width: 768px) {
2603
+ .hero-content {
2604
+ grid-template-columns: 1fr;
2605
+ gap: var(--space-2xl);
2606
+ text-align: center;
2607
+ }
2608
+
2609
+ .hero-visual {
2610
+ order: -1;
2611
+ }
2612
+
2613
+ .terminal-demo {
2614
+ max-width: 24rem;
2615
+ }
2616
+
2617
+ .plans-grid {
2618
+ grid-template-columns: 1fr;
2619
+ }
2620
+
2621
+ .plan-card.featured {
2622
+ transform: none;
2623
+ }
2624
+
2625
+ .plan-card.featured:hover {
2626
+ transform: translateY(-6px);
2627
+ }
2628
+
2629
+ .assessment-grid,
2630
+ .outcomes-grid,
2631
+ .faq-grid {
2632
+ grid-template-columns: 1fr;
2633
+ }
2634
+
2635
+ .cta-buttons {
2636
+ flex-direction: column;
2637
+ align-items: stretch;
2638
+ }
2639
+
2640
+ .nav-menu {
2641
+ gap: var(--space-lg);
2642
+ }
2643
+
2644
+ .container {
2645
+ padding: 0 var(--space-lg);
2646
+ }
2647
+ }