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

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
overflow-x:hidden;
color:white;
}

/* Background */

#bg-video{
position:fixed;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-3;
}

.overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.45);
z-index:-2;
}

/* Cursor Glow */

#cursor-glow{
position:fixed;
width:220px;
height:220px;
border-radius:50%;
background:radial-gradient(circle,
rgba(95,184,255,.25),
transparent 70%);
pointer-events:none;
transform:translate(-50%,-50%);
z-index:-1;
}

/* Hero */

.hero{

min-height:100vh;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

padding-top:100px;

padding-left:20px;

padding-right:20px;

animation:fade 1s ease;

}

.small{

color:#8fd8ff;

letter-spacing:4px;

font-size:14px;

font-weight:500;

text-transform:uppercase;

font-weight:600;

margin-bottom:20px;

}

h1{

font-family:'Space Grotesk',sans-serif;

font-size:95px;

letter-spacing:8px;

line-height:1.1;

margin-bottom:20px;

text-transform:uppercase;

color:white;

text-shadow:

0 0 15px rgba(255,255,255,.2),

0 0 35px rgba(95,184,255,.3);

transition:.3s;

}

h1:hover{

transform:scale(1.03);

}

h1 span{

color:#7fd3ff;

text-shadow:
0 0 10px rgba(127,211,255,.8),
0 0 20px rgba(127,211,255,.5);

}

h2{

font-family:'Space Grotesk',sans-serif;

font-size:30px;

font-weight:600;

letter-spacing:6px;

text-transform:uppercase;

color:#8fd8ff;

text-shadow:
0 0 10px rgba(143,216,255,.7),
0 0 20px rgba(143,216,255,.4);

min-height:40px;

transition:opacity .3s ease;

}

.line{

width:180px;

height:2px;

background:linear-gradient(to right,transparent,#8fd8ff,transparent);

margin:20px auto 30px;

}

.desc{

font-size:22px;

font-style:italic;

color:#ddd;

margin-bottom:50px;

}

.scroll{

margin-top:30px;

font-size:18px;

letter-spacing:6px;

cursor:pointer;

animation:bounce 2s infinite;

}

.scroll:hover{

color:#8fd8ff;

}

/* About */

.about{

min-height:100vh;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

padding:80px 20px;

background:#080808;

text-align:center;

}

.about h2{

font-size:55px;

margin-bottom:30px;

color:#8fd8ff;

}

.about p{

max-width:800px;

font-size:22px;

line-height:1.8;

color:#ddd;

}

/* Particles */

.particles{

position:fixed;

inset:0;

pointer-events:none;

z-index:-1;

}

.particles span{

position:absolute;

width:5px;

height:5px;

background:#8fd8ff;

border-radius:50%;

box-shadow:0 0 10px #8fd8ff;

animation:particleFloat 12s linear infinite;

}

.particles span:nth-child(1){left:10%;animation-delay:0s;}
.particles span:nth-child(2){left:20%;animation-delay:2s;}
.particles span:nth-child(3){left:35%;animation-delay:4s;}
.particles span:nth-child(4){left:50%;animation-delay:1s;}
.particles span:nth-child(5){left:65%;animation-delay:3s;}
.particles span:nth-child(6){left:75%;animation-delay:5s;}
.particles span:nth-child(7){left:88%;animation-delay:6s;}
.particles span:nth-child(8){left:96%;animation-delay:2s;}

@keyframes particleFloat{

from{
transform:translateY(110vh);
opacity:0;
}

20%{opacity:.8;}

80%{opacity:.8;}

to{
transform:translateY(-10vh);
opacity:0;
}

}

@keyframes bounce{

0%,100%{
transform:translateY(0);
}

50%{
transform:translateY(10px);
}

}

@keyframes fade{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}

@media(max-width:768px){

h1{
font-size:50px;
letter-spacing:3px;
}

h2{
font-size:20px;
}

.desc{
font-size:16px;
}

.about h2{
font-size:40px;
}

.about p{
font-size:18px;
}

}

/* NAVBAR */

.navbar{

    position:absolute;

    top:18px;

    left:50%;

    transform:translateX(-50%);

    width:92%;

    max-width:1200px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 28px;

    border-radius:24px;

    backdrop-filter:blur(25px);

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

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

    box-shadow:
        0 8px 30px rgba(0,0,0,.25),
        inset 0 1px 1px rgba(255,255,255,.12);

    z-index:9999;

    overflow:hidden;

    transition:all .35s ease;

}

.navbar:hover{

    transform:translateX(-50%) translateY(-2px);

    box-shadow:
        0 15px 40px rgba(0,0,0,.30),
        0 0 20px rgba(138,215,255,.08);

}

.navbar::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:24px;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.15),
        transparent
    );

    pointer-events:none;
}

.logo{

    font-family:'Space Grotesk',sans-serif;

    color:#ffffff;

    font-size:22px;

    font-weight:700;

    letter-spacing:2px;

    cursor:pointer;

    padding:12px 22px;

    border-radius:18px;

    backdrop-filter:blur(18px);

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

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

    box-shadow:
        0 8px 30px rgba(0,0,0,.2),
        inset 0 1px 1px rgba(255,255,255,.15);

    transition:all .35s ease;

    position:relative;
    
}

.logo::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.18),
        transparent
    );

    pointer-events:none;
}

.logo:hover{

    transform:scale(1.08);

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

    box-shadow:
        0 0 15px rgba(138,215,255,.25),
        0 0 30px rgba(138,215,255,.15),
        0 8px 35px rgba(0,0,0,.25);

}

.nav-links{
    display:flex;
    gap:35px;
    list-style:none;
}

.nav-links a{
    color:white;
    text-decoration:none;
    font-size:15px;
    letter-spacing:2px;

    transition:all .3s ease;

    display:inline-block;
}

.nav-links a:hover{

    color:#8ad7ff;

    transform:scale(1.12);

    text-shadow:
        0 0 8px rgba(138,215,255,.8),
        0 0 20px rgba(138,215,255,.5);

}

.hero-btn{

    margin-top:45px;

    display:inline-block;

    text-decoration:none;

    color:white;

    font-size:15px;

    font-weight:600;

    letter-spacing:2px;

    padding:15px 28px;

    border-radius:18px;

    backdrop-filter:blur(18px);

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

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

    box-shadow:
        0 8px 30px rgba(0,0,0,.2),
        inset 0 1px 1px rgba(255,255,255,.15);

    transition:all .35s ease;
}

.hero-btn:hover{

    transform:translateY(-4px);

    color:#8ad7ff;

    box-shadow:
        0 0 20px rgba(138,215,255,.25),
        0 0 40px rgba(138,215,255,.15),
        0 12px 35px rgba(0,0,0,.25);

}