/* The full-bleed hero settles as soon as its image loads and the page curtain clears. */
.atelier_hero_section > img.atelier_hero_img {
  transform: scale(1.075) !important;
  transition: transform 1.4s cubic-bezier(0, 0, .2, 1);
}

.atelier_hero_section > img.atelier_hero_img.in {
  transform: scale(1) !important;
}

/* Loaded only on /atelier. Card images remain inside their existing lightboxes. */
body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask] {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0 !important;
  opacity: 0;
  transition: opacity .4s ease-out;
}

body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask].in {
  opacity: 1;
}

body[data-atelier-image-page] [data-atelier-image-zoom] {
  position: absolute;
  inset: 0;
  display: block;
  transition: transform .6s cubic-bezier(0, 0, .2, 1);
}

body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask] [data-atelier-image-zoom] > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 0 !important;
  clip-path: none !important;
  transform: scale(1.075) !important;
  transition: transform 1.2s cubic-bezier(0, 0, .2, 1) !important;
}

body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask].in [data-atelier-image-zoom] > img {
  transform: scale(1) !important;
}

/* Event images keep Webflow's original frame dimensions. The zoom layers stay
   in flow so the animation does not impose an aspect ratio. */
body[data-atelier-image-page] .news_event .img-zoom[data-atelier-image-mask] {
  height: 100%;
}

body[data-atelier-image-page] .news_event [data-atelier-image-zoom] {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
}

body[data-atelier-image-page] .news_event [data-atelier-image-mask] [data-atelier-image-zoom] > img.intro_img {
  position: relative;
  inset: auto;
}

@media (max-width: 991px) {
  body[data-atelier-image-page] .news_event .img-zoom[data-atelier-image-mask] {
    height: auto;
  }

  body[data-atelier-image-page] .news_event [data-atelier-image-mask] [data-atelier-image-zoom] > img.intro_img {
    height: auto;
  }
}

body[data-atelier-image-page] .atelier_about_section .site-lightbox-trigger:has(> [data-atelier-image-mask]) {
  aspect-ratio: 399 / 326;
}

body[data-atelier-image-page] [data-atelier-slideshow-root] .site-lightbox-trigger:has(> [data-atelier-image-mask]) {
  aspect-ratio: 4 / 3;
}

body[data-atelier-image-page] .site-lightbox-trigger > [data-atelier-image-mask] {
  position: absolute;
  inset: 0;
}

body[data-atelier-image-page] .site-lightbox-trigger:has(> [data-atelier-image-mask]),
body[data-atelier-image-page] [data-atelier-slideshow-root][data-atelier-image-card] {
  border-radius: 0 !important;
}

/* The whole Event card moves its existing link and arrow together. */
body[data-atelier-image-page] .news_event .intro_content_about > a.text-link {
  transition: transform .6s cubic-bezier(0, 0, .2, 1);
}

body[data-atelier-image-page] .news_event .intro_content_about > a.text-link .arrow :is(.arrow-dot, .arrow-arrow),
body[data-atelier-image-page] .news_event .intro_content_about > a.text-link .more-arrow :is([data-more-arrow-dot], [data-more-arrow-head]) {
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body[data-atelier-image-page] [data-atelier-image-card]:hover [data-atelier-image-mask].in [data-atelier-image-zoom] {
    transform: scale(1.03);
  }

  body[data-atelier-image-page] [data-atelier-image-card]:hover [data-atelier-image-mask].in [data-atelier-image-zoom] > img {
    transform: scale(1.015) !important;
  }

  body[data-atelier-image-page] .news_event:hover .intro_content_about > a.text-link {
    transform: translateX(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .atelier_hero_section > img.atelier_hero_img {
    transform: none !important;
    transition: none !important;
  }

  body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask] {
    opacity: 1;
    transition: none;
  }

  body[data-atelier-image-page] [data-atelier-image-zoom],
  body[data-atelier-image-page] [data-atelier-image-card] [data-atelier-image-mask] [data-atelier-image-zoom] > img {
    transform: none !important;
    transition: none !important;
  }

  body[data-atelier-image-page] .news_event .intro_content_about > a.text-link,
  body[data-atelier-image-page] .news_event .intro_content_about > a.text-link .arrow :is(.arrow-dot, .arrow-arrow),
  body[data-atelier-image-page] .news_event .intro_content_about > a.text-link .more-arrow :is([data-more-arrow-dot], [data-more-arrow-head]) {
    transform: none !important;
    transition: none !important;
  }
}
