        body {
            font-family: 'Inter', sans-serif;
            scroll-padding-top: 100px;
            /* Changed background for a slightly warmer feel */
            background-color: #fcfcfc;
        }

        /* --- Animated Gradient (Header/Footer) --- */
        .header-gradient, .gradient-button {
            background-image: linear-gradient(to right, #FF2C5D, #FF5C3A, #FFB820);
            
        }
        .gradient-button:hover {
            animation: gradient-animation 4s ease infinite;
        }
        @keyframes gradient-animation {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }


        /* --- 2. "GLASSMORPHISM" HEADER ON SCROLL --- */
        #main-header {
            transition: all 0.3s ease-out;
        }
        #main-header .header-container {
            transition: padding 0.3s ease-out;
        }
        /* Scrolled State */
        #main-header.header-scrolled {
            background-color: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        }
        #main-header.header-scrolled .header-container {
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
        }
        /* Invert Nav Links */
        #main-header.header-scrolled .nav-link {
            color: #ffffff; /* text-gray-800 */
        }
        #main-header.header-scrolled .nav-link::after {
            color: #ffffff; /* red */
        }
        /* Invert Mobile Menu Button */
        #main-header.header-scrolled #menu-btn-icon {
            color: #ffffff; /* text-gray-800 */
        }
        
        .fade-in-up {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .fade-in-up.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* --- NEW FADE IN SCALE ANIMATION --- */
        .fade-in-scale-up {
            opacity: 0;
            transform: scale(0.95) translateY(10px);
            transition: opacity 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .fade-in-scale-up.is-visible {
             opacity: 1;
             transform: scale(1) translateY(0);
        }

        .nav-link { position: relative; padding-bottom: 6px; transition: color 0.3s ease; }
        .nav-link::after {
            content: ''; position: absolute; left: 0; bottom: 0;
            width: 100%; height: 2px; background-color: white;
            transform: scaleX(0); transform-origin: right;
            transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.3s ease;
        }
        .nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); transform-origin: left; }
        
        .cursor-follower {
            position: fixed;
            width: 30px;
            height: 30px;
            border: 1px solid rgba(207, 46, 46, 0.7);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            pointer-events: none;
            z-index: 9999;
            transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease, transform 0.1s ease-out;
            will-change: transform;
            opacity: 0;
        }
        
        @media (max-width: 768px) {
            .cursor-follower { display: none; }
        }

        #lightbox {
            position: fixed;
            inset: 0;
            z-index: 1000;
            background-color: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(8px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        #lightbox.visible { opacity: 1; pointer-events: auto; }
        #lightbox img {
            max-width: 90vw;
            max-height: 85vh;
            border-radius: 0.75rem;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
            transform: scale(0.95);
            transition: transform 0.3s ease;
        }
        #lightbox.visible img {
            transform: scale(1);
        }
        #lightbox-close {
            position: absolute;
            top: 2rem;
            right: 2rem;
            color: white;
            font-size: 2rem;
            cursor: pointer;
            transition: transform 0.2s ease;
        }
        #lightbox-close:hover { transform: scale(1.1); }

        /* --- 3. ADVANCED CAROUSEL STYLES --- */
        .carousel-container {
            position: relative;
        }
        .carousel-grid {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: 85%; /* Each item takes 85% of the viewport width */
            gap: 1rem;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            -ms-overflow-style: none; scrollbar-width: none; /* Hide scrollbar */
        }
        .carousel-grid::-webkit-scrollbar { display: none; } /* Hide scrollbar */
        .carousel-grid > * {
            scroll-snap-align: start;
        }
        @media (min-width: 768px) { .carousel-grid { grid-auto-columns: 45%; } }
        @media (min-width: 1024px) { .carousel-grid { grid-auto-columns: 31%; gap: 1.5rem; } }

        .carousel-btn {
            position: absolute;
            top: 40%;
            transform: translateY(-50%);
            z-index: 10;
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 50%;
            width: 3rem;
            height: 3rem;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            color: #1f2937;
            transition: all 0.2s ease;
        }
        .carousel-btn:hover {
            background-color: white;
            transform: translateY(-50%) scale(1.05);
            box-shadow: 0 6px 15px rgba(0,0,0,0.15);
        }
        .carousel-btn:disabled {
            opacity: 0.3;
            cursor: not-allowed;
            transform: translateY(-50%) scale(0.95);
        }
        .carousel-btn.prev { left: -1.5rem; }
        .carousel-btn.next { right: -1.5rem; }
        @media (max-width: 640px) { /* Hide buttons on small screens, use swipe only */
            .carousel-btn { display: none; }
        }

        .carousel-dots {
            display: flex;
            justify-content: center;
            gap: 0.75rem;
            margin-top: 2rem;
        }
        .carousel-dot {
            width: 0.75rem;
            height: 0.75rem;
            border-radius: 50%;
            background-color: #d1d5db; /* gray-300 */
            transition: all 0.3s ease;
            cursor: pointer;
        }
        .carousel-dot.active {
            background-color: #cf2e2e; /* red-600 */
            transform: scale(1.25);
        }

        /* --- 4. "SPOTLIGHT" CARD EFFECT --- */
        .spotlight-card {
            position: relative;
            overflow: hidden;
            background-color: white;
        }
        .spotlight-card::before {
            content: '';
            position: absolute;
            left: var(--x);
            top: var(--y);
            transform: translate(-50%, -50%);
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(252, 185, 0, 0.15) 0%, transparent 70%);
            opacity: 0;
            transition: opacity 0.4s ease;
            pointer-events: none;
        }
        .spotlight-card:hover::before {
            opacity: 1;
        }

        /* --- 5. NEW GALLERY HOVER EFFECT --- */
        .gallery-item .overlay {
            opacity: 0;
            background-color: rgba(0, 0, 0, 0.5);
            transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .gallery-item:hover .overlay {
            opacity: 1;
        }
        .gallery-item .caption {
            opacity: 0;
            transform: translateY(15px);
            transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
            transition-delay: 0.1s;
        }
        .gallery-item:hover .caption {
            opacity: 1;
            transform: translateY(0);
        }
        .gallery-item img {
            transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .gallery-item:hover img {
            transform: scale(1.05);
        }

        /* --- 6. NEW CAROUSEL SCROLLBAR HIDE --- */
        .carousel-scrollbar-hide {
            -ms-overflow-style: none; /* IE and Edge */
            scrollbar-width: none; /* Firefox */
        }
        .carousel-scrollbar-hide::-webkit-scrollbar {
            display: none; /* Safari and Chrome */
        }