.push-button {
    position: relative;
    cursor: pointer;
    transition: filter 250ms;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.button-edge {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgb(8, 16, 58);
}

.button-front {
    position: relative;
    will-change: transform;
    transform: translateY(-3px);
    transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.push-button:hover .button-front {
    transform: translateY(-4px);
    transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.push-button:active .button-front {
    transform: translateY(-1px);
    transition: transform 34ms;
}

.button-shadow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgb( 0,0,0,0.15);
    filter:blur(1px);
    will-change: transform;
    transform: translateY(4px);
    transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.push-button:hover .button-shadow {
    transform: translateY(5px);
    transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.push-button:active .button-shadow {
    transform: translateY(2px);
    transition: transform 34ms;
}

.push-button:focus:not(:focus-visible) {
    outline: none;
}

.push-button:hover {
    filter: brightness(110%);
}