/* --- Breakpoint: 576px --- */
@media (min-width: 576px) {
    :root {
        --large-margin: 2rem;
    }

    .grid {
        gap: 2.5rem;
    }

    h1 {
        font-size: 2.8rem;
    }

    h2 {
        font-size: 2.2rem;
    }

    h3 {
        font-size: 1.4rem;
    }

    h4 {
        font-size: 1.2rem;
    }

    .contact-left {
        display: flex;
        flex-direction: column;
        text-align: left;
        align-items: flex-start;
    }
}

/* --- Breakpoint: 768px (merged for navbar) --- */
@media (min-width: 768px) {
    #navbar .nav-item {
        display: flex;
    }

    .footer-content {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        gap: 2rem;
    }

    .footer-bottom {
        flex-direction: row;
    }

    .footer-column-right {
        align-items: flex-start;
    }

    #portfolio h2 {
        text-align: left;
    }

    .footer-column-left {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }

    .footer-nav a {
        justify-content: left;
    }
}

/* --- Breakpoint: 992px --- */
@media (min-width: 992px) {
    :root {
        --large-margin: 6rem;
    }

    h1 {
        font-size: 4.2rem;
        text-align: left;
    }

    h2 {
        font-size: 3.2rem;
    }

    h3 {
        font-size: 1.7rem;
    }

    h4 {
        font-size: 1.4rem;
    }

    #navbar .nav-item a {
        font-size: 1.1rem;
    }

    .intro {
        max-width: 70%;
        align-items: flex-start;
        text-align: left;
    }

    .grid {
        gap: 3rem;
    }

    .grid-item img,
    .image-wrapper {
        height: 300px;
    }

    .glow-section__blob {
        width: 300px;
        height: 300px;
        filter: blur(60px);
    }

    .footer-content {
        gap: 3rem;
    }
}


/* --- Breakpoint: 1200px --- */
@media (min-width: 1200px) {
    :root {
        --large-margin: 8rem;
    }

    h1 {
        font-size: 4.8rem;
    }

    h2 {
        font-size: 3.6rem;
    }

    h3 {
        font-size: 1.8rem;
    }

    .welcome .intro {
        width: 50%;
    }

    .grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .grid-item img,
    .image-wrapper {
        height: 450px;
    }
}

/* --- Breakpoint: 1800px --- */
@media (min-width: 1800px) {
    :root {
        --large-margin: 28rem;
    }

    .grid {
        gap: 3rem;
    }

    h1 {
        font-size: 6rem;
    }

    h3 {
        font-size: 2rem;
    }
}

@media (min-width: 2200px) {
    :root {
        --large-margin: 32rem;
    }
}