    /* Expo Section Styles */
    .expo-section {
        margin: 30px auto;
        width: 90%;
        max-width: 1400px;
    }

    .expo-section h2 {
        font-size: 28px;
        font-weight: 800;
        text-align: center;
        margin-bottom: 40px;
        color: var(--black);
        line-height: 1.4;
    }

    .gallery {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .expo-photo {
        flex: 0 0 auto;  /* prevent growing */
        width: 320px;    /* fixed width on desktop */
    }

    .expo-photo img {
        width: 100%;
        max-width: 320px;
        height: auto;
        cursor: pointer;
        transition: all 0.3s ease;
        border-radius: 12px;
        border: 2px solid var(--gray-200);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .expo-photo img:hover {
        transform: translateY(-8px);
        border-color: var(--primary);
        box-shadow: 0 8px 24px rgba(255, 215, 0, 0.2);
    }

    /* Hero Header Section */
    .expo-hero-header {
        text-align: center;
        background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
        padding: 120px 20px 80px;
        color: var(--white);
        position: relative;
        overflow: hidden;
    }

    .expo-hero-header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: radial-gradient(circle at 30% 50%, rgba(255, 215, 0, 0.1) 0%, transparent 50%);
        pointer-events: none;
    }

    .expo-hero-header-content {
        position: relative;
        z-index: 2;
        max-width: 900px;
        margin: 0 auto;
    }

    .hero-badge {
        display: inline-block;
        background: rgba(255, 215, 0, 0.15);
        color: var(--primary);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        padding: 8px 20px;
        border-radius: 50px;
        margin-bottom: 24px;
        border: 1px solid rgba(255, 215, 0, 0.3);
    }

    .expo-hero-header h1 {
        font-size: 56px;
        font-weight: 900;
        color: var(--white);
        margin-bottom: 24px;
        line-height: 1.2;
        letter-spacing: -1px;
    }

    .expo-hero-header p {
        font-size: 18px;
        color: var(--gray-300);
        line-height: 1.8;
        max-width: 800px;
        margin: 0 auto 20px;
    }

    /* Content Section with White Background */
    .expo-content-section {
        background: var(--white);
        padding: 80px 0;
    }

    /* ===================
       FANCYBOX CUSTOMIZATION
       =================== */

    /* Fancybox container */
    .fancybox-container {
        z-index: 99999 !important;
    }

    .fancybox-slide {
        padding: 44px !important;
    }

    .fancybox-content {
        background: #000 !important;
        border-radius: 12px;
    }

    /* Fancybox Toolbar */
    .fancybox-toolbar {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 99998 !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%) !important;
        padding: 8px !important;
        pointer-events: none;
    }

    .fancybox-toolbar > * {
        pointer-events: auto;
    }

    /* All Fancybox Buttons */
    .fancybox-button {
        background: rgba(255, 215, 0, 0.95) !important;
        color: #000 !important;
        border: none !important;
        border-radius: 50% !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 4px !important;
    }

    .fancybox-button:hover {
        background: #FFD700 !important;
        transform: scale(1.1) !important;
        box-shadow: 0 4px 12px rgba(255, 215, 0, 0.5) !important;
    }

    .fancybox-button svg {
        width: 24px !important;
        height: 24px !important;
        fill: #000 !important;
        stroke: #000 !important;
        stroke-width: 1 !important;
    }

    /* Close button */
    .fancybox-button--close,
    .fancybox-close-small {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        z-index: 99999 !important;
        background: rgba(255, 215, 0, 0.95) !important;
        width: 48px !important;
        height: 48px !important;
        border-radius: 50% !important;
        font-size: 24px !important;
    }

    .fancybox-button--close:hover,
    .fancybox-close-small:hover {
        background: #FFD700 !important;
        transform: rotate(90deg) scale(1.1) !important;
    }

    /* Navigation arrows */
    .fancybox-button--arrow_left,
    .fancybox-button--arrow_right {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 50px !important;
        height: 50px !important;
        background: rgba(255, 215, 0, 0.95) !important;
        z-index: 99998 !important;
    }

    .fancybox-button--arrow_left {
        left: 20px !important;
    }

    .fancybox-button--arrow_right {
        right: 20px !important;
    }

    .fancybox-button--arrow_left:hover,
    .fancybox-button--arrow_right:hover {
        transform: translateY(-50%) scale(1.15) !important;
    }

    /* Caption */
    .fancybox-caption {
        background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%) !important;
        color: #fff !important;
        padding: 30px 20px 20px !important;
        font-size: 16px !important;
        text-align: center !important;
    }

    /* Force visibility */
    .fancybox-button,
    .fancybox-button--close,
    .fancybox-button--arrow_left,
    .fancybox-button--arrow_right {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Responsive Design */
    @media (max-width: 768px) {
        .expo-hero-header {
            padding: 100px 20px 60px;
        }

        .expo-hero-header h1 {
            font-size: 36px;
        }

        .expo-hero-header p {
            font-size: 16px;
        }

        .expo-section {
            width: 95%;
        }

        .expo-section h2 {
            font-size: 22px;
            margin-bottom: 30px;
        }

        .expo-photo img {
            max-width: 280px;
        }

        .gallery {
            gap: 15px;
        }

        .fancybox-button {
            width: 48px !important;
            height: 48px !important;
        }

        .fancybox-button--close {
            width: 50px !important;
            height: 50px !important;
        }

        .fancybox-button--arrow_left {
            left: 10px !important;
        }

        .fancybox-button--arrow_right {
            right: 10px !important;
        }
    }

    @media (max-width: 480px) {
        .expo-hero-header h1 {
            font-size: 28px;
        }

        .expo-section h2 {
            font-size: 20px;
        }

        /* .expo-photo img {
            max-width: 100%;
        } */
    }
