html {
    scroll-behavior: smooth;
}
/* --- Layouts --- */
.page-visual {
    padding-top: 243px;

    @media (max-width: 768px) {
        padding-top: 62px;

    }
}



.visual-banner-img {
    display: flex;
    position: relative;
    height: 720px;
    overflow: hidden;
    width: 100%;
    @media (max-width: 768px) {
        height: 147px;
    }
}


.visual-banner-img  iframe {
    pointer-events: none;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transform: scale(1.2);
}

.visual-content-wrap {
    width: 100%;
    padding: 150px 60px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 90px;
    overflow: hidden;
    max-width: 1280px;
    margin: 0 auto;
    @media (max-width: 768px) {
        padding: 134px 20px 202px;
        gap: 50px;
    }
}

.visual-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;

}

.main-subject{
    width: 132px;
    height: 48px;
    @media (max-width: 768px) {
        width: 110px;
        height: 30px;
    }

    img{
        width: 100%;
         height: 100%;
        display: flex;
    }


}

.visual-logo-box {
    width: 250px;
    height: 51px;
    position: relative;
    overflow: hidden;
    @media (max-width: 768px) {
        width: 150px;
        height: 31px;
    }
}

.visual-logo-box img {
    width: 100%;
}

.visual-block {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;


}

.visual-row {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    @media (max-width: 768px) {
        flex-direction: column;
        gap: 10px;
    }
}

.visual-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 18px;
    @media (max-width: 768px) {
        gap: 10px;
        width: 100%;
    }
}

.visual-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    gap: 18px;
    @media (max-width: 768px) {
        gap: 0;
    }

    &.gap-9{
        gap: 9px;
    }
}

/* --- Typography & Titles --- */
.main-copy {
    text-align: center;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.02em;
    word-wrap: break-word;
    @media (max-width: 768px) {
        font-size: 15px;
    }
}

.section-title {
    width: 100%;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.02em;
    word-wrap: break-word;
    @media (max-width: 768px) {
        font-size: 18px;
    }
}

.section-title.poppin {
    color: #FF7A0F;
}

.section-title.geo {
    color: #1EEB7D;
}

.card-title {
    color: #FFFFFF;
    font-size: 21px;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.01em;
    @media (max-width: 768px) {
        font-size: 18px;
    }
}

.card-desc {
    text-align: center;
    color: #9393B0;
    font-size: 15px;
    font-weight: 600;
    line-height: 130%;
}

.item-text {
    flex: 1;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 130%;
    word-wrap: break-word;
    @media (max-width: 768px) {
        font-size: 15px;

    }

}

/* --- Components: Cards & Boxes --- */
.glass-card.bordered.glass-header {
    display: flex;
}

@media (max-width: 768px) {
    .glass-card.bordered.glass-header.blank {
        display: none !important;
    }
}

/* arrow-box 모바일 중앙 하나만 노출 */
.arrow-box {
    display: block;
}

.arrow-box.center-only {
    width: 100%;
    display: none !important;
}

@media (max-width: 768px) {
    .arrow-box {
        display: none !important;
    }

    .arrow-box.center-only {
        display: flex !important;
        justify-content: center;
        align-items: center;

        &.web{
            display: none !important;
        }

        &.mobile{
            display: flex !important;
        }
    }
}

/* 공통 유리 효과 카드 스타일 */
.glass-card {
    position: relative;
    width: 100%;
    padding: 24px;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border: 1px solid #121212;
    background: radial-gradient(100% 100% at 50% 0%, rgba(90, 41, 217, 0.06) 0%, rgba(90, 41, 217, 0) 100%);

    @media (max-width: 768px) {
        padding: 12px 24px;
    }

    &::-webkit-scrollbar {
        display: none;
    }
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        border-radius: 100px 100px 0 0;
        background: linear-gradient(to right, #121212 0%, #3A3E6D 50%, #121212 100%);
    }

    &.bg-basic{
       justify-content: flex-start;


        &::before {
           display: none;
        }

    }



}


.glass-card.bordered {
    backdrop-filter: blur(12px);
    background: radial-gradient(100% 100% at 50% 0%, rgba(90, 41, 217, 0.06) 0%, rgba(90, 41, 217, 0.03) 100% );

}


.glass-header {
    width: 100%;
    padding: 18px 30px;
    justify-content: flex-start;
}

/* 아이콘 박스 */
.icon-box {
    width: 36px;
    height: 36px;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-box.dark {
    background: #2E293E;
}

.icon-box.green {
    background: #A5FFC2;
}

.icon-box.neon {
    background: #1EEB7D;
}

.icon-box img {
    width: 18px;
    height: 18px;
    object-fit: contain;




}

/* 화살표 아이콘 영역 */
.arrow-box {
    padding: 24px;
    background: radial-gradient(ellipse 50% 26.36% at 50% 0%, rgba(90, 41, 217, 0.06) 0%, rgba(90, 41, 217, 0) 100%);
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;


    img{
        &.mobile{
            display: none;
            @media (max-width: 768px) {
                display: flex;

            }
        }

        &.web{
            @media (max-width: 768px) {
                display: none;

            }
        }
    }

}

/* 특징 카드 (Grid Item) */
.feature-card {
    position: relative;
    flex: 1 1 0;
    min-width: 320px;
    padding: 45px 24px 24px;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    border: 1px solid #121212;
    @media (max-width: 768px) {
        padding: 42px 24px 24px 24px;
    }
}

.feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(to right,
            #121212 0%,
            #3A3E6D 50%,
            #121212 100%);
}

.feature-img-box {
    background: #0E0E0E;
    border-radius: 18px;
}

.feature-img-box img {
    width: 280px;
    height: 280px;
    @media (max-width: 768px) {
        width: 163px;
        height: 150px;
    }
}

/* 타겟 리스트 (Target Audience) */
.target-row {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 18px;
    @media (max-width: 768px) {
        flex-direction: column;
        gap: 0;
    }
}

.target-badge {
    position: relative;
    min-width: 480px;
    padding: 18px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    gap: 15px;
    @media (max-width: 768px) {
        min-width: 100%;
        align-items: flex-start;
        padding: 9px 18px;
    }





}
.visual-target-badge{
    position: relative;
    width: 100%;
    padding: 18px;
    border-radius: 100px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #121212;
    background: radial-gradient(100% 100% at 50% 0%, rgba(90, 41, 217, 0.06) 0%, rgba(90, 41, 217, 0.03) 100%);


    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        border-radius: 100px 100px 0 0;
        background: linear-gradient(to right, #121212 0%, #3A3E6D 50%, #121212 100%);
    }

}


/* POPPIN 섹션용 Badge 오버라이드 (HTML 구조상 첫번째 섹션은 outline 없음, 두번째는 있음 등 미묘한 차이 통일) */
.target-badge.poppin-badge {
    background: none;
    outline: none;
    /* 기존 inline style에는 없었으나 통일성 위해 확인 필요 */
}

/* 두 섹션 모두 공통적으로 쓰이는 스타일로 통일 */
.target-badge-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 15px;
}

.num-circle {
    width: 30px;
    height: 30px;
    background: #2E293E;
    border-radius: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
  color:#ffffff;
    font-weight: 700;
}

.target-desc-wrap {
    flex: 1;
    padding: 0 12px;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 9px;
}

.target-pill {
    padding: 9px 24px 9px 9px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    gap: 9px;
    background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(90, 41, 217, 0.15) 0%, rgba(90, 41, 217, 0) 100%);
    overflow: hidden;

    &.mobile-none{
        @media (max-width: 768px) {
            display: none;
        }
    }
}

.target-pill::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;

    border-radius: 100px 100px 0 0;
    background: linear-gradient(to right, #121212 0%, #3A3E6D 50%, #121212 100%);
}

.target-pill.bordered {
    position: relative;
    border: 1px solid #121212;
}

.target-pill.bordered::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;

    border-radius: 100px 100px 0 0;
    background: linear-gradient(to right, #121212 0%, #3A3E6D 50%, #121212 100%);
}



.pill-icon {
    width: 24px;
    height: 24px;
    border-radius: 24px;
    background: #A5FFC2;
    /* 기본 Green */
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.pill-icon.neon {
    background: #1EEB7D;
}

.pill-icon img {
    width: 12px;
    height: 12px;
}

.pill-text {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 130%;
    @media (max-width: 768px) {
        font-size: 15px;
    }
}

.divider-line {
    width: 100%;
    max-width: 1160px;
    display: flex;
    border: 0;
    height: 2px;
    background: linear-gradient(to right, transparent 0%, rgba(165, 255, 194, 0.70) 50%, transparent 100%);
    margin: 10px 0;
}

/* --- CTA Button --- */
.cta-btn-wrap {
    padding: 15px 24px 15px 30px;
    background: linear-gradient(90deg, #1EEB7D 20%, #A0C8FF 70%, white 100%), linear-gradient(90deg, #4F0DFB 0%, #5218FF 100%);
    border-radius: 100px;
    outline: 1px solid rgba(255, 255, 255, 0.24);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;

}

.cta-text {
    color: #0C0C0C;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 130%;
    @media (max-width: 768px) {
        font-size: 15px;
    }
}

.cta-icon {
    width: 18px;
    height: 18px;
    position: relative;
}

.cta-arrow {
    width: 7px;
    height: 12px;
    position: absolute;
    left: 6px;
    top: 3px;
    outline: 3px solid #0C0C0C;
    outline-offset: -1.5px;
}

/* =========================================
   Responsive Styles (반응형 설정)
   ========================================= */

/* --- Tablet & Small Laptops (Max 1280px) --- */
/*@media screen and (max-width: 1280px) {*/
/*   */



/*    !* 섹션 타이틀 너비 제한 해제 *!*/
/*    .section-title {*/
/*        max-width: 100%;*/
/*        font-size: 26px;*/
/*        !* 폰트 사이즈 약간 축소 *!*/
/*    }*/

/*    !* 타겟 배지 고정 너비 해제 *!*/
/*    .target-badge {*/
/*        min-width: auto;*/
/*    }*/
/*}*/

/* --- Mobile & Tablet Portrait (Max 768px) --- */
/*@media screen and (max-width: 768px) {*/

/*    */

/*    .visual-header {*/
/*        gap: 24px;*/
/*    }*/

/*    .main-copy {*/
/*        font-size: 20px;*/
/*        !* 폰트 사이즈 최적화 *!*/
/*        line-height: 1.4;*/
/*    }*/

/*    .visual-logo-box {*/
/*        width: 180px;*/
/*        !* 로고 사이즈 축소 *!*/
/*        height: auto;*/
/*    }*/

/*    !* 2. 가로 배치(Row)를 세로(Column)로 변경 *!*/
/*    .visual-row {*/
/*        flex-direction: column;*/
/*        gap: 30px;*/
/*    }*/

/*    !* Pain Point와 Solution 사이의 화살표/구분자 처리 *!*/
/*    .visual-row .visual-col {*/
/*        width: 100%;*/
/*    }*/

/*    !* 화살표 방향 회전 (오른쪽 -> 아래쪽 느낌으로) *!*/
/*    .arrow-box img {*/
/*        transform: rotate(90deg);*/
/*    }*/

/*    !* 혹은 화살표 박스 자체를 숨기고 싶다면 아래 주석 해제 *!*/
/*    !* .visual-row .visual-col:nth-child(2) { display: none; } */
/*    *!*/

/*    !* 3. 그리드 및 카드 스타일 *!*/
/*    .visual-grid {*/
/*        align-items: stretch;*/
/*        !* 카드 너비를 꽉 차게 *!*/
/*    }*/

/*    .feature-card {*/
/*        padding: 30px 20px;*/
/*    }*/

/*    !* 4. 추천 대상 (Target Audience) 섹션 *!*/
/*    .target-row {*/
/*        flex-direction: column;*/
/*        !* 배지와 설명을 위아래로 배치 *!*/
/*        align-items: flex-start;*/
/*        gap: 12px;*/
/*    }*/

/*    .target-badge {*/
/*        width: 100%;*/
/*        !* 전체 너비 *!*/
/*        min-width: 0;*/
/*        border-radius: 24px;*/
/*        !* 둥근 정도 모바일에 맞게 조정 *!*/
/*        padding: 15px;*/
/*    }*/

/*    .target-desc-wrap {*/
/*        padding: 0;*/
/*        width: 100%;*/
/*    }*/

/*    .target-pill {*/
/*        width: 100%;*/
/*        !* 설명 텍스트 박스 꽉 차게 *!*/
/*        box-sizing: border-box;*/
/*    }*/

/*    .pill-text {*/
/*        font-size: 16px;*/
/*        !* 텍스트 크기 조정 *!*/
/*    }*/

/*    !* 5. 텍스트 크기 미세 조정 *!*/
/*    .section-title {*/
/*        font-size: 22px;*/
/*    }*/

/*    .card-title {*/
/*        font-size: 18px;*/
/*    }*/

/*    .item-text {*/
/*        font-size: 16px;*/
/*    }*/
/*}*/