@media screen and (max-width: 1024px) {
    .container {
        width: 95%;
        max-width: 95%;
    }

    .profile-picture {
        width: 160px;
        height: 160px;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 14px;
    }

    :root {
        --nav-height: 56px;
    }

    .container {
        width: 92%;
        padding: 0 var(--spacing-md);
    }

    #nav-menu ul {
        gap: 22px;
    }

    #nav-menu li a span {
        display: none;
    }

    #nav-menu li a.active span {
        display: inline;
    }

    #nav-menu li a:not(.active) i {
        margin-right: 0;
    }

    .nav-brand-name {
        display: none;
    }

    .hero-section {
        padding: var(--spacing-xxl) 0;
    }

    .profile-section {
        flex-direction: column;
        gap: var(--spacing-lg);
    }

    .profile-picture {
        width: 140px;
        height: 140px;
    }

    .hero-stats {
        gap: var(--spacing-lg);
    }

    .section {
        padding: var(--spacing-xxl) 0;
    }

    .presentation-text {
        font-size: var(--font-size-base);
    }

    .projects-grid {
        gap: var(--spacing-lg);
    }

    .project-image {
        height: 220px;
    }

    .skill-item {
        width: 56px;
        height: 56px;
    }

    .social-contact-button {
        max-width: 180px;
        padding: var(--spacing-sm) var(--spacing-lg);
    }

    .email-box {
        padding: var(--spacing-sm) var(--spacing-md);
    }

    .copy-email-btn {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    .footer-content {
        flex-direction: column;
        text-align: center;
    }

    .copyright {
        text-align: center;
    }
}

@media screen and (max-width: 320px) {
    html {
        font-size: 12px;
    }

    .profile-picture {
        width: 120px;
        height: 120px;
    }

    .social-links a {
        width: 36px;
        height: 36px;
        font-size: var(--font-size-base);
    }

    .nav-brand-mark {
        width: 26px;
        height: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    ::before,
    ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
