Library / Layout reference

Layout reference

Canonical proportions and box-layout patterns for composing sections. Sections that use bento composition should pick from this catalog rather than improvising column splits or module arrangements. The Box Layouts (Figma 98:5033) and Bento Layouts (98:5268) frames inform the choices documented below; the frames themselves are not ported as library sections.

Single-block aspect

A single rectangle at each canonical ratio (held at the same height for comparison). Use these as the aspect for a one-block bento cell, hero illustration, or feature image.

φ ≈ 1.618 : 1

Golden ratio

Editorial split with a visible hierarchical lean. Hero blocks where one side wants more visual weight than the other.

√2 ≈ 1.414 : 1

Root 2

ISO paper proportion. Gentler than golden ratio. Good for content-balanced layouts where neither side dominates but the asymmetry still reads.

1.5 : 1

3 : 2

Photography proportion. Useful when one column wants slightly more weight than the other; reads as intentional asymmetry without feeling lopsided.

1 : 1

1 : 1

Equal split. Symmetric, no hierarchy. The default for two-up layouts where neither side leads.

Two-column split

Two cells side-by-side at each canonical proportion. The Tailwind grid template under each demo is what to drop into a bento section's outer wrapper.

φ ≈ 1.618 : 1

Golden ratio

grid-cols-[1.618fr_1fr]

√2 ≈ 1.414 : 1

Root 2

grid-cols-[1.414fr_1fr]

1.5 : 1

3 : 2

grid-cols-[3fr_2fr]

1 : 1

Equal split

grid-cols-2

Box Layouts

Eight named patterns from Planar's frame 98:5033. Each pattern is a padded soft-surface shell holding N module slots, with 4–7 alignment variants exploring where the modules sit inside the container. The catalog totals 37 variants. Pick the pattern by element count and orientation, then the variant by content's intended balance — don't improvise a new alignment.

Canonical container

Every Box Layout variant uses the same outer shell; alignment classes change per variant.

aspect-[492/464]              (492 × 464 ≈ 1.06:1, near-square)
rounded-md                    (12px radius, on spine)
border border-border-default  (hairline per Card visibility rule)
bg-bg-section-alt             (surface-2 #edede8)
p-4                           (18px Figma → rounds down to 16px)
gap-6                         (24px module gap, exact match)
  • Direction: flex flex-col for stacked patterns, flex for Adjacent ones. "Adjacent" is the horizontal-row direction, not gap-0.
  • Alignment varies per variant: outer items-* and justify-* reposition the modules without changing the container shell.
  • Per-child override pattern: when one module needs different horizontal alignment than its siblings, wrap it in w-full flex justify-* and let the outer items-* apply to the rest.
  • Box Layouts are fixed at 492 × 464 in Figma; in code, the aspect ratio is what matters — width comes from the parent column.

1 Element

5 variants · group 98:5035

One module, positioned in any of the five canonical positions: center or any corner.

center · 97:7126

top-left · 98:5036

top-right · 98:5037

bottom-right · 98:5038

bottom-left · 98:5039

2 Elements stacked

6 variants · group 98:5040

Two modules stacked vertically. Variants explore four shared alignments plus two diagonal patterns where the modules sit in opposite corners.

center · 97:7144

left, top + bottom · 98:5041

right, top + bottom · 98:5042

center, top + bottom · 98:5043

TR + BL · 98:5044

TL + BR · 98:5045

3 Elements stacked

7 variants · group 98:5046

Three modules stacked vertically. Four shared-alignment variants plus three with the middle module overridden to a different horizontal position.

center · 98:4616

all left · 98:5047

all right · 98:5048

all centered · 98:5049

L · C · L · 98:5050

R · C · R · 98:5051

L · C · R · 98:5052

4 Elements stacked

4 variants · group 99:8422

Four modules stacked vertically. Three shared-alignment variants plus a mixed one where the two middle modules span full width.

center · 99:8493

all left · 99:8511

all right · 99:8497

center, middle full · 99:8525

2 Elements Adjacent

5 variants · group 98:5053

Two modules side-by-side. The pair is always centered horizontally; alignment variants control each module's vertical position within its column.

both centered · 98:4690

top + bottom · 98:5054

bottom + top · 98:5055

both bottom · 98:5056

both top · 98:5057

3 Elements Adjacent

4 variants · group 98:5058

A two-module column paired with a single module side-by-side. Variants control whether the column's modules are gap-stacked or top/bottom-aligned, and where the single module sits vertically.

all centered · 98:4728

col edges + B · 98:5059

col edges + T · 98:5060

col stacked + B · 98:5061

4 Elements Adjacent

2 variants · group 98:7850

Two columns of two stacked modules each. Variants differ only in whether the columns are gap-stacked + centered, or stretched to top + bottom corners.

2×2 centered · 98:7922

corners · 98:7926

4 Elements Vertical Split

4 variants · group 98:5062

Two stacked single modules followed by a paired horizontal row at the bottom (1 + 1 + 2). Variants differ in vertical distribution and whether the first module is constrained to full-width left or right.

all centered · 98:4761

distributed · 98:5063

first L · 98:5064

first R · 98:5065

Box Backgrounds

Four motif-sizing variants for backgrounds inside the 492 × 492 Box Background container (true square, slightly different from Box Layouts' 492 × 464). All four containers are the same outer size; what changes is how the underlying motif is rendered — Fill scales the motif to fit the container exactly (cover), while Fixed - md / lg / xlg render the motif at a fixed pixel size larger than the container and clip to the top-left corner. The bigger the motif, the more "zoomed in" the visible crop feels.

Two demonstrations below. First row uses a diagonal cream gradient as a stand-in so the relative zoom levels read at a glance, independent of any specific asset. Second row uses Planar's reference imagery so the asset-driven version is visible too — replace with a Journey brand motif when one lands.

Gradient stand-in

Fill · 97:7306

Motif scaled to container (cover). Whole gradient visible.

Fixed - md · 98:2496

Motif rendered at 1080 × 800. Top-left crop of the gradient.

Fixed - lg · 98:2541

Motif rendered at 1920 × 1200. Tighter crop, more zoom.

Fixed - xlg · 98:2636

Motif rendered at 2400 × 1500. Maximum zoom; mostly corner.

With Planar reference assets

Two source files in /library-mocks/box-backgrounds/: a fabric photo (Fill) and one floral motif used for all three Fixed variants (sized via CSS percentage to match Figma's render dimensions).

Fill · 97:7306

Asset scaled to container (cover). Whole image visible.

Fixed - md · 98:2496

Motif rendered at 1080 × 800. Top-left crop of the source visible.

Fixed - lg · 98:2541

Motif rendered at 1920 × 1200. Tighter crop, more zoom.

Fixed - xlg · 98:2636

Motif rendered at 2400 × 1500. Maximum zoom; mostly corner.

Bento Layouts

Planar's Bento Layouts frame (98:5268) groups multi-cell grid templates into three canvas classes: Small (square), Medium (horizontal), and Large (extra-wide). Each template fixes a specific composition of aspect-driven cells (1:1, Golden, Root 2) and Fill cells. Pick a template by content shape rather than improvising bento grids.

Notation used below: V[…] = vertical stack · H[…] = horizontal row · 1:1 = aspect-square cell · Golden = 528/326 horizontal or 326/528 vertical · Root2v = 262/370 vertical · Fill = flexible cell.

Bento Layouts - Small

Thirteen square-canvas templates from frame 98:5256. All thirteen are distinct compositions; each card shows the structural sketch and a wireframe rendering.

Square 01 · 98:5260

V[Fill, H[1:1, Fill]]

Square 02 · 98:5333

V[H[1:1, Fill], Fill]

Square 03 · 98:5429

V[H[Golden, Fill], Fill]

Square 04 · 98:5512

V[H[Fill, Fill], Fill]

Square 05 · 98:5614

V[H{Root2}[Fill, 1:1], H[1:1, Fill]]

Square 06 · 98:5717

V[H[1:1, Fill], H[Fill, 1:1]]

Square 07 · 98:5823

V[Fill, H[1:1, 1:1, Fill]]

Square 08 · 98:5929

H[V{GoldenV}[Fill, 1:1], V[1:1, Fill]]

Square 09 · 98:6032

V[H{Golden}[1:1, Fill], H[Fill, 1:1]]

Square 10 · 98:6109

V[H[Root2v, Root2v], Fill]

Square 11 · 98:6246

H[V{GoldenV}[1:1, Fill], V[1:1, Fill]]

Square 12 · 98:6344

H[V{GoldenV}[1:1, Fill], Fill]

Square 13 · 98:6405

V[Fill, H[Fill, Fill]]

Bento Layouts - Medium

Ten horizontal-canvas templates. Default canvas is 3:2 (712 × 475); Medium 10 alone uses a shorter 2:1 canvas. Several Medium variants restage Small patterns on the wider canvas — useful when content density needs more breathing room.

Footnote: Medium 03's left cell carries the Figma inner-text label "Root 2", but its aspect ratio (294/475 ≈ 0.619) matches Golden vertical, not Root 2 (≈ 0.707). The sketch below follows the actual aspect.

Medium 01 · 98:6467

H[Root2v, V[Root2h, Fill]]

Medium 02 · 98:6532

H[GoldenV, Fill]

Medium 03 · 98:6598

H[GoldenV, V[Fill, Fill]]

Medium 04 · 98:6659

V[Fill, H[Fill, Fill]]

Medium 05 · 98:6706

V[H[1:1, Fill], Fill]

Medium 06 · 98:6776

V[H[1:1, Fill], H[Fill, 1:1]]

Medium 07 · 98:6854

H[1:1, V[Fill, Fill]]

Medium 08 · 98:6924

H[1:1, V[Root2v, Fill]]

Medium 09 · 98:6982

H[Fill, Fill]

Medium 10 · 98:7013

H[1:1, 1:1] · 2:1 canvas

Cross-references: Medium 04 restages Small 13 (V[Fill, H[Fill, Fill]]) on a wider canvas. Medium 05 restages Small 02 (V[H[1:1, Fill], Fill]). Medium 06 restages Small 06 (V[H[1:1, Fill], H[Fill, 1:1]]). Pick the canvas shape first, then the structure that fits the section's hierarchy.

Bento Layouts - Large

Fifteen large-canvas templates at 1080px wide. Canvas aspect varies per template — most cluster around two named families (Wide ≈ 2:1, Ultrawide ≈ 2.55:1), with the rest scattered by what their lead cell dictates. Pick by canvas shape first, then by the cell composition that fits.

Cell vocabulary additions in Large: "Wide fill" and "Ultrawide fill" appear as Box Layout cell labels (Large 11, 12) — functionally still flex-grow Fill cells, but Planar's labels signal the intended container width inside named row containers. Large 14 pairs a fixed-pixel-width Fill (436px, not flex-grow) with a 1:1 cell. Large 15 introduces the 4:3 cell aspect (new family for Large).

Figma's internal numbering skips "Large 05" (no template with that label exists). Our doc renumbers sequentially against the 15 actual templates; node IDs in each card are the canonical key.

Large 01 · 108:5096

H[Root2v, Fill] · H[Fill, Root2v]

1080 × 486 · 2.22:1 · two variants: Default (Root2 left) and Reversed (Root2 right)

Default · 98:7048

Reversed · 108:5097

Large 02 · 98:7088

H[GoldenH, Fill]

1080 × 440 · 2.45:1

Large 03 · 98:7127

H[GoldenH, 1:1, GoldenH]

1080 × 263 · 4.11:1 · 1:1 sits at 84% height, vertically centered

Large 04 · 98:7137

H[1:1, Fill]

1080 × 436 · 2.48:1

Large 05 · 98:7191

H[Root2v, Root2v, Root2v]

1080 × 505 · 2.14:1 · Figma label is "Large 06" (file skips 05)

Large 06 · 98:7242

H[1:1, 1:1]

1080 × 538 · 2:1 · Wide

Large 07 · 98:7277

H[1:1, 1:1, 1:1]

1080 × 357 · 3.02:1

Large 08 · 98:7342

H[1:1, V[Root2h, Fill]]

1080 × 538 · 2:1 · Wide

Large 09 · 98:7403

H[1:1, V[Fill, Fill]]

1080 × 538 · 2:1 · Wide

Large 10 · 98:7450

V[H[Root2h, Root2h], Fill]

1080 × 540 · 2:1 · Wide

Large 11 · 98:7511

V[H{Ultrawide}[Root2v, Fill], Fill]

1080 × 540 · 2:1 · Wide (inner top row at 2.55:1)

Large 12 · 98:7590

H[Root2v, Fill, Root2v]

1080 × 424 · 2.55:1 · Ultrawide (first true 2.55 canvas)

Large 13 · 98:7655

H[1:1, H[Fill, V[Fill, Fill]]]

1080 × 538 · 2:1 · Wide

Large 14 · 122:4318

H[Fill{w:436px}, 1:1]

1080 × 640 · 1.69:1 · Fill is fixed-width (not flex-grow)

Large 15 · 123:2109

H[4:3, 4:3]

1080 × 404 · 2.67:1 · introduces 4:3 cell aspect

Canvas-family map across the 15 templates: Wide (2:1) — Large 06, 08, 09, 10, 11, 13 (six templates, dominant family). Ultrawide (2.55:1) — Large 12 (only true 2.55 canvas). Near-Ultrawide (≈2.45–2.67) — Large 02, 04, 15. One-off aspects — Large 01 (2.22), 03 (4.11), 05 (2.14), 07 (3.02), 14 (1.69, near Golden). When composing sections, prefer Wide first; reach for Ultrawide or a one-off only when the content demands the shape.

Rules

  • For column splits, pick from the four canonical ratios. Do not improvise other splits.
  • For module groupings inside a box, pick from the eight Box Layout patterns. Pattern names tag a section's intent ("this section uses Box Layout - 3 Elements - Adjacent").
  • The canonical Box Layout container recipe (rounded-md border border-border-default bg-bg-section-alt p-4 + gap-6) applies universally. Do not change the radius, padding, or gap value per section.
  • "Adjacent" means horizontal direction (flex). Default vertical variants use flex-col. Gap is the same (gap-6) in both.
  • The same ratio or layout pattern used in 3+ sections earns promotion to a @theme template or a shared utility (same threshold as TileSegmented).
  • This is a layout reference, not a sections-catalog variant. Planar's Box Layouts (98:5033) and Bento Layouts (98:5268) frames inform the patterns but are not ported as library sections.