@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
        
:root {
	--primary: #2D8A4E;
	--primary-dark: #1E5E35;
	--accent: #3B82F6;
}

body { font-family: 'Pretendard', sans-serif; overflow-x: hidden; background-color: #fff; color: #1e293b; }

/* 고급형 스크롤바 */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 10px; }

/* [GNB] 드롭다운 및 브릿지 (메인 시안 ver08과 100% 동일) */
.nav-item { position: relative; }
.nav-item:hover .dropdown { display: block; opacity: 1; transform: translateY(0); }
.dropdown {
	display: none; opacity: 0; transform: translateY(10px);
	position: absolute; top: 100%; /* left: 50%; transform: translateX(-50%); */
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	padding-top: 20px; /* 마우스 영역 교량 역할 */
}
/* 드롭다운과 메뉴 사이 빈 공간을 메워주는 가상 요소 */
.dropdown::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 20px;
}

/* [모바일 메뉴] */
#mobile-menu { clip-path: circle(0% at 100% 0%); transition: clip-path 0.7s cubic-bezier(0.77, 0, 0.175, 1); }
#mobile-menu.active { clip-path: circle(150% at 100% 0%); }

/* 아코디언 */
.acc-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.acc-item.active .acc-content { max-height: 400px; }
.acc-item.active .fa-chevron-down { transform: rotate(180deg); }

/* [애니메이션 초기상태] */
.reveal { opacity: 0; transform: translateY(40px); }

/* [Top 버튼] 스타일 및 애니메이션 */
#btn-top {
	transition: all 0.4s ease;
}
#btn-top.visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
#btn-top.hidden-btn {
	opacity: 0;
	transform: translateY(20px);
	pointer-events: none;
}

/* 서브 비주얼 줌 애니메이션 */
.sub-hero-bg { transform: scale(1.1); transition: transform 6s ease-out; }
.loaded .sub-hero-bg { transform: scale(1); }

/* 탑 가로형 탭(Tab) 활성화 스타일 */
.tab-item { transition: all 0.3s ease; position: relative; }
.tab-item.active { color: var(--primary); font-weight: 800; }
.tab-item.active::after {
	content: ''; position: absolute; bottom: -25px; left: 0; right: 0; height: 3px; background-color: var(--primary);
}
@media (max-width: 1024px) {
	.tab-item.active::after { display: none; }
}
@media (max-width: 768px) {
	.admin-login {
		display:none;
	}
}