@jjlmoya/landings 0.4.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 (90) hide show
  1. package/package.json +65 -0
  2. package/scripts/copy-public-assets.mjs +44 -0
  3. package/src/components/PreviewNavSidebar.astro +102 -0
  4. package/src/components/PreviewToolbar.astro +139 -0
  5. package/src/entries.ts +9 -0
  6. package/src/env.d.ts +4 -0
  7. package/src/index.ts +12 -0
  8. package/src/landing/team/assets/ambar-chiquilla.webp +0 -0
  9. package/src/landing/team/assets/ambar.webp +0 -0
  10. package/src/landing/team/assets/bob-model-book/bob-pointing.webp +0 -0
  11. package/src/landing/team/assets/bob-model-book/bob-pose-05.webp +0 -0
  12. package/src/landing/team/assets/bob-model-book/bob-pose-06.webp +0 -0
  13. package/src/landing/team/assets/bob-model-book/bob-pose-07-locked.webp +0 -0
  14. package/src/landing/team/assets/bob-model-book/bob-pose-08-locked.webp +0 -0
  15. package/src/landing/team/assets/bob-model-book/bob-pose-09-locked.webp +0 -0
  16. package/src/landing/team/assets/bob-model-book/bob-pose-attitude.webp +0 -0
  17. package/src/landing/team/assets/bob-model-book/bob-pose-cover.webp +0 -0
  18. package/src/landing/team/assets/bob-model-book/bob-pose-expensive.webp +0 -0
  19. package/src/landing/team/assets/bob-model-book/bob-pose-final.webp +0 -0
  20. package/src/landing/team/assets/bob.webp +0 -0
  21. package/src/landing/team/assets/drac.webp +0 -0
  22. package/src/landing/team/assets/feedback.webp +0 -0
  23. package/src/landing/team/assets/gamebob-team-hero.png +0 -0
  24. package/src/landing/team/assets/gamebob-team-hero.webp +0 -0
  25. package/src/landing/team/assets/jjlmoya/jjlmoya-exhausted.webp +0 -0
  26. package/src/landing/team/assets/jjlmoya/tinder-profile-winked.webp +0 -0
  27. package/src/landing/team/assets/jjlmoya/tinder-profile.webp +0 -0
  28. package/src/landing/team/assets/master-plan-food.webp +0 -0
  29. package/src/landing/team/assets/master-plan-money.webp +0 -0
  30. package/src/landing/team/assets/master-plan-more-food.webp +0 -0
  31. package/src/landing/team/assets/master-plan-more-money.webp +0 -0
  32. package/src/landing/team/assets/master-plan-projects.webp +0 -0
  33. package/src/landing/team/assets/master-plan-tools.webp +0 -0
  34. package/src/landing/team/assets/memorial/ambar-chiquillo.webp +0 -0
  35. package/src/landing/team/assets/music/bob-techno.mp3 +0 -0
  36. package/src/landing/team/assets/seal-of-approval.webp +0 -0
  37. package/src/landing/team/assets/terra.webp +0 -0
  38. package/src/landing/team/assets/webcomic/scene-1.webp +0 -0
  39. package/src/landing/team/assets/webcomic/scene-2.webp +0 -0
  40. package/src/landing/team/assets/webcomic/scene-3.webp +0 -0
  41. package/src/landing/team/assets/webcomic/scene-4.webp +0 -0
  42. package/src/landing/team/components/BobMasterPlan.astro +118 -0
  43. package/src/landing/team/components/BobModelBook.astro +253 -0
  44. package/src/landing/team/components/BobModelBookFrame.astro +73 -0
  45. package/src/landing/team/components/CompanyWorks.astro +180 -0
  46. package/src/landing/team/components/HumanTouch.astro +262 -0
  47. package/src/landing/team/components/MasterPlanScene.astro +73 -0
  48. package/src/landing/team/components/MemoryWall.astro +46 -0
  49. package/src/landing/team/components/ProductManifesto.astro +46 -0
  50. package/src/landing/team/components/SupportTransition.astro +67 -0
  51. package/src/landing/team/components/TeamComicScenes.astro +67 -0
  52. package/src/landing/team/components/TeamHero.astro +42 -0
  53. package/src/landing/team/components/TeamRoster.astro +94 -0
  54. package/src/landing/team/entry.ts +23 -0
  55. package/src/landing/team/i18n/en.ts +278 -0
  56. package/src/landing/team/i18n/es.ts +278 -0
  57. package/src/landing/team/i18n/index.ts +12 -0
  58. package/src/landing/team/landing.astro +31 -0
  59. package/src/landing/team/styles/BehindJoke.css +55 -0
  60. package/src/landing/team/styles/BobMasterPlan.css +213 -0
  61. package/src/landing/team/styles/BobModelBook.css +709 -0
  62. package/src/landing/team/styles/CompanyWorks.css +652 -0
  63. package/src/landing/team/styles/HumanTouch.css +1190 -0
  64. package/src/landing/team/styles/MemoryWall.css +50 -0
  65. package/src/landing/team/styles/ProductManifesto.css +164 -0
  66. package/src/landing/team/styles/SupportTransition.css +291 -0
  67. package/src/landing/team/styles/TeamComicScenes.css +129 -0
  68. package/src/landing/team/styles/TeamHero.css +149 -0
  69. package/src/landing/team/styles/TeamRoster.css +75 -0
  70. package/src/landing/team/styles/team-landing.css +83 -0
  71. package/src/layouts/PreviewLayout.astro +110 -0
  72. package/src/pages/[locale]/[slug].astro +70 -0
  73. package/src/pages/[locale].astro +165 -0
  74. package/src/pages/index.astro +3 -0
  75. package/src/styles/global.css +37 -0
  76. package/src/styles/tokens.css +107 -0
  77. package/src/tests/diacritics_density.test.ts +62 -0
  78. package/src/tests/i18n_coverage.test.ts +32 -0
  79. package/src/tests/inverted_punctuation.test.ts +67 -0
  80. package/src/tests/landing-test-helpers.ts +89 -0
  81. package/src/tests/landing_exports.test.ts +29 -0
  82. package/src/tests/mocks/astro_mock.js +1 -0
  83. package/src/tests/no_en_dash.test.ts +45 -0
  84. package/src/tests/no_h1_in_components.test.ts +33 -0
  85. package/src/tests/pagespeed_best_practices.test.ts +143 -0
  86. package/src/tests/script_density.test.ts +57 -0
  87. package/src/tests/slug_language_code_format.test.ts +20 -0
  88. package/src/tests/slug_uniqueness.test.ts +74 -0
  89. package/src/tests/title_quality.test.ts +34 -0
  90. package/src/types.ts +38 -0
@@ -0,0 +1,652 @@
1
+ .company-works {
2
+ --board-bg: #0a0b10;
3
+ --board-teal: #00f0ff;
4
+ --board-text: #fff;
5
+
6
+ position: relative;
7
+ margin-block: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 4vw, 3rem);
8
+ padding-block: clamp(1.5rem, 4vw, 3rem) clamp(0.5rem, 2vw, 1.25rem);
9
+ }
10
+
11
+ .company-works::before,
12
+ .company-works::after {
13
+ position: absolute;
14
+ left: 50%;
15
+ width: min(86vw, 980px);
16
+ height: 1px;
17
+ pointer-events: none;
18
+ background: linear-gradient(
19
+ 90deg,
20
+ transparent,
21
+ color-mix(in srgb, var(--team-mint) 48%, transparent),
22
+ color-mix(in srgb, var(--team-pink) 34%, transparent),
23
+ transparent
24
+ );
25
+ content: "";
26
+ transform: translateX(-50%);
27
+ }
28
+
29
+ .company-works::before {
30
+ top: 0;
31
+ box-shadow: 0 18px 48px color-mix(in srgb, var(--team-mint) 16%, transparent);
32
+ }
33
+
34
+ .company-works::after {
35
+ bottom: 0;
36
+ box-shadow: 0 -18px 48px color-mix(in srgb, var(--team-pink) 14%, transparent);
37
+ }
38
+
39
+ .company-works-system {
40
+ position: relative;
41
+ display: grid;
42
+ min-height: clamp(860px, 80vw, 1010px);
43
+ margin-top: 2.5rem;
44
+ padding: clamp(1rem, 3vw, 2.5rem) clamp(1rem, 4vw, 3rem) clamp(5rem, 10vw, 8rem);
45
+ isolation: isolate;
46
+ }
47
+
48
+ .company-works-system::before,
49
+ .company-works-system::after,
50
+ .company-works-orbit-ring {
51
+ position: absolute;
52
+ left: 50%;
53
+ z-index: 0;
54
+ pointer-events: none;
55
+ content: "";
56
+ }
57
+
58
+ .company-works-system::before {
59
+ top: clamp(2.5rem, 5vw, 4.5rem);
60
+ width: min(72vw, 760px);
61
+ aspect-ratio: 1;
62
+ border: 1px solid color-mix(in srgb, var(--team-border) 70%, transparent);
63
+ border-radius: 50%;
64
+ background:
65
+ radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--team-pink) 18%, transparent), transparent 38%),
66
+ radial-gradient(circle, transparent 58%, color-mix(in srgb, var(--team-mint) 10%, transparent) 59%, transparent 61%);
67
+ transform: translateX(-50%);
68
+ animation: board-authority-pulse 6.5s ease-in-out infinite;
69
+ }
70
+
71
+ .company-works-system::after {
72
+ top: clamp(42rem, 62vw, 47rem);
73
+ width: 1px;
74
+ height: clamp(5.5rem, 10vw, 7.5rem);
75
+ background: linear-gradient(
76
+ 180deg,
77
+ color-mix(in srgb, var(--team-mint) 60%, transparent),
78
+ color-mix(in srgb, var(--team-border) 70%, transparent)
79
+ );
80
+ transform: translateX(-50%);
81
+ animation: board-command-flow 2.8s ease-in-out infinite;
82
+ }
83
+
84
+ .company-works-orbit-ring {
85
+ top: clamp(8rem, 14vw, 12rem);
86
+ width: min(62vw, 640px);
87
+ aspect-ratio: 1.42;
88
+ border: 1px dashed color-mix(in srgb, var(--team-mint) 38%, transparent);
89
+ border-radius: 50%;
90
+ transform: translateX(-50%) rotate(-8deg);
91
+ opacity: 0.58;
92
+ animation: board-orbit-breathe 9s ease-in-out infinite;
93
+ }
94
+
95
+ .company-works-node {
96
+ position: relative;
97
+ z-index: 1;
98
+ display: grid;
99
+ gap: 1rem;
100
+ min-width: 0;
101
+ border: 0;
102
+ padding: 0;
103
+ background: transparent;
104
+ color: var(--team-ink);
105
+ text-align: left;
106
+ cursor: pointer;
107
+ transition:
108
+ transform 0.2s ease,
109
+ opacity 0.2s ease,
110
+ filter 0.2s ease;
111
+ }
112
+
113
+ .company-works-node:hover,
114
+ .company-works-node.is-focused {
115
+ z-index: 3;
116
+ transform: translateY(-4px);
117
+ filter: drop-shadow(0 18px 34px rgba(0, 240, 255, 0.16));
118
+ }
119
+
120
+ .company-works-node:hover .company-works-sprite img,
121
+ .company-works-node.is-focused .company-works-sprite img {
122
+ transform: translateY(-4px) rotate(-2deg) scale(1.03);
123
+ }
124
+
125
+ .company-works-node-chief {
126
+ justify-self: center;
127
+ width: min(58vw, 620px);
128
+ text-align: center;
129
+ }
130
+
131
+ .company-works-node-chief:hover,
132
+ .company-works-node-chief.is-focused {
133
+ transform: translateY(-8px);
134
+ filter: drop-shadow(0 28px 52px rgba(0, 240, 255, 0.22));
135
+ }
136
+
137
+ .company-works-node-orbit,
138
+ .company-works-node-human {
139
+ position: absolute;
140
+ }
141
+
142
+ .company-works-node-orbit {
143
+ width: clamp(120px, 13vw, 170px);
144
+ gap: 0.4rem;
145
+ text-align: center;
146
+ animation: board-orbit-float 5.8s ease-in-out infinite;
147
+ }
148
+
149
+ .orbit-terra {
150
+ top: clamp(2.5rem, 4vw, 4rem);
151
+ left: max(2rem, calc(50% - min(36vw, 410px)));
152
+ animation-delay: -1.2s;
153
+ }
154
+
155
+ .orbit-ambar {
156
+ top: clamp(3.5rem, 6vw, 5.5rem);
157
+ right: max(2rem, calc(50% - min(36vw, 410px)));
158
+ animation-delay: -2.6s;
159
+ }
160
+
161
+ .orbit-chiquilla {
162
+ top: clamp(28rem, 40vw, 34rem);
163
+ left: max(3rem, calc(50% - min(31vw, 350px)));
164
+ animation-delay: -3.8s;
165
+ }
166
+
167
+ .orbit-drac {
168
+ top: clamp(29rem, 41vw, 35rem);
169
+ right: max(3rem, calc(50% - min(31vw, 350px)));
170
+ animation-delay: -0.4s;
171
+ }
172
+
173
+ .company-works-node-human {
174
+ bottom: clamp(0.5rem, 2vw, 2rem);
175
+ left: 50%;
176
+ width: min(64vw, 420px);
177
+ grid-template-columns: minmax(92px, 0.36fr) minmax(0, 1fr);
178
+ align-items: center;
179
+ border: 1px solid color-mix(in srgb, var(--team-border) 92%, transparent);
180
+ border-top: 3px solid color-mix(in srgb, var(--team-mint) 80%, transparent);
181
+ border-radius: 10px;
182
+ padding: 0.72rem 0.85rem;
183
+ background:
184
+ linear-gradient(180deg, color-mix(in srgb, var(--team-surface) 92%, transparent), color-mix(in srgb, var(--team-surface) 78%, transparent));
185
+ box-shadow: 0 16px 42px rgba(0, 0, 0, 0.18);
186
+ transform: translateX(-50%);
187
+ }
188
+
189
+ .company-works-node-human::before {
190
+ position: absolute;
191
+ top: -1.35rem;
192
+ left: 50%;
193
+ width: min(32vw, 220px);
194
+ height: 1px;
195
+ background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--team-mint) 58%, transparent), transparent);
196
+ content: "";
197
+ transform: translateX(-50%);
198
+ animation: board-human-rail 3.8s ease-in-out infinite;
199
+ }
200
+
201
+ .company-works-node-human::after {
202
+ position: absolute;
203
+ top: -1.35rem;
204
+ left: 50%;
205
+ width: 0.55rem;
206
+ aspect-ratio: 1;
207
+ border: 1px solid color-mix(in srgb, var(--team-mint) 75%, transparent);
208
+ border-radius: 50%;
209
+ background: var(--team-surface);
210
+ content: "";
211
+ transform: translate(-50%, -50%);
212
+ animation: board-command-dot 2.8s ease-in-out infinite;
213
+ }
214
+
215
+ .company-works-node-human:hover,
216
+ .company-works-node-human.is-focused {
217
+ transform: translateX(-50%) translateY(-6px) rotate(-0.6deg);
218
+ box-shadow: 0 22px 58px rgba(0, 240, 255, 0.13);
219
+ }
220
+
221
+ .company-works-sprite {
222
+ position: relative;
223
+ display: grid;
224
+ place-items: center;
225
+ }
226
+
227
+ .company-works-node-chief .company-works-sprite {
228
+ min-height: clamp(320px, 38vw, 500px);
229
+ }
230
+
231
+ .company-works-node-orbit .company-works-sprite {
232
+ min-height: clamp(98px, 11vw, 140px);
233
+ }
234
+
235
+ .company-works-node-human .company-works-sprite {
236
+ min-height: 104px;
237
+ }
238
+
239
+ .company-works-sprite img {
240
+ display: block;
241
+ width: min(100%, 520px);
242
+ height: auto;
243
+ object-fit: contain;
244
+ image-rendering: auto;
245
+ filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.22));
246
+ transition:
247
+ transform 0.22s ease,
248
+ filter 0.22s ease;
249
+ }
250
+
251
+ .company-works-node-orbit .company-works-sprite img {
252
+ width: min(100%, 150px);
253
+ }
254
+
255
+ .company-works-node-human .company-works-sprite img {
256
+ width: min(100%, 118px);
257
+ }
258
+
259
+ .company-works-node-content {
260
+ display: grid;
261
+ gap: 0.38rem;
262
+ }
263
+
264
+ .company-works-node-chief .company-works-node-content {
265
+ display: flex;
266
+ flex-direction: column;
267
+ align-items: center;
268
+ gap: 0.45rem;
269
+ margin-top: -1.8rem;
270
+ }
271
+
272
+ .company-works-name,
273
+ .company-works-role,
274
+ .company-works-status {
275
+ display: block;
276
+ }
277
+
278
+ .company-works-name {
279
+ font-size: clamp(1.4rem, 3vw, 2.6rem);
280
+ font-weight: var(--font-weight-bold, 800);
281
+ line-height: 0.95;
282
+ }
283
+
284
+ .company-works-node-chief .company-works-name {
285
+ font-size: clamp(2.8rem, 7vw, 5.4rem);
286
+ line-height: 0.88;
287
+ }
288
+
289
+ .company-works-node-orbit .company-works-name {
290
+ font-size: clamp(0.92rem, 1.35vw, 1.18rem);
291
+ line-height: 1;
292
+ }
293
+
294
+ .company-works-node-human .company-works-name {
295
+ font-size: clamp(1.35rem, 2.2vw, 1.95rem);
296
+ }
297
+
298
+ .company-works-node-human .company-works-role {
299
+ font-size: 0.82rem;
300
+ }
301
+
302
+ .company-works-node-human .company-works-status {
303
+ font-size: 0.82rem;
304
+ line-height: 1.35;
305
+ }
306
+
307
+ @keyframes board-authority-pulse {
308
+ 0%,
309
+ 100% {
310
+ opacity: 0.78;
311
+ transform: translateX(-50%) scale(1);
312
+ filter: drop-shadow(0 0 0 rgba(0, 240, 255, 0));
313
+ }
314
+
315
+ 50% {
316
+ opacity: 1;
317
+ transform: translateX(-50%) scale(1.025);
318
+ filter: drop-shadow(0 0 22px rgba(0, 240, 255, 0.12));
319
+ }
320
+ }
321
+
322
+ @keyframes board-orbit-breathe {
323
+ 0%,
324
+ 100% {
325
+ opacity: 0.44;
326
+ transform: translateX(-50%) rotate(-8deg) scale(0.98);
327
+ }
328
+
329
+ 50% {
330
+ opacity: 0.76;
331
+ transform: translateX(-50%) rotate(-5deg) scale(1.02);
332
+ }
333
+ }
334
+
335
+ @keyframes board-orbit-float {
336
+ 0%,
337
+ 100% {
338
+ transform: translate3d(0, 0, 0) rotate(0deg);
339
+ }
340
+
341
+ 50% {
342
+ transform: translate3d(0.35rem, -0.55rem, 0) rotate(1.4deg);
343
+ }
344
+ }
345
+
346
+ @keyframes board-command-flow {
347
+ 0%,
348
+ 100% {
349
+ opacity: 0.32;
350
+ background-size: 100% 100%;
351
+ }
352
+
353
+ 45% {
354
+ opacity: 0.95;
355
+ background-size: 100% 145%;
356
+ }
357
+ }
358
+
359
+ @keyframes board-human-rail {
360
+ 0%,
361
+ 100% {
362
+ opacity: 0.34;
363
+ transform: translateX(-50%) scaleX(0.86);
364
+ }
365
+
366
+ 50% {
367
+ opacity: 0.82;
368
+ transform: translateX(-50%) scaleX(1);
369
+ }
370
+ }
371
+
372
+ @keyframes board-command-dot {
373
+ 0%,
374
+ 100% {
375
+ box-shadow: 0 0 0 rgba(0, 240, 255, 0);
376
+ opacity: 0.62;
377
+ }
378
+
379
+ 50% {
380
+ box-shadow: 0 0 18px rgba(0, 240, 255, 0.36);
381
+ opacity: 1;
382
+ }
383
+ }
384
+
385
+ @media (prefers-reduced-motion: reduce) {
386
+ .company-works-system::before,
387
+ .company-works-system::after,
388
+ .company-works-orbit-ring,
389
+ .company-works-node-orbit,
390
+ .company-works-node-human::before,
391
+ .company-works-node-human::after {
392
+ animation: none;
393
+ }
394
+ }
395
+
396
+ .company-works-role {
397
+ color: var(--color-gamebob-primary, var(--team-mint));
398
+ font-weight: var(--font-weight-bold, 800);
399
+ }
400
+
401
+ .company-works-status {
402
+ max-width: 34ch;
403
+ color: var(--team-muted);
404
+ line-height: 1.5;
405
+ }
406
+
407
+ .company-works-node-chief .company-works-status {
408
+ max-width: 42ch;
409
+ margin-top: 0.25rem;
410
+ line-height: 1.28;
411
+ }
412
+
413
+ .company-works-node-chief .company-works-role {
414
+ margin-top: 0;
415
+ line-height: 1.2;
416
+ }
417
+
418
+ .company-works-node-orbit .company-works-role {
419
+ font-size: clamp(0.68rem, 0.95vw, 0.78rem);
420
+ line-height: 1.15;
421
+ }
422
+
423
+ .company-works-node-orbit .company-works-status {
424
+ display: none;
425
+ }
426
+
427
+ .company-works-focus {
428
+ position: absolute;
429
+ inset: 0;
430
+ z-index: 2;
431
+ pointer-events: none;
432
+ background: rgba(0, 0, 0, 0.18);
433
+ opacity: 0;
434
+ transition: opacity 0.2s ease;
435
+ }
436
+
437
+ .company-works-focus.is-active {
438
+ opacity: 1;
439
+ }
440
+
441
+ .company-works-focus.is-drawer-open {
442
+ position: fixed;
443
+ z-index: 39;
444
+ background:
445
+ radial-gradient(circle at 50% 34%, rgba(0, 240, 255, 0.12), transparent 32%),
446
+ rgba(0, 0, 0, 0.56);
447
+ opacity: 1;
448
+ pointer-events: auto;
449
+ cursor: pointer;
450
+ }
451
+
452
+ .company-works-drawer {
453
+ position: fixed;
454
+ top: 0;
455
+ right: 0;
456
+ z-index: 40;
457
+ width: min(33vw, 460px);
458
+ min-width: 340px;
459
+ height: 100vh;
460
+ border-left: 1px solid rgba(0, 240, 255, 0.42);
461
+ padding: 2rem;
462
+ background: var(--board-bg);
463
+ color: var(--board-text);
464
+ box-shadow: -24px 0 80px rgba(0, 0, 0, 0.42);
465
+ transform: translateX(100%);
466
+ transition: transform 0.24s ease;
467
+ }
468
+
469
+ .company-works-drawer.is-open {
470
+ transform: translateX(0);
471
+ }
472
+
473
+ .company-works-drawer-close {
474
+ position: absolute;
475
+ top: 1rem;
476
+ right: 1rem;
477
+ display: grid;
478
+ width: 34px;
479
+ height: 34px;
480
+ place-items: center;
481
+ border: 1px solid rgba(0, 240, 255, 0.42);
482
+ border-radius: 999px;
483
+ background: transparent;
484
+ color: var(--board-teal);
485
+ cursor: pointer;
486
+ }
487
+
488
+ .company-works-drawer-eyebrow {
489
+ margin: 0 0 0.8rem;
490
+ color: var(--board-teal);
491
+ font-size: 0.78rem;
492
+ font-weight: var(--font-weight-bold, 800);
493
+ letter-spacing: 0.08em;
494
+ text-transform: uppercase;
495
+ }
496
+
497
+ .company-works-drawer h3 {
498
+ margin: 0;
499
+ font-size: clamp(2rem, 6vw, 3.4rem);
500
+ line-height: 0.95;
501
+ }
502
+
503
+ .company-works-drawer-role {
504
+ margin: 0.7rem 0 0;
505
+ color: var(--board-teal);
506
+ font-weight: var(--font-weight-bold, 800);
507
+ }
508
+
509
+ .company-works-drawer-status,
510
+ .company-works-drawer-copy {
511
+ margin: 1rem 0 0;
512
+ color: rgba(255, 255, 255, 0.76);
513
+ line-height: 1.7;
514
+ }
515
+
516
+ @media (max-width: 900px) {
517
+ .company-works-system {
518
+ display: grid;
519
+ grid-template-columns: repeat(2, minmax(0, 1fr));
520
+ min-height: 0;
521
+ gap: 0.9rem;
522
+ padding: 1.25rem 0 0;
523
+ }
524
+
525
+ .company-works-system::before,
526
+ .company-works-orbit-ring {
527
+ display: none;
528
+ }
529
+
530
+ .company-works-system::after {
531
+ display: block;
532
+ top: auto;
533
+ bottom: 8.5rem;
534
+ height: 4.5rem;
535
+ }
536
+
537
+ .company-works-node-chief,
538
+ .company-works-node-orbit,
539
+ .company-works-node-human {
540
+ position: relative;
541
+ inset: auto;
542
+ justify-self: stretch;
543
+ width: auto;
544
+ text-align: left;
545
+ transform: none;
546
+ }
547
+
548
+ .company-works-node-chief {
549
+ grid-column: 1 / -1;
550
+ justify-self: center;
551
+ width: min(100%, 420px);
552
+ text-align: center;
553
+ }
554
+
555
+ .company-works-node-orbit {
556
+ min-height: 170px;
557
+ border: 1px solid color-mix(in srgb, var(--team-border) 72%, transparent);
558
+ border-radius: 10px;
559
+ padding: 0.65rem;
560
+ background: color-mix(in srgb, var(--team-surface) 64%, transparent);
561
+ text-align: center;
562
+ animation: board-orbit-float 6.2s ease-in-out infinite;
563
+ }
564
+
565
+ .company-works-node-orbit::before {
566
+ position: absolute;
567
+ top: -0.9rem;
568
+ left: 50%;
569
+ width: 1px;
570
+ height: 0.9rem;
571
+ background: color-mix(in srgb, var(--team-mint) 46%, transparent);
572
+ content: "";
573
+ }
574
+
575
+ .orbit-terra,
576
+ .orbit-chiquilla {
577
+ justify-self: end;
578
+ }
579
+
580
+ .orbit-ambar,
581
+ .orbit-drac {
582
+ justify-self: start;
583
+ }
584
+
585
+ .company-works-node-human {
586
+ grid-column: 1 / -1;
587
+ left: auto;
588
+ justify-self: center;
589
+ width: min(100%, 360px);
590
+ grid-template-columns: minmax(76px, 0.34fr) minmax(0, 1fr);
591
+ margin-top: 2.8rem;
592
+ }
593
+
594
+ .company-works-node-human:hover,
595
+ .company-works-node-human.is-focused {
596
+ transform: translateY(-4px);
597
+ }
598
+
599
+ .company-works-node-chief .company-works-sprite,
600
+ .company-works-node-orbit .company-works-sprite {
601
+ min-height: 160px;
602
+ }
603
+
604
+ .company-works-node-chief .company-works-sprite img,
605
+ .company-works-node-orbit .company-works-sprite img {
606
+ width: min(100%, 250px);
607
+ }
608
+
609
+ .company-works-node-orbit .company-works-sprite {
610
+ min-height: 94px;
611
+ }
612
+
613
+ .company-works-node-orbit .company-works-sprite img {
614
+ width: min(100%, 112px);
615
+ }
616
+
617
+ .company-works-node-human .company-works-sprite {
618
+ min-height: 88px;
619
+ }
620
+
621
+ .company-works-node-human .company-works-sprite img {
622
+ width: min(100%, 92px);
623
+ }
624
+
625
+ .company-works-drawer {
626
+ width: min(100vw, 460px);
627
+ min-width: 0;
628
+ }
629
+ }
630
+
631
+ @media (max-width: 520px) {
632
+ .company-works-system {
633
+ gap: 0.72rem;
634
+ }
635
+
636
+ .company-works-node-orbit {
637
+ min-height: 158px;
638
+ padding: 0.55rem;
639
+ }
640
+
641
+ .company-works-node-orbit .company-works-name {
642
+ font-size: 0.9rem;
643
+ }
644
+
645
+ .company-works-node-orbit .company-works-role {
646
+ font-size: 0.66rem;
647
+ }
648
+
649
+ .company-works-node-chief .company-works-node-content {
650
+ margin-top: -1.1rem;
651
+ }
652
+ }