@lemonppt/themes 0.1.0

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.
@@ -0,0 +1,1782 @@
1
+ /* packages/themes/src/dark-tech/styles.css */
2
+ /* Dark tech theme for lemonPPT */
3
+
4
+ :root {
5
+ --lp-bg: #0a0f1c;
6
+ --lp-surface: #111827;
7
+ --lp-text: #f3f4f6;
8
+ --lp-secondary: #94a3b8;
9
+ --lp-accent: #06b6d4;
10
+ --lp-border: rgba(255, 255, 255, 0.1);
11
+ --lp-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
12
+ --lp-font: Inter, "Noto Sans SC", system-ui, sans-serif;
13
+ --lp-font-mono: JetBrains Mono, "SF Mono", monospace;
14
+ }
15
+
16
+ * {
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ html,
21
+ body {
22
+ margin: 0;
23
+ padding: 0;
24
+ width: 100%;
25
+ height: 100%;
26
+ font-family: var(--lp-font);
27
+ background: var(--lp-bg);
28
+ color: var(--lp-text);
29
+ overflow: hidden;
30
+ }
31
+
32
+ .lp-deck {
33
+ position: relative;
34
+ width: 100%;
35
+ height: 100%;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ }
40
+
41
+ .lp-slide-wrapper {
42
+ position: absolute;
43
+ top: 0;
44
+ left: 0;
45
+ width: 100%;
46
+ height: 100%;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ opacity: 0;
51
+ transform: translateX(100%);
52
+ transition: transform 350ms ease, opacity 250ms ease;
53
+ z-index: 0;
54
+ }
55
+
56
+ .lp-slide-wrapper.active {
57
+ opacity: 1;
58
+ transform: translateX(0);
59
+ z-index: 2;
60
+ }
61
+
62
+ .lp-slide-wrapper.prev {
63
+ opacity: 0;
64
+ transform: translateX(-100%);
65
+ z-index: 1;
66
+ }
67
+
68
+ .lp-slide {
69
+ width: 1280px;
70
+ height: 720px;
71
+ background: var(--lp-surface);
72
+ border: 1px solid rgba(6, 182, 212, 0.15);
73
+ border-radius: 16px;
74
+ box-shadow: var(--lp-shadow), 0 0 0 1px rgba(6, 182, 212, 0.08);
75
+ padding: 80px 96px;
76
+ display: flex;
77
+ flex-direction: column;
78
+ position: relative;
79
+ overflow: hidden;
80
+ }
81
+
82
+ .lp-slide::before {
83
+ content: "";
84
+ position: absolute;
85
+ inset: 0;
86
+ background:
87
+ radial-gradient(circle at 80% 20%, rgba(6, 182, 212, 0.12), transparent 40%),
88
+ radial-gradient(circle at 20% 80%, rgba(59, 130, 246, 0.1), transparent 40%);
89
+ pointer-events: none;
90
+ z-index: 0;
91
+ }
92
+
93
+ .lp-heading {
94
+ font-weight: 700;
95
+ line-height: 1.15;
96
+ margin: 0 0 24px 0;
97
+ color: var(--lp-text);
98
+ }
99
+
100
+ .lp-kicker {
101
+ font-family: var(--lp-font-mono);
102
+ font-size: 13px;
103
+ letter-spacing: 0.12em;
104
+ text-transform: uppercase;
105
+ color: var(--lp-accent);
106
+ margin-bottom: 16px;
107
+ }
108
+
109
+ .lp-cover-v1 {
110
+ align-items: center;
111
+ justify-content: center;
112
+ text-align: center;
113
+ }
114
+
115
+ .lp-cover-image {
116
+ position: absolute;
117
+ inset: 0;
118
+ width: 100%;
119
+ height: 100%;
120
+ object-fit: cover;
121
+ opacity: 0.25;
122
+ pointer-events: none;
123
+ filter: saturate(0.8);
124
+ }
125
+
126
+ .lp-cover-content {
127
+ position: relative;
128
+ z-index: 1;
129
+ max-width: 900px;
130
+ }
131
+
132
+ .lp-cover-v1 .lp-kicker {
133
+ margin-bottom: 24px;
134
+ }
135
+
136
+ .lp-cover-title {
137
+ font-size: 80px;
138
+ font-weight: 800;
139
+ margin-bottom: 24px;
140
+ text-shadow: 0 0 40px rgba(6, 182, 212, 0.25);
141
+ }
142
+
143
+ .lp-cover-subtitle {
144
+ font-size: 28px;
145
+ color: var(--lp-secondary);
146
+ line-height: 1.45;
147
+ margin-bottom: 48px;
148
+ }
149
+
150
+ .lp-cover-date {
151
+ font-family: var(--lp-font-mono);
152
+ font-size: 15px;
153
+ color: var(--lp-secondary);
154
+ }
155
+
156
+ /* Table of contents */
157
+
158
+ .lp-toc-v1 {
159
+ justify-content: center;
160
+ }
161
+
162
+ .lp-toc-title {
163
+ font-size: 56px;
164
+ margin-bottom: 56px;
165
+ }
166
+
167
+ .lp-toc-list {
168
+ list-style: none;
169
+ padding: 0;
170
+ margin: 0;
171
+ counter-reset: toc;
172
+ }
173
+
174
+ .lp-toc-list li {
175
+ font-size: 26px;
176
+ padding: 18px 0;
177
+ border-bottom: 1px solid var(--lp-border);
178
+ color: var(--lp-text);
179
+ display: flex;
180
+ align-items: baseline;
181
+ gap: 20px;
182
+ }
183
+
184
+ .lp-toc-list li::before {
185
+ counter-increment: toc;
186
+ content: counter(toc, decimal-leading-zero);
187
+ font-family: var(--lp-font-mono);
188
+ font-size: 15px;
189
+ color: var(--lp-accent);
190
+ min-width: 36px;
191
+ }
192
+
193
+ /* Content */
194
+
195
+ .lp-content-v1 {
196
+ justify-content: center;
197
+ }
198
+
199
+ .lp-content-v1 .lp-heading {
200
+ font-size: 52px;
201
+ margin-bottom: 40px;
202
+ }
203
+
204
+ .lp-bullet-list {
205
+ list-style: none;
206
+ padding: 0;
207
+ margin: 0;
208
+ }
209
+
210
+ .lp-bullet-list li {
211
+ font-size: 26px;
212
+ line-height: 1.55;
213
+ padding: 14px 0 14px 36px;
214
+ position: relative;
215
+ color: var(--lp-text);
216
+ }
217
+
218
+ .lp-bullet-list li::before {
219
+ content: "";
220
+ position: absolute;
221
+ left: 0;
222
+ top: 26px;
223
+ width: 10px;
224
+ height: 10px;
225
+ border-radius: 50%;
226
+ background: var(--lp-accent);
227
+ box-shadow: 0 0 8px var(--lp-accent);
228
+ }
229
+
230
+ /* Metric */
231
+
232
+ .lp-metric-v1,
233
+ .lp-metric-v2 {
234
+ align-items: center;
235
+ justify-content: center;
236
+ text-align: center;
237
+ }
238
+
239
+ .lp-metric-value {
240
+ font-size: 160px;
241
+ font-weight: 800;
242
+ line-height: 1;
243
+ color: var(--lp-accent);
244
+ margin-bottom: 16px;
245
+ text-shadow: 0 0 40px rgba(6, 182, 212, 0.35);
246
+ }
247
+
248
+ .lp-metric-unit {
249
+ font-size: 32px;
250
+ font-weight: 600;
251
+ color: var(--lp-text);
252
+ }
253
+
254
+ .lp-metric-description {
255
+ font-size: 24px;
256
+ color: var(--lp-secondary);
257
+ margin-top: 32px;
258
+ max-width: 700px;
259
+ }
260
+
261
+ /* Comparison */
262
+
263
+ .lp-comparison-v1 {
264
+ justify-content: center;
265
+ }
266
+
267
+ .lp-comparison-title {
268
+ font-size: 48px;
269
+ margin-bottom: 56px;
270
+ text-align: center;
271
+ }
272
+
273
+ .lp-comparison-grid {
274
+ display: grid;
275
+ grid-template-columns: 1fr 1fr;
276
+ gap: 48px;
277
+ }
278
+
279
+ .lp-comparison-col h3 {
280
+ font-size: 28px;
281
+ margin: 0 0 24px 0;
282
+ padding-bottom: 16px;
283
+ border-bottom: 2px solid var(--lp-border);
284
+ }
285
+
286
+ .lp-comparison-col ul {
287
+ list-style: none;
288
+ padding: 0;
289
+ margin: 0;
290
+ }
291
+
292
+ .lp-comparison-col li {
293
+ font-size: 22px;
294
+ padding: 12px 0;
295
+ color: var(--lp-secondary);
296
+ }
297
+
298
+ /* Process */
299
+
300
+ .lp-process-v1 {
301
+ justify-content: center;
302
+ }
303
+
304
+ .lp-process-title {
305
+ font-size: 48px;
306
+ margin-bottom: 56px;
307
+ text-align: center;
308
+ }
309
+
310
+ .lp-process-steps {
311
+ display: flex;
312
+ align-items: stretch;
313
+ justify-content: center;
314
+ gap: 24px;
315
+ }
316
+
317
+ .lp-process-step {
318
+ flex: 1;
319
+ background: rgba(6, 182, 212, 0.08);
320
+ border: 1px solid rgba(6, 182, 212, 0.15);
321
+ border-radius: 16px;
322
+ padding: 36px 28px;
323
+ text-align: center;
324
+ position: relative;
325
+ }
326
+
327
+ .lp-process-step-number {
328
+ font-family: var(--lp-font-mono);
329
+ font-size: 14px;
330
+ color: var(--lp-accent);
331
+ margin-bottom: 16px;
332
+ }
333
+
334
+ .lp-process-step-text {
335
+ font-size: 24px;
336
+ font-weight: 600;
337
+ }
338
+
339
+ /* Quote */
340
+
341
+ .lp-quote-v1 {
342
+ align-items: center;
343
+ justify-content: center;
344
+ text-align: center;
345
+ }
346
+
347
+ .lp-quote-text {
348
+ font-size: 48px;
349
+ font-weight: 600;
350
+ line-height: 1.35;
351
+ margin-bottom: 40px;
352
+ }
353
+
354
+ .lp-quote-author {
355
+ font-size: 20px;
356
+ color: var(--lp-secondary);
357
+ }
358
+
359
+ /* Closing */
360
+
361
+ .lp-closing-v1 {
362
+ align-items: center;
363
+ justify-content: center;
364
+ text-align: center;
365
+ }
366
+
367
+ .lp-closing-title {
368
+ font-size: 72px;
369
+ font-weight: 800;
370
+ margin-bottom: 24px;
371
+ text-shadow: 0 0 40px rgba(6, 182, 212, 0.25);
372
+ }
373
+
374
+ .lp-closing-subtitle {
375
+ font-size: 28px;
376
+ color: var(--lp-secondary);
377
+ }
378
+
379
+ /* Navigation */
380
+
381
+ .lp-nav {
382
+ position: fixed;
383
+ bottom: 32px;
384
+ left: 50%;
385
+ transform: translateX(-50%);
386
+ display: flex;
387
+ align-items: center;
388
+ gap: 16px;
389
+ z-index: 100;
390
+ background: rgba(17, 24, 39, 0.85);
391
+ backdrop-filter: blur(12px);
392
+ padding: 12px 20px;
393
+ border-radius: 999px;
394
+ border: 1px solid rgba(255, 255, 255, 0.08);
395
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
396
+ }
397
+
398
+ .lp-nav button {
399
+ border: none;
400
+ background: transparent;
401
+ cursor: pointer;
402
+ font-size: 20px;
403
+ color: var(--lp-text);
404
+ padding: 6px 12px;
405
+ border-radius: 8px;
406
+ transition: background 150ms ease;
407
+ }
408
+
409
+ .lp-nav button:hover:not(:disabled) {
410
+ background: rgba(255, 255, 255, 0.08);
411
+ }
412
+
413
+ .lp-nav button:disabled {
414
+ opacity: 0.35;
415
+ cursor: not-allowed;
416
+ }
417
+
418
+ .lp-nav-dots {
419
+ display: flex;
420
+ gap: 8px;
421
+ }
422
+
423
+ .lp-nav-dot {
424
+ width: 10px;
425
+ height: 10px;
426
+ border-radius: 50%;
427
+ background: var(--lp-border);
428
+ cursor: pointer;
429
+ transition: background 150ms ease, transform 150ms ease;
430
+ }
431
+
432
+ .lp-nav-dot.active {
433
+ background: var(--lp-accent);
434
+ transform: scale(1.2);
435
+ }
436
+
437
+ .lp-page-counter {
438
+ font-family: var(--lp-font-mono);
439
+ font-size: 13px;
440
+ color: var(--lp-secondary);
441
+ min-width: 48px;
442
+ text-align: center;
443
+ }
444
+
445
+ .lp-hint {
446
+ position: fixed;
447
+ bottom: 12px;
448
+ left: 50%;
449
+ transform: translateX(-50%);
450
+ font-size: 12px;
451
+ color: var(--lp-secondary);
452
+ z-index: 100;
453
+ }
454
+
455
+ /* Editor bar */
456
+
457
+ .lp-editor-bar {
458
+ position: fixed;
459
+ top: 16px;
460
+ left: 50%;
461
+ transform: translateX(-50%);
462
+ display: flex;
463
+ align-items: center;
464
+ gap: 12px;
465
+ z-index: 1000;
466
+ background: rgba(17, 24, 39, 0.92);
467
+ backdrop-filter: blur(12px);
468
+ padding: 10px 18px;
469
+ border-radius: 12px;
470
+ border: 1px solid rgba(255, 255, 255, 0.08);
471
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
472
+ }
473
+
474
+ .lp-editor-title {
475
+ font-weight: 600;
476
+ font-size: 14px;
477
+ margin-right: 8px;
478
+ color: var(--lp-text);
479
+ }
480
+
481
+ .lp-editor-btn {
482
+ border: 1px solid var(--lp-border);
483
+ background: var(--lp-surface);
484
+ color: var(--lp-text);
485
+ font-size: 13px;
486
+ padding: 7px 14px;
487
+ border-radius: 8px;
488
+ cursor: pointer;
489
+ transition: background 150ms ease, border-color 150ms ease;
490
+ }
491
+
492
+ .lp-editor-btn:hover:not(:disabled) {
493
+ background: rgba(255, 255, 255, 0.06);
494
+ border-color: rgba(255, 255, 255, 0.2);
495
+ }
496
+
497
+ .lp-editor-btn:disabled {
498
+ opacity: 0.5;
499
+ cursor: not-allowed;
500
+ }
501
+
502
+ .lp-theme-switcher-label {
503
+ display: flex;
504
+ align-items: center;
505
+ gap: 8px;
506
+ font-size: 13px;
507
+ color: var(--lp-text);
508
+ cursor: pointer;
509
+ }
510
+
511
+ .lp-theme-switcher-label select {
512
+ border: 1px solid var(--lp-border);
513
+ background: rgba(0, 0, 0, 0.25);
514
+ color: var(--lp-text);
515
+ font-size: 13px;
516
+ padding: 6px 10px;
517
+ border-radius: 8px;
518
+ cursor: pointer;
519
+ font-family: inherit;
520
+ }
521
+
522
+ [data-lp-editable="true"] {
523
+ outline: none;
524
+ border-radius: 4px;
525
+ transition: background 150ms ease, box-shadow 150ms ease;
526
+ cursor: text;
527
+ }
528
+
529
+ [data-lp-editable="true"]:hover {
530
+ background: rgba(6, 182, 212, 0.1);
531
+ }
532
+
533
+ [data-lp-editable="true"]:focus {
534
+ background: rgba(6, 182, 212, 0.16);
535
+ box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.5);
536
+ }
537
+
538
+ [data-lp-editable-image="true"] {
539
+ cursor: pointer;
540
+ transition: opacity 150ms ease;
541
+ }
542
+
543
+ [data-lp-editable-image="true"]:hover {
544
+ opacity: 0.85;
545
+ }
546
+
547
+ /* Image editor modal */
548
+
549
+ .lp-image-editor-overlay {
550
+ position: fixed;
551
+ inset: 0;
552
+ background: rgba(0, 0, 0, 0.6);
553
+ display: flex;
554
+ align-items: center;
555
+ justify-content: center;
556
+ z-index: 2000;
557
+ }
558
+
559
+ .lp-image-editor {
560
+ background: var(--lp-surface);
561
+ border: 1px solid rgba(255, 255, 255, 0.08);
562
+ border-radius: 16px;
563
+ padding: 28px;
564
+ width: 480px;
565
+ max-width: 90vw;
566
+ box-shadow: var(--lp-shadow);
567
+ }
568
+
569
+ .lp-image-editor h3 {
570
+ margin: 0 0 20px 0;
571
+ font-size: 20px;
572
+ }
573
+
574
+ .lp-image-editor label {
575
+ display: block;
576
+ margin-bottom: 12px;
577
+ font-size: 14px;
578
+ color: var(--lp-secondary);
579
+ }
580
+
581
+ .lp-image-editor input[type="text"] {
582
+ width: 100%;
583
+ padding: 10px 12px;
584
+ margin-top: 6px;
585
+ border: 1px solid var(--lp-border);
586
+ border-radius: 8px;
587
+ font-size: 14px;
588
+ font-family: inherit;
589
+ background: rgba(0, 0, 0, 0.25);
590
+ color: var(--lp-text);
591
+ }
592
+
593
+ .lp-image-file-label {
594
+ display: block;
595
+ width: 100%;
596
+ text-align: center;
597
+ padding: 16px;
598
+ border: 2px dashed var(--lp-border);
599
+ border-radius: 12px;
600
+ cursor: pointer;
601
+ transition: border-color 150ms ease, background 150ms ease;
602
+ }
603
+
604
+ .lp-image-file-label:hover {
605
+ border-color: var(--lp-accent);
606
+ background: rgba(6, 182, 212, 0.08);
607
+ }
608
+
609
+ .lp-image-file-label input[type="file"] {
610
+ display: none;
611
+ }
612
+
613
+ .lp-image-or {
614
+ text-align: center;
615
+ font-size: 13px;
616
+ color: var(--lp-secondary);
617
+ margin: 12px 0;
618
+ }
619
+
620
+ .lp-image-preview-wrap {
621
+ margin: 16px 0;
622
+ min-height: 120px;
623
+ max-height: 240px;
624
+ display: flex;
625
+ align-items: center;
626
+ justify-content: center;
627
+ background: rgba(0, 0, 0, 0.25);
628
+ border-radius: 12px;
629
+ overflow: hidden;
630
+ }
631
+
632
+ .lp-image-preview {
633
+ max-width: 100%;
634
+ max-height: 220px;
635
+ object-fit: contain;
636
+ }
637
+
638
+ .lp-image-actions {
639
+ display: flex;
640
+ align-items: center;
641
+ justify-content: space-between;
642
+ gap: 12px;
643
+ }
644
+
645
+ .lp-image-actions-right {
646
+ display: flex;
647
+ gap: 12px;
648
+ }
649
+
650
+ .lp-image-editor button {
651
+ border: 1px solid var(--lp-border);
652
+ background: var(--lp-accent);
653
+ color: #0a0f1c;
654
+ font-size: 14px;
655
+ padding: 9px 18px;
656
+ border-radius: 8px;
657
+ cursor: pointer;
658
+ transition: opacity 150ms ease;
659
+ }
660
+
661
+ .lp-image-editor button:hover {
662
+ opacity: 0.9;
663
+ }
664
+
665
+ .lp-image-btn-secondary {
666
+ background: transparent !important;
667
+ color: var(--lp-text) !important;
668
+ }
669
+
670
+ /* ===== New layouts ===== */
671
+
672
+ /* Metric v1 */
673
+ .lp-metric-v1 {
674
+ align-items: center;
675
+ justify-content: center;
676
+ text-align: center;
677
+ }
678
+
679
+ .lp-metric-v1-value {
680
+ font-size: 200px;
681
+ font-weight: 900;
682
+ line-height: 1;
683
+ color: var(--lp-accent);
684
+ margin: 16px 0;
685
+ }
686
+
687
+ .lp-metric-v1-unit {
688
+ font-size: 40px;
689
+ font-weight: 600;
690
+ color: var(--lp-text);
691
+ }
692
+
693
+ .lp-metric-v1-description {
694
+ font-size: 24px;
695
+ color: var(--lp-secondary);
696
+ max-width: 720px;
697
+ margin: 24px 0 0;
698
+ }
699
+
700
+ /* Content v2 */
701
+ .lp-content-v2 {
702
+ justify-content: center;
703
+ }
704
+
705
+ .lp-content-v2-header {
706
+ margin-bottom: 40px;
707
+ }
708
+
709
+ .lp-content-v2-columns {
710
+ display: grid;
711
+ grid-template-columns: 1fr 1fr;
712
+ gap: 56px;
713
+ }
714
+
715
+ .lp-bullet-list-compact li {
716
+ font-size: 22px;
717
+ padding: 10px 0;
718
+ }
719
+
720
+ /* Content v3 */
721
+ .lp-content-v3 {
722
+ display: grid;
723
+ grid-template-columns: 1fr 1fr;
724
+ gap: 56px;
725
+ align-items: center;
726
+ padding: 80px;
727
+ }
728
+
729
+ .lp-content-v3-text {
730
+ max-width: 520px;
731
+ }
732
+
733
+ .lp-content-v3-media img {
734
+ width: 100%;
735
+ height: 100%;
736
+ object-fit: cover;
737
+ border-radius: 16px;
738
+ box-shadow: var(--lp-shadow);
739
+ }
740
+
741
+ /* Comparison v2 */
742
+ .lp-comparison-v2 {
743
+ justify-content: center;
744
+ }
745
+
746
+ .lp-comparison-v2-inner {
747
+ width: 100%;
748
+ max-width: 1040px;
749
+ }
750
+
751
+ .lp-comparison-v2-grid {
752
+ display: grid;
753
+ grid-template-columns: 1fr 1fr;
754
+ gap: 40px;
755
+ margin-top: 48px;
756
+ }
757
+
758
+ .lp-comparison-v2-card {
759
+ background: rgba(17, 24, 39, 0.6);
760
+ border: 1px solid rgba(6, 182, 212, 0.15);
761
+ border-radius: 16px;
762
+ padding: 32px;
763
+ }
764
+
765
+ .lp-comparison-v2-card h3 {
766
+ font-size: 28px;
767
+ margin: 0 0 20px 0;
768
+ padding-bottom: 16px;
769
+ border-bottom: 1px solid rgba(6, 182, 212, 0.15);
770
+ }
771
+
772
+ .lp-comparison-v2-card ul {
773
+ list-style: none;
774
+ padding: 0;
775
+ margin: 0;
776
+ }
777
+
778
+ .lp-comparison-v2-card li {
779
+ font-size: 20px;
780
+ padding: 10px 0;
781
+ color: var(--lp-secondary);
782
+ }
783
+
784
+ /* Process v2 */
785
+ .lp-process-v2 {
786
+ justify-content: center;
787
+ }
788
+
789
+ .lp-process-v2-title {
790
+ text-align: center;
791
+ margin-bottom: 48px;
792
+ }
793
+
794
+ .lp-process-v2-timeline {
795
+ display: flex;
796
+ flex-direction: column;
797
+ gap: 20px;
798
+ max-width: 800px;
799
+ width: 100%;
800
+ margin: 0 auto;
801
+ }
802
+
803
+ .lp-process-v2-step {
804
+ display: flex;
805
+ align-items: flex-start;
806
+ gap: 20px;
807
+ }
808
+
809
+ .lp-process-v2-marker {
810
+ flex-shrink: 0;
811
+ width: 44px;
812
+ height: 44px;
813
+ border-radius: 50%;
814
+ background: var(--lp-accent);
815
+ color: var(--lp-textInverse);
816
+ display: flex;
817
+ align-items: center;
818
+ justify-content: center;
819
+ font-weight: 700;
820
+ font-size: 18px;
821
+ }
822
+
823
+ .lp-process-v2-content {
824
+ flex: 1;
825
+ background: rgba(17, 24, 39, 0.6);
826
+ border: 1px solid rgba(6, 182, 212, 0.15);
827
+ border-radius: 12px;
828
+ padding: 18px 22px;
829
+ }
830
+
831
+ .lp-process-v2-content h3 {
832
+ margin: 0 0 6px 0;
833
+ font-size: 22px;
834
+ }
835
+
836
+ .lp-process-v2-content p {
837
+ margin: 0;
838
+ font-size: 17px;
839
+ color: var(--lp-secondary);
840
+ line-height: 1.55;
841
+ }
842
+
843
+ /* Quote v2 */
844
+ .lp-quote-v2 {
845
+ align-items: center;
846
+ justify-content: center;
847
+ }
848
+
849
+ .lp-quote-v2-inner {
850
+ max-width: 900px;
851
+ border-left: 6px solid var(--lp-accent);
852
+ padding-left: 40px;
853
+ }
854
+
855
+ .lp-quote-v2-text {
856
+ font-size: 40px;
857
+ line-height: 1.35;
858
+ font-style: italic;
859
+ margin: 0;
860
+ }
861
+
862
+ .lp-quote-v2-attribution {
863
+ margin-top: 32px;
864
+ }
865
+
866
+ .lp-quote-v2-author {
867
+ font-size: 22px;
868
+ font-weight: 700;
869
+ margin-right: 12px;
870
+ }
871
+
872
+ .lp-quote-v2-role {
873
+ font-size: 18px;
874
+ color: var(--lp-secondary);
875
+ }
876
+
877
+ /* Closing v2 */
878
+ .lp-closing-v2 {
879
+ align-items: center;
880
+ justify-content: center;
881
+ text-align: center;
882
+ }
883
+
884
+ .lp-closing-v2-title {
885
+ font-size: 72px;
886
+ margin-bottom: 20px;
887
+ }
888
+
889
+ .lp-closing-v2-subtitle {
890
+ font-size: 26px;
891
+ color: var(--lp-secondary);
892
+ margin-bottom: 48px;
893
+ }
894
+
895
+ .lp-closing-v2-contacts {
896
+ display: flex;
897
+ flex-direction: column;
898
+ gap: 12px;
899
+ align-items: center;
900
+ }
901
+
902
+ .lp-closing-v2-contact,
903
+ .lp-closing-v2-email,
904
+ .lp-closing-v2-link {
905
+ font-size: 20px;
906
+ color: var(--lp-text);
907
+ }
908
+
909
+ /* SWOT / PEST */
910
+ .lp-swot-v1,
911
+ .lp-pest-v1 {
912
+ justify-content: center;
913
+ }
914
+
915
+ .lp-swot-title,
916
+ .lp-pest-title {
917
+ text-align: center;
918
+ margin-bottom: 48px;
919
+ }
920
+
921
+ .lp-swot-grid,
922
+ .lp-pest-grid {
923
+ display: grid;
924
+ grid-template-columns: 1fr 1fr;
925
+ gap: 24px;
926
+ max-width: 960px;
927
+ width: 100%;
928
+ margin: 0 auto;
929
+ }
930
+
931
+ .lp-swot-cell,
932
+ .lp-pest-cell {
933
+ background: rgba(17, 24, 39, 0.6);
934
+ border: 1px solid rgba(6, 182, 212, 0.15);
935
+ border-radius: 16px;
936
+ padding: 28px;
937
+ text-align: center;
938
+ }
939
+
940
+ .lp-swot-cell h3,
941
+ .lp-pest-cell h3 {
942
+ width: 48px;
943
+ height: 48px;
944
+ border-radius: 50%;
945
+ display: flex;
946
+ align-items: center;
947
+ justify-content: center;
948
+ margin: 0 auto 16px;
949
+ font-size: 22px;
950
+ color: var(--lp-textInverse);
951
+ background: var(--lp-accent);
952
+ }
953
+
954
+ .lp-swot-cell p,
955
+ .lp-pest-cell p {
956
+ margin: 0;
957
+ font-size: 18px;
958
+ color: var(--lp-secondary);
959
+ line-height: 1.55;
960
+ }
961
+
962
+ /* Chart v1 */
963
+ .lp-chart-v1 {
964
+ justify-content: center;
965
+ }
966
+
967
+ .lp-chart-inner {
968
+ width: 100%;
969
+ max-width: 960px;
970
+ margin: 0 auto;
971
+ }
972
+
973
+ .lp-chart-title {
974
+ text-align: center;
975
+ margin-bottom: 32px;
976
+ }
977
+
978
+ .lp-chart-svg {
979
+ width: 100%;
980
+ height: auto;
981
+ overflow: visible;
982
+ }
983
+
984
+ .lp-chart-grid {
985
+ stroke: rgba(255, 255, 255, 0.08);
986
+ stroke-width: 1;
987
+ }
988
+
989
+ .lp-chart-axis-text {
990
+ fill: var(--lp-secondary);
991
+ font-size: 13px;
992
+ }
993
+
994
+ .lp-chart-value-text {
995
+ fill: var(--lp-text);
996
+ font-size: 13px;
997
+ font-weight: 600;
998
+ }
999
+
1000
+ .lp-chart-line {
1001
+ stroke: var(--lp-accent);
1002
+ }
1003
+
1004
+ .lp-chart-unit {
1005
+ text-align: center;
1006
+ font-size: 14px;
1007
+ color: var(--lp-secondary);
1008
+ margin-top: 12px;
1009
+ }
1010
+
1011
+ .lp-chart-pie-label {
1012
+ fill: var(--lp-textInverse);
1013
+ font-size: 13px;
1014
+ font-weight: 600;
1015
+ }
1016
+
1017
+ .lp-chart-color-0 { fill: #06b6d4; }
1018
+ .lp-chart-color-1 { fill: #3b82f6; }
1019
+ .lp-chart-color-2 { fill: #10b981; }
1020
+ .lp-chart-color-3 { fill: #f59e0b; }
1021
+ .lp-chart-color-4 { fill: #ef4444; }
1022
+ .lp-chart-color-5 { fill: #8b5cf6; }
1023
+
1024
+ /* Image v1 */
1025
+ .lp-image-v1 {
1026
+ padding: 0;
1027
+ position: relative;
1028
+ overflow: hidden;
1029
+ justify-content: center;
1030
+ align-items: center;
1031
+ text-align: center;
1032
+ }
1033
+
1034
+ .lp-image-v1-bg {
1035
+ position: absolute;
1036
+ inset: 0;
1037
+ width: 100%;
1038
+ height: 100%;
1039
+ object-fit: cover;
1040
+ z-index: 0;
1041
+ }
1042
+
1043
+ .lp-image-v1-overlay {
1044
+ position: absolute;
1045
+ inset: 0;
1046
+ background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.7) 100%);
1047
+ z-index: 1;
1048
+ }
1049
+
1050
+ .lp-image-v1-content {
1051
+ position: relative;
1052
+ z-index: 2;
1053
+ padding: 80px;
1054
+ }
1055
+
1056
+ .lp-image-v1-title {
1057
+ font-size: 72px;
1058
+ font-weight: 800;
1059
+ color: #fff;
1060
+ line-height: 1.1;
1061
+ margin-bottom: 24px;
1062
+ }
1063
+
1064
+ .lp-image-v1-subtitle {
1065
+ font-size: 28px;
1066
+ color: rgba(255, 255, 255, 0.9);
1067
+ line-height: 1.5;
1068
+ }
1069
+
1070
+ /* Team v1 */
1071
+ .lp-team-v1 {
1072
+ justify-content: center;
1073
+ }
1074
+
1075
+ .lp-team-header {
1076
+ margin-bottom: 48px;
1077
+ }
1078
+
1079
+ .lp-team-grid {
1080
+ display: grid;
1081
+ grid-template-columns: repeat(3, 1fr);
1082
+ gap: 40px;
1083
+ width: 100%;
1084
+ max-width: 1100px;
1085
+ }
1086
+
1087
+ .lp-team-card {
1088
+ text-align: center;
1089
+ }
1090
+
1091
+ .lp-team-avatar {
1092
+ width: 120px;
1093
+ height: 120px;
1094
+ border-radius: 50%;
1095
+ object-fit: cover;
1096
+ margin-bottom: 20px;
1097
+ border: 4px solid var(--lp-accent);
1098
+ }
1099
+
1100
+ .lp-team-avatar-placeholder {
1101
+ background: rgba(17, 24, 39, 0.6);
1102
+ border-color: rgba(6, 182, 212, 0.3);
1103
+ }
1104
+
1105
+ .lp-team-name {
1106
+ font-size: 24px;
1107
+ font-weight: 700;
1108
+ color: var(--lp-text);
1109
+ margin-bottom: 4px;
1110
+ }
1111
+
1112
+ .lp-team-role {
1113
+ font-size: 16px;
1114
+ color: var(--lp-accent);
1115
+ margin-bottom: 12px;
1116
+ }
1117
+
1118
+ .lp-team-bio {
1119
+ font-size: 15px;
1120
+ color: var(--lp-secondary);
1121
+ line-height: 1.55;
1122
+ }
1123
+
1124
+ /* Feature v1 */
1125
+ .lp-feature-v1 {
1126
+ justify-content: center;
1127
+ }
1128
+
1129
+ .lp-feature-header {
1130
+ margin-bottom: 56px;
1131
+ }
1132
+
1133
+ .lp-feature-grid {
1134
+ display: grid;
1135
+ grid-template-columns: repeat(3, 1fr);
1136
+ gap: 32px;
1137
+ width: 100%;
1138
+ max-width: 1100px;
1139
+ }
1140
+
1141
+ .lp-feature-card {
1142
+ background: rgba(17, 24, 39, 0.6);
1143
+ border: 1px solid rgba(6, 182, 212, 0.15);
1144
+ border-radius: 16px;
1145
+ padding: 36px;
1146
+ }
1147
+
1148
+ .lp-feature-number {
1149
+ font-size: 14px;
1150
+ font-weight: 700;
1151
+ color: var(--lp-accent);
1152
+ margin-bottom: 16px;
1153
+ font-family: 'JetBrains Mono', monospace;
1154
+ }
1155
+
1156
+ .lp-feature-title {
1157
+ font-size: 24px;
1158
+ font-weight: 700;
1159
+ color: var(--lp-text);
1160
+ margin-bottom: 12px;
1161
+ }
1162
+
1163
+ .lp-feature-description {
1164
+ font-size: 17px;
1165
+ color: var(--lp-secondary);
1166
+ line-height: 1.6;
1167
+ }
1168
+
1169
+ /* Timeline v1 */
1170
+ .lp-timeline-v1 {
1171
+ justify-content: center;
1172
+ }
1173
+
1174
+ .lp-timeline-header {
1175
+ margin-bottom: 64px;
1176
+ }
1177
+
1178
+ .lp-timeline-track {
1179
+ display: flex;
1180
+ justify-content: space-between;
1181
+ align-items: flex-start;
1182
+ width: 100%;
1183
+ max-width: 1100px;
1184
+ position: relative;
1185
+ }
1186
+
1187
+ .lp-timeline-track::before {
1188
+ content: '';
1189
+ position: absolute;
1190
+ top: 12px;
1191
+ left: 10%;
1192
+ right: 10%;
1193
+ height: 2px;
1194
+ background: rgba(255, 255, 255, 0.1);
1195
+ z-index: 0;
1196
+ }
1197
+
1198
+ .lp-timeline-item {
1199
+ position: relative;
1200
+ z-index: 1;
1201
+ text-align: center;
1202
+ width: 220px;
1203
+ }
1204
+
1205
+ .lp-timeline-dot {
1206
+ width: 24px;
1207
+ height: 24px;
1208
+ border-radius: 50%;
1209
+ background: var(--lp-accent);
1210
+ margin: 0 auto 20px;
1211
+ border: 4px solid var(--lp-bg);
1212
+ }
1213
+
1214
+ .lp-timeline-date {
1215
+ font-size: 14px;
1216
+ font-weight: 700;
1217
+ color: var(--lp-accent);
1218
+ margin-bottom: 8px;
1219
+ font-family: 'JetBrains Mono', monospace;
1220
+ }
1221
+
1222
+ .lp-timeline-title {
1223
+ font-size: 20px;
1224
+ font-weight: 700;
1225
+ color: var(--lp-text);
1226
+ margin-bottom: 8px;
1227
+ }
1228
+
1229
+ .lp-timeline-description {
1230
+ font-size: 15px;
1231
+ color: var(--lp-secondary);
1232
+ line-height: 1.55;
1233
+ }
1234
+
1235
+ /* Pricing v1 */
1236
+ .lp-pricing-v1 {
1237
+ justify-content: center;
1238
+ }
1239
+
1240
+ .lp-pricing-header {
1241
+ margin-bottom: 56px;
1242
+ }
1243
+
1244
+ .lp-pricing-grid {
1245
+ display: grid;
1246
+ grid-template-columns: repeat(3, 1fr);
1247
+ gap: 28px;
1248
+ width: 100%;
1249
+ max-width: 1100px;
1250
+ align-items: center;
1251
+ }
1252
+
1253
+ .lp-pricing-card {
1254
+ background: rgba(17, 24, 39, 0.6);
1255
+ border: 1px solid rgba(6, 182, 212, 0.15);
1256
+ border-radius: 16px;
1257
+ padding: 36px 28px;
1258
+ text-align: center;
1259
+ }
1260
+
1261
+ .lp-pricing-card-highlight {
1262
+ transform: scale(1.05);
1263
+ border-color: var(--lp-accent);
1264
+ box-shadow: 0 0 24px rgba(6, 182, 212, 0.25);
1265
+ }
1266
+
1267
+ .lp-pricing-name {
1268
+ font-size: 22px;
1269
+ font-weight: 700;
1270
+ color: var(--lp-text);
1271
+ margin-bottom: 16px;
1272
+ }
1273
+
1274
+ .lp-pricing-price-row {
1275
+ margin-bottom: 24px;
1276
+ }
1277
+
1278
+ .lp-pricing-price {
1279
+ font-size: 48px;
1280
+ font-weight: 800;
1281
+ color: var(--lp-text);
1282
+ }
1283
+
1284
+ .lp-pricing-period {
1285
+ font-size: 16px;
1286
+ color: var(--lp-secondary);
1287
+ margin-left: 4px;
1288
+ }
1289
+
1290
+ .lp-pricing-features {
1291
+ list-style: none;
1292
+ padding: 0;
1293
+ margin: 0 0 28px;
1294
+ }
1295
+
1296
+ .lp-pricing-features li {
1297
+ font-size: 16px;
1298
+ color: var(--lp-secondary);
1299
+ padding: 10px 0;
1300
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
1301
+ }
1302
+
1303
+ .lp-pricing-features li:last-child {
1304
+ border-bottom: none;
1305
+ }
1306
+
1307
+ .lp-pricing-cta {
1308
+ display: inline-block;
1309
+ background: var(--lp-accent);
1310
+ color: #0b1220;
1311
+ font-size: 16px;
1312
+ font-weight: 600;
1313
+ padding: 12px 28px;
1314
+ border-radius: 100px;
1315
+ }
1316
+
1317
+ /* Additional layouts */
1318
+ .lp-split-v1 {
1319
+ display: flex;
1320
+ width: 100%;
1321
+ height: 100%;
1322
+ background: var(--lp-surface);
1323
+ }
1324
+
1325
+ .lp-split-v1-content {
1326
+ flex: 1;
1327
+ display: flex;
1328
+ flex-direction: column;
1329
+ justify-content: center;
1330
+ padding: 80px;
1331
+ }
1332
+
1333
+ .lp-split-v1-title {
1334
+ margin-bottom: 32px;
1335
+ }
1336
+
1337
+ .lp-split-v1-points {
1338
+ list-style: none;
1339
+ padding: 0;
1340
+ margin: 0;
1341
+ }
1342
+
1343
+ .lp-split-v1-points li {
1344
+ font-size: 20px;
1345
+ color: var(--lp-secondary);
1346
+ padding: 12px 0;
1347
+ border-bottom: 1px solid var(--lp-border);
1348
+ }
1349
+
1350
+ .lp-split-v1-points li:last-child {
1351
+ border-bottom: none;
1352
+ }
1353
+
1354
+ .lp-split-v1-media {
1355
+ flex: 1;
1356
+ position: relative;
1357
+ background: var(--lp-bg);
1358
+ }
1359
+
1360
+ .lp-split-v1-media img {
1361
+ width: 100%;
1362
+ height: 100%;
1363
+ object-fit: cover;
1364
+ }
1365
+
1366
+ .lp-split-v1-placeholder {
1367
+ width: 100%;
1368
+ height: 100%;
1369
+ background: var(--lp-bg);
1370
+ border: 2px dashed var(--lp-border);
1371
+ }
1372
+
1373
+ .lp-stats-v1 {
1374
+ width: 100%;
1375
+ height: 100%;
1376
+ padding: 80px;
1377
+ background: var(--lp-surface);
1378
+ display: flex;
1379
+ flex-direction: column;
1380
+ }
1381
+
1382
+ .lp-stats-v1-header {
1383
+ margin-bottom: 48px;
1384
+ }
1385
+
1386
+ .lp-stats-v1-grid {
1387
+ display: grid;
1388
+ grid-template-columns: repeat(2, 1fr);
1389
+ gap: 24px;
1390
+ flex: 1;
1391
+ }
1392
+
1393
+ .lp-stats-v1-card {
1394
+ background: var(--lp-bg);
1395
+ border-radius: 16px;
1396
+ padding: 32px;
1397
+ display: flex;
1398
+ flex-direction: column;
1399
+ justify-content: center;
1400
+ }
1401
+
1402
+ .lp-stats-v1-label {
1403
+ font-size: 16px;
1404
+ color: var(--lp-secondary);
1405
+ margin-bottom: 12px;
1406
+ }
1407
+
1408
+ .lp-stats-v1-value-row {
1409
+ margin-bottom: 8px;
1410
+ }
1411
+
1412
+ .lp-stats-v1-value {
1413
+ font-size: 48px;
1414
+ font-weight: 800;
1415
+ color: var(--lp-text);
1416
+ }
1417
+
1418
+ .lp-stats-v1-unit {
1419
+ font-size: 20px;
1420
+ color: var(--lp-secondary);
1421
+ margin-left: 4px;
1422
+ }
1423
+
1424
+ .lp-stats-v1-change {
1425
+ font-size: 14px;
1426
+ color: var(--lp-accent);
1427
+ }
1428
+
1429
+ .lp-gallery-v1 {
1430
+ width: 100%;
1431
+ height: 100%;
1432
+ padding: 80px;
1433
+ background: var(--lp-surface);
1434
+ display: flex;
1435
+ flex-direction: column;
1436
+ }
1437
+
1438
+ .lp-gallery-v1-header {
1439
+ margin-bottom: 40px;
1440
+ }
1441
+
1442
+ .lp-gallery-v1-grid {
1443
+ display: grid;
1444
+ grid-template-columns: repeat(2, 1fr);
1445
+ gap: 24px;
1446
+ flex: 1;
1447
+ }
1448
+
1449
+ .lp-gallery-v1-item {
1450
+ position: relative;
1451
+ border-radius: 12px;
1452
+ overflow: hidden;
1453
+ background: var(--lp-bg);
1454
+ }
1455
+
1456
+ .lp-gallery-v1-item img {
1457
+ width: 100%;
1458
+ height: 100%;
1459
+ object-fit: cover;
1460
+ }
1461
+
1462
+ .lp-gallery-v1-placeholder {
1463
+ width: 100%;
1464
+ height: 100%;
1465
+ background: var(--lp-bg);
1466
+ border: 2px dashed var(--lp-border);
1467
+ }
1468
+
1469
+ .lp-gallery-v1-caption {
1470
+ position: absolute;
1471
+ bottom: 0;
1472
+ left: 0;
1473
+ right: 0;
1474
+ padding: 12px 16px;
1475
+ background: rgba(0, 0, 0, 0.5);
1476
+ color: #fff;
1477
+ font-size: 14px;
1478
+ }
1479
+
1480
+ .lp-faq-v1 {
1481
+ width: 100%;
1482
+ height: 100%;
1483
+ padding: 80px;
1484
+ background: var(--lp-surface);
1485
+ display: flex;
1486
+ flex-direction: column;
1487
+ }
1488
+
1489
+ .lp-faq-v1-header {
1490
+ margin-bottom: 40px;
1491
+ }
1492
+
1493
+ .lp-faq-v1-list {
1494
+ display: flex;
1495
+ flex-direction: column;
1496
+ gap: 24px;
1497
+ }
1498
+
1499
+ .lp-faq-v1-item {
1500
+ background: var(--lp-bg);
1501
+ border-radius: 12px;
1502
+ padding: 24px;
1503
+ }
1504
+
1505
+ .lp-faq-v1-question,
1506
+ .lp-faq-v1-answer {
1507
+ display: flex;
1508
+ gap: 12px;
1509
+ align-items: flex-start;
1510
+ }
1511
+
1512
+ .lp-faq-v1-question {
1513
+ font-size: 18px;
1514
+ font-weight: 600;
1515
+ color: var(--lp-text);
1516
+ margin-bottom: 12px;
1517
+ }
1518
+
1519
+ .lp-faq-v1-answer {
1520
+ font-size: 16px;
1521
+ color: var(--lp-secondary);
1522
+ line-height: 1.6;
1523
+ }
1524
+
1525
+ .lp-faq-v1-q,
1526
+ .lp-faq-v1-a {
1527
+ display: inline-flex;
1528
+ align-items: center;
1529
+ justify-content: center;
1530
+ width: 24px;
1531
+ height: 24px;
1532
+ border-radius: 50%;
1533
+ font-size: 12px;
1534
+ font-weight: 700;
1535
+ flex-shrink: 0;
1536
+ }
1537
+
1538
+ .lp-faq-v1-q {
1539
+ background: var(--lp-accent);
1540
+ color: #fff;
1541
+ }
1542
+
1543
+ .lp-faq-v1-a {
1544
+ background: var(--lp-border);
1545
+ color: var(--lp-text);
1546
+ }
1547
+
1548
+ .lp-partners-v1 {
1549
+ width: 100%;
1550
+ height: 100%;
1551
+ padding: 80px;
1552
+ background: var(--lp-surface);
1553
+ display: flex;
1554
+ flex-direction: column;
1555
+ }
1556
+
1557
+ .lp-partners-v1-header {
1558
+ margin-bottom: 48px;
1559
+ }
1560
+
1561
+ .lp-partners-v1-grid {
1562
+ display: grid;
1563
+ grid-template-columns: repeat(4, 1fr);
1564
+ gap: 24px;
1565
+ flex: 1;
1566
+ align-content: center;
1567
+ }
1568
+
1569
+ .lp-partners-v1-card {
1570
+ background: var(--lp-bg);
1571
+ border-radius: 12px;
1572
+ padding: 24px;
1573
+ display: flex;
1574
+ flex-direction: column;
1575
+ align-items: center;
1576
+ justify-content: center;
1577
+ gap: 12px;
1578
+ }
1579
+
1580
+ .lp-partners-v1-card img {
1581
+ max-width: 100%;
1582
+ max-height: 48px;
1583
+ object-fit: contain;
1584
+ }
1585
+
1586
+ .lp-partners-v1-logo-placeholder {
1587
+ width: 64px;
1588
+ height: 64px;
1589
+ border-radius: 50%;
1590
+ background: var(--lp-bg);
1591
+ border: 2px dashed var(--lp-border);
1592
+ }
1593
+
1594
+ .lp-partners-v1-name {
1595
+ font-size: 14px;
1596
+ color: var(--lp-secondary);
1597
+ text-align: center;
1598
+ }
1599
+
1600
+ .lp-testimonial-v1 {
1601
+ width: 100%;
1602
+ height: 100%;
1603
+ padding: 80px;
1604
+ background: var(--lp-surface);
1605
+ display: flex;
1606
+ align-items: center;
1607
+ justify-content: center;
1608
+ }
1609
+
1610
+ .lp-testimonial-v1-content {
1611
+ max-width: 900px;
1612
+ }
1613
+
1614
+ .lp-testimonial-v1-quote {
1615
+ position: relative;
1616
+ margin-bottom: 40px;
1617
+ }
1618
+
1619
+ .lp-testimonial-v1-mark {
1620
+ position: absolute;
1621
+ top: -24px;
1622
+ left: -16px;
1623
+ font-size: 120px;
1624
+ line-height: 1;
1625
+ color: var(--lp-accent);
1626
+ opacity: 0.2;
1627
+ font-family: Georgia, serif;
1628
+ }
1629
+
1630
+ .lp-testimonial-v1-quote blockquote {
1631
+ position: relative;
1632
+ font-size: 36px;
1633
+ font-weight: 500;
1634
+ line-height: 1.4;
1635
+ color: var(--lp-text);
1636
+ margin: 0;
1637
+ padding: 0;
1638
+ }
1639
+
1640
+ .lp-testimonial-v1-author {
1641
+ display: flex;
1642
+ align-items: center;
1643
+ gap: 20px;
1644
+ }
1645
+
1646
+ .lp-testimonial-v1-author img,
1647
+ .lp-testimonial-v1-avatar-placeholder {
1648
+ width: 64px;
1649
+ height: 64px;
1650
+ border-radius: 50%;
1651
+ object-fit: cover;
1652
+ }
1653
+
1654
+ .lp-testimonial-v1-avatar-placeholder {
1655
+ background: var(--lp-bg);
1656
+ border: 2px dashed var(--lp-border);
1657
+ }
1658
+
1659
+ .lp-testimonial-v1-name {
1660
+ font-size: 18px;
1661
+ font-weight: 600;
1662
+ color: var(--lp-text);
1663
+ }
1664
+
1665
+ .lp-testimonial-v1-role {
1666
+ font-size: 14px;
1667
+ color: var(--lp-secondary);
1668
+ }
1669
+
1670
+ .lp-roadmap-v1 {
1671
+ width: 100%;
1672
+ height: 100%;
1673
+ padding: 80px;
1674
+ background: var(--lp-surface);
1675
+ display: flex;
1676
+ flex-direction: column;
1677
+ }
1678
+
1679
+ .lp-roadmap-v1-header {
1680
+ margin-bottom: 48px;
1681
+ }
1682
+
1683
+ .lp-roadmap-v1-track {
1684
+ position: relative;
1685
+ padding-left: 24px;
1686
+ flex: 1;
1687
+ overflow-y: auto;
1688
+ }
1689
+
1690
+ .lp-roadmap-v1-track::before {
1691
+ content: '';
1692
+ position: absolute;
1693
+ top: 12px;
1694
+ bottom: 12px;
1695
+ left: 7px;
1696
+ width: 2px;
1697
+ background: var(--lp-border);
1698
+ }
1699
+
1700
+ .lp-roadmap-v1-phase {
1701
+ position: relative;
1702
+ padding-left: 36px;
1703
+ margin-bottom: 32px;
1704
+ }
1705
+
1706
+ .lp-roadmap-v1-dot {
1707
+ position: absolute;
1708
+ top: 6px;
1709
+ left: 0;
1710
+ width: 16px;
1711
+ height: 16px;
1712
+ border-radius: 50%;
1713
+ background: var(--lp-accent);
1714
+ border: 3px solid var(--lp-surface);
1715
+ box-shadow: 0 0 0 2px var(--lp-accent);
1716
+ }
1717
+
1718
+ .lp-roadmap-v1-top {
1719
+ display: flex;
1720
+ align-items: center;
1721
+ gap: 12px;
1722
+ margin-bottom: 8px;
1723
+ }
1724
+
1725
+ .lp-roadmap-v1-title {
1726
+ font-size: 20px;
1727
+ font-weight: 700;
1728
+ color: var(--lp-text);
1729
+ }
1730
+
1731
+ .lp-roadmap-v1-status {
1732
+ font-size: 12px;
1733
+ font-weight: 600;
1734
+ color: var(--lp-accent);
1735
+ background: rgba(0, 113, 227, 0.1);
1736
+ padding: 4px 10px;
1737
+ border-radius: 100px;
1738
+ }
1739
+
1740
+ .lp-roadmap-v1-description {
1741
+ font-size: 16px;
1742
+ color: var(--lp-secondary);
1743
+ line-height: 1.6;
1744
+ }
1745
+
1746
+ @media print {
1747
+ html, body {
1748
+ display: block;
1749
+ background: #fff;
1750
+ }
1751
+
1752
+ .lp-editor-bar,
1753
+ .lp-nav,
1754
+ .lp-page-counter,
1755
+ .lp-hint {
1756
+ display: none !important;
1757
+ }
1758
+
1759
+ .lp-deck {
1760
+ box-shadow: none;
1761
+ border-radius: 0;
1762
+ width: 100% !important;
1763
+ height: auto !important;
1764
+ overflow: visible;
1765
+ }
1766
+
1767
+ .lp-slide-wrapper {
1768
+ position: relative;
1769
+ transform: none !important;
1770
+ opacity: 1 !important;
1771
+ width: 100% !important;
1772
+ height: 720px !important;
1773
+ page-break-after: always;
1774
+ break-after: page;
1775
+ z-index: auto !important;
1776
+ }
1777
+
1778
+ .lp-slide-wrapper:last-child {
1779
+ page-break-after: auto;
1780
+ break-after: auto;
1781
+ }
1782
+ }