/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:linear-gradient(
        180deg,
        #020617,
        #050b1d,
        #020617
    );

    color:white;
    overflow-x:hidden;
    cursor:none;
}

/* =========================
   LOADER
========================= */

#loader{
    position:fixed;
    inset:0;
    background:#020617;
    z-index:999999;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

#loader h1{
    font-size:3rem;
    letter-spacing:4px;

    color:#7dd3fc;

    text-shadow:
    0 0 20px #38bdf8,
    0 0 50px #8b5cf6;
}

.loader-bar{
    width:260px;
    height:6px;

    margin-top:25px;

    background:#172036;
    border-radius:999px;
    overflow:hidden;
}

.loader-fill{
    width:0%;
    height:100%;

    background:linear-gradient(
        90deg,
        #38bdf8,
        #8b5cf6
    );

    animation:load 2s forwards;
}

@keyframes load{
    to{
        width:100%;
    }
}

/* =========================
   CURSOR
========================= */

.cursor{
    width:18px;
    height:18px;

    border:2px solid #38bdf8;
    border-radius:50%;

    position:fixed;

    pointer-events:none;
    z-index:999999;

    transform:translate(-50%,-50%);

    box-shadow:
    0 0 15px #38bdf8,
    0 0 30px #8b5cf6;
}

/* =========================
   PARTICLES
========================= */

.particles{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
}

.particle{
    position:absolute;
    border-radius:50%;
    background:#38bdf8;
    animation:float linear infinite;
}

@keyframes float{

    from{
        transform:translateY(100vh);
    }

    to{
        transform:translateY(-100px);
    }

}

/* =========================
   HERO
========================= */

.hero{
    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:20px;
}

.hero h1{
    font-size:6rem;
    font-weight:800;

    background:linear-gradient(
        90deg,
        #38bdf8,
        #8b5cf6
    );

    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero p{
    margin-top:20px;
    font-size:1.25rem;
    color:#cbd5e1;
}

.hero-buttons{
    display:flex;
    gap:15px;
    margin-top:35px;
}

/* =========================
   BUTTONS
========================= */

.btn{
    text-decoration:none;

    padding:14px 30px;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        #38bdf8,
        #8b5cf6
    );

    color:white;

    font-weight:600;

    transition:.3s;
}

.btn:hover{
    transform:translateY(-4px);
}

.secondary{
    background:#172036;
}

/* =========================
   SECTION
========================= */

.section{
    max-width:1200px;
    margin:auto;
    padding:100px 20px;
}

.section h2{
    text-align:center;
    font-size:2.5rem;
    margin-bottom:50px;
}

/* =========================
   ABOUT
========================= */

.about{
    max-width:850px;
    margin:auto;

    padding:40px;

    text-align:center;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:25px;

    backdrop-filter:blur(10px);

    line-height:1.9;
}

.about p{
    color:#d1d5db;
}

/* =========================
   RELEASE CARD
========================= */

.release-card{
    display:flex;
    align-items:center;
    gap:40px;

    padding:30px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:25px;

    backdrop-filter:blur(10px);
}

.release-card img{
    width:320px;
    height:320px;

    object-fit:cover;

    border-radius:20px;

    box-shadow:
    0 0 20px rgba(56,189,248,.3);
}

.release-content{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.release-content h3{
    font-size:2rem;
}

.release-content p{
    color:#d1d5db;
}

.release-content .btn{
    width:fit-content;
}

/* =========================
   GALLERY
========================= */

.gallery{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;
}

.gallery img{
    width:100%;
    height:350px;

    object-fit:cover;

    border-radius:20px;

    transition:.4s;

    box-shadow:
    0 0 20px rgba(139,92,246,.25);
}

.gallery img:hover{
    transform:translateY(-6px);
}

/* =========================
   CTA
========================= */

.cta{
    text-align:center;
    padding:100px 20px;
}

.cta h2{
    font-size:2.5rem;
}

.cta p{
    margin:20px 0;
    color:#cbd5e1;
}

/* =========================
   FOOTER
========================= */

footer{
    text-align:center;
    padding:50px 20px;

    color:#94a3b8;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    body{
        cursor:auto;
    }

    .cursor{
        display:none;
    }

    .hero h1{
        font-size:3.5rem;
    }

    .hero-buttons{
        flex-direction:column;
        width:100%;
        max-width:300px;
    }

    .btn{
        text-align:center;
    }

    .release-card{
        flex-direction:column;
        text-align:center;
    }

    .release-card img{
        width:100%;
        height:auto;
    }

    .release-content .btn{
        width:100%;
    }

    .section{
        padding:70px 20px;
    }

    .section h2{
        font-size:2rem;
    }

}