/* =========================================
   TABLETS (Portrait) & Smaller Laptops (600px - 1024px)
   ========================================= */
@media (max-width: 1024px) {
    header {
        padding: 15px 30px;
    }

    section {
        padding: 50px 30px;
    }

    .project-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================
   MOBILE DEVICES (Landscape & Portrait) (< 768px)
   ========================================= */
@media (max-width: 768px) {

    /* Stack Header */
    header {
        flex-direction: column;
        gap: 15px;
        padding: 15px 20px;
        text-align: center;
    }

    nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }

    nav a {
        margin: 0;
        font-size: 14px;
        padding: 5px 10px;
        background: var(--gray-light);
        border-radius: 20px;
    }

    /* Adjust Layout */
    .project-grid {
        grid-template-columns: 1fr;
        /* Single column */
    }

    /* Typography adjustments */
    h1 {
        font-size: 28px;
    }

    h2 {
        font-size: 24px;
    }

    p {
        font-size: 16px;
    }

    /* Form Full Width */
    .contact-form {
        width: 100%;
    }
}

/* =========================================
   LARGE SCREENS / TV (> 1600px)
   ========================================= */
@media (min-width: 1601px) {
    body {
        font-size: 18px;
        /* Scale up text */
    }

    section {
        max-width: 1600px;
        /* Allow wider content */
        padding: 80px 40px;
    }

    .project-grid {
        grid-template-columns: repeat(4, 1fr);
        /* 4 columns on huge screens */
        gap: 40px;
    }

    .logo {
        font-size: 32px;
    }

    nav a {
        font-size: 20px;
        margin-left: 40px;
    }

    .btn-primary {
        padding: 16px 36px;
        font-size: 18px;
    }
}