/* Content is visible by default. Only intersecting elements get an entrance. */
body.pw-experience [data-agency-reveal],
body.pw-experience [data-agency-reveal][data-reveal],
body.pw-experience [data-pw-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}

body.pw-experience.pw-motion-active .pw-motion-item.pw-motion-enter {
  animation: pw-enter-surface .76s cubic-bezier(.2,.72,.22,1) var(--pw-motion-delay,0ms) both;
}
body.pw-experience.pw-motion-active .pw-motion-title.pw-motion-enter {
  animation-name: pw-enter-title;
  animation-duration: .86s;
}
body.pw-experience.pw-motion-active .pw-motion-item:focus-within {
  animation: none;
}
@keyframes pw-enter-surface {
  from { opacity: 0; transform: translate3d(0,20px,0); }
  to { opacity: 1; transform: none; }
}
@keyframes pw-enter-title {
  from { opacity: 0; transform: translate3d(0,22px,0); clip-path: inset(0 -10px 90% -10px); }
  to { opacity: 1; transform: none; clip-path: inset(0 -10px -10px -10px); }
}

/* Extra image height protects the frame through the full ±20px movement. */
body.pw-experience :is(.pw-hero,.page-hero,.agency-site-hero,[data-pw-depth-frame]) {
  overflow: hidden;
  overflow: clip;
}
body.pw-experience .pw-depth-image {
  top: -24px;
  bottom: auto;
  height: calc(100% + 48px);
  object-fit: cover;
}
body.pw-experience.pw-motion-active .pw-depth-image {
  translate: 0 var(--pw-depth-shift,0px);
}
body.pw-experience.pw-motion-active .pw-motion-photo {
  animation: pw-photo-settle 1.5s cubic-bezier(.15,.5,.3,1) both;
}
@keyframes pw-photo-settle {
  from { scale: 1.055; }
  to { scale: 1; }
}
body.pw-experience.pw-motion-paused :is(.pw-motion-enter,.pw-motion-photo) {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  body.pw-experience { scroll-behavior: auto; }
  body.pw-experience.pw-motion-active :is(.pw-motion-item,.pw-motion-photo) {
    animation: none;
    opacity: 1;
    transform: none;
    clip-path: none;
  }
  body.pw-experience .pw-depth-image { translate: none; }
}
