.reveal-text {
    opacity: 0;
    transform: translateY(50px);
}

.reveal-img {
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
    position: relative;
    padding: 4%;
}

.reveal-img .img-mask {
    width: 100%;
    height: 100%;
    transform: translateX(-120%);
}

.reveal-img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.page-title {
    clip-path: inset(0 0 100% 0);
    overflow: hidden;
}

.banner-date,
.date-slide,
.banner-content h2,
.banner-content .subtitle,
.banner-content .btn {
    opacity: 0;
    transform: translateY(20px);
}

.animate-francis {
    opacity: 0;
    filter: blur(8px);
    transform: scale(0.9);
    transition: none;
}

.sticky-image {
    position: relative;
}

.sticky-image img {
    width: 100%;
    height: auto;
}

@media (min-width: 768px) {
    .sticky-image {
        position: sticky;
        top: 120px;
        height: auto;
    }
}