/* --- Reveal --- */
    .reveal {
      opacity: 0;
      transform: translateY(16px);
    }

    @media (prefers-reduced-motion: no-preference) {
      .reveal {
        transition:
          opacity var(--duration-slow) var(--ease-out),
          transform var(--duration-slow) var(--ease-out);
      }
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal-group .reveal:nth-child(1) { transition-delay: 0ms; }
    .reveal-group .reveal:nth-child(2) { transition-delay: 70ms; }
    .reveal-group .reveal:nth-child(3) { transition-delay: 140ms; }
    .reveal-group .reveal:nth-child(4) { transition-delay: 210ms; }

    .reveal--left.reveal {
      transform: translateX(-20px);
      transition-duration: 800ms;
    }
    .reveal--left.reveal.visible { transform: translateX(0); }
    .reveal--right.reveal {
      transform: translateX(20px);
      transition-duration: 800ms;
    }
    .reveal--right.reveal.visible { transform: translateX(0); }

    @media (prefers-reduced-motion: reduce) {
      .reveal { opacity: 1; transform: none; }
    }

/* Image hover zoom (lookbook page, real <img>) */
.img-zoom {
  overflow: hidden;
  border-radius: var(--radius-md);
}
.img-zoom img {
  transition: transform 600ms var(--ease-out);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (prefers-reduced-motion: no-preference) {
  .img-zoom:hover img { transform: scale(1.04); }
}

/* Placeholder blocks inside .img-zoom (lookbook page) */
.img-zoom .img-placeholder {
  transition: transform 600ms var(--ease-out);
}
@media (prefers-reduced-motion: no-preference) {
  .img-zoom:hover .img-placeholder { transform: scale(1.04); }
}
