@salesmind-ai/design-system 0.2.1 → 0.3.1

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 (142) hide show
  1. package/README.md +32 -2
  2. package/dist/AppearancePanel-UT57J69V.d.cts +51 -0
  3. package/dist/AppearancePanel-UT57J69V.d.ts +51 -0
  4. package/dist/AppearanceProvider-C36a8-eb.d.cts +45 -0
  5. package/dist/AppearanceProvider-C36a8-eb.d.ts +45 -0
  6. package/dist/Breadcrumb-RX-B_gDV.d.cts +44 -0
  7. package/dist/Breadcrumb-RX-B_gDV.d.ts +44 -0
  8. package/dist/ExportMenu-A2TLFiVv.d.cts +311 -0
  9. package/dist/ExportMenu-C8qck5AT.d.ts +311 -0
  10. package/dist/SectionShell-BfBw5q0Y.d.cts +18 -0
  11. package/dist/SectionShell-BfBw5q0Y.d.ts +18 -0
  12. package/dist/Select-BdZmK0Lt.d.cts +66 -0
  13. package/dist/Select-BdZmK0Lt.d.ts +66 -0
  14. package/dist/admin/index.cjs +2941 -0
  15. package/dist/admin/index.cjs.map +1 -0
  16. package/dist/admin/index.css +4145 -0
  17. package/dist/admin/index.css.map +1 -0
  18. package/dist/admin/index.d.cts +491 -0
  19. package/dist/admin/index.d.ts +491 -0
  20. package/dist/admin/index.js +2918 -0
  21. package/dist/admin/index.js.map +1 -0
  22. package/dist/{audit-CiyPkxk1.d.cts → audit-BS2fn7M4.d.ts} +2 -51
  23. package/dist/{audit-CiyPkxk1.d.ts → audit-DwCmg32J.d.cts} +2 -51
  24. package/dist/blog/index.cjs +1074 -0
  25. package/dist/blog/index.cjs.map +1 -0
  26. package/dist/blog/index.css +1422 -0
  27. package/dist/blog/index.css.map +1 -0
  28. package/dist/blog/index.d.cts +233 -0
  29. package/dist/blog/index.d.ts +233 -0
  30. package/dist/blog/index.js +1056 -0
  31. package/dist/blog/index.js.map +1 -0
  32. package/dist/chart-types-BGVVO-zl.d.cts +208 -0
  33. package/dist/chart-types-BGVVO-zl.d.ts +208 -0
  34. package/dist/charts/index.cjs +2698 -0
  35. package/dist/charts/index.cjs.map +1 -0
  36. package/dist/charts/index.css +1167 -0
  37. package/dist/charts/index.css.map +1 -0
  38. package/dist/charts/index.d.cts +453 -0
  39. package/dist/charts/index.d.ts +453 -0
  40. package/dist/charts/index.js +2682 -0
  41. package/dist/charts/index.js.map +1 -0
  42. package/dist/core/index.cjs +526 -395
  43. package/dist/core/index.cjs.map +1 -1
  44. package/dist/core/index.css +294 -0
  45. package/dist/core/index.css.map +1 -1
  46. package/dist/core/index.d.cts +7 -982
  47. package/dist/core/index.d.ts +7 -982
  48. package/dist/core/index.js +476 -351
  49. package/dist/core/index.js.map +1 -1
  50. package/dist/i18n/index.cjs +585 -0
  51. package/dist/i18n/index.cjs.map +1 -0
  52. package/dist/i18n/index.d.cts +855 -0
  53. package/dist/i18n/index.d.ts +855 -0
  54. package/dist/i18n/index.js +547 -0
  55. package/dist/i18n/index.js.map +1 -0
  56. package/dist/index.cjs +3 -2
  57. package/dist/index.cjs.map +1 -1
  58. package/dist/index.css +11 -7
  59. package/dist/index.css.map +1 -1
  60. package/dist/index.d.cts +22 -1290
  61. package/dist/index.d.ts +22 -1290
  62. package/dist/index.js +3 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/marketing/index.cjs +2144 -3023
  65. package/dist/marketing/index.cjs.map +1 -1
  66. package/dist/marketing/index.css +3729 -4824
  67. package/dist/marketing/index.css.map +1 -1
  68. package/dist/marketing/index.d.cts +1351 -4
  69. package/dist/marketing/index.d.ts +1351 -4
  70. package/dist/marketing/index.js +2190 -3054
  71. package/dist/marketing/index.js.map +1 -1
  72. package/dist/motion/index.cjs +1230 -0
  73. package/dist/motion/index.cjs.map +1 -0
  74. package/dist/motion/index.css +699 -0
  75. package/dist/motion/index.css.map +1 -0
  76. package/dist/motion/index.d.cts +68 -0
  77. package/dist/motion/index.d.ts +68 -0
  78. package/dist/motion/index.js +1218 -0
  79. package/dist/motion/index.js.map +1 -0
  80. package/dist/nav/index.cjs +1533 -0
  81. package/dist/nav/index.cjs.map +1 -0
  82. package/dist/nav/index.css +1984 -0
  83. package/dist/nav/index.css.map +1 -0
  84. package/dist/nav/index.d.cts +279 -0
  85. package/dist/nav/index.d.ts +279 -0
  86. package/dist/nav/index.js +1501 -0
  87. package/dist/nav/index.js.map +1 -0
  88. package/dist/report/index.cjs +26 -1649
  89. package/dist/report/index.cjs.map +1 -1
  90. package/dist/report/index.css +0 -963
  91. package/dist/report/index.css.map +1 -1
  92. package/dist/report/index.d.cts +4 -2
  93. package/dist/report/index.d.ts +4 -2
  94. package/dist/report/index.js +27 -1640
  95. package/dist/report/index.js.map +1 -1
  96. package/dist/sections/index.cjs +385 -0
  97. package/dist/sections/index.cjs.map +1 -0
  98. package/dist/sections/index.css +815 -0
  99. package/dist/sections/index.css.map +1 -0
  100. package/dist/sections/index.d.cts +69 -0
  101. package/dist/sections/index.d.ts +69 -0
  102. package/dist/sections/index.js +374 -0
  103. package/dist/sections/index.js.map +1 -0
  104. package/dist/social-proof/index.cjs +1255 -0
  105. package/dist/social-proof/index.cjs.map +1 -0
  106. package/dist/social-proof/index.css +1423 -0
  107. package/dist/social-proof/index.css.map +1 -0
  108. package/dist/social-proof/index.d.cts +258 -0
  109. package/dist/social-proof/index.d.ts +258 -0
  110. package/dist/social-proof/index.js +1238 -0
  111. package/dist/social-proof/index.js.map +1 -0
  112. package/dist/theme/index.cjs +573 -0
  113. package/dist/theme/index.cjs.map +1 -0
  114. package/dist/theme/index.css +464 -0
  115. package/dist/theme/index.css.map +1 -0
  116. package/dist/theme/index.d.cts +48 -0
  117. package/dist/theme/index.d.ts +48 -0
  118. package/dist/theme/index.js +558 -0
  119. package/dist/theme/index.js.map +1 -0
  120. package/dist/types-DAlgDGzw.d.cts +52 -0
  121. package/dist/types-DAlgDGzw.d.ts +52 -0
  122. package/dist/web/client/index.cjs +501 -0
  123. package/dist/web/client/index.cjs.map +1 -0
  124. package/dist/web/client/index.css +456 -0
  125. package/dist/web/client/index.css.map +1 -0
  126. package/dist/web/client/index.d.cts +172 -0
  127. package/dist/web/client/index.d.ts +172 -0
  128. package/dist/web/client/index.js +486 -0
  129. package/dist/web/client/index.js.map +1 -0
  130. package/dist/web/index.d.cts +6 -893
  131. package/dist/web/index.d.ts +6 -893
  132. package/dist/web/server/index.cjs +569 -0
  133. package/dist/web/server/index.cjs.map +1 -0
  134. package/dist/web/server/index.d.cts +725 -0
  135. package/dist/web/server/index.d.ts +725 -0
  136. package/dist/web/server/index.js +562 -0
  137. package/dist/web/server/index.js.map +1 -0
  138. package/package.json +81 -9
  139. package/dist/ExportMenu-hEe5MhLq.d.cts +0 -1027
  140. package/dist/ExportMenu-hEe5MhLq.d.ts +0 -1027
  141. package/dist/index-B64suAAc.d.cts +0 -1498
  142. package/dist/index-B64suAAc.d.ts +0 -1498
@@ -0,0 +1,1423 @@
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: color 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 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:
769
+ opacity var(--transition-base),
770
+ filter var(--transition-base),
771
+ transform var(--transition-base);
772
+ max-width: 160px;
773
+ display: flex;
774
+ align-items: center;
775
+ justify-content: center;
776
+ flex-shrink: 0;
777
+ text-decoration: none;
778
+ position: relative;
779
+ }
780
+ .ds-social-logos__item:hover {
781
+ opacity: 1;
782
+ filter: grayscale(0%);
783
+ transform: scale(1.05);
784
+ }
785
+ .ds-social-logos__item img,
786
+ .ds-social-logos__item svg {
787
+ max-height: 40px;
788
+ width: auto;
789
+ display: block;
790
+ }
791
+ .ds-social-logos__badge {
792
+ position: absolute;
793
+ bottom: -16px;
794
+ right: -12px;
795
+ font-family: var(--font-family-mono);
796
+ font-size: 10px;
797
+ line-height: 1;
798
+ font-weight: 500;
799
+ padding: 3px 6px;
800
+ border-radius: 999px;
801
+ background: var(--glass-base, rgba(255, 255, 255, 0.1));
802
+ color: var(--text-secondary);
803
+ border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.15));
804
+ backdrop-filter: blur(8px);
805
+ white-space: nowrap;
806
+ pointer-events: none;
807
+ transition:
808
+ opacity var(--transition-base),
809
+ background var(--transition-base),
810
+ color var(--transition-base),
811
+ border-color var(--transition-base);
812
+ opacity: 0.8;
813
+ }
814
+ .ds-social-logos__item:hover .ds-social-logos__badge {
815
+ opacity: 1;
816
+ background: var(--glass-base-hover, rgba(255, 255, 255, 0.15));
817
+ color: var(--text-primary);
818
+ border-color: var(--border-subtle-hover, rgba(255, 255, 255, 0.3));
819
+ }
820
+ @media (prefers-reduced-motion: reduce) {
821
+ .ds-social-card {
822
+ transition: none;
823
+ }
824
+ .ds-social-card:hover {
825
+ transform: none;
826
+ }
827
+ .ds-social-card__media img {
828
+ transition: none;
829
+ }
830
+ .ds-social-card:hover .ds-social-card__media img {
831
+ transform: none;
832
+ }
833
+ .ds-social-card__play-icon::after {
834
+ animation: none;
835
+ }
836
+ .ds-social-carousel__track {
837
+ animation: none;
838
+ }
839
+ .ds-social-logos__track {
840
+ animation: none;
841
+ }
842
+ .ds-social-carousel:has(.ds-social-card:hover) .ds-social-card:not(:hover),
843
+ .ds-social-grid:has(.ds-social-card:hover) .ds-social-card:not(:hover) {
844
+ opacity: 1;
845
+ filter: none;
846
+ transform: none;
847
+ transition: none;
848
+ }
849
+ }
850
+
851
+ /* src/components/LayoutPrimitives/LayoutPrimitives.css */
852
+ .ds-box {
853
+ display: block;
854
+ box-sizing: border-box;
855
+ min-width: 0;
856
+ }
857
+ .ds-stack {
858
+ display: flex;
859
+ flex-direction: column;
860
+ }
861
+ .ds-stack--horizontal {
862
+ flex-direction: row;
863
+ }
864
+ .ds-grid {
865
+ display: grid;
866
+ }
867
+ .ds-grid--cols-1 {
868
+ grid-template-columns: repeat(1, 1fr);
869
+ }
870
+ .ds-grid--cols-2 {
871
+ grid-template-columns: repeat(1, 1fr);
872
+ }
873
+ @media (min-width: 640px) {
874
+ .ds-grid--cols-2 {
875
+ grid-template-columns: repeat(2, 1fr);
876
+ }
877
+ }
878
+ .ds-grid--cols-3 {
879
+ grid-template-columns: repeat(1, 1fr);
880
+ }
881
+ @media (min-width: 640px) {
882
+ .ds-grid--cols-3 {
883
+ grid-template-columns: repeat(2, 1fr);
884
+ }
885
+ }
886
+ @media (min-width: 1024px) {
887
+ .ds-grid--cols-3 {
888
+ grid-template-columns: repeat(3, 1fr);
889
+ }
890
+ }
891
+ .ds-grid--cols-4 {
892
+ grid-template-columns: repeat(1, 1fr);
893
+ }
894
+ @media (min-width: 640px) {
895
+ .ds-grid--cols-4 {
896
+ grid-template-columns: repeat(2, 1fr);
897
+ }
898
+ }
899
+ @media (min-width: 1024px) {
900
+ .ds-grid--cols-4 {
901
+ grid-template-columns: repeat(4, 1fr);
902
+ }
903
+ }
904
+ .ds-grid--cols-5 {
905
+ grid-template-columns: repeat(1, 1fr);
906
+ }
907
+ @media (min-width: 640px) {
908
+ .ds-grid--cols-5 {
909
+ grid-template-columns: repeat(2, 1fr);
910
+ }
911
+ }
912
+ @media (min-width: 768px) {
913
+ .ds-grid--cols-5 {
914
+ grid-template-columns: repeat(3, 1fr);
915
+ }
916
+ }
917
+ @media (min-width: 1280px) {
918
+ .ds-grid--cols-5 {
919
+ grid-template-columns: repeat(5, 1fr);
920
+ }
921
+ }
922
+ .ds-grid--cols-6 {
923
+ grid-template-columns: repeat(1, 1fr);
924
+ }
925
+ @media (min-width: 640px) {
926
+ .ds-grid--cols-6 {
927
+ grid-template-columns: repeat(2, 1fr);
928
+ }
929
+ }
930
+ @media (min-width: 768px) {
931
+ .ds-grid--cols-6 {
932
+ grid-template-columns: repeat(3, 1fr);
933
+ }
934
+ }
935
+ @media (min-width: 1280px) {
936
+ .ds-grid--cols-6 {
937
+ grid-template-columns: repeat(6, 1fr);
938
+ }
939
+ }
940
+ @media (min-width: 1920px) {
941
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
942
+ grid-template-columns: repeat(4, 1fr);
943
+ }
944
+ }
945
+ @media (min-width: 2560px) {
946
+ .ds-grid--cols-2:not(.ds-grid--fixed) {
947
+ grid-template-columns: repeat(3, 1fr);
948
+ }
949
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
950
+ grid-template-columns: repeat(4, 1fr);
951
+ }
952
+ .ds-grid--cols-4:not(.ds-grid--fixed) {
953
+ grid-template-columns: repeat(5, 1fr);
954
+ }
955
+ .ds-grid--cols-5:not(.ds-grid--fixed) {
956
+ grid-template-columns: repeat(6, 1fr);
957
+ }
958
+ .ds-grid--cols-6:not(.ds-grid--fixed) {
959
+ grid-template-columns: repeat(8, 1fr);
960
+ }
961
+ }
962
+ @media (min-width: 3840px) {
963
+ .ds-grid--cols-2:not(.ds-grid--fixed) {
964
+ grid-template-columns: repeat(3, 1fr);
965
+ }
966
+ .ds-grid--cols-3:not(.ds-grid--fixed) {
967
+ grid-template-columns: repeat(5, 1fr);
968
+ }
969
+ .ds-grid--cols-4:not(.ds-grid--fixed) {
970
+ grid-template-columns: repeat(6, 1fr);
971
+ }
972
+ .ds-grid--cols-5:not(.ds-grid--fixed) {
973
+ grid-template-columns: repeat(8, 1fr);
974
+ }
975
+ .ds-grid--cols-6:not(.ds-grid--fixed) {
976
+ grid-template-columns: repeat(10, 1fr);
977
+ }
978
+ }
979
+ :root {
980
+ --container-default-max: 1200px;
981
+ }
982
+ @media (min-width: 1537px) {
983
+ :root {
984
+ --container-default-max: 1400px;
985
+ }
986
+ }
987
+ @media (min-width: 1921px) {
988
+ :root {
989
+ --container-default-max: 1600px;
990
+ }
991
+ }
992
+ @media (min-width: 2561px) {
993
+ :root {
994
+ --container-default-max: 1920px;
995
+ }
996
+ }
997
+ .ds-container {
998
+ width: 100%;
999
+ margin-left: auto;
1000
+ margin-right: auto;
1001
+ padding-left: var(--container-padding-x, var(--space-4));
1002
+ padding-right: var(--container-padding-x, var(--space-4));
1003
+ }
1004
+ @media (min-width: 1537px) {
1005
+ .ds-container {
1006
+ --container-padding-x: var(--space-6);
1007
+ }
1008
+ }
1009
+ @media (min-width: 2561px) {
1010
+ .ds-container {
1011
+ --container-padding-x: var(--space-8);
1012
+ }
1013
+ }
1014
+ .ds-section-block {
1015
+ position: relative;
1016
+ }
1017
+ .ds-section-block--none {
1018
+ padding-top: 0;
1019
+ padding-bottom: 0;
1020
+ }
1021
+ .ds-section-block--sm {
1022
+ padding-top: var(--space-8, 2rem);
1023
+ padding-bottom: var(--space-8, 2rem);
1024
+ }
1025
+ .ds-section-block--md {
1026
+ padding-top: var(--space-16, 4rem);
1027
+ padding-bottom: var(--space-16, 4rem);
1028
+ }
1029
+ @media (min-width: 768px) {
1030
+ .ds-section-block--md {
1031
+ padding-top: var(--space-24, 6rem);
1032
+ padding-bottom: var(--space-24, 6rem);
1033
+ }
1034
+ }
1035
+ .ds-section-block--lg {
1036
+ padding-top: var(--space-24, 6rem);
1037
+ padding-bottom: var(--space-24, 6rem);
1038
+ }
1039
+ @media (min-width: 768px) {
1040
+ .ds-section-block--lg {
1041
+ padding-top: var(--space-32, 8rem);
1042
+ padding-bottom: var(--space-32, 8rem);
1043
+ }
1044
+ }
1045
+ .ds-visually-hidden {
1046
+ position: absolute;
1047
+ width: 1px;
1048
+ height: 1px;
1049
+ padding: 0;
1050
+ margin: -1px;
1051
+ overflow: hidden;
1052
+ clip-path: inset(50%);
1053
+ white-space: nowrap;
1054
+ border-width: 0;
1055
+ }
1056
+
1057
+ /* src/components/SectionShell/SectionShell.css */
1058
+ .ds-section {
1059
+ position: relative;
1060
+ width: 100%;
1061
+ padding: var(--space-16) 0;
1062
+ box-sizing: border-box;
1063
+ }
1064
+ .ds-section--bg-default {
1065
+ background-color: transparent;
1066
+ }
1067
+ .ds-section--bg-muted {
1068
+ background-color: var(--surface-alpha-1);
1069
+ }
1070
+ .ds-section--bg-brand {
1071
+ background:
1072
+ radial-gradient(
1073
+ circle at 50% 0%,
1074
+ rgba(var(--brand-pink-rgb), 0.15),
1075
+ transparent 70%);
1076
+ }
1077
+ .ds-section--padding-none {
1078
+ padding: 0;
1079
+ }
1080
+ .ds-section--padding-sm {
1081
+ padding: var(--space-8) 0;
1082
+ }
1083
+ .ds-section--padding-md {
1084
+ padding: var(--space-16) 0;
1085
+ }
1086
+ .ds-section--padding-lg {
1087
+ padding: var(--space-20) 0;
1088
+ }
1089
+ .ds-section-header {
1090
+ margin-bottom: var(--space-12);
1091
+ display: flex;
1092
+ flex-direction: column;
1093
+ gap: var(--space-4);
1094
+ }
1095
+ .ds-section-header--center {
1096
+ text-align: center;
1097
+ align-items: center;
1098
+ }
1099
+ .ds-section-header--left {
1100
+ text-align: left;
1101
+ align-items: flex-start;
1102
+ }
1103
+ .ds-section-header--right {
1104
+ text-align: right;
1105
+ align-items: flex-end;
1106
+ }
1107
+ .ds-section-header__eyebrow {
1108
+ font-family: var(--font-family-mono);
1109
+ font-size: var(--font-size-xs);
1110
+ color: var(--brand-pink);
1111
+ text-transform: uppercase;
1112
+ letter-spacing: var(--letter-spacing-wide);
1113
+ font-weight: var(--font-weight-medium);
1114
+ }
1115
+ .ds-section-header__title {
1116
+ font-family: var(--font-family);
1117
+ font-size: var(--font-size-3xl);
1118
+ font-weight: var(--font-weight-bold);
1119
+ color: var(--text-primary);
1120
+ line-height: var(--line-height-tight);
1121
+ margin: 0;
1122
+ }
1123
+ .ds-section-header__subtitle {
1124
+ font-family: var(--font-family);
1125
+ font-size: var(--font-size-lg);
1126
+ color: var(--text-secondary);
1127
+ max-width: 65ch;
1128
+ line-height: var(--line-height-relaxed);
1129
+ margin: 0;
1130
+ }
1131
+ @media (max-width: 768px) {
1132
+ .ds-section {
1133
+ padding: var(--space-10) 0;
1134
+ }
1135
+ .ds-section--padding-lg {
1136
+ padding: var(--space-12) 0;
1137
+ }
1138
+ .ds-section-header__title {
1139
+ font-size: var(--font-size-2xl);
1140
+ }
1141
+ }
1142
+ @media (min-width: 1920px) {
1143
+ .ds-section {
1144
+ padding: var(--space-20) 0;
1145
+ }
1146
+ .ds-section--padding-sm {
1147
+ padding: var(--space-10) 0;
1148
+ }
1149
+ .ds-section--padding-md {
1150
+ padding: var(--space-20) 0;
1151
+ }
1152
+ .ds-section--padding-lg {
1153
+ padding: calc(var(--space-20) * 1.25) 0;
1154
+ }
1155
+ .ds-section-header {
1156
+ margin-bottom: var(--space-16);
1157
+ }
1158
+ .ds-section-header__title {
1159
+ font-size: var(--font-size-4xl);
1160
+ }
1161
+ }
1162
+ @media (min-width: 2560px) {
1163
+ .ds-section {
1164
+ padding: calc(var(--space-20) * 1.5) 0;
1165
+ }
1166
+ .ds-section--padding-lg {
1167
+ padding: calc(var(--space-20) * 1.75) 0;
1168
+ }
1169
+ .ds-section-header {
1170
+ margin-bottom: var(--space-20);
1171
+ gap: var(--space-6);
1172
+ }
1173
+ .ds-section-header__title {
1174
+ font-size: var(--font-size-5xl);
1175
+ }
1176
+ .ds-section-header__subtitle {
1177
+ font-size: var(--font-size-xl);
1178
+ }
1179
+ }
1180
+ @media (min-width: 3840px) {
1181
+ .ds-section {
1182
+ padding: calc(var(--space-20) * 2) 0;
1183
+ }
1184
+ .ds-section--padding-lg {
1185
+ padding: calc(var(--space-20) * 2.5) 0;
1186
+ }
1187
+ .ds-section-header__title {
1188
+ font-size: var(--font-size-6xl);
1189
+ }
1190
+ }
1191
+
1192
+ /* src/components/VideoLightbox/VideoLightbox.css */
1193
+ .ds-sr-only {
1194
+ position: absolute;
1195
+ width: 1px;
1196
+ height: 1px;
1197
+ padding: 0;
1198
+ margin: -1px;
1199
+ overflow: hidden;
1200
+ clip: rect(0, 0, 0, 0);
1201
+ white-space: nowrap;
1202
+ border: 0;
1203
+ }
1204
+ .ds-video-lightbox__trigger {
1205
+ all: unset;
1206
+ cursor: pointer;
1207
+ display: block;
1208
+ width: 100%;
1209
+ }
1210
+ .ds-video-lightbox__thumbnail-wrap {
1211
+ position: relative;
1212
+ width: 100%;
1213
+ aspect-ratio: 16 / 9;
1214
+ border-radius: var(--radius-card);
1215
+ overflow: hidden;
1216
+ background: var(--glass-base-active, rgba(0, 0, 0, 0.3));
1217
+ }
1218
+ .ds-video-lightbox__thumbnail {
1219
+ width: 100%;
1220
+ height: 100%;
1221
+ object-fit: cover;
1222
+ transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
1223
+ }
1224
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__thumbnail {
1225
+ transform: scale(1.05);
1226
+ }
1227
+ .ds-video-lightbox__placeholder {
1228
+ width: 100%;
1229
+ height: 100%;
1230
+ background:
1231
+ linear-gradient(
1232
+ 135deg,
1233
+ var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,
1234
+ var(--glass-base, rgba(0, 0, 0, 0.2)) 100%);
1235
+ }
1236
+ .ds-video-lightbox__overlay {
1237
+ position: absolute;
1238
+ inset: 0;
1239
+ display: flex;
1240
+ align-items: center;
1241
+ justify-content: center;
1242
+ background:
1243
+ linear-gradient(
1244
+ to top,
1245
+ rgba(0, 0, 0, 0.5) 0%,
1246
+ transparent 60%);
1247
+ transition: background 0.3s ease;
1248
+ }
1249
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__overlay {
1250
+ background:
1251
+ linear-gradient(
1252
+ to top,
1253
+ rgba(0, 0, 0, 0.3) 0%,
1254
+ transparent 60%);
1255
+ }
1256
+ .ds-video-lightbox__play-btn {
1257
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1258
+ }
1259
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__play-btn {
1260
+ transform: scale(1.1);
1261
+ }
1262
+ .ds-video-lightbox__play-bg {
1263
+ fill: rgba(0, 0, 0, 0.6);
1264
+ transition: fill 0.3s ease;
1265
+ }
1266
+ .ds-video-lightbox__trigger:hover .ds-video-lightbox__play-bg {
1267
+ fill: var(--brand-pink, #f97316);
1268
+ }
1269
+ .ds-video-lightbox__play-btn::after {
1270
+ content: "";
1271
+ position: absolute;
1272
+ inset: -8px;
1273
+ border-radius: 50%;
1274
+ border: 2px solid rgba(255, 255, 255, 0.3);
1275
+ animation: ds-lightbox-pulse 2s ease-out infinite;
1276
+ }
1277
+ @keyframes ds-lightbox-pulse {
1278
+ 0% {
1279
+ transform: scale(0.8);
1280
+ opacity: 1;
1281
+ }
1282
+ 100% {
1283
+ transform: scale(1.4);
1284
+ opacity: 0;
1285
+ }
1286
+ }
1287
+ .ds-video-lightbox__backdrop {
1288
+ position: fixed;
1289
+ inset: 0;
1290
+ background: rgba(0, 0, 0, 0.85);
1291
+ backdrop-filter: blur(8px);
1292
+ -webkit-backdrop-filter: blur(8px);
1293
+ z-index: 9998;
1294
+ animation: ds-lightbox-fade-in 0.25s ease-out;
1295
+ }
1296
+ .ds-video-lightbox__popup {
1297
+ position: fixed;
1298
+ inset: 0;
1299
+ display: flex;
1300
+ align-items: center;
1301
+ justify-content: center;
1302
+ padding: var(--space-6);
1303
+ z-index: 9999;
1304
+ animation: ds-lightbox-scale-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
1305
+ }
1306
+ .ds-video-lightbox__close {
1307
+ all: unset;
1308
+ position: absolute;
1309
+ top: var(--space-4);
1310
+ right: var(--space-4);
1311
+ width: 44px;
1312
+ height: 44px;
1313
+ display: flex;
1314
+ align-items: center;
1315
+ justify-content: center;
1316
+ color: var(--text-on-dark, white);
1317
+ opacity: 0.7;
1318
+ cursor: pointer;
1319
+ border-radius: 50%;
1320
+ background: rgba(255, 255, 255, 0.1);
1321
+ transition: opacity var(--transition-base), background var(--transition-base);
1322
+ z-index: 1;
1323
+ }
1324
+ .ds-video-lightbox__close:hover {
1325
+ opacity: 1;
1326
+ background: rgba(255, 255, 255, 0.2);
1327
+ }
1328
+ .ds-video-lightbox__close:focus-visible {
1329
+ outline: 2px solid var(--brand-pink, #f97316);
1330
+ outline-offset: 2px;
1331
+ }
1332
+ .ds-video-lightbox__iframe-wrap {
1333
+ width: 100%;
1334
+ max-width: 1200px;
1335
+ aspect-ratio: 16 / 9;
1336
+ border-radius: var(--radius-card, 12px);
1337
+ overflow: hidden;
1338
+ background: black;
1339
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
1340
+ }
1341
+ .ds-video-lightbox__iframe {
1342
+ width: 100%;
1343
+ height: 100%;
1344
+ border: none;
1345
+ }
1346
+ @keyframes ds-lightbox-fade-in {
1347
+ from {
1348
+ opacity: 0;
1349
+ }
1350
+ to {
1351
+ opacity: 1;
1352
+ }
1353
+ }
1354
+ @keyframes ds-lightbox-scale-in {
1355
+ from {
1356
+ opacity: 0;
1357
+ transform: scale(0.95);
1358
+ }
1359
+ to {
1360
+ opacity: 1;
1361
+ transform: scale(1);
1362
+ }
1363
+ }
1364
+ @media (prefers-reduced-motion: reduce) {
1365
+ .ds-video-lightbox__backdrop,
1366
+ .ds-video-lightbox__popup {
1367
+ animation: none;
1368
+ }
1369
+ .ds-video-lightbox__thumbnail {
1370
+ transition: none;
1371
+ }
1372
+ .ds-video-lightbox__play-btn::after {
1373
+ animation: none;
1374
+ }
1375
+ .ds-video-lightbox__play-btn {
1376
+ transition: none;
1377
+ }
1378
+ }
1379
+
1380
+ /* src/components/MetricCounter/MetricCounter.css */
1381
+ .ds-metric-counter {
1382
+ display: flex;
1383
+ flex-direction: column;
1384
+ align-items: center;
1385
+ justify-content: center;
1386
+ text-align: center;
1387
+ font-family: var(--font-family);
1388
+ }
1389
+ .ds-metric-counter__value-wrapper {
1390
+ display: flex;
1391
+ align-items: baseline;
1392
+ justify-content: center;
1393
+ color: var(--text-primary);
1394
+ line-height: var(--line-height-display);
1395
+ }
1396
+ .ds-metric-counter__prefix,
1397
+ .ds-metric-counter__suffix {
1398
+ font-size: var(--font-size-3xl);
1399
+ font-weight: var(--font-weight-bold);
1400
+ color: rgb(var(--accent-rgb));
1401
+ }
1402
+ .ds-metric-counter__value {
1403
+ font-size: var(--font-size-5xl);
1404
+ font-weight: var(--font-weight-bold);
1405
+ letter-spacing: var(--letter-spacing-display);
1406
+ font-variant-numeric: tabular-nums;
1407
+ }
1408
+ .ds-metric-counter__label {
1409
+ margin-top: var(--space-2);
1410
+ font-size: var(--font-size-base);
1411
+ color: var(--text-secondary);
1412
+ font-weight: var(--font-weight-medium);
1413
+ }
1414
+ @media (max-width: 640px) {
1415
+ .ds-metric-counter__prefix,
1416
+ .ds-metric-counter__suffix {
1417
+ font-size: var(--font-size-2xl);
1418
+ }
1419
+ .ds-metric-counter__value {
1420
+ font-size: var(--font-size-4xl);
1421
+ }
1422
+ }
1423
+ /*# sourceMappingURL=index.css.map */