        body { font-family: 'Montserrat', sans-serif; scroll-behavior: smooth; }
        
        .hero-bg {
            background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5)), url('images/hero.webp');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            background-attachment: scroll;
            width: 100%;
        }
        
        @media (min-width: 1024px) {
            .hero-bg {
                background-attachment: fixed;
            }
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
            40% { transform: translateY(-20px); }
            60% { transform: translateY(-10px); }
        }
        .animate-bounce-custom { animation: bounce 2s infinite; }

        .zalo-btn {
            position: fixed;
            bottom: calc(20px + env(safe-area-inset-bottom));
            right: 20px;
            width: 60px;
            height: 60px;
            background-color: #0068FF;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            z-index: 90;
            animation: zalo-pulse 2s infinite;
            text-decoration: none;
            
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
            will-change: transform;
        }
        @keyframes zalo-pulse {
            0% { box-shadow: 0 0 0 0 rgba(0, 104, 255, 0.7); }
            70% { box-shadow: 0 0 0 15px rgba(0, 104, 255, 0); }
            100% { box-shadow: 0 0 0 0 rgba(0, 104, 255, 0); }
        }

        .gallery-img { transition: transform 0.3s ease; }
        .gallery-img:hover { transform: scale(1.05); }

        .lang-btn { transition: all 0.3s ease; }
        
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            display: flex;
        }
        .marquee-content {
            display: flex;
            width: max-content;
            animation: marquee 25s linear infinite;
        }
        .marquee-container:hover .marquee-content {
            animation-play-state: paused;
        }
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .dropdown-nav:hover .absolute {
            opacity: 1;
            visibility: visible;
        }
        @media (min-width: 768px) {
            #mobileMenu {
                display: none !important;
            }
        }
        #remote {
            -webkit-user-select: none;
            user-select: none;
        }
