@amulet-laboratories/hex 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -0
  3. package/dist/aldricpace.css +5 -0
  4. package/dist/briarcove.css +5 -0
  5. package/dist/briarcovelib.css +5 -0
  6. package/dist/compass.css +5 -0
  7. package/dist/duskline.css +5 -0
  8. package/dist/forge.css +5 -0
  9. package/dist/garden.css +5 -0
  10. package/dist/greyline.css +5 -0
  11. package/dist/hex.css +5 -0
  12. package/dist/kbcv.css +5 -0
  13. package/dist/lanternhouse.css +5 -0
  14. package/dist/marenlys.css +5 -0
  15. package/dist/quizbit.css +5 -0
  16. package/dist/saltsignal.css +5 -0
  17. package/dist/scoped.css +1 -0
  18. package/dist/spacewizard.css +5 -0
  19. package/dist/tidemark.css +5 -0
  20. package/dist/undertow.css +5 -0
  21. package/dist/vscode.css +5 -0
  22. package/package.json +119 -0
  23. package/src/index.css +10 -0
  24. package/src/scoped/bridge.css +47 -0
  25. package/src/scoped/index.css +51 -0
  26. package/src/scoped/themes/aldricpace.css +115 -0
  27. package/src/scoped/themes/briarcove.css +123 -0
  28. package/src/scoped/themes/briarcovelib.css +111 -0
  29. package/src/scoped/themes/compass.css +111 -0
  30. package/src/scoped/themes/duskline.css +117 -0
  31. package/src/scoped/themes/forge.css +123 -0
  32. package/src/scoped/themes/garden.css +123 -0
  33. package/src/scoped/themes/greyline.css +116 -0
  34. package/src/scoped/themes/kbcv.css +111 -0
  35. package/src/scoped/themes/lanternhouse.css +111 -0
  36. package/src/scoped/themes/marenlys.css +112 -0
  37. package/src/scoped/themes/quizbit.css +101 -0
  38. package/src/scoped/themes/saltsignal.css +114 -0
  39. package/src/scoped/themes/spacewizard.css +115 -0
  40. package/src/scoped/themes/tidemark.css +119 -0
  41. package/src/scoped/themes/undertow.css +113 -0
  42. package/src/scoped/themes/vscode.css +230 -0
  43. package/src/scoped/tokens.css +21 -0
  44. package/src/shared/a11y.css +175 -0
  45. package/src/shared/components/core.css +1654 -0
  46. package/src/shared/components/data.css +418 -0
  47. package/src/shared/components/editor.css +358 -0
  48. package/src/shared/components/extras.css +897 -0
  49. package/src/shared/components/layout.css +663 -0
  50. package/src/shared/components/lists.css +278 -0
  51. package/src/shared/components/menus.css +377 -0
  52. package/src/shared/components/nav.css +943 -0
  53. package/src/shared/components/prose.css +302 -0
  54. package/src/shared/components/shell.css +528 -0
  55. package/src/shared/components/spatial.css +184 -0
  56. package/src/shared/components/temporal.css +191 -0
  57. package/src/shared/components/web.css +1689 -0
  58. package/src/shared/rig-defaults.css +121 -0
  59. package/src/shared/scroll-animations.css +176 -0
  60. package/src/shared/tokens.css +125 -0
  61. package/src/shared/utilities.css +204 -0
  62. package/src/themes/aldricpace/base.css +114 -0
  63. package/src/themes/aldricpace/components.css +22 -0
  64. package/src/themes/aldricpace/domains.css +19 -0
  65. package/src/themes/aldricpace/index.css +6 -0
  66. package/src/themes/aldricpace/tokens.css +169 -0
  67. package/src/themes/andrewpassanisi/base.css +192 -0
  68. package/src/themes/andrewpassanisi/index.css +11 -0
  69. package/src/themes/andrewpassanisi/tokens.css +136 -0
  70. package/src/themes/briarcove/base.css +170 -0
  71. package/src/themes/briarcove/components.css +27 -0
  72. package/src/themes/briarcove/domains.css +72 -0
  73. package/src/themes/briarcove/index.css +6 -0
  74. package/src/themes/briarcove/tokens.css +179 -0
  75. package/src/themes/briarcovelib/base.css +111 -0
  76. package/src/themes/briarcovelib/components.css +22 -0
  77. package/src/themes/briarcovelib/domains.css +19 -0
  78. package/src/themes/briarcovelib/index.css +6 -0
  79. package/src/themes/briarcovelib/tokens.css +167 -0
  80. package/src/themes/compass/base.css +112 -0
  81. package/src/themes/compass/components.css +22 -0
  82. package/src/themes/compass/domains.css +19 -0
  83. package/src/themes/compass/index.css +6 -0
  84. package/src/themes/compass/tokens.css +167 -0
  85. package/src/themes/duskline/base.css +167 -0
  86. package/src/themes/duskline/components.css +27 -0
  87. package/src/themes/duskline/domains.css +72 -0
  88. package/src/themes/duskline/index.css +6 -0
  89. package/src/themes/duskline/tokens.css +171 -0
  90. package/src/themes/forge/base.css +165 -0
  91. package/src/themes/forge/components.css +24 -0
  92. package/src/themes/forge/domains.css +72 -0
  93. package/src/themes/forge/index.css +6 -0
  94. package/src/themes/forge/tokens.css +178 -0
  95. package/src/themes/garden/base.css +167 -0
  96. package/src/themes/garden/components.css +27 -0
  97. package/src/themes/garden/domains.css +72 -0
  98. package/src/themes/garden/index.css +6 -0
  99. package/src/themes/garden/tokens.css +178 -0
  100. package/src/themes/greyline/base.css +165 -0
  101. package/src/themes/greyline/components.css +24 -0
  102. package/src/themes/greyline/domains.css +70 -0
  103. package/src/themes/greyline/index.css +6 -0
  104. package/src/themes/greyline/tokens.css +161 -0
  105. package/src/themes/kbcv/base.css +112 -0
  106. package/src/themes/kbcv/components.css +22 -0
  107. package/src/themes/kbcv/domains.css +19 -0
  108. package/src/themes/kbcv/index.css +6 -0
  109. package/src/themes/kbcv/tokens.css +167 -0
  110. package/src/themes/lanternhouse/base.css +170 -0
  111. package/src/themes/lanternhouse/components.css +27 -0
  112. package/src/themes/lanternhouse/domains.css +72 -0
  113. package/src/themes/lanternhouse/index.css +6 -0
  114. package/src/themes/lanternhouse/tokens.css +167 -0
  115. package/src/themes/marenlys/base.css +181 -0
  116. package/src/themes/marenlys/components.css +27 -0
  117. package/src/themes/marenlys/domains.css +72 -0
  118. package/src/themes/marenlys/index.css +6 -0
  119. package/src/themes/marenlys/tokens.css +167 -0
  120. package/src/themes/quizbit/base.css +120 -0
  121. package/src/themes/quizbit/components.css +27 -0
  122. package/src/themes/quizbit/domains.css +7 -0
  123. package/src/themes/quizbit/index.css +6 -0
  124. package/src/themes/quizbit/tokens.css +132 -0
  125. package/src/themes/saltsignal/base.css +168 -0
  126. package/src/themes/saltsignal/components.css +27 -0
  127. package/src/themes/saltsignal/domains.css +72 -0
  128. package/src/themes/saltsignal/index.css +6 -0
  129. package/src/themes/saltsignal/tokens.css +170 -0
  130. package/src/themes/spacewizard/base.css +165 -0
  131. package/src/themes/spacewizard/components.css +24 -0
  132. package/src/themes/spacewizard/domains.css +70 -0
  133. package/src/themes/spacewizard/index.css +6 -0
  134. package/src/themes/spacewizard/tokens.css +160 -0
  135. package/src/themes/tidemark/base.css +169 -0
  136. package/src/themes/tidemark/components.css +27 -0
  137. package/src/themes/tidemark/domains.css +72 -0
  138. package/src/themes/tidemark/index.css +6 -0
  139. package/src/themes/tidemark/tokens.css +175 -0
  140. package/src/themes/undertow/base.css +114 -0
  141. package/src/themes/undertow/components.css +22 -0
  142. package/src/themes/undertow/domains.css +19 -0
  143. package/src/themes/undertow/index.css +6 -0
  144. package/src/themes/undertow/tokens.css +171 -0
  145. package/src/themes/vscode/base.css +104 -0
  146. package/src/themes/vscode/components.css +24 -0
  147. package/src/themes/vscode/domains.css +132 -0
  148. package/src/themes/vscode/index.css +13 -0
  149. package/src/themes/vscode/tokens.css +346 -0
@@ -0,0 +1,1689 @@
1
+ /* Hex — Shared Web Components
2
+ * Styles for Rig's web package: SiteShell, SiteNav, Hero, Section,
3
+ * StatRow, CTABanner, Testimonial, SiteFooter.
4
+ *
5
+ * Typography & color conventions
6
+ * ──────────────────────────────
7
+ * Each scoped theme provides:
8
+ * --font-sans body copy
9
+ * --font-serif display / heading font (if the brand uses a serif)
10
+ * --font-mono code / monospace accents
11
+ * --font-heading resolved heading font (set by each scoped theme)
12
+ *
13
+ * All heading elements (h1-h6) inside web components inherit
14
+ * --font-heading and --color-primary automatically. Body text
15
+ * inherits --color-muted-foreground. SVG icons inherit --color-primary.
16
+ * Consumers should never need inline style= for these properties.
17
+ */
18
+
19
+ /* ───────── Global Typography Defaults ───────── */
20
+
21
+ [data-rig-site-shell] h1,
22
+ [data-rig-site-shell] h2,
23
+ [data-rig-site-shell] h3,
24
+ [data-rig-site-shell] h4,
25
+ [data-rig-site-shell] h5,
26
+ [data-rig-site-shell] h6 {
27
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
28
+ color: var(--color-primary);
29
+ }
30
+
31
+ [data-rig-hero-description],
32
+ [data-rig-section-header] p,
33
+ [data-rig-section] p,
34
+ [data-rig-testimonial-attribution] p {
35
+ color: var(--color-muted-foreground);
36
+ }
37
+
38
+ [data-rig-hero-eyebrow] {
39
+ color: var(--color-accent);
40
+ }
41
+
42
+ [data-rig-testimonial-attribution] p:first-child {
43
+ color: var(--color-primary);
44
+ font-weight: 500;
45
+ }
46
+
47
+ [data-rig-stat-row-value] {
48
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
49
+ }
50
+
51
+ /* SVG icons inside web components inherit primary color */
52
+ [data-rig-site-shell] svg[aria-hidden] {
53
+ color: var(--color-primary);
54
+ }
55
+
56
+ /* Brand slot in nav inherits heading font */
57
+ [data-rig-site-nav-brand] {
58
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
59
+ }
60
+
61
+ /* Border elements inside web components inherit theme border color */
62
+ [data-rig-site-shell] [class*='border'] {
63
+ border-color: var(--color-border);
64
+ }
65
+
66
+ /* Decorative accent bars — theme-colored dividers */
67
+ [data-rig-accent] {
68
+ background: var(--color-primary);
69
+ }
70
+
71
+ /* Footer text hierarchy — body text dimmed, headings/brands full opacity */
72
+ [data-rig-site-footer] {
73
+ color: var(--color-primary-foreground);
74
+ }
75
+
76
+ [data-rig-site-footer-grid] p,
77
+ [data-rig-site-footer-grid] ul,
78
+ [data-rig-site-footer-grid] li,
79
+ [data-rig-site-footer-post] {
80
+ opacity: 0.85;
81
+ }
82
+
83
+ [data-rig-site-footer-grid] h3,
84
+ [data-rig-site-footer-grid] h4,
85
+ [data-rig-site-footer-grid] p:first-child {
86
+ opacity: 0.9;
87
+ font-weight: 700;
88
+ text-transform: uppercase;
89
+ letter-spacing: 0.05em;
90
+ font-size: 0.75rem;
91
+ }
92
+
93
+ /* ───────── Skip Link ───────── */
94
+
95
+ [data-rig-skip-link] {
96
+ position: absolute;
97
+ left: -9999px;
98
+ z-index: 50;
99
+ font-size: 14px;
100
+ font-weight: 500;
101
+ white-space: nowrap;
102
+ }
103
+
104
+ [data-rig-skip-link]:focus {
105
+ position: fixed;
106
+ left: 16px;
107
+ top: 16px;
108
+ padding: 8px 16px;
109
+ border-radius: var(--radius, 4px);
110
+ background: var(--color-primary);
111
+ color: var(--color-primary-foreground);
112
+ outline: none;
113
+ }
114
+
115
+ /* ───────── Site Shell ───────── */
116
+
117
+ [data-rig-site-shell] {
118
+ display: flex;
119
+ flex-direction: column;
120
+ min-height: 100vh;
121
+ background: var(--color-background);
122
+ color: var(--color-foreground);
123
+ font-family: var(--font-sans, system-ui, sans-serif);
124
+ }
125
+
126
+ [data-rig-site-shell-main] {
127
+ flex: 1;
128
+ }
129
+
130
+ /* ───────── Site Nav ───────── */
131
+
132
+ [data-rig-site-nav][data-sticky] {
133
+ position: sticky;
134
+ top: 0;
135
+ z-index: 50;
136
+ }
137
+
138
+ [data-rig-site-nav-bar] {
139
+ border-bottom: 1px solid var(--color-border);
140
+ background: var(--color-background);
141
+ padding: 12px 24px;
142
+ }
143
+
144
+ [data-rig-site-nav-container] {
145
+ max-width: var(--site-max-width, 80rem);
146
+ margin: 0 auto;
147
+ display: flex;
148
+ align-items: center;
149
+ justify-content: space-between;
150
+ }
151
+
152
+ [data-rig-site-nav-links] {
153
+ display: none;
154
+ align-items: center;
155
+ gap: 4px;
156
+ }
157
+
158
+ @media (min-width: 640px) {
159
+ [data-rig-site-nav-links] {
160
+ display: flex;
161
+ }
162
+
163
+ [data-rig-site-nav-toggle] {
164
+ display: none !important;
165
+ }
166
+ }
167
+
168
+ [data-rig-site-nav-link] {
169
+ padding: 6px 12px;
170
+ font-size: 14px;
171
+ border-radius: var(--radius, 4px);
172
+ color: var(--color-muted-foreground);
173
+ background: transparent;
174
+ border: none;
175
+ cursor: pointer;
176
+ transition:
177
+ color 0.15s,
178
+ background 0.15s;
179
+ }
180
+
181
+ [data-rig-site-nav-link]:hover {
182
+ color: var(--color-foreground);
183
+ }
184
+
185
+ [data-rig-site-nav-link][data-active] {
186
+ color: var(--color-primary);
187
+ background: var(--color-secondary);
188
+ font-weight: 500;
189
+ }
190
+
191
+ [data-rig-site-nav-actions] {
192
+ display: flex;
193
+ align-items: center;
194
+ gap: 8px;
195
+ }
196
+
197
+ [data-rig-site-nav-toggle] {
198
+ background: none;
199
+ border: none;
200
+ cursor: pointer;
201
+ display: flex;
202
+ align-items: center;
203
+ justify-content: center;
204
+ color: var(--color-primary);
205
+ padding: 4px;
206
+ }
207
+
208
+ [data-rig-site-nav-mobile] {
209
+ padding: 16px 24px;
210
+ border-top: 1px solid var(--color-border);
211
+ display: flex;
212
+ flex-direction: column;
213
+ gap: 4px;
214
+ background: var(--color-background);
215
+ }
216
+
217
+ [data-rig-site-nav-mobile-link] {
218
+ padding: 8px 12px;
219
+ text-align: left;
220
+ font-size: 14px;
221
+ background: transparent;
222
+ border: none;
223
+ border-radius: var(--radius, 4px);
224
+ color: var(--color-muted-foreground);
225
+ cursor: pointer;
226
+ transition:
227
+ color 0.15s,
228
+ background 0.15s;
229
+ }
230
+
231
+ [data-rig-site-nav-mobile-link]:hover {
232
+ color: var(--color-foreground);
233
+ }
234
+
235
+ [data-rig-site-nav-mobile-link][data-active] {
236
+ color: var(--color-primary);
237
+ background: var(--color-secondary);
238
+ font-weight: 500;
239
+ }
240
+
241
+ @media (min-width: 640px) {
242
+ [data-rig-site-nav-mobile] {
243
+ display: none;
244
+ }
245
+ }
246
+
247
+ /* utility-bar slot renders directly — no wrapper element */
248
+
249
+ /* ───────── Hero ───────── */
250
+
251
+ [data-rig-hero] {
252
+ position: relative;
253
+ overflow: hidden;
254
+ }
255
+
256
+ [data-rig-hero][data-layout='split'] {
257
+ display: grid;
258
+ grid-template-columns: 1fr;
259
+ min-height: 50vh;
260
+ }
261
+
262
+ @media (min-width: 640px) {
263
+ [data-rig-hero][data-layout='split'] {
264
+ grid-template-columns: 1fr 1fr;
265
+ min-height: 65vh;
266
+ }
267
+ }
268
+
269
+ [data-rig-hero][data-layout='centered'] {
270
+ text-align: center;
271
+ }
272
+
273
+ [data-rig-hero][data-layout='immersive'] {
274
+ min-height: 80vh;
275
+ display: flex;
276
+ flex-direction: column;
277
+ justify-content: flex-end;
278
+ }
279
+
280
+ [data-rig-hero-content] {
281
+ display: flex;
282
+ flex-direction: column;
283
+ justify-content: center;
284
+ padding: 48px 24px;
285
+ }
286
+
287
+ @media (min-width: 640px) {
288
+ [data-rig-hero-content] {
289
+ padding: 64px 32px;
290
+ }
291
+ }
292
+
293
+ @media (min-width: 1024px) {
294
+ [data-rig-hero-content] {
295
+ padding: 64px;
296
+ }
297
+ }
298
+
299
+ [data-rig-hero][data-layout='centered'] [data-rig-hero-content] {
300
+ align-items: center;
301
+ max-width: 48rem;
302
+ margin: 0 auto;
303
+ }
304
+
305
+ [data-rig-hero-eyebrow] {
306
+ margin-bottom: 12px;
307
+ }
308
+
309
+ [data-rig-hero-description] {
310
+ margin-top: 20px;
311
+ max-width: 32rem;
312
+ }
313
+
314
+ [data-rig-hero][data-layout='centered'] [data-rig-hero-description] {
315
+ max-width: 28rem;
316
+ }
317
+
318
+ [data-rig-hero-actions] {
319
+ margin-top: 32px;
320
+ display: flex;
321
+ gap: 16px;
322
+ flex-wrap: wrap;
323
+ }
324
+
325
+ [data-rig-hero][data-layout='centered'] [data-rig-hero-actions] {
326
+ justify-content: center;
327
+ }
328
+
329
+ [data-rig-hero-media] {
330
+ display: none;
331
+ position: relative;
332
+ }
333
+
334
+ @media (min-width: 640px) {
335
+ [data-rig-hero-media] {
336
+ display: block;
337
+ }
338
+ }
339
+
340
+ [data-rig-hero][data-layout='immersive'] [data-rig-hero-media] {
341
+ display: block;
342
+ position: absolute;
343
+ inset: 0;
344
+ z-index: 0;
345
+ }
346
+
347
+ [data-rig-hero][data-layout='immersive'] [data-rig-hero-content] {
348
+ position: relative;
349
+ z-index: 1;
350
+ }
351
+
352
+ [data-rig-hero-overlay] {
353
+ position: relative;
354
+ z-index: 1;
355
+ }
356
+
357
+ [data-rig-hero-scrim] {
358
+ position: absolute;
359
+ inset: 0;
360
+ z-index: 1;
361
+ background: linear-gradient(
362
+ 180deg,
363
+ color-mix(in srgb, var(--color-background) 80%, transparent) 0%,
364
+ color-mix(in srgb, var(--color-background) 87%, transparent) 50%,
365
+ color-mix(in srgb, var(--color-background) 94%, transparent) 100%
366
+ );
367
+ }
368
+
369
+ /* ───────── Section ───────── */
370
+
371
+ [data-rig-section] {
372
+ padding: 64px 24px;
373
+ }
374
+
375
+ [data-rig-section][data-variant='alternate'] {
376
+ background: var(--color-card);
377
+ }
378
+
379
+ [data-rig-section][data-variant='bordered'] {
380
+ border-top: 1px solid var(--color-border);
381
+ border-bottom: 1px solid var(--color-border);
382
+ background: var(--color-card);
383
+ }
384
+
385
+ [data-rig-section-container] {
386
+ max-width: var(--site-max-width, 80rem);
387
+ margin: 0 auto;
388
+ }
389
+
390
+ [data-rig-section-header] {
391
+ margin-bottom: 40px;
392
+ }
393
+
394
+ [data-rig-section-header][data-centered] {
395
+ text-align: center;
396
+ }
397
+
398
+ [data-rig-section-title] {
399
+ font-size: 1.5rem;
400
+ font-weight: 700;
401
+ line-height: 1.25;
402
+ }
403
+
404
+ [data-rig-section-accent] {
405
+ display: block;
406
+ width: 3rem;
407
+ height: 2px;
408
+ margin-top: 0.75rem;
409
+ background: var(--color-primary);
410
+ }
411
+
412
+ [data-rig-section-header][data-centered] [data-rig-section-accent] {
413
+ margin-left: auto;
414
+ margin-right: auto;
415
+ }
416
+
417
+ [data-rig-section-subtitle] {
418
+ margin-top: 0.5rem;
419
+ font-size: 0.875rem;
420
+ color: var(--color-muted-foreground);
421
+ }
422
+
423
+ /* ───────── Stat Row ───────── */
424
+
425
+ [data-rig-stat-row] {
426
+ padding: 32px 24px;
427
+ }
428
+
429
+ [data-rig-stat-row][data-variant='bordered'] {
430
+ border-top: 1px solid var(--color-border);
431
+ border-bottom: 1px solid var(--color-border);
432
+ background: var(--color-card);
433
+ }
434
+
435
+ [data-rig-stat-row][data-variant='card'] {
436
+ background: var(--color-card);
437
+ }
438
+
439
+ [data-rig-stat-row][data-variant='filled'] {
440
+ background: var(--color-primary);
441
+ }
442
+
443
+ [data-rig-stat-row-container] {
444
+ max-width: 64rem;
445
+ margin: 0 auto;
446
+ display: grid;
447
+ grid-template-columns: repeat(2, 1fr);
448
+ gap: 24px;
449
+ text-align: center;
450
+ }
451
+
452
+ @media (min-width: 640px) {
453
+ [data-rig-stat-row-container] {
454
+ grid-template-columns: repeat(4, 1fr);
455
+ }
456
+ }
457
+
458
+ [data-rig-stat-row-value] {
459
+ display: block;
460
+ font-size: 24px;
461
+ color: var(--color-primary);
462
+ }
463
+
464
+ [data-rig-stat-row][data-variant='filled'] [data-rig-stat-row-value] {
465
+ color: var(--color-primary-foreground);
466
+ }
467
+
468
+ [data-rig-stat-row-label] {
469
+ display: block;
470
+ font-size: 12px;
471
+ color: var(--color-muted-foreground);
472
+ margin-top: 4px;
473
+ }
474
+
475
+ [data-rig-stat-row][data-variant='filled'] [data-rig-stat-row-label] {
476
+ color: var(--color-primary-foreground);
477
+ opacity: 0.85;
478
+ }
479
+
480
+ [data-rig-stat-row][data-variant='filled-secondary'] {
481
+ background: var(--color-secondary);
482
+ }
483
+
484
+ [data-rig-stat-row-change] {
485
+ display: block;
486
+ font-size: 11px;
487
+ color: var(--color-muted-foreground);
488
+ margin-top: 2px;
489
+ }
490
+
491
+ /* ───────── CTA Banner ───────── */
492
+
493
+ [data-rig-cta-banner] {
494
+ padding: 48px 24px;
495
+ background: var(--color-primary);
496
+ color: var(--color-primary-foreground);
497
+ }
498
+
499
+ [data-rig-cta-banner-container] {
500
+ max-width: 56rem;
501
+ margin: 0 auto;
502
+ }
503
+
504
+ [data-rig-cta-banner][data-layout='row'] [data-rig-cta-banner-container] {
505
+ display: flex;
506
+ flex-direction: column;
507
+ align-items: center;
508
+ gap: 16px;
509
+ text-align: center;
510
+ }
511
+
512
+ @media (min-width: 640px) {
513
+ [data-rig-cta-banner][data-layout='row'] [data-rig-cta-banner-container] {
514
+ flex-direction: row;
515
+ justify-content: space-between;
516
+ text-align: left;
517
+ }
518
+ }
519
+
520
+ [data-rig-cta-banner][data-layout='centered'] [data-rig-cta-banner-container] {
521
+ display: flex;
522
+ flex-direction: column;
523
+ align-items: center;
524
+ text-align: center;
525
+ gap: 16px;
526
+ }
527
+
528
+ [data-rig-cta-banner][data-variant='card'] {
529
+ background: var(--color-card);
530
+ color: var(--color-foreground);
531
+ }
532
+
533
+ [data-rig-cta-banner][data-variant='background'] {
534
+ background: var(--color-background);
535
+ color: var(--color-foreground);
536
+ }
537
+
538
+ [data-rig-cta-banner][data-variant='inverted'] {
539
+ background: var(--color-foreground);
540
+ color: var(--color-background);
541
+ }
542
+
543
+ [data-rig-cta-banner][data-variant='destructive'] {
544
+ background: var(--color-destructive);
545
+ color: var(--color-destructive-foreground);
546
+ }
547
+
548
+ /* ───────── Testimonial ───────── */
549
+
550
+ [data-rig-testimonial] {
551
+ margin: 0;
552
+ padding: 0;
553
+ }
554
+
555
+ [data-rig-testimonial-quote] {
556
+ font-style: italic;
557
+ font-size: 14px;
558
+ line-height: 1.8;
559
+ color: var(--color-muted-foreground);
560
+ }
561
+
562
+ [data-rig-testimonial][data-layout='border'] {
563
+ border-left: 2px solid var(--color-primary);
564
+ padding-left: 16px;
565
+ }
566
+
567
+ [data-rig-testimonial-attribution] {
568
+ margin-top: 12px;
569
+ font-style: normal;
570
+ }
571
+
572
+ /* ───────── Site Footer ───────── */
573
+
574
+ [data-rig-site-footer] {
575
+ background: var(--site-footer-bg, var(--color-primary));
576
+ color: var(--site-footer-color, var(--color-primary-foreground));
577
+ }
578
+
579
+ [data-rig-site-footer][data-variant='card'] {
580
+ background: var(--color-card);
581
+ color: var(--color-foreground);
582
+ }
583
+
584
+ [data-rig-site-footer][data-variant='inverted'] {
585
+ background: var(--color-foreground);
586
+ color: var(--color-background);
587
+ }
588
+
589
+ [data-rig-site-footer-container] {
590
+ max-width: var(--site-max-width, 80rem);
591
+ margin: 0 auto;
592
+ padding: 48px 24px;
593
+ }
594
+
595
+ [data-rig-site-footer-grid] {
596
+ display: grid;
597
+ grid-template-columns: 1fr;
598
+ gap: 32px;
599
+ }
600
+
601
+ @media (min-width: 640px) {
602
+ [data-rig-site-footer][data-columns='2'] [data-rig-site-footer-grid] {
603
+ grid-template-columns: repeat(2, 1fr);
604
+ }
605
+
606
+ [data-rig-site-footer][data-columns='3'] [data-rig-site-footer-grid] {
607
+ grid-template-columns: repeat(3, 1fr);
608
+ }
609
+
610
+ [data-rig-site-footer][data-columns='4'] [data-rig-site-footer-grid] {
611
+ grid-template-columns: repeat(4, 1fr);
612
+ }
613
+ }
614
+
615
+ [data-rig-site-footer-pre] {
616
+ /* Consumer styles — accent stripe, emergency banner, etc. */
617
+ }
618
+
619
+ [data-rig-site-footer-post] {
620
+ max-width: var(--site-max-width, 80rem);
621
+ margin: 0 auto;
622
+ padding: 0 24px 24px;
623
+ font-size: 12px;
624
+ color: var(--color-muted-foreground);
625
+ }
626
+
627
+ /* ───────── Site Nav — Scroll State ───────── */
628
+
629
+ [data-rig-site-nav][data-scrolled] [data-rig-site-nav-bar] {
630
+ background: color-mix(in srgb, var(--color-background) 85%, transparent);
631
+ backdrop-filter: blur(12px);
632
+ -webkit-backdrop-filter: blur(12px);
633
+ }
634
+
635
+ [data-rig-site-nav][data-at-top] [data-rig-site-nav-bar] {
636
+ border-bottom-color: transparent;
637
+ background: transparent;
638
+ }
639
+
640
+ /* ───────── Site Nav — Pill Variant ───────── */
641
+
642
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-bar] {
643
+ background: transparent;
644
+ border-bottom: none;
645
+ padding: 16px 24px;
646
+ }
647
+
648
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-container] {
649
+ max-width: 56rem;
650
+ background: color-mix(in srgb, var(--color-background) 80%, transparent);
651
+ backdrop-filter: blur(16px);
652
+ -webkit-backdrop-filter: blur(16px);
653
+ border: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
654
+ border-radius: 9999px;
655
+ padding: 6px 8px 6px 20px;
656
+ box-shadow: 0 4px 24px rgb(0 0 0 / 0.08);
657
+ }
658
+
659
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-link] {
660
+ border-radius: 9999px;
661
+ padding: 6px 16px;
662
+ font-size: 13px;
663
+ }
664
+
665
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-link][data-active] {
666
+ background: var(--color-primary);
667
+ color: var(--color-primary-foreground);
668
+ }
669
+
670
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-mobile] {
671
+ margin: 0 24px;
672
+ border-radius: 16px;
673
+ border: 1px solid var(--color-border);
674
+ border-top: none;
675
+ background: color-mix(in srgb, var(--color-background) 90%, transparent);
676
+ backdrop-filter: blur(16px);
677
+ -webkit-backdrop-filter: blur(16px);
678
+ box-shadow: 0 8px 32px rgb(0 0 0 / 0.1);
679
+ }
680
+
681
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-mobile-link][data-active] {
682
+ background: var(--color-primary);
683
+ color: var(--color-primary-foreground);
684
+ }
685
+
686
+ /* Pill — compact at intermediate widths (many-item navs) */
687
+ @media (min-width: 640px) and (max-width: 1024px) {
688
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-link] {
689
+ padding: 6px 10px;
690
+ font-size: 12px;
691
+ }
692
+
693
+ [data-rig-site-nav][data-variant='pill'] [data-rig-site-nav-container] {
694
+ padding: 6px 8px 6px 14px;
695
+ }
696
+ }
697
+
698
+ /* Pill — scroll states */
699
+ [data-rig-site-nav][data-variant='pill'][data-at-top] [data-rig-site-nav-container] {
700
+ background: transparent;
701
+ border-color: transparent;
702
+ box-shadow: none;
703
+ }
704
+
705
+ /* ───────── Site Nav — Glass Variant ───────── */
706
+
707
+ [data-rig-site-nav][data-variant='glass'] [data-rig-site-nav-bar] {
708
+ background: color-mix(in srgb, var(--color-background) 55%, transparent);
709
+ backdrop-filter: blur(20px) saturate(1.3);
710
+ -webkit-backdrop-filter: blur(20px) saturate(1.3);
711
+ border-bottom: 1px solid color-mix(in srgb, var(--color-border) 35%, transparent);
712
+ box-shadow: 0 1px 0 color-mix(in srgb, var(--color-primary) 8%, transparent);
713
+ }
714
+
715
+ [data-rig-site-nav][data-variant='glass'] [data-rig-site-nav-link]:hover {
716
+ background: color-mix(in srgb, var(--color-foreground) 8%, transparent);
717
+ }
718
+
719
+ [data-rig-site-nav][data-variant='glass'] [data-rig-site-nav-link][data-active] {
720
+ background: color-mix(in srgb, var(--color-primary) 15%, transparent);
721
+ color: var(--color-primary);
722
+ font-weight: 500;
723
+ }
724
+
725
+ [data-rig-site-nav][data-variant='glass'] [data-rig-site-nav-mobile] {
726
+ background: color-mix(in srgb, var(--color-background) 75%, transparent);
727
+ backdrop-filter: blur(20px);
728
+ -webkit-backdrop-filter: blur(20px);
729
+ border-top-color: color-mix(in srgb, var(--color-border) 35%, transparent);
730
+ }
731
+
732
+ [data-rig-site-nav][data-variant='glass'] [data-rig-site-nav-mobile-link][data-active] {
733
+ background: color-mix(in srgb, var(--color-primary) 15%, transparent);
734
+ color: var(--color-primary);
735
+ }
736
+
737
+ /* ───────── Site Nav — Theater Variant ───────── */
738
+
739
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-bar] {
740
+ padding: 20px 24px;
741
+ border-bottom: none;
742
+ }
743
+
744
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-links] {
745
+ gap: 8px;
746
+ }
747
+
748
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link] {
749
+ font-size: 13px;
750
+ letter-spacing: 0.08em;
751
+ text-transform: uppercase;
752
+ padding: 8px 16px;
753
+ position: relative;
754
+ background: transparent !important;
755
+ border-radius: 0;
756
+ }
757
+
758
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link]::after {
759
+ content: '';
760
+ position: absolute;
761
+ left: 16px;
762
+ right: 16px;
763
+ bottom: 4px;
764
+ height: 1.5px;
765
+ background: var(--color-primary);
766
+ transform: scaleX(0);
767
+ transform-origin: left;
768
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
769
+ }
770
+
771
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link]:hover::after,
772
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link][data-active]::after {
773
+ transform: scaleX(1);
774
+ }
775
+
776
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link][data-active] {
777
+ color: var(--color-primary);
778
+ }
779
+
780
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-mobile-link] {
781
+ font-size: 13px;
782
+ letter-spacing: 0.06em;
783
+ text-transform: uppercase;
784
+ border-radius: 0;
785
+ border-bottom: 1px solid color-mix(in srgb, var(--color-border) 40%, transparent);
786
+ padding: 12px 16px;
787
+ }
788
+
789
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-mobile-link]:last-child {
790
+ border-bottom: none;
791
+ }
792
+
793
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-mobile-link][data-active] {
794
+ background: transparent;
795
+ color: var(--color-primary);
796
+ border-bottom-color: var(--color-primary);
797
+ }
798
+
799
+ /* Theater — compact at intermediate widths (many-item navs) */
800
+ @media (min-width: 640px) and (max-width: 1024px) {
801
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link] {
802
+ padding: 8px 10px;
803
+ font-size: 11px;
804
+ letter-spacing: 0.06em;
805
+ }
806
+
807
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link]::after {
808
+ left: 10px;
809
+ right: 10px;
810
+ }
811
+ }
812
+
813
+ /* ───────── Site Nav — Split Variant ───────── */
814
+
815
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-bar] {
816
+ border-bottom: none;
817
+ padding: 20px 40px;
818
+ }
819
+
820
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-container] {
821
+ max-width: none;
822
+ }
823
+
824
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-links] {
825
+ gap: 0;
826
+ }
827
+
828
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-link] {
829
+ background: transparent !important;
830
+ border-radius: 0;
831
+ padding: 8px 20px;
832
+ position: relative;
833
+ font-size: 13px;
834
+ }
835
+
836
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-link][data-active] {
837
+ color: var(--color-primary);
838
+ }
839
+
840
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-link][data-active]::after {
841
+ content: '';
842
+ position: absolute;
843
+ left: 50%;
844
+ bottom: 0;
845
+ width: 4px;
846
+ height: 4px;
847
+ border-radius: 50%;
848
+ background: var(--color-primary);
849
+ transform: translateX(-50%);
850
+ }
851
+
852
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-mobile-link] {
853
+ text-align: right;
854
+ padding: 10px 16px;
855
+ border-radius: 0;
856
+ }
857
+
858
+ [data-rig-site-nav][data-variant='split'] [data-rig-site-nav-mobile-link][data-active] {
859
+ background: transparent;
860
+ color: var(--color-primary);
861
+ }
862
+
863
+ /* ───────── Site Nav — Drawer Variant ───────── */
864
+
865
+ [data-rig-site-nav][data-variant='drawer'] [data-rig-site-nav-links] {
866
+ display: none !important;
867
+ }
868
+
869
+ [data-rig-site-nav][data-variant='drawer'] [data-rig-site-nav-toggle] {
870
+ display: flex !important;
871
+ }
872
+
873
+ [data-rig-site-nav][data-variant='drawer'][data-mobile-open] [data-rig-site-nav-bar] {
874
+ position: relative;
875
+ z-index: 101;
876
+ }
877
+
878
+ [data-rig-site-nav][data-variant='drawer'] [data-rig-site-nav-mobile] {
879
+ position: fixed;
880
+ top: 0;
881
+ left: 0;
882
+ bottom: 0;
883
+ width: 300px;
884
+ padding: 80px 32px 32px;
885
+ border-top: none;
886
+ border-right: 1px solid var(--color-border);
887
+ background: var(--color-background);
888
+ z-index: 100;
889
+ box-shadow: 8px 0 32px rgb(0 0 0 / 0.15);
890
+ gap: 2px;
891
+ }
892
+
893
+ [data-rig-site-nav][data-variant='drawer'] [data-rig-site-nav-mobile-link] {
894
+ padding: 12px 16px;
895
+ font-size: 15px;
896
+ border-radius: var(--radius, 4px);
897
+ }
898
+
899
+ [data-rig-site-nav][data-variant='drawer'][data-mobile-open]::after {
900
+ content: '';
901
+ position: fixed;
902
+ inset: 0;
903
+ background: rgb(0 0 0 / 0.3);
904
+ z-index: 99;
905
+ pointer-events: none;
906
+ }
907
+
908
+ @media (min-width: 640px) {
909
+ [data-rig-site-nav][data-variant='drawer'] [data-rig-site-nav-mobile] {
910
+ display: flex;
911
+ }
912
+ }
913
+
914
+ /* ───────── Site Nav — Overlay Variant ───────── */
915
+
916
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-links] {
917
+ display: none !important;
918
+ }
919
+
920
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-toggle] {
921
+ display: flex !important;
922
+ }
923
+
924
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-bar] {
925
+ border-bottom: none;
926
+ background: transparent;
927
+ }
928
+
929
+ [data-rig-site-nav][data-variant='overlay'][data-mobile-open] [data-rig-site-nav-bar] {
930
+ position: fixed;
931
+ top: 0;
932
+ left: 0;
933
+ right: 0;
934
+ z-index: 101;
935
+ }
936
+
937
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile] {
938
+ position: fixed;
939
+ inset: 0;
940
+ z-index: 100;
941
+ background: var(--color-background);
942
+ display: flex;
943
+ flex-direction: column;
944
+ align-items: center;
945
+ justify-content: center;
946
+ gap: 8px;
947
+ padding: 0;
948
+ border-top: none;
949
+ }
950
+
951
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link] {
952
+ font-size: 2rem;
953
+ font-weight: 300;
954
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
955
+ letter-spacing: 0.02em;
956
+ padding: 12px 32px;
957
+ text-align: center;
958
+ border-radius: 0;
959
+ opacity: 0;
960
+ transform: translateY(16px);
961
+ animation: rig-overlay-link-in 0.4s ease forwards;
962
+ }
963
+
964
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(1) {
965
+ animation-delay: 0.05s;
966
+ }
967
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(2) {
968
+ animation-delay: 0.1s;
969
+ }
970
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(3) {
971
+ animation-delay: 0.15s;
972
+ }
973
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(4) {
974
+ animation-delay: 0.2s;
975
+ }
976
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(5) {
977
+ animation-delay: 0.25s;
978
+ }
979
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:nth-child(6) {
980
+ animation-delay: 0.3s;
981
+ }
982
+
983
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link][data-active] {
984
+ color: var(--color-primary);
985
+ background: transparent;
986
+ }
987
+
988
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link]:hover {
989
+ color: var(--color-primary);
990
+ }
991
+
992
+ @keyframes rig-overlay-link-in {
993
+ to {
994
+ opacity: 1;
995
+ transform: translateY(0);
996
+ }
997
+ }
998
+
999
+ @media (min-width: 640px) {
1000
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile] {
1001
+ display: flex;
1002
+ }
1003
+ }
1004
+
1005
+ /* ───────── Site Nav — Tabs Variant ───────── */
1006
+
1007
+ [data-rig-site-nav][data-variant='tabs'] {
1008
+ position: fixed !important;
1009
+ bottom: 0;
1010
+ top: auto !important;
1011
+ left: 0;
1012
+ right: 0;
1013
+ z-index: 50;
1014
+ }
1015
+
1016
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-bar] {
1017
+ border-bottom: none;
1018
+ border-top: 1px solid var(--color-border);
1019
+ padding: 6px 8px 2px;
1020
+ background: var(--color-background);
1021
+ }
1022
+
1023
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-container] {
1024
+ justify-content: center;
1025
+ max-width: 32rem;
1026
+ }
1027
+
1028
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-brand] {
1029
+ display: none;
1030
+ }
1031
+
1032
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-links] {
1033
+ display: flex !important;
1034
+ flex: 1;
1035
+ justify-content: space-around;
1036
+ gap: 0;
1037
+ }
1038
+
1039
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-link] {
1040
+ display: flex;
1041
+ flex-direction: column;
1042
+ align-items: center;
1043
+ gap: 2px;
1044
+ padding: 4px 8px;
1045
+ font-size: 10px;
1046
+ border-radius: 8px;
1047
+ min-width: 56px;
1048
+ }
1049
+
1050
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-link] svg {
1051
+ width: 20px;
1052
+ height: 20px;
1053
+ }
1054
+
1055
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-link][data-active] {
1056
+ background: transparent;
1057
+ color: var(--color-primary);
1058
+ }
1059
+
1060
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-actions] {
1061
+ display: none;
1062
+ }
1063
+
1064
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-toggle] {
1065
+ display: none !important;
1066
+ }
1067
+
1068
+ [data-rig-site-nav][data-variant='tabs'] [data-rig-site-nav-mobile] {
1069
+ display: none !important;
1070
+ }
1071
+
1072
+ /* ───────── Site Nav — Reduced Motion ───────── */
1073
+
1074
+ @media (prefers-reduced-motion: reduce) {
1075
+ [data-rig-site-nav][data-variant='theater'] [data-rig-site-nav-link]::after {
1076
+ transition: none;
1077
+ }
1078
+
1079
+ [data-rig-site-nav][data-variant='overlay'] [data-rig-site-nav-mobile-link] {
1080
+ animation: none;
1081
+ opacity: 1;
1082
+ transform: none;
1083
+ }
1084
+ }
1085
+
1086
+ /* ───────── Pricing Card ───────── */
1087
+
1088
+ [data-rig-pricing-card] {
1089
+ display: flex;
1090
+ flex-direction: column;
1091
+ position: relative;
1092
+ padding: 32px 24px;
1093
+ border: 1px solid var(--color-border);
1094
+ border-radius: var(--radius, 8px);
1095
+ background: color-mix(in srgb, var(--color-background) 95%, var(--color-foreground));
1096
+ transition:
1097
+ transform 0.2s,
1098
+ box-shadow 0.2s,
1099
+ border-color 0.2s;
1100
+ }
1101
+
1102
+ [data-rig-pricing-card]:hover {
1103
+ transform: translateY(-2px);
1104
+ box-shadow: 0 8px 24px rgb(0 0 0 / 0.15);
1105
+ }
1106
+
1107
+ [data-rig-pricing-card][data-featured] {
1108
+ border-color: var(--color-primary);
1109
+ box-shadow: 0 0 0 1px var(--color-primary);
1110
+ }
1111
+
1112
+ [data-rig-pricing-card][data-featured]:hover {
1113
+ box-shadow:
1114
+ 0 0 0 1px var(--color-primary),
1115
+ 0 8px 24px rgb(0 0 0 / 0.2);
1116
+ }
1117
+
1118
+ [data-rig-pricing-card-badge] {
1119
+ position: absolute;
1120
+ top: -12px;
1121
+ left: 50%;
1122
+ transform: translateX(-50%);
1123
+ white-space: nowrap;
1124
+ font-size: 12px;
1125
+ font-weight: 600;
1126
+ padding: 4px 12px;
1127
+ border-radius: 9999px;
1128
+ background: var(--color-primary);
1129
+ color: var(--color-primary-foreground);
1130
+ }
1131
+
1132
+ [data-rig-pricing-card-header] {
1133
+ text-align: center;
1134
+ margin-bottom: 24px;
1135
+ }
1136
+
1137
+ [data-rig-pricing-card-title] {
1138
+ font-size: 1.125rem;
1139
+ font-weight: 600;
1140
+ color: var(--color-foreground);
1141
+ }
1142
+
1143
+ [data-rig-pricing-card-price] {
1144
+ display: flex;
1145
+ align-items: baseline;
1146
+ justify-content: center;
1147
+ gap: 4px;
1148
+ margin-top: 8px;
1149
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
1150
+ font-size: 2rem;
1151
+ font-weight: 700;
1152
+ color: var(--color-primary);
1153
+ }
1154
+
1155
+ [data-rig-pricing-card-period] {
1156
+ font-size: 0.875rem;
1157
+ font-weight: 400;
1158
+ color: var(--color-muted-foreground);
1159
+ }
1160
+
1161
+ [data-rig-pricing-card-description] {
1162
+ margin-top: 8px;
1163
+ font-size: 0.875rem;
1164
+ color: var(--color-muted-foreground);
1165
+ }
1166
+
1167
+ [data-rig-pricing-card-features] {
1168
+ flex: 1;
1169
+ margin-bottom: 24px;
1170
+ }
1171
+
1172
+ [data-rig-pricing-card-features] ul {
1173
+ list-style: none;
1174
+ padding: 0;
1175
+ margin: 0;
1176
+ display: flex;
1177
+ flex-direction: column;
1178
+ gap: 8px;
1179
+ }
1180
+
1181
+ [data-rig-pricing-card-features] li {
1182
+ display: flex;
1183
+ align-items: flex-start;
1184
+ gap: 8px;
1185
+ font-size: 0.875rem;
1186
+ color: var(--color-muted-foreground);
1187
+ }
1188
+
1189
+ [data-rig-pricing-card-features] li svg {
1190
+ flex-shrink: 0;
1191
+ width: 16px;
1192
+ height: 16px;
1193
+ margin-top: 2px;
1194
+ color: var(--color-success, var(--color-primary));
1195
+ }
1196
+
1197
+ [data-rig-pricing-card-cta] {
1198
+ margin-top: auto;
1199
+ }
1200
+
1201
+ [data-rig-pricing-card-cta] [data-rig-button] {
1202
+ width: 100%;
1203
+ }
1204
+
1205
+ [data-rig-pricing-card-footer] {
1206
+ margin-top: 16px;
1207
+ padding-top: 16px;
1208
+ border-top: 1px solid var(--color-border);
1209
+ font-size: 0.75rem;
1210
+ color: var(--color-muted-foreground);
1211
+ text-align: center;
1212
+ }
1213
+
1214
+ /* ───────── SectionDivider ───────── */
1215
+
1216
+ [data-rig-section-divider] {
1217
+ position: relative;
1218
+ width: 100%;
1219
+ overflow: hidden;
1220
+ line-height: 0;
1221
+ margin-top: -1px;
1222
+ margin-bottom: -1px;
1223
+ }
1224
+
1225
+ [data-rig-section-divider-svg] {
1226
+ display: block;
1227
+ width: 100%;
1228
+ height: clamp(40px, 8vw, 120px);
1229
+ margin-bottom: -1px;
1230
+ }
1231
+
1232
+ [data-rig-section-divider-path] {
1233
+ fill: var(--section-divider-fill, var(--color-primary));
1234
+ }
1235
+
1236
+ [data-rig-section-divider][data-flip] {
1237
+ transform: scaleY(-1);
1238
+ }
1239
+
1240
+ /* ───────── FlankedHeading ───────── */
1241
+
1242
+ [data-rig-flanked-heading] {
1243
+ display: flex;
1244
+ align-items: center;
1245
+ justify-content: center;
1246
+ gap: 20px;
1247
+ }
1248
+
1249
+ [data-rig-flanked-heading-ornament] {
1250
+ display: none;
1251
+ flex-shrink: 0;
1252
+ color: var(--color-primary);
1253
+ }
1254
+
1255
+ [data-rig-flanked-heading-rule] {
1256
+ display: block;
1257
+ width: 32px;
1258
+ height: 1px;
1259
+ flex-shrink: 0;
1260
+ background: var(--color-muted-foreground);
1261
+ opacity: 0.3;
1262
+ }
1263
+
1264
+ [data-rig-flanked-heading-svg] {
1265
+ width: 60px;
1266
+ height: 20px;
1267
+ }
1268
+
1269
+ @media (min-width: 640px) {
1270
+ [data-rig-flanked-heading-ornament] {
1271
+ display: block;
1272
+ }
1273
+
1274
+ [data-rig-flanked-heading-rule] {
1275
+ display: none;
1276
+ }
1277
+ }
1278
+
1279
+ /* ───────── Ornament ───────── */
1280
+
1281
+ [data-rig-ornament] {
1282
+ display: flex;
1283
+ align-items: center;
1284
+ justify-content: center;
1285
+ color: var(--color-primary);
1286
+ }
1287
+
1288
+ /* ───────── ContactForm ───────── */
1289
+
1290
+ [data-rig-contact-form-body] {
1291
+ display: flex;
1292
+ flex-direction: column;
1293
+ gap: 20px;
1294
+ }
1295
+
1296
+ [data-rig-contact-form-label] {
1297
+ display: block;
1298
+ font-family: var(--font-mono, monospace);
1299
+ font-size: 0.6875rem;
1300
+ text-transform: uppercase;
1301
+ letter-spacing: 0.1em;
1302
+ color: var(--color-muted-foreground);
1303
+ margin-bottom: 6px;
1304
+ }
1305
+
1306
+ [data-rig-contact-form-field] [data-rig-input],
1307
+ [data-rig-contact-form-field] [data-rig-textarea] {
1308
+ width: 100%;
1309
+ }
1310
+
1311
+ [data-rig-contact-form-field-error] {
1312
+ margin-top: 4px;
1313
+ font-size: 0.75rem;
1314
+ color: var(--color-destructive, #ef4444);
1315
+ }
1316
+
1317
+ [data-rig-contact-form-error] {
1318
+ padding: 12px 16px;
1319
+ border: 1px solid color-mix(in srgb, var(--color-destructive, #ef4444) 40%, transparent);
1320
+ background: color-mix(in srgb, var(--color-destructive, #ef4444) 10%, transparent);
1321
+ border-radius: var(--radius, 4px);
1322
+ font-size: 0.875rem;
1323
+ text-align: center;
1324
+ }
1325
+
1326
+ [data-rig-contact-form-success] {
1327
+ text-align: center;
1328
+ }
1329
+
1330
+ [data-rig-contact-form-actions] {
1331
+ text-align: center;
1332
+ }
1333
+
1334
+ /* ───────── ServiceGrid ───────── */
1335
+
1336
+ [data-rig-service-grid] {
1337
+ display: grid;
1338
+ gap: 24px;
1339
+ }
1340
+
1341
+ [data-rig-service-grid][data-layout='grid'] {
1342
+ grid-template-columns: 1fr;
1343
+ }
1344
+
1345
+ [data-rig-service-grid][data-layout='list'],
1346
+ [data-rig-service-grid][data-layout='numbered'] {
1347
+ grid-template-columns: 1fr;
1348
+ }
1349
+
1350
+ [data-rig-service-grid][data-layout='list'] [data-rig-service-grid-item],
1351
+ [data-rig-service-grid][data-layout='numbered'] [data-rig-service-grid-item] {
1352
+ padding-bottom: 24px;
1353
+ border-bottom: 1px solid var(--color-border);
1354
+ }
1355
+
1356
+ [data-rig-service-grid][data-layout='list'] [data-rig-service-grid-item]:last-child,
1357
+ [data-rig-service-grid][data-layout='numbered'] [data-rig-service-grid-item]:last-child {
1358
+ border-bottom: none;
1359
+ padding-bottom: 0;
1360
+ }
1361
+
1362
+ [data-rig-service-grid-number] {
1363
+ font-family: var(--font-serif, var(--font-sans));
1364
+ font-size: 0.875rem;
1365
+ font-weight: 500;
1366
+ color: var(--color-primary);
1367
+ margin-bottom: 8px;
1368
+ }
1369
+
1370
+ [data-rig-service-grid-title] {
1371
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
1372
+ font-weight: 600;
1373
+ color: var(--color-foreground);
1374
+ }
1375
+
1376
+ [data-rig-service-grid-description] {
1377
+ margin-top: 8px;
1378
+ font-size: 0.875rem;
1379
+ line-height: 1.6;
1380
+ color: var(--color-muted-foreground);
1381
+ }
1382
+
1383
+ [data-rig-service-grid-icon] {
1384
+ margin-bottom: 12px;
1385
+ color: var(--color-primary);
1386
+ }
1387
+
1388
+ @media (min-width: 640px) {
1389
+ [data-rig-service-grid][data-layout='grid'][data-columns='2'] {
1390
+ grid-template-columns: repeat(2, 1fr);
1391
+ }
1392
+
1393
+ [data-rig-service-grid][data-layout='grid'][data-columns='3'] {
1394
+ grid-template-columns: repeat(3, 1fr);
1395
+ }
1396
+
1397
+ [data-rig-service-grid][data-layout='grid'][data-columns='4'] {
1398
+ grid-template-columns: repeat(4, 1fr);
1399
+ }
1400
+ }
1401
+
1402
+ /* ───────── TeamGrid ───────── */
1403
+
1404
+ [data-rig-team-grid] {
1405
+ display: grid;
1406
+ gap: 24px;
1407
+ grid-template-columns: 1fr;
1408
+ }
1409
+
1410
+ [data-rig-team-grid-member] {
1411
+ overflow: hidden;
1412
+ }
1413
+
1414
+ [data-rig-team-grid-img] {
1415
+ width: 100%;
1416
+ height: auto;
1417
+ object-fit: cover;
1418
+ }
1419
+
1420
+ [data-rig-team-grid][data-layout='card'] [data-rig-team-grid-img] {
1421
+ aspect-ratio: 3 / 4;
1422
+ }
1423
+
1424
+ [data-rig-team-grid-name] {
1425
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
1426
+ font-weight: 600;
1427
+ color: var(--color-foreground);
1428
+ }
1429
+
1430
+ [data-rig-team-grid-role] {
1431
+ font-size: 0.8125rem;
1432
+ color: var(--color-primary);
1433
+ margin-top: 2px;
1434
+ }
1435
+
1436
+ [data-rig-team-grid-bio] {
1437
+ margin-top: 8px;
1438
+ font-size: 0.875rem;
1439
+ line-height: 1.6;
1440
+ color: var(--color-muted-foreground);
1441
+ }
1442
+
1443
+ [data-rig-team-grid-info] {
1444
+ padding: 16px 0;
1445
+ }
1446
+
1447
+ [data-rig-team-grid-credentials] {
1448
+ margin-top: 12px;
1449
+ font-size: 0.8125rem;
1450
+ color: var(--color-muted-foreground);
1451
+ }
1452
+
1453
+ [data-rig-team-grid][data-layout='horizontal'] [data-rig-team-grid-member] {
1454
+ display: grid;
1455
+ grid-template-columns: 120px 1fr;
1456
+ gap: 20px;
1457
+ align-items: start;
1458
+ }
1459
+
1460
+ [data-rig-team-grid][data-layout='horizontal'] [data-rig-team-grid-img] {
1461
+ aspect-ratio: 1;
1462
+ border-radius: 50%;
1463
+ }
1464
+
1465
+ [data-rig-team-grid][data-layout='compact'] [data-rig-team-grid-info] {
1466
+ padding: 8px 0;
1467
+ }
1468
+
1469
+ @media (min-width: 640px) {
1470
+ [data-rig-team-grid][data-columns='2'] {
1471
+ grid-template-columns: repeat(2, 1fr);
1472
+ }
1473
+
1474
+ [data-rig-team-grid][data-columns='3'] {
1475
+ grid-template-columns: repeat(3, 1fr);
1476
+ }
1477
+
1478
+ [data-rig-team-grid][data-columns='4'] {
1479
+ grid-template-columns: repeat(4, 1fr);
1480
+ }
1481
+ }
1482
+
1483
+ /* ───────── MenuList ───────── */
1484
+
1485
+ [data-rig-menu-list] {
1486
+ display: flex;
1487
+ flex-direction: column;
1488
+ }
1489
+
1490
+ [data-rig-menu-list-item] {
1491
+ display: flex;
1492
+ justify-content: space-between;
1493
+ align-items: baseline;
1494
+ gap: 16px;
1495
+ padding: 12px 0;
1496
+ border-bottom: 1px solid var(--color-border);
1497
+ }
1498
+
1499
+ [data-rig-menu-list-item]:last-child {
1500
+ border-bottom: none;
1501
+ }
1502
+
1503
+ [data-rig-menu-list-content] {
1504
+ flex: 1;
1505
+ min-width: 0;
1506
+ }
1507
+
1508
+ [data-rig-menu-list-name] {
1509
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
1510
+ font-weight: 500;
1511
+ color: var(--color-foreground);
1512
+ }
1513
+
1514
+ [data-rig-menu-list-note] {
1515
+ margin-left: 8px;
1516
+ font-size: 0.75rem;
1517
+ font-style: italic;
1518
+ color: var(--color-muted-foreground);
1519
+ }
1520
+
1521
+ [data-rig-menu-list-description] {
1522
+ margin-top: 4px;
1523
+ font-size: 0.8125rem;
1524
+ line-height: 1.5;
1525
+ color: var(--color-muted-foreground);
1526
+ }
1527
+
1528
+ [data-rig-menu-list-price] {
1529
+ flex-shrink: 0;
1530
+ font-family: var(--font-mono, monospace);
1531
+ font-size: 0.875rem;
1532
+ font-variant-numeric: tabular-nums;
1533
+ color: var(--color-foreground);
1534
+ white-space: nowrap;
1535
+ }
1536
+
1537
+ /* ───────── FeatureList ───────── */
1538
+
1539
+ [data-rig-feature-list] {
1540
+ display: flex;
1541
+ flex-direction: column;
1542
+ gap: 12px;
1543
+ }
1544
+
1545
+ [data-rig-feature-list][data-layout='grid'] {
1546
+ display: grid;
1547
+ grid-template-columns: 1fr;
1548
+ gap: 16px;
1549
+ }
1550
+
1551
+ [data-rig-feature-list][data-layout='inline'] {
1552
+ flex-direction: row;
1553
+ flex-wrap: wrap;
1554
+ gap: 8px 16px;
1555
+ }
1556
+
1557
+ [data-rig-feature-list-item] {
1558
+ display: flex;
1559
+ align-items: flex-start;
1560
+ gap: 10px;
1561
+ }
1562
+
1563
+ [data-rig-feature-list-icon] {
1564
+ flex-shrink: 0;
1565
+ width: 20px;
1566
+ height: 20px;
1567
+ margin-top: 2px;
1568
+ color: var(--color-primary);
1569
+ }
1570
+
1571
+ [data-rig-feature-list-text] {
1572
+ font-size: 0.875rem;
1573
+ color: var(--color-foreground);
1574
+ }
1575
+
1576
+ [data-rig-feature-list-detail] {
1577
+ font-size: 0.8125rem;
1578
+ color: var(--color-muted-foreground);
1579
+ margin-top: 2px;
1580
+ }
1581
+
1582
+ @media (min-width: 640px) {
1583
+ [data-rig-feature-list][data-layout='grid'][data-columns='2'] {
1584
+ grid-template-columns: repeat(2, 1fr);
1585
+ }
1586
+
1587
+ [data-rig-feature-list][data-layout='grid'][data-columns='3'] {
1588
+ grid-template-columns: repeat(3, 1fr);
1589
+ }
1590
+
1591
+ [data-rig-feature-list][data-layout='grid'][data-columns='4'] {
1592
+ grid-template-columns: repeat(4, 1fr);
1593
+ }
1594
+ }
1595
+
1596
+ /* ───────── Gallery ───────── */
1597
+
1598
+ [data-rig-gallery] {
1599
+ display: flex;
1600
+ flex-direction: column;
1601
+ gap: 48px;
1602
+ }
1603
+
1604
+ [data-rig-gallery][data-layout='alternating'] [data-rig-gallery-item] {
1605
+ display: grid;
1606
+ grid-template-columns: 1fr;
1607
+ gap: 24px;
1608
+ align-items: center;
1609
+ }
1610
+
1611
+ [data-rig-gallery-img] {
1612
+ width: 100%;
1613
+ height: auto;
1614
+ object-fit: cover;
1615
+ border-radius: var(--radius, 4px);
1616
+ }
1617
+
1618
+ [data-rig-gallery-title] {
1619
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
1620
+ font-weight: 600;
1621
+ font-size: 1.25rem;
1622
+ color: var(--color-foreground);
1623
+ }
1624
+
1625
+ [data-rig-gallery-description] {
1626
+ margin-top: 12px;
1627
+ font-size: 0.9375rem;
1628
+ line-height: 1.7;
1629
+ color: var(--color-muted-foreground);
1630
+ }
1631
+
1632
+ [data-rig-gallery][data-layout='grid'] {
1633
+ display: grid;
1634
+ grid-template-columns: repeat(2, 1fr);
1635
+ gap: 24px;
1636
+ }
1637
+
1638
+ @media (min-width: 640px) {
1639
+ [data-rig-gallery][data-layout='alternating'] [data-rig-gallery-item] {
1640
+ grid-template-columns: 1fr 1fr;
1641
+ }
1642
+
1643
+ [data-rig-gallery][data-layout='alternating']
1644
+ [data-rig-gallery-item]:not([data-image-first])
1645
+ [data-rig-gallery-image] {
1646
+ order: 2;
1647
+ }
1648
+
1649
+ [data-rig-gallery][data-layout='alternating']
1650
+ [data-rig-gallery-item]:not([data-image-first])
1651
+ [data-rig-gallery-content] {
1652
+ order: 1;
1653
+ }
1654
+
1655
+ [data-rig-gallery][data-layout='grid'] {
1656
+ grid-template-columns: repeat(3, 1fr);
1657
+ }
1658
+ }
1659
+
1660
+ /* ───────── MapPlaceholder ───────── */
1661
+
1662
+ [data-rig-map-placeholder] {
1663
+ display: flex;
1664
+ flex-direction: column;
1665
+ align-items: center;
1666
+ justify-content: center;
1667
+ gap: 12px;
1668
+ background: var(--color-card);
1669
+ border: 1px solid var(--color-border);
1670
+ border-radius: var(--radius, 4px);
1671
+ text-align: center;
1672
+ padding: 32px 24px;
1673
+ }
1674
+
1675
+ [data-rig-map-pin] {
1676
+ color: var(--color-primary);
1677
+ opacity: 0.6;
1678
+ }
1679
+
1680
+ [data-rig-map-address] {
1681
+ font-size: 0.875rem;
1682
+ font-weight: 500;
1683
+ color: var(--color-foreground);
1684
+ }
1685
+
1686
+ [data-rig-map-description] {
1687
+ font-size: 0.8125rem;
1688
+ color: var(--color-muted-foreground);
1689
+ }