/*- Fonts -*/
.font-160L {
    font-size: 8.3vw;
    letter-spacing: -1px;
    line-height: 1.1;
    word-spacing: -5px;
}

.font-120 {
    font-size: 6.25vw;
    letter-spacing: -1px;
    line-height: 1.1;
    word-spacing: -5px;
}

.font-50 {
    font-size: 2.6vw;
    letter-spacing: 0px;
    line-height: 1.2;
    word-spacing: -2px;
}

.imgpanel {
    margin-top: -18vw;
}

.imgpanel img {
    width: 100%;
    object-fit: cover;
}

.dualImg {
    display: flex;
    gap: 3.5vw;
}

.dualImg>div:nth-child(2) {
    margin-top: 10vw;
}

.texts {
    width: 75%;
    padding-top: 5.2vw;
    padding-bottom: 8vw;
}

.companycase {
    display: flex;
    gap: 2vw;
    padding: 5vw 0;
}

.companycaseitem {
    transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
    cursor: pointer;
}

.companycaseitem:hover {
    scale: 1.1;
}

.companycaseitem #caseimg img {
    width: 100%;
}

.companycaseitem #casetext {
    display: flex;
    align-items: center;
    margin-top: 1.5vw;
}

.companycaseitem #casetext img {
    margin-right: 1vw;
    width: 1.5vw;
}

/*------------------ Case sutdy ---------------------*/
.marqueecase {
    margin: 10vw 0;
}

#reportext {
    width: 44%;
}

/*----- Cursor effect --------*/
.cursorEffect {
    padding: 5vw 0;
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.elem {
    padding: 10vw 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

.elem img {
    height: 18.2vw;
    width: 18.2vw;
    border-radius: 50%;
    position: absolute;
    scale: 0;
    opacity: 0;
    transition: all ease 0.3s;
}

.elem p {
    z-index: 1;
    pointer-events: none;
    font-size: 5.5vw;
    letter-spacing: -4px;
    line-height: 1.1;
    word-spacing: -5px;
    position: relative;
}

.elem p::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(1);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform-origin: left;
    transition: transform 0.5s ease-out;
}

.elem:hover p::after {
    transform: scaleX(0);
    transform-origin: right;
}

.overrlay {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    background: #00000000;
}

@media (max-width: 868px) {
    .font-160L {
        font-size: 10vw;
        word-spacing: -1px;
    }

    .font-120 {
        font-size: 8vw;
        word-spacing: -2px;
    }

    .font-50 {
        font-size: 4vw;
        word-spacing: -1px;
    }

    .imgpanel {
        margin-top: -25vw;
    }

    .dualImg>div:nth-child(2) {
        margin-top: 20vw;
    }

    .texts {
        width: 90%;
        padding-top: 10vw;
        padding-bottom: 12vw;
    }

    .companycase {
        gap: 2vw;
        padding: 5vw 0 10vw 0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .companycaseitem {
        width: 45vw;
        margin-top: 5vw;
    }

    .companycaseitem #casetext {
        margin-top: 3vw;
    }

    .companycaseitem #casetext img {
        margin-right: 3vw;
        width: 3vw;
    }

    /* case study*/
    #reportext {
        width: 50%;
    }

    .marqueecase {
        margin: 20vw 0;
    }

    .cursorEffect {
        padding: 10vw 0;
    }

    .elem p {
        font-size: 7vw;
        letter-spacing: -1px;
        word-spacing: -2px;
    }
}

@media (max-width: 670px) {
    .cnt img{
        height: 40vh;
    }
    .font-160L {
        font-size: 12vw;
        word-spacing: 0px;
        letter-spacing: 0px;
    }

    .font-120 {
        font-size: 10vw;
        word-spacing: -1px;
    }

    .font-50 {
        font-size: 5vw;
        word-spacing: 0px;
    }

    .imgpanel {
        margin-top: -20vw;
    }

    .imgpanel img,
    #fullimg img {
        height: 30vh;
    }

    .texts {
        width: 100%;
    }

    .companycase {
        gap: 2vw;
        padding: 8vw 0 20vw 0;
        flex-direction: column;
    }

    .companycaseitem {
        width: 100%;
        margin-top: 10vw;
    }

    .companycaseitem #casetext {
        margin-top: 5vw;
    }

    .companycaseitem #casetext img {
        margin-right: 4vw;
        width: 4vw;
    }

    /* case study*/
    #reportext {
        width: 70%;
    }

    .cursorEffect {
        padding: 20vw 0;
    }

    .elem p {
        font-size: 9vw;
    }
}