/* Header logos stay static. Only the successful-sign-in copy animates. */
.hris-brand-mark { position: relative; }
.login-logo-motion { display: inline-grid; place-items: center; flex: none; line-height: 0; }
.hris-brand-mark > .hris-brand-outline {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    pointer-events: none;
    opacity: 0;
}
@media screen and (prefers-reduced-motion: no-preference) {
    .hris-logo-arrival-copy > .hris-brand-outline {
        animation: hris-brand-outline-fade 650ms ease-in-out 1.35s backwards;
    }
    .hris-logo-arrival-copy .hris-brand-ring, .hris-logo-arrival-copy .hris-brand-inner-ring {
        stroke: #0f766e;
        stroke-width: 3;
        stroke-linecap: round;
        stroke-dasharray: 1;
        animation: hris-brand-draw 1.2s cubic-bezier(.65, 0, .35, 1) backwards;
    }
    .hris-logo-arrival-copy .hris-brand-inner-ring { stroke: #57a89b; stroke-width: 2; animation-delay: 450ms; animation-duration: 800ms; }
    .login-logo-motion .hris-brand-ring { stroke: #ffffff; }
    .login-logo-motion .hris-brand-inner-ring { stroke: #9ee6d3; }
    html[data-theme="dark"] .hris-brand-ring { stroke: #9ee6d3; }
    .hris-logo-arrival-copy > .hris-brand-seal {
        animation: hris-brand-fill 650ms cubic-bezier(.32, .72, 0, 1) 1.3s backwards;
    }
}
@keyframes hris-brand-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes hris-brand-outline-fade { from { opacity: 1; } to { opacity: 0; } }
@keyframes hris-brand-fill {
    from { opacity: 0; transform: scale(.9); }
    to { opacity: 1; transform: scale(1); }
}

/* Successful sign-in: draw at center, then settle into the real sidebar logo. */
.hris-brand-mark.is-login-logo-target { visibility: hidden !important; }
.hris-brand-mark.has-login-arrived > .hris-brand-seal { animation: none !important; opacity: 1; transform: none; }
.hris-brand-mark.has-login-arrived > .hris-brand-outline { animation: none !important; opacity: 0; }
.hris-logo-arrival-stage { position: fixed; inset: 0; z-index: 10000; }
.hris-logo-arrival-backdrop { position: absolute; inset: 0; background: linear-gradient(180deg, #fff, #f3f7ff); opacity: 1; }
.hris-logo-arrival-copy {
    position: fixed;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    pointer-events: none;
    will-change: transform;
}
.hris-logo-arrival-copy > img { display: block; width: 100%; height: 100%; object-fit: contain; }
html[data-theme="dark"] .hris-logo-arrival-backdrop { background: linear-gradient(180deg, #102129, #163139); }
@media (prefers-reduced-motion: reduce), print {
    .hris-logo-arrival-stage { display: none !important; }
    .hris-brand-mark.is-login-logo-target { visibility: visible !important; }
}
