:root {
            --brand: #9000bf;
            --brand-glow: rgba(144, 0, 191, 0.45);
            --brand-accent: #d94dff;
            --bg-card: rgba(16, 11, 22, 0.85);
            --border-card: rgba(144, 0, 191, 0.25);
        }

        body {
            background: #070709;
            color: #f0f0f2;
            font-family: "Rubik", sans-serif;
            min-height: 100vh;
        }

        .gallery-hero {
            padding: 120px 20px 24px;
            text-align: center;
        }

        .gallery-title {
            font-size: 38px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 8px;
        }

        .gallery-subtitle {
            font-family: "Roboto Mono", monospace;
            font-size: 13.5px;
            color: rgba(255, 255, 255, 0.5);
            max-width: 600px;
            margin: 0 auto 28px;
        }

        /* Filter Container & Buttons */
        .gallery-filters {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin: 0 auto 36px;
            max-width: 1000px;
            min-height: 42px;
        }

        .gallery-filter-btn {
            background: rgba(144, 0, 191, 0.08);
            border: 1px solid var(--border-card);
            color: rgba(255, 255, 255, 0.75);
            padding: 8px 20px;
            border-radius: 6px;
            font-family: "Roboto Mono", monospace;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            cursor: pointer;
            transition: all 0.25s ease;
        }

        .gallery-filter-btn:hover,
        .gallery-filter-btn.active {
            background: var(--brand);
            border-color: var(--brand-accent);
            color: #fff;
            box-shadow: 0 0 16px var(--brand-glow);
            transform: translateY(-2px);
        }

        /* Bento Grid */
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
            grid-auto-flow: dense;
            gap: 24px;
            max-width: 1400px;
            margin: 0 auto 80px;
            padding: 0 24px;
        }

        .gallery-item {
            position: relative;
            height: 320px;
            border-radius: 12px;
            overflow: hidden;
            background: #0d0814;
            border: 1px solid var(--border-card);
            cursor: pointer;
            aspect-ratio: 16 / 10;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
            transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .gallery-item.wide {
            grid-column: span 2;
            aspect-ratio: 21 / 10;
            height: 320px;
        }

        @media (max-width: 860px) {
            .gallery-item.wide {
                grid-column: span 1;
                aspect-ratio: 16 / 10;
            }
        }

        .gallery-item:hover {
            transform: translateY(-4px);
            border-color: var(--brand-accent);
            box-shadow: 0 12px 32px var(--brand-glow);
        }

        .gallery-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .gallery-item:hover .gallery-img {
            transform: scale(1.05);
        }

        .gallery-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(7, 4, 11, 0.95) 0%, rgba(7, 4, 11, 0.3) 60%, transparent 100%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 20px;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .gallery-item:hover .gallery-overlay {
            opacity: 1;
        }

        .gallery-tag {
            align-self: flex-start;
            font-family: "Roboto Mono", monospace;
            font-size: 10px;
            font-weight: 800;
            color: var(--brand-accent);
            background: rgba(144, 0, 191, 0.25);
            border: 1px solid var(--border-card);
            padding: 3px 8px;
            border-radius: 4px;
            text-transform: uppercase;
            margin-bottom: 6px;
        }

        .gallery-caption {
            font-size: 16px;
            font-weight: 800;
            color: #fff;
            margin-bottom: 3px;
        }

        .gallery-meta {
            font-family: "Roboto Mono", monospace;
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.5);
        }

        /* Lightbox Modal */
        .lightbox-modal {
            position: fixed;
            inset: 0;
            background: rgba(4, 2, 6, 0.92);
            backdrop-filter: blur(15px);
            z-index: 9999;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 30px;
        }

        .lightbox-modal.active {
            display: flex;
        }

        .lightbox-content {
            position: relative;
            max-width: 90vw;
            max-height: 88vh;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .lightbox-img {
            max-width: 100%;
            max-height: 78vh;
            border-radius: 8px;
            border: 1px solid var(--border-card);
            box-shadow: 0 0 50px rgba(144, 0, 191, 0.35);
        }

        .lightbox-info {
            margin-top: 14px;
            text-align: center;
        }

        .lightbox-caption {
            font-size: 17px;
            font-weight: 800;
            color: #fff;
        }

        .lightbox-sub {
            font-family: "Roboto Mono", monospace;
            font-size: 12px;
            color: var(--brand-accent);
            margin-top: 4px;
        }

        .lightbox-close {
            position: absolute;
            top: -40px;
            right: 0;
            background: none;
            border: none;
            color: #fff;
            font-size: 30px;
            cursor: pointer;
            transition: color 0.2s ease;
        }

        .lightbox-close:hover {
            color: var(--brand-accent);
        }

        