:root {
  --pf-shared-transition-z-index: 400;
}

.portfolio__cover.is-shared-transition-source .portfolio__cover-image-wrap {
  visibility: hidden;
}

.portfolio__cover.is-shared-transition-return-target .portfolio__cover-image-wrap {
  visibility: hidden;
}

.is-shared-transition-return-source {
  visibility: hidden;
}

.portfolio__shared-transition {
  position: fixed;
  z-index: var(--pf-shared-transition-z-index);
  overflow: hidden;
  background: var(--pf-bg);
  pointer-events: none;
  transform-origin: 0 0;
  will-change: transform, border-radius;
}

.portfolio__shared-transition-media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portfolio__shared-transition-hero-replica {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.portfolio__shared-transition-hero-replica .portfolio__module-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portfolio--shared-route-pending .portfolio__site-wrap {
  animation: none !important;
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .portfolio__shared-transition {
    display: none;
  }
}
