@charset "utf-8";
@import url('fonts.css');

/*********************************************************************************
HMG TECH SUMMIT 2026 - Layout (Header / Footer)
*********************************************************************************/

/* page chrome (shared) */
/* overflow-x를 html/body에 두면 해당 요소가 스크롤러가 되어 모바일 주소창 접힘 때 덜컥임.
   가로 잘림은 #wrapper에만 두고, 세로 스크롤은 window(솔인스타즈와 동일)로 유지 */
html{
	scroll-padding-top:80px;
	--app-svh:100svh;
	--header-h:65px;
	background:#000f30;
}
body{
	background:#000f30; color:#fff; font-size:14px; line-height:1.5; overflow:visible;
	font-family:'Hyundai Sans Text Pro', 'pretendard', sans-serif;
	min-height:100%; min-height:100vh; min-height:100svh; min-height:var(--app-svh, 100svh);
}
/* GSAP pin 구간 서브픽셀 틈으로 밝은 배경이 비치지 않게 */
.pin-spacer{background-color:#000f30 !important;}
#wrapper{
	background:#000f30; color:#fff; min-width:320px; overflow-x:clip;
	font-family:'Hyundai Sans Text Pro', 'pretendard', sans-serif;
	min-height:100%; min-height:100vh; min-height:100svh; min-height:var(--app-svh, 100svh);
	display:flex; flex-direction:column;
}
/* 본문 래퍼만 flex-grow — main은 block 유지 (GSAP ScrollTrigger pin-spacer와 flex 충돌 방지) */
#wrapper > div:not(#hd):not(#ft){
	flex:1 0 auto; width:100%;
}
#wrapper main{width:100%;}
#ft{flex:0 0 auto; margin-top:auto; width:100%;}
a{color:#fff; text-decoration:none;}
button{border:0; background:none; cursor:pointer; font-family:inherit; color:inherit;}
img{max-width:100%; vertical-align:top;}
.inner__cen1680{max-width:1600px;}
.main__contents__wr[id],
.sub__contents__wr[id],
.sub__faq__group[id]{scroll-margin-top:80px;}

/* display titles → Head Pro (Figma Head Bold/Medium) */
.section__title,
.sub__title,
.main__hero__title,
.sub__location__info__title,
.main__location__info__title,
.sub__timetable__day__title,
.sub__timetable__keynote__item__title,
.sub__faq__group__title,
.sub__faq__section .faq__title{
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
}

/* shared buttons */
.main__btn__a{
	display:inline-flex; align-items:center; justify-content:center; gap:7px;
	height:50px; padding:0 32px; border-radius:9px; border:1px solid #fff;
	font-size:16px; font-weight:500; letter-spacing:-0.16px; line-height:24px;
	box-sizing:border-box; transition:opacity .2s;
}
.main__btn__a img{width:12px; height:10px; object-fit:contain; flex-shrink:0;}
.main__btn__a--fill{background:#fff; color:#000;}
.main__btn__a--dark{background:#000; color:#fff; flex:1; min-width:0;}
.main__btn__a:hover{opacity:.85;}

/*********************************************************************************
Header
*********************************************************************************/
header.header{
	position:fixed; top:0; left:0; width:100%; height:var(--header-h); z-index:1100;
	background:transparent;
	box-sizing:border-box;
	background-color:rgba(255,255,255,0);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
/* 다른 섹션과 동일: .inner__cen1500 (width:90% / max-width:1500 / margin:0 auto) */
.header .inner__cen1500.header__main__box,
.header__main__box{
	position:relative; display:flex; align-items:center; justify-content:space-between;
	width:90%; max-width:1500px; height:var(--header-h); margin:0 auto; padding:0; box-sizing:border-box;
}
.logo__wr{display:flex; align-items:center; gap:0; flex-shrink:0; z-index:2;}
.logo__all{width:212px;}
.logo__mark{
	display:block; width:48px; height:48px; object-fit:contain;
	mix-blend-mode:lighten;
}
.logo__text{
	display:block; width:118px; height:20px; margin-left:-5px; object-fit:contain;
}

/* PROGRAMS(가운데 메뉴)가 inner 정중앙에 오도록 정렬 */
.main__nav__wr{
	position:absolute; inset:0; z-index:1; pointer-events:none;
	display:flex; align-items:center;
}
.main__nav__ul{
	display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:54px;
	width:100%; margin:0; padding:0; list-style:none;
}
.main__nav__li{position:relative; margin:0 !important; padding:0; pointer-events:auto;}
.main__nav__li:nth-child(1){justify-self:end;}
.main__nav__li:nth-child(2){justify-self:center;}
.main__nav__li:nth-child(3){justify-self:start;}
.main__nav__a{
	display:block; font-size:16px; font-weight:500; line-height:29px;
	letter-spacing:-0.18px; text-transform:uppercase; white-space:nowrap;
	color:#fff;
}

.header__util__wr{display:flex; align-items:center; justify-content:flex-end; gap:22px; flex-shrink:0; z-index:2;}
.btn__lang{display:flex; align-items:center; gap:8px; position:relative;}
.btn__lang__a{
	font-size:14px; font-weight:400; line-height:22px; text-transform:uppercase;
	color:#fff; opacity:.3;
}
.btn__lang__a--active{font-weight:700; opacity:1;}
.btn__lang__divider{display:block; width:1px; height:12px; background:rgba(255,255,255,.4);}
.header__cta__wr{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.header__register__btn,
.header__lookup__btn{
	display:inline-flex; align-items:center; justify-content:center;
	flex-shrink:0; width:auto; height:36px; padding:0 16px; border-radius:100px;
	font-size:16px; font-weight:700; line-height:1.5; letter-spacing:-0.4px;
	white-space:nowrap; box-sizing:border-box; overflow:visible;
}
.header__hammenu__btn{
	display:none; align-items:center; justify-content:center;
	position:relative;
	width:44px; height:44px; margin-right:-10px; padding:0; flex-shrink:0;
	background:transparent; border-radius:0;
}
.header__hammenu__btn span{
	position:absolute; left:50%; top:50%;
	width:22px; height:1.5px; margin:-0.75px 0 0 -11px;
	background:#fff; border-radius:1px; pointer-events:none;
	transition:transform .18s cubic-bezier(0.22, 1, 0.36, 1), opacity .12s ease;
}
.header__hammenu__btn span:nth-child(1){transform:translateY(-7.5px);}
.header__hammenu__btn span:nth-child(3){transform:translateY(7.5px);}
.header__hammenu__btn.is-open span:nth-child(1){transform:rotate(45deg);}
.header__hammenu__btn.is-open span:nth-child(2){opacity:0;}
.header__hammenu__btn.is-open span:nth-child(3){transform:rotate(-45deg);}

.header__register__btn{
	background:#fff; border:1px solid #fff; color:#191919;
}
.header__lookup__btn{
	background:transparent; border:1px solid #fff; color:#fff; font-weight:400;
}
.header__lookup__btn:hover{background:#fff; color:#191919;}


/*********************************************************************************
ham menu
*********************************************************************************/
body.is-ham-open header.header{
	background:#000f30;
}

.ham__menu__wr{
	display:flex; flex-direction:column;
	position:fixed !important;
	top:var(--header-h) !important;
	right:0; left:0; bottom:auto;
	height:calc(var(--app-svh, 100svh) - var(--header-h));
	z-index:1000;
	box-sizing:border-box; overflow:hidden;
	background:#000f30;
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .15s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear .15s;
}
.ham__menu__wr.is-open{
	opacity:1; visibility:visible; pointer-events:auto;
	transition-delay:0s;
}
.ham__menu__scroll{
	flex:1 1 auto; min-height:0;
	overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
.ham__menu__scroll > .inner__cen1500,
.ham__menu__ft > .inner__cen1500{
	width:100%; max-width:none; margin:0;
	padding-left:20px; padding-right:20px; box-sizing:border-box;
}
.ham__menu__body{
	display:flex; flex-direction:column; flex-shrink:0; gap:40px;
	padding:40px 0; box-sizing:border-box;
}
.ham__menu__lang{
	display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.hambtn__lang__a{
	font-size:14px; font-weight:400; line-height:22px;
	text-transform:uppercase; color:#fff; opacity:.4;
	transition:opacity .2s;
}
.hambtn__lang__a--active{font-weight:700; opacity:1;}
.hambtn__lang__a:hover{opacity:1;}
.hambtn__lang__divider{display:block; width:1px; height:12px; background:#fff; opacity:.4;}

.ham__menu__navi{margin-top:0;}
.ham__menu__ul{
	display:flex; flex-direction:column; gap:40px;
	margin:0; padding:0; list-style:none;
}
.ham__menu__a{
	display:block;
	font-family:'pretendard', 'Hyundai Sans Text Pro', sans-serif;
	font-size:22px; font-weight:600; line-height:22px;
	color:#fff; text-transform:uppercase;
	transition:opacity .2s;
}
.ham__menu__a:hover{opacity:.72;}

.ham__menu__register{
	display:flex; align-items:center; gap:8px; flex-shrink:0;
	margin-top:0;
}
.ham__register__btn,
.ham__lookup__btn{
	display:inline-flex; align-items:center; justify-content:center;
	flex-shrink:0; width:auto; height:auto; padding:6px 16px; border-radius:100px;
	font-size:12px; line-height:1.5; letter-spacing:-0.3px;
	white-space:nowrap; box-sizing:border-box; overflow:visible;
	transition:opacity .2s;
}
.ham__register__btn{
	background:#fff; border:1px solid #fff; color:#191919; font-weight:700;
}
.ham__lookup__btn{
	background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.01) 100%);
	border:1px solid #fff; color:#fff; font-weight:400;
}
.ham__lookup__btn:hover,
.ham__register__btn:hover{opacity:.85;}

.ham__menu__ft{
	display:flex; flex-direction:column; align-items:stretch;
	flex-shrink:0; margin-top:0;
	padding:40px 0 calc(24px + env(safe-area-inset-bottom, 0px));
	box-sizing:border-box;
}
.ham__menu__ft .inner__cen1500{
	display:flex; flex-direction:column; align-items:flex-start; gap:24px;
}
.ham__menu__ft__policy{
	display:flex; align-items:flex-start; gap:16px;
}
.ham__menu__ft__policy a{
	font-size:12px; font-weight:700; line-height:1.5; letter-spacing:-0.3px; color:#fff;
}
.ham__menu__ft__info{
	display:flex; flex-direction:column; gap:8px; width:100%;
}
.ham__menu__ft__item{
	display:flex; flex-direction:column; gap:4px; align-items:flex-start;
}
.ham__menu__ft__label{
	font-size:10px; font-weight:400; line-height:1.1; letter-spacing:0;
	text-transform:uppercase; color:#fff; opacity:.5;
}
.ham__menu__ft__value{
	font-size:12px; font-weight:400; line-height:1.6; color:#fff; opacity:.9;
}
.ham__menu__ft__copy{
	font-family:'Montserrat', 'Hyundai Sans Text Pro', sans-serif;
	font-size:10px; font-weight:400; line-height:22px; color:#fff;
}

/*********************************************************************************
Footer
*********************************************************************************/
.footer{
	position:relative; background:#000f30; color:#fff; padding:0;
	border-top:1px solid #222; box-sizing:border-box;
}
.footer__inner{padding:60px 0; box-sizing:border-box;}
.footer__row{
	display:flex; align-items:flex-end; justify-content:space-between;
	gap:40px; width:100%;
}
.footer__left{
	display:flex; flex-direction:column; align-items:flex-start;
	flex:0 1 auto; min-width:0;
}
.footer__logos{
	display:flex; align-items:center; justify-content:center;
	gap:24px; flex-shrink:0;
}
.footer__logo{
	display:block; overflow:hidden; flex-shrink:0;
}
.footer__logo--summit{width:76px; height:45px;}
.footer__logo--group{width:122px; height:39px;}
.footer__logo img{
	display:block; width:100%; height:100%; max-width:none; object-fit:contain;
}
.footer__meta{
	display:flex; flex-direction:column; align-items:flex-start;
	gap:17px; padding-top:36px; width:100%;
}
.footer__contact{
	display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap;
}
.footer__contact__text{
	font-size:16px; font-weight:500; line-height:24px; color:#fff;
	white-space:nowrap; opacity:0.6;
}
.footer__policy{
	display:flex; align-items:flex-start; gap:20px; padding:0;
}
.footer__policy a{
	font-size:16px; font-weight:700; line-height:24px; color:#fff;
	white-space:nowrap;
}
.footer__copy{
	flex-shrink:0; margin:0; padding-top:25px;
	font-size:14px; font-weight:400; line-height:14px; color:#fff;
	text-align:right; white-space:nowrap; opacity:0.36
}
.footer__gotop{
	position:fixed; right:60px; bottom:60px; top:auto;
	z-index:900;
	display:flex; align-items:center; justify-content:center;
	width:64px; height:64px; box-sizing:border-box;
	border:2px solid #fff; opacity:0.5; background:transparent;
}
.footer__gotop img{
	display:block; width:32px; height:32px; max-width:none; object-fit:cover;
}
body.is-ham-open .footer__gotop{visibility:hidden; pointer-events:none;}

/*********************************************************************************
Responsive
*********************************************************************************/
@media screen and (max-width:1280px){
	.main__nav__ul{column-gap:28px;}
	.main__nav__a{font-size:16px;}
}
@media screen and (max-width:1024px){
	.main__nav__wr{display:none;}
	.header__lookup__btn{display:none;}
	.header__cta__wr{gap:15px;}
	.btn__lang{display:none;}
	.header__hammenu__btn{display:flex;}
}
@media screen and (max-width:768px){
	.footer__inner{padding:48px 0;}
	.footer__row{flex-direction:column; align-items:flex-start; gap:32px;}
	.footer__meta{padding-top:28px;}
	.footer__contact{flex-direction:column; gap:2px;}
	.footer__contact__text{white-space:normal;}
	.footer__copy{text-align:left; padding-top:0; white-space:normal;}
	.footer__gotop{right:20px; bottom:20px; width:48px; height:48px;}
	.footer__gotop img{width:24px; height:24px;}
	.footer__contact__text{font-size:14px;}
	.footer__policy a{font-size:14px;}
	.footer__copy{font-size:12px;}
	.footer__logo--summit{width:60px; height:35px;}
	.footer__logo--group{width:96px; height:31px;}
	.header__util__wr{gap:10px;}
	.header__register__btn,
	.header__lookup__btn{font-size:12px; height:32px; padding:0 10px;}
	.logo__all{width:200px;}
	.main__btn__a{font-size:16px;height:46px;}
}
@media screen and (max-width:480px){
	.logo__all{width:150px;}
	.footer__contact__text{font-size:12px; line-height: 1.4;}
	.footer__policy a{font-size:12px;}
	.footer__copy{font-size:10px;}
	.footer__gotop{right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); width:38px; height:38px;}
}
