
    :root {
        --brand-red: #cc0000;
        --font-main: 'Poppins', sans-serif;
        --page-w: 360px; 
        --page-h: 460px;
overflow-x: hidden;
    }

    #anpviz-gallery-section {
        width: 100%; 
        padding: 20px 2% 0px; 
        box-sizing: border-box;
        background: #fff; 
        font-family: var(--font-main);
        overflow: hidden;
    }

    #anpviz-gallery-section .showcase-header h1 {
        font-size: 40px; font-weight: 500; color: #444446; margin: 0 0 30px 0; letter-spacing: -1px;
    }
  
    #anpviz-gallery-section .sync-container { 
        display: flex; gap: 40px; align-items: flex-start; width: 100%; flex-wrap: wrap;
    }

    #anpviz-gallery-section .album-column { 
        flex: 0 0 calc(var(--page-w) * 2); max-width: 100%; margin-bottom: 30px;
    }

    #anpviz-gallery-section .book-wrapper {
        position: relative; width: 100%; aspect-ratio: 720 / 460; height: auto; 
        perspective: 2500px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-radius: 4px; 
    }

    #anpviz-gallery-section .fixed-cover, #anpviz-gallery-section .fixed-back,
    #anpviz-gallery-section .front, #anpviz-gallery-section .back {
        position: absolute; width: 50%; height: 100%; top: 0; background: #fff; 
        border: 1px solid rgba(0,0,0,0.05); box-sizing: border-box;
    }
    #anpviz-gallery-section .fixed-cover { left: 0; border-radius: 4px 0 0 4px; padding: 0; }
    #anpviz-gallery-section .fixed-back { left: 50%; border-radius: 0 4px 4px 0; padding: 0; }

    #anpviz-gallery-section .page {
        position: absolute; width: 50%; height: 100%; left: 50%; top: 0; 
        transform-origin: left center; transform-style: preserve-3d; 
        transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; z-index: 10;
    }
    #anpviz-gallery-section .page.flipped { transform: rotateY(-180deg); }

    #anpviz-gallery-section .front, #anpviz-gallery-section .back {
        width: 100%; padding: 20px; backface-visibility: hidden;
    }
    #anpviz-gallery-section .back { transform: rotateY(180deg); }
    #anpviz-gallery-section .page img, #anpviz-gallery-section .fixed-cover img, #anpviz-gallery-section .fixed-back img { 
        width: 100%; height: 100%; object-fit: cover; 
    }

    #anpviz-gallery-section .video-column { flex: 1; min-width: 300px; }
    #anpviz-gallery-section .v-card-box { width: 100%; height: var(--page-h); background: #000; border-radius: 4px; overflow: hidden; }
    #anpviz-gallery-section .v-card-box video { width: 100%; height: 100%; object-fit: cover; }

    #anpviz-gallery-section .text-sync-area { margin-top: 40px; width: 100%; }
    #anpviz-gallery-section .text-sync-area h2, #anpviz-gallery-section .text-sync-area h3 { 
        font-size: 32px; font-weight: 400; margin: 0; color: #1a1a1a; 
    }
    #anpviz-gallery-section .text-sync-area p { 
        color: #86868b; font-size: 14px; margin: 15px 0 25px; line-height: 1.6; min-height: 45px; 
    }

    .mobile-br { display: none; }

    @media (max-width: 768px) {
        .mobile-br { display: block; }
        #anpviz-gallery-section .sync-container { gap: 10px; }
        #anpviz-gallery-section .album-column { margin-bottom: 5px; }
        
        #anpviz-gallery-section .front, #anpviz-gallery-section .back { padding: 8px !important; }
        
        #anpviz-gallery-section .v-card-box { height: auto; aspect-ratio: 16/9; }
        
        #anpviz-gallery-section .showcase-header h1 { font-size: 32px; text-align: left; }
        #anpviz-gallery-section .text-sync-area { margin-top: 20px; text-align: center; }
        #anpviz-gallery-section .text-sync-area h2, #anpviz-gallery-section .text-sync-area h3 { font-size: 28px; }
    }

    #anpviz-gallery-section .flip-hint {
        position: absolute; right: 30px; bottom: 30px; width: 40px; height: 40px;
        background: var(--brand-red); border-radius: 50%; display: flex; align-items: center; 
        justify-content: center; color: white; z-index: 500; box-shadow: 0 4px 12px rgba(204, 0, 0, 0.4);
        pointer-events: none; animation: gallery-arrow-slide 1.5s infinite ease-in-out;
    }
    #anpviz-gallery-section .flip-hint::after {
        content: ""; width: 10px; height: 10px; border-top: 3px solid #fff; border-right: 3px solid #fff; 
        transform: rotate(45deg); margin-right: 4px;
    }
    @keyframes gallery-arrow-slide {
        0%, 100% { transform: translateX(0); }
        50% { transform: translateX(10px); }
    }
