/*=========================================
        SCIENCE EXHIBITION
        PROJECTS PAGE CSS

        APPLE × NASA DESIGN
=========================================*/


/*=========================================
        RESET
=========================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

    font-family:'Space Grotesk',sans-serif;

}


html{

    scroll-behavior:smooth;

}



body{

    background:#02030a;

    color:white;

    min-height:100vh;

    overflow-x:hidden;

    position:relative;

}





/*=========================================
        SPACE GLOW BACKGROUND
=========================================*/


body::before{


    content:"";

    position:fixed;


    width:700px;

    height:700px;


    border-radius:50%;


    background:

    radial-gradient(
    circle,
    rgba(0,150,255,.25),
    transparent 70%
    );


    filter:blur(120px);


    top:-250px;

    left:-200px;


    z-index:-5;

}




body::after{


    content:"";


    position:fixed;


    width:600px;

    height:600px;


    border-radius:50%;


    background:

    radial-gradient(
    circle,
    rgba(0,220,255,.15),
    transparent 70%
    );


    filter:blur(120px);


    bottom:-250px;

    right:-200px;


    z-index:-5;

}







/*=========================================
        STAR BACKGROUND
=========================================*/


#stars{


    position:fixed;

    inset:0;


    overflow:hidden;


    z-index:-3;


}




.star{


    position:absolute;


    background:white;


    border-radius:50%;


    box-shadow:


    0 0 8px white,

    0 0 20px rgba(0,180,255,.8);


}







/*=========================================
        SHOOTING STARS
=========================================*/


.shooting-stars{


    position:fixed;


    inset:0;


    pointer-events:none;


    z-index:-2;


}








/*=========================================
        NAVBAR
=========================================*/


.navbar{


    width:90%;


    max-width:1200px;


    margin:auto;


    padding:25px 0;


    display:flex;


    justify-content:space-between;


    align-items:center;


}




.brand{


    display:flex;


    align-items:center;


    gap:15px;


    color:#c9eaff;


    font-size:13px;


    letter-spacing:3px;


}



.brand img{


    width:45px;


    height:45px;


    object-fit:contain;


    filter:

    drop-shadow(
    0 0 15px rgba(0,200,255,.7)
    );


}






.home-btn{


    text-decoration:none;


    color:white;


    padding:12px 25px;


    border-radius:50px;


    border:

    1px solid rgba(255,255,255,.2);


    transition:.3s;


}



.home-btn:hover{


    background:white;


    color:black;


}







/*=========================================
        HERO SECTION
=========================================*/


.project-hero{


    min-height:55vh;


    display:flex;


    flex-direction:column;


    justify-content:center;


    align-items:center;


    text-align:center;


    padding:40px 20px;


}




.tag{


    color:#00c8ff;


    font-size:12px;


    letter-spacing:8px;


    margin-bottom:25px;


    opacity:.8;


}




.project-hero h1{


    font-size:

    clamp(45px,9vw,90px);


    font-weight:800;


    letter-spacing:5px;


    line-height:1;


    background:

    linear-gradient(

    180deg,

    #ffffff,

    #9adfff

    );


    -webkit-background-clip:text;


    -webkit-text-fill-color:transparent;


}




.project-hero h1 span{


    display:block;


}






.subtitle{


    margin-top:25px;


    max-width:600px;


    color:#9ca9ba;


    line-height:1.8;


    font-size:16px;


}







/*=========================================
        SEARCH AREA
=========================================*/


.controls{


    width:90%;


    max-width:1100px;


    margin:auto;


}





.search-box input{


    width:100%;


    padding:18px 25px;


    border-radius:50px;


    outline:none;


    color:white;


    font-size:16px;


    background:

    rgba(255,255,255,.06);


    border:

    1px solid rgba(255,255,255,.15);


    backdrop-filter:blur(20px);


}



.search-box input::placeholder{


    color:#8c98aa;


}







/*=========================================
        FILTER BUTTONS
=========================================*/


.filters{


    display:flex;


    gap:12px;


    margin-top:25px;


    overflow-x:auto;


}




.filter{


    flex-shrink:0;


    padding:12px 25px;


    border-radius:50px;


    color:white;


    cursor:pointer;


    background:

    rgba(255,255,255,.05);


    border:

    1px solid rgba(255,255,255,.15);


    transition:.3s;


}





.filter:hover,
.filter.active{


    background:

    linear-gradient(
    90deg,
    #00bfff,
    #0078ff
    );


    border-color:transparent;


}








/*=========================================
        PROJECT GRID
=========================================*/


.projects-section{


    width:90%;


    max-width:1200px;


    margin:80px auto;


}





.projects-grid{


    display:grid;


    grid-template-columns:

    repeat(
    auto-fit,
    minmax(280px,1fr)
    );


    gap:30px;


}









/*=========================================
        FOOTER
=========================================*/


footer{


    text-align:center;


    padding:40px 20px;


    color:#728096;


    font-size:14px;


    letter-spacing:1px;


}







/*=========================================
        MOBILE
=========================================*/


@media(max-width:768px){



.navbar{


    width:85%;


}



.brand span{


    display:none;


}




.project-hero{


    min-height:50vh;


}



.project-hero h1{


    letter-spacing:3px;


}



.subtitle{


    font-size:14px;


}



}
.shooting-star{


    position:absolute;


    width:180px;


    height:2px;


    background:

    linear-gradient(
    90deg,
    transparent,
    white
    );


    transform:
    rotate(-45deg);


    animation:
    shoot 1.5s linear forwards;


    box-shadow:
    0 0 15px white;


}



@keyframes shoot{


from{

    transform:
    translate(0,0)
    rotate(-45deg);

    opacity:1;

}


to{

    transform:
    translate(-500px,500px)
    rotate(-45deg);

    opacity:0;

}


}
/*=========================================
        PREMIUM PROJECT CARDS
        APPLE × NASA STYLE
=========================================*/


.project-card{


    position:relative;


    background:

    rgba(255,255,255,.06);


    backdrop-filter:

    blur(20px);



    border:

    1px solid rgba(255,255,255,.15);



    border-radius:28px;


    overflow:hidden;


    cursor:pointer;


    transform-style:preserve-3d;


    transition:

    transform .5s ease,

    border .4s ease,

    box-shadow .4s ease;



    opacity:0;


    animation:

    cardReveal .8s ease forwards;


}





@keyframes cardReveal{


    from{


        opacity:0;

        transform:

        translateY(40px);


    }


    to{


        opacity:1;

        transform:

        translateY(0);


    }


}







/*=========================================
        CARD GLOW EFFECT
=========================================*/


.project-card::before{


    content:"";


    position:absolute;


    inset:-2px;


    border-radius:30px;


    background:


    linear-gradient(

    120deg,

    transparent,

    rgba(0,200,255,.8),

    transparent

    );


    opacity:0;


    transition:.5s;


    z-index:-1;


}






.project-card:hover::before{


    opacity:1;


}







.project-card:hover{


    transform:


    translateY(-12px)

    rotateX(5deg)

    rotateY(-5deg);



    box-shadow:


    0 30px 80px

    rgba(0,180,255,.25);


    border-color:

    rgba(0,200,255,.6);


}







/*=========================================
        PROJECT IMAGE
=========================================*/


.project-image{


    width:100%;


    height:230px;


    overflow:hidden;


    position:relative;


}




.project-image img{


    width:100%;


    height:100%;


    object-fit:cover;


    transition:

    transform .6s ease;


}






.project-card:hover .project-image img{


    transform:

    scale(1.1);


}






/* image dark overlay */


.project-image::after{


    content:"";


    position:absolute;


    inset:0;


    background:


    linear-gradient(

    transparent,

    rgba(0,0,0,.6)

    );


}







/*=========================================
        CARD CONTENT
=========================================*/


.project-info{


    padding:25px;


}






.project-info h2{


    font-size:24px;


    font-weight:700;


    letter-spacing:.5px;


    margin-bottom:15px;


}







.project-info p{


    color:#aab7c8;


    font-size:14px;


    line-height:1.7;


}







.project-meta{


    margin-top:20px;


    display:flex;


    justify-content:space-between;


    color:#55d6ff;


    font-size:13px;


}







/*=========================================
        BUTTON
=========================================*/


.view-btn{


    display:inline-flex;


    align-items:center;


    gap:8px;



    margin-top:25px;


    padding:12px 25px;


    border-radius:50px;



    background:

    linear-gradient(

    90deg,

    #00bfff,

    #0078ff

    );



    color:white;


    text-decoration:none;


    font-size:14px;


    font-weight:600;



    transition:.35s;


}






.view-btn:hover{


    transform:

    translateX(5px);



    box-shadow:


    0 0 30px

    rgba(0,200,255,.7);


}







/*=========================================
        MOBILE OPTIMIZATION
=========================================*/


@media(max-width:768px){


.project-card:hover{


    transform:

    translateY(-6px);


}



.project-image{


    height:200px;


}


.project-info h2{


    font-size:21px;


}



}
/*=========================================
        PROJECT ICON
=========================================*/

.project-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}



.project-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:42px;

    background:

    radial-gradient(circle,
    rgba(0,170,255,.18),
    rgba(255,255,255,.03));

    border:1px solid rgba(255,255,255,.08);

    box-shadow:

    0 0 20px rgba(0,180,255,.25),

    inset 0 0 20px rgba(255,255,255,.05);

    animation:

    iconFloat 5s ease-in-out infinite;

}



.project-card:hover .project-icon{

    transform:

    scale(1.1)

    rotate(10deg);

    box-shadow:

    0 0 40px rgba(0,220,255,.55);

}



.project-badge{

    padding:8px 16px;

    border-radius:40px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.12);

    font-size:11px;

    letter-spacing:2px;

    color:#7ed8ff;

}



.project-title{

    font-size:28px;

    font-weight:700;

    margin-bottom:18px;

}



.creator-row{

    display:flex;

    justify-content:space-between;

    margin-bottom:18px;

}



.creator-label{

    color:#7c8ea5;

}



.creator-name{

    color:#7fe0ff;

    font-weight:600;

}



.project-description{

    color:#bfc7d5;

    line-height:1.8;

    margin-bottom:25px;

}



@keyframes iconFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0px);

    }

}
/*==================================================
            PROJECT OVERLAY
==================================================*/

.project-overlay{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:
    opacity .45s ease,
    visibility .45s ease;

    z-index:99999;

}

.project-overlay.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}
/*==================================================
                BACKDROP
==================================================*/

.overlay-backdrop{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(24px);

    -webkit-backdrop-filter:blur(24px);

}
/*==================================================
            GLASS PANEL
==================================================*/

.project-panel{

    position:relative;

    width:min(1200px,92vw);

    height:min(88vh,900px);

    overflow-y:auto;

    border-radius:34px;

    padding:60px;

    background:

    linear-gradient(

        180deg,

        rgba(255,255,255,.08),

        rgba(255,255,255,.03)

    );

    border:1px solid rgba(255,255,255,.12);

    box-shadow:

        0 40px 120px rgba(0,0,0,.55),

        inset 0 1px 0 rgba(255,255,255,.08);

    transform:

        scale(.92)

        translateY(50px);

    transition:

        .6s cubic-bezier(.16,1,.3,1);

}
.project-overlay.active .project-panel{

    transform:

        scale(1)

        translateY(0);

}
.project-panel::-webkit-scrollbar{

    width:8px;

}

.project-panel::-webkit-scrollbar-track{

    background:transparent;

}

.project-panel::-webkit-scrollbar-thumb{

    background:rgba(255,255,255,.15);

    border-radius:20px;

}
/*==================================================
            CLOSE BUTTON
==================================================*/

.close-project{

    position:absolute;

    top:28px;

    right:28px;

    width:54px;

    height:54px;

    border-radius:50%;

    border:none;

    cursor:pointer;

    color:white;

    font-size:24px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    transition:.35s;

}

.close-project:hover{

    background:#ffffff;

    color:#000;

    transform:rotate(90deg);

}
/*==================================================
            CONTENT
==================================================*/

#projectContent{

    width:100%;

}
/*==================================================
            MOBILE
==================================================*/

@media(max-width:768px){

.project-panel{

    width:100vw;

    height:100vh;

    border-radius:0;

    padding:28px;

}

.close-project{

    top:18px;

    right:18px;

}

}
/*======================================
        PROJECT HEADER
======================================*/

.project-header{

    text-align:center;

    margin-bottom:55px;

}

.project-icon{

    font-size:90px;

    margin-bottom:18px;

    animation:floatIcon 5s ease-in-out infinite;

}

@keyframes floatIcon{

    50%{

        transform:translateY(-12px);

    }

}

.detail-title{

    font-size:52px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:16px;

}

.detail-creators{

    color:#c8d2e5;

    font-size:18px;

}

.category-badge{

    display:inline-block;

    padding:10px 24px;

    border-radius:999px;

    margin-bottom:24px;

    background:

    rgba(255,255,255,.08);

    border:

    1px solid rgba(255,255,255,.15);

}
.detail-grid{

    display:grid;

    gap:28px;

}

.detail-card{

    padding:34px;

    border-radius:24px;

    background:

    rgba(255,255,255,.05);

    border:

    1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.detail-card:hover{

    transform:translateY(-6px);

    border-color:#3ea8ff;

}

.detail-card h3{

    font-size:22px;

    margin-bottom:18px;

}

.detail-card p{

    color:#d0d0d0;

    line-height:1.9;

}

.detail-card ul{

    margin-left:20px;

}

.detail-card li{

    margin:10px 0;

}
@media(max-width:768px){

.detail-title{

    font-size:34px;

}

.project-icon{

    font-size:70px;

}

.detail-card{

    padding:24px;

}

}