    :root {
        --aurora-color-1: #064e3b;
        /* emerald-900 */
        --aurora-color-2: #065f46;
        /* emerald-800 */
        --aurora-color-3: #14532d;
        /* green-900 */
        --aurora-color-4: #022c22;
        /* emerald-950 */
    }

    body {
        font-family: 'Noto Sans TC', sans-serif;
    }

    .font-cultural {
        font-family: 'Noto Serif TC', serif;
    }

    /* Aurora Background Effect */
    .aurora-container {
        position: relative;
        background: var(--aurora-color-1);
        background: linear-gradient(217deg,
                var(--aurora-color-1),
                rgba(255, 0, 0, 0) 70.71%),
            linear-gradient(127deg, var(--aurora-color-2), rgba(0, 255, 0, 0) 70.71%),
            linear-gradient(336deg, var(--aurora-color-3), rgba(0, 0, 255, 0) 70.71%);
        background-size: 200% 200%;
        animation: aurora 20s ease infinite;
    }

    @keyframes aurora {
        0% {
            background-position: 0% 50%;
        }

        50% {
            background-position: 100% 50%;
        }

        100% {
            background-position: 0% 50%;
        }
    }

    /* Glass Panels */
    .glass-card {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .gallery-masonry {
        column-gap: 1.5rem;
    }

    @media (min-width: 768px) {
        .gallery-masonry {
            column-count: 2;
        }
    }

    @media (min-width: 1024px) {
        .gallery-masonry {
            column-count: 3;
        }
    }

    .gallery-item {
        break-inside: avoid;
        margin-bottom: 1.5rem;
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Micro-interactions */
    .btn-premium {
        position: relative;
        overflow: hidden;
    }

    .btn-premium::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: 0.5s;
    }

    .btn-premium:hover::after {
        left: 100%;
    }

    /* Animation on entry */
    .staggered-entry {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.8s ease-out forwards;
    }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Custom Hide scrollbar */
    .no-scrollbar::-webkit-scrollbar {
        display: none;
    }

    .no-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
