/* Tactile project deck: direct finger tracking and a gentle released snap. */
.project-stage {
  perspective: 1800px;
  -webkit-user-select: none;
  user-select: none;
}
.project-stage .project-card {
  transform-origin: 50% 70%;
  transition:
    transform 620ms cubic-bezier(0.2, 0.78, 0.22, 1),
    opacity 420ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}
.project-stage .project-card.is-active {
  border-color: #69616a;
  box-shadow: 0 24px 60px #0008, 0 0 0 1px #8b000010;
}
.project-stage.is-dragging,
.project-stage.is-dragging * {
  cursor: grabbing !important;
}
.project-stage.is-dragging .project-card {
  transition: none;
}
.project-stage :is(a, button) {
  touch-action: pan-y pinch-zoom;
}
.project-stage img {
  -webkit-user-drag: none;
  user-select: none;
}
.carousel-arrows .circle-button {
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .project-stage:hover .project-card.is-active {
    border-color: #a4656b;
    box-shadow: 0 28px 65px #0009, 0 0 25px #8b000015;
  }
  .carousel-arrows .circle-button:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .project-stage .project-card,
  .carousel-arrows .circle-button {
    transition: none;
  }
}
