*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

:root{

    --bg:#f7f7f7;
    --text:#111111;
    --grey:#707070;
    --border:#d8d8d8;
    --accent:#C8FF00;

}

body{

    background:var(--bg);
    color:var(--text);
    font-family:Inter,sans-serif;
    line-height:1.7;

}

/* NAVBAR */

header{

    position:fixed;
    width:100%;
    top:0;
    left:0;

    background:rgba(247,247,247,.9);
    backdrop-filter:blur(12px);

    border-bottom:1px solid var(--border);

    z-index:1000;

}

.navbar{

    max-width:1300px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:22px 40px;

}

.logo{

    display:flex;
    align-items:center;
    gap:10px;

    font-family:"Space Grotesk",sans-serif;
    font-weight:700;
    letter-spacing:2px;

}

.dot{

    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--accent);

}

ul{

    display:flex;
    gap:45px;
    list-style:none;

}

a{

    text-decoration:none;
    color:var(--grey);

    transition:.3s;

}

a:hover{

    color:var(--text);

}

/* GENERAL */

section{

    max-width:1200px;
    margin:auto;

    padding:140px 40px;

    border-bottom:1px solid var(--border);

}

small{

    color:var(--grey);
    letter-spacing:2px;
    text-transform:uppercase;

}

h1{

    font-size:5rem;
    font-family:"Space Grotesk",sans-serif;
    margin:20px 0;

}

h1 span{

    color:var(--accent);

}

h2{

    font-size:2.2rem;
    margin-bottom:30px;
    font-family:"Space Grotesk",sans-serif;

}

p{

    color:var(--grey);
    max-width:700px;

}

/* HERO */

.hero{

    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;

}

.buttons{

    margin-top:50px;

    display:flex;
    gap:20px;

}

.btn{

    padding:15px 32px;

    border-radius:40px;

    border:1px solid var(--border);

    transition:.3s;

}

.primary{

    background:var(--accent);
    color:#111;

}

.primary:hover{

    transform:translateY(-3px);

}

.secondary:hover{

    background:#111;
    color:white;

}

/* ABOUT */

.content{

    display:grid;
    grid-template-columns:2fr 1fr;
    gap:80px;

}

/* PROJECTS */

.projects-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;

}

.card{

    padding:35px;

    border:1px solid var(--border);

    border-radius:18px;

    transition:.35s;

    background:white;

}

.card:hover{

    border-color:var(--accent);

    transform:translateY(-8px);

}

.card h3{

    margin-bottom:20px;

    font-family:"Space Grotesk";

}

.card span{

    display:block;
    margin-top:30px;

    color:var(--grey);

}

/* EXPERIENCE */

.timeline{

    display:flex;
    flex-direction:column;
    gap:35px;

}

.item{

    padding-bottom:25px;

    border-bottom:1px solid var(--border);

}

/* SKILLS */

.skills{

    display:flex;
    flex-wrap:wrap;

    gap:18px;

}

.skills span{

    border:1px solid var(--border);

    padding:12px 22px;

    border-radius:30px;

    transition:.3s;

}

.skills span:hover{

    background:var(--accent);

}

/* CONTACT */

#contact{

    text-align:center;

}

#contact p{

    margin:auto;

    font-size:1.3rem;

}

/* RESPONSIVE */

@media(max-width:900px){

    .navbar{

        flex-direction:column;
        gap:20px;

    }

    ul{

        gap:18px;
        flex-wrap:wrap;
        justify-content:center;

    }

    h1{

        font-size:3.2rem;

    }

    .content{

        grid-template-columns:1fr;

    }

}
