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

:root{

    --bg:#0f172a;
    --card:#1e293b;
    --text:#ffffff;
    --text2:#cbd5e1;
    --accent:#38bdf8;
    --shadow:0 0 25px rgba(56,189,248,.3);

}

/* Light Mode */

body.light{

    --bg:#ffffff;
    --card:#f3f4f6;
    --text:#111827;
    --text2:#4b5563;
    --accent:#2563eb;

}

body{

    background:var(--bg);
    color:var(--text);
    transition:.4s;
    padding-top:80px;

}

a{

    color:inherit;
    text-decoration:none;

}

img{

    max-width:100%;
    display:block;

}

section{

    width:90%;
    max-width:1200px;
    margin:auto;
    padding:100px 0;

}

header{

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

    background:rgba(15,23,42,.9);

    backdrop-filter:blur(12px);

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

    z-index:1000;

}

.nav-container{

    width:90%;
    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:80px;

}

.logo{

    font-size:28px;

    font-weight:bold;

}

.logo span{

    color:var(--accent);

}

.nav-links{

    display:flex;

    align-items:center;

    list-style:none;

    gap:35px;

}

.nav-links a{

    transition:.3s;

}

.nav-links a:hover{

    color:var(--accent);

}

#themeBtn{

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:var(--card);

    color:var(--text);

    font-size:20px;

    transition:.3s;

}

#themeBtn:hover{

    background:var(--accent);

    color:white;

}

.menu-toggle{

    display:none;

    flex-direction:column;

    gap:5px;

    cursor:pointer;

}

.menu-toggle span{

    width:25px;

    height:3px;

    background:white;

}

#hero{

    min-height:90vh;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

}

.hero-text{

    flex:1;

}

.hero-text p:first-child{

    color:var(--accent);

    font-size:20px;

}

.hero-text h1{

    font-size:65px;

    margin:10px 0;

}

.hero-text h2{

    font-size:32px;

    color:var(--text2);

    margin-bottom:20px;

}

.hero-text p{

    max-width:550px;

    line-height:1.8;

    color:var(--text2);

    margin-bottom:30px;

}

.btn{

    display:inline-block;

    padding:15px 35px;

    background:var(--accent);

    color:white;

    border-radius:50px;

    transition:.3s;

    font-weight:bold;

}

.btn:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

.hero-image{

    flex:1;

    display:flex;

    justify-content:center;

}

.hero-image img{

    width:400px;

    height:400px;

    object-fit:cover;

    border-radius:50%;

    border:5px solid var(--accent);

    box-shadow:0 0 50px rgba(56,189,248,.4);

}

#about{
    text-align:center;
    height: 90vh;
}

#about h2{
    font-size:40px;
    margin-bottom:20px;
    color:var(--accent);
}

#about p{
    max-width:800px;
    margin:auto;
    line-height:1.9;
    color:var(--text2);
    font-size:18px;
}

#projects h2{
    text-align:center;
    font-size:40px;
    margin-bottom:50px;
    color:var(--accent);
}

.projects-grid{

    display:grid;

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

    gap:30px;

}

.project-card{

    background:var(--card);

    border-radius:15px;

    overflow:hidden;

    transition:.35s;

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

}

.project-card:hover{

    transform:translateY(-10px);

    box-shadow:0 0 30px rgba(56,189,248,.25);

}

.project-info{

    padding:25px;

}

.project-info h3{

    color:var(--accent);

    margin-bottom:15px;

    font-size:25px;

}

.project-info p{

    color:var(--text2);

    line-height:1.7;

}

.project-info ul{

    margin-top:10px;

    padding-left:20px;

}

.project-info li{

    margin:10px 0;

    color:var(--text2);

}

.project-photo{

    width:100%;

    height:250px;

    object-fit:cover;

    border-radius:10px;

    margin-top:15px;

    transition:.4s;

}

.project-photo:hover{

    transform:scale(1.05);

}

#contact{

    display:flex;

    justify-content:center;

}

.contact-container{

    width:450px;

    background:var(--card);

    padding:35px;

    border-radius:15px;

    border:2px solid rgba(255,255,255,.08);

    box-shadow:0 10px 30px rgba(0,0,0,.2);

}

.contact-container h2{

    text-align:center;

    margin-bottom:25px;

    color:var(--accent);

}

.contact-item{

    margin:20px 0;

    color:var(--text);

}

.contact-item strong{

    color:var(--accent);

}

.contact-item a{

    color:var(--text2);

    text-decoration:none;

}

.contact-item a:hover{

    color:var(--accent);

}

footer{

    margin-top:80px;

    padding:30px;

    text-align:center;

    color:var(--text2);

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

}

@keyframes fadeUp{

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

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

}

#hero,
#about,
#projects,
#contact{

    animation:fadeUp .8s ease;

}

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:var(--bg);

}

::-webkit-scrollbar-thumb{

    background:var(--accent);
    border-radius:10px;

}

::-webkit-scrollbar-thumb:hover{

    background:#0ea5e9;

}

body.light header{

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

    border-bottom:1px solid #d1d5db;

}

body.light .project-card,
body.light .contact-container{

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

body.light .menu-toggle span{

    background:#111827;

}

@media(max-width:900px){

    #hero{

        flex-direction:column-reverse;

        text-align:center;

        gap:40px;

    }

    .hero-text p{

        margin:auto auto 25px;

    }

    .hero-image img{

        width:320px;
        height:320px;

    }

}

@media(max-width:768px){

    .menu-toggle{

        display:flex;

    }

    .nav-links{

        position:fixed;

        top:80px;

        right:-100%;

        width:250px;

        height:100vh;

        background:var(--card);

        display:flex;

        flex-direction:column;

        justify-content:flex-start;

        align-items:center;

        gap:30px;

        padding-top:40px;

        transition:.4s;

    }

    .nav-links.active{

        right:0;

    }

    .hero-text h1{

        font-size:45px;

    }

    .hero-text h2{

        font-size:24px;

    }

    .hero-image img{

        width:260px;

        height:260px;

    }

    #about h2,
    #projects h2,
    .contact-container h2{

        font-size:32px;

    }

    #about p{

        font-size:16px;

    }

    .contact-container{

        width:100%;

    }

}

@media(max-width:480px){

    .hero-text h1{

        font-size:36px;

    }

    .hero-text h2{

        font-size:20px;

    }

    .hero-text p{

        font-size:15px;

    }

    .btn{

        padding:12px 25px;

    }

    .hero-image img{

        width:220px;

        height:220px;

    }

    .project-info{

        padding:18px;

    }

}