Skip to content

nominal.so

Nominal

Accounting software site on off-white with a serif headline and colored task chips.

Full-page screenshot of the Nominal website

Source

nominal.so

Accounting software site on off-white with a serif headline and colored task chips.

Captured

awwwards

Version
20261006T095648Z-57064bc2
Views
1440 × 900, 390 × 664
Format
0 errors, 0 warnings

DESIGN.md · Nominal

Download
---
version: "alpha"
name: "Nominal"
description: "Reference design from a website capture. Computed values and representative element roles remain draft."
x-zsd:
  profile: "0.1"
  kind: "reference"
  source:
    method: "generated"
    url: "https://nominal.so/"
    captured: "2026-10-06"
  review:
    status: "draft"
  unresolved:
    - "Role assignments use representative DOM elements and need visual inspection."
    - "Audience, design rationale, alternate routes, and theme coverage need inspection."
    - "Interaction states, keyboard behavior, and reduced motion need direct inspection."
    - "Color counts and font declarations do not establish semantic roles."
    - "The capture omits 32 requested assets. Archive coverage needs inspection."
    - "The capture hid overlay containers before the screenshots. The screenshots do not show them."
  layout:
    desktop-viewport: "1440px"
    desktop-content-width: "1440px"
    desktop-display: "block"
    mobile-viewport: "390px"
    mobile-content-width: "390px"
  evidence:
    method: "computed-style"
    scope: "Computed styles and representative visible elements. Overlay containers were excluded from role sampling. No interaction-state or visual fidelity review."
    selectors:
      colors.primary: "html > body > div:nth-of-type(1) > div > header > div > div > nav > ul > li:nth-of-type(1) > a"
      colors.on-primary: "html > body > div:nth-of-type(1) > div > header > div > div > nav > ul > li:nth-of-type(1) > a"
      colors.surface: "html > body > div:nth-of-type(1) > div > main > div > section:nth-of-type(1) > div:nth-of-type(3) > div > div > p"
      colors.on-surface: "html > body > div:nth-of-type(1) > div > main > div > section:nth-of-type(1) > div:nth-of-type(3) > div > div > p"
      typography.headline-lg: "html > body > div:nth-of-type(1) > div > main > div > section:nth-of-type(1) > div:nth-of-type(3) > div > div > h1"
      typography.body-md: "html > body > div:nth-of-type(1) > div > main > div > section:nth-of-type(1) > div:nth-of-type(3) > div > div > p"
      typography.label-md: "html > body > div:nth-of-type(1) > div > header > div > div > nav > ul > li:nth-of-type(1) > a"
      typography.headline-md: "html > body > div:nth-of-type(1) > div > main > div > section:nth-of-type(2) > h2"
    viewports:
      - {"width": 1440, "height": 900}
      - {"width": 390, "height": 664}
    mobile-typography:
      headline:
        fontFamily: "\"STK Bureau Serif\", serif"
        fontSize: "36.3943px"
        fontWeight: 300
        lineHeight: 1.1
        letterSpacing: "-0.736902px"
      body:
        fontFamily: "Retorika, sans-serif"
        fontSize: "16.0282px"
        fontWeight: 500
        lineHeight: 1.4
        letterSpacing: "-0.480845px"
      action:
        fontFamily: "Retorika, sans-serif"
        fontSize: "14px"
        fontWeight: 600
        lineHeight: 1.2
        letterSpacing: "-0.42px"
    imagery:
      images: 46
      canvases: 2
      svg: 67
    action-label: "Log in"
  motion:
    action-transition:
      duration: "0s"
      timing: "ease"
  elevation:
    action-shadow: "none"
colors:
  primary: "#FDFFF8"
  on-primary: "#151414"
  surface: "#FDFFF8"
  on-surface: "#5A5A5A"
typography:
  headline-lg:
    fontFamily: "\"STK Bureau Serif\", serif"
    fontSize: "64px"
    fontWeight: 300
    lineHeight: 1.1
    letterSpacing: "-1.92px"
  body-md:
    fontFamily: "Retorika, sans-serif"
    fontSize: "18px"
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: "-0.54px"
  label-md:
    fontFamily: "Retorika, sans-serif"
    fontSize: "14px"
    fontWeight: 600
    lineHeight: 1.4
    letterSpacing: "-0.28px"
  headline-md:
    fontFamily: "Retorika, sans-serif"
    fontSize: "14px"
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: "-0.28px"
spacing:
  space-1: "7.2px"
  space-2: "8px"
  space-3: "9px"
  space-4: "16px"
  space-5: "17.5px"
  space-6: "17.6px"
  space-7: "20px"
  space-8: "24px"
  space-9: "31.9999px"
  space-10: "40px"
  space-11: "48px"
  space-12: "64px"
  action-x: "16px"
  action-y: "0px"
  control-height: "84px"
rounded:
  action: "0px"
components:
  action-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-md}"
    height: "{spacing.control-height}"
    rounded: "{rounded.action}"
---

# Nominal

## Overview

A reference record of the captured page. Values come from visible elements and computed styles at the recorded viewports.
Role assignments remain draft. Compare the record with the source screenshots before use.

## Colors

- `primary`: Use for the sampled action surface.
- `on-primary`: Use for text on the sampled action.
- `surface`: Use for the surface under the sampled body text.
- `on-surface`: Use for the sampled body text.

## Typography

- `headline-lg`: Use for the sampled page title.
- `body-md`: Use for the sampled body text.
- `label-md`: Use for the sampled action label.
- `headline-md`: Use for the sampled section title.

## Layout

`x-zsd.layout.desktop-content-width` records the sampled main element width.
`x-zsd.layout.desktop-viewport` records its viewport.
Spacing tokens record observed intervals. They do not establish an approved spacing scale.

### Responsive behavior

Compare `x-zsd.layout.mobile-content-width` at `x-zsd.layout.mobile-viewport` with the desktop observation.
Intermediate widths, overflow rules, and layout breakpoints need direct inspection.

## Elevation & Depth

`x-zsd.elevation.action-shadow` records the sampled action shadow. Other depth rules need direct inspection.

## Shapes

- `action`: Use for the sampled action radius.

## Components

### Action

Use `action-primary` for the representative action. Use `action-x` and `action-y` for its horizontal and vertical padding.
Use `control-height` for its observed height.
Hover, focus, pressed, disabled, loading, empty, error, and success states need direct inspection.

## Do's and Don'ts

- Do keep the source URL and capture date with this reference.
- Do compare representative roles with the source screenshots.
- Do keep missing behavior explicit.
- Do not substitute the plugin starter values.
- Do not treat a format check as visual approval.
- Do not infer interaction behavior from static screenshots.

## Motion

`x-zsd.motion.action-transition` records the sampled action transition. Animation timing and reduced motion need direct inspection.

## Iconography

Icon sources and stroke rules need direct inspection.

## Imagery

`x-zsd.evidence.imagery` records counts for images and graphics. Image treatment and crop rules need direct inspection.

## Accessibility

Token contrast checks apply to the sampled pairs. Keyboard paths, labels, and screen reader behavior need direct inspection.
This reference does not establish accessibility conformance.