/* 
=========================================================
CINEMATIC ANIMATION SYSTEM (GSAP + LENIS)
=========================================================
*/

/* Lenis Smooth Scroll Core */
html,
body {
    overflow-x: hidden !important;
    width: 100%;
    position: relative;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* Section Stacking / Layering Styles */
.cinematic-stack-wrapper {
    position: relative;
    width: 100%;
}

/*.cinematic-section {
    position: relative;
    width: 100%;
    
    overflow: hidden !important;

    z-index: 1;
    margin: 0 !important;
    will-change: transform;
}*/

/* --- TEXT REVEAL INITIAL STATES --- */
.cinematic-text {
    opacity: 0;
    transform: translateY(50px);
    filter: blur(10px);
    will-change: transform, opacity, filter;
}

.cinematic-outline-text {
    opacity: 0;
    transform: translateX(-30px);
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
    color: transparent;
    transition: color 0.8s ease;
}

/* --- CARD & GRID INITIAL STATES --- */
.cinematic-card {
    opacity: 0;
    transform: translateY(60px) rotateX(10deg);
    transform-style: preserve-3d;
    perspective: 1000px;
    will-change: transform, opacity;
}

.cinematic-card:hover {
    transform: translateY(-10px) scale(1.02) !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* --- IMAGE & DECORATIVE INITIAL STATES --- */
.cinematic-image-wrapper {
    overflow: hidden;
    display: block;
    position: relative;
    border-radius: inherit;
}

.cinematic-image {
    transform: scale(1.25);
    opacity: 0;
    will-change: transform, opacity;
}

.cinematic-image:hover {
    transform: scale(1.05) !important;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cinematic-float-item {
    will-change: transform;
}

/* --- BUTTON & MAGNETIC STATES --- */
.cinematic-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.cinematic-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.cinematic-btn:hover::before {
    width: 300%;
    height: 300%;
}

/* --- PARTICLES & AMBIENT ELEMENTS --- */
.cinematic-particle {
    position: absolute;
    pointer-events: none;
    will-change: transform;
    opacity: 0.4;
}

.particle-blur {
    filter: blur(8px);
}

.particle-deep-blur {
    filter: blur(25px);
}

.particle-gold {
    background: radial-gradient(circle, #D29752 0%, transparent 70%);
}

.stagger-container>* {
    opacity: 0;
    transform: translateY(40px);
}

/*.cinematic-section {

    position: relative;

    width: 100%;

    overflow: hidden;

    z-index: 1;

    min-height: auto !important;

}*/