@media (min-width: 801px) {
    .modern-auth {
        height: 100vh;
        overflow: hidden;
    }

    .auth-experience,
    .auth-brand-panel,
    .modern-login-panel {
        height: 100vh;
        min-height: 0;
    }

    .auth-brand-panel {
        padding-top: clamp(2rem, 5vh, 4rem);
        padding-bottom: clamp(2rem, 5vh, 4rem);
    }

    .auth-brand-content {
        min-height: 0;
        height: 100%;
    }

    .auth-message {
        margin-top: clamp(1.5rem, 4vh, 3.5rem);
        margin-bottom: clamp(1.5rem, 4vh, 3.5rem);
    }

    .auth-message h1 {
        font-size: clamp(2.7rem, min(5.2vw, 9vh), 6.2rem);
    }

    .auth-message > p:last-child {
        margin-top: clamp(.9rem, 2vh, 1.5rem);
    }

    .auth-status {
        margin-bottom: clamp(.9rem, 2.5vh, 1.6rem);
    }
}

@media (min-width: 801px) and (max-height: 760px) {
    .auth-institute .auth-brand-logo {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
    }

    .auth-message h1 {
        font-size: clamp(2.5rem, 7vh, 4.2rem);
    }

    .auth-message > p:last-child {
        font-size: .9rem;
        line-height: 1.5;
    }
}

.recovery-email {
    color: #294fa9;
    font-weight: 850;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.recovery-email:hover,
.recovery-email:focus-visible {
    text-decoration: underline;
}

.auth-message .hero-line {
    display: block;
    opacity: 0;
    transform: translateY(28px);
    animation: hero-copy-reveal .75s cubic-bezier(.2,.8,.2,1) forwards;
}

.auth-message .hero-line-one {
    color: #fff;
    animation-delay: .62s;
}

.auth-message .hero-line-two {
    color: #5cdef0;
    animation-delay: .88s;
}

.auth-message .hero-kicker {
    width: max-content;
    max-width: 100%;
}

.hero-kicker .typing-copy {
    position: relative;
    display: inline-block;
    min-height: 1.7em;
    white-space: nowrap;
    vertical-align: bottom;
    text-shadow: 0 0 18px rgba(93, 224, 239, .28);
}

.hero-kicker .typing-copy::after {
    content: "";
    position: absolute;
    top: 8%;
    right: -5px;
    width: 3px;
    height: 84%;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 12px #5de0ef;
    opacity: 0;
}

.hero-kicker .typing-copy.is-typing::after {
    opacity: 1;
    animation: typing-cursor .55s step-end infinite;
}

.hero-kicker .typing-copy.typing-complete {
    animation: hero-glow .9s ease-out;
}

@keyframes hero-copy-reveal {
    from { opacity: 0; transform: translateY(28px); filter: blur(5px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes typing-cursor {
    50% { opacity: 0; }
}

@keyframes hero-glow {
    50% { color: #fff; text-shadow: 0 0 22px #5de0ef; }
}

@media (prefers-reduced-motion: reduce) {
    .auth-message .hero-line {
        opacity: 1;
        transform: none;
        filter: none;
        animation: none;
    }

    .hero-kicker .typing-copy::after {
        display: none;
    }
}
