@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&display=swap');

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    src: local('Pretendard'),
         url('https://cdn.jsdelivr.net/npm/pretendard/dist/web/static/pretendard.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+1100-11FF, U+0030-0039; /* 한글 및 숫자 */
}

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
    unicode-range: U+0041-005A, U+00A0-00FF; /* 기본 라틴 문자 범위 */
}


.view-map-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px; /* 버튼 너비 */
    padding: 12px 20px;
    background-color: #e0e0e0; /* 버튼 배경색 */
    color: #555;
   background-color: unset; /* 버튼 배경색 */
    border-radius: 25px; /* 둥근 버튼 */
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
	 border: 1px solid #555;
}

.view-map-button:hover {
     background-color: #000; color: #fff;
}

.view-map-button .arrow {
    margin-left: 8px;
    font-weight: 700;
    font-size: 18px;
}

.submit_class {padding-bottom:40px; padding-top:40px;
display:flex;  justify-content: center;
}

ul {
    margin:0 ;
    padding:0;
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

#right {text-align:right;}
/* 기존 index.css의 로고, 햄버거 메뉴 스타일을 그대로 가져옵니다. */
.logo {
    /* position: fixed; */
	position: absolute;
    top: 32px;
    left: 5%;
    z-index: 1002;
}

.logo img {
     filter: brightness(0) invert(1);  
    transition: filter 0.3s ease;
	
}

.logo.black-logo img {
    filter: brightness(0) invert(0); /* 검정색 로고 */
}



        html, body {
            height: 100%;
            overflow: hidden; /* 전체 페이지 스크롤 방지 */
            font-family: 'Pretendard', sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #f9f9f9;
        }

        /* Body scroll lock for when menu is open */
        body.scroll-lock {
            overflow: hidden;
        }


        /* 슬라이드 메뉴 스타일 */
        .slide-menu {
            position: fixed;
            top: 0;
            right: -300px; /* 초기에는 화면 오른쪽에 숨김 */
            width: 300px;
            height: 100%;
            background-color: #fff;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
            z-index: 1010;
            /* 헤더보다 높게 */
            transition: right 0.3s ease-in-out;
            padding: 30px;
            display: flex;
            flex-direction: column;
        }

        .slide-menu.open {
            right: 0;
            /* 메뉴가 열릴 때 오른쪽으로 슬라이드 */
        }

       

        /* Main Container */
        .container {
            display: flex;
            height: calc(100vh - 70px); /* 헤더 높이 제외 */
            margin-top: 70px;
            padding: 50px 120px;
            gap: 50px;
        }

        /* Left Section 수정: 스크롤 가능하게 */
        .left-section {
            flex: 1.6;
            padding-right: 0px;
            overflow-y: scroll; /* 스크롤 가능하도록 변경 */
            /* 스크롤바 숨기기 (선택 사항) */
            -ms-overflow-style: none;
            /* IE and Edge */
            scrollbar-width: none;
            /* Firefox */
        }

        /* 웹킷(크롬, 사파리) 스크롤바 숨기기 */
        .left-section::-webkit-scrollbar {
            display: none;
        }


        .section-title {
            font-size: 43px;
            /* margin-bottom: 40px; */
			padding:80px 0px;
            color: #333;
            font-weight: 600;  font-family: 'Poppins', sans-serif;
            /* Poppins 폰트 적용, 없으면 sans-serif */
        }

        .form-section {
            max-width: 650px;
            padding-bottom: 50px; 
        }

        .form-section h2 {
            font-size: 28px;
            margin-bottom: 10px;
            color: #000;
            font-weight: 600;
        }

        .form-section p {
            margin-bottom: 30px;
            color: #777;
            font-size: 15px;
        }

        .form-group {
            margin-bottom: 0;
            border-bottom: 2px solid #9f9f9f;
            padding-bottom: 14px;
            padding-top: 40px;
            display: flex;
            align-items: center;
        }

        /* 폼 그룹의 마지막 border-bottom 제거 (contact button 위) */
        .form-section .form-group:has(.contact-button) {
            border-bottom: none !important;
            padding-bottom: 0 !important;
        }

        .form-group:last-of-type {
            border-bottom: none;
            padding-bottom: 0;
        }

        .form-group label {
            flex-basis: 40%;
            margin-bottom: 0;
            font-weight: 600;
            color: #333;
            font-size: 20px;
        }

        /* 입력 필드 공통 스타일 (type="tel" 포함) */
        .form-group input[type="text"],
        .form-group input[type="email"],
        .form-group input[type="tel"], 
        .form-group select {
            flex-grow: 1;
            width: auto;
            padding: 0;
            border: none;
            border-radius: 0;
            font-size: 1em;
            color: #555;
            background-color: transparent;
            box-shadow: none;
            text-align: left;
            box-sizing: content-box;
            min-width: 0; padding-left:30px;
        }
		
		

        .form-group input::placeholder {
            color: #9F9F9F;
            text-align: left; padding-left:0px; 
        }

        .form-group select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-image: url('data:image/svg+xml;utf8,<svg fill="%23aaaaaa" height="15" viewBox="0 0 24 24" width="15" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
            background-repeat: no-repeat;
            background-position: right 0px center;
            background-size: 15px;
            padding-right: 20px;
            cursor: pointer;
        }

        .contact-button {
            background-color: unset;
            border: none;
            border-radius: 50px;
            padding: 15px 30px;
            font-size: 45px;
            font-weight: 600;
            cursor: pointer;
            align-items: center;
            gap: 15px;
            margin-top: 30px;
            transition: all 0.3s ease;
            color: #333;
            display: flex;
            align-items: center;
            justify-content: end;
            width: 100%;
			font-family: 'Poppins', sans-serif;
            /* Poppins 폰트 적용, 없으면 sans-serif */
        }

  

        .contact-button .arrow {
            font-size: 1.5em;
            line-height: 1;
            transition: transform 0.3s ease;
        }

       /* .contact-button:hover .arrow {
            transform: translateX(5px);
        }
         */
        /* Right Section Wrapper for Indicator */
        .right-section-wrapper {
            flex: 2;
            position: relative;
            height: 100%;
            display: flex;
            flex-direction: column;
            padding-right: 30px;
            /* 인디케이터 공간 확보 */
        }

        /* Right Section - 스크롤 가능한 콘텐츠 영역 */
        .right-section {
            background-color: transparent;
            height: 100%;
            overflow-y: scroll; /* 스크롤 가능하도록 */
            -webkit-overflow-scrolling: touch;
            /* iOS 부드러운 스크롤 */
            flex-grow: 1;
            padding: 0;
        }

        /* Content Item - 각 슬라이더 패널처럼 보이도록 (높이 내용만큼) */
        .content-item {
            padding: 50px;
            margin-bottom: 30px; /* 각 카드 사이 간격 */
            background-color: #ffffff;
            /* 각 카드의 배경색 */
            border-radius: 8px;
            /* 카드 모서리 둥글게 */
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
            /* 카드에 부드러운 그림자 추가 */
            border: 1px solid #f0f0f0;
            /* 얇은 테두리 추가 */
            scroll-snap-align: start;
            /* 스크롤 스냅 정렬 */
            min-height: auto;
            /* 내용 길이에 따라 높이 자동 조절 */
        }
		
		  .text-with-background {
    background-color: #f2f2f2;
    /* 배경색 */
    color: #a9a9a9; /* 텍스트 색상 */
    padding: 6px 20px;
    border-radius: 8px;
    /* 모서리 둥글게 */
    font-family: sans-serif; /* 폰트 스타일 */
    font-size: 16px;
   margin-bottom:20px;
    display: inline-block; /* 텍스트 내용만큼만 배경이 생기도록 */
  }

        /* 빈 content-item을 위한 스타일 */
        .empty-content-item {
            background-color: transparent;
            box-shadow: none;
            border: none;
            padding: 0;
            margin-bottom: 0; /* 다음 content-item과의 간격이 없도록 */
        }

        .content-item:last-child {
            margin-bottom: 0;
        }

        .content-item h3 {
            font-size: 32px;
            margin-bottom: 50px;
            color: #333;
            font-weight: 600;
        }

        .content-item p {
            font-size: 19px;
            color: #666;
        }

     
        /* 글로벌 솔루션 섹션 3의 이미지-텍스트 블록 스타일 - 새롭게 추가 및 수정 */
.content-item#section-3 .solution-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    position: relative;
}

.content-item#section-3 .solution-item:last-child {
    margin-bottom: 0;
}

.content-item#section-3 .solution-item-image {
    flex-shrink: 0;
    /* width: 80px; */
    margin-right: 20px;
    text-align: center;
    /* padding-bottom: 20px; 이전 선 코드에서 사용했던 패딩은 제거합니다. */
    position: relative; /* ::after 의 기준점 */
    z-index: 0; /* 이미지 뒤로 */
}

.content-item#section-3 .solution-item-image img {
    display: block;
    max-width: 100%;
    height: auto;
    /* margin-bottom: 5px; 이미지와 선 사이 간격 (필요시 조절) */
}

/* 🌟 선을 위한 핵심 수정 부분 🌟 */
.content-item#section-3 .solution-item-image::after {
   content: '';
    position: absolute;
    left: 50%;
    top: calc(50% + 28px);
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - (50% + 15px) + 30px);
    background-color: #ccc;
    z-index: -1;
}


.content-item#section-3 .solution-item:nth-of-type(3) .solution-item-image::after {
    display: none !important; /* !important를 사용하여 다른 모든 규칙을 강제로 무시합니다. */
}
.content-item#section-3 .solution-item-text {
    flex-grow: 1;
}

.content-item#section-3 .solution-item-text h4 {
    font-size: 1.2em;
        margin-top: 4px;
    margin-bottom: 5px;
    color: #333;
}

.content-item#section-3 .solution-item-text p {
    font-size: 0.95em;
    line-height: 1.5;
    color: #666;
}

/*                                             */


.content-item#section-4 .solution-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    position: relative;
}

.content-item#section-4 .solution-item:last-child {
    margin-bottom: 0;
}

.content-item#section-4 .solution-item-image {
    flex-shrink: 0;
    /* width: 80px; */
    margin-right: 20px;
    text-align: center;
    /* padding-bottom: 20px; 이전 선 코드에서 사용했던 패딩은 제거합니다. */
    position: relative; /* ::after 의 기준점 */
    z-index: 0; /* 이미지 뒤로 */
}

.content-item#section-4 .solution-item-image img {
    display: block;
    max-width: 100%;
    height: auto;
    /* margin-bottom: 5px; 이미지와 선 사이 간격 (필요시 조절) */
}

/* 🌟 선을 위한 핵심 수정 부분 🌟 */
.content-item#section-4 .solution-item-image::after {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(50% + 28px);
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - (50% + 15px) + 50px);
    background-color: #ccc;
    z-index: -1;
}


.content-item#section-4 .solution-item:nth-of-type(6) .solution-item-image::after {
    display: none !important; /* !important를 사용하여 다른 모든 규칙을 강제로 무시합니다. */
}
.content-item#section-4 .solution-item-text {
    flex-grow: 1;
}

.content-item#section-4 .solution-item-text h4 {
    font-size: 1.2em;
    margin-top: 4px;
    margin-bottom: 5px;
    color: #333;
}

.content-item#section-4 .solution-item-text p {
    font-size: 0.95em;
    line-height: 1.5;
    color: #666;
}



/*                                              */



/*                                             */


.content-item#section-5 .solution-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    position: relative;
}

.content-item#section-5 .solution-item:last-child {
    margin-bottom: 0;
}

.content-item#section-5 .solution-item-image {
    flex-shrink: 0;
    /* width: 80px; */
    margin-right: 20px;
    text-align: center;
    /* padding-bottom: 20px; 이전 선 코드에서 사용했던 패딩은 제거합니다. */
    position: relative; /* ::after 의 기준점 */
    z-index: 0; /* 이미지 뒤로 */
}

.content-item#section-5 .solution-item-image img {
    display: block;
    max-width: 100%;
    height: auto;
    /* margin-bottom: 5px; 이미지와 선 사이 간격 (필요시 조절) */
}

/* 🌟 선을 위한 핵심 수정 부분 🌟 */
.content-item#section-5 .solution-item-image::after {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(50% + 34px);
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - (50% + 15px) + 50px);
    background-color: #ccc;
    z-index: -1;
}


.content-item#section-5 .solution-item:nth-of-type(3) .solution-item-image::after {
    display: none !important; /* !important를 사용하여 다른 모든 규칙을 강제로 무시합니다. */
}
.content-item#section-5 .solution-item-text {
    flex-grow: 1;
}

.content-item#section-5 .solution-item-text h4 {
    font-size: 1.2em;
    margin-top: 4px;
    margin-bottom: 5px;
    color: #333;
}

.content-item#section-5 .solution-item-text p {
    font-size: 0.95em;
    line-height: 1.5;
    color: #666;
}



/*                                              */


        .dark-box {
            background-color: #000;
            color: #fff;
            padding: 40px 0px;
            border-radius: 8px;
            margin-top: 30px;
            text-align: center;
        }

        .dark-box p {
            font-size: 19px;
            font-weight: 500;
            line-height: 2; color:#fff;
        }

        .dark-box strong {
            
        }

        /* ----- 스크롤 인디케이터 스타일 ----- */
        .scroll-indicator-container {
            position: absolute;
            right: 0;
            top: 50%; /* 중앙 정렬 */
            transform: translateY(-50%);
            /* 중앙 정렬 */
            display: flex;
            flex-direction: column;
            gap: 10px; /* 각 세션 막대 사이 간격 */
            z-index: 10;
        }

        .session-dot {
            width: 4px;
            /* 막대 너비 */
            height: 30px;
            /* 막대 높이 */
            background-color: #ccc;
            /* 기본 흐린 색상 */
            border-radius: 3px;
            /* 둥근 모서리 */
            opacity: 0.4;
            /* 흐리게 (점선처럼) */
            transition: all 0.2s ease-in-out;
            /* 부드러운 전환 효과 */
            cursor: pointer;
            /* 클릭 가능하게 */
        }

        .session-dot.active {
            background-color: #333;
            /* 활성화된 세션의 진한 색상 */
            opacity: 1;
            /* 선명하게 */  height: 50px;
            transform: scaleX(1.5); /* 굵게 보이도록 약간 확대 */
        }

        /* 오른쪽 섹션 스크롤 바 스타일링 (완전히 숨김) */
        .right-section::-webkit-scrollbar {
            width: 0;
            background: transparent;
        }
        .right-section::-webkit-scrollbar-thumb {
            background: transparent;
        }

        /* 문의 목적 버튼 섹션 레이아웃 수정 */
        .form-group:has(.purpose-buttons-wrapper) {
            flex-direction: column;
            /* 라벨과 버튼 래퍼가 세로로 배치되도록 변경 */
            align-items: flex-start;
            /* 왼쪽 정렬 */
            padding-bottom: 20px;
            border-bottom: 1px solid #eee; /* 하단 border 유지 */
            padding-top: 20px;
        }

        .form-group:has(.purpose-buttons-wrapper) label {
            flex-basis: auto;
            /* 라벨 너비를 자동 조절 */
            width: 100%;
            /* 라벨이 100% 너비를 차지하도록 */
            margin-bottom: 15px;
            /* 라벨과 버튼 그룹 사이 간격 추가 */
            padding-top: 0;
            /* 라벨 상단 패딩 제거 */
            text-align: left;
            /* 라벨 왼쪽 정렬 */
            font-weight: 600; 
            color: #333;
            font-size: 20px; 
        }

        .purpose-buttons-wrapper {
            flex-grow: 1;
            display: flex;
            flex-direction: column; /* 버튼 자체는 세로로 정렬 */
            gap: 10px;
            width: 100%; /* 래퍼가 100% 너비를 차지하도록 변경 */
            margin-top: 0;
            align-items: flex-start; /* 버튼들을 왼쪽으로 정렬 */
        }

        .purpose-button {
            flex-grow: 0;
            /* 유연하게 늘어나지 않도록 */
            background-color: #f5f5f5;
            /* 기본 배경색 */
            border: 1px solid #ddd;
            /* 테두리 */
            border-radius: 8px;
            /* 모서리 둥글게 */
            padding: 15px 20px;
            /* 내부 여백 */
            font-size: 1em;
            text-align: left;
            /* 버튼 내 텍스트 왼쪽 정렬 */
            cursor: pointer;
            transition: all 0.3s ease;
            color: #333;
            font-weight: 500;
            width: 100%;
            /* 버튼 너비를 100%로 설정 */
        }

        .purpose-button span {
            display: block;
            /* 줄바꿈 */
            font-size: 0.85em;
            color: #777;
            margin-top: 5px;
            line-height: 1.4;
            text-align: left; /* 상세 설명 텍스트도 왼쪽 정렬 */
        }

        .purpose-button:hover {
            background-color: #e0e0e0;
            /* 호버 시 배경색 */
            border-color: #ccc;
        }

        .purpose-button.selected {
            background-color: #007bff;
            /* 선택 시 배경색 */
            color: #fff;
            /* 선택 시 글자색 */
            border-color: #007bff;
            box-shadow: 0 4px 10px rgba(0, 123, 255, 0.2);
        }

        .purpose-button.selected span {
            color: rgba(255, 255, 255, 0.8);
            /* 선택 시 하위 텍스트 색상 */
        }


.menu-hamburger {
    position: fixed; 
	
    top: 32px;
    right: 5%;
    z-index: 1000;
    cursor: pointer;
    width: 30px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index:1002;
}

.menu-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: black; /* 기본 흰색 */
    transition: all 0.3s ease-in-out;
}

.menu-hamburger.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-hamburger.active span:nth-child(2) {
    opacity: 0;
}

.menu-hamburger.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

.menu-hamburger.black-logo span {
    background: black;
}

.menu-hamburger.active span {
    background: white;
}

/* 메뉴 오버레이 스타일 (기존 홈페이지와 동일) */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    padding: 80px 140px;
    box-sizing: border-box;
    color: white;
    align-items: flex-start;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 1001;
}

.menu-overlay.active {
    display: flex;
    opacity: 1;
}

.menu-overlay .close-btn {
    position: absolute;
    top: 28px;
    right: 5%;
    font-size: 24px;
    cursor: pointer;
}

.menu-content-wrapper {
    display: flex;
    width: 100%;
    padding-top: 150px;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.main-menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 100px;
    z-index: 2;
}

.main-menu > div {
    /* flex-grow: 1; */
}

.main-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.main-menu ul:first-child li {
    margin-bottom: 25px;
}

.main-menu ul:first-child li a {
    font-size: 43px;
    font-weight: 300;
    letter-spacing: -2px;
    display: block;
    white-space: nowrap;
}

.main-menu ul:first-child li a:hover {
    color: #b366ff;
}

.main-menu ul:last-child {
    text-align: left;
}

.main-menu ul:last-child li.has-submenu {
    margin-bottom: 25px;
    position: relative;
}

.main-menu ul:last-child li.has-submenu > div {
    position: relative;
    display: inline-block;
}

.main-menu ul:last-child li.has-submenu > div > a {
    font-size: 48px;
    font-weight: 500;
    gap:20px;
    color: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.main-menu ul:last-child li.has-submenu > div > a.active {
    color: white;
}

.main-menu ul:last-child li.has-submenu > div > a .menu-icon {
    font-size: 0.6em;
    margin-left: 10px;
}

.menu-icon {
    font-size: 0.6em;
    width:40px;
    margin-right: 10px;
    transition: transform 0.3s ease;
    display: inline-block;
    transform: rotate(0deg);
}

.main-menu ul:last-child li.has-submenu > div > a.active .menu-icon {
    transform: rotate(180deg);
}

.sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 6px;
    right: calc(100% + 50px);
    width: 400px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    text-align: left;
    z-index: 10;
    pointer-events: none;
}

.sub-menu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sub-menu li {
    margin-bottom: 15px;
}

.sub-menu li a {
    color: rgba(255, 255, 255, 0.7);
    text-align: right;
    text-decoration: none;
    font-size: 28px;
    font-weight: 200;
    display: block;
    white-space: nowrap;
    transition: color 0.3s ease;
    font-size: 40px !important;
}

.sub-menu li a:hover {
    color: #b366ff;
}











.main-footer {
    background-color: #1c1c1c; /* 어두운 배경 */
    color: white;
    padding: 60px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.main-footer .footer-top {
    width: 100%;
  
    margin-bottom: 50px;
}

.main-footer .contact-box {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.5); /* 테두리 */
    border-radius: 80px; /* 둥근 모서리 */
    padding: 20px 30px; gap:40px;
    background-color: #1C1C1C /* 약간 투명한 배경 */
}

.main-footer .contact-text {
    font-family: 'Poppins', sans-serif;
    font-size: 5em;
    font-weight: 300;
   
}

.main-footer .contact-button {
    background: none;
    border: none;
    border-radius: 50%;
  
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* .main-footer .contact-button:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: white;
} */

/* .main-footer .contact-button img {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1); 흰색 화살표
}
 */
.main-footer .footer-bottom {
    width: 100%;
 
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* 반응형을 위해 줄바꿈 허용 */
    padding-top: 30px;
   
}

.main-footer .footer-logo img {
    /* 로고 아이콘 크기 */
    height: auto;
    filter: brightness(0) invert(0.7); /* 회색조 Y 아이콘 */
}

.main-footer .copyright {
    font-family: 'Poppins', sans-serif; font-style: italic;
    font-size: 1.5em;
    color: rgba(255, 255, 255, 0.5);
}

.main-footer .contact-info {
    font-family: 'Poppins', sans-serif; font-style: italic;
    font-size: 1.5em;
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    gap: 20px;
}


/* 1600px 이하 */
@media screen and (max-width: 1600px) {
    .main-title {
        font-size: 70px;
    }
    .description-ko {
        font-size: 18px;
    }
    .description-ko.sub-text {
        font-size: 15px;
    }
    .success-title {
        font-size: 100px;
        bottom: -80px;
    }
    .y-icon {
        width: 70px;
        bottom: -80px;
    }
    .global-solution-button {
        top: -80px;
    }
	
	.communication-section .section-title {
        font-size: 22px;
        margin-bottom: 40px;
    }
    .communication-section .text-block .korean-text {
        font-size: 24px;
    }
    .communication-section .text-block .english-text {
        font-size: 15px;
    }
	
	 .clients-section .section-header {
        margin-bottom: 40px;
    }
    .clients-section .section-title {
        font-size: 22px;
    }
    .clients-section .bowing-figure img {
        width: 100px;
    }
    .clients-section .bowing-figure .speech-bubble {
        font-size: 13px;
        bottom: 70px;
        right: 15px;
    }
    .clients-section .logo-grid {
        gap: 30px;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }
    .clients-section .logo-grid img {
        max-width: 150px;
    }
	
	
}

/* 1000px 이하 (태블릿) */
@media screen and (max-width: 1000px) {
    .logo {
        top: 20px;
        left: 20px;
    }
    .menu-hamburger {
        top: 20px;
        right: 20px;
        width: 25px;
        height: 18px;
    }

    .menu-overlay {
        padding: 60px 5%;
    }
    .menu-content-wrapper {
        padding-top: 100px;
        flex-direction: column;
        gap: 50px;
    }
    .main-menu {
        flex-direction: column;
        gap: 10px;
    }
    .main-menu ul:first-child li a {
        font-size: 32px;
    }
    .main-menu ul:last-child li.has-submenu > div > a {
        font-size: 36px;
        justify-content: flex-start;
        gap: 0px;
    }
    .sub-menu {
        position: static;
        width: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        margin-top: 10px;
        padding-left: 30px;
        transition: none;
        display: none;
        text-align: left;
    }
    .sub-menu.active {
        padding-left: 43px;
        display: block;
    }
    .sub-menu li a {
        font-size: 28px !important;
        text-align: left;
    }
    .main-menu ul:last-child li.has-submenu > div > a .menu-icon {
        width: 20px;
        margin-right: 10px;
        transform: rotate(90deg);
        gap: 0px;
    }
    .main-menu ul:last-child li.has-submenu > div > a.active .menu-icon {
        transform: rotate(270deg);
    }

    /* About Us 히어로 섹션 조정 */
    .about-us-hero .hero-content {
        padding: 0 20px;
    }
    .global-solution-button {
        top: -60px;
        right: 20px;
    }
    .main-title {
        font-size: 50px;
        margin-top: 30px;
    }
    .description-ko {
        font-size: 16px;
        max-width: 100%;
    }
    .description-ko.sub-text {
        font-size: 14px;
        margin-top: 15px;
        margin-bottom: 30px;
    }
    .success-title {
        font-size: 80px;
        bottom: -60px;
        transform: translateX(-2%);
    }
    .y-icon {
        width: 60px;
        bottom: -60px;
        right: 20px;
    }
	
	.communication-section {
        padding: 80px 5%;
    }
    .communication-section .section-title {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .communication-section .content-wrapper {
        flex-direction: column; /* 세로 정렬 */
        gap: 30px;
    }
    .communication-section .text-block .korean-text {
        font-size: 22px;
    }
    .communication-section .text-block .english-text {
        font-size: 14px;
    }
    .communication-section .image-container .image-text {
        font-size: 12px;
        padding: 3px 10px;
    }
	
	
	.history-section {
        padding: 80px 5%;
    }
    .history-section .section-title {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .history-section .history-content-wrapper {
        flex-direction: column; /* 세로 정렬 */
        gap: 30px;
    }
    .history-section .history-text-block,
    .history-section .history-image-block {
        min-width: 100%; /* 너비 100% */
        max-width: 100%;
    }
    .history-section .history-korean-text {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .history-section .history-quote {
        font-size: 24px;
    }
    .history-section .history-image-block .image-overlay-text {
        font-size: 18px;
        padding: 8px 15px;
    }
    .history-section .history-english-quote {
        font-size: 28px;
        right: 0;
        bottom: 0;
        padding-right: 0;
        text-align: center; /* 모바일에서 중앙 정렬 */
        position: static; /* 절대 위치 해제 */
        margin-top: 20px;
    }
	
}

/* 767px 이하 (모바일) */
@media screen and (max-width: 767px) {
    .logo {
        top: 15px;
        left: 15px;
        width: 100px;
    }
    .menu-hamburger {
        top: 15px;
        right: 15px;
        width: 22px;
        height: 20px;
    }
    .main-menu ul:first-child li {
        margin-bottom: 10px;
    }
    .main-menu ul:first-child li a {
        font-size: 20px;
    }
    .main-menu ul:last-child li.has-submenu {
        margin-bottom: 15px;
    }
    .main-menu ul:last-child li.has-submenu > div > a {
        font-size: 25px;
    }
    .sub-menu li a {
        font-size: 20px !important;
    }
    .menu-overlay {
        padding: 50px 20px;
        overflow-y: auto; /* 모바일에서 메뉴 내용이 길어질 경우 스크롤 가능하도록 */
    }
    .menu-content-wrapper {
        padding-top: 20px;
    }

    /* About Us 히어로 섹션 조정 */
    .about-us-hero .hero-content {
        padding: 0 15px;
    }
    .global-solution-button {
        top: -40px;
        right: 15px;
        font-size: 10px;
        padding: 5px 15px;
    }
    .main-title {
        font-size: 38px;
        margin-top: 20px;
    }
    .description-ko {
        font-size: 14px;
        line-height: 1.5;
    }
    .description-ko.sub-text {
        font-size: 12px;
        margin-top: 10px;
        margin-bottom: 20px;
    }
    .success-title {
        font-size: 60px;
        bottom: -40px;
        left: 15px; /* 모바일에서는 왼쪽 패딩에 맞춰 조정 */
        transform: none; /* 변형 제거 */
    }
    .y-icon {
        width: 40px;
        bottom: -40px;
        right: 15px;
    }
	
	.communication-section {
        padding: 50px 15px;
    }
    .communication-section .section-title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .communication-section .text-block .korean-text {
        font-size: 18px;
    }
    .communication-section .text-block .english-text {
        font-size: 12px;
    }
    .communication-section .image-container .image-text {
        font-size: 10px;
        padding: 3px 8px;
        top: 10px;
        left: 10px;
    }
	
	
	.clients-section {
        padding: 50px 15px;
    }
    .clients-section .section-title {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .clients-section .bowing-figure img {
        width: 60px;
    }
    .clients-section .bowing-figure .speech-bubble {
        font-size: 10px;
        padding: 5px 10px;
    }
    .clients-section .logo-grid {
        gap: 15px;
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    }
    .clients-section .logo-grid img {
        max-width: 100px;
    }
	
	 .history-section {
        padding: 50px 15px;
    }
    .history-section .section-title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .history-section .history-korean-text {
        font-size: 14px;
        line-height: 1.6;
    }
    .history-section .history-quote {
        font-size: 20px;
    }
    .history-section .history-image-block .image-overlay-text {
        font-size: 16px;
        padding: 6px 12px;
    }
    .history-section .history-english-quote {
        font-size: 24px;
        margin-top: 15px;
    }
	
	 .main-footer {
        padding: 30px 15px;
    }
    .main-footer .contact-box {
        padding: 10px 15px;
        border-radius: 40px;
    }
    .main-footer .contact-text {
        font-size: 20px;
        text-align: center; /* 모바일에서 중앙 정렬 */
    }
    .main-footer .contact-button {
        width: 40px;
        height: 40px;
    }
    .main-footer .contact-button img {
        width: 16px;
        height: 16px;
    }
    .main-footer .footer-bottom {
        padding-top: 15px;
    }
    .main-footer .footer-logo img {
        width: 30px;
    }
    .main-footer .copyright,
    .main-footer .contact-info {
        font-size: 12px;
    }
	
}



.pb-30 {padding-bottom:30px;}
.pt-30 {padding-top:30px;}
.pt-40 {padding-top:40px;}
.mt-30 {margin-top:30px;}

.line-horizontal {
  width: 100%;            /* 가로 길이 */
  height: 1px;            /* 선 두께 */
  background-color: #ccc; /* 선 색상 */
  margin: 50px 0;         /* 위아래 여백 */
}

      


        /* Responsive Design */
        @media (max-width: 1024px) {
            .container {
                flex-direction: column;
                height: auto;
                margin-top: 70px;
                padding: 30px;
                gap: 30px;
            }

            html, body {
                overflow: auto;
            }

            .header {
                position: static;
            }

            .left-section {
                padding-right: 0;
                overflow-y: scroll; /* 스크롤 가능하도록 유지 */
            }
            /* 모바일 스크롤바 숨기기 (left-section) */
            .left-section::-webkit-scrollbar {
                display: none;
            }
            .left-section {
                -ms-overflow-style: none;
                scrollbar-width: none;
            }


            .section-title {
                font-size: 2em;
            }

            .right-section-wrapper {
                height: auto;
                padding-right: 0;
            }

            .right-section {
                padding: 30px;
                height: auto;
                overflow-y: visible;
                scroll-snap-type: none;
                padding-top: 0; /* 모바일에서는 필요 없을 수 있습니다. */
            }
            
            /* 모바일에서 빈 content-item의 높이 조절 */
            .empty-content-item {
                height: 50px !important;
                /* 모바일에서는 높이를 줄일 수 있습니다. */
            }

            .content-item {
                min-height: auto;
                margin-bottom: 20px;
            }

            .scroll-indicator-container,
            .session-dot {
                display: none;
                /* 모바일에서는 인디케이터 숨김 */
            }
        }

        @media (max-width: 768px) {
            .header {
                padding: 15px 20px;
            }

            .section-title {
                font-size: 1.8em;
                margin-bottom: 30px;
            }

            .form-section h2 {
                font-size: 1.3em;
            }

            .form-group {
                flex-direction: column;
                align-items: flex-start;
            }

            .form-group label {
                flex-basis: auto;
                margin-bottom: 8px;
            }

            /* 모바일에서 입력 필드 정렬 */
            .form-group input[type="text"],
            .form-group input[type="email"],
            .form-group input[type="tel"], 
            .form-group select {
                text-align: left;
            }

            .contact-button {
                width: 100%;
                justify-content: center;
            }

            /* 기존 ul li 관련 스타일 (새로운 구조에서는 사용되지 않음)
            .content-item ul li {
                padding-left: 25px;
            }

            .content-item ul li::before {
                font-size: 1em;
            }
            */

            /* 모바일에서 문의 목적 버튼 조정 */
            .form-group:has(.purpose-buttons-wrapper) {
                flex-direction: column;
                align-items: flex-start; 
                padding-top: 20px; 
            }
            .form-group:has(.purpose-buttons-wrapper) label {
                width: 100%;
                text-align: left; 
                margin-bottom: 10px; 
                padding-top: 0; 
            }
            .purpose-buttons-wrapper {
                width: 100%;
                align-items: flex-start; 
            }
            .purpose-button {
                width: 100%;
                text-align: left; 
                padding: 12px 15px;
                font-size: 0.9em;
            }
            .purpose-button span {
                text-align: left;
                font-size: 0.75em;
            }
			
			
			
			.contact-button {
    background-color: unset;
    border: none;
    border-radius: 50px;
    padding: 15px 0px;
    font-size: 45px;
    font-weight: 600;
    cursor: pointer;
    align-items: left;
    gap: 15px;
    margin-top: 30px;
    transition: all 0.3s ease;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: start;
    width: 100%;
    font-family: 'Poppins', sans-serif;
}



    .right-section {
        padding: 0px;
        height: auto;
        overflow-y: visible;
        scroll-snap-type: none;
        padding-top: 0;
    }
	
.content-item {
        min-height: auto;
        margin-bottom: 20px; padding:20px;
    }
	
	
	.content-item h3 {
    font-size: 1.5em;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

.content-item p {
    font-size: 1em;
    color: #666;
}


.text-with-background {
    background-color: #f2f2f2;
    color: #a9a9a9;
    padding: 4px 10px;
    border-radius: 8px;
    font-family: sans-serif;
    font-size: 1em;
    margin-bottom: 10px;
    display: inline-block;
}

.dark-box strong { color:#fff;
}


.line-horizontal {
   margin: 20px 0;         /* 위아래 여백 */
}
			
			.content-item#section-3 .solution-item-image::after {
   display:none;
}

.content-item#section-4 .solution-item-image::after {
   display:none;
}

			.content-item#section-5 .solution-item-image::after {
   display:none;
}
			
        }