hero.editorial-index · Editorial index

A hero pattern from the hero library, drawn alone below with this design's tokens and sample copy. Used in this design on: home page, section 1. Give the section root data-pattern="hero.editorial-index". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
The hero is a table of contents: headline, subhead and link in 1–5 (sticky), and a ruled list of 4–7 numbered entries (number, title, meta) in 7–12; column 6 stays empty.
Slots
eyebrow, headline, subhead, cta, items[4..7]
Grid areas
intro 1-5 · index 7-12 (12-column grid, 1-based inclusive spans)
Notes
Each entry links to a page or section; on hover the row's title shifts right by one space step. The intro column is position: sticky while the list scrolls if it is taller than the viewport.
Tokens
bg #FAFAFA · text #1F1F1F · heading #0F0F0F · accent #E2271D · accent2 #850001 · Inter Tight / Hanken Grotesk · radius 0px · space unit 8px (full list in design/tokens.json)

Do

  • Treat the hero as a contents page: 4–7 numbered entries in columns 7–12 with hairlines between rows.
  • Each row: mono number and title (h3) together on the left, a muted meta (page, year, category) flush right.
  • Keep the intro in 1–5 and leave column 6 empty.
  • Make every row a link; hover nudges the title right.

Don't

  • Don't add thumbnails to the rows.
  • Don't use cards or boxes; rows are separated by rules only.
  • Don't exceed seven entries — the index must fit one screen at 1440 px.

Phone width

  • Intro first (not sticky), then the list; meta drops under the title in each 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 project

01

Discovery sprint

2 weeks

02

Positioning workshop

1 day

03

Identity design

8 weeks

04

Website

10 weeks

05

Launch support

4 weeks

Layout tree (as in design/layout.json)
{
  "pattern": "hero.editorial-index",
  "kind": "hero",
  "grid": {
    "intro": "1-5",
    "index": "7-12"
  },
  "slots": [
    "eyebrow",
    "headline",
    "subhead",
    "cta",
    "items[4..7]"
  ],
  "notes": "Each entry links to a page or section; on hover the row's title shifts right by one space step. The intro column is position: sticky while the list scrolls if it is taller than the viewport.",
  "tree": {
    "el": "grid",
    "gap": 4,
    "align": "start",
    "minVh": 0.85,
    "children": [
      {
        "el": "box",
        "span": "1-5",
        "gap": 4,
        "children": [
          {
            "el": "text",
            "color": "textMuted",
            "slot": "eyebrow",
            "role": "eyebrow"
          },
          {
            "el": "text",
            "slot": "headline",
            "role": "h1",
            "step": 6,
            "leading": "tight",
            "maxCh": 12
          },
          {
            "el": "text",
            "slot": "subhead",
            "role": "body",
            "maxCh": 34
          },
          {
            "el": "button",
            "slot": "cta",
            "variant": "link",
            "arrow": true
          }
        ]
      },
      {
        "el": "repeat",
        "span": "7-12",
        "slot": "items",
        "min": 4,
        "max": 7,
        "layout": "list",
        "gap": 3,
        "divider": true,
        "of": {
          "el": "box",
          "dir": "row",
          "gap": 2,
          "align": "baseline",
          "justify": "between",
          "children": [
            {
              "el": "box",
              "mobile": "keep",
              "dir": "row",
              "gap": 3,
              "align": "baseline",
              "children": [
                {
                  "el": "text",
                  "color": "textMuted",
                  "slot": "number",
                  "role": "label",
                  "font": "mono"
                },
                {
                  "el": "text",
                  "slot": "title",
                  "role": "h3",
                  "leading": "tight"
                }
              ]
            },
            {
              "el": "text",
              "color": "textMuted",
              "slot": "meta",
              "role": "small"
            }
          ]
        }
      }
    ]
  }
}

Other patterns in this design

Whole design · Spec bundle (JSON) · Hero library page