/* ===========================
   RESET
=========================== */

/*==================================
PRELOADER
===================================*/

.preloader{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    background:#071120;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:999999;

}


.loader-content{

    width:min(90%,500px);

    text-align:center;

}


.loader-logo{

    width:180px;

    margin:auto;

    margin-bottom:40px;

}

.loader-line{

    width:100%;

    height:2px;

    background:rgba(255,255,255,.15);

    overflow:hidden;

    border-radius:50px;

}


.loader-line span{

    display:block;

    width:0;

    height:100%;

    background:#1565D8;

}

.loader-text{

    color:white;

    margin-top:25px;

    letter-spacing:4px;

    font-size:.8rem;

    text-transform:uppercase;

}








*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    overflow-x:hidden;
    background:#fff;
    color:#222;
    
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

button{
    border:none;
    cursor:pointer;
}



.container{

    width:min(92%,1400px);

    margin:auto;
    /* margin-bottom: 700px;
    padding-bottom: 700px; */
    width:min(92%,1400px);

    margin:auto;
}


.header.menu-open{

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.3s ease;

}

.header{
    position:fixed;
    top:20px;
    left:0;
    width:100%;
    z-index:10000;
    display:block;
}


.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 35px;

    border-radius:20px;

    background:rgba(255,255,255,.04);

    backdrop-filter:blur(24px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.15);

    transition:.45s ease;

}



.logo img{

    width:80px;

}


.nav-menu{

    display:flex;

    gap:45px;

    align-items:center;

}


.nav-menu a{

    color:#fff;

    font-size:.95rem;

    font-weight:500;

    transition:.35s;

    position:relative;

}

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#F9A106;

    transition:.4s;

}

.nav-menu a:hover::after{

    width:100%;

}


.nav-menu a.active{

    color:#F9A106;

}


.btn-nav{

    padding:14px 30px;

    background:#1565D8;

    color:#fff;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

}


.btn-nav:hover{

    background:#F9A106;

    transform:translateY(-3px);

}


.hamburger{

    display:none;

    flex-direction:column;

    gap:6px;

    cursor:pointer;

}


.hamburger span{

    width:32px;

    height:3px;

    background:#fff;

    border-radius:20px;

    transition:.4s;

}

.mobile-menu{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    background:#000;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:35px;

    transform:translateX(100%);

    transition:.6s;

    z-index:99999;

}

.mobile-menu.active{

    transform:translateX(0);

}

.mobile-links{

    display:flex;

    flex-direction:column;

    gap:30px;

}


.mobile-links a{

    color:white;

    font-size:2rem;

    font-weight:600;

    transition:.3s;

}


.mobile-links a:hover{

    color:#F9A106;

}


.mobile-btn{

    display:inline-block;

    margin-top:40px;

    padding:18px 40px;

    background:#1565D8;

    color:white;

    border-radius:60px;

}



.mobile-header{

    position:absolute;

    top:35px;

    left:0;

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 30px;

}


.close-menu{

    background:none;

    color:white;

    font-size:2rem;

}


.header.scrolled{

    top:15px;

}


.header.scrolled .navbar{

    background:rgba(10,20,45,.82);

    backdrop-filter:blur(28px);

    box-shadow:0 12px 40px rgba(0,0,0,.28);

    padding:15px 35px;

}

/*==============================
HAMBURGER ANIMATION
==============================*/

.hamburger.open span:nth-child(1){

    transform:rotate(45deg) translateY(12px);

}

.hamburger.open span:nth-child(2){

    opacity:0;

}

.hamburger.open span:nth-child(3){

    transform:rotate(-45deg) translateY(-12px);

}



@media (max-width: 768px){

    .scroll-indicator{
        display: none;
    }

}


/* 
.mobile-menu{

    position:fixed;

    inset:0;

    width:100%;

    height:300vh;

    background:#000;

     backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:40px;

    transform:translateX(100%);

    transition:.6s cubic-bezier(.77,0,.175,1);

    z-index:99999;

} */


.mobile-links a{

    position:relative;

    overflow:hidden;

}




/* Dropdown */

.dropdown{

    position:relative;

}

.dropdown > a{

    display:flex;

    align-items:center;

    gap:8px;

}

.dropdown-menu{

    position:absolute;

    top:120%;

    left:0;

    min-width:230px;

    background:rgba(15,15,15,.96);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:.35s ease;

    z-index:1000;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.dropdown-menu li{

    width:100%;

}

.dropdown-menu a{

    display:block;

    padding:14px 24px;

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.dropdown-menu a:hover{

    background:rgba(249,161,6,.12);

    color:#F9A106;

}






.mobile-dropdown-btn{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:none;

    border:none;

    color:#fff;

    font-size:2rem;

    font-weight:700;

    cursor:pointer;

}

.mobile-submenu{

    max-height:0;

    overflow:hidden;

    transition:max-height .4s ease;

    padding-left:25px;

}

.mobile-submenu.active{

    max-height:250px;

}

.mobile-submenu a{

    display:block;

    padding:16px 0;

    color:#bbb;

    font-size:1.2rem;

}



.mobile-links a::before{

    content:"";

    position:absolute;

    left:-100%;

    top:50%;

    width:100%;

    height:2px;

    background:#F9A106;

    transition:.5s;

}

.mobile-links a:hover::before{

    left:0;

}


.logo img{

    transition:.5s;

}

.logo:hover img{

    transform:scale(1.06);

}

.btn-nav{

    position:relative;

    overflow:hidden;

}


.btn-nav::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:100%;

    background:rgba(255,255,255,.18);

    transition:.5s;

}

.btn-nav:hover::before{

    left:100%;

}


/*======================================
 HERO SECTION
======================================*/

.hero{

    position:relative;

    width:100%;

    height:110vh;

    overflow:hidden;

    display:flex;

    align-items:center;

}

.hero-video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;


    z-index:0;


    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.60);


    pointer-events:none;

}

.hero-gradient{

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at top right,

    rgba(21,101,216,.35),

    transparent 45%),

    linear-gradient(

    180deg,

    rgba(0,0,0,.10),

    rgba(0,0,0,.75)

    );

}

.hero-content{

    position:relative;

    /* z-index:10; */

    max-width:760px;

    text-align:center;

    

    color:#fff;

    z-index: 5;
    


    padding-top: 160px;
}


.hero-tag{

    display:inline-block;

    margin-bottom:25px;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    letter-spacing:2px;

    font-size:.80rem;

    color:#F9A106;

}

.hero-content h1{

    font-size:2.5rem;

    

    line-height:1.05;

    font-weight:800;

    margin-bottom:100px;

    text-align: center;


    justify-content: center;

}


.hero-content p{

    font-size:1.1rem;

    line-height:1.9;

    color:#e5e5e5;

    margin-bottom:45px;

}

/*=========================================
HERO BUTTONS
=========================================*/

.hero-buttons{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    margin-top:70px;
    

}

.hero-btn{

    position:relative;
    display:inline-flex;
    justify-content:center;
    align-items:center;

    padding:18px 40px;

    border-radius:60px;

    text-decoration:none;

    font-weight:600;

    font-size:1rem;

    overflow:hidden;

    transition:all .4s ease;

    cursor:pointer;

}

.hero-btn span{

    position:relative;
    z-index:2;

}

/*==========================
PRIMARY BUTTON
==========================*/

.btn-primary{

    background:#1565D8;
    color:#fff;

}

.btn-primary:hover{

    background:#F9A106;
    color:#071120;

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(249,161,6,.35);

}

/*==========================
SECONDARY BUTTON
==========================*/

.btn-secondary{

    border:2px solid rgba(255,255,255,.3);

    color:#fff;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

}

.btn-secondary:hover{

    background:#1565D8;

    border-color:#1565D8;

    color:#fff;

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(21,101,216,.35);

}

.hero-btn:active{

    transform:scale(0.96);

}

.floating-light{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    opacity:.35;

}


.light-1{

    width:320px;

    height:320px;

    background:#1565D8;

    top:-80px;

    left:-60px;

}

.light-2{

    width:300px;

    height:300px;

    background:#25D5F2;

    right:-80px;

    bottom:-40px;

}


.light-3{

    width:180px;

    height:180px;

    background:#F9A106;

    right:20%;

    top:20%;

}

.scroll-indicator{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    z-index:20;

    text-align:center;

    color:#fff;

}


.mouse{

    width:28px;

    height:45px;

    border:2px solid white;

    border-radius:30px;

    margin:auto;

    position:relative;

}

.mouse span{

    position:absolute;

    left:50%;

    top:10px;

    transform:translateX(-50%);

    width:5px;

    height:10px;

    border-radius:20px;

    background:white;

    animation:scrollMouse 1.8s infinite;

}

@keyframes scrollMouse{

    0%{
    
        opacity:1;
    
        top:10px;
    
    }
    
    100%{
    
        opacity:0;
    
        top:25px;
    
    }
    
    }




    .particles{

        position:absolute;
    
        inset:0;
    
        overflow:hidden;
    
        pointer-events:none;
    
    }


    .particles span{

        position:absolute;
    
        width:6px;
    
        height:6px;
    
        border-radius:50%;
    
        background:rgba(255,255,255,.45);
    
        animation:floatParticle 12s linear infinite;
    
    }


    .particles span:nth-child(1){

        left:10%;
    
        animation-delay:0s;
    
    }
    
    .particles span:nth-child(2){
    
        left:28%;
    
        animation-delay:2s;
    
    }
    
    .particles span:nth-child(3){
    
        left:44%;
    
        animation-delay:4s;
    
    }
    
    .particles span:nth-child(4){
    
        left:62%;
    
        animation-delay:6s;
    
    }
    
    .particles span:nth-child(5){
    
        left:80%;
    
        animation-delay:8s;
    
    }
    
    .particles span:nth-child(6){
    
        left:94%;
    
        animation-delay:10s;
    
    }

    @keyframes floatParticle{

        0%{
    
            transform:translateY(100vh);
    
            opacity:0;
    
        }
    
        15%{
    
            opacity:1;
    
        }
    
        85%{
    
            opacity:1;
    
        }
    
        100%{
    
            transform:translateY(-120px);
    
            opacity:0;
    
        }
    
    }




    /*=================================
BRAND SHOWCASE
=================================*/


.brand-showcase{

    background:#050505;

    padding:120px 0;

    overflow:hidden;

}


.showcase-container{

    width:min(92%,1200px);

    margin:auto;

}


.showcase-heading{

    text-align:center;

}


.section-label{

    color:#F9A106;

    letter-spacing:4px;

    font-size:.8rem;

}


.showcase-heading h2{

    margin-top:30px;

    color:white;

    font-size:clamp(2.5rem,6vw,5rem);

    line-height:1.05;

    text-transform:uppercase;

}


.showcase-heading p{

    max-width:700px;

    margin:35px auto 0;

    color:#d8d8d8;

    line-height:1.8;

    font-size:1.1rem;

}


.creative-slider{

    margin-top:100px;

    overflow:hidden;

}


.slider-track{

    display:flex;

    gap:30px;

    width:max-content;

    animation:slideImages 25s linear infinite;

}


.creative-image{

    width:350px;

    height:450px;

    flex-shrink:0;

    border-radius:25px;

    overflow:hidden;

}


.creative-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}



.creative-slider{

    margin-top:100px;

    overflow:hidden;

}


.slider-track{

    display:flex;

    gap:30px;

    width:max-content;

    animation:slideImages 25s linear infinite;

}


.creative-image{

    width:250px;

    height:350px;

    flex-shrink:0;

    border-radius:25px;

    overflow:hidden;

}


.creative-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}


@keyframes slideImages{


    from{

        transform:translateX(0);

    }


    to{

        transform:translateX(-50%);

    }


}



.impact-stats{

    width:min(92%,1100px);

    margin:100px auto 0;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}


.stat-box{

    text-align:center;

    padding:40px 20px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:20px;

}


.stat-box h3{

    color:white;

    font-size:3rem;

}


.stat-box p{

    color:#ccc;

}




.about-section{

    background:#050505;

    padding:160px 0;

    overflow:hidden;

}


.about-container{

    width:min(92%,1300px);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}


.about-gallery{

    position:relative;

}


.about-main-image{

    height:650px;

    border-radius:30px;

    overflow:hidden;

}



.about-main-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}



.about-floating-image{

    position:absolute;

    width:260px;

    height:330px;

    right:-40px;

    bottom:-60px;

    border-radius:25px;

    overflow:hidden;

    border:8px solid #050505;

}



.about-floating-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}


.about-content h2{

    color:white;

    font-size:clamp(2.8rem,5vw,5rem);

    line-height:1.05;

    margin:30px 0;

}



.about-content p{

    color:#d0d0d0;

    line-height:1.9;

    font-size:1.05rem;

}


.about-highlight{

    margin-top:35px;

    padding:30px;

    background:rgba(255,255,255,.05);

    border-left:3px solid #F9A106;

}



.about-highlight h3{

    color:#F9A106;

    margin-bottom:15px;

}




/*================================
SERVICES SECTION
================================*/


.services-section{

    background:#050505;

    padding:150px 0;

    overflow:hidden;

}




.services-header{

    width:min(92%,1200px);

    margin:auto;

    text-align:center;

}



.services-header h2{

    color:white;

    font-size:clamp(2.5rem,6vw,5rem);

    line-height:1.05;

    margin-top:30px;

}


.services-wrapper{

    width:min(92%,1400px);

    margin:100px auto 0;

    display:flex;

    flex-direction:column;

    gap:40px;

}



.service-item{

    position:relative;

    min-height:650px;
  

    border-radius:30px;

    overflow:hidden;

    background-size:cover;

    background-position:center;

    display:flex;

    align-items:flex-end;

}



.service-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    to top,
    rgba(0,0,0,.85),
    rgba(0,0,0,.2)
    );

    pointer-events:none;

}




.service-content{

    position:relative;

    z-index:2;

    padding:60px;

    max-width:700px;

}



.service-content span{

    color:#F9A106;

    font-size:1.2rem;

}



.service-content h3{

    color:white;

    font-size:clamp(2rem,4vw,4rem);

    margin:20px 0;

}



.service-content p{

    color:#ddd;

    line-height:1.8;

    font-size:1.1rem;

}


.service-item{

    transition:transform .8s ease;

}


.service-item:hover{

    transform:scale(.98);

}



/*================================
FLAGSHIP PROGRAMS
================================*/


.programs-section{

    background:#050505;

    padding:150px 0;

    overflow:hidden;

}



.programs-header{

    width:min(92%,1200px);

    margin:auto;

    text-align:center;

}



.programs-header h2{

    color:white;

    font-size:clamp(2.5rem,6vw,5rem);

    line-height:1.05;

    margin:30px 0;

}



.programs-header p{

    color:#cfcfcf;

    max-width:700px;

    margin:auto;

    line-height:1.8;

}



.programs-wrapper{

    width:min(92%,1400px);

    margin:90px auto 0;

    display:flex;

    flex-direction:column;

    gap:50px;

}



.program-card{

    min-height:700px;

    background-size:cover;

    background-position:center;

    border-radius:35px;

    overflow:hidden;

    position:relative;

    display:flex;

    align-items:flex-end;

}




.program-overlay{

    position:absolute;

    inset:0;


    background:
    linear-gradient(
    to top,
    rgba(0,0,0,.9),
    rgba(0,0,0,.15)
    );

}


.program-content{

    position:relative;

    z-index:2;

    padding:70px;

    max-width:750px;

}



.program-content span{

    color:#F9A106;

    font-size:1.2rem;

}



.program-content h3{

    color:white;

    font-size:clamp(2.5rem,5vw,5rem);

    margin:20px 0;

}



.program-content p{

    color:#eee;

    line-height:1.9;

    font-size:1.05rem;

}



.program-content a{

    display:inline-block;

    margin-top:30px;

    color:white;

    border:1px solid rgba(255,255,255,.4);

    padding:15px 30px;

    border-radius:50px;

    transition:.4s;

}



.program-content a:hover{

    background:#F9A106;

    color:black;

}



/* =================================
WHY SSOLIC SPECTRA SECTION
================================= */


.why-section{

    position:relative;

    padding:160px 0;

    overflow:hidden;

    color:white;

}



.why-bg{

    position:absolute;

    inset:0;

    z-index:0;

}



.why-bg img{

    width:100%;

    height:100%;

    object-fit:cover;

}



.why-dark-overlay{

    position:absolute;

    inset:0;

    background:#050505;

    z-index:1;

}





.why-container{

    position:relative;

    z-index:2;

    width:min(92%,1200px);

    margin:auto;

}





.why-heading{

    max-width:850px;

    margin-bottom:80px;

}




.why-heading h2{

    font-size:clamp(3rem,7vw,6rem);

    line-height:.95;

    margin:30px 0;

    font-weight:800;

}




.why-heading p{

    max-width:650px;

    color:#ddd;

    font-size:1.15rem;

    line-height:1.8;

}





/* CARDS */


.why-cards{

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:30px;

}





.why-card{

    padding:40px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    border-radius:25px;

    backdrop-filter:blur(15px);

    transition:.4s ease;

}




.why-card:hover{

    transform:translateY(-10px);

    border-color:#F9A106;

}





.why-card span{

    color:#F9A106;

    font-size:1.2rem;

}





.why-card h3{

    margin:20px 0;

    font-size:1.5rem;

}





.why-card p{

    color:#ccc;

    line-height:1.8;

}






/* ================================
OUR PROCESS SECTION
================================ */


.process-section{

    position:relative;
    
    padding:160px 0;
    
    overflow:hidden;
    
    color:white;
    
    }
    
    
    
    
    
    .process-background{
    
    position:absolute;
    
    inset:0;
    
    z-index:0;
    
    }
    
    
    
    .process-background img{
    
    width:100%;
    
    height:100%;
    
    object-fit:cover;
    
    }
    
    
    
    
    
    .process-overlay{
    
    position:absolute;
    
    inset:0;
    
    background:
    rgba(0,0,0,.85);
    
    z-index:1;
    
    }
    
    
    
    
    
    .process-container{
    
    position:relative;
    
    z-index:2;
    
    width:min(92%,1100px);
    
    margin:auto;
    
    }
    
    
    
    
    .process-heading{
    
    max-width:800px;
    
    margin-bottom:100px;
    
    }
    
    
    
    
    .process-heading h2{
    
    font-size:clamp(3rem,7vw,6rem);
    
    line-height:.95;
    
    margin:30px 0;
    
    }
    
    
    
    
    .process-heading p{
    
    color:#ddd;
    
    font-size:1.1rem;
    
    line-height:1.8;
    
    max-width:650px;
    
    }



    .process-item{

        opacity:0;
        
        transform:translateY(50px);
        
        transition:1s ease;
        
        }
        
        
        .process-item.active{
        
        opacity:1;
        
        transform:translateY(0);
        
        }



        /*====================================
WHO WE WORK WITH
====================================*/

.clients-section{

    padding:120px 0;
    background:#080808;
    overflow:hidden;

}

.clients-header{

    max-width:800px;
    margin:0 auto 70px;
    text-align:center;

}

.clients-header h2{

    font-size:clamp(2.3rem,5vw,4.2rem);
    margin:20px 0;
    line-height:1.15;

}

.clients-header p{

    color:#bdbdbd;
    line-height:1.9;
    max-width:680px;
    margin:auto;

}

.clients-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:22px;

}

.client-item{

    padding:24px 28px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    border-radius:18px;
    backdrop-filter:blur(12px);

    font-size:1.05rem;
    font-weight:600;

    transition:.4s;

    cursor:default;

}

.client-item::before{

    content:"✦";
    color:#F9A106;
    margin-right:12px;

}

.client-item:hover{

    transform:translateY(-8px);

    border-color:#F9A106;

    box-shadow:0 20px 40px rgba(249,161,6,.18);

}

/*==========================
MOBILE
==========================*/

@media(max-width:768px){

.clients-section{

    padding:90px 20px;

}

.clients-grid{

    grid-template-columns:1fr;

}

.client-item{

    text-align:center;

}

}


        /* ================================
WHO WE WORK WITH
================================ */


.clients-section{

    position:relative;
    
    padding:160px 0;
    
    overflow:hidden;
    
    color:white;
    
    }
    
    
    
    
    
    .clients-background{
    
    position:absolute;
    
    inset:0;
    
    z-index:0;
    
    }
    
    
    
    
    .clients-background img{
    
    width:100%;
    
    height:100%;
    
    object-fit:cover;
    
    }
    
    
    
    
    
    .clients-overlay{
    
    position:absolute;
    
    inset:0;
    
    background: #050505;
    
    z-index:1;
    
    }
    
    
    
    
    
    .clients-container{
    
    position:relative;
    
    z-index:2;
    
    width:min(92%,1200px);
    
    margin:auto;
    
    }
    
    
    
    
    
    .clients-header{
    
    max-width:850px;
    
    margin-bottom:90px;
    
    }
    
    
    
    
    .clients-header h2{
    
    font-size:clamp(3rem,7vw,6rem);
    
    line-height:.95;
    
    margin:30px 0;
    
    }
    
    
    
    
    .clients-header p{
    
    max-width:650px;
    
    font-size:1.1rem;
    
    line-height:1.8;
    
    color:#ddd;
    
    }


    .clients-grid{

        display:grid;
        
        grid-template-columns:repeat(3,minmax(0,1fr));
        
        gap:25px;
        
        }
        
        
        
        
        
        .client-item{
        
        min-height:140px;
        
        display:flex;
        
        align-items:center;
        
        justify-content:center;
        
        text-align:center;
        
        padding:30px;
        
        
        font-size:1.4rem;
        
        font-weight:600;
        
        
        background: #071120;
        
        
        border:1px solid rgba(255,255,255,.15);
        
        
        border-radius:25px;
        
        
        backdrop-filter:blur(15px);
        
        
        transition:.5s ease;
        
        }
        
        
        
        
        
        .client-item:hover{
        
        transform:translateY(-10px);
        
        background:rgba(249,161,6,.15);
        
        border-color:#F9A106;
        
        }


        .client-item{

            opacity:0;
            
            transform:translateY(40px);
            
            }
            
            
            
            .client-item.visible{
            
            opacity:1;
            
            transform:translateY(0);
            
            transition:1s ease;
            
            }





            

            /* ================================
CINEMATIC GALLERY
================================ */


.gallery-section{

    padding:160px 0;
    
    background:#050505;
    
    color:white;
    
    overflow:hidden;
    
    }
    
    
    
    
    
    .gallery-header{
    
    width:min(92%,900px);
    
    margin:auto;
    
    text-align:center;
    
    margin-bottom:90px;
    
    }
    
    
    
    
    
    .gallery-header h2{
    
    font-size:clamp(3rem,7vw,6rem);
    
    line-height:.95;
    
    margin:30px 0;
    
    }
    
    
    
    
    .gallery-header p{
    
    color:#ccc;
    
    line-height:1.8;
    
    font-size:1.1rem;
    
    }



    .gallery-grid{

        width:min(92%,1400px);
        
        margin:auto;
        
        display:grid;
        
        grid-template-columns:repeat(3,minmax(0,1fr));
        
        grid-auto-rows:350px;
        
        gap:25px;
        
        }
        
        
        
        
        .gallery-item{
        
        overflow:hidden;
        
        border-radius:30px;
        
        }
        
        
        
        .gallery-item.large{
        
        grid-row:span 2;
        
        }
        
        
        
        .gallery-item img{
        
        width:100%;
        
        height:100%;
        
        object-fit:cover;
        
        transition:1s ease;
        
        }
        
        
        
        
        .gallery-item:hover img{
        
        transform:scale(1.08);
        
        }



        .gallery-item{

            opacity:0;
            
            transform:scale(.95);
            
            transition:1s ease;
            
            }
            
            
            
            .gallery-show{
            
            opacity:1;
            
            transform:scale(1);
            
            }



            /*==================================
BECOME PART OF THE MOVEMENT
==================================*/

.cta-section{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    text-align:center;

    color:#fff;

}



.cta-bg{

    position:absolute;

    inset:0;

}



.cta-bg img{

    width:100%;

    height:100%;

    object-fit:cover;

}



.cta-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,.78),
        rgba(0,0,0,.88)
    );

}



.cta-container{

    position:relative;

    z-index:2;

    width:min(92%,900px);

    margin:auto;

}



.cta-container h2{

    font-size:clamp(3rem,7vw,6.5rem);

    line-height:.95;

    margin:30px 0;

    font-weight:800;

}



.cta-container p{

    font-size:1.15rem;

    color:#ddd;

    line-height:1.9;

    max-width:750px;

    margin:0 auto 50px;

}



.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}



.cta-container{

    opacity:0;

    transform:translateY(50px);

    transition:1s ease;

}

.cta-container.show{

    opacity:1;

    transform:translateY(0);

}




/*====================================
CONTACT FORM SECTION
=====================================*/

.contact-form-section{

    padding:120px 0;

    background:#080808;

    overflow:hidden;

}


.contact-form-grid{

    display:grid;

    grid-template-columns: .9fr 1.1fr;

    gap:70px;

    align-items:start;

}


/* LEFT SIDE */

.contact-form-intro h2{

    font-size:clamp(2.5rem,5vw,4.5rem);

    line-height:1.1;

    margin:25px 0;

}


.contact-form-intro p{

    color:#cfcfcf;

    line-height:1.9;

    max-width:500px;

}


.contact-details{

    margin-top:40px;

}


.contact-details div{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:25px;

    color:#ddd;

}


.contact-details i{

    color:#F9A106;

    font-size:1.2rem;

}


/* FORM BOX */

.contact-form-box{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.1);

    padding:40px;

    border-radius:25px;

}


.form-group{

    margin-bottom:25px;

}


.form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}


.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:16px 18px;

    background:#111;

    border:1px solid rgba(255,255,255,.12);

    border-radius:12px;

    color:#fff;

    font-size:1rem;

    outline:none;

}


.form-group textarea{

    resize:none;

}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    border-color:#F9A106;

}


/* BUTTON */

.contact-form-box button{

    width:100%;

    padding:18px;

    border:none;

    border-radius:50px;

    background:#F9A106;

    color:#050505;

    font-size:1rem;

    font-weight:800;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    transition:.3s;

}


.contact-form-box button:hover{

    transform:translateY(-5px);

}


/*=========================
TABLET
=========================*/

@media(max-width:992px){

.contact-form-grid{

    grid-template-columns:1fr;

    gap:50px;

}

}


/*=========================
MOBILE
=========================*/

@media(max-width:768px){

.contact-form-section{

    padding:90px 20px;

}


.contact-form-box{

    padding:25px;

}


.contact-form-intro h2{

    font-size:2.5rem;

}


.contact-details div{

    align-items:flex-start;

}


}


/*==================================
FOOTER
==================================*/

.footer{

    position:relative;

    background:#030303;

    color:#fff;

    padding:120px 0 40px;

    overflow:hidden;

}

.footer-watermark{

    position:absolute;

    top:30px;

    left:50%;

    transform:translateX(-50%);

    font-size:clamp(4rem,12vw,10rem);

    font-weight:800;

    color:rgba(255,255,255,.03);

    white-space:nowrap;

    pointer-events:none;

    user-select:none;

}

.footer-container{

    position:relative;

    z-index:2;

    width:min(92%,1200px);

    margin:auto;

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

}

.footer-logo{

    width:180px;

    margin-bottom:20px;

}

.footer-brand p{

    color:#bdbdbd;

    line-height:1.8;

}

.footer h3{

    margin-bottom:20px;

    color:#F9A106;

}

.footer ul{

    list-style:none;

}

.footer ul li{

    margin-bottom:14px;

}

.footer a{

    color:#dcdcdc;

    text-decoration:none;

    transition:.3s;

}

.footer a:hover{

    color:#F9A106;

}

.social-icons{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.social-icons a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.06);

    font-size:1.2rem;

    transition:.35s ease;

}

.social-icons a:hover{

    transform:translateY(-6px);

    background:#F9A106;

    color:#000;

}

.footer-bottom{

    margin-top:70px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    color:#999;

}



/*====================================
FLOATING PARTNER BUTTON
=====================================*/

.partner-float{

    position:fixed;

    right:30px;

    bottom:30px;

    display:flex;

    align-items:center;

    gap:12px;

    background:#F9A106;

    color:#050505;

    padding:14px 22px;

    border-radius:50px;

    text-decoration:none;

    font-weight:800;

    font-size:1rem;

    z-index:9999;

    box-shadow:0 15px 40px rgba(249,161,6,.35);

    transition:.4s;

    animation:partnerPulse 2.5s infinite;

}


.partner-float:hover{

    transform:translateY(-8px);

}


.partner-icon{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#050505;

    color:#F9A106;

    font-size:1.3rem;

}


.partner-text{

    white-space:nowrap;

}


/* Floating Animation */

@keyframes partnerPulse{


    0%{

        box-shadow:0 0 0 0 rgba(249,161,6,.5);

    }


    70%{

        box-shadow:0 0 0 18px rgba(249,161,6,0);

    }


    100%{

        box-shadow:0 0 0 0 rgba(249,161,6,0);

    }

}



/*=========================
MOBILE
=========================*/

@media(max-width:768px){


.partner-float{

    right:18px;

    bottom:20px;

    padding:12px 16px;

    font-size:.9rem;

}


.partner-icon{

    width:35px;

    height:35px;

}


}

@media(max-width:420px){

    .partner-float{

        right:15px;

        bottom:20px;

        padding:12px 18px;

        width:auto;

        height:auto;

        justify-content:center;

        gap:10px;

    }


    .partner-text{

        display:block;

        font-size:.85rem;

    }


    .partner-icon{

        width:34px;

        height:34px;

        background:#050505;

        font-size:1.2rem;

    }

}