/* V28 — broader editorial polish, keeping the original restraint */

/* Photography: slow, almost tactile hover movement. */
@media (hover:hover) and (pointer:fine){
  .vertical-grid__item .vertical-grid__photo{
    transition:
      transform 1.1s cubic-bezier(.22,.61,.36,1),
      filter 1.1s ease;
  }
  .vertical-grid__item:hover .vertical-grid__photo{
    transform:scale(1.014);
    filter:saturate(1.018) contrast(1.012);
  }

  .gallery-grid figure img{
    transition:
      transform 1.1s cubic-bezier(.22,.61,.36,1),
      filter 1.1s ease;
  }
  .gallery-grid figure:hover img{
    transform:scale(1.014);
    filter:saturate(1.018) contrast(1.012);
  }

  /* Main navigation feels lighter and more deliberate. */
  .element-header-menu .header-menu__item .header-menu__primary{
    transition:opacity .42s ease !important;
  }

  /* Client collection overlay stays subtle, but reads as a composed hover. */
  .client-gallery__collection-item__photo-wrapper::after{
    background:rgba(0,0,0,.14);
  }
}

/* Slightly more refined lightbox entrance/exit. */
.dm-lightbox img{
  transition:
    opacity .3s cubic-bezier(.22,.61,.36,1),
    transform .3s cubic-bezier(.22,.61,.36,1) !important;
}

/* Elegant focus states without browser-default jumps. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:1px solid currentColor;
  outline-offset:4px;
}

@media (prefers-reduced-motion:reduce){
  .vertical-grid__item .vertical-grid__photo,
  .gallery-grid figure img{
    transition:none !important;
  }
}
