.ellipse {
    border-radius: 50% / 35%;
    transition: 0.3s ease-in-out;
    position: relative;
    animation: 4s ease-in-out 0s infinite normal none running pulse;
}

.logo-container {
    border-radius: 9999px;
    padding: 0.5rem;
    background-color: rgb(31, 31, 31);
    animation: 3s ease 0s infinite normal none running goldenPulse;
    transition: transform 0.5s, box-shadow 0.5s;
    display: inline-block;
}

.logo-container:hover {
    transform: scale(1.1);
    box-shadow: rgba(253, 224, 71, 0.8) 0px 0px 30px 15px;
    z-index: 10;
}

.logo-image {
    border-radius: 9999px;
    width: 18rem;
    height: 18rem;
    object-fit: cover;
}

footer {
    margin-top: 6rem;
    padding-bottom: 3rem;
}

.fade-in {
    opacity: 0;
    transform: translateY(30px);
    animation: 2.5s ease-out 0s 1 normal forwards running fadeIn;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.03); }
}

.elipse-texto {
    transition: opacity 0.3s ease-in-out;
    z-index: 2;
}

.elipse-hover-texto {
    opacity: 0;
    position: absolute;
    text-align: center;
    padding: 0px 0.5rem;
    transition: opacity 0.3s ease-in-out;
    z-index: 3;
}

.group:hover .elipse-texto { opacity: 0; }

.group:hover .elipse-hover-texto { opacity: 1; color: black; text-shadow: rgba(255, 255, 255, 0.9) 0px 0px 6px, rgba(255, 255, 255, 0.6) 0px 0px 12px, rgba(255, 255, 255, 0.4) 0px 0px 24px; }

.group:hover .ellipse { transform: scale(1.05); }

.titulo { font-size: 5rem; font-weight: bold; color: rgb(251, 191, 36); animation: 3s ease-in-out 0s infinite normal none running titleAnimation; margin-bottom: 2rem; will-change: opacity; transition: color 1.5s, text-shadow 1.5s; }

.titulo:hover { color: rgb(255, 255, 255); text-shadow: rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 10px, rgb(255, 255, 255) 0px 0px 15px, rgb(253, 224, 134) 0px 0px 20px, rgb(253, 224, 134) 0px 0px 30px, rgb(253, 224, 134) 0px 0px 40px, rgb(253, 224, 134) 0px 0px 55px, rgb(253, 224, 134) 0px 0px 75px; }

@keyframes titleAnimation {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes pulse-premium {
    0%, 100% { transform: scale(1); box-shadow: rgba(251, 191, 36, 0.4) 0px 0px 10px; }
    50% { transform: scale(1.05); box-shadow: rgba(251, 191, 36, 0.8) 0px 0px 25px; }
}