        :root {
            --magenta: #FF2DF1;
            --aqua: #15F5BA;
            --black: #000000;
            --white: #FFFFFF;
        }

        * {
            cursor: crosshair;
        }

        body {
            background-color: var(--white);
            color: var(--black);
            font-family: 'Space Grotesk', sans-serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .germania { font-family: "Germania One", system-ui; }
        .updock { font-family: "Updock", cursive; }

        /* Exhibition Label Header */
        header {
            position: fixed;
            top: 0;
            width: 100%;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            z-index: 1000;
            padding: 25px 50px;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }

        .header-hidden { transform: translateY(-100%); opacity: 0; }

        .nav-word {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5em;
            cursor: pointer;
            position: relative;
            transition: color 0.3s ease;
        }

        .nav-word:hover { color: var(--magenta); }
        .nav-word::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 1px;
            background: var(--magenta);
            transition: width 0.4s ease;
        }
        .nav-word:hover::after { width: 100%; }

        /* Hero Vertical Title */
        .vertical-title {
            writing-mode: vertical-rl;
            text-orientation: mixed;
            line-height: 0.85;
            letter-spacing: -0.05em;
        }

        /* Horizontal Scroll Section */
        .horizontal-scroll-container {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            -ms-overflow-style: none;
            padding: 100px 50px;
            gap: 120px;
        }
        .horizontal-scroll-container::-webkit-scrollbar { display: none; }
        .scroll-item {
            flex: 0 0 500px;
            scroll-snap-align: center;
            transition: transform 0.5s ease;
        }
        .scroll-item:hover { transform: scale(1.02); }

        /* Exhibition Label / Sticker Style */
        .sticker {
            background: var(--white);
            border: 1px solid var(--black);
            padding: 4px 12px;
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            display: inline-block;
            transform: rotate(-2deg);
            z-index: 10;
        }

        .art-label {
            border-left: 1px solid black;
            padding-left: 20px;
            margin-top: 30px;
        }

        /* Blueprint Lines */
        .blueprint-line {
            stroke: var(--aqua);
            stroke-dasharray: 5, 5;
            animation: dash 20s linear infinite;
        }

        @keyframes dash {
            to { stroke-dashoffset: -1000; }
        }

        /* Page Transitions */
        .page-content { display: none; }
        .page-content.active { display: block; animation: pageFade 1s forwards; }

        @keyframes pageFade {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Stacking Panels Effect */
        .stack-panel {
            position: sticky;
            top: 0;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background: white;
            border-top: 1px solid rgba(0,0,0,0.1);
        }

        /* Modal / Quick View */
        .modal {
            position: fixed;
            inset: 0;
            background: rgba(255,255,255,0.98);
            z-index: 2000;
            display: none;
            overflow-y: auto;
            padding: 50px;
        }

        /* Buttons */
        .btn-gallery {
            border: 1px solid var(--black);
            padding: 15px 40px;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.2em;
            font-size: 0.7rem;
            position: relative;
            overflow: hidden;
            transition: all 0.4s;
        }
        .btn-gallery:hover {
            color: white;
            background: var(--magenta);
            border-color: var(--magenta);
        }

        /* Filter Pills */
        .filter-pill {
            cursor: pointer;
            padding: 5px 20px;
            border: 1px solid transparent;
            font-size: 0.7rem;
            font-weight: bold;
            text-transform: uppercase;
            transition: all 0.3s;
        }
        .filter-pill.active {
            border-color: black;
            background: var(--aqua);
        }

        @media (max-width: 768px) {
            header { padding: 20px; }
            .nav-desktop { display: none; }
            .vertical-title { writing-mode: horizontal-tb; font-size: 5rem !important; }
            .scroll-item { flex: 0 0 300px; }
        }
    </style>
