The card image is a video, blended into the card, in 3D

Card 1 below is the prototype: a poster frame loads instantly; when the card scrolls into view a muted 5‑second photographic clip (generated locally from the card's own still with an image‑to‑video model, no API) plays as a WebGL texture with pointer‑driven depth parallax, a light sweep, feathered edges that fuse it with the card, and floating 3D accents in front. Cards 2 and 3 are the current static photographs for comparison. Move the pointer over Card 1; click to pause.

VIDEO · 3D
Prototype v1.3: a seamless forward-and-back loop of a photographic clip made from this card’s own photo (first frame = last frame = the photo), blended into the card with a reinforced top/bottom feather, with depth.
Video · blended · 3D

1. What is it? — a card you show, not a file you hand over

A single card you show when you order. It carries the allergen names the kitchen is legally required to act on — and stops there. No surname, no diagnosis, no phone number, no account to create, no app the restaurant must install.

Several separate paper medical folders spread open on a kitchen table in morning light
Static photograph (current)

2. Why does it matter who holds this? — the complete list can only live with you

You are the only one who could put the whole list together — and that is not a compliment to you, it is arithmetic. The hospital holds the admission. The doctor holds the prescription. The clinic holds the test.

A diner holding a phone screen turned toward a waiter standing at the table
Static photograph (current)

3. How do you show it? — turn the screen, say nothing else

You turn the screen toward the waiter. The kitchen reads the fourteen names it already works with. That is the whole exchange.

Drop-in for the live LP: replace one figure.well.shot with the figure.v3d markup above, add v3d.css + v3d.js + the two media files. Progressive: no JS → poster; no WebGL → plain lazy video with CSS tilt; reduced motion → the video still plays (it is the content), only tilt/parallax/sweep are off. Three.js 0.180.0 is loaded only when a v3d card is in view (same pinned module as Card 1). Nothing plays off-screen.