/* The Rotation's posts, spatial: the Trending card's grammar on a creator's works. The grid gives depth; a card lifts and
   tilts toward the hand; the frame comes forward and its still drifts against the pointer; the copy floats above; a light
   crosses the frame. Only when the shell has bound the tilt (.rt-spatial), so a still page never half-moves. */
.cp-work-grid { perspective: 1400px; }
.cp-work.rt-spatial { transform-style: preserve-3d; transition: transform .42s var(--os-settle, cubic-bezier(.2, .8, .2, 1)); outline: none; }
.cp-work.rt-spatial:hover, .cp-work.rt-spatial:focus-within { transform: translateY(-6px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); z-index: 3; }
.cp-work.rt-spatial .cp-work-frame { transform: translateZ(0); transition: transform .42s var(--os-settle, cubic-bezier(.2, .8, .2, 1)), border-color .3s ease, box-shadow .42s var(--os-settle, cubic-bezier(.2, .8, .2, 1)); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .8); }
.cp-work.rt-spatial:hover .cp-work-frame, .cp-work.rt-spatial:focus-within .cp-work-frame { transform: translateZ(14px); border-color: rgba(255, 250, 248, .34); box-shadow: 0 34px 70px -26px rgba(0, 0, 0, .9); }
.cp-work.rt-spatial .cp-work-art { transition: transform .9s var(--os-settle, cubic-bezier(.2, .8, .2, 1)), filter .4s ease; filter: saturate(.92) brightness(.9); }
.cp-work.rt-spatial:hover .cp-work-art, .cp-work.rt-spatial:focus-within .cp-work-art { filter: none; transform: scale(1.03) translate(calc((50% - var(--mx, 50%)) * .04), calc((50% - var(--my, 50%)) * .04)); }
.cp-work.rt-spatial .cp-work-copy { transform: translateZ(0); transition: transform .42s var(--os-settle, cubic-bezier(.2, .8, .2, 1)); }
.cp-work.rt-spatial:hover .cp-work-copy, .cp-work.rt-spatial:focus-within .cp-work-copy { transform: translateZ(22px); }
/* the light that follows the hand across the frame */
.cp-work.rt-spatial .cp-work-frame::before { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; opacity: 0; background: radial-gradient(220px 160px at var(--mx, 50%) var(--my, 50%), rgba(255, 250, 248, .16), transparent 70%); transition: opacity .3s ease; }
.cp-work.rt-spatial:hover .cp-work-frame::before, .cp-work.rt-spatial:focus-within .cp-work-frame::before { opacity: 1; }
/* the pieces strip in the channel: a lighter lift, the same hand */
.rc-tv-pieces [data-rc="preview-piece"].rt-spatial { transform-style: preserve-3d; transition: transform .35s var(--os-settle, cubic-bezier(.2, .8, .2, 1)); }
.rc-tv-pieces [data-rc="preview-piece"].rt-spatial:hover, .rc-tv-pieces [data-rc="preview-piece"].rt-spatial:focus-visible { transform: translateY(-3px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); z-index: 2; }
@media (prefers-reduced-motion: reduce) { .cp-work.rt-spatial, .cp-work.rt-spatial .cp-work-frame, .cp-work.rt-spatial .cp-work-art, .cp-work.rt-spatial .cp-work-copy, .rc-tv-pieces [data-rc="preview-piece"].rt-spatial { transition: none; transform: none; } }
