/* Stick to right edge - positions element at the right edge of its container */
.stick-to-right {
    right: 0;
}

/* Stick to left edge - positions element at the left edge of its container */
.stick-to-left {
    left: 0;
}

/* Mobile: -100px offset */
@media (max-width: 767px) {
    .stick-to-right {
        right: -100px;
    }
    
    .stick-to-left {
        left: -100px;
    }
}

/* Scrollbar fix – prevents double scrollbars with GSAP ScrollTrigger */
html { 
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
}
body { 
    overflow-y: hidden;
    overflow-x: hidden;
    width: 100%;
}
section, .reveal-parent { 
    overflow: clip; /* fallback: hidden */ 
}
:root { 
    scrollbar-gutter: stable both-edges; 
}

/* Font families */
body {
    font-family: 'Quicksand', sans-serif;
}

h2, h3 {
    font-family: 'DynaPuff', cursive;
}

/* Bounce slow animation */
@keyframes bounce-slow {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(-10px);
    }
}

.animate-bounce-slow {
    animation: bounce-slow 2s ease-in-out infinite;
}


