Cultura — v1.2
Cultura  ·  Design System

A system for telling stories with clarity and warmth.

v1.2  ·  21 / 04 / 26
Voice

Considered, never cold.

Write like you speak to a thoughtful friend. Prefer short sentences. Avoid jargon, buzzwords, and exclamation points.

Craft

Intentional whitespace.

Let every element breathe. Hierarchy is built through size and space, not ornament. One accent per view.

Emotion

Grounded in nature.

Imagery of light, landscape, and quiet scale anchors the brand. Warmth of the natural world, quietness of confidence.

Core palette
Purple
Hero
Hex#66175e RGB102, 23, 94 CMYK65 · 100 · 31 · 21
Light Purple
Supporting
Hex#f7d6f2 RGB247, 214, 242 CMYK2 · 18 · 0 · 0
White
Supporting
Hex#ffffff RGB255, 255, 255 CMYK0 · 0 · 0 · 0
Deep Purple
Supporting
Hex#3d0f3d RGB61, 15, 61 CMYK73 · 99 · 41 · 50
Extended purple scale
50
100
200
300
400
500
600
700
800
900

Use 500 for brand moments. 600/700 for hover and pressed. 50/100 for surfaces and subtle backgrounds. 800/900 for high-contrast dark UIs.

Neutrals (canonical scale)
50
100
200
300
400
500
600
700
800
900

The ink scale inverts under dark mode — what’s near-white in light becomes near-black in dark, and vice versa — so text and borders flip cleanly when the theme switches.

Semantic
Success
Confirmations, positive states
Hex#2e7d5b
Warning
Caution, advisory
Hex#9a6a14
Danger
Errors, destructive actions
Hex#b2324a
Info
Neutral notices
Hex#3c5a9a
Horizons — supporting palette

Four landscape gradients pulled from the savanna — warmth in the foreground, cool in the distance. They support purple rather than compete with it: use them for illustration, mood imagery, section dividers, and quiet surface tints. One horizon per moment, the same way one accent sits per view.

Golden hour — savanna
#e19548
#4e280f
Daylight — open plain
#dcba8c
#856537
Dusk — forest edge
#aebea3
#2e3a29
Cool — water / mist
#c8d0d4
#5f6d79

Hover a tile to see its stops. Each palette also ships as a solid version — for type, icons, and UI contexts where a gradient would feel heavy.

Using warmth

Warmth is an accent, not a system. Reserve golden hour for moments that deserve to feel sunlit — a hero line, an editorial callout, a single card on a long page. The hero is still purple; warmth is the light falling on it.

Warm paper

For editorial moments.

A parchment surface pulled from the daylight palette. Use on cards that carry story, not product UI. Pairs with purple display type.

Warm highlight

One spotlight per page.

A thin golden ribbon on the leading edge marks the one thing the reader should not miss. Treat it as you’d treat a primary button: never more than one per view.

Mood tile

Carry the landscape.

Full-bleed gradient tiles work for section breaks, editorial splits, and image placeholders where photography isn’t ready. Keep type weight light; let the gradient carry the mood.

Display 1 · Rubik 72/500
A quiet system.
Display 2 · Rubik 56/500
Memory, held lightly.
H1 · Inter 40/400
Designing for presence
H2 · 32/500
Every element has a reason
H3 · 24/500
A supporting voice
H4 · 20/500
Section headings
Body · 16/400
The wordmark is set in a geometric sans with careful negative space; body copy echoes this rhythm. Keep line lengths between 55 and 75 characters for comfortable reading.
Body small · 14/400
Supporting paragraphs, helper text, and dense UI.
Caption · 12
Captions, meta, legal.
Eyebrow · 11/600
Section label
Display pairing · Rubik

Rubik is Cultura’s display face. Its rounded terminals and geometric core echo the lowercase wordmark, and at medium weight it lands with quiet confidence rather than bravado. Keep it for the top of the visual hierarchy: page heroes, section titles, editorial covers. Inter still carries everything readable.

Rubik display · 72/500
Held lightly.
Rubik title · 40/500
A design system for quiet stories.
Rubik title · 28/500
Softer weight for secondary hero.
Rubik editorial · 20/400
Lightest weight — long-form pull quotes and editorial openers, where the face needs to breathe.
Mono pairing · Space Mono

Space Mono is Cultura’s companion face. Its circular o and even stroke echo the wordmark’s geometry, so switching faces feels like a family resemblance rather than a context switch. Use it anywhere the reader is looking at a value, a key, or literal code — not prose.

Mono display · 32/700
--purple-500
Mono body · 14/400
cubic-bezier(0.16, 1, 0.3, 1)
Mono caption · 11/700
HEX · RGB · HSL
Show Space Mono in a code context Hide code specimen
.btn-primary {
  background: var(--purple-500);
  transition: background var(--t-fast) var(--ease-out);
}
When to use each face
Rubik · display

The top tier of the hierarchy only — page heroes, section titles, editorial covers, pull quotes. Medium (500) is the house weight; drop to 400 for the lightest editorial moments, reach for 600–700 only when a hero truly needs extra presence.

Inter · prose & UI

Everything readable: body, subheads, labels, UI chrome, marketing copy. Inter is the default for anything below the display tier; opt out deliberately.

Space Mono · system

Design tokens, CSS variables, code snippets, hex/RGB/HSL values, keyboard keys, IDs, terminal output, file paths, and tabular numerals where columns should line up.

Principles
One accent per view

Use purple on a single element — a heading, a button, or a key visual. Never on all three.

Sentence case

Headings and labels use sentence case. Title Case is reserved for proper names only.

Tight display, open body

Negative letter-spacing on display sizes; default tracking on body. Let scale create contrast.

s-14 px
s-28 px
s-312 px
s-416 px
s-524 px
s-632 px
s-748 px
s-864 px
s-996 px
Layout grid
Web

12 columns · 1440 max

24 px gutters on desktop, 16 px on mobile. Content caps at 1120 px for legibility.

Presentation

16:9 · 1920×1080

Outer margin 96 px. Run running-head, section title, and folio top/bottom as in the logo deck.

r-xs · 4
r-sm · 8
r-md · 12
r-pill · 999
Elevation
Shadow sm Inputs, subtle lift
Shadow md Cards, menus
Shadow lg Modals, overlays
Action · the drop
Ambient · the breath
Ambient · wind through grass
Ambient · wind across the dune
Duration · tap to test
Tap · 120 ms

Strike · 120 ms — the toggle snap. Micro-interactions, taps, hover flicks, checkbox ticks. Decisive and immediate — the user shouldn’t wait for it.

Tap · 200 ms

Fall · 200 ms — the tooltip settle. Menus, tooltips, selects, button state. Long enough to register, short enough to feel unhesitant.

Tap · 360 ms

Ripple · 360 ms — the sheet arrival. Modals, drawers, route changes, radiating feedback. Long enough to feel weighty; the ripple curve starts fast and settles slowly.

Easing
Standard

Default ease-out for any UI that just needs to settle.

Fall

Gravity pulling into impact. Use when something is committing to an action.

Ripple

Quick origin, long quiet tail. Energy radiating outward from a single point.

Show CSS variables Hide CSS variables
--ease-out:    cubic-bezier(0.2, 0, 0, 1);     /* standard UI settle */
--ease-drop:   cubic-bezier(0.55, 0, 0.9, 0.2); /* the fall */
--ease-ripple: cubic-bezier(0.16, 1, 0.3, 1);   /* the ripple */
--ease-breath: cubic-bezier(0.37, 0, 0.63, 1);  /* ambient breath */
--ease-wind:   cubic-bezier(0.42, 0, 0.58, 1);  /* ambient wind (grass) */
--ease-dune:   cubic-bezier(0.45,.05,.55,.95);  /* ambient dune (sand) */

--t-fast:   120ms;   /* the strike */
--t-base:   200ms;   /* the fall */
--t-slow:   360ms;   /* the ripple */
--t-dwell:  600ms;   /* the pause before acting */
--t-ripple: 1400ms;  /* full radiance, origin to edge */
--t-breath: 10000ms; /* one calm breath */
--t-wind:    9000ms; /* one gust through the grass */
--t-dune:   14000ms; /* one drift across the dune */
On click · the ripple lands

A click is the strike — the moment the drop meets the pool. Concentric rings carry outward from the button using the same curve and duration as the hero’s ripple. A utility class opts any button in without changing its base style.

Click any button

Two quieter beats live alongside the four: a dwell before an element commits, and a full radiance that reaches from origin to edge. Every motion in the system honors reduced-motion preferences — presence should never require animation.

Golden hour — savanna
Daylight — open plain
Dusk — forest edge
Cool — water / mist
Do & don't
Do
  • Use natural, directional light.
  • Keep subjects off-center; give them somewhere to look.
  • Preserve grain and depth — don't over-correct.
  • Favor wide and medium compositions.
Don't
  • Apply heavy filters or saturation boosts.
  • Crop aggressively into tight headshots.
  • Stage people as "models" — keep it candid.
  • Overlay type at low contrast onto busy areas.
Variants
Horizons accents

Four filled variants drawn from the Horizons supporting palette. Reserve them for editorial moments where purple would feel too institutional — a travel story CTA, a seasonal campaign, a warm-lit landing page. The one-accent rule still holds: pick one per view; never pair with the primary purple in the same region.

Golden

Editorial hero CTAs and “begin” moments. The warm spotlight — use once per view.

Daylight

Soft parchment. Fits inside warm-paper cards and longform reading contexts.

Dusk

Forest mood. For reflective sections, essays, dark-lit photography backdrops.

Mist

Cool counterpoint. Quiet secondary action in warm layouts — “later”, “dismiss”, “not now”.

Show implementation Hide implementation
<button class="btn btn-golden">Begin the journey</button>
<button class="btn btn-daylight">Keep reading</button>
<button class="btn btn-dusk">Explore the mood</button>
<button class="btn btn-mist">Save for later</button>
States
Resting
Purple 600
Purple 700 + nudge
Ring 3 px
This is how it will appear on your profile.
Must be at least 8 characters.
Default Ghost Dark Published In review Overdue Draft
i
New feature available

You can now schedule posts up to 90 days in advance.

Saved

Your changes have been published to production.

!
Heads up

Your trial ends in 3 days. Review your plan to avoid interruption.

×
Something went wrong

We couldn't process that upload. Try again, or contact support.

Operating Model Case study

Closing the operating model gap

Why strategy stalls between the C-suite and delivery — and how to fix it.

Scaled Agile Insight

Scaling agile without scaling culture

The hidden cost of SAFe programmes that skip the human side.

IT Delivery 2026 report

Five signs your delivery model needs a reset

Patterns we see in organisations where IT and the business have drifted apart.

Project Owner Status Updated
Cultura website Ryan Mitchinson Published 2 days ago
Annual report 2026 Studio team In review Yesterday
Partner deck Richard Pearson Draft Today
Brand guidelines v1 Ryan Mitchinson Active Just now
Hero banner
Consultancy that delivers

A system built to let your organisation think clearly.

Cultura pairs sharp thinking with warm delivery — a consultancy that serves the work, never the other way around.

Editorial row
Case study

Redesigning the operating model for a global insurer.

When a 6,000-person organisation couldn't get a decision made in under six weeks, they called us. Here's how we redesigned the model that was slowing everything down.

Client workshop · 2025
Contrast guarantees

Every foreground / background pairing in the core tokens has been computed against both themes. Anything that fails AA body (4.5:1) has been retuned; anything that passes only AA large (3:1) is scoped to large-text or UI-chrome usage.

Pairing
Use
Ratio
Status
 Purple-500 on white
Primary button, hero type
11.36
AAA
 Purple-300 on near-black
Secondary button text (dark mode)
6.18
AA
 White on Success
Success solid badges, buttons
5.00
AA
 White on Warning
Warning solid (deepened from #c28a1b)
4.72
AA
 White on Danger
Destructive buttons, error solids
6.09
AA
 Warning text on badge
Warning pill label (deepened)
7.06
AAA
 Success text on badge
Success pill label (deepened)
6.31
AA
 Ink-700 on white
Body copy, prose
11.37
AAA
 Ink-600 on white
Muted text, secondary
6.79
AA
 Ink-500 on white
Captions, meta — use only for 12 px+ non-essential
4.29
AA large
 Mood tile text (scrimmed)
White over dusk gradient w/ editorial scrim
4.9+
AA

Ratios computed with the WCAG 2.1 relative-luminance formula. Translucent backgrounds (badges, mood-tile scrim) are first composited onto their canvas before comparison.

Focus, targets, and motion
Focus indicators

Every interactive element shows a 2 px purple halo on keyboard focus, offset by 2 px so it never touches the component edge. Focus never relies on color alone — the ring is paired with a subtle surface lift where the component supports it.

  • Never remove :focus-visible outlines in production.
  • Destructive controls use a red ring so the affordance matches the action.
  • Dark-mode rings use lifted alpha so they read on near-black.
Touch targets

Any element someone can tap, click, or keyboard-activate has a hit area of at least 44 × 44 px, per WCAG 2.5.5. Visual size can be smaller; use padding or ::before spacers to extend the hit region.

  • Small buttons (.btn-sm) keep the 44 px hit area via vertical padding.
  • Icon-only controls ship with aria-label and the 44 px minimum.
  • Adjacent targets (pagination, steppers) sit at least 8 px apart.
Keyboard & semantics

Every interaction works without a mouse. Custom components (theme toggle, progress demo, ripple buttons) use native elements where possible, with role, aria-pressed, and labeled landmarks only when semantics require it.

  • Tab order follows visual order — no positive tabindex.
  • State changes announce via aria-live where appropriate (progress counts).
  • Icons that carry meaning (status, logo) include role="img" and an aria-label; decorative marks use aria-hidden="true".
Motion & reduced motion

Ambient motion is opt-in for the user. The loader pulse, the ambient breath, and the button ripple all honor prefers-reduced-motion: reduce — falling back to a static dim state so the signal of “loading” or “pressed” remains without sweeping animation.

  • No autoplay loops longer than 5 s without a pause control.
  • Flashing is never more than 3 times per second.
  • Parallax and large translate-based reveals are disabled under reduced motion.
Catering to other audiences
Color-blind users

Never color alone.

Success, warning, danger, and info each pair their hue with an icon, a label, and a position in the interface. A user with deuteranopia or protanopia gets the same signal from the icon and wording as from the hue.

Low vision

Type scales, not font-size hacks.

The grid uses rem-based spacing so a 200% browser zoom reflows without breaking layout. Body line-height sits at 1.5; line-length is capped around 70 characters.

Cognitive & literacy

One action per view.

The one-accent rule isn’t just visual — it reduces decision load. Error messages use plain language, tell the user what happened, and offer a clear next step. No jargon, no buzzwords, no exclamation points.

Motor

Forgiving hit areas.

44 px minimum targets; generous spacing between actions; drag interactions always have a keyboard equivalent. Timeouts extendable or disableable.

Screen reader

Meaning, not pixels.

Every image carries alt text that describes the purpose, not the decoration. The laurel mark is labeled “Cultura” when it stands for the brand, and aria-hidden when it’s pure ornament beside the wordmark.

Language & direction

Logical properties by default.

Spacing uses logical properties (margin-inline, padding-block) where they matter, so the system reflows cleanly for RTL languages. Type sets are chosen with multi-script fallback stacks.

Audit checklist for handoff

Before a new component leaves design, run through this list. It takes about ten minutes and catches most issues before engineering sees the file.

Visual
  • Text passes 4.5:1 against every background it can land on.
  • Icon-only controls pass 3:1 and carry an aria-label.
  • Focus state designed, not borrowed from browser default.
  • No information carried by color alone.
  • Works at 200% browser zoom without horizontal scroll.
Behavior
  • Reachable by keyboard; tab order matches visual order.
  • All hover states have a :focus-visible twin.
  • Animation respects prefers-reduced-motion.
  • Live regions announce state changes.
  • Error recovery is documented before the error is shipped.
--purple-500
#66175e
Hero brand color
--purple-100
#f7d6f2
Supporting light background
--purple-800
#3d0f3d
Deep anchor, dark UI
--ink-900
#111111
Primary text
--ink-600
#5b5b5b
Secondary text
--ink-200
#e5e5e5
Hairlines, dividers
--r-md
12 px
Cards, surfaces
--r-pill
999 px
Buttons, chips, badges
--shadow-md
0 4 12 rgba
Default card elevation
--t-base
200 ms
The fall — hover, menus, buttons
--t-ripple
1400 ms
Full radiance from a single origin
--t-breath
10000 ms
One calm breath cycle — ambient hero motion
--t-wind
9000 ms
One gust — ambient wind over grass
--t-dune
14000 ms
One drift — ambient wind over dune
--ease-drop
cubic-bezier(.55,0,.9,.2)
Gravity into impact
--ease-ripple
cubic-bezier(.16,1,.3,1)
Quick origin, long settle
--ease-breath
cubic-bezier(.37,0,.63,1)
Sine in-out — unhurried breath
--ease-wind
cubic-bezier(.42,0,.58,1)
Slow sine — gust across the field
--ease-dune
cubic-bezier(.45,.05,.55,.95)
Gentle sine — sand reshaping itself
Ghost implementation notes

All components below map to standard Ghost theme structures. Use {{#foreach posts}} for post loops, {{navigation}} for nav, and {{#is "tag"}} helpers for tag filtering. CSS tokens from the tokens reference can be dropped into any Ghost theme's screen.css.

Site Header

Transparent — floats above each page's background colour. The horizontal wordmark lockup is used throughout. On dark surfaces the wordmark and nav links render in white; on light surfaces they switch to the primary purple and dark ink. Apply .ghost-header--light on any page with a pale background.

Dark background

Light background

Ghost: partials/site-header.hbs Use {{navigation}} to render nav links from Ghost Admin → Navigation. Add .ghost-header--light to the <header> on pages with a pale background. The subscribe button can be a {{#if @site.members_signup_redirect}} conditional pointing to the Ghost Portal.

Featured Post Hero

The leading editorial moment on the homepage. Shown only when a post is marked "Featured" in Ghost. Uses the deep-purple canvas with a warm golden glow.

Ghost: index.hbs Wrap in {{#foreach posts limit="1" filter="featured:true"}}. Access {{title}}, {{excerpt}}, {{reading_time}}, and {{url}} inside the loop. Feature image: {{img_url feature_image size="l"}}.

Post Cards

The standard unit for listing articles. Each card carries a feature image, category tag, title, excerpt, and author byline. Three-column on desktop, one-column on mobile.

Operating Model

Why operating models fail before implementation begins

The design looks right on paper. Here's why it breaks down the moment it meets the organisation.

Workplace Culture

Making culture visible: from values on the wall to habits in the room

Culture isn't what organisations say they believe — it's what they reward, tolerate, and repeat every day.

IT Delivery

Five signs your IT delivery model needs a reset

When IT and the business have drifted apart, the symptoms appear long before the post-mortem.

Ghost: partials/post-card.hbs Use {{#foreach posts}} with {{tags separator=" "}} for the tag pill, {{excerpt words="25"}}, {{primary_author.name}}, {{date published_at format="D MMM"}}, and {{reading_time}}. Feature image: {{img_url feature_image size="m"}}.

Tag Filter

A horizontal pill strip lets readers browse by topic. The active tag uses the brand purple. In Ghost, each pill links to its tag archive page via {{url}}.

Ghost: partials/tag-filter.hbs Use {{#get "tags" limit="all"}} inside a {{#foreach tags}} loop. Each tag renders as an anchor link to its archive — no JavaScript required. Mark the active tag by matching {{slug}} against the current page's tag context.

Membership Banner

A full-width call-to-action for readers to join as members. Conditionally hidden for existing members using Ghost's {{#unless @member}} helper.

Ghost: partials/membership-banner.hbs Wrap in {{#unless @member}} so existing members don't see it. CTA button: href="#/portal/signup" with data-portal="signup". Manage pricing in Ghost Admin → Tiers.

Site Footer

The footer carries the brand, a short tagline, an email subscribe input, and two columns of links. Uses deep purple to close the page with the same visual weight as the header.

Ghost: partials/site-footer.hbs Secondary nav via {{navigation type="secondary"}}. Subscribe form action: {{@site.url}}/members/api/send-magic-link/. Copyright year: {{date format="YYYY"}}.

Editor cards

Dynamic cards an author inserts into a post via the Koenig editor. Each one below is a visual reference — implementations live under assets/built/card-*.css in the theme and are rendered by Ghost's built-in card handlers.

Hero · regular

Banner image, kicker, title, and lede bound to the default content column. The everyday post hero.

Operating Model

The quiet cost of a broken approval chain.

Why a 12-step sign-off for a £2,000 decision is really a symptom of an operating model that has drifted out of alignment with the work it's meant to support.

Ghost: card-header Koenig "Header" card, regular width. The background image is set via the card's image picker and extracted by Ghost as a style="background-image:…" on .kg-header-card.

Hero · wide

Extends past the default content column on desktop. Use for a more cinematic, editorial feel without going full-bleed.

Scaled Agile

The SAFe programme that forgot it was supposed to change how teams work.

Three years, four release trains, one giant retrospective. What we learned about confusing ceremony for transformation.

Ghost: card-header (wide) Same card with the Koenig wide size option. Theme handles the break-out via .kg-width-wide on the outer figure element.

Hero · full width

Edge-to-edge image with the title overlaid. Reserved for landing pages and the occasional marquee post.

Cultura Annual Review

A year of operating-model work, told in ten decisions that actually shipped.

The moves we made, the ones we got wrong, and what we're carrying into next year.

Ghost: card-header (full) Full size option, .kg-width-full. Title and subheading render inside the card, overlaid on the image — theme adds the gradient scrim for AA contrast against any image.

Hero · split

Image on one side, copy on the other. Good for case studies that need a distinct subject photo without overwhelming the page.

Case Study

How a 40-person leadership team got decisions down from six weeks to six days.

A redesign of the decision rights map, rolled out in eight weeks without touching the org chart.

Ghost: custom card Not a built-in Koenig card. Implement as a theme-level custom card (ghost/schemas/headerSplit.js) or as a post-level <div class="kg-card kg-header-split"> in the editor's HTML card. Stacks to single column under 900 px.

Gallery · 2 images

Side by side for paired photos — before/after, two angles of the same subject, or facing quotes.

Gallery · 3 images

One hero plus two supporting thumbnails. Good for a case-study lead image with two close-up details.

Gallery · 4 images

A 2×2 grid. The default for workshop documentation and project recaps.

Gallery · 5+ images

Three-column grid, fills in rows. Ghost auto-balances rows to 3 per row and bumps wider tiles at the ends.

Ghost: card-gallery Koenig gallery card. Ghost renders rows with .kg-gallery-row; images get .kg-gallery-image. Aspect ratios are preserved — the theme only sets max-height and gap.

Image

A single image with an optional italic caption. Supports the same regular/wide/full size options as the Hero.

The decision-rights map, redrawn. Workshop photo from the London engagement, March 2026.
Ghost: card-image Koenig image card. Caption supports inline markdown (bold, italic, links). Image width honours the data-kg-card-width attribute.

Divider

A short rule that marks a section break inside a long post. Anchored by purple dots on each end to feel considered rather than a raw <hr>.

Ghost: card-hr Koenig horizontal rule card. Theme replaces the default <hr> with the dot-ended rule via .kg-card-hr.

Button

A centred call-to-action button an author can drop into the flow of a post. Ships with solid and outline variants.

Ghost: card-button Style is switched via the Koenig colour picker; theme maps --color-primary on the card element to either filled or outline.

Bookmark

A rich link preview. Title, description, site favicon, and a thumbnail — pulled from the target page's Open Graph tags when the URL is pasted.

Team Topologies: The reference reading for anyone rethinking how delivery teams are shaped.

Matthew Skelton and Manuel Pais on stream-aligned, platform, enabling, and complicated-subsystem teams — the four archetypes that underpin most modern operating-model work.

teamtopologies.com Matthew Skelton & Manuel Pais
Ghost: card-bookmark Koenig fetches OG metadata server-side and renders it as a .kg-bookmark-card. Favicon lives in .kg-bookmark-icon, thumb in .kg-bookmark-thumbnail.

Callout

An aside that lifts a definition, warning, or note out of the main flow. Five tones, each inheriting a status colour.

Tip. When a decision keeps getting re-opened, the issue is usually the decision-rights map, not the decision itself.
Note. This series assumes you've already read the Cultura operating model primer.
Watch out. Redrawing decision rights without also renegotiating reporting lines will fail — often in the second quarter, once the honeymoon is over.
Proven. Every team we've done this with has shipped their first real decision inside four weeks.
Ghost: card-callout Background-colour picker in Koenig maps to the --note / --info / --warn / --danger / --success modifiers. Emoji is author-chosen via the Koenig emoji picker.

Signup

An inline email-capture block for free-tier membership. Posts the email to Ghost's magic-link endpoint and starts a member session.

Ghost: card-signup Form posts to {{@site.url}}/members/api/send-magic-link/. The {{#unless @member}} helper hides the whole block once a reader is already signed in.

Public preview

A soft gate that reveals the opening of a members-only post to public readers, then fades into a membership CTA.

The decision-rights map is the single most abused artefact in modern operating-model work. Most teams draw one, frame it, and never revisit it — at which point it stops describing how decisions are actually made and starts describing how they wish they were made.

The truth is that a decision-rights map is only useful if it's treated as a living thing. We've run the exercise with more than sixty leadership teams in the last three years, and the pattern is consistent …

The rest of this piece is for members.

Join to read Cultura's full archive — free, forever.

Ghost: card-public-preview Content above the card renders for everyone; content below is wrapped in {{#unless @member}} … {{/unless}}. The CTA block is only shown to anonymous readers.

Toggle

Collapsed-by-default accordion for FAQs, method footnotes, or appendix-like content. Uses native <details>/<summary> so it works without JavaScript.

What do you mean by "operating model"?
The combined design of how an organisation turns strategy into delivery — decision rights, team shapes, funding model, metrics, and the rituals that tie them together. Not the org chart, though people often conflate the two.
How long does a typical engagement run?
Between eight and twenty weeks, depending on scope. The first six weeks are diagnostic; after that it's co-design and enablement with the client's own people running the new model.
Do you work with teams outside tech?
Yes — roughly half of our work is with operations, finance, and regulated functions. The underlying shape of a good operating model is the same whether it's shipping code or shipping claims.
Ghost: card-toggle Renders as a <details> pair; the Koenig "heading" field becomes <summary>, the body is the collapsed content. Native element = no JS required.

Video

An uploaded video with a still thumbnail and a centred play button. Tapping swaps in the HTML5 player.

03:42 · A five-minute intro to decision-rights mapping
Ghost: card-video Self-hosted video via Ghost's media upload. The thumbnail is a <img> over a hidden <video>; Koenig's player handler swaps them on play.

Call to action

A full-colour promo block for conversion moments — book a call, request a report, claim a pilot slot. Larger and more visual than the plain Button card.

Ghost: card-cta Newer Koenig card (Ghost 5.68+). Supports a primary + secondary CTA, author-configurable background colour, and an optional trailing arrow icon on the ghost-button variant.
Document formats covered

These guidelines apply to Word (.docx), Google Docs, and designed PDFs. When using the system in documents, prioritise legibility over decoration — the design system's role here is to ensure documents feel consistently Cultura, not to reproduce the full richness of the web experience.

Document types

📄

Editorial brief

A one- to two-page document pitched to contributors or commissioners. Light formatting — wordmark, headline, and body text only. No heavy colour blocks.

📊

Impact report

Annual or quarterly report for stakeholders and members. Structured with clear sections, pull quotes, and data tables. Purple headers, white body, warm paper callouts.

✉️

Member letter

A formal letter to members from the editorial team. Plain layout with wordmark header, single-column body in Inter, and a purple signature rule.

Document type scale

Documents use a simplified scale compared to the web. Rubik handles all headings; Inter handles body and UI text. Always set body copy in Ink 900 on white — never on a coloured background for long-form reading.

Title Document headline 28 pt / Rubik 700
Heading 1 Section heading 20 pt / Rubik 700
Heading 2 Sub-section heading 16 pt / Rubik 600
Body Body text in Inter Regular. Set at 12pt with 1.7 line height for optimal reading comfort in printed and digital documents. Maximum line length: 72 characters. 12 pt / Inter 400
Caption Figure caption or footnote text 10 pt / Inter 400
Pull quote "Nature is not a backdrop — it is the story." 17 pt / Rubik 500 italic

Approved colour use

Use colour sparingly in documents. Reserve brand purple for headings, dividers, and pull-quote rules. Avoid full-bleed coloured pages in print-intended documents — ink cost and legibility both suffer.

Purple 500#66175e — headings, rules
Purple 100#f7d6f2 — table row highlight
Warm Paper#fbf3e6 — callout background
Ink 900#111111 — body text

Layout principles

✓ Do
  • Use A4 / Letter with 20mm margins
  • Left-align body text — never justify
  • Use a 1pt purple rule under section headings
  • Include the wordmark in the header on page 1 only
  • Use table borders in Ink 200 (#e5e5e5)
✗ Don't
  • Use more than two font families in one document
  • Set body text below 11pt for print
  • Use Horizons gradients in document backgrounds
  • Use Space Mono — it is a screen / code face only
  • Apply more than two accent colours on a single page
Presentation formats covered

These guidelines apply to PowerPoint (.pptx), Keynote, and Google Slides. Presentations use larger type, more generous white space, and bolder colour than documents — every slide should be readable from six metres away on a projected screen.

Core slide layouts

Three layouts cover the majority of presentation needs. All slides use a 16:9 canvas (33.87 × 19.05 cm in PowerPoint). The 8px brand-purple rule at the top is the consistent anchor across all layouts.

Cultura · Client Presentation

Redesigning your operating model for scaled delivery

April 2026 · Ryan Mitchinson

Title slide — dark canvas
Key finding

Teams with clear operating models ship 3× faster

Organisations that define accountabilities at the team level, not just the org chart, see measurably shorter cycle times within 90 days.

Content slide — light canvas

Part 2 — The evidence

Findings from six years of engagements across financial services, government, and technology.

Section divider — purple full-bleed

Presentation type scale

Sizes below are for a standard 16:9 slide at 1920 × 1080. Never use body text below 18pt on a slide — it becomes unreadable on most projectors and at distance.

Slide title Main slide headline 40–48 pt / Rubik 700
Kicker Section label 14 pt / Inter 700 caps
Body Supporting paragraph. Keep to two or three lines maximum per slide — more belongs in a handout, not on screen. 20–24 pt / Inter 400
Data label 47% 36 pt / Space Mono 700
Caption Source: Cultura client benchmarking study, 2025 14 pt / Inter 400

Colour in presentations

Presentations allow more expressive colour than documents. The Horizons palette can appear as full-bleed image backgrounds or data-vis fills. Always ensure text on coloured backgrounds meets WCAG AA (4.5:1 body, 3:1 large text).

Golden Data viz, image overlays
Dusk Section dividers, icons
Mist Neutral chart fills
Brand purple Title & divider slides

Slide principles

✓ Do
  • One idea per slide
  • Use the purple top rule on every slide
  • Set data labels in Space Mono for visual contrast
  • Use full-bleed photography with a dark overlay for legibility
  • Include the Cultura wordmark on the title slide only
✗ Don't
  • Use bullet points for more than five items
  • Use Horizons gradients behind text without a dark overlay
  • Mix light and dark layouts without a section divider slide
  • Use Inter below 18pt for on-screen body text
  • Add decorative animations — motion should communicate, not decorate
Cultura · Design System · v1.2 Last updated · 21 / 04 / 26