A real team
Charge nurses who still take patients.
One content-agnostic component in three modes, switched per CSS breakpoint. Narrow the window past lg to see each section change layout.
Stacked on mobile, five across from lg. No client JS at all.
Swipeable dot carousel below lg, three-column grid above it.
Carousel on mobile; from lg, four per page behind pagination controls.
Fifteen items would mean fifteen dots on mobile, so this one paginates at every width. The last child is hand-written in code, interleaved with the mapped items.
Hand-written panel, appended after the mapped items.
Carousel used directly rather than through ListPresenter — arrows, loop, and autoplay are all in play here, none of which the presenter's carousel range exposes.
Three cards per page from md, one below it — per-page dots via Embla's auto slidesToScroll grouping.
The container animates its height to the selected slide instead of reserving the tallest one up front.