hero.hardware-knob-panel · Knob panel

A hero pattern from Industrial Hardware, drawn alone below with this design's tokens and sample copy. Not used in this design: shown with its tokens for comparison. Give the section root data-pattern="hero.hardware-knob-panel". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
Copy in 1–5; 6–12 is a control panel on surfaceAlt: a mono header, a dark LCD readout, a row of four ring dials with values and a row of six numbered keys.
Slots
eyebrow, headline, subhead, cta, cta2, label, meta, tagline, price, stats[4..4], features[6..6]
Grid areas
copy 1-5 · panel 6-12 (12-column grid, 1-based inclusive spans)
Notes
Dials are rings in the heading colour (never orange); the LCD is the only accent text. Keys are surface caps with the bevel edge.
Tokens
bg #E5E3DE · text #262522 · heading #111110 · accent #FF5B14 · accent2 #1C1C1A · Archivo / Archivo · radius 6px · space unit 4px (full list in design/tokens.json)
Section
vertical padding step 6

Pattern notes

  • Copy in 1–5, spaced between: eyebrow, display at step 7 (≤ 12 ch), muted lead at the top, keys at the bottom. Columns 6–12 are one recessed control panel (surfaceAlt, 1 px seam, 20 px padding): a mono header row; an LCD readout (accent2) with an orange mono label and the price in orange mono at step 7; four 96 px knob caps (surface-coloured discs on the grey panel) with a value and a mono label centred under each; a row of six numbered surface keys with bevels. Spaced between, so the panel has no empty foot. Phone: knobs two per row, keys three per row.

Brand & product studio

We make complicated companies simple to choose

Northfold is a 14-person studio helping manufacturers, labs and B2B teams explain what they do — and look like they mean it.

Start a projectRead case studies

Introducing

Booking projects from June 2026

Strategy and design for companies that make things

€18k

140+

launches shipped

12

years independent

9 of 10

clients return

31%

average lift in demo requests

01

02

03

04

05

06

Layout tree (as in design/layout.json)
{
  "pattern": "hero.hardware-knob-panel",
  "kind": "hero",
  "grid": {
    "copy": "1-5",
    "panel": "6-12"
  },
  "slots": [
    "eyebrow",
    "headline",
    "subhead",
    "cta",
    "cta2",
    "label",
    "meta",
    "tagline",
    "price",
    "stats[4..4]",
    "features[6..6]"
  ],
  "notes": "Dials are rings in the heading colour (never orange); the LCD is the only accent text. Keys are surface caps with the bevel edge.",
  "tree": {
    "el": "grid",
    "gap": 6,
    "align": "stretch",
    "children": [
      {
        "el": "box",
        "span": "1-5",
        "gap": 6,
        "justify": "between",
        "children": [
          {
            "el": "box",
            "gap": 4,
            "children": [
              {
                "el": "text",
                "color": "link",
                "slot": "eyebrow",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "slot": "headline",
                "role": "display",
                "step": 7,
                "weight": 600,
                "tracking": "tight",
                "leading": "tight",
                "maxCh": 12
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "subhead",
                "role": "lead",
                "maxCh": 38
              }
            ]
          },
          {
            "el": "box",
            "dir": "row",
            "gap": 2,
            "wrap": true,
            "children": [
              {
                "el": "button",
                "slot": "cta",
                "variant": "primary",
                "size": "md",
                "arrow": true
              },
              {
                "el": "button",
                "slot": "cta2",
                "variant": "secondary",
                "size": "md"
              }
            ]
          }
        ]
      },
      {
        "el": "box",
        "span": "6-12",
        "bg": "surfaceAlt",
        "gap": 5,
        "pad": [
          5,
          5
        ],
        "justify": "between",
        "border": "all",
        "children": [
          {
            "el": "box",
            "dir": "row",
            "gap": 3,
            "align": "baseline",
            "justify": "between",
            "wrap": true,
            "children": [
              {
                "el": "text",
                "slot": "label",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "meta",
                "role": "small",
                "font": "mono"
              }
            ]
          },
          {
            "el": "box",
            "bg": "accent2",
            "gap": 2,
            "pad": [
              4,
              5
            ],
            "children": [
              {
                "el": "text",
                "color": "accent",
                "slot": "tagline",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "color": "accent",
                "slot": "price",
                "role": "number",
                "step": 7,
                "leading": "tight",
                "font": "mono"
              }
            ]
          },
          {
            "el": "repeat",
            "slot": "stats",
            "min": 4,
            "max": 4,
            "layout": "grid",
            "cols": 4,
            "phoneCols": 2,
            "gap": 4,
            "of": {
              "el": "box",
              "gap": 2,
              "align": "center",
              "children": [
                {
                  "el": "shape",
                  "kind": "circle",
                  "size": "md",
                  "fill": "surface"
                },
                {
                  "el": "text",
                  "slot": "number",
                  "role": "h4",
                  "step": 1,
                  "align": "center",
                  "weight": 600
                },
                {
                  "el": "text",
                  "color": "textMuted",
                  "slot": "label",
                  "role": "label",
                  "align": "center",
                  "font": "mono"
                }
              ]
            }
          },
          {
            "el": "repeat",
            "slot": "features",
            "min": 6,
            "max": 6,
            "layout": "grid",
            "cols": 6,
            "phoneCols": 3,
            "gap": 2,
            "of": {
              "el": "box",
              "bg": "surface",
              "pad": [
                3,
                3
              ],
              "align": "center",
              "border": "all",
              "children": [
                {
                  "el": "text",
                  "slot": "number",
                  "role": "label",
                  "font": "mono"
                }
              ]
            }
          }
        ]
      }
    ]
  }
}

Other patterns in this design

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