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-colfor stacked patterns,flexfor Adjacent ones. "Adjacent" is the horizontal-row direction, not gap-0. - Alignment varies per variant: outer
items-*andjustify-*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 outeritems-*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 useflex-col. Gap is the same (gap-6) in both. - The same ratio or layout pattern used in 3+ sections earns promotion to a
@themetemplate or a shared utility (same threshold asTileSegmented). - 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.