:root {
            --background: #111111;
            --text-primary: #EAEAEA;
            --text-secondary: #A0A0A0;
            --accent: #D4AF37;
        }

        body {
            background-color: var(--background);
            color: var(--text-primary);
            font-family: 'Roboto', sans-serif;
            cursor: none;
        }

        /* Custom Cursor - Hidden on mobile by default in JS */
        .cursor-dot,
        .cursor-outline {
            pointer-events: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            z-index: 9999;
            opacity: 0;
            transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out;
        }

        .cursor-dot {
            width: 8px;
            height: 8px;
            background-color: var(--accent);
        }

        .cursor-outline {
            width: 40px;
            height: 40px;
            border: 2px solid var(--accent);
        }

        body:hover .cursor-dot,
        body:hover .cursor-outline {
            opacity: 1;
        }

        a:hover~.cursor-outline,
        button:hover~.cursor-outline {
            transform: translate(-50%, -50%) scale(1.5);
        }


        .font-serif {
            font-family: 'Playfair Display', serif;
        }

        .text-accent {
            color: var(--accent);
        }

        .hero-video-container {
            height: 100vh;
            position: relative;
            overflow: hidden;
        }

        #heroVideo {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            z-index: -1;
            transform: translateX(-50%) translateY(-50%);
            object-fit: cover;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.8) 100%);
        }

        .section-reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .section-reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .swiper-button-next,
        .swiper-button-prev {
            color: var(--accent) !important;
        }

        .swiper-pagination-bullet-active {
            background: var(--accent) !important;
        }

        .timeline::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            width: 2px;
            height: 100%;
            background-color: var(--accent);
            opacity: 0.3;
            transform: translateX(-50%);
        }

        .timeline-item {
            transition: transform 0.3s ease, background-color 0.3s ease;
        }

        .timeline-item:hover {
            transform: scale(1.03);
            background-color: #1a1a1a;
        }

        /* Mobile Menu Styles */
        .mobile-menu {
            transform: translateX(100%);
            transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .mobile-menu.open {
            transform: translateX(0);
        }