Crafted, cinematic, never in the way.
Motion in PROOF behaves like film editing: cuts for state, slow reveals for images, a quick press for stamps. Every effect is optional and respects reduced motion.
Durations & easings
Five durations and three signature curves. Pick the shortest duration that still reads; images get “reveal”, stamps get “ink”, state changes get “cut”.
Scroll-trigger catalog
Every effect PROOF allows, live. They trigger once on first view and can be replayed here. None of them hijack scrolling.
Cursor system
A small labeled tag rides next to the native cursor on fine pointers only. It never replaces the cursor, and touch devices never see it. Hover the zones.
Motion personalities
Each preset overrides --dur and --ease. Forms, checkout and the proofing portal ignore the personality and stay calm in every preset.
Page transitions
Cross-document View Transitions are live in this kit: open D02 and choose Hofmark Dairy; the frame and the D03 hero share view-transition-name “hofmark”. Transform and opacity only. Anything that moves longer than 5 seconds gets a pause control (WCAG 2.2.2). Browsers without support get a plain cut, which is also the reduced-motion behavior.
@view-transition { navigation: auto; }
.frame-07A, .case-hero { view-transition-name: bruehl; }
::view-transition-group(bruehl) {
animation-duration: 700ms;
animation-timing-function: var(--ease-reveal);
}
@media (prefers-reduced-motion: reduce) {
::view-transition-group(*) { animation: none; }
}
- 01No scroll-jacking. Wheel and keys always scroll the page.
- 02Parallax never exceeds 10% of the element’s height.
- 03Sound is off by default; the toggle remembers the choice.
- 04Nothing loops forever: no marquees, no infinite spinners.
- 05Motion never delays reading: text is readable before a reveal finishes.