/* TV Section */
.nuo-app { padding: 80px 0 200px 0; position: relative; }
.nuo-app .container-fluid { position: relative; }
.nuo-appvideo { position: absolute; top: -150px; left: 50vw; max-width: 1000px; width: 50vw; height: auto; z-index: 1; pointer-events: none; }
.nuo-appvideo img { width: 100%; position: relative; height: auto; filter: drop-shadow(-20px 20px 40px rgba(0,0,0,0.2)); pointer-events: auto; }
.nuo-appvideo a { pointer-events: auto; display: block; }
.nuo-appvideo .play { position: absolute; top: 40%; left: 45%; transform: translate(-50%, -50%); width: 120px; height: 120px; border-radius: 50%; background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 50%, var(--tertiary) 100%); background-size: 200% 200%; border: 5px solid white; display: flex; justify-content: center; align-items: center; color: white; font-size: 3rem; z-index: 20; box-shadow: 0 15px 30px rgba(0,0,0,0.3); transition: transform 0.3s ease; animation: pulse-nuo 2.5s infinite, gradient-shift 5s ease infinite; }
@keyframes pulse-nuo {
    0% { box-shadow: 0 0 0 0 rgba(195, 0, 158, 0.7), 0 0 0 0 rgba(0, 169, 224, 0.7); }
    50% { box-shadow: 0 0 0 20px rgba(195, 0, 158, 0), 0 0 0 40px rgba(0, 169, 224, 0.4); }
    100% { box-shadow: 0 0 0 0 rgba(195, 0, 158, 0), 0 0 0 60px rgba(0, 169, 224, 0); }
}
@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.nuo-appvideo .play:hover { transform: translate(-50%, -50%) scale(1.1); color: white; }
ul.nuo-logos { display: flex; gap: 20px; margin-top: 40px; list-style: none; padding: 0; }
ul.nuo-logos li a img { height: 45px; }

.tv-grey-bubble {
    position: absolute;
    top: -200px;
    left: -300px;
    width: 800px;
    z-index: 0;
    pointer-events: none;
    animation: float 28s infinite ease-in-out alternate;
}

