Deskrivet Web brand kit / Option 5 — Gothic editorial

Deskrivet · Web brand kit · Direction 5 of 5

Gothic editorial

01Thesis

One typeface carries the whole company: the letterforms of the wordmark become the letterforms of the site, and a single hi-vis amber marks the one thing that matters on each screen.

Deskrivet sells trust to ops and finance people who have been burned by payroll data. A site that borrows a stock UI font says nothing; a site set entirely in URW Gothic says the mark is not a logo bolted onto a template — it is the voice. The register is editorial, not app-like: large headings, long air between sections, wide-tracked small caps for labels, hairline rules doing the structure.

The amber is the colour of a field crew's hi-vis vest, and it behaves like one: it never speaks, it only marks. It cannot be read as text, it cannot fill a button, it cannot tint a surface. That restraint is what keeps a brand-forward page from drifting into decoration — and it keeps the whole page monochrome, which is what a document you will hand to an auditor should be.

The one rule

One face. The amber marks; it never speaks.

Everything on the site is URW Gothic — Demi for display, Book for body — with JetBrains Mono admitted for machine data only. The accent appears as a bar, a rule or a ring, never as a letter and never as a fill.

02Logo

Black on white, always. The wordmark is the supplied outline — it is never retyped, and the amber is never underneath it.

Wordmark · hero size · on ground

Deskrivet wordmark

The mark · rivet-d

App icon · 512 rounded tile

Field Time app icon

Clear space · b = the height of the d's bowl

bb bb

The dashed line is the ink edge of the wordmark; the solid line is the minimum clear space. b = 209.8 units of the 1600 × 320 artboard = 0.131 × the rendered wordmark width. Nothing — type, rule, image or edge of viewport — enters that band.

Minimum sizes · wordmark 96 px · mark 16 px

96 px · minimum
16
24
32
48

Don't

Don't

Distort. The artboard is 5 : 1 and stays 5 : 1.

Don't

Sit the mark on the amber. The marker is not a ground.

Don't
deskrivet

Retype it. Live type loses the rivet crown and the optical fit.

03Typography

URW Gothic does display and body. Book is set at 18 px / 1.62 on a 60-character measure so a geometric face stays readable at paragraph length.

Faces and roles

FaceRoleSource
URW Gothic Demi Display, headings, labels, buttons, big numerals /brand/fonts.css · 600
URW Gothic Book Body, lead, small — the whole reading layer /brand/fonts.css · 400
JetBrains Mono Machine data only: times, distances, hashes, IDs, tokens Google Fonts · 400/500

Demi below 20 px is only ever uppercase and tracked ≥ 0.08 em. That is the single exception to the display-face rule: captions (12 px / 0.18 em), chips (11 px / 0.13 em) and buttons (14 px / 0.09 em) are set as tracked caps, where the tight geometric fit stops being a problem. Demi is never used for lowercase running text at any size.

Scale · live samples · values at ≥ 1200 px

Time your payroll can defend.
display-xl
92 / 0.94 / −0.035em
Demi 600
A small detail.
A dependable connection.
display
64 / 0.98 / −0.028em
Demi 600
Exception-first approval
h2
42 / 1.04 / −0.022em
Demi 600
The gate before export
h3
26 / 1.18 / −0.012em
Demi 600
Field Time captures punches offline, surfaces the exceptions, and lets nothing reach Acumatica payroll unapproved.
lead
23 / 1.5 / −0.004em
Book 400
Deskrivet builds add-ons for Acumatica. Field Time is a handset for the crew and a console for the supervisor, with a hard approval gate before anything is exported to payroll.
body
18 / 1.62 / 0
Book 400 · 60ch
Built for Acumatica 2026 R1. No middleware, no mapping screens.
small
15 / 1.55 / 0.004em
Book 400
For Acumatica partners
caption
12 / 1.25 / 0.18em
Demi 600 · caps
8h 19m · 412 m · 15:32 · 381e…c4e2 · EP00012
mono-data
14 / 1.45 / 0
Mono 400 · tnum

Numerals

Every figure that a reader may compare down a column is tabular. Times, durations, distances, revision hashes and Acumatica IDs are JetBrains Mono with tnum on. Display figures in stats and headings stay in Demi, also tabular, because they are read as type, not as data.

Rendered

8h 19m
7h 58m
8h 04m
7h 46m

2,250 / 2,250
04Colour

Black on white, one hi-vis amber that only ever marks, and status colour that exists solely inside product surfaces.

Ground
#FFFFFF
oklch(100% 0 0)
Ground sunk
#F4F4F1
oklch(96.3% .003 106)
Ground invert
#000000
oklch(0% 0 0)
Marker
#EFB300
oklch(80% .17 85)
Ink
#000000
body + display
Ink 2
#3A3A38
secondary copy
Ink 3
#6E6E68
captions, meta
Line soft
#D9D9D4
hairline · 1 px
Exception
Exception
#A81E12 on #FBEAE7
Warning
Warning
#7A5200 on #FBF0D8
Approved
Ok
#186B39 on #E7F3EA
Pending
Pending
#4A4A46 on #EFEFEC

Measured contrast

Ink #000000 on ground #FFFFFF21.0 : 1  AAA
Ink 2 #3A3A38 on ground11.4 : 1  AAA
Ink 3 #6E6E68 on ground5.13 : 1  AA
Exception ink on its tint6.30 : 1  AA
Warning ink on its tint6.12 : 1  AA
Ok ink on its tint5.75 : 1  AA
Pending ink on its tint7.73 : 1  AA
Marker #EFB300 on ground1.89 : 1  fail

When colour is allowed

The marker fails contrast against white by design — 1.89 : 1 is the proof that it can never be text. It is allowed in exactly four jobs: the bar under one word in a heading, the current item in navigation, the outer focus ring, and the rule beside a stated rule. Four amber events per screen is the ceiling.

Status colour is allowed only inside a product surface — a plate, a chip, a table row — never in site chrome. The deep ochre of warning is a text colour on a tint; the hi-vis marker is a bar. They are never used in the same component.

05Spacing and layout

Base unit 8 px. Sections are separated by 96 px of nothing — the white space is the layout.

Scale · rendered

s1 · 4
s2 · 8
s3 · 12
s4 · 16
s5 · 24
s6 · 32
s7 · 48
s8 · 64
s9 · 96
s10 · 128

Structure

Container1200 px · 24 px page pad
Grid12 col · 24 px gutter
Body measure60ch max
Radii0 px · everywhere
Hairline1 px #D9D9D4
Structural rule2 px #000000
Elevationnone — ever
Section rhythm96 px above · 24 px below rule

There are no shadows, no blur and no rounded corners in this system. Depth is expressed as a 1 px hairline or a 2 px rule, and separation is expressed as distance.

Column grid · 12 × 24 px gutter · rendered

06Components

Square, hairlined, uppercase. Hover inverts or reveals the marker; focus is always a black ring inside an amber ring.

Buttons · states side by side

DefaultHoverFocusDisabled
HoverBook a demo
FocusBook a demo
DisabledBook a demo
HoverSee the gate
FocusSee the gate
DisabledSee the gate
DefaultDocs
HoverDocs
FocusDocs
DisabledDocs

Sizes


Text link

Read the approval gate spec, or the hover state, or the focus state.

Input and select

Work email
Focus
Acumatica version
Disabled

Status chips

Outside geofence Long shift Approved Draft

Chips are the only place a coloured field is allowed, and only inside a product surface. The square 6 px marker inside the chip carries the same colour as the label, so the chip survives greyscale printing of a payroll pack.

Product plate · session detail

Ana Ropata
Session · Thu 5 Sep 2026
Outside geofence
Total
8h 19m
Stop
15:32
Geofence
412 m outside the fence
Crew note
“Walked to the van for fittings.”
Approved
15:51 · M. Ropata
Revision
381e…c4e2
Released to Acumatica 16:00 · Time Activity EP00012

Table · crew day · tabular numerals

CrewHoursExceptionStatus
Ana Ropata8h 19m Outside geofence Approved
Tama Wiremu7h 58m Approved
Ria Kōhere8h 04m Approved
Hemi Walker7h 46m Approved

The exception row is marked by a 3 px red rule on its leading edge, not by a tinted row. Tinting rows would put status colour on a surface; the rule keeps it on an edge.

07Motion

Type never moves. Only the marker, the state of a control, and the loader move.

Durations and eases

--m-fast120 msHover, focus ring, chip
--m-base200 msMarker bar draw, link underline
--m-med280 msPlate and row enter
--m-slow400 msApproval gate confirm
--m-story600 msHero marker, once, on load
--ease-out.22,1,.36,1Enter, reveal
--ease-inout.65,0,.35,1Move between two states
--ease-emph.2,0,0,1Gate, release, commit

Signature · the rivet-d loader

Rivet-d loader, spinning

The d turns on its own axis. It is the only looping motion the brand owns, and it is used for one thing: waiting on the ingest path.

What moves · what never moves

The amber marker under a wordmoves
Button and link statesmoves
Rows entering a console listmoves
Headings, wordmark, numbersnever
Rules, plates, tables, gridsnever
Anything on scrollnever

Reduced motion: show the resolved state, paused, never removed. The marker is drawn full width with no transition; the loader is replaced by the static rivet-d with an accessible “Working” label. Nothing that carried information disappears.

08Applied

The home fold, built only from the tokens above.

Sample · deskrivet.com · home fold static

Time your payroll can defend.

Field Time captures punches offline, surfaces the exceptions, and lets nothing reach Acumatica payroll unapproved.

Built for Acumatica 2026 R1. No middleware, no mapping screens.

2,250 / 2,250

events accounted for after eight fault scenarios replay through the real ingest path

0

mapping screens. Acumatica employees, projects and appointments are the canonical IDs everywhere

1

gate before export. An unapproved session cannot become a Time Activity, technically

Supervisor console · exceptions first

Ana Ropata
8h 19m · Stop 15:32
Outside geofence
Geofence
412 m outside the fence
Crew note
“Walked to the van for fittings.”
Approved
15:51 · M. Ropata
Revision
381e…c4e2
Released to Acumatica 16:00 · Time Activity EP00012 Approved
09Tokens

The complete custom-property set this page is built from.

:root{
  /* grounds */
  --ground:#FFFFFF;              /* oklch(100% 0 0)      */
  --ground-sunk:#F4F4F1;         /* oklch(96.3% .003 106)*/
  --ground-invert:#000000;       /* oklch(0% 0 0)        */

  /* ink ramp */
  --ink:#000000;                 /* 21.0:1 on ground     */
  --ink-2:#3A3A38;               /* 11.4:1               */
  --ink-3:#6E6E68;               /*  5.13:1              */

  /* lines */
  --line:#000000;                /* 2px structural rule  */
  --line-soft:#D9D9D4;           /* 1px hairline         */

  /* interactive */
  --interactive:#000000;
  --interactive-hover:#3A3A38;

  /* marker — never text, never a fill */
  --mark:#EFB300;                /* oklch(80% .17 85)    */

  /* status — product surfaces only */
  --exception:#A81E12;  --exception-tint:#FBEAE7;   /* 6.30:1 */
  --warning:#7A5200;    --warning-tint:#FBF0D8;     /* 6.12:1 */
  --ok:#186B39;         --ok-tint:#E7F3EA;          /* 5.75:1 */
  --pending:#4A4A46;    --pending-tint:#EFEFEC;     /* 7.73:1 */

  /* faces */
  --f-display:"URW Gothic",ui-sans-serif,system-ui,sans-serif;   /* 600 Demi */
  --f-body:"URW Gothic",ui-sans-serif,system-ui,sans-serif;      /* 400 Book */
  --f-data:"JetBrains Mono",ui-monospace,monospace;

  /* type scale — size / line-height / tracking, at >=1200px */
  --t-display-xl:92px; --lh-display-xl:.94; --tr-display-xl:-.035em;
  --t-display:64px;    --lh-display:.98;    --tr-display:-.028em;
  --t-h2:42px;         --lh-h2:1.04;        --tr-h2:-.022em;
  --t-h3:26px;         --lh-h3:1.18;        --tr-h3:-.012em;
  --t-lead:23px;       --lh-lead:1.5;       --tr-lead:-.004em;
  --t-body:18px;       --lh-body:1.62;      --tr-body:0em;
  --t-small:15px;      --lh-small:1.55;     --tr-small:.004em;
  --t-caption:12px;    --lh-caption:1.25;   --tr-caption:.18em;
  --t-mono:14px;       --lh-mono:1.45;      --tr-mono:0em;

  /* spacing — base unit 8 */
  --u:8px;
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px;  --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px;  --s10:128px;

  /* layout */
  --container:1200px;
  --measure:60ch;
  --gutter:24px;
  --radius:0px;
  --hair:1px;
  --rule:2px;
  --elevation:none;

  /* motion */
  --m-fast:120ms; --m-base:200ms; --m-med:280ms; --m-slow:400ms; --m-story:600ms;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --ease-emph:cubic-bezier(.2,0,0,1);
}
Deskrivet · Web brand kit Option 5 — Gothic editorial One face. The amber marks; it never speaks.