@@ -32,10 +32,9 @@ interface Logo {
3232}
3333
3434/**
35- * The canonical six customer wordmarks, in row-major reading order - the 3×2
36- * hero grid places them as: Rivian|VW (top-left), Russell (top-center),
37- * eXp Realty (top-right); Artie (bottom-left), thinkproject (bottom-center),
38- * Mobile Health (bottom-right).
35+ * The canonical five customer wordmarks, in reading order - the card grid places
36+ * them 3-up (Rivian|VW, eXp Realty, Artie) with the remaining two
37+ * (thinkproject, Mobile Health) centered beneath.
3938 */
4039const LOGOS : readonly Logo [ ] = [
4140 {
@@ -44,12 +43,6 @@ const LOGOS: readonly Logo[] = [
4443 aspect : 10.72 ,
4544 height : 17 ,
4645 } ,
47- {
48- name : 'Russell Investments' ,
49- src : '/landing/logos/russell-investments.svg' ,
50- aspect : 4.29 ,
51- height : 21 ,
52- } ,
5346 { name : 'eXp Realty' , src : '/landing/logos/exp-realty.svg' , aspect : 1.84 , height : 28 } ,
5447 { name : 'Artie' , src : '/landing/logos/artie.svg' , aspect : 3.65 , height : 24 } ,
5548 {
@@ -69,12 +62,16 @@ const LOGOS: readonly Logo[] = [
6962interface LogosProps {
7063 /**
7164 * Layout intent.
72- * - `grid` - the hero's logo wall: each wordmark sits in its own bordered
65+ * - `grid` - the logo wall: each wordmark sits in its own bordered
7366 * `--surface-1` card (the platform card chrome - `rounded-lg`, `--border-1`,
74- * `h-24`) on a `gap-3` 3-up grid. On desktop (`xl+`) the grid hugs its content
75- * with fixed `w-[180px]` cards; below `xl` (where the hero/demo split collapses
76- * to a stacked column) the grid stretches full-width and the cards flex to fill
77- * it, dropping to 2-up on phones (`max-sm`) so the wall never wraps early.
67+ * `h-24`) wrapping 3-up on a `gap-3` row. Because the set is an odd five, the
68+ * wall is a centered flex wrap rather than a grid, so the trailing row of two
69+ * sits centered under the row of three instead of leaving a hole. On desktop
70+ * (`xl+`) the wall is pinned to `w-[564px]` - exactly three `w-[180px]` cards
71+ * plus their two 12px `gap-3` gutters - so it always breaks after the third
72+ * card; below `xl` (where the hero/demo split collapses to a stacked
73+ * column) it stretches full-width and the cards take an even share of the row,
74+ * dropping to 2-up on phones (`max-sm`) so the wall never wraps early.
7875 * Wordmarks render at {@link GRID_ICON_SCALE} of their optical row size.
7976 * - `row` - the platform page's single centered row of bare wordmarks.
8077 */
@@ -83,11 +80,11 @@ interface LogosProps {
8380
8481/**
8582 * Renders the shared customer logos. In the `grid` layout each wordmark is boxed
86- * in a bordered `--surface-1` card (the platform card chrome) on a 3-up grid and
87- * renders at {@link GRID_ICON_SCALE} of its optical size; in the `row` layout the
88- * bare wordmarks wrap at full optical size in a centered row. Either way a logo
89- * scales down to fit when it would otherwise overflow (`max-w-full h-auto`), so
90- * wide marks never break the box.
83+ * in a bordered `--surface-1` card (the platform card chrome) on a centered 3-up
84+ * wrap and renders at {@link GRID_ICON_SCALE} of its optical size; in the `row`
85+ * layout the bare wordmarks wrap at full optical size in a centered row. Either
86+ * way a logo scales down to fit when it would otherwise overflow
87+ * (`max-w-full h-auto`), so wide marks never break the box.
9188 */
9289export function Logos ( { layout } : LogosProps ) {
9390 const isGrid = layout === 'grid'
@@ -96,7 +93,7 @@ export function Logos({ layout }: LogosProps) {
9693 aria-label = 'Companies building AI agents with Sim'
9794 className = {
9895 isGrid
99- ? 'grid w-fit grid-cols-3 gap-3 max-sm:grid-cols-2 max-xl:w-full'
96+ ? 'flex w-[564px] flex-wrap justify-center gap-3 max-xl:w-full'
10097 : 'flex flex-wrap items-center justify-center gap-x-24 gap-y-12'
10198 }
10299 >
@@ -107,7 +104,7 @@ export function Logos({ layout }: LogosProps) {
107104 key = { logo . name }
108105 className = {
109106 isGrid
110- ? 'flex h-24 w-[180px] items-center justify-center rounded-lg border border-[var(--border-1)] bg-[var(--surface-1)] px-3 max-xl:w-full '
107+ ? 'flex h-24 w-[180px] items-center justify-center rounded-lg border border-[var(--border-1)] bg-[var(--surface-1)] px-3 max-sm:w-[calc(50%-0.375rem)] max- xl:w-[calc(33.333%-0.5rem)] '
111108 : undefined
112109 }
113110 >
0 commit comments