@ersbeth/picokit 0.0.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 (175) hide show
  1. package/README.md +97 -0
  2. package/dist/components/index.d.ts +4 -0
  3. package/dist/components/index.d.ts.map +1 -0
  4. package/dist/components/layout/cluster.d.ts +6 -0
  5. package/dist/components/layout/cluster.d.ts.map +1 -0
  6. package/dist/components/layout/container.d.ts +6 -0
  7. package/dist/components/layout/container.d.ts.map +1 -0
  8. package/dist/components/layout/dual.d.ts +14 -0
  9. package/dist/components/layout/dual.d.ts.map +1 -0
  10. package/dist/components/layout/index.d.ts +5 -0
  11. package/dist/components/layout/index.d.ts.map +1 -0
  12. package/dist/components/layout/stack.d.ts +6 -0
  13. package/dist/components/layout/stack.d.ts.map +1 -0
  14. package/dist/components/marketing/footer.d.ts +40 -0
  15. package/dist/components/marketing/footer.d.ts.map +1 -0
  16. package/dist/components/marketing/index.d.ts +6 -0
  17. package/dist/components/marketing/index.d.ts.map +1 -0
  18. package/dist/components/marketing/navigation.d.ts +24 -0
  19. package/dist/components/marketing/navigation.d.ts.map +1 -0
  20. package/dist/components/marketing/page.d.ts +13 -0
  21. package/dist/components/marketing/page.d.ts.map +1 -0
  22. package/dist/components/marketing/section.d.ts +13 -0
  23. package/dist/components/marketing/section.d.ts.map +1 -0
  24. package/dist/components/marketing/text.d.ts +12 -0
  25. package/dist/components/marketing/text.d.ts.map +1 -0
  26. package/dist/components/mixin/alignMixin.d.ts +15 -0
  27. package/dist/components/mixin/alignMixin.d.ts.map +1 -0
  28. package/dist/components/mixin/gapMixin.d.ts +22 -0
  29. package/dist/components/mixin/gapMixin.d.ts.map +1 -0
  30. package/dist/components/mixin/heightMixin.d.ts +22 -0
  31. package/dist/components/mixin/heightMixin.d.ts.map +1 -0
  32. package/dist/components/mixin/index.d.ts +9 -0
  33. package/dist/components/mixin/index.d.ts.map +1 -0
  34. package/dist/components/mixin/paddingMixin.d.ts +99 -0
  35. package/dist/components/mixin/paddingMixin.d.ts.map +1 -0
  36. package/dist/components/mixin/panelMixin.d.ts +48 -0
  37. package/dist/components/mixin/panelMixin.d.ts.map +1 -0
  38. package/dist/components/mixin/styleMixin.d.ts +9 -0
  39. package/dist/components/mixin/styleMixin.d.ts.map +1 -0
  40. package/dist/components/mixin/textMixin.d.ts +66 -0
  41. package/dist/components/mixin/textMixin.d.ts.map +1 -0
  42. package/dist/components/mixin/widthMixin.d.ts +26 -0
  43. package/dist/components/mixin/widthMixin.d.ts.map +1 -0
  44. package/dist/components/ui/avatar.d.ts +9 -0
  45. package/dist/components/ui/avatar.d.ts.map +1 -0
  46. package/dist/components/ui/button.d.ts +29 -0
  47. package/dist/components/ui/button.d.ts.map +1 -0
  48. package/dist/components/ui/card.d.ts +10 -0
  49. package/dist/components/ui/card.d.ts.map +1 -0
  50. package/dist/components/ui/carousel.d.ts +17 -0
  51. package/dist/components/ui/carousel.d.ts.map +1 -0
  52. package/dist/components/ui/image.d.ts +24 -0
  53. package/dist/components/ui/image.d.ts.map +1 -0
  54. package/dist/components/ui/index.d.ts +6 -0
  55. package/dist/components/ui/index.d.ts.map +1 -0
  56. package/dist/components.css +1867 -0
  57. package/dist/components.d.ts +2 -0
  58. package/dist/components.d.ts.map +1 -0
  59. package/dist/components.jsx +1051 -0
  60. package/dist/media.css +39 -0
  61. package/dist/reset.css +40 -0
  62. package/dist/reset.d.ts +2 -0
  63. package/dist/reset.d.ts.map +1 -0
  64. package/dist/reset.js +1 -0
  65. package/dist/src/components/index.d.ts +4 -0
  66. package/dist/src/components/index.d.ts.map +1 -0
  67. package/dist/src/components/layout/cluster.d.ts +6 -0
  68. package/dist/src/components/layout/cluster.d.ts.map +1 -0
  69. package/dist/src/components/layout/container.d.ts +6 -0
  70. package/dist/src/components/layout/container.d.ts.map +1 -0
  71. package/dist/src/components/layout/dual.d.ts +14 -0
  72. package/dist/src/components/layout/dual.d.ts.map +1 -0
  73. package/dist/src/components/layout/index.d.ts +5 -0
  74. package/dist/src/components/layout/index.d.ts.map +1 -0
  75. package/dist/src/components/layout/stack.d.ts +6 -0
  76. package/dist/src/components/layout/stack.d.ts.map +1 -0
  77. package/dist/src/components/marketing/footer.d.ts +40 -0
  78. package/dist/src/components/marketing/footer.d.ts.map +1 -0
  79. package/dist/src/components/marketing/index.d.ts +6 -0
  80. package/dist/src/components/marketing/index.d.ts.map +1 -0
  81. package/dist/src/components/marketing/navigation.d.ts +24 -0
  82. package/dist/src/components/marketing/navigation.d.ts.map +1 -0
  83. package/dist/src/components/marketing/page.d.ts +13 -0
  84. package/dist/src/components/marketing/page.d.ts.map +1 -0
  85. package/dist/src/components/marketing/section.d.ts +13 -0
  86. package/dist/src/components/marketing/section.d.ts.map +1 -0
  87. package/dist/src/components/marketing/text.d.ts +12 -0
  88. package/dist/src/components/marketing/text.d.ts.map +1 -0
  89. package/dist/src/components/mixin/alignMixin.d.ts +15 -0
  90. package/dist/src/components/mixin/alignMixin.d.ts.map +1 -0
  91. package/dist/src/components/mixin/gapMixin.d.ts +22 -0
  92. package/dist/src/components/mixin/gapMixin.d.ts.map +1 -0
  93. package/dist/src/components/mixin/heightMixin.d.ts +22 -0
  94. package/dist/src/components/mixin/heightMixin.d.ts.map +1 -0
  95. package/dist/src/components/mixin/index.d.ts +9 -0
  96. package/dist/src/components/mixin/index.d.ts.map +1 -0
  97. package/dist/src/components/mixin/paddingMixin.d.ts +99 -0
  98. package/dist/src/components/mixin/paddingMixin.d.ts.map +1 -0
  99. package/dist/src/components/mixin/panelMixin.d.ts +48 -0
  100. package/dist/src/components/mixin/panelMixin.d.ts.map +1 -0
  101. package/dist/src/components/mixin/styleMixin.d.ts +9 -0
  102. package/dist/src/components/mixin/styleMixin.d.ts.map +1 -0
  103. package/dist/src/components/mixin/textMixin.d.ts +66 -0
  104. package/dist/src/components/mixin/textMixin.d.ts.map +1 -0
  105. package/dist/src/components/mixin/widthMixin.d.ts +26 -0
  106. package/dist/src/components/mixin/widthMixin.d.ts.map +1 -0
  107. package/dist/src/components/ui/avatar.d.ts +9 -0
  108. package/dist/src/components/ui/avatar.d.ts.map +1 -0
  109. package/dist/src/components/ui/button.d.ts +29 -0
  110. package/dist/src/components/ui/button.d.ts.map +1 -0
  111. package/dist/src/components/ui/card.d.ts +10 -0
  112. package/dist/src/components/ui/card.d.ts.map +1 -0
  113. package/dist/src/components/ui/carousel.d.ts +17 -0
  114. package/dist/src/components/ui/carousel.d.ts.map +1 -0
  115. package/dist/src/components/ui/image.d.ts +24 -0
  116. package/dist/src/components/ui/image.d.ts.map +1 -0
  117. package/dist/src/components/ui/index.d.ts +6 -0
  118. package/dist/src/components/ui/index.d.ts.map +1 -0
  119. package/dist/src/components.d.ts +2 -0
  120. package/dist/src/components.d.ts.map +1 -0
  121. package/dist/src/reset.d.ts +2 -0
  122. package/dist/src/reset.d.ts.map +1 -0
  123. package/dist/src/theme.d.ts +2 -0
  124. package/dist/src/theme.d.ts.map +1 -0
  125. package/dist/src/tokens.d.ts +2 -0
  126. package/dist/src/tokens.d.ts.map +1 -0
  127. package/dist/test/app.d.ts +2 -0
  128. package/dist/test/app.d.ts.map +1 -0
  129. package/dist/test/main.d.ts +5 -0
  130. package/dist/test/main.d.ts.map +1 -0
  131. package/dist/test/pages/examples/home.d.ts +2 -0
  132. package/dist/test/pages/examples/home.d.ts.map +1 -0
  133. package/dist/test/pages/examples/pageBlocks.d.ts +2 -0
  134. package/dist/test/pages/examples/pageBlocks.d.ts.map +1 -0
  135. package/dist/test/pages/examples/pageButtons.d.ts +2 -0
  136. package/dist/test/pages/examples/pageButtons.d.ts.map +1 -0
  137. package/dist/test/pages/examples/pageCards.d.ts +2 -0
  138. package/dist/test/pages/examples/pageCards.d.ts.map +1 -0
  139. package/dist/test/pages/examples/pageCarousel.d.ts +2 -0
  140. package/dist/test/pages/examples/pageCarousel.d.ts.map +1 -0
  141. package/dist/test/pages/examples/pageContainers.d.ts +2 -0
  142. package/dist/test/pages/examples/pageContainers.d.ts.map +1 -0
  143. package/dist/test/pages/examples/pageLists.d.ts +2 -0
  144. package/dist/test/pages/examples/pageLists.d.ts.map +1 -0
  145. package/dist/test/pages/examples/pagePalette.d.ts +2 -0
  146. package/dist/test/pages/examples/pagePalette.d.ts.map +1 -0
  147. package/dist/test/pages/examples/pageSections.d.ts +2 -0
  148. package/dist/test/pages/examples/pageSections.d.ts.map +1 -0
  149. package/dist/test/pages/examples/pageSplits.d.ts +2 -0
  150. package/dist/test/pages/examples/pageSplits.d.ts.map +1 -0
  151. package/dist/test/pages/examples/pageText.d.ts +2 -0
  152. package/dist/test/pages/examples/pageText.d.ts.map +1 -0
  153. package/dist/test/pages/examples/palettePreview.d.ts +4 -0
  154. package/dist/test/pages/examples/palettePreview.d.ts.map +1 -0
  155. package/dist/test/pages/examples/paletteSwatches.d.ts +11 -0
  156. package/dist/test/pages/examples/paletteSwatches.d.ts.map +1 -0
  157. package/dist/test/pages/pageFooter.d.ts +2 -0
  158. package/dist/test/pages/pageFooter.d.ts.map +1 -0
  159. package/dist/test/pages/pageHeader.d.ts +2 -0
  160. package/dist/test/pages/pageHeader.d.ts.map +1 -0
  161. package/dist/test/pages/pageLayout.d.ts +3 -0
  162. package/dist/test/pages/pageLayout.d.ts.map +1 -0
  163. package/dist/test/vite.config.dev.d.ts +3 -0
  164. package/dist/test/vite.config.dev.d.ts.map +1 -0
  165. package/dist/test/vite.config.preview.d.ts +3 -0
  166. package/dist/test/vite.config.preview.d.ts.map +1 -0
  167. package/dist/theme.css +175 -0
  168. package/dist/theme.d.ts +2 -0
  169. package/dist/theme.d.ts.map +1 -0
  170. package/dist/theme.js +1 -0
  171. package/dist/tokens.css +1256 -0
  172. package/dist/tokens.d.ts +2 -0
  173. package/dist/tokens.d.ts.map +1 -0
  174. package/dist/tokens.js +1 -0
  175. package/package.json +63 -0
@@ -0,0 +1,1867 @@
1
+ @layer mixins {
2
+ .align-mixin {
3
+ /* VARIABLES */
4
+
5
+ --align-items: var(--align-items-default, inherit);
6
+
7
+ /* PROPERTIES */
8
+
9
+ align-items: var(--align-items);
10
+ }
11
+ }
12
+ @layer utils {
13
+ .align-start {
14
+ --align-items: start;
15
+ }
16
+ .align-center {
17
+ --align-items: center;
18
+ }
19
+ .align-end {
20
+ --align-items: end;
21
+ }
22
+ .align-stretch {
23
+ --align-items: stretch;
24
+ }
25
+ }
26
+
27
+ @layer mixins {
28
+ .gap-mixin {
29
+ /* VARIABLES */
30
+
31
+ --gap: var(--gap-default, inherit);
32
+
33
+ /* PROPERTIES */
34
+
35
+ gap: var(--gap);
36
+ }
37
+ }
38
+
39
+ @layer utils {
40
+ .gap-none {
41
+ --gap: 0;
42
+ }
43
+ .gap-3xsmall {
44
+ --gap: var(--space-3xs);
45
+ }
46
+ .gap-2xsmall {
47
+ --gap: var(--space-2xs);
48
+ }
49
+ .gap-xsmall {
50
+ --gap: var(--space-xs);
51
+ }
52
+ .gap-small {
53
+ --gap: var(--space-s);
54
+ }
55
+ .gap-medium {
56
+ --gap: var(--space-m);
57
+ }
58
+ .gap-large {
59
+ --gap: var(--space-l);
60
+ }
61
+ .gap-xlarge {
62
+ --gap: var(--space-xl);
63
+ }
64
+ .gap-2xlarge {
65
+ --gap: var(--space-2xl);
66
+ }
67
+ .gap-3xlarge {
68
+ --gap: var(--space-3xl);
69
+ }
70
+ .gap-4xlarge {
71
+ --gap: var(--space-4xl);
72
+ }
73
+ }
74
+
75
+ @layer mixins {
76
+ .height-mixin {
77
+ /* VARIABLES */
78
+
79
+ --height: var(--height-default, inherit);
80
+ --min-height: var(--min-height-default, inherit);
81
+
82
+ /* PROPERTIES */
83
+
84
+ height: var(--height);
85
+ min-height: var(--min-height);
86
+ }
87
+ }
88
+
89
+ @layer utils {
90
+ /* HEIGHT */
91
+
92
+ .height-small {
93
+ --height: var(--height-s);
94
+ }
95
+ .height-medium {
96
+ --height: var(--height-m);
97
+ }
98
+ .height-large {
99
+ --height: var(--height-l);
100
+ }
101
+ .height-full {
102
+ --height: var(--height-full);
103
+ }
104
+
105
+ /* MIN HEIGHT */
106
+
107
+ .min-height-small {
108
+ --min-height: var(--height-s);
109
+ }
110
+ .min-height-medium {
111
+ --min-height: var(--height-m);
112
+ }
113
+ .min-height-large {
114
+ --min-height: var(--height-l);
115
+ }
116
+ .min-height-full {
117
+ --min-height: var(--height-full);
118
+ }
119
+ }
120
+
121
+ @layer components {
122
+ /* PADDING */
123
+
124
+ .padding-3xsmall {
125
+ padding: var(--space-dynamic-3xs);
126
+ }
127
+
128
+ .padding-2xsmall {
129
+ padding: var(--space-dynamic-2xs);
130
+ }
131
+
132
+ .padding-xsmall {
133
+ padding: var(--space-dynamic-xs);
134
+ }
135
+
136
+ .padding-small {
137
+ padding: var(--space-dynamic-s);
138
+ }
139
+
140
+ .padding-medium {
141
+ padding: var(--space-dynamic-m);
142
+ }
143
+
144
+ .padding-large {
145
+ padding: var(--space-dynamic-l);
146
+ }
147
+
148
+ .padding-xlarge {
149
+ padding: var(--space-dynamic-xl);
150
+ }
151
+
152
+ .padding-2xlarge {
153
+ padding: var(--space-dynamic-2xl);
154
+ }
155
+
156
+ .padding-3xlarge {
157
+ padding: var(--space-dynamic-3xl);
158
+ }
159
+
160
+ .padding-4xlarge {
161
+ padding: var(--space-dynamic-4xl);
162
+ }
163
+
164
+ /* PADDING BLOCK */
165
+
166
+ .padding-block-3xsmall {
167
+ padding-block: var(--space-dynamic-3xs);
168
+ }
169
+
170
+ .padding-block-2xsmall {
171
+ padding-block: var(--space-dynamic-2xs);
172
+ }
173
+
174
+ .padding-block-xsmall {
175
+ padding-block: var(--space-dynamic-xs);
176
+ }
177
+
178
+ .padding-block-small {
179
+ padding-block: var(--space-dynamic-s);
180
+ }
181
+
182
+ .padding-block-medium {
183
+ padding-block: var(--space-dynamic-m);
184
+ }
185
+
186
+ .padding-block-large {
187
+ padding-block: var(--space-dynamic-l);
188
+ }
189
+
190
+ .padding-block-xlarge {
191
+ padding-block: var(--space-dynamic-xl);
192
+ }
193
+
194
+ .padding-block-2xlarge {
195
+ padding-block: var(--space-dynamic-2xl);
196
+ }
197
+
198
+ .padding-block-3xlarge {
199
+ padding-block: var(--space-dynamic-3xl);
200
+ }
201
+
202
+ .padding-block-4xlarge {
203
+ padding-block: var(--space-dynamic-4xl);
204
+ }
205
+
206
+ /* PADDING INLINE */
207
+
208
+ .padding-inline-3xsmall {
209
+ padding-inline: var(--space-dynamic-3xs);
210
+ }
211
+
212
+ .padding-inline-2xsmall {
213
+ padding-inline: var(--space-dynamic-2xs);
214
+ }
215
+
216
+ .padding-inline-xsmall {
217
+ padding-inline: var(--space-dynamic-xs);
218
+ }
219
+
220
+ .padding-inline-small {
221
+ padding-inline: var(--space-dynamic-s);
222
+ }
223
+
224
+ .padding-inline-medium {
225
+ padding-inline: var(--space-dynamic-m);
226
+ }
227
+
228
+ .padding-inline-large {
229
+ padding-inline: var(--space-dynamic-l);
230
+ }
231
+
232
+ .padding-inline-xlarge {
233
+ padding-inline: var(--space-dynamic-xl);
234
+ }
235
+
236
+ .padding-inline-2xlarge {
237
+ padding-inline: var(--space-dynamic-2xl);
238
+ }
239
+
240
+ .padding-inline-3xlarge {
241
+ padding-inline: var(--space-dynamic-3xl);
242
+ }
243
+
244
+ .padding-inline-4xlarge {
245
+ padding-inline: var(--space-dynamic-4xl);
246
+ }
247
+
248
+ /* PADDING TOP */
249
+
250
+ .padding-top-3xsmall {
251
+ padding-top: var(--space-dynamic-3xs);
252
+ }
253
+
254
+ .padding-top-2xsmall {
255
+ padding-top: var(--space-dynamic-2xs);
256
+ }
257
+
258
+ .padding-top-xsmall {
259
+ padding-top: var(--space-dynamic-xs);
260
+ }
261
+
262
+ .padding-top-small {
263
+ padding-top: var(--space-dynamic-s);
264
+ }
265
+
266
+ .padding-top-medium {
267
+ padding-top: var(--space-dynamic-m);
268
+ }
269
+
270
+ .padding-top-large {
271
+ padding-top: var(--space-dynamic-l);
272
+ }
273
+
274
+ .padding-top-xlarge {
275
+ padding-top: var(--space-dynamic-xl);
276
+ }
277
+
278
+ .padding-top-2xlarge {
279
+ padding-top: var(--space-dynamic-2xl);
280
+ }
281
+
282
+ .padding-top-3xlarge {
283
+ padding-top: var(--space-dynamic-3xl);
284
+ }
285
+
286
+ .padding-top-4xlarge {
287
+ padding-top: var(--space-dynamic-4xl);
288
+ }
289
+
290
+ /* PADDING BOTTOM */
291
+
292
+ .padding-bottom-3xsmall {
293
+ padding-bottom: var(--space-dynamic-3xs);
294
+ }
295
+
296
+ .padding-bottom-2xsmall {
297
+ padding-bottom: var(--space-dynamic-2xs);
298
+ }
299
+
300
+ .padding-bottom-xsmall {
301
+ padding-bottom: var(--space-dynamic-xs);
302
+ }
303
+
304
+ .padding-bottom-small {
305
+ padding-bottom: var(--space-dynamic-s);
306
+ }
307
+
308
+ .padding-bottom-medium {
309
+ padding-bottom: var(--space-dynamic-m);
310
+ }
311
+
312
+ .padding-bottom-large {
313
+ padding-bottom: var(--space-dynamic-l);
314
+ }
315
+
316
+ .padding-bottom-xlarge {
317
+ padding-bottom: var(--space-dynamic-xl);
318
+ }
319
+
320
+ .padding-bottom-2xlarge {
321
+ padding-bottom: var(--space-dynamic-2xl);
322
+ }
323
+
324
+ .padding-bottom-3xlarge {
325
+ padding-bottom: var(--space-dynamic-3xl);
326
+ }
327
+
328
+ .padding-bottom-4xlarge {
329
+ padding-bottom: var(--space-dynamic-4xl);
330
+ }
331
+
332
+ /* PADDING LEFT */
333
+
334
+ .padding-left-3xsmall {
335
+ padding-left: var(--space-dynamic-3xs);
336
+ }
337
+
338
+ .padding-left-2xsmall {
339
+ padding-left: var(--space-dynamic-2xs);
340
+ }
341
+
342
+ .padding-left-xsmall {
343
+ padding-left: var(--space-dynamic-xs);
344
+ }
345
+
346
+ .padding-left-small {
347
+ padding-left: var(--space-dynamic-s);
348
+ }
349
+
350
+ .padding-left-medium {
351
+ padding-left: var(--space-dynamic-m);
352
+ }
353
+
354
+ .padding-left-large {
355
+ padding-left: var(--space-dynamic-l);
356
+ }
357
+
358
+ .padding-left-xlarge {
359
+ padding-left: var(--space-dynamic-xl);
360
+ }
361
+
362
+ .padding-left-2xlarge {
363
+ padding-left: var(--space-dynamic-2xl);
364
+ }
365
+
366
+ .padding-left-3xlarge {
367
+ padding-left: var(--space-dynamic-3xl);
368
+ }
369
+
370
+ .padding-left-4xlarge {
371
+ padding-left: var(--space-dynamic-4xl);
372
+ }
373
+
374
+ /* PADDING RIGHT */
375
+
376
+ .padding-right-3xsmall {
377
+ padding-right: var(--space-dynamic-3xs);
378
+ }
379
+
380
+ .padding-right-2xsmall {
381
+ padding-right: var(--space-dynamic-2xs);
382
+ }
383
+
384
+ .padding-right-xsmall {
385
+ padding-right: var(--space-dynamic-xs);
386
+ }
387
+
388
+ .padding-right-small {
389
+ padding-right: var(--space-dynamic-s);
390
+ }
391
+
392
+ .padding-right-medium {
393
+ padding-right: var(--space-dynamic-m);
394
+ }
395
+
396
+ .padding-right-large {
397
+ padding-right: var(--space-dynamic-l);
398
+ }
399
+
400
+ .padding-right-xlarge {
401
+ padding-right: var(--space-dynamic-xl);
402
+ }
403
+
404
+ .padding-right-2xlarge {
405
+ padding-right: var(--space-dynamic-2xl);
406
+ }
407
+
408
+ .padding-right-3xlarge {
409
+ padding-right: var(--space-dynamic-3xl);
410
+ }
411
+
412
+ .padding-right-4xlarge {
413
+ padding-right: var(--space-dynamic-4xl);
414
+ }
415
+ }
416
+
417
+ /* PANEL MIXIN */
418
+
419
+ @layer components {
420
+ /* VARIABLES */
421
+
422
+ .panel {
423
+ --panel-border-style: var(--border-style);
424
+ --panel-border-width: var(--border-width);
425
+ --panel-border-radius: var(--border-radius);
426
+
427
+ --panel-color-clear: var(--color-surface-clear);
428
+ --panel-color-transparent: "transparent";
429
+ }
430
+
431
+ /* CLASSES */
432
+
433
+ /* ---- Colors */
434
+
435
+ .panel-color-neutral {
436
+ --panel-color-subtle: var(--color-neutral-surface-subtle);
437
+ --panel-color-soft: var(--color-neutral-surface-soft);
438
+ --panel-color-muted: var(--color-neutral-surface-muted);
439
+ --panel-color-base: var(--color-neutral-surface-base);
440
+ --panel-color-strong: var(--color-neutral-surface-strong);
441
+ --panel-color-deep: var(--color-neutral-surface-deep);
442
+ --panel-color-deeper: var(--color-neutral-text-soft);
443
+ --panel-color-deepest: var(--color-neutral-text-muted);
444
+ }
445
+
446
+ .panel-color-brand {
447
+ --panel-color-subtle: var(--color-brand-surface-subtle);
448
+ --panel-color-soft: var(--color-brand-surface-soft);
449
+ --panel-color-muted: var(--color-brand-surface-muted);
450
+ --panel-color-base: var(--color-brand-surface-base);
451
+ --panel-color-strong: var(--color-brand-surface-strong);
452
+ --panel-color-deep: var(--color-brand-surface-deep);
453
+ --panel-color-deeper: var(--color-brand-text-soft);
454
+ --panel-color-deepest: var(--color-brand-text-muted);
455
+ }
456
+
457
+ .panel-color-accent {
458
+ --panel-color-subtle: var(--color-accent-surface-subtle);
459
+ --panel-color-soft: var(--color-accent-surface-soft);
460
+ --panel-color-muted: var(--color-accent-surface-muted);
461
+ --panel-color-base: var(--color-accent-surface-base);
462
+ --panel-color-strong: var(--color-accent-surface-strong);
463
+ --panel-color-deep: var(--color-accent-surface-deep);
464
+ --panel-color-deeper: var(--color-accent-text-soft);
465
+ --panel-color-deepest: var(--color-accent-text-muted);
466
+ }
467
+
468
+ .panel-color-danger {
469
+ --panel-color-subtle: var(--color-danger-surface-subtle);
470
+ --panel-color-soft: var(--color-danger-surface-soft);
471
+ --panel-color-muted: var(--color-danger-surface-muted);
472
+ --panel-color-base: var(--color-danger-surface-base);
473
+ --panel-color-strong: var(--color-danger-surface-strong);
474
+ --panel-color-deep: var(--color-danger-surface-deep);
475
+ --panel-color-deeper: var(--color-danger-text-soft);
476
+ --panel-color-deepest: var(--color-danger-text-muted);
477
+ }
478
+
479
+ /* ---- Intensities */
480
+
481
+ .panel-intensity-transparent {
482
+ background-color: transparent;
483
+ border-color: var(--panel-color-muted);
484
+ }
485
+
486
+ .panel-intensity-clear {
487
+ background-color: var(--panel-color-clear);
488
+ border-color: var(--panel-color-muted);
489
+ }
490
+
491
+ .panel-intensity-subtle {
492
+ background-color: var(--panel-color-subtle);
493
+ border-color: var(--panel-color-muted);
494
+ }
495
+
496
+ .panel-intensity-soft {
497
+ background-color: var(--panel-color-soft);
498
+ border-color: var(--panel-color-base);
499
+ }
500
+
501
+ .panel-intensity-muted {
502
+ background-color: var(--panel-color-muted);
503
+ border-color: var(--panel-color-strong);
504
+ }
505
+
506
+ .panel-intensity-base {
507
+ background-color: var(--panel-color-base);
508
+ border-color: var(--panel-color-deep);
509
+ }
510
+
511
+ .panel-intensity-strong {
512
+ background-color: var(--panel-color-strong);
513
+ border-color: var(--panel-color-deeper);
514
+ }
515
+
516
+ .panel-intensity-deep {
517
+ background-color: var(--panel-color-deep);
518
+ border-color: var(--panel-color-deepest);
519
+ }
520
+
521
+ /* ---- Borders */
522
+
523
+ .panel-border-all {
524
+ border-style: var(--panel-border-style);
525
+ border-width: var(--panel-border-width);
526
+ }
527
+
528
+ .panel-border-block {
529
+ border-block-style: var(--panel-border-style);
530
+ border-block-width: var(--panel-border-width);
531
+ }
532
+
533
+ .panel-border-inline {
534
+ border-inline-style: var(--panel-border-style);
535
+ border-inline-width: var(--panel-border-width);
536
+ }
537
+
538
+ .panel-border-top {
539
+ border-top-style: var(--panel-border-style);
540
+ border-top-width: var(--panel-border-width);
541
+ }
542
+
543
+ .panel-border-bottom {
544
+ border-bottom-style: var(--panel-border-style);
545
+ border-bottom-width: var(--panel-border-width);
546
+ }
547
+
548
+ .panel-border-left {
549
+ border-left-style: var(--panel-border-style);
550
+ border-left-width: var(--panel-border-width);
551
+ }
552
+
553
+ .panel-border-right {
554
+ border-right-style: var(--panel-border-style);
555
+ border-right-width: var(--panel-border-width);
556
+ }
557
+
558
+ /* ---- Radius */
559
+
560
+ .panel-radius-all {
561
+ border-radius: var(--panel-border-radius);
562
+ }
563
+
564
+ .panel-radius-top {
565
+ border-top-left-radius: var(--panel-border-radius);
566
+ border-top-right-radius: var(--panel-border-radius);
567
+ }
568
+
569
+ .panel-radius-bottom {
570
+ border-bottom-left-radius: var(--panel-border-radius);
571
+ border-bottom-right-radius: var(--panel-border-radius);
572
+ }
573
+
574
+ .panel-radius-left {
575
+ border-top-left-radius: var(--panel-border-radius);
576
+ border-bottom-left-radius: var(--panel-border-radius);
577
+ }
578
+
579
+ .panel-radius-right {
580
+ border-top-right-radius: var(--panel-border-radius);
581
+ border-bottom-right-radius: var(--panel-border-radius);
582
+ }
583
+
584
+ .panel-radius-top-left {
585
+ border-top-left-radius: var(--panel-border-radius);
586
+ }
587
+
588
+ .panel-radius-top-right {
589
+ border-top-right-radius: var(--panel-border-radius);
590
+ }
591
+
592
+ .panel-radius-bottom-left {
593
+ border-bottom-left-radius: var(--panel-border-radius);
594
+ }
595
+
596
+ .panel-radius-bottom-right {
597
+ border-bottom-right-radius: var(--panel-border-radius);
598
+ }
599
+ }
600
+
601
+ @layer mixins {
602
+ .text-mixin {
603
+ /* VARIABLES */
604
+
605
+ --text-color: var(--text-color-default, inherit);
606
+ --text-font-size: var(--text-font-size-default, inherit);
607
+ --text-font-weight: var(--text-font-weight-default, inherit);
608
+ --text-font-family: var(--text-font-family-default, inherit);
609
+ --text-line-height: var(--text-line-height-default, inherit);
610
+ --text-align: var(--text-align-default, inherit);
611
+
612
+ /* PROPERTIES */
613
+
614
+ color: var(--text-color);
615
+ font-size: var(--text-font-size);
616
+ font-weight: var(--text-font-weight);
617
+ font-family: var(--text-font-family);
618
+ line-height: var(--text-line-height);
619
+ text-align: var(--text-align);
620
+ }
621
+ }
622
+
623
+ @layer utils {
624
+ /* TEXT PALETTE */
625
+
626
+ .text-color-neutral {
627
+ --text-color-subtle: var(--color-neutral-text-subtle);
628
+ --text-color-soft: var(--color-neutral-text-soft);
629
+ --text-color-muted: var(--color-neutral-text-muted);
630
+ --text-color-base: var(--color-neutral-text-base);
631
+ --text-color-strong: var(--color-neutral-text-strong);
632
+ --text-color-deep: var(--color-neutral-text-deep);
633
+ --text-color-inverted: var(--color-text-inverted);
634
+ }
635
+
636
+ .text-color-brand {
637
+ --text-color-subtle: var(--color-brand-text-subtle);
638
+ --text-color-soft: var(--color-brand-text-soft);
639
+ --text-color-muted: var(--color-brand-text-muted);
640
+ --text-color-base: var(--color-brand-text-base);
641
+ --text-color-strong: var(--color-brand-text-strong);
642
+ --text-color-deep: var(--color-brand-text-deep);
643
+ --text-color-inverted: var(--color-text-inverted);
644
+ }
645
+
646
+ .text-color-accent {
647
+ --text-color-subtle: var(--color-accent-text-subtle);
648
+ --text-color-soft: var(--color-accent-text-soft);
649
+ --text-color-muted: var(--color-accent-text-muted);
650
+ --text-color-base: var(--color-accent-text-base);
651
+ --text-color-strong: var(--color-accent-text-strong);
652
+ --text-color-deep: var(--color-accent-text-deep);
653
+ --text-color-inverted: var(--color-text-inverted);
654
+ }
655
+
656
+ .text-color-danger {
657
+ --text-color-subtle: var(--color-danger-text-subtle);
658
+ --text-color-soft: var(--color-danger-text-soft);
659
+ --text-color-muted: var(--color-danger-text-muted);
660
+ --text-color-base: var(--color-danger-text-base);
661
+ --text-color-strong: var(--color-danger-text-strong);
662
+ --text-color-deep: var(--color-danger-text-deep);
663
+ --text-color-inverted: var(--color-text-inverted);
664
+ }
665
+
666
+ /* TEXT INTENSITY */
667
+
668
+ .text-intensity-subtle {
669
+ --text-color: var(--text-color-subtle);
670
+ }
671
+
672
+ .text-intensity-soft {
673
+ --text-color: var(--text-color-soft);
674
+ }
675
+
676
+ .text-intensity-muted {
677
+ --text-color: var(--text-color-muted);
678
+ }
679
+
680
+ .text-intensity-base {
681
+ --text-color: var(--text-color-base);
682
+ }
683
+
684
+ .text-intensity-strong {
685
+ --text-color: var(--text-color-strong);
686
+ }
687
+
688
+ .text-intensity-deep {
689
+ --text-color: var(--text-color-deep);
690
+ }
691
+
692
+ .text-intensity-inverted {
693
+ --text-color: var(--text-color-inverted);
694
+ }
695
+
696
+ /* TEXT ALIGN */
697
+
698
+ .text-align-left {
699
+ --text-align: start;
700
+ }
701
+
702
+ .text-align-center {
703
+ --text-align: center;
704
+ }
705
+
706
+ .text-align-right {
707
+ --text-align: end;
708
+ }
709
+
710
+ .text-align-stretch {
711
+ --text-align: justify;
712
+ }
713
+
714
+ /* TEXT FAMILY */
715
+
716
+ .text-family-body {
717
+ --text-font-family: var(--font-family-body);
718
+ }
719
+
720
+ .text-family-heading {
721
+ --text-font-family: var(--font-family-heading);
722
+ }
723
+
724
+ .text-family-code {
725
+ --text-font-family: var(--font-family-code);
726
+ }
727
+
728
+ .text-family-longform {
729
+ --text-font-family: var(--font-family-longform);
730
+ }
731
+
732
+ .text-family-tagline {
733
+ --text-font-family: var(--font-family-tagline);
734
+ }
735
+
736
+ .text-family-action {
737
+ --text-font-family: var(--font-family-action);
738
+ }
739
+
740
+ /* TEXT WEIGHT */
741
+
742
+ .text-weight-light {
743
+ --text-font-weight: var(--font-weight-light);
744
+ }
745
+
746
+ .text-weight-normal {
747
+ --text-font-weight: var(--font-weight-normal);
748
+ }
749
+
750
+ .text-weight-semibold {
751
+ --text-font-weight: var(--font-weight-semibold);
752
+ }
753
+
754
+ .text-weight-bold {
755
+ --text-font-weight: var(--font-weight-bold);
756
+ }
757
+
758
+ /* TEXT SIZE */
759
+
760
+ .text-size-2xsmall {
761
+ --text-font-size: var(--font-size-dynamic-2xs);
762
+ }
763
+
764
+ .text-size-xsmall {
765
+ --text-font-size: var(--font-size-dynamic-xs);
766
+ }
767
+
768
+ .text-size-small {
769
+ --text-font-size: var(--font-size-dynamic-s);
770
+ }
771
+
772
+ .text-size-medium {
773
+ --text-font-size: var(--font-size-dynamic-m);
774
+ }
775
+
776
+ .text-size-large {
777
+ --text-font-size: var(--font-size-dynamic-l);
778
+ }
779
+
780
+ .text-size-xlarge {
781
+ --text-font-size: var(--font-size-dynamic-xl);
782
+ }
783
+
784
+ .text-size-2xlarge {
785
+ --text-font-size: var(--font-size-dynamic-2xl);
786
+ }
787
+
788
+ .text-size-3xlarge {
789
+ --text-font-size: var(--font-size-dynamic-3xl);
790
+ }
791
+
792
+ .text-size-4xlarge {
793
+ --text-font-size: var(--font-size-dynamic-4xl);
794
+ }
795
+
796
+ /* TEXT LINE */
797
+
798
+ .text-line-condensed {
799
+ --text-line-height: var(--line-height-condensed);
800
+ }
801
+
802
+ .text-line-normal {
803
+ --text-line-height: var(--line-height-normal);
804
+ }
805
+
806
+ .text-line-expanded {
807
+ --text-line-height: var(--line-height-expanded);
808
+ }
809
+ }
810
+
811
+ @layer mixins {
812
+ .width-mixin {
813
+ /* VARIABLES */
814
+
815
+ --width: var(--width-default, inherit);
816
+ --max-width: var(--max-width-default, inherit);
817
+
818
+ /* PROPERTIES */
819
+
820
+ width: var(--width);
821
+ max-width: var(--max-width);
822
+ }
823
+ }
824
+
825
+ @layer utils {
826
+ /* WIDTH */
827
+
828
+ .width-xsmall {
829
+ --width: var(--width-xs);
830
+ }
831
+ .width-small {
832
+ --width: var(--width-s);
833
+ }
834
+ .width-medium {
835
+ --width: var(--width-m);
836
+ }
837
+ .width-large {
838
+ --width: var(--width-l);
839
+ }
840
+ .width-xlarge {
841
+ --width: var(--width-xl);
842
+ }
843
+ .width-2xlarge {
844
+ --width: var(--width-2xl);
845
+ }
846
+
847
+ /* MAX WIDTH */
848
+
849
+ .max-width-xsmall {
850
+ --max-width: var(--width-xs);
851
+ }
852
+ .max-width-small {
853
+ --max-width: var(--width-s);
854
+ }
855
+ .max-width-medium {
856
+ --max-width: var(--width-m);
857
+ }
858
+ .max-width-large {
859
+ --max-width: var(--width-l);
860
+ }
861
+ .max-width-xlarge {
862
+ --max-width: var(--width-xl);
863
+ }
864
+ .max-width-2xlarge {
865
+ --max-width: var(--width-2xl);
866
+ }
867
+ }
868
+
869
+ @layer components {
870
+ /* CLUSTER */
871
+
872
+ .cluster {
873
+ display: flex;
874
+ flex-wrap: wrap;
875
+ justify-content: center;
876
+
877
+ /* ALIGN MIXIN */
878
+ --align-items-default: stretch;
879
+
880
+ /* GAP MIXIN */
881
+ --gap-default: var(--space-m);
882
+
883
+ /* MIN HEIGHT MIXIN */
884
+ --min-height-default: none;
885
+
886
+ /* WIDTH MIXIN */
887
+ --width-default: none;
888
+ --max-width-default: none;
889
+
890
+ /* TEXT MIXIN */
891
+ --text-align-default: left;
892
+ }
893
+ }
894
+
895
+ @layer components {
896
+ /* CLASSES */
897
+
898
+ .container {
899
+ display: grid;
900
+ place-items: center;
901
+
902
+ /* MIN HEIGHT MIXIN */
903
+ --min-height-default: none;
904
+
905
+ /* WIDTH MIXIN */
906
+ --width-default: none;
907
+ --max-width-default: none;
908
+
909
+ /* TEXT MIXIN */
910
+ --text-align-default: left;
911
+ }
912
+ }
913
+
914
+ /* MEDIA OS */
915
+
916
+ /* MEDIA ORIENTATION */
917
+
918
+ /* MEDIA WIDTH */
919
+
920
+ @layer components {
921
+ /* VARS */
922
+
923
+ .dual {
924
+ --dual-split-left: 45%;
925
+ --dual-split-middle: 50%;
926
+ --dual-split-right: 55%;
927
+ }
928
+
929
+ /* CLASSES */
930
+
931
+ .dual {
932
+ display: grid;
933
+ grid-template-columns: 1fr;
934
+ place-items: stretch;
935
+ }
936
+
937
+ @media (width >= 768px) {
938
+
939
+ .dual {
940
+ grid-template-columns: 1fr 1fr;
941
+ }
942
+ }
943
+
944
+ @media (width >= 1024px) {
945
+ .dual.dual-split-left {
946
+ grid-template-columns: var(--dual-split-left) 1fr;
947
+ }
948
+ .dual.dual-split-middle {
949
+ grid-template-columns: var(--dual-split-middle) 1fr;
950
+ }
951
+ .dual.dual-split-right {
952
+ grid-template-columns: var(--dual-split-right) 1fr;
953
+ }
954
+ }
955
+ }
956
+
957
+ /* MEDIA OS */
958
+
959
+ /* MEDIA ORIENTATION */
960
+
961
+ /* MEDIA WIDTH */
962
+
963
+ @layer components {
964
+ /* CLASSES */
965
+
966
+ .stack {
967
+ display: flex;
968
+ flex-direction: column;
969
+
970
+ /* GAP MIXIN */
971
+ --gap-default: var(--space-m);
972
+
973
+ /* ALIGN MIXIN */
974
+ --align-items-default: left;
975
+
976
+ /* TEXT MIXIN */
977
+ --text-align-default: left;
978
+
979
+ /* MIN HEIGHT MIXIN */
980
+ --min-height-default: none;
981
+
982
+ /* WIDTH MIXIN */
983
+ --width-default: none;
984
+ --max-width-default: none;
985
+ }
986
+ }
987
+
988
+ @layer components {
989
+ /* VARIABLES */
990
+ .footer {
991
+ --footer-contact-max-width: 400px;
992
+ --footer-map-max-width: 400px;
993
+ --footer-title-font-family: var(--font-family-transitional);
994
+ }
995
+
996
+ /* CLASSES */
997
+ .footer .footer-blocks {
998
+ display: flex;
999
+ flex-wrap: wrap;
1000
+ justify-content: center;
1001
+ gap: var(--space-4xl);
1002
+ }
1003
+
1004
+ @media (max-width: 768px) {
1005
+ .footer .footer-blocks {
1006
+ justify-content: start;
1007
+ }
1008
+ }
1009
+
1010
+ :is(.footer .footer-blocks) .footer-title {
1011
+ font-family: var(--footer-title-font-family);
1012
+ font-weight: var(--font-weight-bold);
1013
+ font-size: var(--font-size-l);
1014
+ margin-bottom: var(--space-l);
1015
+ color: var(--color-neutral-text-strong);
1016
+ }
1017
+
1018
+ :is(.footer .footer-blocks) .footer-description {
1019
+ font-weight: var(--font-weight-normal);
1020
+ color: var(--color-neutral-text-muted);
1021
+ margin-bottom: var(--space-m);
1022
+ line-height: var(--line-height-condensed);
1023
+ }
1024
+
1025
+ :is(.footer .footer-blocks) .footer-items {
1026
+ display: flex;
1027
+ flex-direction: column;
1028
+ gap: var(--space-xs);
1029
+ }
1030
+
1031
+ :is(.footer .footer-blocks) .footer-contact {
1032
+ max-width: var(--footer-contact-max-width);
1033
+ }
1034
+ :is(:is(.footer .footer-blocks) .footer-contact) div {
1035
+ display: grid;
1036
+ grid-template-columns: auto 1fr;
1037
+ align-items: center;
1038
+ gap: var(--space-s);
1039
+ }
1040
+
1041
+ :is(:is(:is(.footer .footer-blocks) .footer-contact) div) svg {
1042
+ color: var(--color-brand-text-soft);
1043
+ }
1044
+
1045
+ :is(.footer .footer-blocks) .footer-map {
1046
+ max-width: var(--footer-map-max-width);
1047
+ }
1048
+
1049
+ :is(.footer .footer-blocks) iframe {
1050
+ border-radius: var(--border-radius);
1051
+ }
1052
+
1053
+ .footer .footer-copyright {
1054
+ color: var(--color-neutral-text-soft);
1055
+ font-size: var(--font-size-s);
1056
+ }
1057
+ }
1058
+
1059
+ /* NAVIGATION */
1060
+
1061
+ /* MEDIA OS */
1062
+
1063
+ /* MEDIA ORIENTATION */
1064
+
1065
+ /* MEDIA WIDTH */
1066
+
1067
+ .navigation {
1068
+ display: contents;
1069
+ }
1070
+
1071
+ .navigation .navigation-bar {
1072
+ position: relative;
1073
+ padding-inline: var(--space-xl);
1074
+
1075
+ display: flex;
1076
+ align-items: center;
1077
+ justify-content: space-between;
1078
+
1079
+ backdrop-filter: blur(var(--space-xs));
1080
+ background-color: rgb(from var(--color-neutral-surface-subtle) r g b / 0.8);
1081
+ color: var(--color-neutral-text-base);
1082
+ }
1083
+
1084
+ @media (width < 768px) {
1085
+
1086
+ .navigation .navigation-bar {
1087
+ padding-inline: var(--space-m);
1088
+ }
1089
+ }
1090
+
1091
+ :is(.navigation .navigation-bar) .navigation-bar-brand {
1092
+ font-size: var(--font-size-l);
1093
+ text-decoration: none;
1094
+ color: var(--color-neutral-text-base);
1095
+ }
1096
+
1097
+ :is(:is(.navigation .navigation-bar) .navigation-bar-brand):visited {
1098
+ color: inherit;
1099
+ }
1100
+
1101
+ :is(.navigation .navigation-bar) .navigation-bar-menu {
1102
+ position: absolute;
1103
+ top: 50%;
1104
+ left: 50%;
1105
+ transform: translate(-50%, -50%);
1106
+ height: 100%;
1107
+
1108
+ display: flex;
1109
+ align-items: center;
1110
+ gap: var(--space-xs);
1111
+ }
1112
+
1113
+ @media (width < 768px) {
1114
+
1115
+ :is(.navigation .navigation-bar) .navigation-bar-menu {
1116
+ display: none;
1117
+ }
1118
+ }
1119
+
1120
+ :is(:is(.navigation .navigation-bar) .navigation-bar-menu) .navigation-bar-menu-link {
1121
+ color: var(--color-neutral-text-soft);
1122
+ padding-inline: var(--space-s);
1123
+ padding-block: var(--space-xs);
1124
+ border-radius: var(--border-radius);
1125
+ }
1126
+
1127
+ :is(:is(:is(.navigation .navigation-bar) .navigation-bar-menu) .navigation-bar-menu-link):visited {
1128
+ color: var(--color-neutral-text-soft);
1129
+ }
1130
+
1131
+ :is(:is(:is(.navigation .navigation-bar) .navigation-bar-menu) .navigation-bar-menu-link):hover {
1132
+ color: var(--color-neutral-text-muted);
1133
+ background-color: var(--color-neutral-surface-soft);
1134
+ }
1135
+
1136
+ .current:is(:is(:is(.navigation .navigation-bar) .navigation-bar-menu) .navigation-bar-menu-link) {
1137
+ color: var(--color-brand-text-muted);
1138
+ background-color: var(--color-brand-surface-soft);
1139
+ }
1140
+
1141
+ :is(.navigation .navigation-bar) .navigation-bar-cta {
1142
+ display: flex;
1143
+ align-items: center;
1144
+ gap: var(--space-m);
1145
+ }
1146
+
1147
+ @media (width < 768px) {
1148
+
1149
+ :is(.navigation .navigation-bar) .navigation-bar-cta {
1150
+ display: none;
1151
+ }
1152
+ }
1153
+
1154
+ :is(:is(.navigation .navigation-bar) .navigation-bar-cta) .navigation-bar-cta-link {
1155
+ display: contents;
1156
+ }
1157
+
1158
+ :is(.navigation .navigation-bar) .navigation-sheet-trigger {
1159
+ display: none;
1160
+ }
1161
+
1162
+ @media (width < 768px) {
1163
+
1164
+ :is(.navigation .navigation-bar) .navigation-sheet-trigger {
1165
+ color: var(--color-neutral-text-base);
1166
+ cursor: pointer;
1167
+ padding: var(--space-xs);
1168
+ border-radius: var(--border-radius);
1169
+ display: grid;
1170
+ place-items: center;
1171
+
1172
+ /* biome-ignore lint/style/noDescendingSpecificity: false positive */
1173
+ }
1174
+ :is(:is(.navigation .navigation-bar) .navigation-sheet-trigger):hover {
1175
+ background-color: var(--color-neutral-surface-muted);
1176
+ }
1177
+ }
1178
+
1179
+ .navigation-sheet-portal {
1180
+ position: fixed;
1181
+ inset: 0;
1182
+ z-index: var(--layer-5);
1183
+ }
1184
+
1185
+ .navigation-sheet-portal .navigation-sheet-overlay {
1186
+ position: absolute;
1187
+ inset: 0;
1188
+ background-color: rgb(0 0 0 / 0.2);
1189
+ animation: overlayHide 250ms ease 100ms forwards;
1190
+ }
1191
+
1192
+ [data-expanded]:is(.navigation-sheet-portal .navigation-sheet-overlay) {
1193
+ animation: overlayShow 250ms ease;
1194
+ }
1195
+
1196
+ .navigation-sheet-portal .navigation-sheet-content {
1197
+ position: absolute;
1198
+ top: 0;
1199
+ left: 50%;
1200
+ right: 0;
1201
+ bottom: 0;
1202
+ background-color: var(--color-neutral-surface-subtle);
1203
+ box-shadow:
1204
+ 0 10px 15px -3px rgb(0 0 0 / 0.1),
1205
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
1206
+ animation: contentHide 300ms ease-in forwards;
1207
+
1208
+ padding: var(--space-xl);
1209
+ overflow: scroll;
1210
+ }
1211
+
1212
+ @media (width < 480px) {
1213
+
1214
+ .navigation-sheet-portal .navigation-sheet-content {
1215
+ left: 0;
1216
+ }
1217
+ }
1218
+
1219
+ [data-expanded]:is(.navigation-sheet-portal .navigation-sheet-content) {
1220
+ animation: contentShow 300ms ease-out;
1221
+ }
1222
+
1223
+ :is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-header {
1224
+ display: grid;
1225
+ grid-template-columns: 1fr auto;
1226
+ place-items: center start;
1227
+ margin-bottom: var(--space-l);
1228
+ }
1229
+
1230
+ :is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-header) .navigation-sheet-close {
1231
+ color: var(--color-neutral-text-base);
1232
+ cursor: pointer;
1233
+ padding: var(--space-2xs);
1234
+ border-radius: var(--border-radius);
1235
+ display: grid;
1236
+ place-items: center;
1237
+ }
1238
+
1239
+ :is(:is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-header) .navigation-sheet-close):hover {
1240
+ background-color: var(--color-neutral-surface-muted);
1241
+ }
1242
+
1243
+ :is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-menu {
1244
+ display: flex;
1245
+ flex-direction: column;
1246
+ margin-bottom: var(--space-l);
1247
+ background: var(--color-surface);
1248
+ border: var(--border-width-s) solid var(--color-neutral-surface-muted);
1249
+ border-radius: var(--border-radius);
1250
+ overflow: hidden;
1251
+ box-shadow: var(--shadow-m);
1252
+ }
1253
+
1254
+ :is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-menu) .navigation-sheet-menu-link {
1255
+ color: var(--color-neutral-text-soft);
1256
+ padding-inline: var(--space-m);
1257
+ padding-block: var(--space-s);
1258
+ box-sizing: border-box;
1259
+ }
1260
+
1261
+ :is(:is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-menu) .navigation-sheet-menu-link):visited {
1262
+ color: var(--color-neutral-text-soft);
1263
+ }
1264
+
1265
+ :is(:is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-menu) .navigation-sheet-menu-link):hover {
1266
+ color: var(--color-neutral-text-muted);
1267
+ background-color: var(--color-neutral-surface-soft);
1268
+ }
1269
+
1270
+ .current:is(:is(:is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-menu) .navigation-sheet-menu-link) {
1271
+ color: var(--color-brand-text-muted);
1272
+ background-color: var(--color-brand-surface-soft);
1273
+ }
1274
+
1275
+ :is(.navigation-sheet-portal .navigation-sheet-content) .navigation-sheet-cta {
1276
+ display: flex;
1277
+ flex-direction: column;
1278
+ align-items: stretch;
1279
+ gap: var(--space-s);
1280
+ margin-bottom: var(--space-l);
1281
+ }
1282
+
1283
+ @keyframes overlayShow {
1284
+ from {
1285
+ opacity: 0;
1286
+ }
1287
+ to {
1288
+ opacity: 1;
1289
+ }
1290
+ }
1291
+
1292
+ @keyframes overlayHide {
1293
+ from {
1294
+ opacity: 1;
1295
+ }
1296
+ to {
1297
+ opacity: 0;
1298
+ }
1299
+ }
1300
+
1301
+ @keyframes contentShow {
1302
+ from {
1303
+ opacity: 0;
1304
+ transform: translateX(100%);
1305
+ }
1306
+ to {
1307
+ opacity: 1;
1308
+ }
1309
+ }
1310
+
1311
+ @keyframes contentHide {
1312
+ from {
1313
+ opacity: 1;
1314
+ }
1315
+ to {
1316
+ opacity: 0;
1317
+ transform: translateX(100%);
1318
+ }
1319
+ }
1320
+
1321
+ @layer components {
1322
+ /* VARS */
1323
+
1324
+ .button {
1325
+ --button-border-style: var(--border-style);
1326
+ --button-border-width: var(--border-width);
1327
+ --button-border-radius: var(--border-radius);
1328
+ --button-font-family: var(--font-family-body);
1329
+ --button-font-weight: var(--font-weight-semibold);
1330
+
1331
+ --button-font-size: var(--font-size-s);
1332
+ --button-padding-inline: var(--space-m);
1333
+ --button-padding-block: var(--space-xs);
1334
+ --button-gap: var(--space-xs);
1335
+ }
1336
+
1337
+ .button.button-size-small {
1338
+ --button-font-size: var(--font-size-s);
1339
+ --button-padding-inline: var(--space-m);
1340
+ --button-padding-block: var(--space-xs);
1341
+ --button-gap: var(--space-xs);
1342
+ }
1343
+
1344
+ .button.button-size-medium {
1345
+ --button-font-size: var(--font-size-m);
1346
+ --button-padding-inline: var(--space-l);
1347
+ --button-padding-block: var(--space-s);
1348
+ --button-gap: var(--space-s);
1349
+ }
1350
+
1351
+ .button.button-size-large {
1352
+ --button-font-size: var(--font-size-l);
1353
+ --button-padding-inline: var(--space-xl);
1354
+ --button-padding-block: var(--space-m);
1355
+ --button-gap: var(--space-m);
1356
+ }
1357
+
1358
+ /* CLASSES */
1359
+
1360
+ .button {
1361
+ position: relative;
1362
+ display: inline-flex;
1363
+ align-items: center;
1364
+ justify-content: center;
1365
+ white-space: nowrap;
1366
+ cursor: pointer;
1367
+ user-select: none;
1368
+ transition: all 200ms;
1369
+
1370
+ font-family: var(--button-font-family);
1371
+ padding-inline: var(--button-padding-inline);
1372
+ padding-block: var(--button-padding-block);
1373
+ gap: var(--button-gap);
1374
+ border-radius: var(--button-border-radius);
1375
+ font-size: var(--button-font-size);
1376
+ font-weight: var(--button-font-weight);
1377
+ }
1378
+
1379
+ .button svg {
1380
+ pointer-events: none;
1381
+ width: 1em;
1382
+ height: 1em;
1383
+ flex-shrink: 0;
1384
+ }
1385
+
1386
+ .button.button-variant-solid {
1387
+ color: var(--button-solid-text);
1388
+ background-color: var(--button-solid-background);
1389
+ }
1390
+
1391
+ .button.button-variant-solid:hover {
1392
+ background-color: var(--button-solid-background-hover);
1393
+ }
1394
+
1395
+ .button.button-variant-solid:active {
1396
+ background-color: var(--button-solid-background-active);
1397
+ }
1398
+
1399
+ .button.button-variant-solid.button-color-neutral {
1400
+ --button-solid-text: var(--color-text-inverted);
1401
+ --button-solid-background: var(--color-neutral-surface-deep);
1402
+ --button-solid-background-hover: var(--color-neutral-text-soft);
1403
+ --button-solid-background-active: var(--color-neutral-text-muted);
1404
+ }
1405
+
1406
+ .button.button-variant-solid.button-color-brand {
1407
+ --button-solid-text: var(--color-text-inverted);
1408
+ --button-solid-background: var(--color-brand-surface-deep);
1409
+ --button-solid-background-hover: var(--color-brand-text-soft);
1410
+ --button-solid-background-active: var(--color-brand-text-muted);
1411
+ }
1412
+
1413
+ .button.button-variant-solid.button-color-accent {
1414
+ --button-solid-text: var(--color-text-inverted);
1415
+ --button-solid-background: var(--color-accent-surface-deep);
1416
+ --button-solid-background-hover: var(--color-accent-text-soft);
1417
+ --button-solid-background-active: var(--color-accent-text-muted);
1418
+ }
1419
+
1420
+ .button.button-variant-solid.button-color-danger {
1421
+ --button-solid-text: var(--color-text-inverted);
1422
+ --button-solid-background: var(--color-danger-surface-deep);
1423
+ --button-solid-background-hover: var(--color-danger-text-soft);
1424
+ --button-solid-background-active: var(--color-danger-text-muted);
1425
+ }
1426
+
1427
+ .button.button-variant-default {
1428
+ color: var(--button-default-text);
1429
+ background-color: var(--button-default-background);
1430
+ border: var(--button-border-style) var(--button-border-width) var(--button-default-border);
1431
+ }
1432
+
1433
+ .button.button-variant-default:hover {
1434
+ background-color: var(--button-default-background-hover);
1435
+ }
1436
+
1437
+ .button.button-variant-default:active {
1438
+ background-color: var(--button-default-background-active);
1439
+ }
1440
+
1441
+ .button.button-variant-default.button-color-neutral {
1442
+ --button-default-text: var(--color-neutral-text-base);
1443
+ --button-default-background: var(--color-neutral-surface-soft);
1444
+ --button-default-background-hover: var(--color-neutral-surface-muted);
1445
+ --button-default-background-active: var(--color-neutral-surface-base);
1446
+ --button-default-border: var(--color-neutral-surface-strong);
1447
+ }
1448
+
1449
+ .button.button-variant-default.button-color-brand {
1450
+ --button-default-text: var(--color-brand-text-base);
1451
+ --button-default-background: var(--color-brand-surface-soft);
1452
+ --button-default-background-hover: var(--color-brand-surface-muted);
1453
+ --button-default-background-active: var(--color-brand-surface-base);
1454
+ --button-default-border: var(--color-brand-surface-strong);
1455
+ }
1456
+
1457
+ .button.button-variant-default.button-color-accent {
1458
+ --button-default-text: var(--color-accent-text-base);
1459
+ --button-default-background: var(--color-accent-surface-soft);
1460
+ --button-default-background-hover: var(--color-accent-surface-muted);
1461
+ --button-default-background-active: var(--color-accent-surface-base);
1462
+ --button-default-border: var(--color-accent-surface-strong);
1463
+ }
1464
+
1465
+ .button.button-variant-default.button-color-danger {
1466
+ --button-default-text: var(--color-danger-text-base);
1467
+ --button-default-background: var(--color-danger-surface-soft);
1468
+ --button-default-background-hover: var(--color-danger-surface-muted);
1469
+ --button-default-background-active: var(--color-danger-surface-base);
1470
+ --button-default-border: var(--color-danger-surface-strong);
1471
+ }
1472
+
1473
+ .button.button-variant-outline {
1474
+ color: var(--button-outline-text);
1475
+ border: var(--button-border-style) var(--button-border-width) var(--button-outline-border);
1476
+ }
1477
+
1478
+ .button.button-variant-outline:hover {
1479
+ background-color: var(--button-outline-background-hover);
1480
+ }
1481
+
1482
+ .button.button-variant-outline:active {
1483
+ background-color: var(--button-outline-background-active);
1484
+ }
1485
+
1486
+ .button.button-variant-outline.button-color-neutral {
1487
+ --button-outline-text: var(--color-neutral-text-base);
1488
+ --button-outline-background-hover: var(--color-neutral-surface-soft);
1489
+ --button-outline-background-active: var(--color-neutral-surface-muted);
1490
+ --button-outline-border: var(--color-neutral-surface-strong);
1491
+ }
1492
+
1493
+ .button.button-variant-outline.button-color-brand {
1494
+ --button-outline-text: var(--color-brand-text-base);
1495
+ --button-outline-background-hover: var(--color-brand-surface-soft);
1496
+ --button-outline-background-active: var(--color-brand-surface-muted);
1497
+ --button-outline-border: var(--color-brand-surface-strong);
1498
+ }
1499
+
1500
+ .button.button-variant-outline.button-color-accent {
1501
+ --button-outline-text: var(--color-accent-text-base);
1502
+ --button-outline-background-hover: var(--color-accent-surface-soft);
1503
+ --button-outline-background-active: var(--color-accent-surface-muted);
1504
+ --button-outline-border: var(--color-accent-surface-strong);
1505
+ }
1506
+
1507
+ .button.button-variant-outline.button-color-danger {
1508
+ --button-outline-text: var(--color-danger-text-base);
1509
+ --button-outline-background-hover: var(--color-danger-surface-soft);
1510
+ --button-outline-background-active: var(--color-danger-surface-muted);
1511
+ --button-outline-border: var(--color-danger-surface-strong);
1512
+ }
1513
+
1514
+ .button.button-variant-ghost {
1515
+ color: var(--button-ghost-text);
1516
+ }
1517
+
1518
+ .button.button-variant-ghost:hover {
1519
+ background-color: var(--button-ghost-background-hover);
1520
+ }
1521
+
1522
+ .button.button-variant-ghost:active {
1523
+ background-color: var(--button-ghost-background-active);
1524
+ }
1525
+
1526
+ .button.button-variant-ghost.button-color-neutral {
1527
+ --button-ghost-text: var(--color-neutral-text-base);
1528
+ --button-ghost-background-hover: var(--color-neutral-surface-soft);
1529
+ --button-ghost-background-active: var(--color-neutral-surface-muted);
1530
+ }
1531
+
1532
+ .button.button-variant-ghost.button-color-brand {
1533
+ --button-ghost-text: var(--color-brand-text-base);
1534
+ --button-ghost-background-hover: var(--color-brand-surface-soft);
1535
+ --button-ghost-background-active: var(--color-brand-surface-muted);
1536
+ }
1537
+
1538
+ .button.button-variant-ghost.button-color-accent {
1539
+ --button-ghost-text: var(--color-accent-text-base);
1540
+ --button-ghost-background-hover: var(--color-accent-surface-soft);
1541
+ --button-ghost-background-active: var(--color-accent-surface-muted);
1542
+ }
1543
+
1544
+ .button.button-variant-ghost.button-color-danger {
1545
+ --button-ghost-text: var(--color-danger-text-base);
1546
+ --button-ghost-background-hover: var(--color-danger-surface-soft);
1547
+ --button-ghost-background-active: var(--color-danger-surface-muted);
1548
+ }
1549
+ }
1550
+
1551
+ @layer components {
1552
+ /* VARS */
1553
+
1554
+ .page {
1555
+ --page-header-height: var(--space-3xl);
1556
+ }
1557
+
1558
+ /* CLASSES */
1559
+
1560
+ .page {
1561
+ min-height: 100vh;
1562
+ display: flex;
1563
+ flex-direction: column;
1564
+ }
1565
+
1566
+ .page .page-header {
1567
+ position: fixed;
1568
+ top: 0;
1569
+ height: var(--page-header-height);
1570
+ width: 100%;
1571
+ z-index: var(--layer-4);
1572
+ display: grid;
1573
+ place-items: stretch;
1574
+ }
1575
+
1576
+ .page .page-main {
1577
+ flex-grow: 1;
1578
+ }
1579
+
1580
+ .page .page-main > *:first-child {
1581
+ margin-top: var(--page-header-height);
1582
+ }
1583
+ }
1584
+
1585
+ @layer components {
1586
+ /* CLASSES */
1587
+
1588
+ .section {
1589
+ display: grid;
1590
+ place-items: stretch;
1591
+ }
1592
+
1593
+ .section .section-description {
1594
+ --text-color-default: var(--color-neutral-text-soft);
1595
+ --text-font-size-default: var(--font-size-dynamic-l);
1596
+ --text-font-weight-default: var(--font-weight-normal);
1597
+ --text-font-family-default: var(--font-family-body);
1598
+ --text-line-height-default: var(--line-height-condensed);
1599
+ }
1600
+
1601
+ .hero:is(.section .section-description) {
1602
+ --text-font-size-default: var(--font-size-dynamic-xl);
1603
+ }
1604
+
1605
+ .section .section-tagline {
1606
+ --text-color-default: var(--color-neutral-text-subtle);
1607
+ --text-font-size-default: var(--font-size-dynamic-s);
1608
+ --text-font-weight-default: var(--font-weight-bold);
1609
+ --text-font-family-default: var(--font-family-tagline);
1610
+ --text-line-height-default: var(--line-height-condensed);
1611
+ }
1612
+
1613
+ .hero:is(.section .section-tagline) {
1614
+ --text-font-size-default: var(--font-size-dynamic-m);
1615
+ }
1616
+ }
1617
+
1618
+ @layer components {
1619
+ /* CLASSES */
1620
+
1621
+ p {
1622
+ --text-color-default: var(--color-neutral-text-base);
1623
+ --text-font-size-default: var(--font-size-dynamic-m);
1624
+ --text-font-weight-default: var(--font-weight-normal);
1625
+ --text-font-family-default: var(--font-family-body);
1626
+ --text-line-height-default: var(--line-height-normal);
1627
+ --text-align-default: start;
1628
+ }
1629
+
1630
+ h1 {
1631
+ --text-color-default: var(--color-neutral-text-muted);
1632
+ --text-font-size-default: var(--font-size-dynamic-4xl);
1633
+ --text-font-weight-default: var(--font-weight-bold);
1634
+ --text-font-family-default: var(--font-family-heading);
1635
+ --text-line-height-default: var(--line-height-condensed);
1636
+ --text-align-default: start;
1637
+ }
1638
+
1639
+ h2 {
1640
+ --text-color-default: var(--color-neutral-text-muted);
1641
+ --text-font-size-default: var(--font-size-dynamic-2xl);
1642
+ --text-font-weight-default: var(--font-weight-bold);
1643
+ --text-font-family-default: var(--font-family-heading);
1644
+ --text-line-height-default: var(--line-height-condensed);
1645
+ --text-align-default: start;
1646
+ }
1647
+
1648
+ h3 {
1649
+ --text-color-default: var(--color-neutral-text-muted);
1650
+ --text-font-size-default: var(--font-size-dynamic-xl);
1651
+ --text-font-weight-default: var(--font-weight-bold);
1652
+ --text-font-family-default: var(--font-family-heading);
1653
+ --text-line-height-default: var(--line-height-condensed);
1654
+ --text-align-default: start;
1655
+ }
1656
+
1657
+ h4 {
1658
+ --text-color-default: var(--color-neutral-text-muted);
1659
+ --text-font-size-default: var(--font-size-dynamic-l);
1660
+ --text-font-weight-default: var(--font-weight-bold);
1661
+ --text-font-family-default: var(--font-family-heading);
1662
+ --text-line-height-default: var(--line-height-condensed);
1663
+ --text-align-default: start;
1664
+ }
1665
+
1666
+ h5 {
1667
+ --text-color-default: var(--color-neutral-text-muted);
1668
+ --text-font-size-default: var(--font-size-dynamic-m);
1669
+ --text-font-weight-default: var(--font-weight-bold);
1670
+ --text-font-family-default: var(--font-family-heading);
1671
+ --text-line-height-default: var(--line-height-condensed);
1672
+ --text-align-default: start;
1673
+ }
1674
+
1675
+ h6 {
1676
+ --text-color-default: var(--color-neutral-text-muted);
1677
+ --text-font-size-default: var(--font-size-dynamic-s);
1678
+ --text-font-weight-default: var(--font-weight-bold);
1679
+ --text-font-family-default: var(--font-family-heading);
1680
+ --text-line-height-default: var(--line-height-condensed);
1681
+ --text-align-default: start;
1682
+ }
1683
+ }
1684
+
1685
+ @layer components {
1686
+ /* VARIABLES */
1687
+
1688
+ .card {
1689
+ --card-border-style: var(--panel-border-style);
1690
+ --card-border-width: var(--panel-border-width);
1691
+ --card-border-radius: var(--panel-border-radius);
1692
+ }
1693
+
1694
+ .card.panel-intensity-transparent {
1695
+ --card-border-color: var(--panel-color-muted);
1696
+ }
1697
+
1698
+ .card.panel-intensity-clear {
1699
+ --card-border-color: var(--panel-color-muted);
1700
+ }
1701
+
1702
+ .card.panel-intensity-subtle {
1703
+ --card-border-color: var(--panel-color-muted);
1704
+ }
1705
+
1706
+ .card.panel-intensity-soft {
1707
+ --card-border-color: var(--panel-color-base);
1708
+ }
1709
+
1710
+ .card.panel-intensity-muted {
1711
+ --card-border-color: var(--panel-color-strong);
1712
+ }
1713
+
1714
+ .card.panel-intensity-base {
1715
+ --card-border-color: var(--panel-color-deep);
1716
+ }
1717
+
1718
+ .card.panel-intensity-strong {
1719
+ --card-border-color: var(--panel-color-deeper);
1720
+ }
1721
+
1722
+ .card.panel-intensity-deep {
1723
+ --card-border-color: var(--panel-color-deepest);
1724
+ }
1725
+
1726
+ /* CLASSES */
1727
+ .card .card-header {
1728
+ border-bottom: var(--card-border-width) var(--card-border-style) var(--card-border-color);
1729
+ }
1730
+
1731
+ .card .card-footer {
1732
+ border-top: var(--card-border-width) var(--card-border-style) var(--card-border-color);
1733
+ }
1734
+ }
1735
+
1736
+ @layer components {
1737
+ /* VARS */
1738
+ .carousel {
1739
+ --carousel-border-style: var(--border-style);
1740
+ --carousel-border-width: var(--border-width);
1741
+ --carousel-border-radius: var(--border-radius);
1742
+ --carousel-border-color: var(--color-neutral-surface-soft);
1743
+ --carousel-aspect-ratio: 3 / 2;
1744
+ --carousel-min-width: 200px;
1745
+ }
1746
+
1747
+ /* CLASSES */
1748
+ .carousel {
1749
+ display: grid;
1750
+ place-items: stretch;
1751
+ grid-template-columns: 1fr auto 1fr;
1752
+ gap: var(--space-m);
1753
+ }
1754
+
1755
+ .carousel .carousel-base {
1756
+ display: grid;
1757
+ place-items: stretch;
1758
+ overflow: hidden;
1759
+ min-width: var(--carousel-min-width);
1760
+ aspect-ratio: var(--carousel-aspect-ratio);
1761
+ }
1762
+
1763
+ :is(.carousel .carousel-base) .carousel-container {
1764
+ display: grid;
1765
+ grid-auto-flow: column;
1766
+ grid-auto-columns: 100%;
1767
+ }
1768
+
1769
+ :is(.carousel .carousel-base) .carousel-slide {
1770
+ display: grid;
1771
+ place-items: stretch;
1772
+
1773
+ border-style: var(--carousel-border-style);
1774
+ border-width: var(--carousel-border-width);
1775
+ border-radius: var(--carousel-border-radius);
1776
+ border-color: var(--carousel-border-color);
1777
+ overflow: hidden;
1778
+ }
1779
+
1780
+ :is(:is(.carousel .carousel-base) .carousel-slide) img {
1781
+ min-height: 0;
1782
+ min-width: 0;
1783
+ display: block;
1784
+ width: 100%;
1785
+ height: 100%;
1786
+ object-fit: cover;
1787
+ }
1788
+
1789
+ .carousel .button {
1790
+ place-self: center;
1791
+ border-radius: var(--border-radius-circle);
1792
+ width: 2rem;
1793
+ height: 2rem;
1794
+ display: grid;
1795
+ place-items: center;
1796
+ padding: 0;
1797
+ font-size: 1rem;
1798
+ visibility: hidden;
1799
+ }
1800
+
1801
+ .visible:is(.carousel .button) {
1802
+ visibility: visible;
1803
+ }
1804
+ }
1805
+
1806
+ @layer components {
1807
+ .avatar {
1808
+ position: relative;
1809
+ height: 10rem;
1810
+ width: 10rem;
1811
+ overflow: hidden;
1812
+ border-radius: var(--border-radius-circle);
1813
+ }
1814
+
1815
+ .avatar .avatar-image {
1816
+ position: absolute;
1817
+ top: 0;
1818
+ left: 0;
1819
+ width: 100%;
1820
+ height: 100%;
1821
+ object-fit: cover;
1822
+ }
1823
+ }
1824
+ @layer components {
1825
+ .image {
1826
+ position: relative;
1827
+ aspect-ratio: var(--image-aspect-ratio);
1828
+ overflow: hidden;
1829
+ }
1830
+
1831
+ .image .image-img {
1832
+ position: absolute;
1833
+ top: 0;
1834
+ left: 0;
1835
+ width: 100%;
1836
+ height: 100%;
1837
+ object-fit: var(--image-object-fit);
1838
+ }
1839
+ }
1840
+
1841
+ @layer utils {
1842
+ .image-square {
1843
+ --image-aspect-ratio: var(--ratio-square);
1844
+ }
1845
+ .image-landscape {
1846
+ --image-aspect-ratio: var(--ratio-landscape);
1847
+ }
1848
+ .image-portrait {
1849
+ --image-aspect-ratio: var(--ratio-portrait);
1850
+ }
1851
+ .image-wide {
1852
+ --image-aspect-ratio: var(--ratio-wide);
1853
+ }
1854
+ .image-ultrawide {
1855
+ --image-aspect-ratio: var(--ratio-ultrawide);
1856
+ }
1857
+ .image-golden {
1858
+ --image-aspect-ratio: var(--ratio-golden);
1859
+ }
1860
+
1861
+ .image-contain {
1862
+ --image-object-fit: contain;
1863
+ }
1864
+ .image-cover {
1865
+ --image-object-fit: cover;
1866
+ }
1867
+ }