@utopia-studio-design/design-system-cli 0.1.0 → 0.2.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 (52) hide show
  1. package/README.md +12 -41
  2. package/bin/utopia-ds-mcp.mjs +55 -0
  3. package/bin/utopia-ds.mjs +233 -318
  4. package/data/docs/ai-platform-plan.md +53 -0
  5. package/data/docs/arabic-friendly.md +72 -0
  6. package/data/docs/foundations.md +154 -0
  7. package/data/docs/guide.md +37 -0
  8. package/data/docs/quick-start-ai.md +122 -0
  9. package/data/docs/shadcn-conversion.md +35 -0
  10. package/data/docs/theme-authoring.md +46 -0
  11. package/data/manifests/catalog.json +546 -0
  12. package/data/manifests/components.json +4780 -0
  13. package/data/manifests/patterns.json +12 -0
  14. package/data/manifests/templates.json +96 -0
  15. package/data/manifests/theme-barrier-intelligence.json +123 -0
  16. package/data/manifests/theme-dextrum.json +255 -0
  17. package/data/manifests/theme-utopia-default.json +163 -0
  18. package/data/manifests/themes.json +417 -0
  19. package/data/templates/saas-solution-homepage/README.md +52 -0
  20. package/data/templates/saas-solution-homepage/agents/index.html +1 -0
  21. package/data/templates/saas-solution-homepage/changelog/index.html +1 -0
  22. package/data/templates/saas-solution-homepage/contact-sales/index.html +1 -0
  23. package/data/templates/saas-solution-homepage/customers/aster-labs/index.html +1 -0
  24. package/data/templates/saas-solution-homepage/customers/index.html +1 -0
  25. package/data/templates/saas-solution-homepage/index.html +17 -0
  26. package/data/templates/saas-solution-homepage/integrations/index.html +1 -0
  27. package/data/templates/saas-solution-homepage/integrations/slack/index.html +1 -0
  28. package/data/templates/saas-solution-homepage/main.tsx +642 -0
  29. package/data/templates/saas-solution-homepage/pricing/index.html +1 -0
  30. package/data/templates/saas-solution-homepage/product/index.html +1 -0
  31. package/data/templates/saas-solution-homepage/styles.css +863 -0
  32. package/data/templates/saas-solution-homepage/template.manifest.json +36 -0
  33. package/lib/api.mjs +146 -0
  34. package/package.json +13 -20
  35. package/LICENSE +0 -21
  36. package/templates/agent-docs/examples.md +0 -33
  37. package/templates/agent-docs/index.md +0 -78
  38. package/templates/agent-docs/llms.txt +0 -33
  39. package/templates/components/badge.tsx +0 -12
  40. package/templates/components/brand-action.tsx +0 -32
  41. package/templates/components/button-group.tsx +0 -30
  42. package/templates/components/button.tsx +0 -44
  43. package/templates/components/card.tsx +0 -23
  44. package/templates/components/cta-section.tsx +0 -34
  45. package/templates/components/icon-button.tsx +0 -44
  46. package/templates/components/page-hero.tsx +0 -47
  47. package/templates/components/tooltip.tsx +0 -48
  48. package/templates/components/topbar.tsx +0 -59
  49. package/templates/lib/utils.ts +0 -6
  50. package/templates/styles/styles.css +0 -271
  51. package/templates/styles/tokens.css +0 -21
  52. package/templates/tokens.json +0 -41
@@ -0,0 +1,863 @@
1
+ :root {
2
+ scroll-behavior: smooth;
3
+ --template-max-inline: 78rem;
4
+ --template-reading-inline: 44rem;
5
+ --template-header-block: 4.5rem;
6
+ --template-section-block: clamp(var(--space-16), 11vw, var(--space-32));
7
+ --template-grid-line: color-mix(in srgb, var(--border) 62%, transparent);
8
+ --template-surface-subtle: color-mix(in srgb, var(--surface) 72%, transparent);
9
+ }
10
+
11
+ html {
12
+ background: var(--background);
13
+ scroll-padding-block-start: calc(var(--template-header-block) + var(--space-4));
14
+ }
15
+
16
+ body { overflow-x: hidden; }
17
+
18
+ button,
19
+ a { -webkit-tap-highlight-color: transparent; }
20
+
21
+ .skip-link {
22
+ position: fixed;
23
+ z-index: calc(var(--z-modal) + 1);
24
+ inset-block-start: var(--space-2);
25
+ inset-inline-start: var(--space-2);
26
+ translate: 0 -160%;
27
+ border: var(--border-width-hairline) solid var(--border);
28
+ background: var(--background);
29
+ color: var(--foreground);
30
+ padding-block: var(--space-2);
31
+ padding-inline: var(--space-4);
32
+ }
33
+
34
+ .skip-link:focus { translate: 0; }
35
+
36
+ .template-shell {
37
+ min-block-size: 100vh;
38
+ background: var(--background);
39
+ color: var(--foreground);
40
+ }
41
+
42
+ .template-shell :where(a, button, input, select, textarea, .uds-card) {
43
+ transition:
44
+ background-color var(--motion-duration-press) var(--motion-ease-standard),
45
+ border-color var(--motion-duration-press) var(--motion-ease-standard),
46
+ color var(--motion-duration-press) var(--motion-ease-standard),
47
+ box-shadow var(--motion-duration-press) var(--motion-ease-standard),
48
+ transform var(--motion-duration-press) var(--motion-ease-standard);
49
+ }
50
+
51
+ .site-header {
52
+ position: fixed;
53
+ z-index: var(--z-overlay);
54
+ inset-block-start: 0;
55
+ inset-inline: 0;
56
+ transition:
57
+ padding var(--duration-medium) var(--ease-standard),
58
+ background-color var(--duration-medium) var(--ease-standard);
59
+ }
60
+
61
+ .site-header[data-isolated] {
62
+ padding-block-start: var(--space-2);
63
+ padding-inline: var(--space-2);
64
+ }
65
+
66
+ .nav-frame {
67
+ display: grid;
68
+ grid-template-columns: auto minmax(0, 1fr) auto;
69
+ align-items: center;
70
+ gap: var(--space-6);
71
+ inline-size: min(100%, var(--template-max-inline));
72
+ min-block-size: var(--template-header-block);
73
+ margin-inline: auto;
74
+ padding-inline: var(--space-6);
75
+ border: var(--border-width-hairline) solid transparent;
76
+ background: transparent;
77
+ transition:
78
+ min-block-size var(--duration-medium) var(--ease-standard),
79
+ border-color var(--duration-medium) var(--ease-standard),
80
+ background-color var(--duration-medium) var(--ease-standard),
81
+ backdrop-filter var(--duration-medium) var(--ease-standard);
82
+ }
83
+
84
+ .site-header[data-isolated] .nav-frame {
85
+ min-block-size: calc(var(--template-header-block) - var(--space-2));
86
+ border-color: var(--border);
87
+ background: color-mix(in srgb, var(--background) 86%, transparent);
88
+ backdrop-filter: blur(var(--space-3));
89
+ }
90
+
91
+ .product-logo,
92
+ .window-brand {
93
+ display: inline-flex;
94
+ align-items: center;
95
+ gap: var(--space-2);
96
+ font-weight: var(--font-weight-strong);
97
+ letter-spacing: var(--tracking-heading);
98
+ white-space: nowrap;
99
+ }
100
+
101
+ .brand-mark {
102
+ position: relative;
103
+ display: inline-block;
104
+ inline-size: var(--space-4);
105
+ block-size: var(--space-4);
106
+ border: var(--border-width-strong) solid currentColor;
107
+ }
108
+
109
+ .brand-mark::after {
110
+ content: '';
111
+ position: absolute;
112
+ inset-block-start: 50%;
113
+ inset-inline: calc(-1 * var(--space-2));
114
+ block-size: var(--border-width-strong);
115
+ background: var(--primary);
116
+ }
117
+
118
+ .site-links { justify-content: center; }
119
+ .site-links .uds-top-nav { justify-content: center; }
120
+ .site-links .uds-top-nav-item { font-size: var(--font-size-small); }
121
+
122
+ .nav-actions {
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: flex-end;
126
+ gap: var(--space-1);
127
+ }
128
+
129
+ .nav-actions svg,
130
+ .hero-actions svg,
131
+ .pricing-card svg { inline-size: var(--icon-size-sm); block-size: var(--icon-size-sm); }
132
+ .menu-button { display: none; }
133
+
134
+ .mobile-menu {
135
+ display: none;
136
+ inline-size: min(calc(100% - var(--space-4)), var(--template-max-inline));
137
+ margin-inline: auto;
138
+ border: var(--border-width-hairline) solid var(--border);
139
+ border-block-start: 0;
140
+ background: var(--background);
141
+ }
142
+
143
+ .mobile-menu a {
144
+ display: flex;
145
+ align-items: center;
146
+ justify-content: space-between;
147
+ padding-block: var(--space-4);
148
+ padding-inline: var(--space-4);
149
+ border-block-end: var(--border-width-hairline) solid var(--border);
150
+ }
151
+
152
+ .directional-icon { transition: transform var(--duration-fast) var(--ease-standard); }
153
+ :dir(rtl) .directional-icon { transform: scaleX(-1); }
154
+
155
+ .hero {
156
+ position: relative;
157
+ display: grid;
158
+ place-items: center;
159
+ min-block-size: min(58rem, 100svh);
160
+ padding-block: calc(var(--template-header-block) + var(--space-16)) var(--space-24);
161
+ padding-inline: var(--gutter);
162
+ overflow: hidden;
163
+ text-align: center;
164
+ }
165
+
166
+ .hero-grid {
167
+ position: absolute;
168
+ inset: 0;
169
+ opacity: .42;
170
+ background-image:
171
+ linear-gradient(90deg, transparent calc(100% - var(--border-width-hairline)), var(--template-grid-line) var(--border-width-hairline)),
172
+ linear-gradient(to bottom, transparent calc(100% - var(--border-width-hairline)), var(--template-grid-line) var(--border-width-hairline));
173
+ background-size: var(--space-16) var(--space-16);
174
+ mask-image: linear-gradient(to bottom, transparent, black 22%, black 72%, transparent);
175
+ pointer-events: none;
176
+ }
177
+
178
+ .hero::after {
179
+ content: '';
180
+ position: absolute;
181
+ inset-inline: 18%;
182
+ inset-block-start: 20%;
183
+ block-size: 42%;
184
+ background: color-mix(in srgb, var(--primary) 15%, transparent);
185
+ filter: blur(var(--space-32));
186
+ opacity: .45;
187
+ pointer-events: none;
188
+ }
189
+
190
+ .hero > :not(.hero-grid) { position: relative; z-index: 1; }
191
+
192
+ .announcement {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ gap: var(--space-2);
196
+ min-block-size: var(--button-height-sm);
197
+ margin-block-end: var(--space-8);
198
+ padding-inline: var(--space-3);
199
+ border: var(--border-width-hairline) solid var(--border);
200
+ background: var(--template-surface-subtle);
201
+ color: var(--muted-foreground);
202
+ font-size: var(--font-size-small);
203
+ }
204
+
205
+ .announcement:hover { border-color: var(--ring); color: var(--foreground); }
206
+ .announcement svg { inline-size: var(--icon-size-xs); }
207
+
208
+ .eyebrow {
209
+ margin: 0;
210
+ color: var(--primary);
211
+ font-size: var(--font-size-eyebrow);
212
+ font-weight: var(--font-weight-strong);
213
+ letter-spacing: var(--tracking-eyebrow);
214
+ text-transform: uppercase;
215
+ }
216
+
217
+ :lang(ar) .eyebrow { letter-spacing: var(--tracking-arabic); }
218
+
219
+ .hero h1 {
220
+ max-inline-size: 61rem;
221
+ margin-block: var(--space-4) 0;
222
+ font-size: clamp(3.25rem, 8vw, 7.5rem);
223
+ font-weight: var(--font-weight-medium);
224
+ letter-spacing: -.055em;
225
+ line-height: .92;
226
+ text-wrap: balance;
227
+ }
228
+
229
+ :lang(ar) .hero h1 {
230
+ max-inline-size: 56rem;
231
+ font-family: var(--font-arabic-display);
232
+ font-weight: var(--font-weight-arabic-display);
233
+ letter-spacing: var(--tracking-arabic-display);
234
+ line-height: var(--line-height-arabic-display);
235
+ }
236
+
237
+ .hero-copy {
238
+ max-inline-size: 43rem;
239
+ margin-block: var(--space-6) 0;
240
+ color: var(--muted-foreground);
241
+ font-size: var(--font-size-body-lg);
242
+ text-wrap: balance;
243
+ }
244
+
245
+ .hero-actions {
246
+ display: flex;
247
+ flex-wrap: wrap;
248
+ justify-content: center;
249
+ gap: var(--space-2);
250
+ margin-block-start: var(--space-8);
251
+ }
252
+
253
+ .hero-proof {
254
+ display: flex;
255
+ align-items: baseline;
256
+ gap: var(--space-3);
257
+ max-inline-size: 26rem;
258
+ margin-block-start: var(--space-16);
259
+ text-align: start;
260
+ }
261
+
262
+ .hero-proof span { font-size: clamp(2.2rem, 5vw, 4rem); font-weight: var(--font-weight-medium); letter-spacing: -.04em; }
263
+ .hero-proof p { margin: 0; color: var(--muted-foreground); font-size: var(--font-size-small); }
264
+
265
+ .section {
266
+ inline-size: min(100%, var(--template-max-inline));
267
+ margin-inline: auto;
268
+ padding-block: var(--template-section-block);
269
+ padding-inline: var(--gutter);
270
+ border-block-start: var(--border-width-hairline) solid var(--border);
271
+ }
272
+
273
+ .section-heading {
274
+ display: grid;
275
+ grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr);
276
+ gap: var(--space-4) var(--space-16);
277
+ align-items: end;
278
+ margin-block-end: var(--space-16);
279
+ }
280
+
281
+ .section-heading .eyebrow { grid-column: 1 / -1; }
282
+
283
+ .section-heading h2 {
284
+ max-inline-size: 48rem;
285
+ margin: 0;
286
+ font-size: clamp(2.4rem, 5vw, 5rem);
287
+ font-weight: var(--font-weight-medium);
288
+ letter-spacing: -.045em;
289
+ line-height: .98;
290
+ text-wrap: balance;
291
+ }
292
+
293
+ :lang(ar) .section-heading h2 { font-family: var(--font-arabic-display); letter-spacing: 0; line-height: 1.18; }
294
+
295
+ .section-heading > p:last-child {
296
+ margin: 0;
297
+ color: var(--muted-foreground);
298
+ font-size: var(--font-size-body-lg);
299
+ }
300
+
301
+ .product-window {
302
+ border: var(--border-width-hairline) solid var(--border);
303
+ background: var(--surface);
304
+ box-shadow: 0 var(--space-8) var(--space-24) color-mix(in srgb, var(--background) 72%, transparent);
305
+ overflow: hidden;
306
+ }
307
+
308
+ .window-bar {
309
+ display: grid;
310
+ grid-template-columns: 1fr minmax(16rem, 1.4fr) 1fr;
311
+ align-items: center;
312
+ gap: var(--space-4);
313
+ min-block-size: 3.75rem;
314
+ padding-inline: var(--space-4);
315
+ border-block-end: var(--border-width-hairline) solid var(--border);
316
+ background: var(--background);
317
+ font-size: var(--font-size-small);
318
+ }
319
+
320
+ .window-search {
321
+ display: flex;
322
+ align-items: center;
323
+ gap: var(--space-2);
324
+ min-block-size: var(--button-height-sm);
325
+ padding-inline: var(--space-3);
326
+ border: var(--border-width-hairline) solid var(--border);
327
+ color: var(--muted-foreground);
328
+ }
329
+
330
+ .window-search svg { inline-size: var(--icon-size-xs); }
331
+ .window-search kbd { margin-inline-start: auto; font-family: var(--font-mono); }
332
+ .presence { justify-self: end; display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted-foreground); }
333
+ .presence > span { inline-size: var(--space-2); block-size: var(--space-2); background: var(--success-text); border-radius: 50%; }
334
+
335
+ .window-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); min-block-size: 39rem; }
336
+
337
+ .preview-sidebar {
338
+ display: flex;
339
+ flex-direction: column;
340
+ gap: var(--space-1);
341
+ padding: var(--space-4);
342
+ border-inline-end: var(--border-width-hairline) solid var(--border);
343
+ background: var(--background);
344
+ }
345
+
346
+ .preview-sidebar > strong { padding-block: var(--space-2) var(--space-4); padding-inline: var(--space-2); font-size: var(--font-size-small); }
347
+ .preview-sidebar button {
348
+ display: flex;
349
+ align-items: center;
350
+ gap: var(--space-2);
351
+ min-block-size: var(--button-height);
352
+ padding-inline: var(--space-3);
353
+ border: 0;
354
+ border-radius: var(--radius-control);
355
+ background: transparent;
356
+ color: var(--muted-foreground);
357
+ font: inherit;
358
+ text-align: start;
359
+ cursor: pointer;
360
+ }
361
+
362
+ .preview-sidebar button:hover,
363
+ .preview-sidebar button[aria-pressed='true'] { background: var(--surface-hover); color: var(--foreground); }
364
+ .preview-sidebar button[aria-pressed='true'] { box-shadow: inset var(--border-width-strong) 0 0 var(--primary); }
365
+ :dir(rtl) .preview-sidebar button[aria-pressed='true'] { box-shadow: inset calc(-1 * var(--border-width-strong)) 0 0 var(--primary); }
366
+ .preview-sidebar button svg { inline-size: var(--icon-size-sm); }
367
+ .preview-sidebar__footer { display: flex; align-items: center; gap: var(--space-2); margin-block-start: auto; padding: var(--space-2); color: var(--muted-foreground); font-size: var(--font-size-small); }
368
+ .preview-sidebar__footer svg { inline-size: var(--icon-size-sm); color: var(--success-text); }
369
+
370
+ .preview-main { min-inline-size: 0; padding: var(--space-8); background-image: linear-gradient(var(--template-grid-line) var(--border-width-hairline), transparent var(--border-width-hairline)), linear-gradient(90deg, var(--template-grid-line) var(--border-width-hairline), transparent var(--border-width-hairline)); background-size: var(--space-8) var(--space-8); }
371
+ .preview-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-block-end: var(--space-8); }
372
+ .preview-toolbar p { margin: 0 0 var(--space-1); color: var(--muted-foreground); font-size: var(--font-size-small); }
373
+ .preview-toolbar h3 { margin: 0; font-size: 1.75rem; font-weight: var(--font-weight-medium); }
374
+
375
+ .metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
376
+ .metric-grid > div { display: grid; gap: var(--space-2); padding: var(--space-4); border: var(--border-width-hairline) solid var(--border); background: var(--background); }
377
+ .metric-grid span { color: var(--muted-foreground); font-size: var(--font-size-small); }
378
+ .metric-grid strong { font-size: 2rem; font-weight: var(--font-weight-medium); }
379
+ .metric-grid small { color: var(--success-text); }
380
+
381
+ .activity-panel { margin-block-start: var(--space-4); border: var(--border-width-hairline) solid var(--border); background: var(--background); }
382
+ .activity-head { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-block-end: var(--border-width-hairline) solid var(--border); }
383
+ .activity-head span { color: var(--success-text); font-size: var(--font-size-small); }
384
+ .activity-labels,
385
+ .activity-row { display: grid; grid-template-columns: minmax(14rem, 1.5fr) minmax(8rem, .8fr) minmax(9rem, .7fr); align-items: center; gap: var(--space-3); padding-block: var(--space-3); padding-inline: var(--space-4); }
386
+ .activity-labels { color: var(--muted-foreground); font-size: var(--font-size-supporting); }
387
+ .activity-row { border-block-start: var(--border-width-hairline) solid var(--border); font-size: var(--font-size-small); animation: row-in var(--motion-duration-reveal) var(--motion-ease-emphasized) both; animation-delay: var(--row-delay); }
388
+ .activity-row > span { display: flex; align-items: center; gap: var(--space-2); min-inline-size: 0; }
389
+ .activity-row i { display: inline-grid; place-items: center; inline-size: var(--space-6); block-size: var(--space-6); background: var(--surface-strong); font-style: normal; }
390
+ .activity-row b { inline-size: var(--space-2); block-size: var(--space-2); border-radius: 50%; background: var(--primary); }
391
+
392
+ .logo-proof { display: grid; grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr); align-items: center; gap: var(--space-8); margin-block-start: var(--space-16); }
393
+ .logo-proof p { margin: 0; color: var(--muted-foreground); font-size: var(--font-size-small); }
394
+ .logo-proof > div { display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: var(--space-4); }
395
+ .logo-proof span { color: var(--foreground-subtle); font-size: var(--font-size-small); font-weight: var(--font-weight-strong); letter-spacing: .08em; text-align: center; }
396
+
397
+ .workflow-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
398
+ .workflow-step { position: relative; min-block-size: 21rem; padding-block: var(--space-6); padding-inline: var(--space-6); border-block: var(--border-width-hairline) solid var(--border); border-inline-start: var(--border-width-hairline) solid var(--border); }
399
+ .workflow-step:last-child { border-inline-end: var(--border-width-hairline) solid var(--border); }
400
+ .workflow-step > span { color: var(--primary); font-family: var(--font-mono); font-size: var(--font-size-small); }
401
+ .workflow-step > div { display: grid; align-content: end; block-size: 100%; }
402
+ .workflow-step h3 { margin: 0 0 var(--space-3); font-size: 1.6rem; font-weight: var(--font-weight-medium); }
403
+ .workflow-step p { margin: 0; color: var(--muted-foreground); }
404
+ .step-arrow { position: absolute; inset-block-start: var(--space-6); inset-inline-end: calc(-1 * var(--space-3)); z-index: 1; inline-size: var(--space-6); block-size: var(--space-6); padding: var(--space-1); background: var(--background); color: var(--muted-foreground); }
405
+
406
+ .agents-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr); align-items: center; gap: var(--space-16); }
407
+ .agents-section .section-heading { display: grid; grid-template-columns: 1fr; margin: 0; }
408
+ .agents-section .section-heading .eyebrow { grid-column: auto; }
409
+ .agents-section .section-heading h2 { font-size: clamp(2.4rem, 4vw, 4.25rem); }
410
+ .check-list { display: grid; gap: var(--space-3); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
411
+ .check-list li { display: flex; align-items: flex-start; gap: var(--space-3); color: var(--muted-foreground); }
412
+ .check-list svg { flex: 0 0 auto; inline-size: var(--icon-size-sm); margin-block-start: var(--space-1); color: var(--primary); }
413
+
414
+ .agent-console { border: var(--border-width-hairline) solid var(--border); background: var(--surface); }
415
+ .console-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-block-end: var(--border-width-hairline) solid var(--border); }
416
+ .console-head > span { display: flex; align-items: center; gap: var(--space-2); font-weight: var(--font-weight-medium); }
417
+ .console-head svg { inline-size: var(--icon-size-sm); }
418
+ .agent-flow { display: grid; gap: var(--space-2); padding: var(--space-6); }
419
+ .agent-flow > div { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); min-block-size: 4.25rem; padding-inline: var(--space-4); border: var(--border-width-hairline) solid var(--border); background: var(--background); }
420
+ .agent-flow > div > span { color: var(--primary); font-family: var(--font-mono); font-size: var(--font-size-small); }
421
+ .agent-flow p { margin: 0; }
422
+ .agent-flow small { color: var(--muted-foreground); }
423
+ .agent-flow > i { inline-size: var(--border-width-hairline); block-size: var(--space-4); margin-inline-start: calc(var(--space-6) + var(--space-1)); background: var(--border); }
424
+ .agent-flow .requires-review { border-color: var(--primary); }
425
+ .console-note { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-4); border-block-start: var(--border-width-hairline) solid var(--border); color: var(--muted-foreground); font-size: var(--font-size-small); }
426
+ .console-note svg { flex: 0 0 auto; inline-size: var(--icon-size-sm); }
427
+
428
+ .integration-stage { position: relative; display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr); gap: var(--space-8); padding: var(--space-8); border: var(--border-width-hairline) solid var(--border); background-image: radial-gradient(circle at center, color-mix(in srgb, var(--primary) 12%, transparent), transparent 52%); }
429
+ .integration-core { display: grid; align-content: center; justify-items: start; gap: var(--space-2); min-block-size: 20rem; padding: var(--space-8); border: var(--border-width-hairline) solid var(--primary); background: var(--background); }
430
+ .integration-core svg { inline-size: var(--space-8); block-size: var(--space-8); color: var(--primary); }
431
+ .integration-core strong { font-size: 2rem; }
432
+ .integration-core span { color: var(--muted-foreground); }
433
+ .integration-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
434
+ .integration-grid > div { display: grid; align-content: center; justify-items: start; gap: var(--space-2); min-block-size: 10rem; padding: var(--space-4); border-block-start: var(--border-width-hairline) solid var(--border); border-inline-start: var(--border-width-hairline) solid var(--border); background: var(--template-surface-subtle); transition: background var(--duration-fast) var(--ease-standard); }
435
+ .integration-grid > div:nth-last-child(-n + 4) { border-block-end: var(--border-width-hairline) solid var(--border); }
436
+ .integration-grid > div:nth-child(4n) { border-inline-end: var(--border-width-hairline) solid var(--border); }
437
+ .integration-grid > div:hover { background: var(--surface-strong); }
438
+ .integration-grid > div > span { display: inline-grid; place-items: center; inline-size: var(--button-height); block-size: var(--button-height); border: var(--border-width-hairline) solid var(--border); }
439
+ .integration-grid svg { inline-size: var(--icon-size-sm); }
440
+ .integration-grid small { color: var(--success-text); }
441
+
442
+ .security-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
443
+ .motion-card-wrap,
444
+ .motion-card-wrap > .uds-card { block-size: 100%; }
445
+ .security-card { min-block-size: 22rem; }
446
+ .security-card .uds-card-header { grid-template-columns: 1fr; align-content: start; min-block-size: 16rem; }
447
+ .security-card .uds-card-title,
448
+ .security-card .uds-card-description { grid-column: 1; }
449
+ .security-card .uds-card-content { border-block-start: var(--border-width-hairline) solid var(--border); }
450
+ .security-card .uds-card-content span { display: flex; align-items: center; gap: var(--space-2); color: var(--muted-foreground); font-size: var(--font-size-small); }
451
+ .security-card .uds-card-content svg { inline-size: var(--icon-size-sm); color: var(--primary); }
452
+ .security-icon { display: grid; place-items: center; inline-size: var(--space-16); block-size: var(--space-16); margin-block-end: var(--space-8); border: var(--border-width-hairline) solid var(--border); background: var(--surface-strong); }
453
+ .security-icon svg { inline-size: var(--space-8); block-size: var(--space-8); }
454
+ .reliability-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-block-start: var(--space-8); border: var(--border-width-hairline) solid var(--border); }
455
+ .reliability-strip span { display: grid; gap: var(--space-1); padding-block: var(--space-6); padding-inline: var(--space-6); color: var(--muted-foreground); font-size: var(--font-size-small); }
456
+ .reliability-strip span + span { border-inline-start: var(--border-width-hairline) solid var(--border); }
457
+ .reliability-strip b { color: var(--foreground); font-size: 1.7rem; font-weight: var(--font-weight-medium); }
458
+
459
+ .proof-section { display: grid; grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); gap: var(--space-16); align-items: end; }
460
+ .proof-number span { color: var(--primary); font-size: clamp(4rem, 11vw, 9rem); font-weight: var(--font-weight-medium); letter-spacing: -.07em; line-height: .8; }
461
+ .proof-number p { max-inline-size: 15rem; margin: var(--space-6) 0 0; color: var(--muted-foreground); }
462
+ .quote { margin: 0; }
463
+ .quote blockquote { margin: var(--space-6) 0 var(--space-8); font-size: clamp(1.8rem, 3.4vw, 3.3rem); font-weight: var(--font-weight-medium); letter-spacing: -.035em; line-height: 1.12; }
464
+ :lang(ar) .quote blockquote { letter-spacing: 0; line-height: 1.55; }
465
+ .quote figcaption { display: flex; align-items: center; gap: var(--space-3); }
466
+ .quote figcaption > span { display: grid; place-items: center; inline-size: var(--button-height-lg); block-size: var(--button-height-lg); background: var(--secondary); color: var(--secondary-foreground); font-weight: var(--font-weight-strong); }
467
+ .quote figcaption div { display: grid; }
468
+ .quote figcaption small { color: var(--muted-foreground); }
469
+
470
+ .pricing-section { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .75fr); gap: var(--space-16); align-items: center; }
471
+ .pricing-section .section-heading { display: grid; grid-template-columns: 1fr; margin-block-end: var(--space-8); }
472
+ .pricing-section .section-heading .eyebrow { grid-column: auto; }
473
+ .pricing-card .uds-card-header { grid-template-columns: 1fr; }
474
+ .pricing-card .uds-card-content { display: grid; gap: var(--space-6); padding-block-start: 0; }
475
+ .price { display: flex; align-items: baseline; gap: var(--space-2); padding-block: var(--space-6); border-block: var(--border-width-hairline) solid var(--border); }
476
+ .price > span { color: var(--muted-foreground); font-size: 1.5rem; }
477
+ .price strong { font-size: 4.5rem; font-weight: var(--font-weight-medium); letter-spacing: -.06em; line-height: 1; }
478
+ .price small { color: var(--muted-foreground); }
479
+ .pricing-card ul { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
480
+ .pricing-card li { display: flex; align-items: center; gap: var(--space-2); }
481
+ .pricing-card li svg { color: var(--primary); }
482
+ .pricing-card .uds-card-content > p { margin: 0; color: var(--muted-foreground); font-size: var(--font-size-small); }
483
+
484
+ .site-footer {
485
+ display: grid;
486
+ grid-template-columns: auto minmax(12rem, 1fr) auto;
487
+ align-items: start;
488
+ gap: var(--space-8);
489
+ inline-size: min(100%, var(--template-max-inline));
490
+ margin-inline: auto;
491
+ padding-block: var(--space-16) var(--space-8);
492
+ padding-inline: var(--gutter);
493
+ border-block-start: var(--border-width-hairline) solid var(--border);
494
+ }
495
+
496
+ .site-footer p { max-inline-size: 24rem; margin: 0; color: var(--muted-foreground); }
497
+ .site-footer > div { display: grid; grid-template-columns: repeat(2, auto); gap: var(--space-2) var(--space-6); font-size: var(--font-size-small); }
498
+ .site-footer > div a:hover { color: var(--primary); }
499
+ .site-footer small { grid-column: 1 / -1; margin-block-start: var(--space-8); color: var(--foreground-subtle); }
500
+
501
+ .sr-only {
502
+ position: absolute;
503
+ inline-size: var(--border-width-hairline);
504
+ block-size: var(--border-width-hairline);
505
+ overflow: hidden;
506
+ clip: rect(0, 0, 0, 0);
507
+ white-space: nowrap;
508
+ }
509
+
510
+ .page-hero-secondary {
511
+ position: relative;
512
+ display: grid;
513
+ justify-items: start;
514
+ min-block-size: 42rem;
515
+ padding-block: calc(var(--template-header-block) + var(--space-24)) var(--space-24);
516
+ padding-inline: max(var(--gutter), calc((100% - var(--template-max-inline)) / 2 + var(--gutter)));
517
+ overflow: hidden;
518
+ border-block-end: var(--border-width-hairline) solid var(--border);
519
+ }
520
+
521
+ .page-hero-secondary > :not(.hero-grid) { position: relative; z-index: 1; }
522
+ .page-hero-secondary h1,
523
+ .detail-hero h1,
524
+ .case-study header h1,
525
+ .contact-layout h1,
526
+ .contact-success h1 {
527
+ max-inline-size: 67rem;
528
+ margin-block: var(--space-6) 0;
529
+ font-size: clamp(3.4rem, 7vw, 7rem);
530
+ font-weight: var(--font-weight-medium);
531
+ letter-spacing: -.055em;
532
+ line-height: .94;
533
+ text-wrap: balance;
534
+ }
535
+
536
+ :lang(ar) .page-hero-secondary h1,
537
+ :lang(ar) .detail-hero h1,
538
+ :lang(ar) .case-study header h1,
539
+ :lang(ar) .contact-layout h1,
540
+ :lang(ar) .contact-success h1 { font-family: var(--font-arabic-display); letter-spacing: 0; line-height: var(--line-height-arabic-display); }
541
+
542
+ .page-hero-secondary > p:not(.eyebrow) {
543
+ max-inline-size: 42rem;
544
+ margin-block: var(--space-6) 0;
545
+ color: var(--muted-foreground);
546
+ font-size: var(--font-size-body-lg);
547
+ }
548
+
549
+ .page-cta {
550
+ display: flex;
551
+ align-items: end;
552
+ justify-content: space-between;
553
+ gap: var(--space-8);
554
+ background: var(--surface);
555
+ }
556
+
557
+ .page-cta h2 { max-inline-size: 52rem; margin: var(--space-4) 0 0; font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: var(--font-weight-medium); letter-spacing: -.045em; line-height: 1; }
558
+ .page-cta .uds-button { flex: 0 0 auto; }
559
+ .capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); }
560
+ .capability-grid .uds-card { min-block-size: 16rem; }
561
+ .capability-grid .uds-card-header { grid-template-columns: 1fr; align-content: start; }
562
+ .capability-grid .uds-card-title,
563
+ .capability-grid .uds-card-description { grid-column: 1; }
564
+ .capability-grid .uds-badge { justify-self: start; margin-block-end: var(--space-8); }
565
+
566
+ .agents-detail-layout {
567
+ display: grid;
568
+ grid-template-columns: minmax(0, .75fr) minmax(28rem, 1.25fr);
569
+ gap: var(--space-16);
570
+ align-items: center;
571
+ }
572
+
573
+ .agents-detail-layout > div:first-child h2 { margin: var(--space-4) 0; font-size: clamp(2.5rem, 5vw, 4.8rem); font-weight: var(--font-weight-medium); letter-spacing: -.045em; line-height: 1; }
574
+ .agents-detail-layout > div:first-child > p:last-child { color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
575
+
576
+ .directory-toolbar {
577
+ display: flex;
578
+ align-items: center;
579
+ justify-content: space-between;
580
+ gap: var(--space-4);
581
+ margin-block-end: var(--space-8);
582
+ }
583
+
584
+ .directory-toolbar label {
585
+ display: flex;
586
+ align-items: center;
587
+ gap: var(--space-2);
588
+ inline-size: min(100%, 34rem);
589
+ min-block-size: var(--button-height-lg);
590
+ padding-inline: var(--space-4);
591
+ border: var(--border-width-hairline) solid var(--border);
592
+ background: var(--surface);
593
+ }
594
+
595
+ .directory-toolbar label:focus-within { border-color: var(--ring); outline: var(--focus-ring-width) solid color-mix(in srgb, var(--ring) 28%, transparent); }
596
+ .directory-toolbar svg { inline-size: var(--icon-size-sm); color: var(--muted-foreground); }
597
+ .directory-toolbar input { flex: 1; min-inline-size: 0; border: 0; outline: 0; background: transparent; color: var(--foreground); font: inherit; }
598
+ .directory-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block-start: var(--border-width-hairline) solid var(--border); border-inline-start: var(--border-width-hairline) solid var(--border); }
599
+ .directory-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); min-block-size: 9rem; padding: var(--space-5); border-block-end: var(--border-width-hairline) solid var(--border); border-inline-end: var(--border-width-hairline) solid var(--border); transition: background var(--duration-fast) var(--ease-standard); }
600
+ .directory-card:hover { background: var(--surface-hover); }
601
+ .directory-card > span { display: grid; place-items: center; inline-size: var(--button-height-lg); block-size: var(--button-height-lg); border: var(--border-width-hairline) solid var(--border); background: var(--surface); }
602
+ .directory-card > span svg,
603
+ .directory-card > svg { inline-size: var(--icon-size-sm); }
604
+ .directory-card div { display: grid; gap: var(--space-1); }
605
+ .directory-card small { color: var(--muted-foreground); }
606
+
607
+ .detail-hero,
608
+ .case-study > header {
609
+ inline-size: min(100%, var(--template-max-inline));
610
+ margin-inline: auto;
611
+ padding-block: calc(var(--template-header-block) + var(--space-16)) var(--space-16);
612
+ padding-inline: var(--gutter);
613
+ border-block-end: var(--border-width-hairline) solid var(--border);
614
+ }
615
+
616
+ .detail-hero > nav,
617
+ .case-study header > nav { display: flex; align-items: center; gap: var(--space-2); margin-block-end: var(--space-16); color: var(--muted-foreground); font-size: var(--font-size-small); }
618
+ .detail-hero > nav svg,
619
+ .case-study header > nav svg { inline-size: var(--icon-size-xs); }
620
+ .integration-detail-title { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-8); }
621
+ .integration-detail-title > span { display: grid; place-items: center; inline-size: 6rem; block-size: 6rem; border: var(--border-width-hairline) solid var(--border); background: var(--surface); }
622
+ .integration-detail-title > span svg { inline-size: var(--space-8); block-size: var(--space-8); }
623
+ .integration-detail-title h1 { font-size: clamp(3.2rem, 6vw, 6rem); }
624
+ .integration-detail-title p:not(.eyebrow) { max-inline-size: 42rem; margin-block: var(--space-6); color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
625
+ .detail-columns { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: var(--space-16); align-items: start; }
626
+ .detail-columns > aside { position: sticky; inset-block-start: calc(var(--template-header-block) + var(--space-8)); display: grid; gap: var(--space-3); color: var(--muted-foreground); font-size: var(--font-size-small); }
627
+ .detail-columns > aside strong { color: var(--foreground); }
628
+ .detail-columns > div { display: grid; gap: var(--space-24); }
629
+ .detail-columns section { scroll-margin-block-start: calc(var(--template-header-block) + var(--space-8)); }
630
+ .detail-columns section > h2 { max-inline-size: 52rem; margin: 0 0 var(--space-8); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: var(--font-weight-medium); letter-spacing: -.04em; line-height: 1; }
631
+ .detail-list { display: grid; border-block-start: var(--border-width-hairline) solid var(--border); }
632
+ .detail-list > div { display: flex; gap: var(--space-3); padding-block: var(--space-4); border-block-end: var(--border-width-hairline) solid var(--border); }
633
+ .detail-list svg { flex: 0 0 auto; inline-size: var(--icon-size-sm); color: var(--primary); }
634
+ .setup-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
635
+ .setup-steps li { display: grid; gap: var(--space-8); min-block-size: 12rem; padding: var(--space-5); border: var(--border-width-hairline) solid var(--border); border-inline-end: 0; }
636
+ .setup-steps li:last-child { border-inline-end: var(--border-width-hairline) solid var(--border); }
637
+ .setup-steps span { color: var(--primary); font-family: var(--font-mono); font-size: var(--font-size-small); }
638
+
639
+ .featured-story { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: var(--space-16); align-items: center; }
640
+ .featured-story h2 { margin-block: var(--space-4); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: var(--font-weight-medium); letter-spacing: -.045em; line-height: 1; }
641
+ .featured-story > div:first-child > p:not(.eyebrow) { max-inline-size: 40rem; color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
642
+ .featured-story a { display: inline-flex; align-items: center; gap: var(--space-2); margin-block-start: var(--space-6); color: var(--primary); font-weight: var(--font-weight-medium); }
643
+ .featured-story a svg { inline-size: var(--icon-size-sm); }
644
+ .story-visual { display: grid; align-content: end; min-block-size: 28rem; padding: var(--space-8); border: var(--border-width-hairline) solid var(--border); background-image: linear-gradient(var(--template-grid-line) var(--border-width-hairline), transparent var(--border-width-hairline)), linear-gradient(90deg, var(--template-grid-line) var(--border-width-hairline), transparent var(--border-width-hairline)); background-size: var(--space-8) var(--space-8); }
645
+ .story-visual span { color: var(--primary); font-size: clamp(4rem, 8vw, 7rem); font-weight: var(--font-weight-medium); letter-spacing: -.07em; line-height: .9; }
646
+ .story-visual p { margin: var(--space-3) 0 0; color: var(--muted-foreground); }
647
+ .story-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-block-start: var(--border-width-hairline) solid var(--border); border-inline-start: var(--border-width-hairline) solid var(--border); }
648
+ .story-grid a { position: relative; display: grid; min-block-size: 18rem; padding: var(--space-6); border-block-end: var(--border-width-hairline) solid var(--border); border-inline-end: var(--border-width-hairline) solid var(--border); transition: background var(--duration-fast) var(--ease-standard); }
649
+ .story-grid a:hover { background: var(--surface-hover); }
650
+ .story-grid a > span,
651
+ .story-grid a > p { color: var(--muted-foreground); font-size: var(--font-size-small); }
652
+ .story-grid h3 { margin: var(--space-4) 0 auto; font-size: 1.8rem; font-weight: var(--font-weight-medium); }
653
+ .story-grid strong { color: var(--primary); font-size: 2.8rem; font-weight: var(--font-weight-medium); }
654
+ .story-grid svg { position: absolute; inset-block-start: var(--space-6); inset-inline-end: var(--space-6); inline-size: var(--icon-size-sm); }
655
+
656
+ .case-study header > p:not(.eyebrow) { max-inline-size: 48rem; margin-block: var(--space-6) 0; color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
657
+ .case-study header h1 { font-size: clamp(3rem, 6vw, 6.5rem); }
658
+ .case-metrics { display: grid; grid-template-columns: repeat(3, 1fr); inline-size: min(100%, var(--template-max-inline)); margin-inline: auto; padding-inline: var(--gutter); border-block-end: var(--border-width-hairline) solid var(--border); }
659
+ .case-metrics span { display: grid; gap: var(--space-2); padding-block: var(--space-8); color: var(--muted-foreground); }
660
+ .case-metrics span + span { padding-inline-start: var(--space-8); border-inline-start: var(--border-width-hairline) solid var(--border); }
661
+ .case-metrics strong { color: var(--foreground); font-size: 3rem; font-weight: var(--font-weight-medium); letter-spacing: -.04em; }
662
+ .article-layout { display: grid; grid-template-columns: 14rem minmax(0, 44rem); justify-content: center; gap: var(--space-16); inline-size: min(100%, var(--template-max-inline)); margin-inline: auto; padding-block: var(--space-16) var(--space-24); padding-inline: var(--gutter); }
663
+ .article-layout aside { display: grid; align-content: start; gap: var(--space-2); color: var(--muted-foreground); font-size: var(--font-size-small); }
664
+ .article-layout aside strong { margin-block-end: var(--space-2); color: var(--foreground); }
665
+ .article-layout > div { font-size: var(--font-size-body-lg); }
666
+ .article-layout h2 { margin-block: var(--space-16) var(--space-4); font-size: 2.2rem; font-weight: var(--font-weight-medium); }
667
+ .article-layout h2:first-child { margin-block-start: 0; }
668
+ .article-layout p { color: var(--muted-foreground); }
669
+ .article-layout blockquote { margin: var(--space-16) 0; padding-inline-start: var(--space-6); border-inline-start: var(--border-width-strong) solid var(--primary); font-size: 2rem; line-height: 1.25; }
670
+ .article-layout cite { display: block; margin-block-start: var(--space-4); color: var(--muted-foreground); font-size: var(--font-size-small); font-style: normal; }
671
+
672
+ .pricing-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
673
+ .pricing-page-grid .uds-card { min-block-size: 36rem; }
674
+ .pricing-page-grid .uds-card-header { grid-template-columns: 1fr; }
675
+ .pricing-page-grid .uds-card-title,
676
+ .pricing-page-grid .uds-card-description { grid-column: 1; }
677
+ .pricing-page-grid .uds-badge { justify-self: start; margin-block-end: var(--space-6); }
678
+ .pricing-page-grid .uds-card-content { display: grid; gap: var(--space-6); }
679
+ .plan-price { display: flex; align-items: baseline; gap: var(--space-2); padding-block: var(--space-6); border-block: var(--border-width-hairline) solid var(--border); }
680
+ .plan-price strong { font-size: 3.4rem; font-weight: var(--font-weight-medium); letter-spacing: -.05em; }
681
+ .plan-price span { color: var(--muted-foreground); }
682
+ .pricing-page-grid ul { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
683
+ .pricing-page-grid li { display: flex; gap: var(--space-2); }
684
+ .pricing-page-grid li svg { inline-size: var(--icon-size-sm); color: var(--primary); }
685
+ .pricing-page-grid .uds-button { margin-block-start: auto; }
686
+ .comparison-table { border-block-start: var(--border-width-hairline) solid var(--border); border-inline-start: var(--border-width-hairline) solid var(--border); overflow-x: auto; }
687
+ .comparison-table [role='row'] { display: grid; grid-template-columns: minmax(13rem, 1.4fr) repeat(3, minmax(9rem, 1fr)); min-inline-size: 46rem; }
688
+ .comparison-table [role='cell'],
689
+ .comparison-table [role='columnheader'] { padding-block: var(--space-4); padding-inline: var(--space-4); border-block-end: var(--border-width-hairline) solid var(--border); border-inline-end: var(--border-width-hairline) solid var(--border); }
690
+ .comparison-table [role='row']:first-child { background: var(--surface); }
691
+ .faq-section > div:last-child { max-inline-size: 52rem; margin-inline-start: auto; }
692
+ .faq-section details { border-block-start: var(--border-width-hairline) solid var(--border); }
693
+ .faq-section details:last-child { border-block-end: var(--border-width-hairline) solid var(--border); }
694
+ .faq-section summary { padding-block: var(--space-5); cursor: pointer; font-weight: var(--font-weight-medium); }
695
+ .faq-section details p { margin: 0 0 var(--space-5); color: var(--muted-foreground); }
696
+
697
+ .changelog-layout { display: grid; grid-template-columns: 12rem minmax(0, 48rem); justify-content: center; gap: var(--space-16); align-items: start; }
698
+ .changelog-layout > aside { position: sticky; inset-block-start: calc(var(--template-header-block) + var(--space-8)); display: grid; gap: var(--space-2); }
699
+ .changelog-layout aside strong { margin-block-end: var(--space-2); }
700
+ .changelog-layout aside button { border: 0; background: transparent; color: var(--muted-foreground); font: inherit; text-align: start; cursor: pointer; }
701
+ .changelog-layout aside button[aria-pressed='true'],
702
+ .changelog-layout aside button:hover { color: var(--foreground); }
703
+ .changelog-layout article { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: var(--space-6); padding-block: var(--space-12); border-block-start: var(--border-width-hairline) solid var(--border); }
704
+ .changelog-layout article > span { color: var(--muted-foreground); font-size: var(--font-size-small); }
705
+ .changelog-layout article h2 { margin-block: var(--space-4); font-size: 2rem; font-weight: var(--font-weight-medium); }
706
+ .changelog-layout article p { color: var(--muted-foreground); }
707
+ .changelog-visual { display: grid; align-content: end; min-block-size: 17rem; margin-block-start: var(--space-8); padding: var(--space-5); border: var(--border-width-hairline) solid var(--border); background: var(--surface); }
708
+ .changelog-visual > span { display: grid; place-items: center; inline-size: var(--button-height-lg); block-size: var(--button-height-lg); margin-block-end: auto; border: var(--border-width-hairline) solid var(--border); }
709
+ .changelog-visual svg { inline-size: var(--icon-size-sm); }
710
+ .changelog-visual small { color: var(--muted-foreground); }
711
+
712
+ .contact-layout {
713
+ display: grid;
714
+ grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr);
715
+ gap: var(--space-16);
716
+ inline-size: min(100%, var(--template-max-inline));
717
+ min-block-size: 100vh;
718
+ margin-inline: auto;
719
+ padding-block: calc(var(--template-header-block) + var(--space-16)) var(--space-16);
720
+ padding-inline: var(--gutter);
721
+ align-items: start;
722
+ }
723
+
724
+ .contact-layout > div { position: sticky; inset-block-start: calc(var(--template-header-block) + var(--space-16)); }
725
+ .contact-layout h1 { max-inline-size: 36rem; font-size: clamp(3rem, 5vw, 5.5rem); }
726
+ .contact-layout > div > p:not(.eyebrow) { max-inline-size: 35rem; margin-block: var(--space-6); color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
727
+ .contact-layout ul { display: grid; gap: var(--space-3); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
728
+ .contact-layout li { display: flex; gap: var(--space-2); color: var(--muted-foreground); }
729
+ .contact-layout li svg { inline-size: var(--icon-size-sm); color: var(--primary); }
730
+ .contact-layout form { display: grid; gap: var(--space-5); padding: var(--space-8); border: var(--border-width-hairline) solid var(--border); background: var(--surface); }
731
+ .contact-layout label { display: grid; gap: var(--space-2); font-size: var(--font-size-small); font-weight: var(--font-weight-medium); }
732
+ .contact-layout input,
733
+ .contact-layout select,
734
+ .contact-layout textarea { inline-size: 100%; min-block-size: var(--button-height); padding-block: var(--space-3); padding-inline: var(--space-3); border: var(--border-width-hairline) solid var(--input); border-radius: var(--radius-control); background: var(--background); color: var(--foreground); font: inherit; resize: vertical; }
735
+ .contact-layout input:focus,
736
+ .contact-layout select:focus,
737
+ .contact-layout textarea:focus { border-color: var(--ring); outline: var(--focus-ring-width) solid color-mix(in srgb, var(--ring) 24%, transparent); outline-offset: var(--focus-ring-offset); }
738
+ .contact-layout form small { color: var(--muted-foreground); }
739
+ .contact-success { display: grid; place-items: center; align-content: center; min-block-size: 100vh; padding: var(--gutter); text-align: center; }
740
+ .contact-success > svg { inline-size: var(--space-16); block-size: var(--space-16); margin-block-end: var(--space-8); color: var(--primary); }
741
+ .contact-success h1 { max-inline-size: 54rem; font-size: clamp(3rem, 6vw, 6rem); }
742
+ .contact-success > p:last-child { color: var(--muted-foreground); font-size: var(--font-size-body-lg); }
743
+
744
+ @keyframes row-in { from { opacity: 0; translate: 0 var(--space-2); } to { opacity: 1; translate: 0; } }
745
+
746
+ @media (max-width: 68rem) {
747
+ .site-links { display: none; }
748
+ .nav-frame { grid-template-columns: auto 1fr auto; }
749
+ .menu-button { display: inline-flex; }
750
+ .mobile-menu { display: grid; }
751
+ .section-heading { grid-template-columns: 1fr; }
752
+ .section-heading .eyebrow { grid-column: auto; }
753
+ .section-heading > p:last-child { max-inline-size: var(--template-reading-inline); }
754
+ .window-layout { grid-template-columns: 12rem minmax(0, 1fr); }
755
+ .preview-main { padding: var(--space-4); }
756
+ .activity-labels,
757
+ .activity-row { grid-template-columns: minmax(12rem, 1.5fr) minmax(8rem, .7fr); }
758
+ .activity-labels span:last-child,
759
+ .activity-row span:last-child { display: none; }
760
+ .agents-section { grid-template-columns: 1fr; }
761
+ .integration-stage { grid-template-columns: 1fr; }
762
+ .integration-core { min-block-size: 12rem; }
763
+ .capability-grid { grid-template-columns: repeat(2, 1fr); }
764
+ .agents-detail-layout,
765
+ .contact-layout { grid-template-columns: 1fr; }
766
+ .contact-layout > div { position: static; }
767
+ .directory-grid { grid-template-columns: repeat(2, 1fr); }
768
+ .detail-columns { grid-template-columns: 1fr; }
769
+ .detail-columns > aside { position: static; grid-template-columns: repeat(4, auto); overflow-x: auto; }
770
+ .featured-story { grid-template-columns: 1fr; }
771
+ .pricing-page-grid { grid-template-columns: 1fr; }
772
+ .pricing-page-grid .uds-card { min-block-size: auto; }
773
+ }
774
+
775
+ @media (max-width: 48rem) {
776
+ :root { --template-section-block: var(--space-16); }
777
+ .site-header[data-isolated] { padding-inline: var(--space-1); }
778
+ .nav-frame { gap: var(--space-2); padding-inline: var(--space-4); }
779
+ .language-button .uds-button-content,
780
+ .nav-cta { display: none; }
781
+ .hero { min-block-size: 48rem; padding-inline: var(--space-4); }
782
+ .hero h1 { font-size: clamp(3.25rem, 16vw, 5rem); }
783
+ .hero-copy { font-size: var(--font-size-body); }
784
+ .hero-proof { margin-block-start: var(--space-12); }
785
+ .section { padding-inline: var(--space-4); }
786
+ .section-heading { gap: var(--space-4); margin-block-end: var(--space-8); }
787
+ .section-heading h2 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
788
+ .section-heading > p:last-child { font-size: var(--font-size-body); }
789
+ .window-bar { grid-template-columns: 1fr auto; }
790
+ .window-search { display: none; }
791
+ .window-layout { grid-template-columns: 1fr; min-block-size: auto; }
792
+ .preview-sidebar { flex-direction: row; overflow-x: auto; border-inline-end: 0; border-block-end: var(--border-width-hairline) solid var(--border); }
793
+ .preview-sidebar > strong,
794
+ .preview-sidebar__footer { display: none; }
795
+ .preview-sidebar button { flex: 0 0 auto; }
796
+ .preview-sidebar button[aria-pressed='true'] { box-shadow: inset 0 calc(-1 * var(--border-width-strong)) 0 var(--primary); }
797
+ .preview-main { background-size: var(--space-6) var(--space-6); }
798
+ .metric-grid { grid-template-columns: 1fr 1fr; }
799
+ .metric-grid > div:last-child { grid-column: 1 / -1; }
800
+ .activity-labels,
801
+ .activity-row { grid-template-columns: 1fr; }
802
+ .activity-labels span:not(:first-child),
803
+ .activity-row span:not(:first-child) { display: none; }
804
+ .logo-proof { grid-template-columns: 1fr; }
805
+ .logo-proof > div { grid-template-columns: repeat(3, 1fr); }
806
+ .logo-proof span:nth-last-child(-n + 2) { display: none; }
807
+ .workflow-grid { grid-template-columns: 1fr; }
808
+ .workflow-step { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); min-block-size: auto; border-inline-end: var(--border-width-hairline) solid var(--border); border-block-end: 0; }
809
+ .workflow-step:last-child { border-block-end: var(--border-width-hairline) solid var(--border); }
810
+ .workflow-step > div { block-size: auto; }
811
+ .step-arrow { inset-block-end: calc(-1 * var(--space-3)); inset-block-start: auto; inset-inline-end: var(--space-6); transform: rotate(90deg); }
812
+ :dir(rtl) .step-arrow { transform: rotate(90deg) scaleX(-1); }
813
+ .agent-flow > div { grid-template-columns: auto minmax(0, 1fr); padding-block: var(--space-3); }
814
+ .agent-flow small,
815
+ .agent-flow .uds-button { grid-column: 2; justify-self: start; }
816
+ .integration-stage { padding: var(--space-4); }
817
+ .integration-grid { grid-template-columns: repeat(2, 1fr); }
818
+ .integration-grid > div:nth-last-child(-n + 4) { border-block-end: 0; }
819
+ .integration-grid > div:nth-last-child(-n + 2) { border-block-end: var(--border-width-hairline) solid var(--border); }
820
+ .integration-grid > div:nth-child(4n) { border-inline-end: 0; }
821
+ .integration-grid > div:nth-child(2n) { border-inline-end: var(--border-width-hairline) solid var(--border); }
822
+ .security-grid { grid-template-columns: 1fr; }
823
+ .security-card { min-block-size: auto; }
824
+ .security-card .uds-card-header { min-block-size: auto; }
825
+ .reliability-strip { grid-template-columns: repeat(2, 1fr); }
826
+ .reliability-strip span:nth-child(3) { border-inline-start: 0; border-block-start: var(--border-width-hairline) solid var(--border); }
827
+ .reliability-strip span:nth-child(4) { border-block-start: var(--border-width-hairline) solid var(--border); }
828
+ .proof-section,
829
+ .pricing-section { grid-template-columns: 1fr; }
830
+ .proof-number { display: flex; align-items: flex-end; gap: var(--space-4); }
831
+ .proof-number p { margin: 0; }
832
+ .site-footer { grid-template-columns: 1fr; }
833
+ .site-footer small { grid-column: 1; }
834
+ .page-hero-secondary { min-block-size: 38rem; padding-block-start: calc(var(--template-header-block) + var(--space-16)); padding-inline: var(--space-4); }
835
+ .page-hero-secondary h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
836
+ .page-cta { align-items: start; flex-direction: column; }
837
+ .page-cta h2 { font-size: clamp(2.4rem, 11vw, 3.5rem); }
838
+ .capability-grid,
839
+ .directory-grid,
840
+ .story-grid { grid-template-columns: 1fr; }
841
+ .directory-toolbar { align-items: stretch; flex-direction: column; }
842
+ .integration-detail-title { grid-template-columns: 1fr; }
843
+ .integration-detail-title > span { inline-size: var(--space-16); block-size: var(--space-16); }
844
+ .detail-hero,
845
+ .case-study > header { padding-inline: var(--space-4); }
846
+ .detail-columns > aside { grid-template-columns: max-content max-content max-content max-content; }
847
+ .setup-steps { grid-template-columns: 1fr; }
848
+ .setup-steps li { min-block-size: auto; border-block-end: 0; border-inline-end: var(--border-width-hairline) solid var(--border); }
849
+ .setup-steps li:last-child { border-block-end: var(--border-width-hairline) solid var(--border); }
850
+ .case-metrics { grid-template-columns: 1fr; padding-inline: var(--space-4); }
851
+ .case-metrics span + span { padding-inline-start: 0; border-inline-start: 0; border-block-start: var(--border-width-hairline) solid var(--border); }
852
+ .article-layout { grid-template-columns: 1fr; padding-inline: var(--space-4); }
853
+ .changelog-layout { grid-template-columns: 1fr; }
854
+ .changelog-layout > aside { position: static; grid-template-columns: repeat(4, max-content); overflow-x: auto; }
855
+ .changelog-layout article { grid-template-columns: 1fr; }
856
+ .contact-layout { padding-block-start: calc(var(--template-header-block) + var(--space-8)); padding-inline: var(--space-4); }
857
+ .contact-layout form { padding: var(--space-4); }
858
+ }
859
+
860
+ @media (prefers-reduced-motion: reduce) {
861
+ :root { scroll-behavior: auto; }
862
+ *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
863
+ }