/* Motion system adapted to Vanilla JS from interaction patterns seen in VengeanceUI.
   Main text is never hidden; motion is decorative/progressive enhancement only. */
[data-reveal-image]{clip-path:inset(0 0 0 0);transform:translateZ(0)}
.js [data-reveal-image]{clip-path:inset(0 0 12% 0);transform:scale(1.018);transition:clip-path .9s var(--ease),transform 1.15s var(--ease)}
.js [data-reveal-image].is-visible{clip-path:inset(0);transform:scale(1)}
.reveal{transform:none}.js .reveal{transform:translateY(13px);transition:transform .7s var(--ease)}.js .reveal.is-visible{transform:none}
.clip-reveal{clip-path:inset(0)}.js .clip-reveal{clip-path:inset(0 0 9% 0);transition:clip-path .85s var(--ease)}.js .clip-reveal.is-visible{clip-path:inset(0)}
[data-parallax-img]{will-change:transform;transform:translate3d(0,var(--parallax-y,0),0) scale(1.035)}
[data-tilt-media]{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.015);transition:transform .35s var(--ease)}
[data-tilt-media].is-moving{transition:none}
.scroll-progress{position:fixed;z-index:140;top:0;left:0;width:100%;height:2px;transform-origin:left;background:linear-gradient(90deg,var(--brand-500),var(--gold-500));transform:scaleX(var(--scroll-progress,0));pointer-events:none}
@media(prefers-reduced-motion:reduce){.js [data-reveal-image],.js .reveal,.js .clip-reveal,[data-parallax-img],[data-tilt-media]{clip-path:none!important;transform:none!important;transition:none!important}.scroll-progress{display:none}}
