.handshake-frame {
    position: relative;
    display: inline-block;
    animation: handshake-enter 1.2s ease forwards;
}

.handshake-frame::before,
.handshake-frame::after {
    content: "";
    position: absolute;
    inset: -12%;
    border-radius: 32px;
    background: rgba(40, 133, 199, 0.25);
    filter: blur(0);
    opacity: 0;
    pointer-events: none;
    animation: handshake-glow 3s ease-in-out infinite 1.2s;
}

.handshake-frame::after {
    animation-delay: 2.1s;
}

.handshake-frame img {
    display: block;
    max-width: 100%;
    height: auto;
    transform-origin: center 68%;
    animation: handshake-wave 2.6s ease-in-out infinite 1.2s;
}

@keyframes handshake-enter {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
    }
    60% {
        opacity: 1;
        transform: translateY(-6px) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes handshake-wave {
    0%,
    100% {
        transform: rotate(0deg) translateY(0);
    }
    20% {
        transform: rotate(-1.5deg) translateY(2px);
    }
    40% {
        transform: rotate(1.5deg) translateY(-2px);
    }
    60% {
        transform: rotate(-1deg) translateY(1px);
    }
    80% {
        transform: rotate(1deg) translateY(-1px);
    }
}

@keyframes handshake-glow {
    0%,
    100% {
        opacity: 0;
        transform: scale(0.85);
    }
    50% {
        opacity: 1;
        transform: scale(1.05);
    }
}

