Layoutopen: description

A market tote cut from dry-waxed cotton canvas that softens and darkens with use. The gusset takes a laptop sleeve, a jumper and the week’s vegetables without losing its shape.

Leather handles are saddle-stitched at both ends, so the load sits on the stitching, not the rivets.

Every closed row still answers its question — the summary line is always on the page. The open state is shared through context, so a custom part like “Expand all” needs no props.