/* Ambient Effects — References design-system.css variables

   Corner-closeup (left-side artwork) + ambient-reflection (idle background).
   Used by: all main pages with .corner-closeup or #ambient-reflection

   Live: 2026-09-18
*/

/* ========== CORNER CLOSEUP ========== */
/* Left-side artwork strip on desktop (1440px+) */

.corner-closeup {
  display: none;
}

@media (min-width: var(--breakpoint-large)) {
  .corner-closeup {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: clamp(480px, 34vw, 700px);
    z-index: var(--z-background);
    pointer-events: none;
    animation: cornerCloseupSlideIn var(--duration-extra-long) var(--easing-standard) 1.2s both;
    will-change: transform;
  }

  .corner-closeup img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-mask-image: linear-gradient(to right, #000 0%, transparent 100%);
    mask-image: linear-gradient(to right, #000 0%, transparent 100%);
  }

  @keyframes cornerCloseupSlideIn {
    from {
      transform: translateX(-100%);
      opacity: 0;
    }
    to {
      transform: translateX(-20%);
      opacity: 1;
    }
  }
}

@media (min-width: var(--breakpoint-large)) and (prefers-reduced-motion: reduce) {
  .corner-closeup {
    animation: none;
    opacity: 1;
  }
}

/* ========== AMBIENT REFLECTION ========== */
/* Idle background fade effect */

#ambient-reflection {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity var(--duration-hero) var(--easing-standard);
  pointer-events: none;
  z-index: var(--z-background-far);
  will-change: opacity;
}

#ambient-reflection.show {
  opacity: 0.25;
}

@media (prefers-reduced-motion: reduce) {
  #ambient-reflection {
    transition: none;
  }
}
