.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

body {
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow-x: hidden;
}

.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-zoom {
    opacity: 0;
    transform: scale(0.85) translateY(20px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-zoom.active {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.reveal-left {
    opacity: 0;
    transform: translateX(-80px);
    transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right {
    opacity: 0;
    transform: translateX(80px);
    transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

.image-wrapper-lg {
    position: relative;
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    z-index: 1;
}

@media (max-width: 767px) {
    .reveal-left,
    .reveal-right {
        transform: translateY(40px);
    }

    .reveal-left.active,
    .reveal-right.active {
        transform: translateY(0);
    }

    .image-wrapper-lg {
        max-width: 100%;
    }
}

.delay-100 {
    transition-delay: 100ms;
}

.image-wrapper {
    position: relative;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    z-index: 1;
}

.image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 10;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.circle-arc {
    position: absolute;
    top: -15px;
    left: -15px;
    right: 15%;
    bottom: 15%;
    border-radius: 20px;
    border: 12px solid #16a34a;
    border-bottom-color: transparent;
    border-right-color: transparent;
    z-index: 0;
}

.circle-arc-reverse {
    position: absolute;
    top: 15%;
    left: 15%;
    right: -15px;
    bottom: -15px;
    border-radius: 20px;
    border: 12px solid #16a34a;
    border-top-color: transparent;
    border-left-color: transparent;
    z-index: 0;
}
