.mobilus__cosmo-gtw {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    background-color: var(--color-secondary-200);
    padding-bottom: 220px;
}

.cosmo-gtw__text-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    padding: 0 28px;
    transition: 
        transform 0.5s ease-out 0.5s,
        visibility 0.5s ease-out 0.5s,
        opacity 0.5s ease-out 0.5s;
}

.mobilus__cosmo-gtw--translated .cosmo-gtw__text-section {
    transform: translateY(-160px);
    opacity: 0;
    visibility: hidden;
    transition-delay: 0s;
}

.cosmo-gtw__text-section svg {
    width: 180px;
    height: auto;
}

.cosmo-gtw__text-section p {
    font: normal normal 300 14px/22px font-primary;
    text-align: center;
    color: var(--color-primary-600);
    max-width: 506px;
}

.cosmo-gtw__image-section {
    position: relative;
    height: 497px;
    width: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.cosmo-gtw__image-section img {
    width: 360px;
    height: auto;
    transform: translateX(calc((100vw - 360px) / 2));
    transition: transform 0.5s ease-out 0.5s;
}

.mobilus__cosmo-gtw--translated .cosmo-gtw__image-section img {
    transform: translateX(270px);
    transition-delay: 0s;
}

.image-section__info {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    transform: translateY(50%);
    transition: 
        visibility 0.5s ease-out 0s,
        opacity 0.5s ease-out 0s,
        transform 0.5s ease-out 0s;
}

.mobilus__cosmo-gtw--translated .image-section__info {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
}

.image-section__info > div {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 220px;
    height: 100%;
}

.image-section__info p {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #E7E7E7;
    font: 14px/19px font-primary;
    height: 12.5%;
    text-align: right;
    margin: 0;
}

.image-section__info svg {
    height: 87.5%;
    width: auto;
}

@media screen and (min-width: 768px) {
    .mobilus__cosmo-gtw {
        gap: 0;
    }

    .cosmo-gtw__text-section {
        gap: 66px;
        padding: 0;
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__text-section {
        transform: translateY(-484px);
    }

    .cosmo-gtw__text-section svg {
        width: 237px;
    }

    .cosmo-gtw__text-section p {
        font: 18px/30px font-primary;
        max-width: none;
        width: 512px;
    }

    .cosmo-gtw__image-section {
        height: 597px;
    }

    .cosmo-gtw__image-section img {
        width: 686px;
        transform: translateX(calc((100vw - 686px) / 2));
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__image-section img {
        transform: translateX(360px);
    }

    .image-section__info {
        gap: 30px;
    }

    .image-section__info > div {
        width: 300px;
    }

    .image-section__info p {
        width: 254px;
        font: 18px/24px font-primary;
    }
}

@media screen and (min-width: 912px) {
    .mobilus__cosmo-gtw {
        position: relative;
        align-items: flex-start;
        padding-top: 158px;
        padding-bottom: 147px;
        gap: 100px;
    }

    .cosmo-gtw__text-section {
        align-items: flex-end;
        gap: 56px;
        width: 280px;
        min-width: 280px;
        margin-left: 81px;
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__text-section {
        transform: none;
        opacity: 1;
        visibility: visible;
    }

    .cosmo-gtw__text-section svg {
        width: 196px;
    }

    .cosmo-gtw__text-section p {
        text-align: end;
        font: 16px/28px font-primary;
        width: auto;
    }

    .cosmo-gtw__image-section {
        position: static;
        height: 673px;
    }

    .cosmo-gtw__image-section img {
        position: absolute;
        top: 0;
        margin-left: 404px;
        width: 773px;
        margin-right: 81px;
        transform: translateY(0);
        transition-delay: 0s;
        z-index: 1;
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__image-section img {
        transform: translateY(600px);
    }

    .image-section__info {
        position: static;
        transform: none;
        gap: 18px;
        visibility: visible;
        opacity: 1;
    }

    .image-section__info > div {
        width: 362px;
    }

    .image-section__info p {
        width: 276px;
        font: 16px/21px font-primary;
    }
}

@media screen and (min-width: 1200px) {
    .mobilus__cosmo-gtw {
        padding-top: 233px;
        padding-bottom: 168px;
    }

    .cosmo-gtw__text-section {
        gap: 68px;
        width: 383px;
        min-width: 383px;
        margin-left: 83px;
    }

    .cosmo-gtw__text-section svg {
        width: 237px;
    }

    .cosmo-gtw__text-section p {
        font: 18px/30px font-primary;
    }

    .cosmo-gtw__image-section {
        height: 819px;
    }

    .cosmo-gtw__image-section img {
        width: 940px;
        margin-left: 544px;
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__image-section img {
        transform: translateY(700px);
    }

    .image-section__info > div {
        width: 467px;
    }

    .image-section__info p {
        width: auto;
        font: 16px/21px font-primary;
    }
}

@media screen and (min-width: 1400px) {
    .mobilus__cosmo-gtw {
        padding-top: 245px;
        padding-bottom: 365px;
    }

    .cosmo-gtw__text-section {
        gap: 96px;
        width: 500px;
        min-width: 500px;
        margin-left: 196px;
    }

    .cosmo-gtw__text-section svg {
        width: 335px;
    }

    .cosmo-gtw__text-section p {
        font: 21px/40px font-primary;
    }

    .cosmo-gtw__image-section {
        height: 959px;
    }

    .cosmo-gtw__image-section img {
        width: 1102px;
        margin-left: 912px;
    }

    .mobilus__cosmo-gtw--translated .cosmo-gtw__image-section img {
        transform: translateY(750px);
    }

    .image-section__info > div {
        width: 696px;
    }

    .image-section__info p {
        font: 21px/30px font-primary;
    }
}