@keyframes wk2026-float {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

@keyframes wk2026-scale-in {
    from {
        opacity: 0;
        transform: scale(0.75);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes wk2026-fade-in {
    from {
        opacity: 0;
        transform: translate(-50%, 10px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }
}

@keyframes wk2026-plane-in {
    from {
        opacity: 0;
        transform: translateX(90px) rotate(4deg);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(0);
    }
}

@keyframes wk2026-polaroid-in {
    from {
        opacity: 0;
        transform: translateX(var(--wk2026-x)) translateY(calc(var(--wk2026-y) + 70px)) rotate(var(--wk2026-rotate));
    }
    to {
        opacity: 1;
        transform: translateX(var(--wk2026-x)) translateY(var(--wk2026-y)) rotate(var(--wk2026-rotate));
    }
}

.wk2026-float {
    animation: wk2026-float 5s ease-in-out infinite;
    transition: transform 0.2s ease-out;
}

.wk2026-sticker-circle,
.wk2026-sparkle-bg,
.wk2026-sticker-text,
.wk2026-airplane,
.wk2026-polaroid {
    opacity: 0;
}

.wk2026-section.is-visible .wk2026-sticker-circle {
    animation: wk2026-scale-in 0.7s ease-out 0.2s forwards;
}

.wk2026-section.is-visible .wk2026-sparkle-bg {
    animation:
        wk2026-scale-in 0.8s ease-out 0.45s forwards,
        wk2026-float 5s ease-in-out 1.2s infinite;
}

.wk2026-section.is-visible .wk2026-sticker-text {
    animation: wk2026-fade-in 0.5s ease-out 0.95s forwards;
}

.wk2026-section.is-visible .wk2026-delay-1 {
    animation-delay: 1.15s;
}

.wk2026-section.is-visible .wk2026-delay-2 {
    animation-delay: 1.3s;
}

.wk2026-section.is-visible .wk2026-airplane {
    animation: wk2026-plane-in 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 1.65s forwards;
}

.wk2026-section.is-visible .wk2026-polaroid {
    animation: wk2026-polaroid-in 0.55s ease-out forwards;
    animation-delay: calc(2.15s + var(--wk2026-polaroid-delay));
}

.wk2026-polaroid--restaurant {
    --wk2026-x: -125%;
    --wk2026-y: 8px;
    --wk2026-rotate: -8deg;
    z-index: 1;
}

.wk2026-polaroid--hotel {
    --wk2026-x: -50%;
    --wk2026-y: -6px;
    --wk2026-rotate: 2deg;
    z-index: 3;
}

.wk2026-polaroid--match {
    --wk2026-x: 25%;
    --wk2026-y: 6px;
    --wk2026-rotate: 8deg;
    z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
    .wk2026-float,
    .wk2026-sticker-circle,
    .wk2026-sparkle-bg,
    .wk2026-sticker-text,
    .wk2026-airplane,
    .wk2026-polaroid {
        animation: none !important;
        opacity: 1;
    }

    .wk2026-polaroid {
        transform: translateX(var(--wk2026-x)) translateY(var(--wk2026-y)) rotate(var(--wk2026-rotate));
    }
}
