@media screen and (max-width: 768px) {
    body {
        overflow-x: hidden;
        width: 100%;
    }

    .project-card,
    .project-card:nth-child(even) {
        flex-direction: column;
        width: 100%;
    }

    .project-image,
    .project-content {
        flex: 0 0 100%;
        width: 100%;
    }

    .section-content {
        width: 100%;
        padding: 1rem;
        margin: 0;
        overflow: hidden;
    }

    .content,
    .section,
    .about-container,
    .projects-grid {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .project-image {
        height: 200px;
    }

    .project-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .content__inner {
        width: 100%;
        padding: 0 1rem;
    }

    .section {
        padding: 60px 15px;
    }

    .section-content {
        padding: 1.5rem;
    }

    .projects-grid, 
    .skills-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-nav {
        padding: 1rem;
    }

    .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        height: 100vh;
        width: 100%;
        background: rgba(0, 0, 0, 0.95);
        backdrop-filter: blur(10px);
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease-in-out;
        z-index: 9999;
        padding: 2rem;
        left: unset;
        transform: none;
    }

    .nav-links.active {
        right: 0;
        opacity: 1;
        visibility: visible;
    }

    .nav-links a {
        margin: 1rem 0;
        font-size: 1.2rem;
        opacity: 0;
        transform: translateY(20px);
        transition: all 0.3s ease;
        color: #fff;
    }

    .nav-links.active a {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0.2s;
    }

    .hamburger-menu {
        display: flex;
        z-index: 10002;
    }

    .hamburger-menu.active span:first-child {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .hamburger-menu.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger-menu.active span:last-child {
        transform: rotate(-45deg) translate(5px, -5px);
    }
}

@media screen and (min-width: 55em) {
    .icon--keyboard {
        position: absolute;
        right: 0.55em;
        bottom: -30%;
        display: block;
        width: 54px;
        height: 46px;
        fill: var(--color-link);
    }
    
    .demos {
        display: flex;
        padding-right: 80px;
        justify-self: end;
    }
    
    .demo {
        display: block;
        width: 17px;
        height: 17px;
        margin: 0 4px;
        border-radius: 50%;
        background: var(--color-link);
    }
    
    a.demo--current {
        background: var(--color-link-hover);
    }
    
    .demo span {
        line-height: 1;
        position: absolute;
        right: 100%;
        display: none;
        margin: 0 1em 0 0;
    }
    
    .demo--current span {
        display: block;
    }
}

@media screen and (max-width: 55em) {
    .message {
        /* display: block; */
    }
    
    .content {
        flex-direction: column;
        height: auto;
    }
    
    .content--fixed {
        position: relative;
        z-index: 1000;
        display: block;
        padding: 0.85em;
    }
    
    .content:not(.content--fixed) {
        margin-bottom: 6em;
    }
    
    .codrops-header {
        flex-direction: column;
        align-items: center;
    }
    
    .codrops-header__title {
        font-weight: bold;
        padding-bottom: 0.25em;
        text-align: center;
    }
    
    .info {
        margin: 0;
    }
    
    .github {
        display: block;
        margin: 1em auto;
    }
    
    .codrops-links {
        margin: 0;
    }
}

@media screen and (max-width: 480px) {
    .section-content {
        padding: 1rem;
    }

    .content__title {
        font-size: 1.8rem;
    }

    .content__subtitle {
        font-size: 1rem;
    }

    .projects-grid {
        gap: 1rem;
    }

    .project-card {
        padding: 1rem;
    }
}