Cuberto
Long, front-loaded transforms on cards and titles, one curve for all of them, an elastic overshoot on button icons, and a cursor that answers in 0.3s. The page is sparse and the motion delivers it.
Tiers
Each curve was read from the browser while visiting cuberto.com. The demo is our own element running the same timing.
work card preview drift on hover
Click the track or Replay.
- Timing
- cubic-bezier(0.16, 1, 0.3, 1)
- Duration
- 1.2s
- Property
- transform
- Seen
- CSS transition, on hover, 4×
- On
- a.Card > div.preview
title line rising out of its mask
Click the track or Replay.
- Timing
- cubic-bezier(0.16, 1, 0.3, 1)
- Duration
- 0.8s
- Property
- transform
- Seen
- CSS transition, while scrolling, 3×
- On
- span.title > span
round button icon overshoot
Click the track or Replay.
- Timing
- cubic-bezier(0.34, 4.56, 0.64, 1)
- Duration
- 0.7s
- Property
- transform
- Seen
- CSS transition, on hover, 1×
- On
- a.RoundButton > span.icon
button fill ripple
Click the track or Replay.
- Timing
- cubic-bezier(0.4, 0, 0, 1)
- Duration
- 0.5s
- Property
- transform
- Seen
- CSS transition, on hover, 2×
- On
- span.ripple > span
cursor dot resizing over targets
Click the track or Replay.
- Timing
- ease
- Duration
- 0.3s
- Property
- transform
- Seen
- CSS transition, on hover, 12×
- On
- div.Cursor::before
Honest notes
- Reduced motion
- Not honored
Movement (transform, position, size): 148 events in the normal run, 134 with reduced motion on (91%). All timed CSS and WAAPI motion: 238, then 214 (90%). 1 prefers-reduced-motion query in stylesheets; scripts asked matchMedia about it 1 time.
transition: all- Used
1 element computed
transition-property: allat the end of the visit. 0 declarations in the CSS the page loaded. - Motion in JavaScript
- Yes
Scripts include GSAP, ScrollTrigger, Lenis. Motion run on requestAnimationFrame isn't readable from styles, so it isn't in the tiers.
- Canvas
- No viewport-sized WebGL canvas
Nothing here was hidden in a canvas.
- Posture
- spatial
At rest, 174 transitions move things (transform, opacity) and 16 change surfaces (colour, shadow, background, filter). The glossary's quick test reads that as spatial.
- Coverage
- One load, 15 elements hovered
Scrolled to the bottom with the mouse wheel, hovered and left a spread sample of links and buttons. Menus, clicks, forms and other pages weren't visited.
Scripts ship GSAP, ScrollTrigger and Lenis, but window.gsap wasn't exposed, so any GSAP tweens and the smooth scroll itself aren't in these numbers. Only CSS transitions and animations were readable.
Notes
- Leaving a card runs the same 1.2s curve as arriving. No separate, faster exit tier was seen.
- The icon curve's second control point sits at y = 4.56, so a short hop reads as a big spring. A 0.6s sibling at y = 5.56 runs on CTA buttons. The motion default README says nothing outside brycerambach.com overshoots; these are hover-only, so a scan at rest wouldn't see them.
From notes
Values from Bryce's own notes, kept apart from this measurement and dated as written. Where the live site differs, the note says so.
2026-09-01 statement curve
cubic-bezier(0.16, 1, 0.3, 1)1.2sOn 30 elements, and 0.8s on 20 more. Always on transform alone. Live on 2026-10-17: the same curve at 1.2s and 0.8s.
design-taste motion/library/reveal-on-enter/001-cuberto-home.md
2026-09-01 morph pair
cubic-bezier(0.4, 0, 0, 1)On the one transform and border-radius pair. Live: the button ripple, at 0.5s.
design-taste motion/library/reveal-on-enter/001-cuberto-home.md
2026-09-01 opacity layer
ease0.4sOpacity on its own timing, 0.4s and 0.6s, separate from the move. Micro-feedback at 0.2s.
design-taste motion/library/reveal-on-enter/001-cuberto-home.md
2026-09-01 reduced motion
Ignored: zero prefers-reduced-motion blocks in the one stylesheet. Live on 2026-10-17 the CSS has one such query and a script asks matchMedia once, but 91% of movement still runs with it on. The verdict is the same; the zero is out of date.
design-taste motion/library/reveal-on-enter/001-cuberto-home.md