Back to design system

Browser flow: Ctrl/Cmd+P → destination “Save as PDF” → A4 → enable Background graphics. Page numbers come from the browser’s “Headers and footers” option.

EditionGenerated 30 October 2026
StatusInternal reference. Reflects the live design system at the time of export; it is not a formally approved release.
Source/design-system — unlinked, noindex, internal only
Contents10 sections: tokens, components, layout and accessibility

Every value in this document is read from the same source the website consumes. Nothing was redrawn, recoloured or re-specified for the export, and the logo is the supplied artwork used as-is.

Contents

Sections

  1. 01Logo system
  2. 02Colour
  3. 03Typography
  4. 04Spacing & elevation
  5. 05Buttons & forms
  6. 06Cards & stats
  7. 07Tabs, dialog, tables
  8. 08Layout
  9. 09Header & footer
  10. 10Accessibility

The order matches /design-system exactly. Page numbers are produced by the browser print dialog (enable “Headers and footers”), because Chromium does not support CSS page counters in page margins.

Foundations

Colour system

Every value here is sampled from the supplied logo: the D-mark gradient, its three accent dots and the white badge with its mist wash. Ratios are measured WCAG 2.1 values for the pair stated — nothing is estimated.

Brand core

Brand navy

AAA

#061A3A

--brand-navy

Primary text, dark sections, footer ground

17.26:1 on white

Brand blue

AA

#0066FF

--brand-blue

Primary action, links, focus ring — the D-mark base

4.83:1 with white

Deep blue

AA

#3366FF

--brand-deep

Middle accent dot; gradient mid-stop, secondary charts

4.68:1 with white

Brand cyan

AA

#00CCFF

--brand-cyan

Accent, "Ops" wordmark, decorative highlights — never text on light

9.11:1 on navy

Brand teal

AA-large

#009999

--brand-teal

Smallest accent dot; tertiary accents, illustration only

3.49:1 with white

Mist wash

AAA

#E0F2FF

--brand-mist

Tinted sections, badge backgrounds, the logo badge wash

15.05:1 with navy text

Gradient

Decorative

#0066FF → #00CCFF

--brand-gradient

Decorative bands and marks only — never behind small text

Neutrals

White

#FFFFFF

--brand-white

Cards, page surface

Off-white

AAA

#F7FAFF

--brand-offwhite

Page background

16.50:1 with navy

Mist 2

AAA

#EDF4FD

--brand-mist-2

Muted surface, table headers

15.58:1 with navy

Border

#D7E6F7

--brand-border

Default hairline border

Border strong

#B4CDE8

--brand-border-strong

Input borders, emphasis rules

Ink 2

AA

#4A5C78

--brand-ink-2

Secondary text, body copy

6.79:1 on white

Ink 3

AA

#5A6B85

--brand-ink-3

Muted text, captions, help text

5.42:1 on white

Semantic usage

primary

AA

#0066FF

--ds-primary

Main CTA, active nav, focus

4.83:1 with white

primary hover

AA

#0052CC

--ds-primary-hover

Pressed / hover of primary

6.82:1 with white

secondary

#E8F1FF

--ds-primary-soft

Secondary button fill, brand badge

accent

AA

#00CCFF

--ds-accent

Accent rules, KPI glyphs, emphasis on dark

9.11:1 on navy

background

AAA

#F7FAFF

--ds-bg

Page ground

16.50:1 with text

surface

#FFFFFF

--ds-surface

Cards, dialogs, inputs

surface-muted

#EDF4FD

--ds-surface-muted

Inset areas, table head, disabled

border

#D7E6F7

--ds-border

Dividers and outlines

text-primary

AAA

#061A3A

--ds-text

Headings and body emphasis

16.50:1 on bg

text-secondary

AA

#4A5C78

--ds-text-2

Supporting copy

6.79:1 on white

text-muted

AA

#5A6B85

--ds-text-muted

Captions, metadata

5.42:1 on white

success

AA

#067A55

--ds-success

Confirmations, positive deltas

5.35:1 on white

warning

AA

#B54708

--ds-warning

Caution, pending states

5.43:1 on white

error

AA

#D92D20

--ds-error

Errors, destructive actions

4.83:1 on white

Cyan is decorative, never text on light. #00CCFF on white measures 1.90:1 and fails. On the navy ground it measures 9.11:1 and is fine. Use it for the “Ops” wordmark, accent rules, dots and icon highlights — carry meaning with brand blue or navy instead.

Foundations

Typography

One family carries the whole system: Manrope for Latin, Noto Sans Hebrew for RTL. Hierarchy comes from size, weight and tracking — never from a second typeface.

Display / hero

.ds-display

clamp(40 → 72px) · 800 · -0.03em · lh 1.02

H1

.ds-h1

clamp(32 → 52px) · 800 · -0.025em · lh 1.08

H2

.ds-h2

clamp(26 → 38px) · 700 · -0.02em · lh 1.15

H3

.ds-h3

clamp(20 → 26px) · 700 · -0.015em · lh 1.25

H4

.ds-h4

18px · 700 · -0.01em · lh 1.35

Body large

.ds-lead

clamp(17 → 20px) · 400 · 0 · lh 1.6

Body

.ds-body

16px · 400 · 0 · lh 1.7

Body small

.ds-body-sm

14px · 400 · 0 · lh 1.6

Caption

.ds-caption

13px · 400 · 0 · lh 1.5

Eyebrow

.ds-eyebrow

12px · 700 · 0.12em · lh 1

Form label

.ds-label

14px · 600 · 0 · lh 1.4

Button text

.ds-body-sm

15px · 700 · 0 · lh 1.2

LTR pattern

Enterprise platforms, integrations and operations

Eyebrows are uppercase and tracked, headings tighten to -0.02em, and every block aligns to the start edge.

RTL pattern

פלטפורמות ארגוניות, אינטגרציות ומערכות הפעלה לעסקים.

אין ריווח אותיות ואין אותיות רישיות בעברית. הכותרות נשארות באותו משקל, והטקסט נצמד לשפת ההתחלה — ימין.

In RTL the system drops letter-spacing and uppercasing (`.ds-eyebrow`), relaxes heading tracking to 0 and lifts heading line-height to 1.18, because Hebrew needs the extra vertical room and tracking breaks word shaping.

Foundations

Spacing, radius, elevation, layout & motion

The scales everything else is built from. Spacing follows the 4px step, so every gap on the site is a multiple of 4 — including gaps inside components.

Spacing scale

TokenValueUsage
space-14pxIcon-to-text gap
space-28pxTight stacks, label to input
space-312pxButton padding, inline groups
space-416pxCard inner rhythm
space-624pxCard padding, grid gutter (mobile)
space-832pxSection padding (mobile), grid gutter (desktop)
space-1248pxSection padding (tablet)
space-1664pxSection padding (desktop)
space-2496pxHero breathing room (desktop)

Radius scale

TokenValueUsage
--ds-radius-xs6pxBadges, tiny chips
--ds-radius-sm8pxButtons, inputs
--ds-radius-md12pxAlerts, small panels
--ds-radius-lg16pxCards, dialogs
--ds-radius-xl24pxHero panels, media
--ds-radius-pill999pxPills, switches, avatars
6px
8px
12px
16px
24px
999px

Elevation

TokenValueUsage
--ds-shadow-xs0 1px 2px rgba(6,26,58,.06)Resting cards, inputs
--ds-shadow-sm0 2px 6px rgba(6,26,58,.08)Hover on small surfaces
--ds-shadow-md0 8px 24px rgba(6,26,58,.10)Card hover, dropdowns
--ds-shadow-lg0 18px 48px rgba(6,26,58,.16)Dialogs, sticky header
--ds-shadow-brand0 8px 22px rgba(0,102,255,.24)Primary CTA only

Containers

TokenValueUsage
--ds-container-narrow768pxLegal pages, article reading width
--ds-container1280pxDefault page container
--ds-container-wide1440pxFull-bleed marketing bands

Breakpoints

TokenValueUsage
sm640pxLarge phone
md768pxTablet — grids widen to 2 columns
lg1024pxLaptop — desktop navigation appears
xl1280pxFull page container
2xl1536pxWide screens (rarely needed)

Motion

TokenValueUsage
--ds-dur-fast120msHover, press feedback
--ds-dur-base200msDefault transition
--ds-dur-slow320msDialog / drawer entrance
--ds-easecubic-bezier(.2,.7,.3,1)Standard easing for all motion

All motion is disabled under prefers-reduced-motion and by the site accessibility panel — durations collapse to 1ms, never to “no state change”.

Focus ring

One ring for the whole system: a 2px brand-blue outline at 2px offset. It must be visible on every interactive element without relying on hover.

Keyboard only — use Tab. Pointer users never see it; keyboard users always do.

Components

Buttons & form controls

One button height (48px) meets the mobile touch-target minimum everywhere. Every control below is keyboard reachable and uses the brand tokens only.

Button hierarchy

One primary action per view. Secondary supports it; outline/ghost live in dense toolbars; text links sit inside body copy.

Text, textarea & select

16px text — never smaller, so iOS does not zoom on focus.

Enter a valid work email address.

Choice controls

Options (checkbox)
Timeline (radio)
Notifications (switch)
Product updates
Case studies

Components

Cards, stats, badges & section headers

The building blocks of every content block on the site: one card treatment, one KPI treatment, one badge language, one section header.

Section header

Capabilities

Systems that carry the business

Eyebrow, heading, one supporting sentence. Never a fourth line — detail belongs in the cards below.

Card (resting & hover)

ERP & operations

Modules, integrations and permissions that hold a business together.

Core
Explore

42%

Less manual handling

Measured per engagement

3×

Faster onboarding

Average across rollouts

24/7

Monitored uptime

Support model

Tags & badges

BrandCyanTealNeutralLivePendingBlocked

Badges carry state, not decoration. Status always pairs colour with a word — never colour alone.

Navigation items & links

Inline links use brand blue with an underline so they never rely on colour alone to be recognised.

Components

Tabs, accordion, dialog, alerts, tables & empty states

Interactive shells keep their accessible behaviour and only take the brand tokens on top — nothing here re-implements focus management.

Tabs

Overview

Tab labels stay sentence-case and short; content never shifts the tab row.

Modules

One idea per tab — never hide the primary action inside a non-default tab.

Security

Roles, audit trails and data boundaries live in their own tab.

Accordion (FAQ pattern)

How long does an implementation take?

Scope-dependent. A core ERP rollout runs in phases, each with its own acceptance gate.

Can existing systems stay in place?

Yes — integrations are planned per system, with a fallback path during cut-over.

Dialog shell

Confirm scope change

This dialog uses the card radius, the large shadow and the brand heading weight. Focus is trapped by the shell, Escape closes it.

ConfirmCancel

One primary action, one dismissive action — never two primaries.

Toast / alert states

Info — used for neutral context.
Success — the change was saved.
Warning — check before continuing.
Error — the request was rejected.

Table

ModuleStatusOwnerUpdated
InventoryLiveOps2 days ago
ProcurementPendingFinance5 days ago
Field serviceBlockedOpstoday

Scrolls horizontally on narrow screens rather than crushing columns.

Pagination

Empty state

Nothing here yet

Say what will appear and offer the one action that fills it.

Layout

Layout patterns

One container, one section rhythm, one grid. Everything is expressed in logical (start/end) terms so the identical markup mirrors correctly in Hebrew.

Container widths

narrow · 768px
default · 1280px
wide · 1440px

Page padding is 20px (mobile) → 32px (md) → 40px (xl), applied with padding-inline.

Grid behaviour (12 column)

1 col → full width
2 col → card grid
3 col → pillar grid

Gutters: 16px below md, 24px at md, 32px at lg. Cards never span fewer than 4 columns on desktop.

Section rhythm

48px — mobile section padding
64px — tablet
96px — desktop

Hero padding is applied once, by .page-hero-top — never twice, since the header is sticky in normal flow.

Responsive stacking

  • ≥1280pxContainer 1280px, 3–4 column grids, 32px gutters
  • 1024–1279pxContainer 1280px, 3 column grids, 24px gutters
  • 768–1023px2 column grids, 24px gutters, desktop nav hidden
  • <768pxSingle column, 20px page padding, 16px card padding, stacks top-to-bottom

Mirroring rules (LTR / RTL)

LTR

StartContent flows left → rightEnd

RTL

התחלההתוכן זורם מימין לשמאלסוף

Use padding-inline, margin-inline, text-start and inset-inline. Never left/right, and never a mirrored duplicate layout. Icons that encode direction (arrows, chevrons) flip; icons that encode an object (logo, play, download) do not.

Preparation

Header & footer guidance

How the brand lands in the two global surfaces. This is the reference for the later rollout — the live header and footer are intentionally untouched in this step.

Header — desktop, sticky, 64px tall

DigitalOps logoDigitalOps

Logo placement

Start edge, 40px badge, 16px to the first nav item.

Navigation hierarchy

Max 5 top-level items; secondary links live in the footer.

CTA

One primary button: brand blue, 40–48px, always the last item.

Footer — brand block, link columns, contact & social

DigitalOps logoDigitalOps

Enterprise platforms, integrations and operations for businesses that run on their systems.

Solutions

  • ERP core
  • Integrations
  • Automation

Company

  • About
  • Work
  • Contact

Brand block

Navy ground, 48px badge beside the wordmark, one-line positioning, then social.

Link style

14px, #B4CDE8 (10.55:1 on navy); hover lifts to white. No underlines at rest.

Contact / social

36px circular targets, 44px minimum tap area with padding.

The live header and footer still render the previous logo. They are deliberately unchanged here so this step adds a foundation without altering any public page.

Guardrails

Accessibility

Contrast values on this page are measured, not assumed. These rules are requirements for every future page, not suggestions.

Contrast

Body text meets 4.5:1 minimum; large text and icons meet 3:1. Cyan is never used as light-ground text (1.90:1).

Focus

A 2px brand-blue ring at 2px offset on every interactive element, visible without hover.

Targets

48px minimum for buttons and inputs, 44px for icon buttons and footer links.

Text size

16px for inputs (no iOS zoom) and body; 13px is the smallest text in the system.

Motion

All durations collapse under prefers-reduced-motion and the in-page accessibility panel.

RTL

Logical properties only. No letter-spacing or uppercasing in Hebrew.

Meaning

State is never colour alone — a badge always carries its word or icon.

Structure

One h1 per page; sections labelled; skip link precedes the header.

Contrast pairs in use

ForegroundBackgroundRatioPasses
#FFFFFF#0066FF4.83:1AA
#061A3A#F7FAFF16.50:1AAA
#4A5C78#FFFFFF6.79:1AA
#5A6B85#FFFFFF5.42:1AA
#00CCFF#061A3A9.11:1AA
#00CCFF#FFFFFF1.90:1Fails — decorative only
#D92D20#FFFFFF4.83:1AA
#067A55#FFFFFF5.35:1AA

Notes

Using these guidelines

This document is the single source of truth for brand and UI. Public pages and site chrome consume these tokens; the mark itself is the supplied artwork, never a redraw.

What the print export cannot carry

  • The sticky section navigation on the live page is interface, not content; the contents list above replaces it.
  • Hover, focus and pressed states cannot exist on paper. Every component is reproduced in its resting state.
  • Interactive shells are expanded: all three tab panels, both accordion answers and the dialog are shown open, because a printed page cannot hold state.
  • Page numbers come from the browser’s own print header/footer, not from CSS.
  • The live site header and footer are not captured. The examples in the “Header & footer” section are the reference.

Generated 30 October 2026 from /design-system.