body.menu-open{

    overflow:hidden;

}

body.menu-open::before{

    content:"";

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    backdrop-filter:blur(4px);

    z-index:9998;

}


/*==================================================
Mobile
==================================================*/

@media (max-width:767px){

    .services{

        padding:80px 0;

    }

    .services-heading{

        margin-bottom:45px;

    }

    .service-item{

        grid-template-columns:1fr;

        gap:20px;

        padding:30px 0;

        text-align:left;

    }

    .service-item:hover{

        padding-left:0;

    }

    .service-number{

        font-size:22px;

    }

    .service-content h3{

        font-size:22px;

        margin-bottom:12px;

    }

    .service-content p{

        font-size:15px;

    }

    .service-icon{

        width:56px;

        height:56px;

        font-size:22px;

    }


    /*==================================================
Footer
==================================================*/

.footer{

    padding:80px 0 30px;

}

.footer-top{

    grid-template-columns:1fr;

    gap:45px;

}

.footer-brand{

    text-align:center;

}

.footer-logo img{

    margin:auto auto 24px;

}

.footer-brand p{

    margin:auto auto 30px;

}

.footer-social{

    justify-content:center;

}

.footer-bottom{

    flex-direction:column;

    gap:20px;

    text-align:center;

}

    /*==================================================
Contact
==================================================*/

.contact{

    padding:90px 0;

}

.contact-wrapper{

    grid-template-columns:1fr;

    gap:50px;

}

.contact-content{

    max-width:100%;

    text-align:center;

}

.contact-content h2{

    font-size:34px;

    line-height:1.2;

}

.contact-content p{

    font-size:16px;

    line-height:1.8;

}

.contact-info{

    gap:16px;

}

.contact-card{

    padding:20px;

    text-align:left;

}

.contact-icon{

    width:56px;

    height:56px;

    font-size:20px;

}

.contact-card strong{

    font-size:16px;

}

.contact-form{

    padding:28px;

}

.form-heading{

    text-align:center;

}

.form-heading h3{

    font-size:28px;

}

.form-heading p{

    font-size:15px;

}

.contact-form input,

.contact-form select{

    height:56px;

}

.contact-form textarea{

    height:150px;

}

    .projects{

    padding:90px 0;

}

.projects-heading{

    margin-bottom:45px;

    text-align:center;

}

.projects-heading h2{

    font-size:34px;

    line-height:1.2;

}

.projects-heading p{

    font-size:16px;

    line-height:1.8;

}

.projects-grid{

    grid-template-columns:1fr;

    gap:24px;

}

.project-card{

    border-radius:22px;

}

.browser-bar{

    height:38px;

    padding:0 16px;

}

.browser-bar span{

    width:9px;

    height:9px;

}

.project-content{

    padding:22px;

}

.project-category{

    font-size:12px;

}

.project-content h3{

    font-size:24px;

    margin-bottom:18px;

}

.project-stack{

    gap:10px;

}

.project-stack span{

    height:36px;

    padding:0 14px;

    font-size:13px;

}

.preview-btn{

    padding:14px 22px;

    font-size:14px;

}

.project-number{

    font-size:56px;

    right:18px;

    bottom:16px;

}


    .skills{

    padding:90px 0;

}

.skills-heading{

    text-align:center;

    margin-bottom:45px;

}

.skills-heading h2{

    font-size:34px;

    line-height:1.2;

}

.skills-heading p{

    font-size:16px;

    line-height:1.8;

}

.skills-grid{

    grid-template-columns:1fr;

    gap:20px;

}

.skill-card{

    padding:24px;

    border-radius:22px;

}

.skill-top{

    margin-bottom:22px;

}

.skill-top span{

    font-size:20px;

}

.skill-icon{

    width:60px;

    height:60px;

    font-size:22px;

}

.skill-tags{

    gap:10px;

}

.skill-tags span{

    font-size:14px;

    padding:10px 16px;

}

.skill-tags i{

    font-size:16px;

    width:18px;

    min-width:18px;

}

    /*==================================================
Experience
==================================================*/

.experience{

    padding:90px 0;

}

.experience-heading{

    margin-bottom:55px;

}

.experience-heading h2{

    font-size:42px;

}

.experience-heading p{

    font-size:16px;

}

.career-item{

    grid-template-columns:1fr;

    gap:22px;

    padding:28px;

}

.career-year{

    position:relative;

    top:auto;

    font-size:16px;

}

.career-content h3{

    font-size:26px;

}

.career-content h4{

    font-size:16px;

}

.career-content p{

    font-size:15px;

    margin-bottom:22px;

}

.career-stack{

    gap:10px;

}

.career-stack span{

    height:40px;

    padding:0 16px;

    font-size:13px;

}

    .experience-badge{

    animation:none;

}


    /*==================================================
About
==================================================*/

.about{

    padding:90px 0;

}

.about-wrapper{

    grid-template-columns:1fr;

    gap:55px;

}

.about-image{

    order:2;

}

.about-content{

    order:1;

    max-width:100%;

    text-align:center;

}

.section-tag{

    margin-inline:auto;

}

.about-content h2{

    font-size:42px;

    line-height:1.12;

    letter-spacing:-1px;

    max-width:100%;

}

.about-content p{

    max-width:100%;

    font-size:16px;

    line-height:1.85;

    margin-inline:auto;

}

.about-image-wrapper{

    width:100%;

    max-width:330px;

    transform:none;

}

.about-image-wrapper:hover{

    transform:none;

}

.about-glow{

    width:280px;

    height:280px;

}

.experience-badge{

    width:120px;

    height:120px;

    right:-15px;

    bottom:20px;

}

.experience-badge span{

    font-size:42px;

}

.experience-badge small{

    font-size:12px;

}

.about-stats{

    grid-template-columns:1fr;

    gap:16px;

}

.stat-card{

    text-align:center;

}

.about-skills{

    justify-content:center;

}

.about-buttons{

    justify-content:center;

}

.about-buttons .btn{

    width:100%;

    min-width:100%;

}

.navbar{

    height:80px;

}

.logo img{

    width:46px;

}

.menu-toggle{

    display:flex;

}

.nav-right .btn{

    display:none;

}


.container{

    width:calc(100% - 32px);

}

.header{

    background:rgba(9,9,9,.94);

    backdrop-filter:blur(18px);

}

.navbar{

    height:80px;

}

.logo img{

    width:44px;

}

.menu-toggle{

    display:flex;

}

.nav-menu{

    position:fixed;

    top:0;

    right:-100%;

    width:300px;

    height:100vh;

    padding:110px 35px 40px;

    background:#0d0d0d;

    backdrop-filter:blur(30px);

    border-left:1px solid rgba(255,255,255,.08);

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:28px;

    transition:.45s cubic-bezier(.22,.61,.36,1);

    z-index:9999;

}

.nav-menu.active{

    right:0;

}

.nav-right .btn{

    display:none;

}

.nav-menu li{

    width:100%;

}

.nav-menu a{

    display:block;

    width:100%;

    font-size:20px;

    font-weight:600;

    padding:10px 0;

}

.hero{

    padding-top:130px;

    padding-bottom:120px;

    min-height:auto;

}

.hero-wrapper{

    grid-template-columns:1fr;

    gap:60px;

}

.hero-content{

    text-align:center;

    max-width:100%;

}

.hero-tag{

    margin-inline:auto;

}

.hero-designation{

    padding-left:0;

}

.hero-designation::before{

    display:none;

}

.hero-description{

    margin-inline:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-buttons .btn{

    width:100%;

    min-width:100%;

}

.hero-social{

    justify-content:center;

}

.hero-image{

   display:grid;

    justify-items:center;

    align-items:center;

    gap:20px;

    min-height:auto;

    width:100%;

}

.image-wrapper{

    width:100%;

    height:auto;

}

.hero-image-frame{

    width:100%;

    max-width:360px;

    height:470px;

    margin:auto;

}

.floating-card{

    position:relative;

    left:auto!important;

    right:auto!important;

    top:auto!important;

    bottom:auto!important;

    transform:none!important;

    width:100%;

    max-width:340px;

    margin:20px auto 0;

}

.hero-tech{

    height:70px;

}

.tech-item{

    font-size:14px;

}

.tech-item i{

    font-size:18px;

}

}

/*==================================================
Tablet
==================================================*/

@media (min-width:768px) and (max-width:991px){

     .services{

        padding:110px 0;

    }

    .services-heading{

        margin-bottom:60px;

    }

    .service-item{

        grid-template-columns:60px 1fr;

        gap:25px;

        padding:35px 0;

    }

    .service-icon{

        grid-column:2;

        justify-self:flex-start;

        margin-top:20px;

        width:60px;

        height:60px;

        font-size:24px;

    }

    .service-number{

        font-size:28px;

    }

    .service-content h3{

        font-size:24px;

    }

    .footer-top{

    grid-template-columns:repeat(2,1fr);

    gap:45px;

}

    /*==================================================
Contact
==================================================*/

.contact-wrapper{

    grid-template-columns:1fr;

    gap:60px;

}

.contact-content{

    max-width:720px;

    margin:auto;

    text-align:center;

}

.contact-info{

    grid-template-columns:repeat(2,1fr);

}

.contact-form{

    max-width:720px;

    margin:auto;

}

    .projects{

    padding:100px 0;

}

.projects-heading{

    margin-bottom:55px;

}

.projects-heading h2{

    font-size:44px;

}

.projects-heading p{

    max-width:620px;

    margin:auto;

}

.projects-grid{

    grid-template-columns:1fr;

    gap:28px;

}

.project-content{

    padding:26px;

}

.project-content h3{

    font-size:30px;

}

.project-number{

    font-size:68px;

}

    .skills{

    padding:100px 0;

}

.skills-heading{

    text-align:center;

    max-width:700px;

    margin:0 auto 55px;

}

.skills-heading h2{

    font-size:44px;

}

.skills-heading p{

    max-width:620px;

    margin:0 auto;

}

.skills-grid{

    grid-template-columns:1fr;

    gap:22px;

}

.skill-card{

    padding:30px;

}

.skill-top{

    margin-bottom:24px;

}

.skill-tags{

    gap:12px;

}


    /*==================================================
Experience
==================================================*/

.career-item{

    grid-template-columns:180px 1fr;

    gap:30px;

}

.career-content h3{

    font-size:30px;

}

.career-content p{

    font-size:16px;

}

    /*==================================================
About
==================================================*/

.about-wrapper{

    grid-template-columns:1fr;

    gap:70px;

}

.about-content{

    text-align:center;

    max-width:760px;

    margin:auto;

}

.section-tag{

    margin-inline:auto;

}

.about-content h2{

    font-size:48px;

    max-width:700px;

    margin-inline:auto;

}

.about-content p{

    margin-inline:auto;

    max-width:680px;

}

.about-image-wrapper{

    width:400px;

    transform:none;

}

.about-image-wrapper:hover{

    transform:none;

}

.experience-badge{

    width:150px;

    height:150px;

    right:-25px;

}

.about-stats{

    max-width:700px;

    margin-inline:auto;

}

.about-skills{

    justify-content:center;

}

.about-buttons{

    justify-content:center;

}

.menu-toggle{

    display:flex;

}

.nav-right .btn{

    display:none;

}

.nav-menu{

    position:fixed;

    top:0;

    right:-100%;

    width:340px;

    height:100vh;

    padding:120px 40px;

    background:#0d0d0d;

    border-left:1px solid rgba(255,255,255,.08);

    display:flex;

    flex-direction:column;

    gap:30px;

    transition:.45s;

}

.nav-menu.active{

    right:0;

}


.hero{

    padding-top:150px;

}

.hero-wrapper{

    grid-template-columns:1fr;

    gap:70px;

}

.hero-content{

    text-align:center;

    max-width:760px;

    margin:auto;

}

.hero-tag{

    margin-inline:auto;

}

.hero-designation{

    padding-left:0;

}

.hero-designation::before{

    display:none;

}

.hero-description{

    margin-inline:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-social{

    justify-content:center;

}

.hero-image{

    min-height:auto;

}

.hero-image-frame{

    width:460px;

    height:560px;

}

.experience-card{

    left:-20px;

    top:20px;

}

.projects-card{

    right:-20px;

}

.company-card{

    left:0;

    bottom:-20px;

}

}

/*==================================================
Small Laptop
==================================================*/

@media (min-width:992px) and (max-width:1199px){

 .service-item{

        grid-template-columns:70px 1fr 70px;

        gap:30px;

        padding:40px 0;

    }

    .service-number{

        font-size:34px;

    }

    .service-content h3{

        font-size:28px;

    }

    .service-icon{

        width:64px;

        height:64px;

        font-size:26px;

    }


    /*==================================================
Contact
==================================================*/

.contact-wrapper{

    grid-template-columns:1fr 480px;

    gap:60px;

}

.contact-form{

    padding:36px;

}

    .projects{

    padding:120px 0;

}

.projects-heading{

    max-width:720px;

    margin:0 auto 70px;

}

.projects-heading h2{

    font-size:50px;

}

.projects-grid{

    gap:24px;

}

.project-content{

    padding:24px;

}

.project-content h3{

    font-size:26px;

}

.project-stack span{

    height:38px;

    padding:0 16px;

    font-size:13px;

}

.project-number{

    font-size:64px;

}


    .skills{

    padding:120px 0;

}

.skills-heading{

    max-width:720px;

    margin:0 auto 60px;

}

.skills-heading h2{

    font-size:50px;

}

.skills-grid{

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.skill-card{

    padding:30px;

}

.skill-tags{

    gap:12px;

}

.skill-tags span{

    font-size:14px;

}


    /*==================================================
Experience
==================================================*/

.career-item{

    grid-template-columns:200px 1fr;

}

.career-content h3{

    font-size:32px;

}

    /*==================================================
About
==================================================*/

.about-wrapper{

    grid-template-columns:420px 1fr;

    gap:70px;

}

.about-image-wrapper{

    width:390px;

}

.about-content h2{

    font-size:48px;

}

.about-content p{

    font-size:17px;

}

.experience-badge{

    width:150px;

    height:150px;

    right:-20px;

}

.hero-wrapper{

    gap:40px;

}

.hero-image-frame{

    width:420px;

    height:540px;

}

.image-wrapper{

    width:520px;

    height:620px;

}

.experience-card{

    left:-20px;

}

.projects-card{

    right:-20px;

}

.company-card{

    left:20px;

}

.hero-buttons .btn{

    min-width:190px;

}

.nav-menu{

    gap:26px;

}

.nav-menu a{

    font-size:14px;

}

.nav-right .btn{

    padding:0 28px;

}

}

/*==================================================
Laptop
==================================================*/

@media (min-width:1200px) and (max-width:1399px){

    /*==================================================
Contact
==================================================*/

.contact-wrapper{

    gap:70px;

}

    .projects-grid{

    gap:28px;

}

.project-content{

    padding:26px;

}

.project-content h3{

    font-size:28px;

}

.project-number{

    font-size:70px;

}



    .skills-heading{

    max-width:760px;

    margin:0 auto 70px;

}

.skills-grid{

    gap:26px;

}

.skill-card{

    padding:32px;

}


    /*==================================================
Experience
==================================================*/

.career-item{

    grid-template-columns:220px 1fr;

}

    /*==================================================
About
==================================================*/

.about-wrapper{

    grid-template-columns:450px 1fr;

    gap:85px;

}

.about-image-wrapper{

    width:420px;

}

.about-content h2{

    font-size:52px;

}

.hero-wrapper{

    gap:50px;

}

.hero-image-frame{

    width:450px;

    height:580px;

}

.image-wrapper{

    width:560px;

    height:660px;

}

}

/*==================================================
Large Desktop
==================================================*/

@media (min-width:1400px){

    /*==================================================
About
==================================================*/

.about-wrapper{

    grid-template-columns:470px 1fr;

    gap:100px;

}

.about-image-wrapper{

    width:430px;

}

.hero-wrapper{

    gap:80px;

}

}