* { 
    margin:0; 
    padding:0; 
    box-sizing:border-box; 
    font-family: "Pretendard", Pretendard, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

html { font-size: 16px; }

body { 
    margin: 0;
    padding: 0;
    font-size:1rem;
    height: 100%;   /* 꼭 auto */
    height: auto;
    overflow: auto;  /* ✅ 기본 스크롤 */
    font-weight: 100;
  }

  html, body {
  -webkit-text-size-adjust: 100%;
  touch-action: manipulation;
}

body.page-main{overflow-x: hidden !important;}

/*
html.lenis, html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto!important; }
.lenis.lenis-stopped { overflow:hidden; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
*/

h1{font-size:4.5rem}
h3{font-size:3rem}



/* 하단 고정 로고 버튼 */
#bottom-header {position: fixed; bottom:0px; left: 50%; transform: translateX(-50%);  z-index: 1000; background: #000;}

.logo-btn { width: 60px; height: 60px; color: #fff; border: none; border-radius:100%; cursor: pointer;  transition: transform 0.4s ease; overflow:hidden; background: transparent;}
.logo-btn img {object-fit:cover; width: 40%; align-items: center; margin-left:-2px;}
.logo-btn:hover { transform: scale(1.1);}

/* 슬라이드 메뉴 */
#half-menu { position: fixed; top: 0; left: 0; width: 100%; height: 50vh; background: rgba(0, 0, 0, 0.92); color: #fff;
  display: flex; flex-direction: column; justify-content: center; align-items: center; transform: translateY(-100%);
  transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1); animation: fadeInBg 0.8s ease forwards; z-index: 999; background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(8px); /* 유리벽 느낌 */
  transition: none; /* GSAP으로 제어하므로 transition 제거 */
}
@keyframes fadeInBg {
  from { background: rgba(0, 0, 0, 0); }
  to { background: rgba(0, 0, 0, 0.92); }
}

#half-menu::after {content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: rgba(255, 255, 255, 0.2);}
#half-menu.active { transform: translateY(0);}

/* 메뉴 텍스트 */
#half-menu ul { list-style: none; padding: 0; margin: 0; text-align: center;}
#half-menu li {transform: translateY(40px); opacity: 0; margin:0.5rem 0}
#half-menu a {font-size: 2rem; letter-spacing: 1px; color: #fff; text-decoration: none; transition: opacity 0.3s ease;}
#half-menu a:hover {opacity: 0.6;}

/* 닫기 버튼 하단 중앙 */
.close-btn {position: absolute; bottom: 40px; /* 살짝 위로 띄워줌 */ left: 50%; transform: translateX(-50%);
  background: none; border: none; font-size: 1rem; color: #fff; cursor: pointer;
  opacity: 0.8; transition: opacity 0.3s ease, transform 0.3s ease;}

.close-btn:hover { opacity: 1; transform: translateX(-50%) scale(1.1);}
.close-btn::after { content: ""; display: block; width: 20px; height: 1px; background: rgba(255,255,255,0.4); margin: 6px auto 0; transition: width 0.3s ease;}
.close-btn:hover::after {width: 40px;}

/*=====================================
  Footer
=====================================*/
footer{background-color: #fff;}
footer ul {display:flex; flex-wrap:wrap; list-style:none; border:1px solid #333; color:#000; padding:0; margin:0;}
footer ul li {display:flex; flex:1 0 33%; border:1px solid #333;padding:5rem 2rem; line-height:1; align-items:center; justify-content:center; flex-direction:column;}
footer ul li:nth-child(1){align-items:normal;}
footer ul li p{line-height:1; margin-bottom:0;}
footer .copyright{padding:10px 2rem; color:#000; border:2px solid #333; border-top:0;}


/*=====================================
  백버튼, 탑버튼
=====================================*/
.floating-btns {position: fixed;right: 40px; bottom: 0px; display: flex; flex-direction:column;  gap: 2px; z-index: 9999; pointer-events: none; transition: opacity 0.4s ease;}
.floating-btns button {pointer-events: auto; min-width: 60px; height: 60px; font-size: 0.9rem; color: #FFF; background: #000; 
  cursor: pointer; transition: all 0.3s ease;  border:none;  font-size:0.75rem;}
.floating-btns button:hover { background: #222; color: #fff;}

/* TOP 버튼 기본 상태 — 숨김 */
.btn-top { opacity: 0; visibility: hidden; transform: translateY(30px); /* 아래에서 대기 */ transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s; z-index: 999;}
.btn-top.show { opacity: 1; visibility: visible; transform: translateY(0); /* 위로 슬라이드 */}

