/* Estilos Responsive para Dispositivos Móviles y Tablets */
@media (max-width: 768px) {
    /* Navegación y Menú Hamburguesa */
    nav ul {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 65px;
        left: 0;
        width: 100%;
        background-color: #ffffff;
        padding: 20px 0;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid #e2e8f0;
        text-align: center;
        gap: 15px;
    }

    nav ul.active {
        display: flex;
    }

    .hamburger {
        display: flex;
        flex-direction: column;
        gap: 5px;
        cursor: pointer;
    }

    .hamburger span {
        width: 25px;
        height: 3px;
        background-color: #0f172a;
        transition: 0.3s;
    }

    /* Hero Section en Móvil */
    .hero {
        padding: 60px 15px;
    }

    .hero-content h1 {
        font-size: 28px;
    }

    .hero-content p {
        font-size: 15px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    /* Cuadrículas en Móvil (Pasan a 1 columna) */
    .grid-2x2, .grid-cards {
        grid-template-columns: 1fr;
    }

    /* Ajustes generales de contenedores */
    .container {
        margin: 20px auto;
        padding: 0 15px;
    }

    .contact-box {
        padding: 20px;
    }
}
