gallery.hardware-product-plates · Product plates

A gallery pattern from Industrial Hardware, drawn alone below with this design's tokens and sample copy. Used in this design on: home page, section 3. Give the section root data-pattern="gallery.hardware-product-plates". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A big product plate (1:1 shot, caption, mono index) in 1–6; 7–12 holds the label, h2 and line over a 2×2 of smaller product plates with caption and mono year.
Slots
image, caption, index, label, title, body, gallery[4..4]
Grid areas
hero 1-6 · plates 7-12 (12-column grid, 1-based inclusive spans)
Tokens
bg #E5E3DE · text #262522 · heading #111110 · accent #FF5B14 · accent2 #1C1C1A · Archivo / Archivo · radius 6px · space unit 4px (full list in design/tokens.json)

Pattern notes

  • Columns 1–6: one big product plate (surface, seam, bevel, 12 px padding): a 1:1 product shot and a caption row (name 600, mono index). Columns 7–12: part label, h2 and a muted line at the top, a 2×2 of smaller product plates (4:3 shot, name and mono year) at the bottom.

Corvid Robotics — identity

06

Gallery

Selected work

Each engagement starts with a two-week audit: interviews with customers, sales and the people who build the product. The brief writes itself after that.

Corvid Robotics — identity

2026

Fieldstack — website

2025

Tidewater Labs — naming

2024

Arklow — trade show

2023

Layout tree (as in design/layout.json)
{
  "pattern": "gallery.hardware-product-plates",
  "kind": "gallery",
  "grid": {
    "hero": "1-6",
    "plates": "7-12"
  },
  "slots": [
    "image",
    "caption",
    "index",
    "label",
    "title",
    "body",
    "gallery[4..4]"
  ],
  "tree": {
    "el": "grid",
    "gap": 4,
    "align": "stretch",
    "children": [
      {
        "el": "box",
        "span": "1-6",
        "bg": "surface",
        "gap": 3,
        "pad": [
          3,
          3
        ],
        "border": "all",
        "children": [
          {
            "el": "media",
            "slot": "image",
            "aspect": "1/1",
            "treatment": "product"
          },
          {
            "el": "box",
            "mobile": "keep",
            "dir": "row",
            "gap": 2,
            "align": "baseline",
            "justify": "between",
            "children": [
              {
                "el": "text",
                "slot": "caption",
                "role": "small",
                "weight": 600
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "index",
                "role": "label",
                "font": "mono"
              }
            ]
          }
        ]
      },
      {
        "el": "box",
        "span": "7-12",
        "gap": 5,
        "justify": "between",
        "children": [
          {
            "el": "box",
            "gap": 2,
            "children": [
              {
                "el": "text",
                "color": "link",
                "slot": "label",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "slot": "title",
                "role": "h2",
                "step": 5,
                "weight": 600,
                "tracking": "tight",
                "leading": "tight"
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "body",
                "role": "small",
                "maxCh": 48
              }
            ]
          },
          {
            "el": "repeat",
            "slot": "gallery",
            "min": 4,
            "max": 4,
            "layout": "grid",
            "cols": 2,
            "phoneCols": 2,
            "gap": 3,
            "of": {
              "el": "box",
              "bg": "surface",
              "gap": 2,
              "pad": [
                2,
                2
              ],
              "border": "all",
              "children": [
                {
                  "el": "media",
                  "slot": "image",
                  "aspect": "4/3",
                  "treatment": "product"
                },
                {
                  "el": "box",
                  "mobile": "keep",
                  "dir": "row",
                  "gap": 2,
                  "align": "baseline",
                  "justify": "between",
                  "children": [
                    {
                      "el": "text",
                      "slot": "title",
                      "role": "small",
                      "weight": 600
                    },
                    {
                      "el": "text",
                      "color": "textMuted",
                      "slot": "meta",
                      "role": "label",
                      "font": "mono"
                    }
                  ]
                }
              ]
            }
          }
        ]
      }
    ]
  }
}

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page