.hero-rings { transform: translate3d(var(--orbit-x, 0px), var(--orbit-y, 0px), 0) rotate(var(--orbit-rotate, -12deg)); transition: transform 160ms var(--ease-out-quint); }
.hero-portrait { transform: translate3d(var(--portrait-x, 0px), var(--portrait-y, 0px), 0); }
.hero-name { transform: translate3d(var(--name-x, 0px), var(--name-y, 0px), 0); }
.project-visual img { transform: translate3d(0, var(--frame-media-y, 0px), 0) scale(var(--frame-scale, 1)); transition: filter 300ms ease; }
.project-meta { transform: translate3d(0, var(--frame-meta-y, 0px), 0); }
.project--frame a:hover .project-visual img, .practice-feature:hover .practice-visual img, .journal-item:hover img { filter: grayscale(0) contrast(1.04); }
.practice-visual img, .journal-item img { transition: transform 450ms var(--ease-out-quint), filter 450ms ease; }
.practice-feature:hover .practice-visual img, .journal-item:hover img { transform: scale(1.025); }

@media (pointer: coarse), (max-width: 700px) {
  .hero-rings, .hero-portrait, .hero-name, .project-visual img, .project-meta, .practice-visual img, .practice-feature:hover .practice-visual img, .journal-item img, .journal-item:hover img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .hero-rings,
  .hero-portrait,
  .hero-name,
  .project-visual img,
  .project-meta,
  .practice-visual img,
  .practice-feature:hover .practice-visual img,
  .journal-item img,
  .journal-item:hover img {
    opacity: 1;
    transform: none;
  }
}
