- Center the active step using offsetLeft/offsetWidth instead of getBoundingClientRect,
so repeated or mid-transition centering calls use untransformed layout positions and
cannot accumulate drift.
- Constrain the stepper to width: 100% with overflow: hidden so its max-content track
can no longer extend past the modal body into the header/footer area.
- Replace the window-size watcher with a ResizeObserver on the stepper's viewport so
it re-centers when the modal body resizes for any reason.
The stepper now keeps the current step centered on one line: the track translates
with a 550ms ease-out transition as steps advance, and a mask gradient fades
overflowing steps so nothing is visible at the extremities. Visited steps remain
clickable; the position recalculates on step-count changes and window resize.