/* Website developed by Syed Ahmed */
/* Page Transition Layer */
#page-transition-layer { position: fixed; inset: 0; background: #030303; z-index: 99999; pointer-events: none; transform: scaleY(0); transform-origin: bottom; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#transition-logo { opacity: 0; transform: translateY(20px); }

/* Native CSS Reveals (Zero Lag) */
.gs-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
    visibility: visible;
}
.gs-reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}

/* Kinetic Typography Mask */
.line-mask {
    overflow: hidden;
    display: inline-block;
    vertical-align: top;
}
.line-mask-inner {
    display: inline-block;
    transform: translateY(110%);
    transform-origin: left bottom;
}

/* Image Parallax Container */
.parallax-container {
    overflow: hidden;
    position: relative;
}
.parallax-inner {
    height: 120%;
    width: 100%;
    transform-origin: center center;
}

/* Explore Page Specific Animations */
.explore-slide { transition: transform 0.8s var(--ease-out); }

/* Moving Ribbon / Marquee */
@keyframes marquee {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}
.animate-marquee {
    display: inline-block;
    white-space: nowrap;
    animation: marquee 25s linear infinite;
    will-change: transform;
}
.ribbon-container {
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
}


/* Tablet / Mobile Animation Weight Reduction */
@media (max-width: 1024px) {
    .gs-reveal {
        transform: translateY(15px); /* Reduced distance */
        transition-duration: 0.7s; /* Faster, less heavy */
    }
}
