/* Riso ink: a printed picture's stack (link once). The print is laid over its box; each ink a canvas multiplied onto
   the paper, offset by its plate's own misregistration times --rz-mis (1: as printed; 0: in register; more: the
   plates pulled apart, which a scene animates). The CSS fallback is a duotone in the first two inks. */
.rz-print { position: absolute; inset: 0; overflow: hidden; isolation: isolate; background: var(--rz-paper, transparent); pointer-events: none; }
.rz-print > .rz-layer { position: absolute; inset: 0; width: 100%; height: 100%; display: block; mix-blend-mode: multiply; object-fit: cover; object-position: var(--rz-focus, 50% 50%);
  transform: translate(calc(var(--ox, 0px) * var(--rz-mis, 1) + var(--ok, 0) * var(--rz-pull, 0px)), calc(var(--oy, 0px) * var(--rz-mis, 1))); will-change: transform; }
.rz-print[data-fit="contain"] > .rz-layer { object-fit: contain; }
.rz-print > .rz-layer { opacity: 0; transition: opacity .5s ease; }
.rz-print.is-in > .rz-layer { opacity: 1; }
.rz-print.is-css { background: var(--rz-b); }
.rz-print.is-css > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--rz-focus, 50% 50%); filter: grayscale(1) contrast(1.25) brightness(1.15); mix-blend-mode: screen; opacity: .9; }
.rz-print.is-css::after { content: ""; position: absolute; inset: 0; background: var(--rz-a); mix-blend-mode: multiply; opacity: .55; }
.rz-form { display: block; width: 100%; height: 100%; }
@media (prefers-reduced-motion: reduce) { .rz-print > .rz-layer { transition: none; } }
