/* Ultra-small devices (iPhone 5, SE 1st Gen, 320px) */
@media (max-width: 359px) {
    header {
        padding: 0 10px;
    }

    .header-logo img {
        width: 100%;
        max-width: 120px;
    }

    .content {
        width: 100%;
        padding: 0;
        max-width: 100%;
        margin: 0;
    }

    .content h1 {
        margin: 20px 0;
    }

    .buttons {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 0;
        margin: 0;
    }

    .buttons .btn {
        padding: 12px 15px;
        font-size: 12px;
    }

    .btn.btn-one, 
    .btn.btn-two {
        padding: 12px 15px;
        font-size: 12px;
    }

    .about-section, 
    .service-section, 
    .project-section, 
    .testimonial-section, 
    .team-section, 
    .contact-info-section {
        padding: 60px 15px;
    }
}

/* Mobile devices (phones, 0px to 767px) */
@media (max-width: 767px) { 
    header {
        padding: 0 15px;
    }

    .header-logo {
        margin: 0;
    }

    .header-logo img {
        width: 150px
    }

    .hamburger {
        display: flex;
    }

    .header-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 75%;
        max-width: 300px;
        height: 100vh;
        background: var(--text-color-white);
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 70px 0;
        box-shadow: -2px 0 20px rgba(0, 0, 0, 0.2);
        transition: right 0.4s ease;
        z-index: 1000;
    }

    .header-nav.active {
        right: 0;
    }

    .header-nav ul {
        flex-direction: column;
        width: 100%;
    }

    .header-nav li {
        width: 100%;
        margin: 3px 0;
    }

    .header-nav a {
        display: block;
        color: var(--text-color-black);
        font-weight: 500;
        font-size: 13px;
        width: 100%;
        padding: 15px 56px 15px 20px;
        position: relative;
        text-transform: uppercase;
        transition: background 0.3s, color 0.3s;
    }

    .header-nav a:hover,
    .header-nav a.active {
        background: var(--primary-color);
        color: var(--text-color-white);
    }

    .content {
        padding: 0 20px;
        width: 100%;
        max-width: 100%;
    }

    .content h1 {
        font-size: 26px;
        margin: 20px 0;
    }

    .content p {
        font-size: 18px;
        line-height: 1.5;
    }
    
    .btn {
        padding: 10px 20px;
        font-size: 14px;
    }

    .slider-nav {
        top: 55%;
        padding: 0 8px;
    }

    .about-section, 
    .service-section, 
    .project-section, 
    .testimonial-section, 
    .team-section, 
    .contact-info-section {
        padding: 60px 15px;
    }

    .about-section .section-title, 
    .service-section .section-title,
    .project-section .section-title, 
    .testimonial-section .section-title,
    .team-section .section-title,
    .contact-info-section .section-title {
        font-size: 22px;
    }

    .about-section-container {
        display: flex;
        flex-direction: column;
    }

    .about-section-container .about-section-content {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .about-section-container .about-section-heading .section-heading, 
    .about-section-context .context-item .context-Bx .context-title {
        font-size: 16px;
    }

    .about-section-container .about-section-image {
        width: 100%;
        height: auto;
        margin: 0;
    }

    .service-section {
        padding-bottom: 6.5rem;
    }

    .service-section-container .services-grid {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .service-section-container .service-card-content h3 {
        font-size: 16px;
    }
    
    .contact-section {
        padding: 40px 15px;   
    }

    .contact-section-container {
        padding: 20px 15px;
    }

    .contact-section-container::after {
        content: "";
        display: table;
        clear: both;
        background-image: repeating-linear-gradient(to right,
            var(--text-color-black),
            var(--text-color-black) 1px,
            transparent 2px,
            transparent 4px);
    }

    .contact-section-text {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .contact-section-image {
        width: 100%;
        height: auto;
        margin: 0;
        left: 170px;
    }

    .contact-section-image img {
        display: none;
        height: 250px;
        object-fit: contain;
    }

    .modal-content {
        padding: 40px 20px;
    }

    .projects-grid {
        gap: 20px;
    }

    .counter-section-container{
        flex-direction: column;
        padding: 40px 15px;
    }

    .counter-box {
        flex: 1 1 auto;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
        padding: 20px;
        border-right: none;
    }

    .contact-container {
        flex-direction: column;
        padding: 0;
    }
    
    .contact-left,
    .contact-right {
        flex: 1 1 100%;
        min-width: 100%;
    }
    
    .contact-left iframe {
        height: 280px;
    }

    .footer-section {
        padding: 20px 15px;
    }

    .footer-bottom {
        flex-direction: column-reverse;
        padding: 10px 0;
        gap: 10px;
    }

    .footer-socials a {
        padding-top: 10px;
    }
}

/* Tablets (portrait & small landscape tablets, 768px to 1023px) */
@media (min-width: 768px) and (max-width: 1023px) { 
    header {
        padding: 0 15px;
    }

    .header-logo {
        margin: 0;
    }

    .header-logo img {
        width: 150px
    }

    .hamburger {
        display: flex;
    }

    .header-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 75%;
        max-width: 300px;
        height: 100vh;
        background: var(--text-color-white);
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 70px 0;
        box-shadow: -2px 0 20px rgba(0, 0, 0, 0.2);
        transition: right 0.4s ease;
        z-index: 1000;
    }

    .header-nav.active {
        right: 0;
    }

    .header-nav ul {
        flex-direction: column;
        width: 100%;
    }

    .header-nav li {
        width: 100%;
        margin: 3px 0;
    }

    .header-nav a {
        display: block;
        color: var(--text-color-black);
        font-weight: 500;
        font-size: 13px;
        width: 100%;
        padding: 15px 56px 15px 20px;
        position: relative;
        text-transform: uppercase;
        transition: background 0.3s, color 0.3s;
    }

    .header-nav a:hover,
    .header-nav a.active {
        background: var(--primary-color);
        color: var(--text-color-white);
    }

    .content {
        padding: 0 20px;
        width: 100%;
        max-width: 100%;
    }

    .content h1 {
        font-size: 38px;
        margin: 20px 0;
    }

    .content p {
        font-size: 18px;
        line-height: 1.5;
    }
    
    .btn {
        padding: 10px 20px;
        font-size: 14px;
    }

    .slider-nav {
        top: 55%;
        padding: 0 8px;
    }

    .about-section, 
    .service-section, 
    .project-section, 
    .testimonial-section, 
    .team-section, 
    .contact-info-section {
        padding: 60px 15px;
    }

    .about-section .section-title, 
    .service-section .section-title,
    .project-section .section-title, 
    .testimonial-section .section-title,
    .team-section .section-title,
    .contact-info-section .section-title {
        font-size: 24px;
    }

    .about-section-container {
        display: flex;
        flex-direction: column;
    }

    .about-section-container .about-section-content {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .about-section-container .about-section-heading .section-heading, 
    .about-section-context .context-item .context-Bx .context-title {
        font-size: 16px;
    }

    .about-section-container .about-section-image {
        width: 100%;
        height: auto;
        margin: 0;
    }

    .service-section {
        padding-bottom: 6.5rem;
    }

    .service-section-container .services-grid {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .service-section-container .service-card-content h3 {
        font-size: 16px;
    }
    
    .contact-section {
        padding: 40px 15px;   
    }

    .contact-section-container {
        display: flex;
        padding: 20px 15px;
    }

    .contact-section-container::after {
        content: "";
        display: table;
        clear: both;
        background-image: repeating-linear-gradient(to right,
            var(--text-color-black),
            var(--text-color-black) 1px,
            transparent 1px,
            transparent 6px);
    }

    .contact-section-text {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .contact-section-image {
        display: none;
    }

    .contact-section-image img {
        height: 250px;
        object-fit: contain;
    }

    .modal-content {
        padding: 40px 20px;
    }

    .projects-grid {
        gap: 20px;
    }

    .counter-section {
        flex-direction: column;
        padding: 40px 15px;
    }

    .counter-box {
        flex: 1 1 auto;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
        padding: 20px;
        border-right: none;
    }

    .contact-container {
        flex-direction: column;
        padding: 0;
    }
    
    .contact-left,
    .contact-right {
        flex: 1 1 100%;
        min-width: 100%;
    }
    
    .contact-left iframe {
        height: 280px;
    }

    .footer-section {
        padding: 20px 15px;
    }

    .footer-bottom {
        flex-direction: column-reverse;
        padding: 10px 0;
        gap: 10px;
    }

    .footer-socials a {
        padding-top: 10px;
    }
 }

/* Small desktops and laptops (1024px to 1279px) */
@media (min-width: 1024px) and (max-width: 1279px) { 
    header {
        padding: 40px 15px;
    }

    .testimonial-grid {
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        gap: 20px;
    }

    .team-section {
        overflow-x: hidden;
        padding: 60px 15px;
    }

    .team-grid {
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        gap: 20px;
    }

    .project-section {
        padding: 60px 15px;
    }

    .projects-grid {
        gap: 20px;
    }

    .contact-info-section {
        padding: 40px 15px;
    }

    .contact-container {
        width: 100%;
        padding: 10px;
        gap: 20px;
    }

    .footer-section {
        padding: 40px 15px;
    }
 }

/* Large desktops (1280px and above) */
@media (min-width: 1280px) and (max-width: 1439px) {
    .projects-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, auto); 
        gap: 20px;
    }
}

/* 2K, 4K displays (ultra-wide monitors, TV screens) */
@media (min-width: 1920px) {
    header {
        height: 90px;
    }

    header.scrolled {
        height: 80px;
    }

    .header-nav a {
        text-transform: uppercase;
    }

    .projects-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, auto); 
        gap: 20px;
    }
}

@media (max-width: 1920px) {

    .projects-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, auto); 
        gap: 20px;
    }
}