body { 
            font-family: 'Poppins', sans-serif; 
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            /* Gradient matched to logo colors */
            background: linear-gradient(135deg, #003882 0%, #0050b3 50%, #fec900 100%);
            background-attachment: fixed; /* Keeps the gradient in place on scroll */
        }
        /* Color definitions matched to logo */
        .bg-domino-blue { background-color: #003882; }
        .text-domino-blue { color: #003882; }
        .bg-domino-yellow { background-color: #fec900; }
        .text-domino-yellow { color: #fec900; }

        /* Modern active navigation link style */
        .nav-active { 
            color: #ffffff; /* White text for active link */
            background-color: rgba(0, 0, 0, 0.2); /* Subtle dark pill */
        }
        
        /* Language switcher active style */
        .lang-btn-active {
            background-color: white;
            color: #003882;
        }
        
        /* Page transition styles */
        .page-section {
            display: none;
            opacity: 0;
            transition: opacity 0.4s ease-in-out;
        }
        .page-section.is-active {
            display: block;
            opacity: 1;
        }
        
        /* Custom shadow for cards */
        .card-shadow {
            box-shadow: 0 4px 15px -1px rgb(0 0 0 / 0.1), 0 2px 8px -2px rgb(0 0 0 / 0.1);
        }
        .card-shadow:hover {
            box-shadow: 0 10px 25px -3px rgb(0 0 0 / 0.15), 0 4px 10px -2px rgb(0 0 0 / 0.1);
        }

        /* Animation Styles */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .animate-on-scroll {
            opacity: 0;
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
            animation: fadeInUp 0.6s ease-out forwards;
        }


        /* Lightbox styles */
        .lightbox {
            display: none;
            position: fixed;
            z-index: 1000;
            padding-top: 60px;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0,0,0,0.9);
        }
        .lightbox-content {
            margin: auto;
            display: block;
            width: auto;
            height: auto;
            max-width: 90vw;
            max-height: 80vh;
            object-fit: contain; /* Prevents image stretching */
            transition: transform 0.3s ease;
        }
        .lightbox-content {
            animation-name: zoom;
            animation-duration: 0.6s;
        }
        @keyframes zoom {
            from {transform:scale(0)} 
            to {transform:scale(1)}
        }
        .lightbox .close {
            position: absolute;
            top: 15px;
            right: 35px;
            color: #f1f1f1;
            font-size: 40px;
            font-weight: bold;
            transition: 0.3s;
        }
        .lightbox .close:hover,
        .lightbox .close:focus {
            color: #bbb;
            text-decoration: none;
            cursor: pointer;
        }
        .prev, .next {
            cursor: pointer;
            position: absolute;
            top: 50%;
            width: auto;
            padding: 16px;
            margin-top: -50px;
            color: white;
            font-weight: bold;
            font-size: 20px;
            transition: 0.6s ease;
            border-radius: 0 3px 3px 0;
            user-select: none;
            -webkit-user-select: none;
        }
        .next {
            right: 0;
            border-radius: 3px 0 0 3px;
        }
        .prev {
            left: 0;
        }
        .prev:hover, .next:hover {
            background-color: rgba(0,0,0,0.8);
        }
        
        /* Hide scrollbar for mini-gallery */
        .mini-gallery-scroll::-webkit-scrollbar {
            display: none;
        }
        .mini-gallery-scroll {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }