/*======================================
            TABLET
======================================*/

@media (max-width:1024px){
    .container{

    width:92%;

}

.hero-title{

    font-size:52px;

}

.section-title h2{

    font-size:40px;

}

.skills-grid,

.services-grid,

.projects-grid{

    grid-template-columns:

        repeat(2,1fr);

}

}

/*======================================
        TABLET KECIL
======================================*/

@media (max-width:768px){
    .hero{

    flex-direction:column;

    text-align:center;

}

.hero-image{

    margin-top:50px;

}

.about-container,

.contact-wrapper{

    flex-direction:column;

}

.skills-grid,

.services-grid,

.projects-grid{

    grid-template-columns:1fr;

}

.timeline{

    padding-left:25px;

}

.timeline-item::before{

    left:-23px;

}

.contact-form{

    margin-top:40px;

}


.nav-menu{

    display:flex;

    flex-direction:column;

    position:fixed;

    top:80px;

    right:-100%;

    width:280px;

    height:calc(100vh - 80px);

    background:var(--surface);

    justify-content:flex-start;

    align-items:center;

    gap:30px;

    padding:40px 20px;

    transition:right .3s ease;

}

.nav-menu.active{

    right:0;

}

.nav-menu li{

    width:100%;

    text-align:center;

}

.nav-link{

    display:block;

    padding:12px 0;

}

.menu-toggle.active span:nth-child(1){

    transform:

        translateY(9px)

        rotate(45deg);

}

.menu-toggle.active span:nth-child(2){

    opacity:0;

}

.menu-toggle.active span:nth-child(3){

    transform:

        translateY(-9px)

        rotate(-45deg);

}

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

.nav-container{

    position:relative;

}

.nav-actions{

    display:flex;

    align-items:center;

    gap:10px;

}

.nav-btn{

    display:none;

}

.theme-toggle{

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0;

}

.menu-toggle{

    display:flex;

}

}

/*======================================
            MOBILE
======================================*/

@media (max-width:576px){
.container{

    width:94%;

}

.hero{

    padding:120px 0 80px;

}


.hero-title{

    font-size:38px;

    line-height:1.3;

}

.hero-description{

    font-size:16px;

}

.section{

    padding:80px 0;

}

.section-title h2{

    font-size:32px;

}

.tech-card,

.service-card,

.project-card{

    padding:30px 20px;

}

.timeline-content{

    padding:22px;

}

.contact-form{

    padding:25px;

}

.contact-form input,

.contact-form textarea{

    padding:14px;

}

.footer-links{

    gap:18px;

}

.footer-social{

    gap:12px;

}

.btn-primary,

.btn-secondary{

    width:100%;

    justify-content:center;

}
}

/*======================================
        SMALL MOBILE
======================================*/

@media (max-width:400px){
.container{

    width:95%;

}

.hero{

    padding:100px 0 70px;

}

.hero-title{

    font-size:30px;

}

.hero-description{

    font-size:15px;

}

.section-title h2{

    font-size:28px;

}

.tech-card,

.service-card,

.project-card,

.timeline-content{

    padding:20px;

}

.contact-form{

    padding:20px;

}

.contact-item{

    gap:12px;

}

.contact-item i{

    width:45px;

    height:45px;

    font-size:18px;

}

.footer-logo{

    font-size:28px;

}

.footer-description{

    font-size:14px;

}

.footer-links{

    flex-direction:column;

    gap:15px;
}

.about-cards{

    grid-template-columns:1fr;
}

.footer-social{

    justify-content:center;

}

.btn-primary,

.btn-secondary{

    font-size:15px;

    padding:14px 20px;

}
}

