Gallery Wrap
The photo turns in perspective on hover and a wrapped canvas edge appears at its side, like a print on a shelf.

Hover the preview to turn the canvas and reveal its edge.
The photo turns in perspective on hover and a wrapped canvas edge appears at its side, like a print on a shelf.

Hover the preview to turn the canvas and reveal its edge.
Gallery Wrap makes the photo read as a gallery-wrapped canvas print: on hover it turns in perspective and a real side face (a ::after strip that duplicates the image via --ifx-src) swings into view, like the canvas continuing around the stretcher bar. Set --ifx-src on the figure to the SAME url() as the img (the generated HTML/React does this). At rest the side face is folded edge-on (invisible) and the photo is flat, so touch and keyboard-without-focus stay static. Requires a wrapper with surrounding margin (it turns outside the box). Tune --ifx-depth (perspective), --ifx-turn (turn angle, keep modest) and --ifx-side (edge thickness, keep small). It rests flat on touch and under reduced motion; keep the @media (hover) wrapper and :focus-within selector.
Modern evergreen. Give the figure surrounding space (a wrapper margin).