@media (max-width: 1100px) {
    header {
        padding: 0 40px;
    }

    header nav {
        padding: 20px 0;
        gap: 20px;
    }

    header nav .logo {
        width: 60px;
        height: 60px;
    }

    header nav a {
        font-size: 16px;
    }

    header nav .nav-menu ul {
        gap: 20px;
    }


    .banner .banner-inner .banner-details {
        width: 70%;
    }

    .banner h1,
    .banner .experiences {
        font-size: 32px;
    }

    .banner .hello {
        font-size: 80px;
    }

    .banner h2 {
        font-size: 22px;
    }

    .about .about-details p {
        font-size: 22px;
        line-height: 32px;
        margin-bottom: 30px;
    }

    .about .about-inner .about-img figure img {
        width: 80%;
    }

    .about .about-details {
        width: 60%;
    }

    .about .about-inner .about-img {
        width: 40%;
    }

    .services .services-inner h2 {
        font-size: 24px;
    }

    .services .services-inner p {
        font-size: 20px;
    }

    .portfolio-card .portfolio-card-inner h2 {
        font-size: 34px;
    }

    .portfolio-card .portfolio-card-inner p {
        font-size: 22px;
    }

    .testimonials .testimonials-inner {
        gap: 50px;
    }

    .testimonials .testimonials-inner .testimonials-card {
        padding: 20px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-profile img {
        width: 90px;
        height: 90px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-profile .testimonials-details h2 {
        font-size: 30px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-profile .testimonials-details p {
        font-size: 20px;
    }

    .contact .contact-inner .connect-card h2 {
        font-size: 40px;
    }
}

@media (max-width: 900px) {
    section {
        padding: 80px 0;
        overflow: hidden;
    }

    section.banner {
        padding-top: 150px;
    }

    .container {
        padding: 0px 40px;
    }

    header {
        padding: 0 20px;
    }

    header nav a {
        font-size: 14px;
    }

    .banner .banner-inner .banner-details {
        width: 100%;
    }

    .about .about-inner,
    .banner .banner-inner {
        position: relative;
    }

    .about .about-inner .about-img,
    .banner .banner-inner .banner-img {
        position: absolute;
        width: 500px;
        max-width: 80%;
        height: 100%;
        right: 0;
        z-index: -1;
    }

    .about .about-inner .about-img {
        right: auto;
        left: 0;
    }

    .banner .banner-inner .banner-img * {
        height: 100%;
        width: 100%;
        object-fit: contain;
        object-position: center right;
    }

    .top-heading {
        font-size: 108px;
        line-height: 70px;
    }

    .bottom-heading {
        font-size: 40px;
    }

    .about .about-inner,
    .banner .banner-inner {
        justify-content: end;
    }

    .button {
        font-size: 18px;
    }

    .services .services-inner h2 {
        font-size: 20px;
    }

    .contact .contact-inner p,
    .services .services-inner p {
        font-size: 18px;
    }

    .portfolio-inner,
    .services .services-inner {
        gap: 50px;
    }

    .services-img {
        min-width: 45%;
    }

    .contact .contact-inner {
        gap: 30px 20px;
    }

    footer {
        margin-bottom: 30px;
    }

    .portfolio-inner,
    .testimonials .testimonials-inner,
    .achievements .achievements-inner,
    .contact .contact-inner,
    .services .services-inner {
        margin-top: 50px;
    }

    .testimonials .testimonials-inner .testimonials-card,
    .portfolio-inner .portfolio-card figure {
        border-radius: 20px;
    }

    .achievements .achievements-inner {
        padding: 30px 20px;
        border-radius: 20px;
    }

    .achievements .achievements-inner .achievements-card h2 {
        font-size: 54px;
    }

    .achievements .achievements-inner .achievements-card p {
        font-size: 20px;
    }
}

@media (max-width: 850px) {
    .portfolio-inner {
        grid-template-columns: repeat(1, 1fr);
        gap: 70px;
    }
}

@media (max-width: 750px) {
    header nav {
        position: relative;
    }

    body header nav .nav-menu {
        width: 100%;
        position: fixed;
        left: -100%;
        top: 100px;
        transition: all 1s;
    }

    body.active-menu header nav .nav-menu {
        left: 0;
        transition: all 1s;
    }

    header nav .nav-menu ul {
        flex-direction: column;
        align-items: start;
        padding: 0 50px;
        margin: 20px 0;
    }

    .about .about-inner .about-img,
    .banner .banner-inner .banner-img {
        right: -30%;
    }

    .about .about-inner .about-img {
        left: -30%;
    }

    .about .about-details {
        width: 80%;
    }

    .testimonials .testimonials-inner {
        grid-template-columns: repeat(1, 1fr);
    }

    .services-img {
        min-width: 55%;
    }

    .contact .contact-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact .contact-inner .connect-card:nth-child(1) {
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    .contact .contact-inner .connect-card:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .contact .contact-inner .connect-card:nth-child(4) {
        grid-column: 2;
        grid-row: span 2;
    }

    .contact .contact-inner .connect-card:nth-child(3) {
        grid-column: 1;
        grid-row: 3;
    }

    header nav a.mobile-call,
    header nav #toggle-menu {
        display: flex;
    }

    header nav a.call {
        display: none;
    }

    header nav .bookcall {
        width: 250px;
    }
}

@media (max-width: 500px) {
    .container {
        padding: 0px 20px;
    }

    section {
        padding: 40px 0;
        overflow: hidden;
    }

    .top-heading {
        font-size: 60px;
        line-height: 40px;
    }

    .bottom-heading {
        font-size: 30px;
    }

    .about .about-inner .about-img {
        display: none;
    }

    .about .about-details {
        width: 100%;
    }

    .about .about-details p {
        font-size: 20px;
    }

    .services-img {
        min-width: 70%;
    }

    .portfolio-inner {
        gap: 50px;
    }

    .portfolio-card .portfolio-card-inner {
        margin-top: 20px;
    }

    .portfolio-card .portfolio-card-inner h2 {
        font-size: 30px;
    }

    .portfolio-card .portfolio-card-inner p {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .portfolio-card .portfolio-card-inner ul li {
        font-size: 14px;
        padding: 4px 8px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-profile .testimonials-details h2 {
        font-size: 26px;
        margin-bottom: 10px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-text {
        margin-top: 10px;
    }

    .testimonials .testimonials-inner .testimonials-card .testimonials-text p {
        font-size: 18px;
        line-height: normal;
        margin-top: 0;
    }

    .testimonials .testimonials-inner {
        gap: 20px;
    }

    .achievements .achievements-inner {
        grid-template-columns: repeat(1, 1fr);
    }

    .achievements .achievements-inner .achievements-card:not(:last-child) {
        border-right-width: 0;
        border-bottom: 2px solid var(--font-black);
        padding-bottom: 30px;
    }

    .achievements .achievements-inner .achievements-card:not(:first-child) {
        padding: 30px 0;
    }

    .achievements .achievements-inner .achievements-card:last-child {
        padding-bottom: 0;
    }

    .achievements .achievements-inner {
        gap: 0;
        padding: 30px 50px;
        margin: 50px;
    }

    .contact .contact-inner .connect-card {
        padding: 20px;
    }

    footer .copy-right {
        font-size: 16px;
        margin-top: 30px;
    }

    .contact .contact-inner .connect-card h2 {
        margin-top: 10px;
        font-size: 30px;
        font-weight: 400;
    }

    .contact .contact-inner {
        gap: 20px;
    }

    .contact .contact-inner p {
        font-size: 16px;
    }

    footer .footer-social ul li a {
        padding: 8px;
    }

    footer .footer-social ul li a svg {
        width: 26px;
        height: 26px;
    }

    #scrollToTop {
        bottom: 30px;
        right: 10px;
        padding: 8px;
        width: 40px;
    }
}