/* ==================================
   RESPONSIVE DESIGN
   ================================== */

/* Tablets and Medium Screens */
@media (max-width: 1024px) {
    header {
        padding: 15px 5%;
    }

    section {
        padding: 80px 5%;
    }

    .about-section {
        margin: 30px 5%;
        padding: 60px 40px;
    }

    .main h2 span {
        font-size: 2.5em;
    }

    .title {
        font-size: 2.2em;
    }

    .content {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
    }

    .navigation {
        gap: 30px;
    }

    .logo {
        font-size: 1.6em;
    }

    .card {
        padding: 25px;
    }

    .project-card {
        padding: 30px;
    }
}

/* Small Tablets and Large Phones */
@media (max-width: 768px) {
    header {
        padding: 15px 4%;
    }

    .navigation {
        gap: 20px;
    }

    .navigation a {
        font-size: 0.9em;
    }

    .logo {
        font-size: 1.5em;
    }

    section {
        padding: 60px 4%;
    }

    .main {
        min-height: 90vh;
    }

    .main h2 {
        font-size: 1em;
    }

    .main h2 span {
        font-size: 2em;
    }

    .main h3 {
        font-size: 1.2em;
    }

    .main-btn {
        padding: 12px 30px;
        font-size: 0.95em;
    }

    .social-icons a {
        width: 45px;
        height: 45px;
        font-size: 1.5em;
    }

    .about-section {
        margin: 20px 4%;
        padding: 50px 30px;
    }

    .about-section h1 {
        font-size: 2em;
    }

    .about-section h2 {
        font-size: 1em;
        line-height: 1.8;
    }

    .title {
        font-size: 1.8em;
        margin-bottom: 40px;
    }

    .title::after {
        width: 80px;
        height: 3px;
    }

    .content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .card {
        padding: 25px;
    }

    .card .icon {
        width: 70px;
        height: 70px;
        font-size: 2.5em;
    }

    .info h3 {
        font-size: 1.2em;
    }

    .info h4 {
        font-size: 0.95em;
    }

    .info p {
        font-size: 0.9em;
    }

    .project-card {
        padding: 25px;
        min-height: 180px;
    }

    .project-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .project-title span {
        font-size: 1.1em;
    }

    .more-details {
        padding: 6px 18px;
        font-size: 0.8em;
    }

    .footer-section {
        padding: 30px 20px;
    }

    .footer-title {
        font-size: 1em;
    }
}

/* Mobile Phones */
@media (max-width: 480px) {
    header {
        padding: 15px 20px;
        flex-wrap: wrap;
    }

    .logo {
        font-size: 1.4em;
    }

    .navigation {
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        margin-top: 10px;
    }

    .navigation a {
        font-size: 0.85em;
        padding: 5px 10px;
    }

    section {
        padding: 60px 20px;
    }

    .main {
        padding: 80px 20px;
        min-height: 85vh;
    }

    .main h2 {
        font-size: 0.9em;
    }

    .main h2 span {
        font-size: 1.8em;
        margin-top: 10px;
    }

    .main h3 {
        font-size: 1em;
        margin: 15px 0 30px;
    }

    .main-btn {
        padding: 10px 25px;
        font-size: 0.9em;
        margin-bottom: 30px;
    }

    .social-icons {
        gap: 15px;
    }

    .social-icons a {
        width: 40px;
        height: 40px;
        font-size: 1.3em;
    }

    .about-section {
        padding: 40px 25px;
        margin: 20px;
        border-radius: 20px;
    }

    .about-section h1 {
        font-size: 1.8em;
        margin-bottom: 20px;
    }

    .about-section h2 {
        font-size: 0.95em;
        line-height: 1.7;
    }

    .title {
        font-size: 1.6em;
        margin-bottom: 30px;
    }

    .title::after {
        width: 60px;
        height: 3px;
        bottom: -10px;
    }

    .content {
        gap: 15px;
    }

    .card {
        padding: 20px;
    }

    .card .icon {
        width: 60px;
        height: 60px;
        font-size: 2em;
        margin-bottom: 15px;
    }

    .info h3 {
        font-size: 1.1em;
        margin-bottom: 10px;
    }

    .info h4 {
        font-size: 0.9em;
        margin-bottom: 8px;
    }

    .info p {
        font-size: 0.85em;
        line-height: 1.6;
    }

    .project-card {
        padding: 20px;
        min-height: 160px;
    }

    .project-category {
        font-size: 0.85em;
        margin-bottom: 15px;
    }

    .project-title {
        margin-top: 15px;
        gap: 10px;
    }

    .project-title span {
        font-size: 1em;
    }

    .more-details {
        padding: 6px 15px;
        font-size: 0.75em;
    }

    .footer-section {
        padding: 25px 15px;
    }

    .footer-title {
        font-size: 0.95em;
        margin-bottom: 15px;
    }

    .footer-section .social-icons a {
        width: 35px;
        height: 35px;
        font-size: 1.1em;
    }
}

/* Extra Small Devices */
@media (max-width: 360px) {
    .logo {
        font-size: 1.2em;
    }

    .navigation a {
        font-size: 0.75em;
    }

    .main h2 span {
        font-size: 1.5em;
    }

    .main h3 {
        font-size: 0.9em;
    }

    .title {
        font-size: 1.4em;
    }

    .about-section h1 {
        font-size: 1.5em;
    }

    .about-section h2 {
        font-size: 0.85em;
    }

    .card .icon {
        width: 50px;
        height: 50px;
        font-size: 1.8em;
    }

    .info h3 {
        font-size: 1em;
    }
}

/* Landscape Orientation for Mobile */
@media (max-height: 500px) and (orientation: landscape) {
    .main {
        min-height: 120vh;
        padding: 100px 5%;
    }

    .about-section {
        padding: 40px 30px;
    }

    section {
        padding: 60px 5%;
    }
}