@salesmind-ai/design-system 0.2.1 → 0.3.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.
Files changed (121) hide show
  1. package/dist/AppearancePanel-UT57J69V.d.cts +51 -0
  2. package/dist/AppearancePanel-UT57J69V.d.ts +51 -0
  3. package/dist/AppearanceProvider-C36a8-eb.d.cts +45 -0
  4. package/dist/AppearanceProvider-C36a8-eb.d.ts +45 -0
  5. package/dist/Breadcrumb-RX-B_gDV.d.cts +44 -0
  6. package/dist/Breadcrumb-RX-B_gDV.d.ts +44 -0
  7. package/dist/ExportMenu-A2TLFiVv.d.cts +311 -0
  8. package/dist/ExportMenu-C8qck5AT.d.ts +311 -0
  9. package/dist/SectionShell-BfBw5q0Y.d.cts +18 -0
  10. package/dist/SectionShell-BfBw5q0Y.d.ts +18 -0
  11. package/dist/Select-BdZmK0Lt.d.cts +66 -0
  12. package/dist/Select-BdZmK0Lt.d.ts +66 -0
  13. package/dist/admin/index.cjs +2941 -0
  14. package/dist/admin/index.cjs.map +1 -0
  15. package/dist/admin/index.css +4145 -0
  16. package/dist/admin/index.css.map +1 -0
  17. package/dist/admin/index.d.cts +491 -0
  18. package/dist/admin/index.d.ts +491 -0
  19. package/dist/admin/index.js +2918 -0
  20. package/dist/admin/index.js.map +1 -0
  21. package/dist/{audit-CiyPkxk1.d.cts → audit-BS2fn7M4.d.ts} +2 -51
  22. package/dist/{audit-CiyPkxk1.d.ts → audit-DwCmg32J.d.cts} +2 -51
  23. package/dist/blog/index.cjs +1074 -0
  24. package/dist/blog/index.cjs.map +1 -0
  25. package/dist/blog/index.css +1422 -0
  26. package/dist/blog/index.css.map +1 -0
  27. package/dist/blog/index.d.cts +233 -0
  28. package/dist/blog/index.d.ts +233 -0
  29. package/dist/blog/index.js +1056 -0
  30. package/dist/blog/index.js.map +1 -0
  31. package/dist/chart-types-BGVVO-zl.d.cts +208 -0
  32. package/dist/chart-types-BGVVO-zl.d.ts +208 -0
  33. package/dist/charts/index.cjs +2698 -0
  34. package/dist/charts/index.cjs.map +1 -0
  35. package/dist/charts/index.css +1167 -0
  36. package/dist/charts/index.css.map +1 -0
  37. package/dist/charts/index.d.cts +453 -0
  38. package/dist/charts/index.d.ts +453 -0
  39. package/dist/charts/index.js +2682 -0
  40. package/dist/charts/index.js.map +1 -0
  41. package/dist/core/index.cjs +526 -395
  42. package/dist/core/index.cjs.map +1 -1
  43. package/dist/core/index.css +294 -0
  44. package/dist/core/index.css.map +1 -1
  45. package/dist/core/index.d.cts +7 -982
  46. package/dist/core/index.d.ts +7 -982
  47. package/dist/core/index.js +476 -351
  48. package/dist/core/index.js.map +1 -1
  49. package/dist/i18n/index.cjs +585 -0
  50. package/dist/i18n/index.cjs.map +1 -0
  51. package/dist/i18n/index.d.cts +855 -0
  52. package/dist/i18n/index.d.ts +855 -0
  53. package/dist/i18n/index.js +547 -0
  54. package/dist/i18n/index.js.map +1 -0
  55. package/dist/index.d.cts +22 -1290
  56. package/dist/index.d.ts +22 -1290
  57. package/dist/marketing/index.cjs +2144 -3023
  58. package/dist/marketing/index.cjs.map +1 -1
  59. package/dist/marketing/index.css +3729 -4824
  60. package/dist/marketing/index.css.map +1 -1
  61. package/dist/marketing/index.d.cts +1351 -4
  62. package/dist/marketing/index.d.ts +1351 -4
  63. package/dist/marketing/index.js +2190 -3054
  64. package/dist/marketing/index.js.map +1 -1
  65. package/dist/motion/index.cjs +1230 -0
  66. package/dist/motion/index.cjs.map +1 -0
  67. package/dist/motion/index.css +699 -0
  68. package/dist/motion/index.css.map +1 -0
  69. package/dist/motion/index.d.cts +68 -0
  70. package/dist/motion/index.d.ts +68 -0
  71. package/dist/motion/index.js +1218 -0
  72. package/dist/motion/index.js.map +1 -0
  73. package/dist/nav/index.cjs +1533 -0
  74. package/dist/nav/index.cjs.map +1 -0
  75. package/dist/nav/index.css +1984 -0
  76. package/dist/nav/index.css.map +1 -0
  77. package/dist/nav/index.d.cts +279 -0
  78. package/dist/nav/index.d.ts +279 -0
  79. package/dist/nav/index.js +1501 -0
  80. package/dist/nav/index.js.map +1 -0
  81. package/dist/report/index.cjs +26 -1649
  82. package/dist/report/index.cjs.map +1 -1
  83. package/dist/report/index.css +0 -963
  84. package/dist/report/index.css.map +1 -1
  85. package/dist/report/index.d.cts +4 -2
  86. package/dist/report/index.d.ts +4 -2
  87. package/dist/report/index.js +27 -1640
  88. package/dist/report/index.js.map +1 -1
  89. package/dist/sections/index.cjs +385 -0
  90. package/dist/sections/index.cjs.map +1 -0
  91. package/dist/sections/index.css +818 -0
  92. package/dist/sections/index.css.map +1 -0
  93. package/dist/sections/index.d.cts +69 -0
  94. package/dist/sections/index.d.ts +69 -0
  95. package/dist/sections/index.js +374 -0
  96. package/dist/sections/index.js.map +1 -0
  97. package/dist/social-proof/index.cjs +1254 -0
  98. package/dist/social-proof/index.cjs.map +1 -0
  99. package/dist/social-proof/index.css +1416 -0
  100. package/dist/social-proof/index.css.map +1 -0
  101. package/dist/social-proof/index.d.cts +258 -0
  102. package/dist/social-proof/index.d.ts +258 -0
  103. package/dist/social-proof/index.js +1237 -0
  104. package/dist/social-proof/index.js.map +1 -0
  105. package/dist/theme/index.cjs +573 -0
  106. package/dist/theme/index.cjs.map +1 -0
  107. package/dist/theme/index.css +464 -0
  108. package/dist/theme/index.css.map +1 -0
  109. package/dist/theme/index.d.cts +48 -0
  110. package/dist/theme/index.d.ts +48 -0
  111. package/dist/theme/index.js +558 -0
  112. package/dist/theme/index.js.map +1 -0
  113. package/dist/types-DAlgDGzw.d.cts +52 -0
  114. package/dist/types-DAlgDGzw.d.ts +52 -0
  115. package/dist/web/index.d.cts +3 -2
  116. package/dist/web/index.d.ts +3 -2
  117. package/package.json +68 -9
  118. package/dist/ExportMenu-hEe5MhLq.d.cts +0 -1027
  119. package/dist/ExportMenu-hEe5MhLq.d.ts +0 -1027
  120. package/dist/index-B64suAAc.d.cts +0 -1498
  121. package/dist/index-B64suAAc.d.ts +0 -1498
@@ -0,0 +1,1416 @@
1
+ /* src/components/StarRating/StarRating.css */
2
+ .ds-star-rating {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: var(--space-2);
6
+ }
7
+ .ds-star-rating__stars {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ gap: var(--space-1);
11
+ }
12
+ .ds-star-rating--sm .ds-star-rating__svg {
13
+ width: 16px;
14
+ height: 16px;
15
+ }
16
+ .ds-star-rating--md .ds-star-rating__svg {
17
+ width: 20px;
18
+ height: 20px;
19
+ }
20
+ .ds-star-rating--lg .ds-star-rating__svg {
21
+ width: 28px;
22
+ height: 28px;
23
+ }
24
+ .ds-star-rating__star {
25
+ position: relative;
26
+ display: inline-flex;
27
+ line-height: 0;
28
+ }
29
+ .ds-star-rating__svg {
30
+ display: block;
31
+ }
32
+ .ds-star-rating__svg--filled {
33
+ position: absolute;
34
+ inset: 0;
35
+ transition: clip-path 0.4s cubic-bezier(0.16, 1, 0.3, 1);
36
+ transition-delay: var(--star-delay, 0ms);
37
+ }
38
+ .ds-star-rating__empty {
39
+ fill: var(--text-tertiary, rgba(255, 255, 255, 0.15));
40
+ }
41
+ .ds-star-rating__filled {
42
+ fill: var(--data-yellow, #eab308);
43
+ }
44
+ .ds-star-rating__star {
45
+ opacity: 1;
46
+ transform: scale(1);
47
+ }
48
+ .ds-star-rating__star:not(.ds-star-rating__star--visible) {
49
+ opacity: 0;
50
+ transform: scale(0.5);
51
+ }
52
+ .ds-star-rating__star--visible {
53
+ opacity: 1;
54
+ transform: scale(1);
55
+ transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
56
+ transition-delay: var(--star-delay, 0ms);
57
+ }
58
+ .ds-star-rating__value {
59
+ font-family: var(--font-family);
60
+ font-weight: var(--font-weight-semibold);
61
+ color: var(--text-primary);
62
+ line-height: 1;
63
+ }
64
+ .ds-star-rating--sm .ds-star-rating__value {
65
+ font-size: var(--font-size-sm);
66
+ }
67
+ .ds-star-rating--md .ds-star-rating__value {
68
+ font-size: var(--font-size-base);
69
+ }
70
+ .ds-star-rating--lg .ds-star-rating__value {
71
+ font-size: var(--font-size-xl);
72
+ }
73
+ .ds-star-rating__value-label {
74
+ font-weight: var(--font-weight-normal);
75
+ color: var(--text-secondary);
76
+ margin-left: var(--space-1);
77
+ }
78
+ @media (prefers-reduced-motion: reduce) {
79
+ .ds-star-rating__star,
80
+ .ds-star-rating__star--visible {
81
+ transition: none;
82
+ }
83
+ .ds-star-rating__svg--filled {
84
+ transition: none;
85
+ }
86
+ }
87
+
88
+ /* src/components/PlatformBadge/PlatformBadge.css */
89
+ .ds-platform-badge {
90
+ display: inline-flex;
91
+ align-items: center;
92
+ gap: var(--space-2);
93
+ padding: var(--space-1) var(--space-2);
94
+ border-radius: var(--radius-badge, 999px);
95
+ background: var(--glass-base, rgba(255, 255, 255, 0.05));
96
+ border: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));
97
+ transition:
98
+ background var(--transition-base),
99
+ border-color var(--transition-base),
100
+ box-shadow var(--transition-base);
101
+ white-space: nowrap;
102
+ }
103
+ .ds-platform-badge:hover {
104
+ background: var(--glass-base-hover, rgba(255, 255, 255, 0.08));
105
+ border-color: color-mix(in srgb, var(--platform-accent) 30%, transparent);
106
+ box-shadow: 0 0 12px color-mix(in srgb, var(--platform-accent) 15%, transparent);
107
+ }
108
+ .ds-platform-badge__icon {
109
+ display: inline-flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ flex-shrink: 0;
113
+ line-height: 0;
114
+ }
115
+ .ds-platform-badge__label {
116
+ font-family: var(--font-family);
117
+ font-weight: var(--font-weight-medium);
118
+ color: var(--text-primary);
119
+ line-height: 1;
120
+ }
121
+ .ds-platform-badge__rating {
122
+ display: inline-flex;
123
+ align-items: center;
124
+ gap: var(--space-1);
125
+ }
126
+ .ds-platform-badge__count {
127
+ font-family: var(--font-family);
128
+ font-size: var(--font-size-xs);
129
+ color: var(--text-secondary);
130
+ line-height: 1;
131
+ }
132
+ .ds-platform-badge--sm {
133
+ padding: var(--space-1) var(--space-2);
134
+ }
135
+ .ds-platform-badge--sm .ds-platform-badge__label {
136
+ font-size: var(--font-size-xs);
137
+ }
138
+ .ds-platform-badge--md {
139
+ padding: var(--space-2) var(--space-3);
140
+ }
141
+ .ds-platform-badge--md .ds-platform-badge__label {
142
+ font-size: var(--font-size-sm);
143
+ }
144
+ .ds-platform-badge--icon-only {
145
+ padding: var(--space-1);
146
+ border-radius: var(--radius-badge, 999px);
147
+ }
148
+ .ds-platform-badge--full {
149
+ gap: var(--space-2);
150
+ }
151
+ @media (prefers-reduced-motion: reduce) {
152
+ .ds-platform-badge {
153
+ transition: none;
154
+ }
155
+ }
156
+
157
+ /* src/components/SocialProof/SocialProof.css */
158
+ .ds-social-card {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: var(--space-4);
162
+ padding: var(--space-6);
163
+ border-radius: var(--radius-card);
164
+ background: var(--glass-base);
165
+ border: 1px solid var(--rim-light-bottom);
166
+ box-shadow: var(--glass-shadow-outer);
167
+ transition:
168
+ transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
169
+ box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
170
+ border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
171
+ height: 100%;
172
+ position: relative;
173
+ overflow: hidden;
174
+ text-decoration: none;
175
+ }
176
+ .ds-social-card:hover {
177
+ transform: translateY(-6px);
178
+ background: var(--glass-base-hover);
179
+ border-color: var(--rim-light-top);
180
+ box-shadow: var(--glass-shadow-elevated), 0 0 20px rgba(var(--brand-pink-rgb, 249, 115, 22), 0.08);
181
+ }
182
+ .ds-social-card--animated {
183
+ opacity: 0;
184
+ transform: translateY(20px);
185
+ animation: ds-card-entrance 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
186
+ animation-delay: var(--card-delay, 0ms);
187
+ }
188
+ @keyframes ds-card-entrance {
189
+ to {
190
+ opacity: 1;
191
+ transform: translateY(0);
192
+ }
193
+ }
194
+ @media (prefers-reduced-motion: reduce) {
195
+ .ds-social-card--animated {
196
+ opacity: 1;
197
+ transform: none;
198
+ animation: none;
199
+ }
200
+ }
201
+ .ds-social-card--rating-only {
202
+ flex-direction: row;
203
+ align-items: center;
204
+ gap: var(--space-4);
205
+ padding: var(--space-4) var(--space-5);
206
+ border-top: 2px solid var(--data-yellow, #eab308);
207
+ }
208
+ .ds-social-card__rating-row {
209
+ display: flex;
210
+ align-items: center;
211
+ gap: var(--space-4);
212
+ width: 100%;
213
+ }
214
+ .ds-social-card--rating-only .ds-social-card__meta {
215
+ flex: 1;
216
+ min-width: 0;
217
+ }
218
+ .ds-social-card--simple {
219
+ justify-content: space-between;
220
+ }
221
+ .ds-social-card__deco-quote {
222
+ position: absolute;
223
+ top: var(--space-3);
224
+ right: var(--space-4);
225
+ font-size: 72px;
226
+ font-family:
227
+ Georgia,
228
+ "Times New Roman",
229
+ serif;
230
+ line-height: 1;
231
+ background:
232
+ linear-gradient(
233
+ 135deg,
234
+ var(--brand-pink, #f97316),
235
+ var(--brand-yellow, #8b5cf6));
236
+ -webkit-background-clip: text;
237
+ background-clip: text;
238
+ -webkit-text-fill-color: transparent;
239
+ opacity: 0.1;
240
+ pointer-events: none;
241
+ user-select: none;
242
+ }
243
+ .ds-social-card--social {
244
+ background: var(--glass-base-subtle, rgba(255, 255, 255, 0.03));
245
+ border-left: 3px solid var(--brand-pink, #f97316);
246
+ }
247
+ .ds-social-card__quote--clamp {
248
+ display: -webkit-box;
249
+ -webkit-line-clamp: 4;
250
+ -webkit-box-orient: vertical;
251
+ overflow: hidden;
252
+ position: relative;
253
+ }
254
+ .ds-social-card--video {
255
+ padding: 0;
256
+ gap: 0;
257
+ }
258
+ .ds-social-card--case-study {
259
+ padding: 0;
260
+ gap: 0;
261
+ }
262
+ .ds-social-card__media {
263
+ width: 100%;
264
+ aspect-ratio: 16/9;
265
+ overflow: hidden;
266
+ position: relative;
267
+ background: var(--glass-base-active);
268
+ }
269
+ .ds-social-card__media img {
270
+ width: 100%;
271
+ height: 100%;
272
+ object-fit: cover;
273
+ transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
274
+ }
275
+ .ds-social-card__media-placeholder {
276
+ width: 100%;
277
+ height: 100%;
278
+ background:
279
+ linear-gradient(
280
+ 135deg,
281
+ var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,
282
+ var(--glass-base, rgba(0, 0, 0, 0.2)) 100%);
283
+ }
284
+ .ds-social-card:hover .ds-social-card__media img {
285
+ transform: scale(1.05);
286
+ }
287
+ .ds-social-card--video .ds-social-card__media::after {
288
+ content: "";
289
+ position: absolute;
290
+ inset: 0;
291
+ background:
292
+ linear-gradient(
293
+ to top,
294
+ var(--overlay-medium, rgba(0, 0, 0, 0.5)) 0%,
295
+ transparent 60%);
296
+ pointer-events: none;
297
+ z-index: 1;
298
+ }
299
+ .ds-social-card__play {
300
+ position: absolute;
301
+ inset: 0;
302
+ display: flex;
303
+ align-items: center;
304
+ justify-content: center;
305
+ z-index: 2;
306
+ }
307
+ .ds-social-card__play-icon {
308
+ width: 48px;
309
+ height: 48px;
310
+ background: var(--surface-bright, rgba(255, 255, 255, 0.9));
311
+ border-radius: 50%;
312
+ display: flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ color: var(--text-on-bright, #000);
316
+ box-shadow: var(--glass-shadow-elevated);
317
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
318
+ position: relative;
319
+ }
320
+ .ds-social-card__play-icon::after {
321
+ content: "";
322
+ position: absolute;
323
+ inset: -6px;
324
+ border-radius: 50%;
325
+ border: 2px solid var(--border-subtle, rgba(255, 255, 255, 0.3));
326
+ animation: ds-play-pulse 2s ease-out infinite;
327
+ }
328
+ @keyframes ds-play-pulse {
329
+ 0% {
330
+ transform: scale(0.85);
331
+ opacity: 1;
332
+ }
333
+ 100% {
334
+ transform: scale(1.4);
335
+ opacity: 0;
336
+ }
337
+ }
338
+ .ds-social-card:hover .ds-social-card__play-icon {
339
+ transform: scale(1.1);
340
+ }
341
+ .ds-social-card--case-study {
342
+ border-bottom: 3px solid transparent;
343
+ border-image:
344
+ linear-gradient(
345
+ to right,
346
+ var(--brand-pink, #f97316),
347
+ var(--brand-yellow, #8b5cf6)) 1;
348
+ }
349
+ .ds-social-card__cs-header {
350
+ display: flex;
351
+ align-items: center;
352
+ gap: var(--space-3);
353
+ }
354
+ .ds-social-card__cs-logo {
355
+ width: 40px;
356
+ height: 40px;
357
+ border-radius: var(--radius-badge, 8px);
358
+ overflow: hidden;
359
+ flex-shrink: 0;
360
+ display: flex;
361
+ align-items: center;
362
+ justify-content: center;
363
+ background: var(--glass-base-active, rgba(0, 0, 0, 0.1));
364
+ }
365
+ .ds-social-card__cs-logo img {
366
+ max-width: 100%;
367
+ max-height: 100%;
368
+ object-fit: contain;
369
+ }
370
+ .ds-social-card__cs-company {
371
+ display: flex;
372
+ align-items: center;
373
+ gap: var(--space-2);
374
+ flex-wrap: wrap;
375
+ }
376
+ .ds-social-card__cs-industry {
377
+ font-family: var(--font-family-mono, monospace);
378
+ font-size: var(--font-size-xs);
379
+ color: var(--brand-pink, #f97316);
380
+ background: rgba(var(--brand-pink-rgb, 249, 115, 22), 0.1);
381
+ padding: var(--space-1) var(--space-2);
382
+ border-radius: var(--radius-badge, 999px);
383
+ line-height: 1;
384
+ }
385
+ .ds-social-card__cs-headline {
386
+ font-family: var(--font-family);
387
+ font-size: var(--font-size-lg);
388
+ font-weight: var(--font-weight-semibold);
389
+ color: var(--text-primary);
390
+ line-height: var(--line-height-tight);
391
+ margin: 0;
392
+ }
393
+ .ds-social-card__cs-metrics {
394
+ display: flex;
395
+ gap: var(--space-4);
396
+ padding: var(--space-3) 0;
397
+ border-top: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));
398
+ border-bottom: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));
399
+ }
400
+ .ds-social-card__cs-metric {
401
+ display: flex;
402
+ flex-direction: column;
403
+ gap: var(--space-1);
404
+ flex: 1;
405
+ min-width: 0;
406
+ }
407
+ .ds-social-card__cs-metric-value {
408
+ font-family: var(--font-family);
409
+ font-size: var(--font-size-xl);
410
+ font-weight: var(--font-weight-bold);
411
+ color: var(--brand-pink, #f97316);
412
+ line-height: 1;
413
+ }
414
+ .ds-social-card__cs-metric-label {
415
+ font-family: var(--font-family);
416
+ font-size: var(--font-size-xs);
417
+ color: var(--text-secondary);
418
+ line-height: 1.2;
419
+ }
420
+ .ds-social-card__quote--excerpt {
421
+ font-style: italic;
422
+ color: var(--text-secondary);
423
+ font-size: var(--font-size-sm);
424
+ }
425
+ .ds-social-card__content {
426
+ padding: var(--space-6);
427
+ display: flex;
428
+ flex-direction: column;
429
+ gap: var(--space-4);
430
+ flex: 1;
431
+ }
432
+ .ds-social-card--simple .ds-social-card__content,
433
+ .ds-social-card--social .ds-social-card__content {
434
+ padding: 0;
435
+ }
436
+ .ds-social-card__author {
437
+ display: flex;
438
+ align-items: center;
439
+ gap: var(--space-3);
440
+ margin-top: auto;
441
+ }
442
+ .ds-social-card__avatar {
443
+ width: 40px;
444
+ height: 40px;
445
+ border-radius: 50%;
446
+ overflow: hidden;
447
+ background: var(--glass-base-active);
448
+ flex-shrink: 0;
449
+ }
450
+ .ds-social-card__avatar img {
451
+ width: 100%;
452
+ height: 100%;
453
+ object-fit: cover;
454
+ }
455
+ .ds-social-card__meta {
456
+ display: flex;
457
+ flex-direction: column;
458
+ line-height: 1.2;
459
+ }
460
+ .ds-social-card__name {
461
+ font-family: var(--font-family);
462
+ font-weight: var(--font-weight-semibold);
463
+ font-size: var(--font-size-sm);
464
+ color: var(--text-primary);
465
+ }
466
+ .ds-social-card__handle {
467
+ color: var(--text-tertiary);
468
+ font-weight: var(--font-weight-normal);
469
+ margin-left: var(--space-1);
470
+ }
471
+ .ds-social-card__role {
472
+ font-family: var(--font-family);
473
+ font-size: var(--font-size-xs);
474
+ color: var(--text-secondary);
475
+ }
476
+ .ds-social-card__quote {
477
+ font-family: var(--font-family);
478
+ font-size: var(--font-size-base);
479
+ color: var(--text-secondary);
480
+ line-height: var(--line-height-relaxed);
481
+ margin: 0;
482
+ }
483
+ .ds-social-card--simple .ds-social-card__quote {
484
+ font-size: var(--font-size-lg);
485
+ color: var(--text-primary);
486
+ }
487
+ .ds-social-card__source {
488
+ position: absolute;
489
+ top: var(--space-6);
490
+ right: var(--space-6);
491
+ z-index: 1;
492
+ }
493
+ .ds-social-card--simple .ds-social-card__source {
494
+ position: static;
495
+ }
496
+ .ds-social-card__badges {
497
+ display: flex;
498
+ flex-wrap: wrap;
499
+ gap: var(--space-2);
500
+ margin-bottom: var(--space-2);
501
+ }
502
+ .ds-social-card__media .ds-social-card__badges {
503
+ position: absolute;
504
+ bottom: var(--space-4);
505
+ left: var(--space-4);
506
+ z-index: 2;
507
+ margin: 0;
508
+ }
509
+ .ds-social-card__badge {
510
+ font-family: var(--font-family-mono);
511
+ font-size: var(--font-size-xs);
512
+ background: var(--overlay-heavy, rgba(0, 0, 0, 0.6));
513
+ color: var(--text-on-dark, white);
514
+ padding: var(--space-1) var(--space-2);
515
+ border-radius: var(--radius-badge);
516
+ backdrop-filter: blur(4px);
517
+ border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));
518
+ }
519
+ .ds-social-card__cta {
520
+ margin-top: var(--space-4);
521
+ font-size: var(--font-size-sm);
522
+ color: var(--brand-pink);
523
+ font-weight: var(--font-weight-medium);
524
+ transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
525
+ display: inline-flex;
526
+ align-items: center;
527
+ gap: var(--space-1);
528
+ }
529
+ .ds-social-card:hover .ds-social-card__cta {
530
+ color: var(--brand-pink-bright);
531
+ transform: translateX(4px);
532
+ }
533
+ .ds-social-grid {
534
+ display: grid;
535
+ gap: var(--space-6);
536
+ grid-auto-flow: dense;
537
+ }
538
+ .ds-social-grid--3-col {
539
+ grid-template-columns: 1fr;
540
+ }
541
+ @media (min-width: 640px) {
542
+ .ds-social-grid--2-col {
543
+ grid-template-columns: repeat(2, 1fr);
544
+ }
545
+ .ds-social-grid--3-col {
546
+ grid-template-columns: repeat(2, 1fr);
547
+ }
548
+ }
549
+ @media (min-width: 1024px) {
550
+ .ds-social-grid--3-col {
551
+ grid-template-columns: repeat(3, 1fr);
552
+ }
553
+ .ds-social-grid--4-col {
554
+ grid-template-columns: repeat(4, 1fr);
555
+ }
556
+ }
557
+ .ds-social-grid__item--span-2 {
558
+ grid-column: span 1;
559
+ }
560
+ @media (min-width: 640px) {
561
+ .ds-social-grid__item--span-2 {
562
+ grid-column: span 2;
563
+ }
564
+ }
565
+ .ds-social-masonry {
566
+ column-count: 1;
567
+ column-gap: var(--space-6);
568
+ }
569
+ @media (min-width: 640px) {
570
+ .ds-social-masonry {
571
+ column-count: 2;
572
+ }
573
+ }
574
+ @media (min-width: 1024px) {
575
+ .ds-social-masonry {
576
+ column-count: 3;
577
+ }
578
+ }
579
+ .ds-social-masonry .ds-social-card {
580
+ break-inside: avoid;
581
+ margin-bottom: var(--space-6);
582
+ }
583
+ .ds-social-carousel:has(.ds-social-card:hover) .ds-social-card:not(:hover),
584
+ .ds-social-grid:has(.ds-social-card:hover) .ds-social-card:not(:hover) {
585
+ opacity: 0.6;
586
+ filter: grayscale(0.3);
587
+ transform: scale(0.98);
588
+ transition:
589
+ opacity 0.3s ease,
590
+ filter 0.3s ease,
591
+ transform 0.3s ease;
592
+ }
593
+ .ds-social-carousel {
594
+ position: relative;
595
+ overflow: hidden;
596
+ padding: var(--space-4) 0;
597
+ mask-image:
598
+ linear-gradient(
599
+ to right,
600
+ transparent,
601
+ black 5%,
602
+ black 95%,
603
+ transparent);
604
+ -webkit-mask-image:
605
+ linear-gradient(
606
+ to right,
607
+ transparent,
608
+ black 5%,
609
+ black 95%,
610
+ transparent);
611
+ }
612
+ .ds-social-carousel__track {
613
+ display: flex;
614
+ gap: var(--space-6);
615
+ width: max-content;
616
+ animation: ds-social-scroll 60s linear infinite;
617
+ }
618
+ .ds-social-carousel:hover .ds-social-carousel__track {
619
+ animation-play-state: paused;
620
+ }
621
+ .ds-social-carousel .ds-social-card {
622
+ width: 320px;
623
+ flex-shrink: 0;
624
+ white-space: normal;
625
+ }
626
+ @keyframes ds-social-scroll {
627
+ from {
628
+ transform: translateX(0);
629
+ }
630
+ to {
631
+ transform: translateX(-50%);
632
+ }
633
+ }
634
+ .ds-social-featured-section {
635
+ }
636
+ .ds-social-featured {
637
+ display: grid;
638
+ gap: var(--space-8);
639
+ background: var(--glass-base);
640
+ border-radius: var(--radius-panel);
641
+ border: 1px solid var(--rim-light-bottom);
642
+ overflow: hidden;
643
+ padding: var(--space-8);
644
+ }
645
+ @media (min-width: 1024px) {
646
+ .ds-social-featured--horizontal {
647
+ grid-template-columns: 1.2fr 0.8fr;
648
+ align-items: center;
649
+ padding: 0;
650
+ }
651
+ .ds-social-featured--horizontal .ds-social-featured__content {
652
+ padding: var(--space-12);
653
+ }
654
+ .ds-social-featured--horizontal .ds-social-featured__media {
655
+ height: 100%;
656
+ min-height: 400px;
657
+ }
658
+ }
659
+ .ds-social-featured--cinematic {
660
+ background:
661
+ linear-gradient(
662
+ 135deg,
663
+ var(--overlay-heavy, rgba(0, 0, 0, 0.8)) 0%,
664
+ var(--glass-base, rgba(0, 0, 0, 0.4)) 100%);
665
+ border-color: rgba(var(--brand-pink-rgb, 249, 115, 22), 0.15);
666
+ }
667
+ .ds-social-featured--cinematic .ds-social-featured__quote {
668
+ font-size: var(--font-size-3xl);
669
+ }
670
+ .ds-social-featured--spotlight {
671
+ text-align: center;
672
+ justify-items: center;
673
+ background:
674
+ radial-gradient(
675
+ ellipse at center,
676
+ rgba(var(--brand-pink-rgb, 249, 115, 22), 0.06) 0%,
677
+ var(--glass-base, rgba(0, 0, 0, 0.2)) 70%);
678
+ }
679
+ .ds-social-featured--spotlight .ds-social-featured__quote {
680
+ max-width: 700px;
681
+ }
682
+ .ds-social-featured--spotlight .ds-social-featured__author-large {
683
+ justify-content: center;
684
+ }
685
+ .ds-social-featured__media {
686
+ position: relative;
687
+ width: 100%;
688
+ aspect-ratio: 16/9;
689
+ border-radius: var(--radius-card);
690
+ overflow: hidden;
691
+ background: var(--bg-dark, #000);
692
+ display: flex;
693
+ align-items: center;
694
+ justify-content: center;
695
+ }
696
+ @media (min-width: 1024px) {
697
+ .ds-social-featured--horizontal .ds-social-featured__media {
698
+ border-radius: 0;
699
+ }
700
+ }
701
+ .ds-social-featured__quote {
702
+ font-family: var(--font-family);
703
+ font-size: var(--font-size-2xl);
704
+ font-weight: var(--font-weight-medium);
705
+ color: var(--text-primary);
706
+ line-height: var(--line-height-tight);
707
+ margin-bottom: var(--space-8);
708
+ }
709
+ .ds-social-featured__author-large {
710
+ display: flex;
711
+ align-items: center;
712
+ gap: var(--space-4);
713
+ }
714
+ .ds-social-featured__author-large .ds-social-card__avatar {
715
+ width: 64px;
716
+ height: 64px;
717
+ }
718
+ .ds-social-featured__author-large .ds-social-card__name {
719
+ font-size: var(--font-size-lg);
720
+ }
721
+ .ds-social-logos {
722
+ overflow: hidden;
723
+ }
724
+ .ds-social-logos__marquee {
725
+ display: flex;
726
+ overflow: hidden;
727
+ user-select: none;
728
+ gap: var(--space-12);
729
+ mask-image:
730
+ linear-gradient(
731
+ to right,
732
+ transparent,
733
+ black 10%,
734
+ black 90%,
735
+ transparent);
736
+ -webkit-mask-image:
737
+ linear-gradient(
738
+ to right,
739
+ transparent,
740
+ black 10%,
741
+ black 90%,
742
+ transparent);
743
+ }
744
+ .ds-social-logos__track {
745
+ flex-shrink: 0;
746
+ display: flex;
747
+ align-items: center;
748
+ justify-content: space-around;
749
+ gap: var(--space-12);
750
+ min-width: 100%;
751
+ animation: ds-scroll var(--marquee-duration, 40s) linear infinite;
752
+ transform: translateZ(0);
753
+ }
754
+ .ds-social-logos__marquee:hover .ds-social-logos__track {
755
+ animation-play-state: paused;
756
+ }
757
+ @keyframes ds-scroll {
758
+ from {
759
+ transform: translateX(0);
760
+ }
761
+ to {
762
+ transform: translateX(calc(-100% - var(--space-12)));
763
+ }
764
+ }
765
+ .ds-social-logos__item {
766
+ opacity: 0.5;
767
+ filter: grayscale(100%);
768
+ transition: all var(--transition-base);
769
+ max-width: 160px;
770
+ display: flex;
771
+ align-items: center;
772
+ justify-content: center;
773
+ flex-shrink: 0;
774
+ text-decoration: none;
775
+ position: relative;
776
+ }
777
+ .ds-social-logos__item:hover {
778
+ opacity: 1;
779
+ filter: grayscale(0%);
780
+ transform: scale(1.05);
781
+ }
782
+ .ds-social-logos__item img,
783
+ .ds-social-logos__item svg {
784
+ max-height: 40px;
785
+ width: auto;
786
+ display: block;
787
+ }
788
+ .ds-social-logos__badge {
789
+ position: absolute;
790
+ bottom: -16px;
791
+ right: -12px;
792
+ font-family: var(--font-family-mono);
793
+ font-size: 10px;
794
+ line-height: 1;
795
+ font-weight: 500;
796
+ padding: 3px 6px;
797
+ border-radius: 999px;
798
+ background: var(--glass-base, rgba(255, 255, 255, 0.1));
799
+ color: var(--text-secondary);
800
+ border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.15));
801
+ backdrop-filter: blur(8px);
802
+ white-space: nowrap;
803
+ pointer-events: none;
804
+ transition: all var(--transition-base);
805
+ opacity: 0.8;
806
+ }
807
+ .ds-social-logos__item:hover .ds-social-logos__badge {
808
+ opacity: 1;
809
+ background: var(--glass-base-hover, rgba(255, 255, 255, 0.15));
810
+ color: var(--text-primary);
811
+ border-color: var(--border-subtle-hover, rgba(255, 255, 255, 0.3));
812
+ }
813
+ @media (prefers-reduced-motion: reduce) {
814
+ .ds-social-card {
815
+ transition: none;
816
+ }
817
+ .ds-social-card:hover {
818
+ transform: none;
819
+ }
820
+ .ds-social-card__media img {
821
+ transition: none;
822
+ }
823
+ .ds-social-card:hover .ds-social-card__media img {
824
+ transform: none;
825
+ }
826
+ .ds-social-card__play-icon::after {
827
+ animation: none;
828
+ }
829
+ .ds-social-carousel__track {
830
+ animation: none;
831
+ }
832
+ .ds-social-logos__track {
833
+ animation: none;
834
+ }
835
+ .ds-social-carousel:has(.ds-social-card:hover) .ds-social-card:not(:hover),
836
+ .ds-social-grid:has(.ds-social-card:hover) .ds-social-card:not(:hover) {
837
+ opacity: 1;
838
+ filter: none;
839
+ transform: none;
840
+ transition: none;
841
+ }
842
+ }
843
+
844
+ /* src/components/LayoutPrimitives/LayoutPrimitives.css */
845
+ .ds-box {
846
+ display: block;
847
+ box-sizing: border-box;
848
+ min-width: 0;
849
+ }
850
+ .ds-stack {
851
+ display: flex;
852
+ flex-direction: column;
853
+ }
854
+ .ds-stack--horizontal {
855
+ flex-direction: row;
856
+ }
857
+ .ds-grid {
858
+ display: grid;
859
+ }
860
+ .ds-grid--cols-1 {
861
+ grid-template-columns: repeat(1, 1fr);
862
+ }
863
+ .ds-grid--cols-2 {
864
+ grid-template-columns: repeat(1, 1fr);
865
+ }
866
+ @media (min-width: 640px) {
867
+ .ds-grid--cols-2 {
868
+ grid-template-columns: repeat(2, 1fr);
869
+ }
870
+ }
871
+ .ds-grid--cols-3 {
872
+ grid-template-columns: repeat(1, 1fr);
873
+ }
874
+ @media (min-width: 640px) {
875
+ .ds-grid--cols-3 {
876
+ grid-template-columns: repeat(2, 1fr);
877
+ }
878
+ }
879
+ @media (min-width: 1024px) {
880
+ .ds-grid--cols-3 {
881
+ grid-template-columns: repeat(3, 1fr);
882
+ }
883
+ }
884
+ .ds-grid--cols-4 {
885
+ grid-template-columns: repeat(1, 1fr);
886
+ }
887
+ @media (min-width: 640px) {
888
+ .ds-grid--cols-4 {
889
+ grid-template-columns: repeat(2, 1fr);
890
+ }
891
+ }
892
+ @media (min-width: 1024px) {
893
+ .ds-grid--cols-4 {
894
+ grid-template-columns: repeat(4, 1fr);
895
+ }
896
+ }
897
+ .ds-grid--cols-5 {
898
+ grid-template-columns: repeat(1, 1fr);
899
+ }
900
+ @media (min-width: 640px) {
901
+ .ds-grid--cols-5 {
902
+ grid-template-columns: repeat(2, 1fr);
903
+ }
904
+ }
905
+ @media (min-width: 768px) {
906
+ .ds-grid--cols-5 {
907
+ grid-template-columns: repeat(3, 1fr);
908
+ }
909
+ }
910
+ @media (min-width: 1280px) {
911
+ .ds-grid--cols-5 {
912
+ grid-template-columns: repeat(5, 1fr);
913
+ }
914
+ }
915
+ .ds-grid--cols-6 {
916
+ grid-template-columns: repeat(1, 1fr);
917
+ }
918
+ @media (min-width: 640px) {
919
+ .ds-grid--cols-6 {
920
+ grid-template-columns: repeat(2, 1fr);
921
+ }
922
+ }
923
+ @media (min-width: 768px) {
924
+ .ds-grid--cols-6 {
925
+ grid-template-columns: repeat(3, 1fr);
926
+ }
927
+ }
928
+ @media (min-width: 1280px) {
929
+ .ds-grid--cols-6 {
930
+ grid-template-columns: repeat(6, 1fr);
931
+ }
932
+ }
933
+ @media (min-width: 1920px) {
934
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
935
+ grid-template-columns: repeat(4, 1fr);
936
+ }
937
+ }
938
+ @media (min-width: 2560px) {
939
+ .ds-grid--cols-2:not(.ds-grid--fixed) {
940
+ grid-template-columns: repeat(3, 1fr);
941
+ }
942
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
943
+ grid-template-columns: repeat(4, 1fr);
944
+ }
945
+ .ds-grid--cols-4:not(.ds-grid--fixed) {
946
+ grid-template-columns: repeat(5, 1fr);
947
+ }
948
+ .ds-grid--cols-5:not(.ds-grid--fixed) {
949
+ grid-template-columns: repeat(6, 1fr);
950
+ }
951
+ .ds-grid--cols-6:not(.ds-grid--fixed) {
952
+ grid-template-columns: repeat(8, 1fr);
953
+ }
954
+ }
955
+ @media (min-width: 3840px) {
956
+ .ds-grid--cols-2:not(.ds-grid--fixed) {
957
+ grid-template-columns: repeat(3, 1fr);
958
+ }
959
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
960
+ grid-template-columns: repeat(5, 1fr);
961
+ }
962
+ .ds-grid--cols-4:not(.ds-grid--fixed) {
963
+ grid-template-columns: repeat(6, 1fr);
964
+ }
965
+ .ds-grid--cols-5:not(.ds-grid--fixed) {
966
+ grid-template-columns: repeat(8, 1fr);
967
+ }
968
+ .ds-grid--cols-6:not(.ds-grid--fixed) {
969
+ grid-template-columns: repeat(10, 1fr);
970
+ }
971
+ }
972
+ :root {
973
+ --container-default-max: 1200px;
974
+ }
975
+ @media (min-width: 1537px) {
976
+ :root {
977
+ --container-default-max: 1400px;
978
+ }
979
+ }
980
+ @media (min-width: 1921px) {
981
+ :root {
982
+ --container-default-max: 1600px;
983
+ }
984
+ }
985
+ @media (min-width: 2561px) {
986
+ :root {
987
+ --container-default-max: 1920px;
988
+ }
989
+ }
990
+ .ds-container {
991
+ width: 100%;
992
+ margin-left: auto;
993
+ margin-right: auto;
994
+ padding-left: var(--container-padding-x, var(--space-4));
995
+ padding-right: var(--container-padding-x, var(--space-4));
996
+ }
997
+ @media (min-width: 1537px) {
998
+ .ds-container {
999
+ --container-padding-x: var(--space-6);
1000
+ }
1001
+ }
1002
+ @media (min-width: 2561px) {
1003
+ .ds-container {
1004
+ --container-padding-x: var(--space-8);
1005
+ }
1006
+ }
1007
+ .ds-section-block {
1008
+ position: relative;
1009
+ }
1010
+ .ds-section-block--none {
1011
+ padding-top: 0;
1012
+ padding-bottom: 0;
1013
+ }
1014
+ .ds-section-block--sm {
1015
+ padding-top: var(--space-8, 2rem);
1016
+ padding-bottom: var(--space-8, 2rem);
1017
+ }
1018
+ .ds-section-block--md {
1019
+ padding-top: var(--space-16, 4rem);
1020
+ padding-bottom: var(--space-16, 4rem);
1021
+ }
1022
+ @media (min-width: 768px) {
1023
+ .ds-section-block--md {
1024
+ padding-top: var(--space-24, 6rem);
1025
+ padding-bottom: var(--space-24, 6rem);
1026
+ }
1027
+ }
1028
+ .ds-section-block--lg {
1029
+ padding-top: var(--space-24, 6rem);
1030
+ padding-bottom: var(--space-24, 6rem);
1031
+ }
1032
+ @media (min-width: 768px) {
1033
+ .ds-section-block--lg {
1034
+ padding-top: var(--space-32, 8rem);
1035
+ padding-bottom: var(--space-32, 8rem);
1036
+ }
1037
+ }
1038
+ .ds-visually-hidden {
1039
+ position: absolute;
1040
+ width: 1px;
1041
+ height: 1px;
1042
+ padding: 0;
1043
+ margin: -1px;
1044
+ overflow: hidden;
1045
+ clip-path: inset(50%);
1046
+ white-space: nowrap;
1047
+ border-width: 0;
1048
+ }
1049
+
1050
+ /* src/components/SectionShell/SectionShell.css */
1051
+ .ds-section {
1052
+ position: relative;
1053
+ width: 100%;
1054
+ padding: var(--space-16) 0;
1055
+ box-sizing: border-box;
1056
+ }
1057
+ .ds-section--bg-default {
1058
+ background-color: transparent;
1059
+ }
1060
+ .ds-section--bg-muted {
1061
+ background-color: var(--surface-alpha-1);
1062
+ }
1063
+ .ds-section--bg-brand {
1064
+ background:
1065
+ radial-gradient(
1066
+ circle at 50% 0%,
1067
+ rgba(var(--brand-pink-rgb), 0.15),
1068
+ transparent 70%);
1069
+ }
1070
+ .ds-section--padding-none {
1071
+ padding: 0;
1072
+ }
1073
+ .ds-section--padding-sm {
1074
+ padding: var(--space-8) 0;
1075
+ }
1076
+ .ds-section--padding-md {
1077
+ padding: var(--space-16) 0;
1078
+ }
1079
+ .ds-section--padding-lg {
1080
+ padding: var(--space-20) 0;
1081
+ }
1082
+ .ds-section-header {
1083
+ margin-bottom: var(--space-12);
1084
+ display: flex;
1085
+ flex-direction: column;
1086
+ gap: var(--space-4);
1087
+ }
1088
+ .ds-section-header--center {
1089
+ text-align: center;
1090
+ align-items: center;
1091
+ }
1092
+ .ds-section-header--left {
1093
+ text-align: left;
1094
+ align-items: flex-start;
1095
+ }
1096
+ .ds-section-header--right {
1097
+ text-align: right;
1098
+ align-items: flex-end;
1099
+ }
1100
+ .ds-section-header__eyebrow {
1101
+ font-family: var(--font-family-mono);
1102
+ font-size: var(--font-size-xs);
1103
+ color: var(--brand-pink);
1104
+ text-transform: uppercase;
1105
+ letter-spacing: var(--letter-spacing-wide);
1106
+ font-weight: var(--font-weight-medium);
1107
+ }
1108
+ .ds-section-header__title {
1109
+ font-family: var(--font-family);
1110
+ font-size: var(--font-size-3xl);
1111
+ font-weight: var(--font-weight-bold);
1112
+ color: var(--text-primary);
1113
+ line-height: var(--line-height-tight);
1114
+ margin: 0;
1115
+ }
1116
+ .ds-section-header__subtitle {
1117
+ font-family: var(--font-family);
1118
+ font-size: var(--font-size-lg);
1119
+ color: var(--text-secondary);
1120
+ max-width: 65ch;
1121
+ line-height: var(--line-height-relaxed);
1122
+ margin: 0;
1123
+ }
1124
+ @media (max-width: 768px) {
1125
+ .ds-section {
1126
+ padding: var(--space-10) 0;
1127
+ }
1128
+ .ds-section--padding-lg {
1129
+ padding: var(--space-12) 0;
1130
+ }
1131
+ .ds-section-header__title {
1132
+ font-size: var(--font-size-2xl);
1133
+ }
1134
+ }
1135
+ @media (min-width: 1920px) {
1136
+ .ds-section {
1137
+ padding: var(--space-20) 0;
1138
+ }
1139
+ .ds-section--padding-sm {
1140
+ padding: var(--space-10) 0;
1141
+ }
1142
+ .ds-section--padding-md {
1143
+ padding: var(--space-20) 0;
1144
+ }
1145
+ .ds-section--padding-lg {
1146
+ padding: calc(var(--space-20) * 1.25) 0;
1147
+ }
1148
+ .ds-section-header {
1149
+ margin-bottom: var(--space-16);
1150
+ }
1151
+ .ds-section-header__title {
1152
+ font-size: var(--font-size-4xl);
1153
+ }
1154
+ }
1155
+ @media (min-width: 2560px) {
1156
+ .ds-section {
1157
+ padding: calc(var(--space-20) * 1.5) 0;
1158
+ }
1159
+ .ds-section--padding-lg {
1160
+ padding: calc(var(--space-20) * 1.75) 0;
1161
+ }
1162
+ .ds-section-header {
1163
+ margin-bottom: var(--space-20);
1164
+ gap: var(--space-6);
1165
+ }
1166
+ .ds-section-header__title {
1167
+ font-size: var(--font-size-5xl);
1168
+ }
1169
+ .ds-section-header__subtitle {
1170
+ font-size: var(--font-size-xl);
1171
+ }
1172
+ }
1173
+ @media (min-width: 3840px) {
1174
+ .ds-section {
1175
+ padding: calc(var(--space-20) * 2) 0;
1176
+ }
1177
+ .ds-section--padding-lg {
1178
+ padding: calc(var(--space-20) * 2.5) 0;
1179
+ }
1180
+ .ds-section-header__title {
1181
+ font-size: var(--font-size-6xl);
1182
+ }
1183
+ }
1184
+
1185
+ /* src/components/VideoLightbox/VideoLightbox.css */
1186
+ .ds-sr-only {
1187
+ position: absolute;
1188
+ width: 1px;
1189
+ height: 1px;
1190
+ padding: 0;
1191
+ margin: -1px;
1192
+ overflow: hidden;
1193
+ clip: rect(0, 0, 0, 0);
1194
+ white-space: nowrap;
1195
+ border: 0;
1196
+ }
1197
+ .ds-video-lightbox__trigger {
1198
+ all: unset;
1199
+ cursor: pointer;
1200
+ display: block;
1201
+ width: 100%;
1202
+ }
1203
+ .ds-video-lightbox__thumbnail-wrap {
1204
+ position: relative;
1205
+ width: 100%;
1206
+ aspect-ratio: 16 / 9;
1207
+ border-radius: var(--radius-card);
1208
+ overflow: hidden;
1209
+ background: var(--glass-base-active, rgba(0, 0, 0, 0.3));
1210
+ }
1211
+ .ds-video-lightbox__thumbnail {
1212
+ width: 100%;
1213
+ height: 100%;
1214
+ object-fit: cover;
1215
+ transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
1216
+ }
1217
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__thumbnail {
1218
+ transform: scale(1.05);
1219
+ }
1220
+ .ds-video-lightbox__placeholder {
1221
+ width: 100%;
1222
+ height: 100%;
1223
+ background:
1224
+ linear-gradient(
1225
+ 135deg,
1226
+ var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,
1227
+ var(--glass-base, rgba(0, 0, 0, 0.2)) 100%);
1228
+ }
1229
+ .ds-video-lightbox__overlay {
1230
+ position: absolute;
1231
+ inset: 0;
1232
+ display: flex;
1233
+ align-items: center;
1234
+ justify-content: center;
1235
+ background:
1236
+ linear-gradient(
1237
+ to top,
1238
+ rgba(0, 0, 0, 0.5) 0%,
1239
+ transparent 60%);
1240
+ transition: background 0.3s ease;
1241
+ }
1242
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__overlay {
1243
+ background:
1244
+ linear-gradient(
1245
+ to top,
1246
+ rgba(0, 0, 0, 0.3) 0%,
1247
+ transparent 60%);
1248
+ }
1249
+ .ds-video-lightbox__play-btn {
1250
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1251
+ }
1252
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__play-btn {
1253
+ transform: scale(1.1);
1254
+ }
1255
+ .ds-video-lightbox__play-bg {
1256
+ fill: rgba(0, 0, 0, 0.6);
1257
+ transition: fill 0.3s ease;
1258
+ }
1259
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__play-bg {
1260
+ fill: var(--brand-pink, #f97316);
1261
+ }
1262
+ .ds-video-lightbox__play-btn::after {
1263
+ content: "";
1264
+ position: absolute;
1265
+ inset: -8px;
1266
+ border-radius: 50%;
1267
+ border: 2px solid rgba(255, 255, 255, 0.3);
1268
+ animation: ds-lightbox-pulse 2s ease-out infinite;
1269
+ }
1270
+ @keyframes ds-lightbox-pulse {
1271
+ 0% {
1272
+ transform: scale(0.8);
1273
+ opacity: 1;
1274
+ }
1275
+ 100% {
1276
+ transform: scale(1.4);
1277
+ opacity: 0;
1278
+ }
1279
+ }
1280
+ .ds-video-lightbox__backdrop {
1281
+ position: fixed;
1282
+ inset: 0;
1283
+ background: rgba(0, 0, 0, 0.85);
1284
+ backdrop-filter: blur(8px);
1285
+ -webkit-backdrop-filter: blur(8px);
1286
+ z-index: 9998;
1287
+ animation: ds-lightbox-fade-in 0.25s ease-out;
1288
+ }
1289
+ .ds-video-lightbox__popup {
1290
+ position: fixed;
1291
+ inset: 0;
1292
+ display: flex;
1293
+ align-items: center;
1294
+ justify-content: center;
1295
+ padding: var(--space-6);
1296
+ z-index: 9999;
1297
+ animation: ds-lightbox-scale-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
1298
+ }
1299
+ .ds-video-lightbox__close {
1300
+ all: unset;
1301
+ position: absolute;
1302
+ top: var(--space-4);
1303
+ right: var(--space-4);
1304
+ width: 44px;
1305
+ height: 44px;
1306
+ display: flex;
1307
+ align-items: center;
1308
+ justify-content: center;
1309
+ color: var(--text-on-dark, white);
1310
+ opacity: 0.7;
1311
+ cursor: pointer;
1312
+ border-radius: 50%;
1313
+ background: rgba(255, 255, 255, 0.1);
1314
+ transition: opacity var(--transition-base), background var(--transition-base);
1315
+ z-index: 1;
1316
+ }
1317
+ .ds-video-lightbox__close:hover {
1318
+ opacity: 1;
1319
+ background: rgba(255, 255, 255, 0.2);
1320
+ }
1321
+ .ds-video-lightbox__close:focus-visible {
1322
+ outline: 2px solid var(--brand-pink, #f97316);
1323
+ outline-offset: 2px;
1324
+ }
1325
+ .ds-video-lightbox__iframe-wrap {
1326
+ width: 100%;
1327
+ max-width: 1200px;
1328
+ aspect-ratio: 16 / 9;
1329
+ border-radius: var(--radius-card, 12px);
1330
+ overflow: hidden;
1331
+ background: black;
1332
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
1333
+ }
1334
+ .ds-video-lightbox__iframe {
1335
+ width: 100%;
1336
+ height: 100%;
1337
+ border: none;
1338
+ }
1339
+ @keyframes ds-lightbox-fade-in {
1340
+ from {
1341
+ opacity: 0;
1342
+ }
1343
+ to {
1344
+ opacity: 1;
1345
+ }
1346
+ }
1347
+ @keyframes ds-lightbox-scale-in {
1348
+ from {
1349
+ opacity: 0;
1350
+ transform: scale(0.95);
1351
+ }
1352
+ to {
1353
+ opacity: 1;
1354
+ transform: scale(1);
1355
+ }
1356
+ }
1357
+ @media (prefers-reduced-motion: reduce) {
1358
+ .ds-video-lightbox__backdrop,
1359
+ .ds-video-lightbox__popup {
1360
+ animation: none;
1361
+ }
1362
+ .ds-video-lightbox__thumbnail {
1363
+ transition: none;
1364
+ }
1365
+ .ds-video-lightbox__play-btn::after {
1366
+ animation: none;
1367
+ }
1368
+ .ds-video-lightbox__play-btn {
1369
+ transition: none;
1370
+ }
1371
+ }
1372
+
1373
+ /* src/components/MetricCounter/MetricCounter.css */
1374
+ .ds-metric-counter {
1375
+ display: flex;
1376
+ flex-direction: column;
1377
+ align-items: center;
1378
+ justify-content: center;
1379
+ text-align: center;
1380
+ font-family: var(--font-family);
1381
+ }
1382
+ .ds-metric-counter__value-wrapper {
1383
+ display: flex;
1384
+ align-items: baseline;
1385
+ justify-content: center;
1386
+ color: var(--text-primary);
1387
+ line-height: var(--line-height-display);
1388
+ }
1389
+ .ds-metric-counter__prefix,
1390
+ .ds-metric-counter__suffix {
1391
+ font-size: var(--font-size-3xl);
1392
+ font-weight: var(--font-weight-bold);
1393
+ color: rgb(var(--accent-rgb));
1394
+ }
1395
+ .ds-metric-counter__value {
1396
+ font-size: var(--font-size-5xl);
1397
+ font-weight: var(--font-weight-bold);
1398
+ letter-spacing: var(--letter-spacing-display);
1399
+ font-variant-numeric: tabular-nums;
1400
+ }
1401
+ .ds-metric-counter__label {
1402
+ margin-top: var(--space-2);
1403
+ font-size: var(--font-size-base);
1404
+ color: var(--text-secondary);
1405
+ font-weight: var(--font-weight-medium);
1406
+ }
1407
+ @media (max-width: 640px) {
1408
+ .ds-metric-counter__prefix,
1409
+ .ds-metric-counter__suffix {
1410
+ font-size: var(--font-size-2xl);
1411
+ }
1412
+ .ds-metric-counter__value {
1413
+ font-size: var(--font-size-4xl);
1414
+ }
1415
+ }
1416
+ /*# sourceMappingURL=index.css.map */