/* Motion is progressive enhancement: content stays visible without JavaScript. */
@media (hover: hover) and (pointer: fine) {
  .st-button, .st-booking, .st-line-link, .st-mobile-reservations a, .st-line-fab {
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  }
  .st-button:hover, .st-booking:hover, .st-line-link:hover, .st-mobile-reservations a:hover, .st-line-fab:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
  }
  .st-store-card, .st-article-card, .st-plan-card, .st-review {
    transition: box-shadow .25s ease;
  }
  .st-store-card:hover, .st-article-card:hover, .st-plan-card:hover, .st-review:hover {
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
  }
  .st-store-card img, .st-article-card img, .st-studio-gallery img, .st-gallery-grid img {
    transition: transform .45s ease;
  }
  .st-store-card:hover img, .st-article-card:hover img, .st-studio-gallery figure:hover img, .st-gallery-grid img:hover {
    transform: scale(1.035);
  }
}

.st-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .65s ease var(--st-reveal-delay, 0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--st-reveal-delay, 0ms);
}
.st-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .st-reveal { opacity: 1; transform: none; transition: none; }
  .st-button:hover, .st-booking:hover, .st-line-link:hover, .st-mobile-reservations a:hover, .st-line-fab:hover,
  .st-store-card:hover img, .st-article-card:hover img, .st-studio-gallery figure:hover img, .st-gallery-grid img:hover {
    transform: none;
    filter: none;
  }
  .st-button, .st-booking, .st-line-link, .st-mobile-reservations a, .st-line-fab,
  .st-store-card, .st-article-card, .st-plan-card, .st-review,
  .st-store-card img, .st-article-card img, .st-studio-gallery img, .st-gallery-grid img {
    transition: none !important;
  }
}
