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

html{
    scroll-behavior:smooth;
}

body{
    padding-top:82px;

    font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;

    background:#05060a;

    color:white;

    overflow-x:hidden;

}

#particles{

    position:fixed;

    inset:0;

    width:100%;

    height:100%;

    z-index:-2;

}

.hero{

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    position:relative;

    overflow:hidden;

    background-image:

        linear-gradient(
            rgba(2,4,12,.60),
            rgba(2,4,12,.82),
            rgba(1,1,6,.95)
        ),

        url("assets/images/hero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.overlay{

    position:absolute;

    inset:0;

    background:

    radial-gradient(

        circle at center,

        rgba(0,0,0,.15),

        rgba(0,0,0,.55),

        rgba(0,0,0,.85)

    );

    backdrop-filter:blur(2px);

}

.content{

    position:relative;

    max-width:900px;

    padding:20px;

}

.content h2{

    color:#88d7ff;

    font-weight:300;

    letter-spacing:6px;

    margin-bottom:20px;

    text-shadow:
    0 0 20px #4aa3ff;

}

.content h1{

    font-size:110px;

    font-weight:900;

    margin-bottom:20px;

    color:white;

    text-shadow:

    0 0 10px white,

    0 0 25px #4fa7ff,

    0 0 50px #7d3cff;

}

.content p{

    font-size:22px;

    line-height:1.7;

    color:#d6d6d6;

    margin-bottom:40px;

}

.button{

    display:inline-block;

    padding:18px 42px;

    border-radius:60px;

    text-decoration:none;

    color:white;

    font-size:20px;

    font-weight:bold;

    background:

    linear-gradient(

    90deg,

    #1e40ff,

    #7a32ff,

    #b4183d

    );

    transition:.35s;

    box-shadow:

    0 0 20px #4fa7ff;

}

.button:hover{

    transform:translateY(-4px) scale(1.03);

    box-shadow:

    0 0 35px #7d3cff;

}

.section{

    max-width:1200px;

    margin:auto;

    padding:120px 40px;

}

.section h2{

    text-align:center;

    font-size:48px;

    margin-bottom:40px;

}

.section p{

    text-align:center;

    color:#d0d0d0;

    font-size:20px;

    line-height:1.8;

}

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    margin-top:60px;

}

.card{

    background:#10131d;

    border:1px solid #24324d;

    border-radius:18px;

    padding:40px;

    text-align:center;

    transition:.3s;

    box-shadow:
    0 0 20px rgba(0,0,0,.3);

}

.card:hover{

    transform:translateY(-8px);

    border-color:#5aa4ff;

    box-shadow:

    0 0 35px rgba(90,164,255,.5);

}

.card h3{

    margin:20px 0;

    color:#7fb7ff;

}

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

.footer{

    margin-top:120px;

    background:#070b14;

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

}

.footerGrid{

    max-width:1300px;

    margin:auto;

    padding:70px 50px;

    display:grid;

    grid-template-columns:

    2fr
    1fr
    1fr
    1fr;

    gap:60px;

}

.footer h3{

    color:#69b7ff;

    margin-bottom:20px;

}

.footer h4{

    color:white;

    margin-bottom:20px;

}

.footer p{

    color:#b8b8b8;

    line-height:1.7;

}

.footer a{

    display:block;

    color:#b8b8b8;

    text-decoration:none;

    margin-bottom:12px;

    transition:.25s;

}

.footer a:hover{

    color:#69b7ff;

}

.copyright{

    text-align:center;

    padding:30px;

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

    color:#8a8a8a;

}

.heroLogo{

    width:min(720px,60vw);

    height:auto;

    margin-bottom:35px;

    animation:floatLogo 5s ease-in-out infinite;

    filter:

        drop-shadow(0 0 20px #4fa7ff)

        drop-shadow(0 0 50px #7d3cff);

}

.gallery{

    padding:100px 8%;

    text-align:center;

}

.gallery h2{

    font-size:3rem;

    margin-bottom:60px;

}

.galleryGrid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

.galleryGrid img{

    width:100%;

    border-radius:18px;

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

    transition:.35s;

    box-shadow:0 20px 60px rgba(0,0,0,.45);

}

.galleryGrid img:hover{

    transform:scale(1.03);

    box-shadow:
        0 0 25px #4fa7ff,
        0 0 45px #7d3cff;

}

/*==========================
 NAVBAR
===========================*/

.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:82px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 60px;

    z-index:999;

    background:

        rgba(8,10,18,.25);

    backdrop-filter:blur(18px);

    border-bottom:

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

    transition:.35s;

}

.brand{

    display:flex;

    align-items:center;

    gap:16px;

}

.brand img{

    width:42px;

    border-radius:12px;

    box-shadow:

        0 0 20px #4aa3ff;

}

.brand span{

    font-size:20px;

    font-weight:700;

    letter-spacing:2px;

}

.navLinks{

    display:flex;

    gap:40px;

    list-style:none;

}

.navLinks a{

    text-decoration:none;

    color:white;

    font-weight:600;

    transition:.3s;

    position:relative;

}

.navLinks a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#4aa3ff;

    transition:.3s;

}

.navLinks a:hover{

    color:#69b8ff;

}

.navLinks a:hover::after{

    width:100%;

}

@keyframes floatLogo{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0px);

    }

}

@media(max-width:900px){

.footerGrid{

    grid-template-columns:1fr;

    text-align:center;

}

}

@media(max-width:768px){

.content h1{

    font-size:54px;

}

.content p{

    font-size:18px;

}

.section h2{

    font-size:36px;

}

}

/* ===========================
   LEGAL PAGES
=========================== */

.legalPage{

    margin:0;
    background:#05070d;
    color:white;
    font-family:Arial, Helvetica, sans-serif;

}

.legalNav{

    position:sticky;
    top:0;

    padding:20px 10%;

    background:rgba(5,7,13,.9);
    backdrop-filter:blur(15px);

    border-bottom:1px solid rgba(90,120,255,.25);

    z-index:100;

}

.backButton{

    color:#69b7ff;

    text-decoration:none;

    font-weight:bold;

    transition:.3s;

}

.backButton:hover{

    color:white;

}

.legalContainer{

    max-width:900px;

    margin:auto;

    padding:70px 25px 100px;

}

.legalContainer h1{

    font-size:3rem;

    margin-bottom:40px;

    color:white;

    text-align:center;

    text-shadow:
        0 0 15px #4fa7ff,
        0 0 35px #7d3cff;

}

.legalContent{

    background:#101420;

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

    border-radius:20px;

    padding:40px;

    line-height:1.8;

    color:#d6d6d6;

    box-shadow:

        0 0 40px rgba(79,167,255,.12);

}

.legalContent h2{

    margin-top:40px;

    color:#69b7ff;

}

.legalContent a{

    color:#7d9dff;

}

.legalContent strong{

    color:white;

}