nav.scandinavian-soft-pill-tray · Pill tray

A nav pattern from Scandinavian Soft, 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="nav.scandinavian-soft-pill-tray". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A single rounded tray on the surface colour: wordmark left, pill links in the middle, a small primary button right.
Slots
siteName, pages, cta
Tokens
bg #FDF9F4 · text #241E16 · heading #150E06 · accent #69A382 · accent2 #5DA29C · Nunito / Nunito Sans · radius 16px · space unit 8px (full list in design/tokens.json)
Section
vertical padding step 3

Pattern notes

  • A single rounded tray (surface colour, `radius` token, soft shadow) inside the page width: wordmark left, pill-style links in the middle (the current page gets a bg-coloured pill), a small primary button right. Phone: wordmark and links only; links scroll horizontally.
Northfold
  • Services
  • Work
  • About
  • Contact
Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "nav.scandinavian-soft-pill-tray",
  "kind": "nav",
  "slots": [
    "siteName",
    "pages",
    "cta"
  ],
  "tree": {
    "el": "box",
    "bg": "surface",
    "dir": "row",
    "gap": 4,
    "pad": [
      2,
      4
    ],
    "align": "center",
    "justify": "between",
    "children": [
      {
        "el": "logo",
        "slot": "siteName",
        "style": "wordmark"
      },
      {
        "el": "nav-links",
        "mobile": "scroll-x",
        "slot": "pages",
        "dir": "row",
        "style": "pill"
      },
      {
        "el": "button",
        "mobile": "hide",
        "slot": "cta",
        "variant": "primary",
        "size": "sm"
      }
    ]
  }
}
Component example: reference/nav.scandinavian-soft-pill-tray.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>nav.scandinavian-soft-pill-tray — Scandinavian Soft</title>
<link rel="stylesheet" href="base.css">
<style>
  header { padding: calc(var(--unit) * 3) 0; }
  .tray { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 12px 12px 12px 32px;
          background: var(--surface); border-radius: 999px; box-shadow: var(--shadow-soft); }
  .wordmark { font: 600 var(--step-1)/1 var(--font-heading); color: var(--heading); text-decoration: none; }
  nav ul { display: flex; gap: 4px; list-style: none; padding: 0; }
  nav a { display: block; padding: 10px 18px; border-radius: 999px; color: var(--text); text-decoration: none; transition: background 320ms var(--ease); }
  nav a[aria-current="page"], nav a:hover { background: var(--bg); }
  .btn { padding: 12px 20px; }
  @media (max-width: 640px) {
    .tray { flex-wrap: wrap; border-radius: var(--radius); padding: 12px 16px; }
    nav { width: 100%; overflow-x: auto; } .tray .btn { display: none; }
  }
</style>
</head>
<body>
<header class="wrap">
  <div class="tray">
    <a class="wordmark" href="/">Lindgren Studio</a>
    <nav aria-label="Main"><ul>
      <li><a href="/" aria-current="page">Home</a></li><li><a href="/work">Rooms</a></li>
      <li><a href="/about">About</a></li><li><a href="/journal">Journal</a></li><li><a href="/contact">Contact</a></li>
    </ul></nav>
    <a class="btn btn-primary" href="/contact">Book a visit</a>
  </div>
</header>
</body>
</html>

Other patterns in this design

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