/* =============================================================
   SECTION REVEALS
   Restrained motion that lets the artwork remain the focal point.
   ============================================================= */
@media (prefers-reduced-motion: no-preference) {
    .reveal-on-scroll,
    #gallery .artwork-card.reveal-card,
    #series .series-card.reveal-card {
        opacity: 0;
        filter: blur(6px);
        will-change: opacity, transform, filter;
    }

    .reveal-on-scroll {
        transform: translateY(28px);
        transition:
            opacity 720ms cubic-bezier(.22, 1, .36, 1),
            transform 720ms cubic-bezier(.22, 1, .36, 1),
            filter 620ms ease;
    }

    .reveal-from-left {
        transform: translateX(-34px);
    }

    .reveal-from-right {
        transform: translateX(34px);
    }

    .reveal-on-scroll.is-revealed {
        opacity: 1;
        filter: blur(0);
        transform: none;
    }

    #gallery .artwork-card.reveal-card,
    #series .series-card.reveal-card {
        transition:
            transform 260ms ease,
            opacity 680ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
            filter 620ms ease var(--reveal-delay, 0ms);
    }

    #gallery .artwork-card.reveal-card.is-revealed,
    #series .series-card.reveal-card.is-revealed {
        opacity: 1;
        filter: blur(0);
    }

    /* A fine highlight lends a gallery-light feeling as each shelf arrives. */
    #gallery .gallery-shelf-group.is-revealed .gallery-shelf::before,
    #series .series-shelf-frame.is-revealed .series-shelf::before {
        animation: shelf-glint 1.15s cubic-bezier(.22, 1, .36, 1) both;
    }

    @keyframes shelf-glint {
        0% { opacity: 0; transform: translateX(-22%) scaleX(.72); }
        55% { opacity: .5; }
        100% { opacity: 0; transform: translateX(22%) scaleX(1.08); }
    }
}

@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
    .reveal-on-scroll {
        transform: translateY(18px);
    }

    .reveal-from-left,
    .reveal-from-right {
        transform: translateY(18px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-on-scroll,
    #gallery .artwork-card.reveal-card,
    #series .series-card.reveal-card {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }
}
