nav.swiss-split-columns · Split columns

A nav pattern from Swiss International, drawn alone below with this design's tokens and sample copy. Used in this design on: every page, as the nav. Give the section root data-pattern="nav.swiss-split-columns". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
Wordmark in columns 1–3, page links start exactly at column 7; a hairline closes the bar. No buttons, no logo icon.
Slots
siteName, pages
Grid areas
logo 1-3 · links 7-12 (12-column grid, 1-based inclusive spans)
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)
Section
vertical padding step 2

Pattern notes

  • Wordmark (no symbol) in 1–3; page links start exactly on the column-7 line, plain, in body size, with the current page underlined. A 1 px hairline closes the bar. No buttons, no hamburger on desktop; at phone width the links scroll horizontally on one line.
Northfold
  • Services
  • Work
  • About
  • Contact
Layout tree (as in design/layout.json)
{
  "pattern": "nav.swiss-split-columns",
  "kind": "nav",
  "grid": {
    "logo": "1-3",
    "links": "7-12"
  },
  "slots": [
    "siteName",
    "pages"
  ],
  "tree": {
    "el": "box",
    "gap": 2,
    "children": [
      {
        "el": "grid",
        "gap": 3,
        "align": "baseline",
        "children": [
          {
            "el": "logo",
            "span": "1-3",
            "slot": "siteName",
            "style": "wordmark"
          },
          {
            "el": "nav-links",
            "span": "7-12",
            "mobile": "scroll-x",
            "slot": "pages",
            "dir": "row",
            "style": "plain"
          }
        ]
      },
      {
        "el": "divider",
        "weight": 1
      }
    ]
  }
}
Component example: reference/nav.swiss-split-columns.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>nav.swiss-split-columns — Swiss International</title>
<link rel="stylesheet" href="base.css">
<style>
  header { padding: calc(var(--unit) * 2) 0 0; }
  header .grid { align-items: baseline; padding-bottom: calc(var(--unit) * 2); border-bottom: 1px solid var(--rule); }
  .logo { grid-column: 1 / 4; font: 700 var(--step-1)/1 var(--font-heading); letter-spacing: -0.02em; text-decoration: none; }
  nav { grid-column: 7 / 13; display: flex; gap: var(--gutter); }
  nav a { text-decoration: none; } nav a[aria-current="page"], nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
  @media (max-width: 640px) { nav { overflow-x: auto; white-space: nowrap; padding-top: 12px; } }
</style>
</head>
<body>
<header class="wrap">
  <div class="grid">
    <a class="logo" href="/">Atelier Raster</a>
    <nav aria-label="Main"><a href="/work" aria-current="page">Work</a><a href="/about">About</a><a href="/services">Services</a><a href="/contact">Contact</a></nav>
  </div>
</header>
</body>
</html>

Other patterns in this design

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