@media all and (max-width: 400px) {
    .hero-content {
        max-width: 88%;
    }

    #about-card>div:first-child,
    .services-card-header>div:first-child {
        min-width: 0;
    }
}

/* width < 640px */
@media all and (max-width: 39.99rem) {
    .navbar {
        padding: 1rem 2rem;
    }
    
    #about {
        padding: 2.5rem 1rem;
    }
    
    #about-card {
        padding: .5rem 1rem;
    }
    
    #services {
        padding: 0 1rem 2.5rem;
        margin: 0 auto;
    }
    
    #services-card {
        padding: 0 1rem .5rem;
    }
    
    .partner-outer {
        padding: 1rem 0;
    }
    
    .partner-band {
        padding: .625rem 0;
    }
    
    #portfolio {
        padding: 0 1rem 2.5rem;
        margin: 0 auto;
    }
    
    #portfolio-card {
        padding: 0 1rem .5rem;
    }
    
    #testimonials {
        padding: 0 1rem 2.5rem;
        margin: 0 auto;
    }
    
    #testimonials-card {
        padding: 0 1rem .5rem;
    }
    
    #contact {
        padding: 0 1rem 1rem;
        margin: 0 auto 1rem;
    }
    
    #contact-card {
        padding: 2rem 1rem 1rem;
    }
    
    .footer {
        padding: 1.5rem 2rem 1rem;
    }
    
    .hero-content {
        max-width: 88%;
    }
    
    #about-card,
    .services-card-header {
        flex-direction: column;
    }
    
    .portfolio-item-container {
        grid-template-columns: 1fr;
    }
    
    .testimonials-item-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .footer-bottom {
        grid-template-columns: 1fr;
    }
    
    .features-page {
        padding: 0 1rem;
        margin-top: calc(3rem + 83px);
        margin-bottom: 3rem;
    }
    
    .features-page .section-subtitle {
        line-height: 1.7;
    }

    .features-page .svc-card-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .about-content p {
        line-height: 1.7;
    }

    .features-page .services-card-header {
        align-items: flex-start;
    }
}

/* width >= 640px */
@media all and (min-width: 40rem) and (max-width: 47.99rem) {
    .hero-content {
        max-width: 83%;
    }

    .svc-card-container-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .portfolio-item-container {
        grid-template-columns: 1fr;
    }

    .testimonials-item-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .footer-top {
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    }

    .footer-bottom {
        grid-template-columns: 1fr;
    }

    .features-page {
        padding: 0 1.25rem;
        margin-top: calc(3.5rem + 83px);
        margin-bottom: 3.5rem;
    }
    
    .features-page .section-subtitle {
        line-height: 2;
    }

    .features-page .svc-card-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.25rem;
    }
}

/* width >= 768px */
@media all and (min-width: 48rem) and (max-width: 63.99rem) {
    .hero-content {
        max-width: 78%;
    }

    .svc-card-container-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .testimonials-item-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .footer-top {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    .features-page {
        padding: 0 2rem;
        margin-top: calc(4rem + 83px);
        margin-bottom: 4rem;
    }
    
    .features-page .section-subtitle {
        line-height: 2.3;
    }

    .features-page .svc-card-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }
}

/* width >= 1024px */
@media all and (min-width: 64rem) and (max-width: 79.99rem) {
    .hero-content {
        max-width: 73%;
    }

    /* Ligne impaire → 60/40 */
    .svc-card-container-row:nth-child(even) {
        grid-template-columns: 60% 40%;
    }

    /* Ligne paire → 40/60 */
    .svc-card-container-row:nth-child(odd) {
        grid-template-columns: 40% 60%;
    }

    .footer-top {
        grid-template-columns: repeat(3, 1fr);
    }

    .features-page {
        padding: 0 1.5rem;
        margin-top: calc(6rem + 83px);
        margin-bottom: 3rem;
    }
    
    .features-page .section-subtitle {
        line-height: 2;
    }

    .features-page .svc-card-container {
        gap: 2rem;
    }
}

/* width >= 1280px */
@media all and (min-width: 80rem) and (max-width: 95.99rem) {
    .hero-content {
        max-width: 68%;
    }

    .svc-card-container-row:nth-child(even) {
        grid-template-columns: 60% 40%;
    }

    .svc-card-container-row:nth-child(odd) {
        grid-template-columns: 40% 60%;
    }

    .footer-top {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}

/* width >= 1536px */
@media all and (min-width: 96rem) {
    .svc-card-container-row:nth-child(even) {
        grid-template-columns: 60% 40%;
    }

    .svc-card-container-row:nth-child(odd) {
        grid-template-columns: 40% 60%;
    }

    .footer-top {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}