.auth-page-soft .auth-stage {
    position: relative;
    isolation: isolate;
}

.auth-page-soft .auth-stage::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    pointer-events: none;
    /* Keep the artwork stable when validation or verification changes form height. */
    height: calc(100vh - 3.6rem);
    height: calc(100lvh - 3.6rem);
    background:
        linear-gradient(90deg, transparent, var(--canvas)),
        url('/static/images/maelstrom_potal-1672x941.webp') center / cover no-repeat;
    opacity: .14;
    filter: saturate(.55);
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 48%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 48%, transparent);
}

:root[data-theme="dark"] .auth-page-soft .auth-stage::before {
    opacity: .22;
}

.auth-page-soft-almost .auth-stage::before {
    background-image:
        linear-gradient(90deg, transparent, var(--canvas)),
        url('/static/images/mealstrom_almost-1672x941.webp');
}

.auth-page-soft .auth-shell,
.auth-page-soft .centered-page {
    position: relative;
    min-height: calc(100vh - 3.6rem);
    min-height: calc(100lvh - 3.6rem);
}

.auth-page-soft .auth-aside .eyebrow,
.auth-page-soft .text-link {
    color: var(--focus);
}

.auth-page-soft .site-footer {
    background: var(--canvas);
}

@media (min-width: 48rem) {
    .auth-page-soft .auth-aside {
        align-self: start;
        margin-block-start: max(0px, calc(50vh - 11.75rem));
        margin-block-start: max(0px, calc(50lvh - 11.75rem));
    }
}

@media (max-width: 47.99rem) {
    .auth-page-soft .auth-shell {
        gap: 1.5rem;
        padding-block: 2.25rem;
    }

    .auth-page-soft .auth-aside {
        width: 100%;
        max-width: 30rem;
        margin-inline: auto;
    }

    .auth-page-soft .auth-aside h1 {
        margin-bottom: 0;
        font-size: clamp(2.1rem, 8vw, 3rem);
    }

    .auth-page-soft .auth-stage::before {
        opacity: .1;
        background-position: 35% top;
    }

    :root[data-theme="dark"] .auth-page-soft .auth-stage::before {
        opacity: .17;
    }
}
