/* No opacity/visibility rule in the base state: a failed script cannot hide content. */
@keyframes vd-motion-up {
    from { opacity:.35; transform:translateY(12px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes vd-motion-title {
    from { opacity:.45; transform:translateY(16px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes vd-motion-image {
    from { opacity:.6; transform:translateY(8px) scale(.99); }
    to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes vd-motion-card {
    from { opacity:.7; transform:translateY(8px); }
    to { opacity:1; transform:translateY(0); }
}
@media(prefers-reduced-motion:no-preference) {
    #main .vd-motion-enter { animation:vd-motion-up 480ms cubic-bezier(.22,.61,.36,1) var(--vd-motion-delay,0ms) backwards; }
    #main .vd-motion-enter[data-vd-motion-kind="title"] { animation-name:vd-motion-title; animation-duration:560ms; }
    #main .vd-motion-enter[data-vd-motion-kind="image"] { animation-name:vd-motion-image; animation-duration:600ms; }
    #main .vd-motion-enter[data-vd-motion-kind="card"] { animation-name:vd-motion-card; }
    #main .vd-motion-enter:focus-within { animation:none; }
}
@media(min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .destination-detail > .vd-parallax { translate:0 var(--vd-parallax-y,0px); }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    #main .destination > img,#main .vd-gallery-open img { transition:transform 350ms ease-out; }
    #main .destination:hover > img,#main .vd-gallery-open:hover img { transform:scale(1.025); }
    #main .btn > span[aria-hidden="true"],#main .vd-gallery-expand { transition:transform 220ms ease-out; }
    #main .btn:hover > span[aria-hidden="true"],#main .vd-gallery-open:hover .vd-gallery-expand { transform:translate(2px,-2px); }
}
@media(max-width:767px) {
    #main .vd-motion-enter { animation-duration:360ms; animation-delay:0ms; }
}
@media(prefers-reduced-motion:reduce) {
    #main .vd-motion-enter { animation:none!important; opacity:1!important; transform:none!important; }
    #main .vd-parallax { translate:none!important; }
    #main .destination > img,#main .vd-gallery-open img,#main .vd-gallery-expand { transition:none!important; transform:none!important; }
}
@media print { #main .vd-motion-enter { animation:none!important; } #main .vd-parallax { translate:none!important; } }
