.apgl-title-roller {
    display: inline-flex;
    position: relative;
    align-items: center;
    perspective: 840px;
    perspective-origin: 50% 50%;
    transform-style: preserve-3d;
    transition: min-width 0.3s ease;
    text-decoration: inherit;
}

.apgl-title-roller .apgl-title-word {
    display: inline-block;
    white-space: nowrap;
    backface-visibility: hidden;
    transform-origin: 50% 50% -0.6em;
    will-change: transform, opacity;
}

.apgl-title-roller .apgl-title-next {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.apgl-title-roller.is-flipping .apgl-title-current {
    animation: apgl-title-flip-out 0.8s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.apgl-title-roller.is-flipping .apgl-title-next {
    animation: apgl-title-flip-in 0.8s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes apgl-title-flip-out {
    0% {
        transform: rotateX(0deg);
        opacity: 1;
    }
    40% {
        opacity: 0.4;
    }
    100% {
        transform: rotateX(-90deg);
        opacity: 0;
    }
}

@keyframes apgl-title-flip-in {
    0% {
        transform: rotateX(90deg);
        opacity: 0;
    }
    60% {
        opacity: 0.7;
    }
    100% {
        transform: rotateX(0deg);
        opacity: 1;
    }
}

.apgl-title-roller.is-complete {
    perspective: none;
}
