/* Subtle, finite motion; content remains visible if JavaScript fails. */
@keyframes promolab-hero-enter {
    from {
        opacity: 0.45;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
@keyframes promolab-fade-enter {
    from {
        opacity: 0.55;
    }
    to {
        opacity: 1;
    }
}
@media (prefers-reduced-motion: no-preference) {
    html:not(.accessible) #hero-original {
        animation: promolab-hero-enter 550ms cubic-bezier(0.2, 0.65, 0.3, 1)
            both;
    }
    html:not(.accessible) #flow-art.motion-revealed {
        animation: promolab-fade-enter 400ms ease-out both;
    }
    html:not(.accessible) .platform-panel:not([hidden]) .platform-preview {
        animation: promolab-fade-enter 200ms ease-out both;
    }
}
.accessible #hero-original,
.accessible #flow-art,
.accessible .platform-preview {
    animation: none !important;
    transition: none !important;
}
.new-tab-description {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
@media (min-width: 1600px) {
    html:not(.accessible) .grant-banner {
        position: fixed;
        top: 116px;
        bottom: auto;
        left: 12px;
        width: 170px;
        max-width: none;
        margin: 0;
        z-index: 15;
    }
}
/* Narrow screens keep the dismissible funding banner in flow, clear of navigation. */
.accessible .grant-banner {
    position: relative;
    inset: auto;
    width: 330px;
    max-width: calc(100% - 40px);
    margin: 24px auto 0;
}
