/* Keep this file and login-world-map.png identical in all three portals.
   Map geometry is relative to the stage, never to the foreground artwork. */
.protocol-login-hero {
    align-items: center;
    background:
        radial-gradient(ellipse at 72% 48%, rgba(15, 110, 190, 0.48), transparent 60%),
        linear-gradient(110deg, #05264d 0%, #07376b 58%, #052a55 100%);
    border: 1px solid rgba(122, 204, 255, 0.26);
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(5, 38, 76, 0.16);
    color: #fff;
    display: flex;
    isolation: isolate;
    margin-bottom: 1.35rem;
    min-height: 240px;
    overflow: hidden;
    padding: 0.75rem 1.5rem 0.75rem 2.25rem;
    position: relative;
}

.protocol-login-hero__copy {
    flex: 0 1 42%;
    min-width: 0;
    position: relative;
    z-index: 2;
}

.protocol-login-hero__title {
    color: #fff;
    font-family: "Segoe UI", sans-serif;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.12;
    margin: 0;
}

.protocol-login-hero__title::after {
    background-color: #00bcd4;
    content: "";
    display: block;
    height: 3px;
    margin-top: 12px;
    width: 44px;
}

.protocol-login-hero__stage {
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.protocol-login-hero__map {
    display: block;
    height: calc(100% - 1rem);
    left: 35%;
    object-fit: contain;
    opacity: 0.7;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 43%;
}

.protocol-login-hero__foreground {
    display: block;
    height: calc(100% - 1.5rem);
    object-fit: contain;
    object-position: right bottom;
    position: absolute;
    right: 1.25rem;
    bottom: 0.75rem;
    width: 40%;
}

@media (max-width: 991.98px) {
    .protocol-login-hero {
        align-items: stretch;
        flex-direction: column;
        gap: 1rem;
        min-height: 0;
        padding: 1.5rem;
    }

    .protocol-login-hero__copy {
        flex: 0 0 auto;
    }

    .protocol-login-hero__stage {
        aspect-ratio: 3 / 1;
        flex: 0 0 auto;
        inset: auto;
        position: relative;
        width: 100%;
    }

    .protocol-login-hero__map {
        height: 100%;
        left: 0;
        width: 72%;
    }

    .protocol-login-hero__foreground {
        bottom: 0;
        height: 100%;
        right: 0;
        width: 68%;
    }
}

@media (max-width: 767.98px) {
    .protocol-login-hero {
        padding: 1rem;
    }
}

@media (max-width: 575.98px) {
    .protocol-login-hero__title {
        font-size: 2rem;
    }
}
