/* Premium polish layer — Emil Kowalski + taste-skill shared rules */

html.motion-site {
  overflow-x: clip;
}

.motion-site .btn,
.motion-site button[type="submit"],
.motion-site .demo-form button {
  transition:
    transform 180ms ease-out,
    background-color 200ms ease-out,
    border-color 200ms ease-out,
    color 200ms ease-out,
    box-shadow 200ms ease-out;
}

.motion-site .btn:active,
.motion-site button[type="submit"]:active,
.motion-site .demo-form button:active {
  transform: scale(0.97);
}

.motion-site a:not(.btn) {
  transition: opacity 180ms ease-out, color 180ms ease-out;
}

.motion-site .site-nav .nav-links a {
  transition: opacity 180ms ease-out, color 180ms ease-out;
}

.motion-site img {
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-site .scale-frame:hover img,
.motion-site .card:hover img,
.motion-site .trip:hover img {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  .motion-site .btn,
  .motion-site button,
  .motion-site img {
    transition: none !important;
  }
}
