Skip to content
Site volume
Colourway

Brand

Motion and sound

Every motion has a cause and settles; words never move once they land; reduced motion always wins. Sound is off until a visitor turns it on.

  • Stable
On this page

Applies to

  • Site
  • Docs
  • MAX//OS
  • Documents
  • Email
  • Social
  • Slides

Book version

1.0.0, the system's version; every change is a changeset on the changelog

Last verified

24 October 2026, commit 726d192, 83 looks (press check)

The brand moves like a print shop at full speed: plates register, stamps thump, panels arrive, blocks hop and tidy. Every motion answers something a person did or something that happened, then settles, and the words hold still once they are on the page. Every animation the system ships plays live, with its tokens and its code, in the Motion section.

Rules#

The motion rules: 6 rules: 5 must, 1 never
IdRuleWhyChecked by
BB-MOTION-01MustGive every motion a cause; words never move once they land, and nothing reflows on hover.Applies to: Site, Docs, MAX//OS, SlidesMotion explains what happened (D-H1). Words that keep moving, or a layout that jumps under the pointer, cost the reader their place.Press checkmotion; lint mk/hover-reflow
BB-MOTION-02MustLet reduced motion always win.Applies to: Site, Docs, MAX//OS, SlidesSome readers get sick from motion. The volume never overrides their setting.Press checkthe motion spec under reduced motion
BB-MOTION-03MustLet ambient motion settle within 5 s at Quiet and Studio; loops at Press and Rave show a pause control.Applies to: Site, Docs, MAX//OSWCAG 2.2.2: anything that moves on its own for longer than five seconds needs a way to stop it.Press checkthe rAF counter
BB-MOTION-04NeverUse glow, confetti, or more than 3 flashes a second.Applies to: Site, Docs, MAX//OS, Social, SlidesFlashes can trigger seizures (WCAG 2.3.1), and glow and confetti are the generic effects the system was built to avoid.Lintmk/confetti; the release flash review
BB-MOTION-05MustAnimate slides only with the panel arrival, at Studio, and not at all at Quiet or under reduced motion; PDFs, email and social images stay still.Applies to: Slides, Documents, Email, SocialA deck is read in a room; one arrival per slide keeps attention on the speaker.Testthe deck tests
BB-MOTION-06MustAnimate transform, opacity, clip-path and the registered custom properties only; never a layout property.Applies to: Site, Docs, MAX//OSLayout animation shifts the page and drops frames; the compositor properties stay smooth and cost no layout shift.Press checkthe layout-shift and long-frame checks
The sound rules: 2 rules: 1 must, 1 never
IdRuleWhyChecked by
BB-SOUND-01MustKeep sound off by default behind a visible toggle; Quiet mutes, and only the kit's voices play.Applies to: Site, Docs, MAX//OSSound is a toy a visitor turns on (D-H4). Unexpected noise in an office or on a train loses the visitor.Press checkthe sound gating; the voices by ear
BB-SOUND-02NeverAutoplay sound or video.Applies to: Site, Docs, MAX//OS, Social, SlidesAutoplay takes the choice away from the reader and fails WCAG 1.4.2 for sound.Manual review

Specs#

Principles#

Motion applies the twelve principles of animation on purpose: squash and stretch in the stamp and the block hop, anticipation in the hit key, staging with one moment at a time, follow-through in the stickers that settle. Each one is shown live on the principles page.

The signature moments#

These moments are the brand's motion vocabulary. Use them as they are; a new moment needs a cause and a reduced-motion version.

The signature moments: durations in ms at Quiet · Studio · Press · Rave, from the motion tokens
MomentCauseWhat it doesDuration and curveReduced motion
The press runA first visit, onceThe four plates print the mark at the centre, one after another, then the paper wipes off. Any key or click skips it.0 · 800 · 800 · 800--mk-dur-press-run, --mk-ease-registerNone
Panel arrivalA section enters the view, onceSections arrive like comic panels, staggered; the words never move again.0 · 300 · 360 · 420--mk-dur-panel, --mk-ease-outNone
Stamp thumpSomething happened: a form sent, a quote bookedThe stamp falls, thumps, throws specks and settles at its rest angle.0 · 460 · 460 · 460--mk-dur-stamp, --mk-ease-stampPrinted at rest
KeyPopThe first press of a hit key on a pageOne small burst beside the key, once per page view.0 · 700 · 700 · 700--mk-dur-sfx-pop, --mk-ease-popNone
TIDYTidy up, or the T key, on the block pileThe blocks fly on crane arcs into the mark, one knock per seat.0 · 700 · 700 · 700--mk-dur-block-drop, --mk-ease-flyPlaced at once
Block hopHover or focus on a card's blockThe block squashes, hops and lands: anticipation, squash and stretch in one.0 · 620 · 620 · 620--mk-dur-block-hop, --mk-ease-hopNone

Curves and durations#

Every curve and duration plays live on the curves page and the durations page.

Every curve, from the motion tokens: --mk-ease-*
CurveControl points
popcubic-bezier(0.34, 1.56, 0.64, 1)
outcubic-bezier(0.16, 1, 0.3, 1)
in-outcubic-bezier(0.7, 0, 0.2, 1)
stampcubic-bezier(0.2, 0.8, 0.2, 1)
dropcubic-bezier(0.2, 0.9, 0.3, 1.1)
landcubic-bezier(0.2, 0.9, 0.3, 1.2)
titlecubic-bezier(0.2, 0.8, 0.3, 1)
squeegeecubic-bezier(0.45, 0, 0.35, 1)
foldcubic-bezier(0.6, 0, 0.3, 1)
flycubic-bezier(0.5, 0, 0.3, 1)
splitcubic-bezier(0.55, 0, 0.8, 0.2)
snapcubic-bezier(0.3, 0, 0.3, 1.6)
registercubic-bezier(0.5, 0, 0.2, 1)
slapcubic-bezier(0.2, 0.8, 0.3, 1.3)
squashcubic-bezier(0.5, 0, 0.6, 1)
wipecubic-bezier(0.25, 0.1, 0.2, 1)
wipe-holdcubic-bezier(0.75, 0, 0.25, 1)
wipe-exitcubic-bezier(0.6, 0, 0.35, 1)
hopcubic-bezier(0.25, 1, 0.5, 1)
fallcubic-bezier(0.3, 0.7, 0.3, 1)
Durations by volume, in milliseconds
TokenClassQuietStudioPressRaveReading layer
--mk-dur-hoverFixed200200200200Same at every volume
--mk-dur-pressFixed220220220220Same at every volume
--mk-dur-key-sinkFixed120120120120Same at every volume
--mk-dur-menuFixed140140140140Same at every volume
--mk-dur-overlay-inFixed240240240240Same at every volume
--mk-dur-overlay-outFixed160160160160Same at every volume
--mk-dur-drawer-inFixed280280280280Same at every volume
--mk-dur-drawer-outFixed200200200200Same at every volume
--mk-dur-disclosureFixed180180180180Same at every volume
--mk-dur-gaugeFixed900900900900Same at every volume
--mk-dur-toast-inFixed380380380380Same at every volume
--mk-dur-toast-outFixed260260260260Same at every volume
--mk-dur-toast-lifeFixed5,2005,2005,2005,200No
--mk-dur-sticker-popMicroNone480480480No
--mk-dur-sticker-pop-delayMicroNone200200200No
--mk-dur-peelMicro240300300300No
--mk-dur-stampMicroNone460460460No
--mk-dur-thumpMicroNone220220220No
--mk-dur-specksMicroNone640640640No
--mk-dur-seal-delayFixed1,2001,2001,2001,200No
--mk-dur-sealMicro240300300300No
--mk-dur-registerMicroNone520520520No
--mk-dur-sfx-popMicroNone700700700No
--mk-dur-sfx-holdFixed600600600600No
--mk-dur-sfx-outMicroNone300300300No
--mk-dur-panelLongNone300360420No
--mk-dur-panel-staggerLongNone404855No
--mk-dur-arrivalLong160360440520No
--mk-dur-block-hopMicroNone620620620No
--mk-dur-block-dropMicroNone700700700No
--mk-dur-block-drop-staggerMicroNone909090No
--mk-dur-wipeLongNoneNone410480No
--mk-dur-press-runFixedNone800800800No
--mk-dur-reinkMicro400700700700No
--mk-dur-themeFixed400400400400No
--mk-dur-gl-fadeFixed400400400400No
--mk-dur-field-wakeFixedNone400400400No
--mk-dur-field-runFixedNone4,0004,0004,000No
--mk-dur-field-easeFixedNone1,0001,0001,000No
--mk-dur-field-pulseFixedNone900900900No
--mk-dur-topple-stepMicroNone120120120No
--mk-dur-topple-fallMicroNone420420420No
--mk-dur-loader-cycleFixed1,2001,2001,2001,200No
--mk-dur-reducedFixed140140140140No

The volume scale#

Quiet is calm, without long moments; Studio is balanced; Press is an arcade; Rave is overdrive. The volume scales the moments; it never overrides reduced motion (BB-MOTION-02).

Reduced motion#

Under reduced motion every moment shows its end state at once. Only opacity fades remain, and the ink field and the blocks print as still frames.

Sound#

Sound is a toy a visitor turns on: wood knocks, stamp thumps, pops and comic hits, all from the kit's own voices.

When sound plays
WhenSound
First visitOff, behind the sound toggle in the header
QuietMuted, even with the toggle on
StudioThe kit's voices at a softer gain
Press and RaveThe kit's voices at full gain
Reduced motionUnchanged: sound is not motion
The sound voices
VoicePlays forMade ofEvent kinds
knockWood knocks when blocks hit each other (four CC0 clips, the only files that ship).Sampled: 4 wood clipsNone
stampA stamp landing (THUNK!).A triangle from 140 to 50 Hz over 180 msstamp
popA key press, a sticker or a balloon arriving.A triangle from 700 to 980 Hz over 90 mspress, arrive
powA comic impact (POW!).A triangle from 190 to 60 Hz over 160 ms, with bandpass noise at 1100 Hzimpact
boomMore blocks raining in (BOOM!).A sine from 95 to 38 Hz over 420 ms, with lowpass noise at 400 HzNone
flipThe page wipe at Press and Rave.A sawtooth from 520 to 90 Hz over 320 msNone
printThe tidy finishing and the first-visit press run.A triangle from 220 to 110 Hz over 120 msNone

Motion per channel#

Motion per channel
ChannelMotion
Site and docsLive, at the page's volume and the visitor's dial; reduced motion wins
SlidesThe panel arrival only, at Studio; none at Quiet or under reduced motion
PDFs, documents and printStill
EmailStill
Social imagesStill; there are no video or motion templates in 1.0

Do and don't#

Do

Taking projects
Q4

The words land, then hold still and square.

Don't

Taking projects

Words left tilted after their arrival.

Words never move once they land (BB-MOTION-01).

Do

Sound off, behind a visible toggle.

Don't

Playing the launch theme on load

Sound that plays on load.

Sound is off by default; never autoplay (BB-SOUND-01, BB-SOUND-02).

Do

Flat ink, no glow.

Don't

Glow and blur.

No glow, no confetti, no flashing (BB-MOTION-04).
  • Motion: every moment, curve and duration, live and replayable.
  • Motion and Sound: the tokens and the voices.