.hortator-logo {
    --hortator-logo-start-delay: 0.5s;

    width: min(72vw, 760px);
    overflow: visible;
}

.hortator-logo--login {
    width: min(85vw, 280px);
}

.hortator-logo--splash {
    width: min(72vw, 760px);
}

.hortator-logo path,
.hortator-logo use {
    shape-rendering: geometricPrecision;
}

.hortator-logo .hortator-logo__part {
    fill: #000;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: hortator-logo-drop 0.55s cubic-bezier(0.2, 0.85, 0.25, 1.15) forwards;
}

.hortator-logo .hortator-logo__p-left-outer,
.hortator-logo .hortator-logo__p-right-outer {
    animation-delay: var(--hortator-logo-start-delay);
}

.hortator-logo .hortator-logo__p-left-short,
.hortator-logo .hortator-logo__p-right-short {
    animation-delay: calc(var(--hortator-logo-start-delay) + 0.08s);
}

.hortator-logo .hortator-logo__p-left-mid,
.hortator-logo .hortator-logo__p-right-mid {
    animation-delay: calc(var(--hortator-logo-start-delay) + 0.16s);
}

.hortator-logo .hortator-logo__p-center {
    animation-delay: calc(var(--hortator-logo-start-delay) + 0.24s);
}

.hortator-logo .hortator-logo__vshape {
    fill: #000;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: hortator-logo-rise 0.6s calc(var(--hortator-logo-start-delay) + 0.38s) cubic-bezier(0.2, 0.85, 0.25, 1.15) forwards;
}

.hortator-logo .hortator-logo__whole {
    transform-box: fill-box;
    transform-origin: center;
    animation: hortator-logo-snap 0.22s calc(var(--hortator-logo-start-delay) + 0.98s) ease-out both;
}

@keyframes hortator-logo-drop {
    from {
        opacity: 0;
        transform: translateY(-90px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes hortator-logo-rise {
    from {
        opacity: 0;
        transform: translateY(55px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes hortator-logo-snap {
    0% {
        transform: scale(1);
    }
    55% {
        transform: scale(0.968);
    }
    100% {
        transform: scale(1);
    }
}

.dashboard-splash-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    background: #fff;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.dashboard-splash-overlay--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dashboard-splash-content--pending {
    visibility: hidden;
}
