@media (max-width: 768px) {
    .nav-menu {
        flex-direction: column;
        gap: 1rem;
    }

    .hero-title {
        font-size: 2rem;
    }

    .section-title {
        font-size: 2rem;
    }
    .social-grid {
        grid-template-columns: 1fr;
    }

    .services-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
    }
    
    .service-card {
        padding: 2rem 1.5rem;
    }

    .banner-title {
        font-size: 2rem;
    }
    .banner-custom-section {
        min-height: 350px;
    }

    .logo-item {
        flex: 0 0 100%; /* Una columna */
        min-width: 100%;
    }

    .hero-custom {
        text-align: center;
        justify-content: center;
    }
    .hero-badges {
        align-items: center;
    }

    .footer-content { text-align: center; }
    .footer-links { margin-bottom: 2rem; }
    .qr-column { margin-top: 1rem; }
    
}

/* --- Responsive --- Footer */
@media (max-width: 992px) {
    .social-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 500px) {
    .social-grid { grid-size: 1fr; }
}