cta.hardware-power-key · Power key

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

Rule
One surfaceAlt control panel: label, h2 at step 6, line and an inline email form in 1–7; a large round orange power key with a mono caption in 9–12.
Slots
label, title, body, newsletter, meta
Grid areas
copy 1-7 · key 9-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

  • One recessed control panel (surfaceAlt, seam, bevel, 32 px padding): part label, h2 at step 6 (≤ 18 ch), a muted line and an inline email form in 1–7; a 180 px round orange power key with a mono caption centred in 9–12.

Next step

Have a hard thing to explain?

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.

Email
you@example.com
Subscribe

Booking projects from June 2026

Layout tree (as in design/layout.json)
{
  "pattern": "cta.hardware-power-key",
  "kind": "cta",
  "grid": {
    "copy": "1-7",
    "key": "9-12"
  },
  "slots": [
    "label",
    "title",
    "body",
    "newsletter",
    "meta"
  ],
  "tree": {
    "el": "box",
    "bg": "surfaceAlt",
    "pad": [
      8,
      8
    ],
    "border": "all",
    "children": [
      {
        "el": "grid",
        "gap": 6,
        "align": "center",
        "children": [
          {
            "el": "box",
            "span": "1-7",
            "gap": 4,
            "children": [
              {
                "el": "text",
                "color": "link",
                "slot": "label",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "slot": "title",
                "role": "h2",
                "step": 6,
                "weight": 600,
                "tracking": "tight",
                "leading": "tight",
                "maxCh": 18
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "body",
                "role": "body",
                "maxCh": 48
              },
              {
                "el": "form",
                "slot": "newsletter",
                "fields": [
                  "email"
                ],
                "inline": true
              }
            ]
          },
          {
            "el": "box",
            "span": "9-12",
            "gap": 3,
            "align": "center",
            "children": [
              {
                "el": "shape",
                "kind": "circle",
                "size": "lg",
                "fill": "accent"
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "meta",
                "role": "label",
                "align": "center",
                "font": "mono"
              }
            ]
          }
        ]
      }
    ]
  }
}
Component example: reference/cta.hardware-power-key.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>cta.hardware-power-key — Industrial Hardware</title>
<link rel="stylesheet" href="base.css">
<style>
  section { padding: var(--section) 0; }
  .panel { padding: 32px; box-shadow: 0 var(--bevel) 0 0 color-mix(in srgb, var(--border), #000 28%); align-items: center; }
  .copy { grid-column: 1 / 8; display: grid; gap: 16px; }
  .copy h2 { font-size: var(--step-6); max-width: 18ch; }
  form { display: flex; gap: 8px; max-width: 460px; }
  input { flex: 1; height: 44px; padding: 0 14px; font: 400 var(--base) var(--font-mono); background: var(--surface); color: var(--text);
          border: 1px solid var(--border); border-radius: var(--radius); }
  .power { grid-column: 9 / 13; display: grid; justify-items: center; gap: 12px; }
  .power .key.signal { width: 180px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; font: 500 13px var(--font-mono); letter-spacing: 0.08em; }
  @media (max-width: 640px) { .copy h2 { font-size: var(--step-4); } form { flex-direction: column; } .power .key.signal { width: 120px; } }
</style>
</head>
<body>
<section class="wrap">
  <div class="panel grid">
    <div class="copy">
      <span class="part link">Section 09 — Order</span>
      <h2>Press once. It ships Tuesday.</h2>
      <p class="muted">Batch 07 is 400 units. Leave your email and we'll hold one for 48 hours.</p>
      <form><label class="part" for="e" hidden>Email</label><input id="e" type="email" placeholder="you@studio.com"><button class="btn key signal" type="submit">Hold mine</button></form>
    </div>
    <div class="power">
      <button class="key signal" type="button" aria-label="Order now">ON</button>
      <span class="part muted">Batch 07 · 400 units</span>
    </div>
  </div>
</section>
</body>
</html>

Other patterns in this design

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