Motion is the punctuation, not the sentence. It tells the reader something changed — and then it gets out of the way.
A newsprint brand on a glowing rectangle has to move sometimes. The cursor hovers. The page transitions. A video plays. The question is what kind of motion. The answer in this chapter: short, deliberate, mechanical. Like a press stamp, not a Lottie file. Five duration tokens, five easings, eight named gestures. Everything else is undisciplined and we don’t ship it.
The motion ethos
Four principles · Each one closes a category of bad motionMost brand systems treat motion as decoration — a Lottie of a logo doing a backflip and then a sparkle. We treat it as punctuation. A comma. A period. A press stamp. Motion exists to tell the reader something just changed, or just arrived, and then to step out of the way so the reader can read. Everything below ladders down from that one idea.
Motion is a comma, not a sentence.
It punctuates a change in state. It does not perform. If the same screen would read fine without the motion, the motion does not run. We move things to tell the reader the page understood them — that the button is being pressed, that the panel just arrived, that the live story is live. That is the entire job.
Mechanical, not bouncy.
Our motion feels like a press stamp or a paper guillotine, not a beach ball. Easings are firm. Durations are short. Overshoot is rare and small. There are no springy bounces, no rubber-band drags, no anticipation arcs. The brand sounds like a newsroom; the motion should too.
Five clocks. Five curves. No more.
Every animation in every property uses one of five durations and one of five easings. There is no “just a tiny tweak.” The clocks are 120, 200, 320, 520, 800 ms. The curves are stamp, rule, warm, out, in. If a motion needs something outside this set, the motion is wrong or the surface is.
The reader can turn it off.
Every animation we ship respects prefers-reduced-motion. Auto-loops collapse to a single frame. Page transitions become hard cuts. The dot stops pulsing. We do not punish vestibular sensitivity for a flourish. The reduced-motion table in § 12.10 is enforced in code, not aspirational.
The motion no-fly list
- Auto-playing video on page load
- Parallax that fights the scrollbar
- Confetti, sparkles, glitter sweeps
- Bouncing arrows, jiggling icons
- Drawer slide-ins longer than 320 ms
- Lottie illustrations of abstract concepts
- Spring physics with bounce > 0
- Cursor-following effects of any kind
- 3D card flips, page curls, paper folds
- Anything that depends on hover on mobile
Tokens · duration & easing
Five durations · Five curves · Hand-tuned, then lockedTwo scales, both tight on purpose. Durations climb in roughly 1.6× steps from 120 to 800 ms — long enough that each one has a distinct purpose, short enough that nothing on the page feels syrupy. Easings are tuned to feel mechanical: fast-out / firm-settle. The named curves carry the personality, so consumers of the system never have to write a Bezier by hand.
How long a thing takes to happen.
A note on combinations. The rule of thumb is “--mo-3 + warm” for almost everything; reach for stamp on entry, in on exit, and rule only when something with a line is moving. The five clocks compose with the five curves to produce twenty-five distinct moves — which is more than this brand will ever need.
The motion vocabulary
Six named gestures · Each one earns its nameNaming a gesture is how a system stops accumulating one-off animations and starts compounding. Six moves below cover every animation in every property we ship. They have names so a designer in Newport can write “use the stamp” in a spec doc and a designer in Round Rock will know exactly what is meant. Each one auto-loops here for documentation; in production they fire on the triggering event.
The rule-draw.
M-01The hairline rule draws from a rust tick at left, then retracts from right when it’s done. Used above section headers when the section enters the viewport.
The stamp.
M-02A mono kicker punches in slightly larger than rest, settles, locks. Used for live tags, “breaking,” “sponsored,” and any disclosure that needs to register fast.
The dot-pulse.
M-03The rust period in a wordmark exhales once every 2.4 seconds. The brand’s only ambient motion. Used in the bug, the logo on dark, the live-coverage badge.
The slot-fill.
M-04An empty diagonal-stripe ad slot cross-fades into filled creative on the same beat the page settles. The only place in the system where two surfaces share a frame.
The slot-rise.
M-05Cards enter from 10 px below, staggered by 120 ms. Used when a feed band arrives — section index, search results, the directory. Never on hero content.
The ticker.
M-06Linear, constant-speed marquee. Reserved for the live-coverage strip and the top-of-page breaking bar. Pauses on hover; respects reduced-motion by halting.
Logo motion
One ambient beat · Three entrance treatmentsThe Lightbreak wordmark family carries the brand’s only persistent motion: the rust period exhales once every 2.4 seconds. That is the brand’s heartbeat, and it stays consistent across every property. Entrance treatments are reserved for video, podcast intros, and the home-page splash on first load. Nowhere else.
The rust period exhales. The wordmark stands still.
The dot scales from 1.0 to 1.35 and back, with a small dip below 1.0 on the recovery. Nothing else in the lockup moves. The motion reads as a heartbeat, not an animation — the wordmark is alive, but quietly. On dark backgrounds the dot becomes gold; the rhythm stays the same.
- Cycle
- 2400 ms
- Curve
- warm
- Scale
- 1.00 → 1.35 → 0.90 → 1.00
- Sub-line
- + letter-spacing ease
Where: the home-page splash on first load and the open of any title card. The wordmark arrives slightly tracked-out and slightly blurred, then settles to the resting letter-spacing of -0.022em over 800 ms.
Where: video title cards on a moving background. The ink color wipes left-to-right across the wordmark in one beat, leaving the rust dot untouched. Used once per video, at the open.
Where: reserved for Local Media HQ’s three-dot lockup. The three dots pulse in sequence, 150 ms apart, on a 2.4 s loop. The only wordmark in the family with a multi-dot animation.
Video chrome
Lower-third · Title card · End card · BugThe four pieces of furniture that appear on every video the network produces — local-news segments, Local Media HQ explainers, sponsored partner pieces, election-night cut-ins. Construction is rigid: a rust swatch, a cream block, a serif name, a mono role, a pulsing dot in the corner. The animation is the same in every cut.
Name graphic
Slides in from the left over 320 ms with a stamp easing, holds for 4 seconds minimum, slides back out. Rust swatch is always 8 px wide. The cream block uses the same paper color as the editorial site, so the lower-third reads as “the page got bigger,” not as a TV chyron.
- Width
- fits content
- Position
- 28 px from bottom
- In · Out
- 320 ms · stamp
- Hold
- 4 s min · 8 s max
The seven-acre school district nobody saw coming.
A documentary · 22 min · May 19, 2026Open of every long-form piece
Kicker fades in over 320 ms, rust rule draws underneath over 520 ms, headline settles in from 8 px below over 800 ms, episode line follows. Holds 2.5 seconds before crossfading to the first interview frame.
- Stagger
- 200 ms steps
- Hold
- 2.5 s
- Exit
- cross-fade 320 ms
Close of every piece
Wordmark settles, “by” line follows, URL last — same staircase as the open, in reverse. The bug is always bottom-right, 14 px in from each edge, with the rust dot pulsing on the 2.4 s ambient beat. The bug never animates beyond the pulse.
- Bug size
- 14 px display
- Bug position
- 14 px · 14 px
- End hold
- 3 s
Podcast cover art
3000 × 3000 · One construction · Four colorwaysA podcast tile shows up at 88 × 88 pixels in a directory and 320 × 320 on a watch face. The construction has to survive both. Every show in the network — Local Media HQ’s flagship, the WilCo Hour, sister-show experiments — uses the same skeleton: a 4 px top rule in the accent color, a mono kicker, a giant wordmark with the network dot, an “episode” counter at the bottom, and the live-coverage dot pulsing in the corner. The colorway is what changes.
Media
HQ.
Local Media HQ · The flagship
Bluebonnet ground, gold kicker, rust top rule. The mothership tile — used in directory listings and the LMHQ newsletter.
Front
Porch.
The Front Porch · Hill-country interviews
Rust ground, gold top rule and dot. Used for the Williamson-county interview show recorded out of the WilCo Guide studio.
Scoop.
The Leander Scoop · Weekly · 18 minutes
Cream ground, bluebonnet top rule, rust dot in the wordmark. The template every Scoop podcast uses — same skeleton, sub the city.
way
Talk.
Hallway Talk · The build podcast
Bluebonnet-ink ground, gold top rule. The internal-but-public podcast about building Lightbreak. Sister to LMHQ; reads as a darker cousin.
A handful of platforms accept a short looping animation alongside the static tile. The rule: only the dot pulses. The wordmark, the kicker, the episode counter all stay still. No camera moves, no text reveals, no gradients drifting. The static tile and the motion tile should be indistinguishable in a screenshot.
Product UI motion
Six surfaces · Six gestures · Same five clocksThe animations that ship inside the Lightbreak product itself — the consumer-facing reading experience, the publisher CMS, the directory hub. Every one composes from the vocabulary in § 12.3. Nothing here is novel; that’s the point. The job of UI motion is to be invisible — to feel like the page is breathing, not performing.
Story card lift
On hover, a story card lifts 2 px, the border shifts to bluebonnet, and a soft shadow appears underneath. 120 ms, warm. Nothing else changes.
Loading shimmer
Loading uses a slow linear shimmer over the paper-3 tint — the same color a card uses for an empty image well. No spinners ever. Skeleton blocks match the height of the content they’ll be replaced by.
Live update arrives
An ink-on-cream pill rises 18 px and holds for 2 s. Used when a live-coverage story updates while the reader is on the page. Mono caps, gold pip. Never red, never green; the system is not a hospital monitor.
Article rule fills
A 3 px rust rule under the masthead fills as the reader scrolls down a story. Linear with scroll position, not on a timer. The rule retracts as the reader scrolls back. Hidden on stories under 800 words.
Cross-fade, no slide
Between pages, we cross-fade. We don’t slide, swipe, or curl. 320 ms, warm. The header bar stays in place; only the page body crossfades, so the masthead never blinks.
Ken Burns · forbidden
Ken-Burns image zooms, parallax photo drifts, “cinemagraph” loops — all forbidden. Photography in this brand is still. If a photo needs to move, it’s a video and it lives in § 12.5, with all the chrome that comes with it.
Sonic identity
A 1.4-second mark · Used at podcast open · Nowhere elseThe brand has one piece of sound. A 1.4-second sonic mark — a soft acoustic strike, two settled notes, a third that lands and holds. It plays at the open of every Local Media HQ podcast and at the open of any Williamson Hour video. Nowhere else. No notification chirps, no UI clicks, no “swipe” sounds, no podcast outros. The product is silent. The studio is not.
A wordmark you can hear.
The mark is constructed the same way the visual mark is: warm, low-stakes, two settled tones with a single accent landing on the rust dot. Built from a Texas-pine wood block, a struck piano string, and an upright bass. Mixed quiet on purpose — it’s the period at the end of a sentence, not the trumpet at a parade.
- Duration
- 1.4 seconds · 3 notes · 1 strike
- Loudness
- −18 LUFS · always −6 dB below VO
- Used in
- Podcast opens · Long-form video opens · Nowhere else
Reduced motion
prefers-reduced-motion: reduce · Honored everywhereEvery animation in this chapter has a designed reduced-motion state. When the reader’s OS reports a preference for less motion — about one in twenty visitors — the system collapses to the right-hand column below. We do not disable the animation and leave the surface broken; we re-do the surface so it still communicates the same thing without movement.
Reduced motion is a different design, not a stripped one. Every gesture has a still equivalent.
The table on the right is enforced in CSS — the queries land in tokens.css, not at the component level. If a designer writes a new animation that doesn’t have a reduced-motion branch, the lint rule rejects it.
- The rule-draw
- Rule is drawn statically, full width, no animation. Rust tick remains.
- The stamp
- Kicker appears at rest scale, no rotation. Border still inherits the rust color.
- The dot-pulse
- Dot holds at 1.0 scale, full opacity. No exhale.
- The slot-fill
- Filled creative fades in once, no loop. Placeholder never re-appears.
- The slot-rise
- Cards are placed in final position. No transform, no stagger.
- The ticker
- Marquee becomes a static three-item stack. Click to advance.
Do & don’t
Field-tested · From eleven motion design reviewsThe motion is a comma.
- Use the tokens. Five clocks, five curves. Compose them; don’t invent new ones. If you need a sixth, you have a different problem.
- Move on a state change, not a load. Animate when the reader did something. Don’t animate when the page arrived.
- Stagger small, never large. 120 ms between siblings is plenty. 300 ms reads as a parade.
- Make the dot the only ambient motion. Everywhere a brand wants to be alive without being noisy, the rust dot exhales. Nothing else.
- Design the reduced-motion state alongside the animated one. Both should ship in the same PR.
The motion is a sentence.
- Don’t auto-play video. Sound or no sound, video plays when the reader clicks. The hero is not the marketing department’s screensaver.
- Don’t add easings outside the named five. A new curve from the dropdown is not a brand decision; it’s a guess.
- Don’t use motion to draw attention to text. If the text is important, make it bigger. Don’t make it shake.
- Don’t parallax. Don’t Ken Burns. Don’t cinemagraph. Photography in this brand is still. Always.
- Don’t spring-bounce a UI element. No
damping: 0.4, stiffness: 200. We are a newsroom, not a Dribbble shot.
Social motion templates
9 : 16 vertical · Reels · TikTok · StoriesFour templates cover every short-form motion piece the network produces — breaking-news cards, pull-quote cards, evergreen explainers, and the live-coverage open. Each one is a 1080 × 1920 frame with the same furniture in the same place: a kicker pinned top-left, a wordmark pinned bottom, an optional ticker tape above the wordmark, and one headline or quote in the upper-middle. The motion is identical across all four — only the content rotates.
Breaking news card
Rust kicker band stamps in, headline settles from below, ticker scrolls underneath. 4-second loop, used on Reels and TikTok for breaking updates.
Pull-quote card
Italic Fraunces, gold opening quote mark, source line in the kicker band. Used for any quote pulled from a story. No background photo.
Evergreen explainer
Same skeleton, longer hold. Used for 60- to 90-second explainers (bond votes, zoning changes, school-district shifts). Ticker shows frame counters.
Live-coverage open
The dark colorway used twice a year — election night and emergency-management open. Gold replaces rust on the kicker, the dot, and the live pip.