/* A restrained motion layer: feedback, focus and short transitions. */
.cinema-tapped {
  scale: 0.982;
}
.work-card.cinema-tapped,
.service-card.cinema-tapped,
.collection-card.cinema-tapped {
  scale: 0.994;
}
.line-marquee:not(.is-moving) .marquee-group[aria-hidden="true"] {
  display: none;
}
.sticky-booking {
  transition:
    transform 0.24s cubic-bezier(0.2, 0.7, 0.3, 1),
    opacity 0.2s,
    scale 0.12s;
}
.back-to-top {
  transition:
    opacity 0.2s,
    background-color 0.16s,
    scale 0.12s;
}
button,
a[href],
summary {
  -webkit-tap-highlight-color: transparent;
}
.button,
.filter,
.header-account,
.booking-choice,
.style-choice > span,
.time-slot > span,
.auth-tab,
.booking-progress button {
  transition:
    background-color 0.18s,
    border-color 0.18s,
    color 0.18s,
    box-shadow 0.18s,
    scale 0.12s;
}
.style-choice > span,
.time-slot > span {
  box-shadow: inset 0 0 0 0 transparent;
}
.style-choice input:checked + span,
.time-slot input:checked + span {
  box-shadow:
    inset 0 0 0 2px #fff8f31f,
    0 4px 12px #5d203619;
}
.booking-form input:not([type="radio"]):not([type="checkbox"]),
.booking-form select,
.booking-form textarea,
.auth-form input {
  transition:
    border-color 0.22s,
    box-shadow 0.22s,
    background-color 0.22s;
}
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus,
.auth-form input:focus {
  box-shadow: 0 0 0 3px #5d203612;
}
.booking-step-pane {
  transform-origin: 50% 25%;
}
#modal {
  transform-origin: 50% 35%;
}
#modal::backdrop {
  animation: cinema-backdrop 0.18s ease-out;
}
@keyframes cinema-backdrop {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body[data-motion="off"] *,
body[data-motion="off"] *::before,
body[data-motion="off"] *::after {
  animation: none !important;
  transition-duration: 0s !important;
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}
/* Keep footer preferences reachable above the fixed booking action bar. */
body[data-page="booking"] .footer {
  padding-bottom: 170px;
}
@media (max-width: 600px) {
  body[data-page="booking"] .footer {
    padding-bottom: calc(230px + env(safe-area-inset-bottom));
  }
}

/* Each property has one owner: hover uses transform, press uses CSS scale. */
.work-card,
.collection-card,
.creative-services .service-card {
  transition:
    background-color 0.18s,
    border-color 0.18s,
    box-shadow 0.22s,
    transform 0.22s,
    scale 0.12s;
}
.text-link,
.circle-cta,
.mobile-nav a,
.desktop-nav a,
.modal-close,
.motion-toggle {
  transition:
    color 0.18s,
    background-color 0.18s,
    transform 0.22s,
    scale 0.12s;
}
[data-motion="none"] {
  animation: none !important;
  transition: none !important;
}
