body.zgds-page {
    --zgds-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --zgds-ease-snap: cubic-bezier(0.16, 1, 0.3, 1);
    --zgds-ease-soft: cubic-bezier(0.33, 1, 0.48, 1);
    --zgds-dur-fast: 0.16s;
    --zgds-dur-mid: 0.28s;
    --zgds-dur-slow: 0.42s;
    --zgds-stagger: 26ms;
}

body.zgds-home-viewport-fit:not(.is-viewport-ready):not(.zgds-page-ready) .gzd-v3-main__grid {
    opacity: 0.001;
}

body.zgds-home-viewport-fit.is-viewport-ready .gzd-v3-main__grid,
body.zgds-home-viewport-fit.zgds-page-ready .gzd-v3-main__grid {
    opacity: 1;
    transition: opacity var(--zgds-dur-mid) var(--zgds-ease-out);
}

body.zgds-home-pro.zgds-page .gzd-v3-reveal {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition:
        opacity var(--zgds-dur-slow) var(--zgds-ease-out),
        transform var(--zgds-dur-slow) var(--zgds-ease-out);
}

body.zgds-home-pro.zgds-page.gzd-v3-ready .gzd-v3-reveal.is-revealed {
    opacity: 1;
    transform: none;
}

body.zgds-home-pro.zgds-page[data-page-role="home"] .gzd-v3-main__ribbon.gzd-v3-reveal { transition-delay: 0s; }
body.zgds-home-pro.zgds-page[data-page-role="home"] #timeline-container.gzd-v3-reveal { transition-delay: 0.06s; }
body.zgds-home-pro.zgds-page[data-page-role="home"] #home-content-col.gzd-v3-reveal { transition-delay: 0.12s; }

body.zgds-home-pro.zgds-page[data-page-role="search"] #search-breadcrumb.gzd-v3-reveal,
body.zgds-home-pro.zgds-page[data-page-role="search"] .gzd-search-path.gzd-v3-reveal { transition-delay: 0s; }
body.zgds-home-pro.zgds-page[data-page-role="search"] #search-cluster-nav.gzd-v3-reveal { transition-delay: 0.07s; }
body.zgds-home-pro.zgds-page[data-page-role="search"] #search-content-col.gzd-v3-reveal { transition-delay: 0.13s; }

body.zgds-home-pro.zgds-page[data-page-role="detail"] .gzd-detail-path.gzd-v3-reveal,
body.zgds-home-pro.zgds-page[data-page-role="detail"] .gzd-pg-bar.gzd-v3-reveal { transition-delay: 0s; }
body.zgds-home-pro.zgds-page[data-page-role="detail"] .gzd-pg-aside.gzd-v3-reveal { transition-delay: 0.08s; }
body.zgds-home-pro.zgds-page[data-page-role="detail"] #detail-issues-container.gzd-v3-reveal,
body.zgds-home-pro.zgds-page[data-page-role="detail"] .gzd-detail-empty.gzd-v3-reveal { transition-delay: 0.14s; }

body.zgds-home-pro.zgds-page[data-page-role="chapters"] .gzd-chapters-path.gzd-v3-reveal,
body.zgds-home-pro.zgds-page[data-page-role="chapters"] .gzd-pg-bar.gzd-v3-reveal { transition-delay: 0s; }
body.zgds-home-pro.zgds-page[data-page-role="chapters"] .gzd-chapters-aside.gzd-v3-reveal { transition-delay: 0.08s; }
body.zgds-home-pro.zgds-page[data-page-role="chapters"] .gzd-chapters-folio-panel.gzd-v3-reveal { transition-delay: 0.14s; }

body.zgds-home-pro.zgds-page[data-page-role="login"] .gzd-pg-vault-card,
body.zgds-home-pro.zgds-page[data-page-role="access-denied"] .gzd-pg-vault-card,
body.zgds-home-pro.zgds-page[data-page-role="error"] .gzd-pg-vault-card {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.992);
    transition:
        opacity var(--zgds-dur-slow) var(--zgds-ease-snap),
        transform var(--zgds-dur-slow) var(--zgds-ease-snap);
}

body.zgds-home-pro.zgds-page.zgds-page-ready[data-page-role="login"] .gzd-pg-vault-card,
body.zgds-home-pro.zgds-page.zgds-page-ready[data-page-role="access-denied"] .gzd-pg-vault-card,
body.zgds-home-pro.zgds-page.zgds-page-ready[data-page-role="error"] .gzd-pg-vault-card {
    opacity: 1;
    transform: none;
}

@keyframes zgdsStateIn {
    from {
        opacity: 0;
        transform: translate3d(0, 8px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

body.zgds-home-pro .zgds-loading-state,
body.zgds-home-pro .zgds-empty-state,
body.zgds-home-pro .zgds-error-state,
body.zgds-home-pro .gzd-search-page__state.is-state-enter {
    animation: zgdsStateIn var(--zgds-dur-mid) var(--zgds-ease-out) both;
}

body.zgds-home-pro .zgds-loading-spinner {
    animation: zgdsSpin 0.85s cubic-bezier(0.45, 0.05, 0.35, 0.95) infinite;
}

@keyframes zgdsSpin {
    to { transform: rotate(360deg); }
}

body.zgds-home-pro #documents-container-wrapper {
    position: relative;
    min-height: clamp(10rem, 32vh, 20rem);
    transition: min-height 0.35s var(--zgds-ease-out);
}

body.zgds-home-pro #documents-container-wrapper:has(.gzd-shelf-stack),
body.zgds-home-pro #documents-container-wrapper:has(.gzd-shelf-list) {
    min-height: 0;
}

body.zgds-home-pro .gzd-shelf-cabinet__stage {
    transform-style: preserve-3d;
    backface-visibility: hidden;
    will-change: auto;
}

body.zgds-home-pro .gzd-shelf-cabinet__stage.is-shelf-exiting,
body.zgds-home-pro .gzd-shelf-cabinet__stage.is-shelf-entering {
    will-change: transform, opacity, filter;
}

body.zgds-home-pro .gzd-shelf-cabinet.is-loading .gzd-shelf-cabinet__stage {
    pointer-events: none;
}

body.zgds-home-pro .gzd-shelf-cabinet.is-loading .gzd-shelf-cabinet__stage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 14;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(255, 253, 247, 0.08) 0%,
        rgba(255, 253, 247, 0.38) 50%,
        rgba(255, 253, 247, 0.08) 100%
    );
    opacity: 0;
    animation: zgdsShelfLoadVeil 0.55s var(--zgds-ease-out) forwards;
}

@keyframes zgdsShelfLoadVeil {
    0% { opacity: 0; }
    35% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes zgdsItemEnter {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

body.zgds-home-pro .is-zgds-enter {
    animation: zgdsItemEnter var(--zgds-dur-mid) var(--zgds-ease-snap) both;
    animation-delay: calc(min(var(--zgds-i, 0), 20) * var(--zgds-stagger));
}

body.zgds-home-pro .is-content-entering .gzd-book,
body.zgds-home-pro .is-content-entering .gzd-folio-issue-card,
body.zgds-home-pro .is-content-entering .gzd-folio-toc__row,
body.zgds-home-pro .is-content-entering .gzd-search-article-row,
body.zgds-home-pro .is-content-entering .gzd-detail-year-block,
body.zgds-home-pro .is-content-entering .gzd-search-article-year-block {
    opacity: 0;
}

body.zgds-home-pro .gzd-search-page__panel {
    position: relative;
}

body.zgds-home-pro .gzd-search-page__state[hidden] {
    display: none !important;
}

body.zgds-home-pro .gzd-search-page__state:not([hidden]) {
    animation: zgdsStateIn var(--zgds-dur-mid) var(--zgds-ease-out) both;
}

body.zgds-home-pro #results-grid:not([hidden]) {
    animation: zgdsStateIn var(--zgds-dur-mid) var(--zgds-ease-out) both;
}

body.zgds-home-pro .gzd-folio-issue-card,
body.zgds-home-pro .gzd-folio-toc__row {
    transition:
        opacity var(--zgds-dur-fast) var(--zgds-ease-out),
        transform var(--zgds-dur-fast) var(--zgds-ease-out),
        border-color var(--zgds-dur-fast) ease,
        box-shadow var(--zgds-dur-fast) ease;
}

body.zgds-home-pro .gzd-folio-issue-card.is-filter-hidden,
body.zgds-home-pro .gzd-folio-toc__row.is-filter-hidden,
body.zgds-home-pro .gzd-detail-issue-row.is-filter-hidden {
    opacity: 0;
    transform: translate3d(0, 4px, 0);
    pointer-events: none;
}

body.zgds-read-page .gzd-read-app {
    opacity: 0;
    transition: opacity var(--zgds-dur-slow) var(--zgds-ease-out);
}

body.zgds-read-page.zgds-page-ready .gzd-read-app {
    opacity: 1;
}

body.zgds-read-page .gzd-read-viewer__stage img {
    transition: opacity var(--zgds-dur-mid) var(--zgds-ease-out);
}

body.zgds-read-page .gzd-read-viewer__stage.is-page-loading img {
    opacity: 0.55;
}

body.zgds-home-pro .sp-rail__fill {
    transition: width 0.42s var(--zgds-ease-snap);
}

@media (prefers-reduced-motion: reduce) {
    body.zgds-page,
    body.zgds-home-pro.zgds-page .gzd-v3-reveal,
    body.zgds-home-pro .gzd-pg-vault-card,
    body.zgds-read-page .gzd-read-app {
        transition: none !important;
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    body.zgds-home-viewport-fit:not(.is-viewport-ready) .gzd-v3-main__grid {
        opacity: 1;
    }

    body.zgds-home-pro .is-zgds-enter,
    body.zgds-home-pro .zgds-loading-state,
    body.zgds-home-pro .zgds-empty-state,
    body.zgds-home-pro .zgds-error-state,
    body.zgds-home-pro .gzd-search-page__state:not([hidden]),
    body.zgds-home-pro #results-grid:not([hidden]) {
        animation: none !important;
    }

    body.zgds-home-pro .gzd-shelf-cabinet.is-loading .gzd-shelf-cabinet__stage::before {
        display: none;
    }
}
