*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#080808;
color:#ffffff;
line-height:1.6;
}

.container{
padding:0 10%;
}


/* NAVIGATION */

nav{
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;

position:fixed;
top:0;
left:0;
width:100%;

padding:12px 10%;

background:rgba(8,8,8,0.9);
backdrop-filter:blur(10px);

border-bottom:1px solid rgba(255,255,255,0.06);

z-index:1000;
}

.logo{
width:120px;
}

.menu-toggle{
display:none;
background:none;
border:none;
color:white;
font-size:30px;
cursor:pointer;
}

nav ul{
display:flex;
}

nav ul li{
list-style:none;
margin:10px 20px;
}

nav ul li a{
color:white;
text-decoration:none;
font-size:16px;
transition:.25s;
}

nav ul li a:hover{
color:#cfcfcf;
}


/* HERO */

#header{
width:100%;
min-height:100vh;
padding-top:90px;

background:
linear-gradient(90deg,#121212 0%,#080808 45%,#000000 100%);
}

.hero{
min-height:calc(100vh - 90px);

display:flex;
align-items:flex-end;
justify-content:space-between;

gap:20px;
}

.hero-text{
flex:0 0 52%;
max-width:52%;
padding-bottom:80px;
}

.hero-text p{
font-size:18px;
letter-spacing:1px;
text-transform:uppercase;
color:#bdbdbd;
margin-bottom:18px;
}

.hero-text h1{
font-size:72px;
line-height:1.02;
margin-bottom:12px;
font-weight:700;
}

.hero-text h2{
font-size:30px;
color:#d0d0d0;
font-weight:500;
}


/* HERO BUTTONS */

.hero-buttons{
margin-top:35px;
display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn-primary{
background:white;
color:black;
padding:12px 26px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.25s;
}

.btn-primary:hover{
background:#e6e6e6;
}

.btn-secondary{
border:1px solid rgba(255,255,255,0.3);
color:white;
padding:12px 26px;
border-radius:6px;
text-decoration:none;
transition:.25s;
}

.btn-secondary:hover{
background:rgba(255,255,255,0.05);
}


/* HERO IMAGE */

.hero-image{
flex:0 0 48%;
display:flex;
justify-content:flex-end;
align-items:flex-end;
}

.hero-image img{
width:640px;
max-width:100%;
height:auto;
object-fit:contain;
filter:grayscale(100%) contrast(1.05);
}


/* SECTIONS */

.sub-title{
font-size:42px;
margin-bottom:30px;
}

#about,
#projects,
#skills,
#contact{
padding:140px 0;
}

.row{
display:flex;
flex-wrap:wrap;
gap:40px;
}

.about-col-1{
flex-basis:35%;
}

.about-col-1 img{
width:100%;
border-radius:12px;
}

.about-col-2{
flex-basis:60%;
}


/* PROJECTS */

.projects-list{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:40px;
margin-top:50px;
}

.projects-list div{
background:#111;
padding:32px;
border-radius:16px;
border:1px solid rgba(255,255,255,0.08);
transition:.25s;
}

.projects-list div:hover{
transform:translateY(-8px);
}


/* SKILLS */

.skills-list{
display:flex;
flex-wrap:wrap;
gap:15px;
}

.skills-list span{
background:#111;
padding:10px 20px;
border-radius:20px;
font-size:14px;
border:1px solid rgba(255,255,255,0.08);
}


/* MOBILE */

@media(max-width:768px){

nav{
padding:12px 6%;
}

.container{
padding:0 6%;
}

.menu-toggle{
display:block;
}

nav ul{
display:none;
width:100%;
flex-direction:column;
background:#111;
margin-top:15px;
padding:10px 0;
}

nav ul.active{
display:flex;
}

nav ul li{
margin:12px 0;
}

#header{
padding-top:110px;
}

.hero{
flex-direction:column;
align-items:center;
text-align:center;
padding-top:30px;
}

.hero-text{
flex:1 1 100%;
max-width:100%;
padding-bottom:20px;
}

.hero-text h1{
font-size:46px;
}

.hero-text h2{
font-size:22px;
}

.hero-text p{
font-size:16px;
}

.hero-buttons{
justify-content:center;
}

.hero-image{
justify-content:center;
}

.hero-image img{
width:320px;
}

.row{
flex-direction:column;
}

}