/* Homepage artwork presentation — use supplied production files without soft crops. */
.rv-page .archive {
  display: none !important;
}

/* The Lens magnifies the same campaign photograph beneath it. */
.rv-lens-reveal {
  --size: clamp(210px, 25vw, 390px);
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  clip-path: circle(calc(var(--size) / 2) at var(--lens-x, 72%) var(--lens-y, 45%));
  box-shadow: none;
  transform: none;
  transition: opacity .2s;
}

.rv-lens-reveal img {
  width: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  object-fit: cover;
  object-position: center center;
  background: transparent;
  filter: contrast(1.06) brightness(1.04);
  transform: scale(1.32);
  transform-origin: var(--lens-x, 72%) var(--lens-y, 45%);
}

/* Never allow browser visited-state purple into the collection manifest. */
.rv-piece .rv-view,
.rv-piece .rv-view:visited,
.rv-piece .rv-view:hover,
.rv-piece .rv-view:focus-visible {
  color: #e6382f;
  border-bottom-color: #e6382f;
}

.rv-hero.is-observing .rv-lens-reveal {
  transform: none;
}

/* Artwork states inherit the actual tee colourway. */
.rv-piece:not(.rv-piece--light) .rv-piece-art,
.rv-piece:not(.rv-piece--light) .rv-detail-image {
  background: #030303;
}

.rv-piece--light .rv-piece-art,
.rv-piece--light .rv-detail-image {
  background: #fff;
}

/* White colourways invert the complete evidence card, not only the image well. */
.rv-piece--light .rv-piece-copy {
  background: #fff;
  color: #080808;
}

.rv-piece--light .rv-piece-copy > p:not(.rv-piece-number),
.rv-piece--light .rv-colour {
  color: rgba(8, 8, 8, .68);
}

.rv-piece--light .rv-colour i {
  border-color: rgba(8, 8, 8, .45);
  background: #fff;
}

.rv-piece--light .rv-view {
  border-bottom-color: #e6382f;
}

.rv-piece--light .rv-piece-code {
  color: rgba(8, 8, 8, .45);
}

.rv-inspectable .rv-detail-image {
  padding: clamp(12px, 1.5vw, 26px);
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
  filter: none;
}

@media (max-width: 900px) {
  .rv-lens-reveal,
  .rv-lens-cursor {
    --size: 220px;
  }

  .rv-inspectable .rv-detail-image {
    padding: 10px;
  }

  .rv-lens-reveal img {
    object-position: 59% center;
  }
}
