/* Animations - Luxury Only */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(0.9)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}
.reveal{opacity:0;transform:translateY(20px);transition:0.9s cubic-bezier(0.16,1,0.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}

.hover-lift{transition:var(--transition)}
.hover-lift:hover{transform:translateY(-4px)}

.shimmer{position:relative;overflow:hidden}
.shimmer::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,0.4) 50%,transparent 80%);transform:translateX(-100%);animation:shimmerMove 2.2s infinite}
@keyframes shimmerMove{100%{transform:translateX(100%)}}

.page-transition{animation:fadeIn 0.6s cubic-bezier(0.16,1,0.3,1)}

.grid-bg{background-image:linear-gradient(rgba(10,10,11,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,11,0.03) 1px,transparent 1px);background-size:32px 32px}
