/* Mobile scroll-driven motion. Kept OUT of the build: the minifier merges animation + animation-timeline
   into one shorthand and Safari drops the whole declaration. Longhands only. Nothing here hides content. */
@supports (animation-timeline: view()) {
  @keyframes m-zoom { from { transform: scale(1.28); } to { transform: scale(1); } }
  @keyframes m-drift { from { transform: translateY(-7%) scale(1.16); } to { transform: translateY(7%) scale(1.16); } }
  @keyframes m-rise { from { transform: translateY(34px) scale(0.96); } to { transform: none; } }
  .tile__ph img {
    animation-name: m-zoom; animation-duration: auto; animation-timing-function: linear; animation-fill-mode: both;
    animation-timeline: view(); animation-range: entry 0% cover 45%;
  }
  .decks__pics img, .svc__thumb img {
    animation-name: m-drift; animation-duration: auto; animation-timing-function: linear; animation-fill-mode: both;
    animation-timeline: view(); animation-range: cover 0% cover 100%;
  }
  .sw button {
    animation-name: m-rise; animation-duration: auto; animation-timing-function: ease-out; animation-fill-mode: both;
    animation-timeline: view(); animation-range: entry 0% entry 90%;
  }
}
