@charset "utf-8";

/*********************************************************************************
HMG TECH SUMMIT 2026 - Sub Page (행사안내)
*********************************************************************************/

.sub__contents__wr{padding:144px 0; background:#000f30;}
.bg__sub{position:absolute; top:0; left:0; width:100%;}
.sub__title{
	font-size:54px; font-weight:700; line-height:1.1; letter-spacing:-0.64px;
	color:#fff; word-break:keep-all;
}
.section__title{
	font-size:54px; font-weight:700; line-height:1.1; letter-spacing:-0.64px;
	color:#fff; word-break:keep-all;
}

/*********************************************************************************
Hero (Visual + Intro pin) — Figma 295:15517
*********************************************************************************/
.sub__hero__section{
	position:relative; background:#000f30;
}
.sub__hero__pin{
	position:relative; height:100vh; height:100svh; height:var(--app-svh, 100svh);
	overflow:hidden; background:#000f30;
}
@media screen and (min-width:1281px) and (min-height:1008px){
	.sub__hero__pin{min-height:1007px;}
}
.sub__hero__video__wr{
	position:absolute; inset:0; z-index:0; overflow:hidden;
	background:#000f30;
}
.sub__hero__video__wr::before{
	content:""; position:absolute; left:0; right:0; bottom:-3px; top:auto; z-index:1;
	height:calc(42% + 6px);
	background:linear-gradient(to top, #000f30 0%, #000f30 8%, rgba(0,15,48,.85) 38%, transparent 100%);
	pointer-events:none;
}
/* 핀/섹션 경계 1px 틈 덮개 */
.sub__hero__pin::after{
	content:""; position:absolute; left:0; right:0; bottom:-2px; height:4px;
	background:#000f30; z-index:3; pointer-events:none;
}
.sub__hero__video{
	position:absolute; inset:0;
	width:100%; height:100%; object-fit:cover;
}
.sub__hero__stage{
	position:relative; z-index:2; height:100%;
}
.sub__hero__visual,
.sub__hero__intro{
	position:absolute; inset:0;
	display:flex; align-items:center; justify-content:center;
}
.sub__hero__visual__inner{
	display:flex; flex-direction:column; align-items:center; text-align:center;
	box-sizing:border-box;
}
.sub__hero__title{
	margin:0; font-size:99px; font-weight:700; line-height:1.1;
	letter-spacing:-1.776px; color:#fff; word-break:keep-all;
}
.sub__hero__info{
	margin-top:22px; font-size:22px; font-weight:400; line-height:32px;
	letter-spacing:-0.24px; color:rgba(255,255,255,.8);
}
.sub__hero__info p{margin:0;}

.sub__hero__intro{
	opacity:1; pointer-events:none;
}
.sub__hero__intro__label,
.sub__hero__intro__title__line,
.sub__hero__intro__desc,
.sub__hero__intro__more__btn{
	opacity:0;
	visibility:hidden;
}
@media (prefers-reduced-motion: reduce){
	.sub__hero__intro__label,
	.sub__hero__intro__title__line,
	.sub__hero__intro__desc,
	.sub__hero__intro__more__btn{
		opacity:1;
		visibility:visible;
	}
}
.sub__hero__intro__inner{
	display:flex; flex-direction:column; align-items:center; text-align:center; gap:22px;
	width:95%; max-width:923px; margin:0 auto; box-sizing:border-box;
}
.sub__hero__intro__label{
	font-size:14px; font-weight:500; line-height:21px; color:#fff;
}
.sub__hero__intro__body{
	display:flex; flex-direction:column; align-items:center; gap:36px; width:100%;
}
.sub__hero__intro__title{
	display:flex; flex-direction:column; align-items:center;
	margin:0; font-size:79px; font-weight:700; letter-spacing:-1.6px;
	text-align:center; text-transform:uppercase; color:#fff;
}
.sub__hero__intro__title__line{display:block; line-height:1.1;}
.sub__hero__intro__desc{
	max-width:801px; margin:0;
	font-size:18px; font-weight:400; line-height:1.6; letter-spacing:-0.52px; color:#fff;
	word-break:keep-all;
}
.sub__hero__intro.is-active{pointer-events:auto;}

/*********************************************************************************
Themes — Figma 743:3785
*********************************************************************************/
.sub__themes__section{padding:144px 0; margin-top:-2px; position:relative; z-index:1;}
.sub__themes__title__wr{margin-bottom:36px; text-align:left;}
.sub__themes__title{
	display:flex; flex-wrap:wrap; column-gap:.4em;
	font-weight:500; letter-spacing:-0.64px; text-align:left;
	text-transform:uppercase; word-break:keep-all;
}
.sub__themes__carousel{position:relative; width:100%;}
.sub__themes__media{position:relative; width:100%;}
.sub__themes__fade{display:none;}
.sub__themes__nav{display:none;}
.sub__themes__swiper{width:100%; overflow:hidden;}
.sub__themes__swiper .swiper-slide{
	height:auto; box-sizing:border-box; min-width:0;
	width:calc((100% - 36px) / 3);
	flex:0 0 calc((100% - 36px) / 3);
}
@media screen and (max-width:1024px){
	.sub__themes__section{overflow:hidden;}
	.sub__themes__section > .inner__cen1500{overflow:visible;}
	/* 캐러셀·페이드를 같은 full-bleed 기준으로 정렬 (꼬임 방지) */
	.sub__themes__carousel{
		width:100vw;
		max-width:100vw;
		margin-left:calc(50% - 50vw);
		position:relative;
	}
	.sub__themes__media{width:100%;}
	.sub__themes__swiper{
		width:100%;
		max-width:none;
		margin-left:0;
		overflow:hidden;
	}
	.sub__themes__swiper .swiper-slide{
		width:calc(100% - 56px);
		flex:0 0 calc(100% - 56px);
	}
	/* 슬라이드 안 텍스트 숨김 → 고정 페이드 레이어 사용 */
	.sub__themes__swiper .sub__themes__content__item__name__en,
	.sub__themes__swiper .sub__themes__content__item__desc{display:none;}
	.sub__themes__fade{display:grid;}
	.sub__themes__fade__item{
		grid-area:1 / 1;
		opacity:0;
		pointer-events:none;
		will-change:opacity;
		/* 스와이프 progress로 opacity 제어 — CSS transition 제거 */
	}
	.sub__themes__fade--names{
		position:absolute; left:50%; top:0; z-index:3;
		width:calc(100% - 56px); aspect-ratio:1 / 1;
		transform:translateX(-50%);
		pointer-events:none;
	}
	.sub__themes__fade--names .sub__themes__fade__item{
		display:flex; align-items:center; justify-content:center;
		width:100%; height:100%; margin:0; padding:0 10px;
		box-sizing:border-box;
	}
	.sub__themes__fade--descs{
		width:calc(100% - 56px);
		max-width:100%;
		margin:28px auto 0;
	}
	.sub__themes__fade--descs .sub__themes__content__item__desc{
		margin-top:0; width:100%;
	}
	.sub__themes__content__item__card{border-radius:24px;}
	.sub__themes__nav{
		display:flex;
		align-items:center;
		justify-content:center;
		position:absolute;
		z-index:5;
		top:50%;
		width:34px;
		height:34px;
		padding:0;
		border:0;
		background:transparent;
		appearance:none;
		cursor:pointer;
		transform:translateY(-50%);
		-webkit-tap-highlight-color:transparent;
	}
	.sub__themes__nav--prev{left:10px;}
	.sub__themes__nav--next{right:10px;}
	.sub__themes__nav img{
		display:block;
		width:34px;
		height:34px;
		object-fit:contain;
		pointer-events:none;
	}
	.sub__themes__nav--prev img{transform:scaleX(-1);}
	.sub__themes__nav.is-hidden{display:none;}
}
.sub__themes__content__item__card{
	position:relative; display:flex; align-items:center; justify-content:center;
	width:100%; aspect-ratio:1/1;
	border-radius:29px; overflow:hidden; background:#0a1630;
}
.sub__themes__content__item__img{
	position:absolute; inset:auto; max-width:none;
	display:block; transform:scale(1); will-change:transform;
	transition:transform .55s cubic-bezier(0.22, 1, 0.36, 1);
}
.sub__themes__swiper .swiper-slide:nth-child(1) .sub__themes__content__item__img{
	height:100%; width:155.88%; left:-26.42%; top:0.14%;
}
.sub__themes__swiper .swiper-slide:nth-child(2) .sub__themes__content__item__img{
	height:100%; width:215.11%; left:-68.82%; top:0;
}
.sub__themes__swiper .swiper-slide:nth-child(3) .sub__themes__content__item__img{
	height:106.9%; width:249.85%; left:-75.05%; top:-3.45%;
}
.sub__themes__content__item__card::after{
	content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
	background:
		linear-gradient(0deg, rgba(0,0,0,.2), rgba(0,0,0,.2)),
		linear-gradient(180deg, rgba(0,15,48,0) 74.44%, rgba(0,15,48,.4) 94.89%);
}
.sub__themes__content__item__name__en{
	position:relative; z-index:2; padding:0 10px;
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
	font-size:52px; font-weight:700; line-height:1.3; letter-spacing:-2.1px;
	text-transform:uppercase; color:#fff; opacity:.4; text-align:center;
	white-space:nowrap; max-width:100%;
	transition:opacity .45s ease;
}
/* 데스크탑만 호버 (터치 sticky hover → 스와이프 시 글자 깜빡임 방지) */
@media (hover:hover) and (pointer:fine){
	.sub__themes__content__item__card:hover .sub__themes__content__item__img{
		transform:scale(1.12);
	}
	.sub__themes__content__item__card:hover .sub__themes__content__item__name__en{
		opacity:1;
	}
}
/* 모바일/터치: 호버 없음, 카드 이미지 active / 페이드 타이틀은 별도 제어 */
@media screen and (max-width:1024px), (hover:none){
	.sub__themes__content__item__img{
		transform:scale(1.12); transition:none; will-change:auto;
	}
	.sub__themes__swiper .sub__themes__content__item__name__en{
		opacity:1; transition:none;
	}
}
@media (prefers-reduced-motion:reduce){
	.sub__themes__content__item__img,
	.sub__themes__content__item__name__en,
	.sub__themes__fade__item{transition:none;}
	.sub__themes__content__item__card:hover .sub__themes__content__item__img{transform:none;}
}
.sub__themes__content__item__desc{
	margin-top:25px; padding:0 7px;
	font-size:22px; font-weight:700; line-height:33px; color:#fff; text-align:center;
	word-break:keep-all;
}
.sub__themes__content__item__desc p{margin:0;}

/*********************************************************************************
Process — vision layout (솔인스타즈) + Figma 943:24333 / 943:24432
*********************************************************************************/
.bg__graphics__conts{position:absolute; pointer-events:none; z-index:0;}
#vision__section{
	--vision-card-max:455px;
	position:relative; overflow:visible;
	padding:180px 0 144px;
	background:#000f30;
}
.vision__pin{position:relative; width:100%; z-index:1;}
.vision__graphics{
	position:absolute; top:0; left:-112px; width:455px; height:401px;
	z-index:0; pointer-events:none;
}
.vision__graphics img{
	display:block; width:100%; height:100%;
	object-fit:contain; object-position:center;
	mix-blend-mode:screen; -webkit-mix-blend-mode:screen;
	opacity:.7;
}
/* 프로세스 → LOCATION 경계 1px 선 방지 */
#vision__section::after{
	content:""; position:absolute; left:0; right:0; bottom:-2px; height:4px;
	background:#000f30; z-index:2; pointer-events:none;
}
#vision__section .inner__cen1500{position:relative; z-index:1;}
.vision__title__wr{
	display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.vision__section__title{
	text-align:center; margin:0; letter-spacing:-0.64px;
	text-transform:uppercase;
}
.vision__content__wr{
	--vision-line-progress:0%;
	--vision-gap:22px;
	margin-top:54px; position:relative;
	display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:var(--vision-gap); width:100%;
	max-width:calc(var(--vision-card-max) * 3 + var(--vision-gap) * 2);
	margin-left:auto; margin-right:auto; align-items:start;
}
.vision__connector__wr{
	position:absolute;
	left:calc((100% - 2 * var(--vision-gap)) / 6);
	right:calc((100% - 2 * var(--vision-gap)) / 6);
	top:50%; transform:translateY(-50%);
	height:1px; pointer-events:none; z-index:1;
}
.vision__connector{
	position:absolute; left:0; top:0; height:1px; display:block;
}
.vision__connector--base{
	width:100%; height:1px;
	background-image:repeating-linear-gradient(to right, rgba(255,255,255,.4) 0 3.73px, transparent 3.73px 7.46px);
	background-repeat:repeat-x;
}
.vision__connector--active{
	width:var(--vision-line-progress); height:1px;
	background-image:repeating-linear-gradient(to right, #b39cff 0 3.73px, transparent 3.73px 7.46px);
	background-repeat:repeat-x;
}
.vision__content__item{
	position:relative; z-index:2; width:100%; max-width:var(--vision-card-max);
	justify-self:center; aspect-ratio:1/1; height:auto; border-radius:50%;
	display:block; padding:0; overflow:hidden;
	box-sizing:border-box; text-align:center;
	container-type:inline-size;
	background:
		linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.01) 100%),
		rgba(255,255,255,.02);
	backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
	box-shadow:inset 0 3px 3px rgba(255,255,255,.16), inset 0 108px 132px rgba(79,58,137,.25);
	transition:box-shadow .5s ease, background .5s ease;
}
.vision__content__item.active{
	background:rgba(6,2,19,.1);
	box-shadow:inset 0 3px 9px #fff, inset 0 24px 36px #915393, inset 0 72px 96px #39278a;
}
.vision__content__item.active .vision__content__box__number{color:#b39cff; opacity:1;}
#vision__section .vision__content__wr.active > .vision__content__item:nth-child(2){
	background:rgba(6,2,19,.1);
	box-shadow:inset 0 3px 9px #fff, inset 0 24px 36px #915393, inset 0 72px 96px #39278a;
}
#vision__section .vision__content__wr.active > .vision__content__item:nth-child(2) .vision__content__box__number{
	color:#b39cff; opacity:1;
}
.vision__content__box__head{
	position:absolute; top:15.03%; left:50%; transform:translateX(-50%);
	display:flex; flex-direction:column; align-items:center; gap:1.58cqi;
	width:72%; max-width:82%; margin:0;
}
.vision__content__box__number{
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
	font-size:min(56px, 11.07cqi); font-weight:500; line-height:1.2;
	letter-spacing:-0.05em; color:#fff; opacity:.13; transition:color .5s ease, opacity .5s ease;
}
.vision__content__box__title{
	margin:0; max-width:100%;
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
	font-size:min(40px, 7.92cqi); font-weight:500; line-height:1.2; color:#fff;
	word-break:keep-all;
}
.vision__content__box__desc{
	position:absolute; top:44%; left:50%; transform:translateX(-50%);
	display:flex; align-items:center; justify-content:center;
	width:80%; height:40%; padding:0; box-sizing:border-box;
	margin:0; overflow:hidden;
	font-size:min(16px, 3.17cqi); font-weight:400; line-height:1.45; color:#fff;
	word-break:keep-all; overflow-wrap:anywhere;
}
.vision__content__box__desc__inner{width:100%; max-height:100%;}
html[lang="ko"] .vision__content__box__desc{
	font-size:min(18px, 3.57cqi);
}
html[lang="en"] .vision__content__box__title,
html[lang="en"] .vision__content__box__desc{
	word-break:normal; overflow-wrap:anywhere;
}
.vision__content__box__desc p{margin:0;}
.vision__content__box__desc__note{
	display:block;
	font-size:0.875em; line-height:inherit;
	color:rgba(255,255,255,.6);
}
@container (max-width: 420px){
	.vision__content__box__head{top:12%; width:80%; max-width:80%; gap:4px;}
	.vision__content__box__desc{top:40%; width:80%; height:46%;}
}
/*********************************************************************************
Location — Figma 743:3844
*********************************************************************************/
.sub__location__section{
	position:relative; overflow:visible; padding:180px 0 144px;
	margin-top:-2px; background:#000f30;
}
.sub__location__graphics{
	top:-144px; right:-108px; width:min(798px, 70vw); opacity:.7; z-index:0;
	pointer-events:none;
}
.sub__location__graphics img{display:block; width:100%;}
.sub__location__section > .inner__cen1500{position:relative; z-index:1;}
.sub__location__title__wr{
	display:flex; flex-direction:column; align-items:flex-start; gap:24px;
	text-align:left; margin-bottom:40px;
}
.sub__location__title{
	text-transform:uppercase; letter-spacing:-0.64px; margin:0; font-weight:500;
}
.sub__location__tab__wr{
	display:flex; align-items:flex-start; gap:34px;
	margin:0; padding:0; list-style:none;
}
.sub__location__tab__item{margin:0; padding:0; list-style:none;}
.sub__location__tab__item button{
	padding:0 0 3px; font-size:24px; font-weight:500; line-height:35px;
	letter-spacing:-0.16px; color:rgba(255,255,255,.8);
	border-bottom:3px solid transparent; white-space:nowrap;
}
.sub__location__tab__item.active button{
	font-weight:700; color:#fff; border-bottom-color:#fff;
}
.sub__location__content__wr{
	display:flex; gap:15px; align-items:stretch;
}
.sub__location__map{
	position:relative; flex:1; min-width:0; width:50%; min-height:0;
	align-self:center;
	border-radius:8px; background:#121c2f; overflow:hidden;
}
.sub__location__map__panel{display:none; position:relative; width:100%; height:auto; min-height:0;}
.sub__location__map__panel.is-active{display:block;}
.sub__location__map img{
	display:block; width:100%; height:auto; min-height:0;
	object-fit:contain; object-position:center;
}
.sub__location__floor__tab{
	position:absolute; left:12px; top:12px; z-index:2;
	display:flex; align-items:center; height:46px; padding:6px; box-sizing:border-box;
	border-radius:40px;
	background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.01) 100%), rgba(255,255,255,.13);
}
.sub__location__floor__btn{
	display:flex; align-items:center; justify-content:center;
	height:100%; padding:0 14px; border-radius:30px;
	font-size:16px; font-weight:500; line-height:34px;
	letter-spacing:-0.32px; color:#fff; white-space:nowrap;
}
.sub__location__floor__btn.is-active{background:#fff; color:#111;}
.sub__location__floor__panel{display:none; width:100%; height:auto;}
.sub__location__floor__panel.is-active{display:block;}
.sub__location__info{
	position:relative; width:50%; flex-shrink:0; min-height:540px;
	padding:60px 54px 49px; box-sizing:border-box; overflow:hidden;
	border-radius:8px; color:#fff;
	background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.01) 100%), rgba(255,255,255,.02);
	backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.sub__location__info__deco{
	right:-36px; bottom:-72px; width:min(351px, 70%); z-index:0;
}
.sub__location__info__deco img{display:block; width:100%;}
.sub__location__info__title,
.sub__location__info__subtitle,
.sub__location__info__list,
.sub__location__info__btns{position:relative; z-index:1;}
.sub__location__info__title{
	margin:0; font-size:36px; font-weight:500; line-height:1.1; color:#fff;
}
.sub__location__info__subtitle{
	margin-top:9px; font-size:22px; font-weight:400; line-height:34px;
	letter-spacing:-0.48px; color:#fff;
}
.sub__location__info__list{
	display:flex; flex-direction:column; gap:14px; margin-top:61px;
}
.sub__location__info__item__label{
	font-size:16px; font-weight:500; line-height:26px; color:#fff;
}
.sub__location__info__item__value{
	margin-top:4px; font-size:14px; font-weight:500; line-height:23px;
	letter-spacing:-0.32px; color:#fff; opacity:.6; word-break:keep-all;
}
.sub__location__info__btns{
	display:flex; gap:8px; margin-top:77px;
}
.sub__location__info__btns .main__btn__a{
	flex:1; background:rgba(255,255,255,.13); border:0; backdrop-filter:blur(15px);
}
.sub__location__info__btns .main__btn__a img{
	width:20px; height:20px; margin-left:0;
}

/*********************************************************************************
Partners
*********************************************************************************/
.sub__partners__title__wr{margin-bottom:70px;}
.sub__partners__content__wr{
	display:grid; grid-template-columns:repeat(5,1fr); gap:14px;
}
.sub__partners__content__item{
	display:flex; align-items:center; justify-content:center;
	aspect-ratio:1/1; border-radius:9px; background:#fff; overflow:hidden;
}
.sub__partners__content__item img{
	width:130px; height:78px; object-fit:contain;
}

/*********************************************************************************
Programs / Timetable — Figma 295:8278 (시간대별) / 295:8896 (트랙별)
*********************************************************************************/
.sub__timetable__section.sub__hero{
	padding:180px 0 54px; height:auto; min-height:0;
	display:block;
}
.sub__timetable__section .sub__title__wr{text-align:center; margin:0;}
.sub__timetable__section .timetable__title{
	font-size:54px; font-weight:700; line-height:59px; letter-spacing:-0.64px;
	text-transform:uppercase; color:#fff; margin:0;
}
.sub__timetable__tab__bar{
	display:flex; align-items:center; justify-content:space-between;
	margin-top:108px; min-height:50px; box-sizing:border-box; gap:22px;
}
.sub__timetable__tab__wr{
	display:flex; align-items:flex-start; gap:0;
	margin:0; padding:0; list-style:none;
}
.sub__timetable__tab__item{margin:0;}
.sub__timetable__tab__item + .sub__timetable__tab__item{margin-left:31px;}
.sub__timetable__tab__item button{
	padding:0 0 3px; font-size:20px; font-weight:500; line-height:32px;
	letter-spacing:-0.16px; color:#666; border-bottom:3px solid transparent;
}
.sub__timetable__tab__item.active button{
	font-weight:700; color:#fff; border-bottom-color:#fff;
}
.sub__timetable__utils{
	display:flex; align-items:center; justify-content:flex-end; gap:36px;
	flex-shrink:0;
}
.sub__timetable__download{
	display:inline-flex; align-items:center; gap:7px;
	font-size:20px; font-weight:500; line-height:32px; color:#fff;
}
.sub__timetable__download img{width:22px; height:22px; object-fit:contain; flex-shrink:0;}
.sub__timetable__filter{
	display:inline-flex; align-items:center; gap:7px;
	font-size:20px; font-weight:500; line-height:32px; color:#fff;
}
.sub__timetable__filter img{width:22px; height:22px; object-fit:contain; flex-shrink:0;}
.sub__timetable__filter__wr{position:relative; flex-shrink:0;}
.sub__timetable__filter__panel{
	position:absolute; top:calc(100% + 14px); right:0; z-index:100;
	display:none; flex-direction:column;
	width:531px; max-width:min(531px, calc(100vw - 40px));
	height:595px;
	background:#2a2a2c; color:#fff; box-sizing:border-box;
	overflow:hidden;
}
.sub__timetable__filter__panel.is-open{display:flex;}
.sub__timetable__filter__head{
	display:flex; align-items:center; flex-shrink:0;
	padding:27px 27px 27px 36px; box-sizing:border-box;
}
.sub__timetable__filter__title{
	font-size:20px; font-weight:700; line-height:22px; color:#fff;
}
.sub__timetable__filter__reset{
	margin-left:auto; margin-right:58px;
	font-size:16px; font-weight:700; line-height:18px; color:#fff;
	text-decoration:underline; text-underline-offset:2px;
}
.sub__timetable__filter__close{
	display:inline-flex; align-items:center; justify-content:center;
	width:22px; height:22px; flex-shrink:0; padding:0;
}
.sub__timetable__filter__close img{display:block; width:22px; height:22px;}
.sub__timetable__filter__body{
	flex:1; min-height:0; overflow-y:auto; overflow-x:hidden;
	padding:18px 36px 27px; box-sizing:border-box;
	-webkit-overflow-scrolling:touch;
}
.sub__timetable__filter__group + .sub__timetable__filter__group{margin-top:54px;}
.sub__timetable__filter__group__title{
	font-size:22px; font-weight:700; line-height:32px; color:#fff; margin:0 0 27px;
}
.sub__timetable__filter__list{
	display:grid; grid-template-columns:1fr 1fr; column-gap:0; row-gap:18px;
	margin:0; padding:0; list-style:none;
}
.sub__timetable__filter__item{
	display:flex; align-items:center; gap:11px; cursor:pointer;
	min-height:23px;
}
.sub__timetable__filter__item input{
	appearance:none; -webkit-appearance:none;
	width:18px; height:18px; margin:0; flex-shrink:0;
	border:1.25px solid #fff; background:transparent; box-sizing:border-box;
	cursor:pointer;
}
.sub__timetable__filter__item input:checked{
	background:#fff;
	box-shadow:inset 0 0 0 4px #2a2a2c;
}
.sub__timetable__filter__item span{
	font-size:14px; font-weight:500; line-height:23px;
	color:#fff; text-transform:uppercase; word-break:keep-all;
}

.sub__timetable__body__section{padding:0 0 144px;}

.sub__timetable__day__head{margin-bottom:0;}
.sub__timetable__day__title__wr{
	display:flex; align-items:flex-start; gap:22px;
}
.sub__timetable__day__title{
	font-size:41px; font-weight:700; line-height:58px; color:#fff;
}
.sub__timetable__day__date{
	font-size:18px; font-weight:500; line-height:41px;
	text-transform:uppercase; color:#fff;
}

.sub__timetable__legend{
	display:flex; flex-wrap:wrap; align-items:center; gap:22px;
	padding:14px 0; margin:22px 0 0;
}
.sub__timetable__legend__item{
	display:inline-flex; align-items:center; gap:7px;
	font-size:12px; font-weight:500; line-height:1.1; color:#fff;
}
.sub__timetable__legend__dot{
	display:block; width:9px; height:9px; border-radius:2px; flex-shrink:0;
}

.sub__timetable__view__wr{
	display:flex; align-items:flex-start; gap:31px; margin-top:22px;
}
.sub__timetable__view__tab{
	padding:0 0 3px; font-size:20px; font-weight:500; line-height:32px;
	letter-spacing:-0.16px; color:#666; border-bottom:3px solid transparent;
}
.sub__timetable__view__tab.active{
	font-weight:700; color:#fff; border-bottom-color:#fff;
}

.sub__timetable__register__btn{
	display:flex; align-items:center; justify-content:center;
	width:100%; height:81px; margin-top:54px; margin-bottom:0;
	border-radius:8px; background:#fff;
	font-size:22px; font-weight:500; line-height:81px; color:#111;
	box-sizing:border-box; text-align:center;
}
.sub__timetable__register__btn:hover{opacity:.9;}

.sub__timetable__view{display:none; margin-top:54px;}
.sub__timetable__view.active{display:block;}

.sub__timetable__block{margin-top:72px;}
.sub__timetable__view > .sub__timetable__block:first-child,
.sub__timetable__track__title + .sub__timetable__block{margin-top:0;}
.sub__timetable__block--split,
.sub__timetable__block--break{
	display:grid;
	grid-template-columns:minmax(180px, 252px) minmax(0, 1fr);
	column-gap:clamp(36px, 8vw, 151px);
	align-items:start;
}
.sub__timetable__block__timecol{
	padding-top:0;
}
.sub__timetable__block__time{
	display:block;
	font-size:32px; font-weight:400; line-height:51px; color:#fff;
	white-space:nowrap;
}
.sub__timetable__block__main{min-width:0;}
.sub__timetable__block__head{
	display:flex; align-items:center; justify-content:space-between;
	margin-bottom:18px; min-height:auto; gap:14px;
}
.sub__timetable__block__label{
	display:flex; align-items:center; gap:0; min-width:0;
}
.sub__timetable__block__label strong{
	font-size:32px; font-weight:700; line-height:51px; color:#fff;
}
.sub__timetable__block__divider{
	display:inline-block; width:2.5px; height:24px; margin:0 16px;
	background:#666; flex-shrink:0;
}
.sub__timetable__block__place{
	font-size:18px; font-weight:400; line-height:30px; color:#8b8b8b;
	flex-shrink:0; text-align:right;
}

/* Program cards — featured(전폭) · session(3열) — Figma 385:301 */    
.sub__timetable__featured__wr{
	display:flex; flex-direction:column; gap:18px;
}
.sub__timetable__featured__item{
	display:flex; flex-direction:column; align-items:stretch;
	width:100%; height:auto; padding:36px; box-sizing:border-box;
	border-radius:12px; background:#2a2a2c; gap:18px;
}
.sub__timetable__featured__item__head{
	display:flex; align-items:flex-start; justify-content:space-between; gap:22px;
}
.sub__timetable__featured__item.is-no-cat .sub__timetable__featured__item__head{
	align-items:flex-start;
}
.sub__timetable__featured__item.is-no-cat .sub__timetable__featured__item__head .sub__timetable__featured__item__title{
	flex:1; min-width:0;
}
.sub__timetable__featured__item.is-no-cat .sub__timetable__featured__item__place{
	line-height:1.16; padding-top:0;
}
.sub__timetable__featured__item__cat{
	font-size:22px; font-weight:500; line-height:1.16; color:#b39cff;
}
.sub__timetable__featured__item__place{
	flex-shrink:0; max-width:50%;
	font-size:14px; font-weight:500; line-height:1.16; color:#949494;
	text-align:right; word-break:keep-all;
}
.sub__timetable__featured__item__place__wr{
	display:flex; flex-direction:column; align-items:flex-end; gap:4px;
	flex-shrink:0; max-width:50%; text-align:right;
}
.sub__timetable__featured__item__place__wr .sub__timetable__featured__item__place{
	max-width:100%;
}
.sub__timetable__featured__item__when,
.sub__timetable__session__item__when{
	display:block;
	font-size:14px; font-weight:500; line-height:1.2; color:#949494;
}
.sub__timetable__featured__item__title{
	margin:0;
	font-size:29px; font-weight:500; line-height:1.16; color:#fff;
	word-break:keep-all;
}
.sub__timetable__featured__item__meta{
	display:flex; flex-direction:column; gap:5px; width:100%;
}
.sub__timetable__featured__item__meta > span{
	display:block;
	font-size:18px; font-weight:500; line-height:1.39; color:#c9c9c9;
	word-break:keep-all;
}
.sub__timetable__featured__item__foot{
	display:flex; align-items:center; gap:18px;
	margin-top:11px; padding-top:18px;
	border-top:1px solid rgba(110,110,110,.51);
}
.sub__timetable__featured__item__avatar{
	width:135px; height:135px; border-radius:50%; overflow:hidden; flex-shrink:0;
	background:#444;
}
.sub__timetable__featured__item__avatar img{
	display:block; width:100%; height:100%; object-fit:cover;
}
.sub__timetable__featured__item__speaker{
	display:flex; flex-direction:column; gap:4px; min-width:0;
}
.sub__timetable__featured__item__name{
	font-size:22px; font-weight:500; line-height:1.16; color:#fff;
}
.sub__timetable__featured__item__role{
	font-size:18px; font-weight:500; line-height:1.16; color:#c9c9c9;
}

.sub__timetable__break{
	display:flex; align-items:center; justify-content:center;
	width:100%; height:72px; border-radius:8px; background:#2a2a2c;
	font-size:20px; font-weight:500; line-height:72px; color:#fff; text-align:center;
}

.sub__timetable__session__pinned{
	margin-bottom:18px; padding-bottom:18px;
	border-bottom:1px solid rgba(255,255,255,.12);
}
.sub__timetable__session__pinned > .sub__timetable__block:first-child{
	margin-top:0;
}
.sub__timetable__session__pinned .sub__timetable__featured__wr + .sub__timetable__session__wr{
	margin-top:18px;
}

.sub__timetable__featured__wr + .sub__timetable__session__wr{
	margin-top:18px;
}
.sub__timetable__session__wr{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;
	align-items:stretch;
}
/* Figma 391:497 — 카드 높이 400×0.9, 상단 패딩 35 / 좌우 40 ×0.9 */
.sub__timetable__session__item{
	display:flex; flex-direction:column; gap:0;
	min-height:360px; height:auto; padding:32px 36px; box-sizing:border-box;
	border-radius:12px; background:#2a2a2c;
}
.sub__timetable__session__item__place{
	display:block; margin:0 0 4px;
	font-size:14px; font-weight:500; line-height:32px; color:#949494;
	word-break:keep-all;
}
.sub__timetable__session__item__when{
	margin-bottom:9px;
}
.sub__timetable__session__item__cat{
	display:block; margin:0 0 23px;
	font-size:18px; font-weight:500; line-height:25px; color:#b39cff;
}
.sub__timetable__session__item__title{
	display:block; margin:0;
	font-size:25px; font-weight:500; line-height:25px; color:#fff;
	word-break:keep-all;
}
.sub__timetable__session__item__meta{
	display:flex; flex-direction:column; gap:4px; width:100%;
	margin-top:68px;
}
.sub__timetable__session__item__meta > span{
	display:block;
	font-size:18px; font-weight:500; line-height:25px; color:#c9c9c9;
	word-break:keep-all;
}

/* Track view */
.sub__timetable__track__tabs{
	display:flex; flex-wrap:wrap; align-items:flex-start; gap:14px;
	margin-bottom:54px;
}
.sub__timetable__track__tab{
	display:inline-flex; align-items:center; justify-content:center;
	padding:9px; border:1px solid #fff; box-sizing:border-box;
	font-size:20px; font-weight:500; line-height:32px; letter-spacing:-0.16px;
	color:#fff; opacity:.4; transition:opacity .2s ease;
}
.sub__timetable__track__tab.active{opacity:1;}
.sub__timetable__track__title{
	margin:0 0 36px;
	font-size:41px; font-weight:700; line-height:58px; color:#fff;
}

/*********************************************************************************
Speakers (list page)
*********************************************************************************/
.sub__speakers__section.sub__hero{
	padding:180px 0 54px; height:auto; min-height:0;
	display:block;
}
.sub__speakers__section .sub__title__wr{text-align:center; margin:0;}
.sub__speakers__section .speakers__title{
	font-size:54px; font-weight:700; line-height:59px; letter-spacing:-0.64px;
	text-transform:uppercase; color:#fff; margin:0;
}
.sub__speakers__tab__bar{
	display:flex; align-items:center; justify-content:space-between;
	margin-top:108px; min-height:50px; box-sizing:border-box; gap:22px;
}
.sub__speakers__tab__wr{
	display:flex; align-items:flex-start; gap:0;
	margin:0; padding:0; list-style:none; flex-shrink:0;
}
.sub__speakers__tab__item{margin:0;}
.sub__speakers__tab__item + .sub__speakers__tab__item{margin-left:31px;}
.sub__speakers__tab__item button{
	display:block; padding:0 0 3px; margin:0;
	font-size:20px; font-weight:500; line-height:32px; letter-spacing:-0.16px;
	color:#666; border-bottom:3px solid transparent; white-space:nowrap;
	transition:color .25s ease, border-color .25s ease, font-weight .25s ease;
}
.sub__speakers__tab__item.active button{
	font-weight:700; color:#fff; border-bottom-color:#fff;
}
.sub__speakers__search{
	display:flex; align-items:center; justify-content:space-between;
	width:411px; max-width:100%; flex-shrink:0;
	border-bottom:1px solid #fff; padding:14px 0; box-sizing:border-box;
}
.sub__speakers__search__input{
	flex:1; min-width:0; margin:0; padding:0; border:0; outline:none;
	background:transparent; color:#fff;
	font-size:16px; font-weight:400; line-height:1.1;
}
.sub__speakers__search__input::placeholder{color:#fff; opacity:1;}
.sub__speakers__search__btn{
	display:inline-flex; align-items:center; justify-content:center;
	width:22px; height:22px; flex-shrink:0; padding:0; margin-left:11px;
}
.sub__speakers__search__btn img{display:block; width:22px; height:22px;}

.sub__speakers__body__section{padding:0 0 144px;}
.sub__speakers__grid{
	display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.sub__speakers__card{
	position:relative; display:block;
	aspect-ratio:368 / 472; border-radius:8px; background:#999; overflow:hidden;
}
.sub__speakers__card__logo{
	position:absolute; left:50%; top:43.8%; transform:translate(-50%,-50%);
	width:68px; height:53px;
}
.sub__speakers__card__logo img{
	display:block; width:100%; height:100%; object-fit:contain;
}
.sub__speakers__card__text{
	position:absolute; left:25px; right:25px; bottom:25px;
}
.sub__speakers__card__title{
	font-size:23px; font-weight:500; line-height:33px; color:#fff;
	word-break:keep-all;
}
.sub__speakers__card__name{
	display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; margin-top:16px;
	font-size:15px; line-height:1.4;
}
.sub__speakers__card__name strong{font-weight:500; color:#fff;}
.sub__speakers__card__name span{
	font-weight:400; color:rgba(255,255,255,.5);
}

/*********************************************************************************
FAQ
*********************************************************************************/
.sub__faq__section.sub__hero{
	padding:180px 0 54px; height:auto; min-height:0;
	display:block;
}
.sub__faq__section .inner__cen1500{
	display:flex; flex-direction:column; align-items:center;
}
.sub__faq__section .sub__title__wr{
	text-align:center; margin:0; width:100%;
}
.sub__faq__section .faq__title{
	font-size:54px; font-weight:700; line-height:59px; letter-spacing:-0.64px;
	text-transform:uppercase; color:#fff; margin:0;
}
.sub__faq__tab__wr{
	display:flex; align-items:center; justify-content:center; gap:27px;
	width:100%; margin:108px 0 0; padding:0; list-style:none;
	box-sizing:border-box;
}
.sub__faq__tab__item{
	margin:0; padding:0; list-style:none; flex:0 0 auto;
}
.sub__faq__tab__item button{
	display:block; padding:0 0 3px; margin:0;
	font-size:22px; font-weight:700; line-height:34px;
	color:rgba(255,255,255,.4); border-bottom:3px solid transparent;
	white-space:nowrap; transition:color .25s ease, border-color .25s ease;
}
.sub__faq__tab__item.active button{
	color:#fff; border-bottom-color:#fff;
}

.sub__faq__body__section{padding:0 0 144px;}
.sub__faq__group + .sub__faq__group{margin-top:54px;}
.sub__faq__group__title{
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
	font-size:41px; font-weight:700; line-height:58px; color:#fff;
	margin:0 0 36px;
}
.sub__faq__list{display:flex; flex-direction:column;}
.sub__faq__item{
	border-top:1px solid rgba(255,255,255,.13);
	transition:background .3s ease, border-color .3s ease;
}
.sub__faq__item:last-child{border-bottom:1px solid rgba(255,255,255,.13);}
.sub__faq__item.active{
	background:rgba(179,156,255,.12);
	border-top-color:rgba(179,156,255,.28);
	background: linear-gradient(0deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.02) 100%), linear-gradient(180deg, rgba(145, 31, 135, 0.08) -0.07%, rgba(145, 31, 135, 0.01) 99.97%), rgba(143, 112, 174, 0.24);
	/*background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) -0.07%, rgba(255, 255, 255, 0.01) 99.97%), rgba(255, 255, 255, 0.02);*/

}
.sub__faq__item.active + .sub__faq__item{
	border-top-color:rgba(179,156,255,.28);
}
.sub__faq__item.active:last-child{
	border-bottom-color:rgba(179,156,255,.28);
}
.sub__faq__item__q{
	display:flex; align-items:center; justify-content:space-between; gap:22px;
	width:100%; padding:33px 18px; text-align:left; box-sizing:border-box;
	transition:padding .35s ease;
}
.sub__faq__item.active .sub__faq__item__q{padding:22px 18px 0;}
.sub__faq__item__q__text{
	flex:1; min-width:0;
	font-size:20px; font-weight:700; line-height:30px; letter-spacing:-0.16px;
	color:rgba(255, 255, 255, 0.70);; word-break:keep-all;
	transition:color .3s ease, font-size .3s ease;
}
.sub__faq__item.active .sub__faq__item__q__text{
	font-size:22px; color:#fff;
}
.sub__faq__item__icon{
	display:inline-flex; align-items:center; justify-content:center;
	width:22px; height:22px; flex-shrink:0; position:relative;
}
.sub__faq__item__icon img{
	position:absolute; left:0; top:0; width:22px; height:22px;
	transition:opacity .25s ease;
}
.sub__faq__item__icon img.sub__faq__item__icon--plus{opacity:1;}
.sub__faq__item__icon img.sub__faq__item__icon--minus{opacity:0;}
.sub__faq__item.active .sub__faq__item__icon img.sub__faq__item__icon--plus{opacity:0;}
.sub__faq__item.active .sub__faq__item__icon img.sub__faq__item__icon--minus{opacity:1;}
.sub__faq__item__a{
	display:grid; grid-template-rows:0fr;
	opacity:0; transition:grid-template-rows .4s ease, opacity .3s ease;
}
.sub__faq__item.active .sub__faq__item__a{
	grid-template-rows:1fr; opacity:1;
}
.sub__faq__item__a__inner{
	overflow:hidden; min-height:0;
	padding:0 18px;
	font-size:16px; font-weight:400; line-height:1.6; letter-spacing:-0.576px; color:#fff;
	transition:padding .35s ease;
}
.sub__faq__item.active .sub__faq__item__a__inner{padding:22px 18px;}
.sub__faq__item__a__inner p{margin:0;}
.sub__faq__item__a__inner p + p{margin-top:1em;}

/*********************************************************************************
Privacy Policy — Figma 295:11225
*********************************************************************************/
/* overflow-x:hidden 조상은 sticky를 깨뜨림 → clip으로 허용 */
body.page--privacy,
body.page--privacy #wrapper,
body:has(.sub__privacy__section),
body:has(.sub__privacy__section) #wrapper{
	overflow-x:clip;
}
.sub__privacy__section{
	padding:180px 0 54px; background:#000f30; overflow:visible;
}
.sub__privacy__section .inner__cen1500{overflow:visible;}
.sub__privacy__title__wr{
	display:flex; align-items:center; justify-content:center; width:100%;
	margin:0 0 108px;
}
.sub__privacy__title{
	margin:0;
	font-family:'Hyundai Sans Head Pro', 'Hyundai Sans Text Pro', sans-serif;
	font-size:54px; font-weight:700; line-height:59px; letter-spacing:-0.64px;
	color:#fff; text-transform:uppercase; text-align:center;
	word-break:keep-all;
}
.sub__privacy__layout{
	display:flex; align-items:flex-start; gap:54px; width:100%;
	overflow:visible;
}
.sub__privacy__toc{
	position:-webkit-sticky; position:sticky; top:80px; z-index:10;
	align-self:flex-start;
	flex:0 0 295px; width:295px; max-width:295px;
	padding:23px 22px 25px;
	border:1px solid rgba(255, 255, 255, 0.13); box-sizing:border-box;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.06) 100%), rgba(255, 255, 255, 0.02);
}
.sub__privacy__toc__label{
	margin:0 0 16px;
	font-family:'pretendard', sans-serif;
	font-size:12px; font-weight:800; line-height:14px; letter-spacing:-0.36px;
	color:#b39cff; white-space:nowrap;
}
.sub__privacy__toc__list{
	margin:0; padding:0; list-style:none;
	display:flex; flex-direction:column; gap:14px;
}
.sub__privacy__toc__list li{margin:0; padding:0;}
.sub__privacy__toc__list a{
	display:block;
	font-family:'pretendard', sans-serif;
	font-size:13px; font-weight:400; line-height:1.35;
	color:#c8c8c8; word-break:keep-all;
	transition:color .2s ease;
}
.sub__privacy__toc__list a:hover,
.sub__privacy__toc__list a:focus-visible{color:#fff;}

.sub__privacy__content{
	flex:1 1 auto; min-width:0; max-width:1025px;
}
.sub__privacy__block{
	padding:0 0 43px; margin:0 0 43px;
	border-bottom:1px solid rgba(255, 255, 255, 0.13);
}
.sub__privacy__block--last,
.sub__privacy__block:last-child{
	padding-bottom:0; margin-bottom:0; border-bottom:0;
}
.sub__privacy__heading{
	margin:0 0 25px;
	font-family:'pretendard', sans-serif;
	font-size:20px; font-weight:800; line-height:23px;
	color:#fff; word-break:keep-all;
}
.sub__privacy__body{
	display:flex; flex-direction:column; gap:14px;
}
.sub__privacy__body > p,
.sub__privacy__card p,
.sub__privacy__list li{
	margin:0;
	font-family:'pretendard', sans-serif;
	font-size:14px; font-weight:400; line-height:1.8;
	letter-spacing:0.04px; color:#c8c8c8; word-break:keep-all;
}
.sub__privacy__subheading{
	margin:0;
	font-family:'pretendard', sans-serif;
	font-size:14px; font-weight:800; line-height:1.8; color:#fff;
}
.sub__privacy__note{
	margin:0;
	font-family:'pretendard', sans-serif;
	font-size:14px; font-weight:400; line-height:1.8;
	letter-spacing:0.09px; color:#9a9a9a; word-break:keep-all;
}
.sub__privacy__list{
	margin:0; padding:0; list-style:none;
	display:flex; flex-direction:column; gap:11px;
}
.sub__privacy__list li{padding-left:0;}

.sub__privacy__table__wr{
	width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.sub__privacy__table{
	width:100%; min-width:648px; border-collapse:collapse; table-layout:fixed;
	border:1px solid #3e3e3e;
}
.sub__privacy__table th,
.sub__privacy__table td{
	padding:14px;
	border:1px solid rgba(255, 255, 255, 0.13);
	font-family:'pretendard', sans-serif;
	font-size:13px; line-height:1.5; letter-spacing:0.05px;
	vertical-align:middle; text-align:left; word-break:keep-all;
	box-sizing:border-box;
}
.sub__privacy__table th{
	background:rgba(255, 255, 255, 0.08);; font-weight:800; color:#fff;
}
.sub__privacy__table td{font-weight:400; color:#c8c8c8;}
.sub__privacy__table td strong{
	font-weight:700; color:#fff;
}

.sub__privacy__cards{
	display:grid; gap:11px; width:100%;
}
.sub__privacy__cards--2{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sub__privacy__card{
	padding:25px 23px; box-sizing:border-box;
	border:1px solid rgba(255, 255, 255, 0.13); background:transparent;
	display:flex; flex-direction:column; gap:11px;
}
.sub__privacy__card__title{
	margin:0;
	font-family:'pretendard', sans-serif;
	font-size:14px; font-weight:800; line-height:1.4; color:#fff;
	word-break:keep-all;
}
.sub__privacy__notice{
	margin-top:7px; padding:25px 23px; box-sizing:border-box;
	border:1px solid rgba(255, 255, 255, 0.13); background:#0f1d3c;
}
.sub__privacy__notice p{
	margin:0;
	font-family:'pretendard', sans-serif;
	font-size:14px; font-weight:700; line-height:1.25; letter-spacing:0.12px;
	color:#fff; word-break:keep-all;
}

.sub__privacy__block[id],
.sub__privacy__section[id]{scroll-margin-top:80px;}

/*********************************************************************************
Responsive
*********************************************************************************/
@media screen and (max-width:1600px){
	.sub__location__info__list{margin-top:40px;}
	.sub__location__info__btns{margin-top:40px;}
}
@media screen and (max-width:1280px){
	.sub__contents__wr{padding:100px 0;}
	.sub__hero__title{font-size:72px;}
	.sub__timetable__section.sub__hero,
	.sub__speakers__section.sub__hero,
	.sub__faq__section.sub__hero{padding:140px 0 40px;}
	.sub__title,
	.section__title,
	.sub__timetable__section .timetable__title,
	.sub__speakers__section .speakers__title,
	.sub__faq__section .faq__title{font-size:48px; line-height:1.1;}
	.sub__timetable__tab__bar{margin-top:60px; flex-wrap:wrap; gap:16px;}
	.sub__speakers__tab__bar{margin-top:60px; flex-wrap:wrap; gap:16px;}
	.sub__speakers__search{width:100%; max-width:457px;}
	.sub__speakers__grid{grid-template-columns:repeat(3,1fr);}
	.sub__speakers__card__title{font-size:22px; line-height:1.4;}
	.sub__faq__body__section{PADDING: 0 0 100px;}
	.sub__faq__tab__wr{margin-top:60px; flex-wrap:wrap; gap:16px;}
	.sub__faq__group__title{font-size:32px; line-height:1.3; margin-bottom:28px;}
	.sub__faq__item__q__text{font-size:18px; line-height:1.4;}
	.sub__faq__item.active .sub__faq__item__q__text{font-size:20px;}
	.sub__faq__item__a__inner{font-size:16px;}
	.sub__timetable__block__label strong,
	.sub__timetable__block__time{font-size:28px; line-height:1.3;}
	.sub__timetable__block--split,
	.sub__timetable__block--break{
		grid-template-columns:minmax(140px, 200px) minmax(0, 1fr);
		column-gap:32px;
	}
	.sub__timetable__block{margin-top:56px;}
	.sub__timetable__featured__item{padding:28px; gap:16px; border-radius:12px;}
	.sub__timetable__featured__item__cat{font-size:20px;}
	.sub__timetable__featured__item__title{font-size:26px; line-height:1.3;}
	.sub__timetable__featured__item__place{font-size:14px;}
	.sub__timetable__featured__item__meta > span{font-size:16px;}
	.sub__timetable__featured__item__avatar{width:110px; height:110px;}
	.sub__timetable__featured__item__name{font-size:20px;}
	.sub__timetable__featured__item__role{font-size:16px;}
	.sub__timetable__session__wr{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
	.sub__timetable__session__item{min-height:320px; padding:28px 28px; gap:0;}
	.sub__timetable__session__item__place{font-size:14px; line-height:28px; margin-bottom:8px;}
	.sub__timetable__session__item__cat{font-size:16px; line-height:24px; margin-bottom:16px;}
	.sub__timetable__session__item__title{font-size:22px; line-height:1.2;}
	.sub__timetable__session__item__meta{margin-top:48px;}
	.sub__timetable__session__item__meta > span{font-size:15px; line-height:24px;}
	.sub__timetable__download{font-size:16px;}
	.sub__timetable__view__tab{font-size:18px;}
	.sub__timetable__track__tab{font-size:16px; line-height:1.4;}
	.sub__timetable__track__title{font-size:32px; line-height:1.3;}
	.sub__timetable__legend{gap:12px 16px;}
	.sub__themes__section,
	#vision__section,
	.sub__location__section{padding:140px 0 100px;}
	.sub__hero__title{font-size:72px;}
	.sub__hero__intro__title{font-size:56px;}
	.sub__hero__info{font-size:20px; line-height:1.5;}
	.sub__themes__content__item__name__en{font-size:42px;}
	.sub__themes__content__item__desc{font-size:20px; line-height:1.5;}
	.sub__location__info{padding:48px 40px; min-height:initial;}
	.sub__partners__content__wr{grid-template-columns:repeat(3,1fr);}
	.sub__privacy__section{padding:140px 0 40px;}
	.sub__privacy__title{font-size:48px; line-height:1.1;}
	.sub__privacy__title__wr{margin-bottom:60px;}
	.sub__privacy__layout{gap:32px;}
	.sub__privacy__toc{
		flex:0 0 240px; width:240px; max-width:240px;
		padding:20px 16px; top:88px;
	}
	.sub__privacy__heading{font-size:20px; line-height:1.3; margin-bottom:20px;}
	.sub__privacy__body > p,
	.sub__privacy__card p,
	.sub__privacy__list li{font-size:14px;}
	.sub__privacy__card{padding:20px 18px;}
}

@media screen and (max-width:1024px){
	#vision__section::after{display:none; content:none;}
	.sub__hero__title{font-size:48px;}
	.sub__hero__intro__title{font-size:40px;}
	.sub__hero__info{font-size:16px; line-height:1.5;}
	.sub__hero__intro__desc{font-size:16px;}
	.sub__themes__section,
	#vision__section,
	.sub__location__section{padding:100px 0 80px;}
	.sub__themes__title__wr{margin-bottom:28px;}
	.sub__themes__content__item__name__en{font-size:36px;}
	.sub__themes__content__item__desc{font-size:18px; line-height:1.5;}
	.vision__content__wr{
		grid-template-columns:none;
		grid-template-rows:repeat(3, minmax(0, auto));
		width:min(420px, calc(100vw - 40px));
		max-width:min(420px, calc(100vw - 40px));
		gap:28px; margin-top:48px;
	}
	.vision__content__item{
		width:100%; max-width:none;
	}
	#vision__section .vision__connector__wr{
		left:50%; right:auto; top:0; bottom:0;
		width:1px; height:auto; transform:translateX(-50%);
	}
	#vision__section .vision__connector{width:1px; height:100%;}
	#vision__section .vision__connector--base{
		width:1px; height:100%;
		background-image:repeating-linear-gradient(to bottom, rgba(255,255,255,.4) 0 3.73px, transparent 3.73px 7.46px);
		background-repeat:repeat-y;
	}
	#vision__section .vision__connector--active{
		width:1px; height:var(--vision-line-progress);
		background-image:repeating-linear-gradient(to bottom, #b39cff 0 3.73px, transparent 3.73px 7.46px);
		background-repeat:repeat-y;
	}
	.sub__location__content__wr{flex-direction:column;}
	.sub__location__map{width:100%;}
	.sub__location__info{width:100%; min-height:auto;}
	/* 오른쪽 가장자리에 붙이기 (살짝 bleed) */
	.sub__location__graphics{
		top:-80px; right:-72px; width:min(520px, 88vw);
	}
	.vision__graphics{
		width:min(320px, 52vw); height:282px; left:-48px;
	}
	.vision__graphics img{opacity:.6;}
}
@media screen and (max-width:768px){
	.sub__hero__title{font-size:32px;}
	.sub__hero__intro__title{font-size:28px;}
	.sub__title,
	.section__title,
	.sub__timetable__section .timetable__title,
	.sub__faq__section .faq__title{font-size:32px;}
	.sub__hero__info,
	.sub__hero__intro__desc{font-size:15px; line-height:1.6;}
	.sub__hero__intro__inner{gap:20px;}
	.sub__hero__intro__body{gap:24px;}
	.sub__location__title__wr{margin-bottom:24px;}
	.sub__location__title{font-size:36px;}
	.sub__location__tab__wr{gap:16px;}
	.sub__location__tab__item button{font-size:16px; line-height:18px;}
	.sub__location__floor__tab{left:8px; top:8px; height:40px;}
	.sub__location__floor__btn{padding:0 12px; font-size:12px; line-height:28px;}
	.sub__location__info__title{font-size:28px;}
	.sub__location__info__subtitle{font-size:18px; line-height:1.4;}
	.sub__location__graphics{top:-100px; right:-90px; width:min(460px, 92vw);}
	.sub__themes__section,
	#vision__section,
	.sub__location__section{padding:80px 0 64px;}
	.sub__themes__title__wr{margin-bottom:20px;}
	.sub__themes__content__item__name__en{font-size:32px; letter-spacing:-1.2px;}
	.sub__themes__content__item__desc{font-size:15px; line-height:1.5; margin-top:16px;}
	.sub__themes__fade--descs{margin-top:20px;}
	.sub__themes__content__item__card{border-radius:20px;}
	.sub__faq__group + .sub__faq__group{margin-top:40px;}
	.sub__faq__tab__item button{font-size:16px; line-height:1.4;}
	.sub__faq__group__title{font-size:24px;}
	.sub__faq__item__q{padding:24px 16px;}
	.sub__faq__item.active .sub__faq__item__q{padding:16px 16px 0;}
	.sub__faq__item__q__text,
	.sub__faq__item.active .sub__faq__item__q__text{font-size:16px;}
	.sub__faq__item.active .sub__faq__item__a__inner{padding:16px;}
	.sub__faq__item__a__inner{font-size:14px; padding:0 16px;}
	.sub__timetable__day__title{font-size:32px; line-height:1.3;}
	.sub__timetable__day__date{font-size:16px; line-height:1.3; align-self:center;}
	.sub__timetable__register__btn{height:64px; font-size:18px; line-height:64px; margin-top:32px;}
	.sub__speakers__tab__item + .sub__speakers__tab__item{margin-left:20px;}
	.sub__speakers__tab__item button{font-size:16px; line-height:1.4;}
	.sub__speakers__search__input{font-size:14px;}
	.sub__speakers__grid{grid-template-columns:repeat(2,1fr); gap:12px;}
	.sub__speakers__card__text{left:16px; right:16px; bottom:16px;}
	.sub__speakers__card__title{font-size:18px; line-height:1.35;}
	.sub__speakers__card__name{margin-top:10px; font-size:13px;}
	.sub__timetable__tab__item + .sub__timetable__tab__item{margin-left:20px;}
	.sub__timetable__tab__item button,
	.sub__timetable__filter{font-size:16px;}
	.sub__timetable__filter__panel{
		position:fixed; top:72px; left:50%; right:auto;
		transform:translateX(-50%);
		width:calc(100vw - 24px); max-width:590px;
		height:min(661px, calc(var(--app-svh, 100svh) - 96px));
	}
	.sub__timetable__filter__head{padding:20px 20px 20px 24px;}
	.sub__timetable__filter__reset{margin-right:24px; font-size:16px;}
	.sub__timetable__filter__body{padding:16px 24px 24px;}
	.sub__timetable__filter__group__title{font-size:20px; margin-bottom:20px;}
	.sub__timetable__filter__list{grid-template-columns:1fr; row-gap:16px;}
	.sub__timetable__filter__group + .sub__timetable__filter__group{margin-top:40px;}
	.sub__timetable__block__label strong,
	.sub__timetable__block__time{font-size:20px; line-height:1.3; white-space:normal;}
	.sub__timetable__block--split,
	.sub__timetable__block--break{
		grid-template-columns:1fr;
		row-gap:12px;
		column-gap:0;
	}
	.sub__timetable__block{margin-top:40px;}
	.sub__timetable__block__divider{margin:0 10px; height:18px;}
	.sub__timetable__block__place{font-size:14px;}
	.sub__timetable__featured__item{padding:22px; gap:14px; border-radius:10px;}
	.sub__timetable__featured__item__head{flex-direction:column; gap:8px;}
	.sub__timetable__featured__item__place{max-width:100%; text-align:left; font-size:13px;}
	.sub__timetable__featured__item__cat{font-size:16px;}
	.sub__timetable__featured__item__title{font-size:22px; line-height:1.3;}
	.sub__timetable__featured__item__meta > span{font-size:14px;}
	.sub__timetable__featured__item__foot{gap:14px; padding-top:16px;}
	.sub__timetable__featured__item__avatar{width:88px; height:88px;}
	.sub__timetable__featured__item__name{font-size:18px;}
	.sub__timetable__featured__item__role{font-size:14px;}
	.sub__timetable__session__wr{grid-template-columns:1fr; gap:12px;}
	.sub__timetable__session__item{min-height:0; padding:22px 20px; gap:0;}
	.sub__timetable__session__item__place{font-size:13px; line-height:24px; margin-bottom:8px;}
	.sub__timetable__session__item__cat{font-size:15px; line-height:22px; margin-bottom:12px;}
	.sub__timetable__session__item__title{font-size:18px; line-height:1.3;}
	.sub__timetable__session__item__meta{margin-top:28px;}
	.sub__timetable__session__item__meta > span{font-size:14px; line-height:22px;}
	.sub__timetable__utils{gap:20px; width:100%; justify-content:flex-start;}
	.sub__timetable__break{height:64px; font-size:18px; line-height:64px;}
	.sub__partners__content__wr{grid-template-columns:repeat(2,1fr);}
	.sub__privacy__section{padding:100px 0 40px;}
	.sub__privacy__title{font-size:28px; line-height:1.2;}
	.sub__privacy__title__wr{margin-bottom:40px;}
	.sub__privacy__layout{flex-direction:column; gap:24px;}
	.sub__privacy__toc{
		position:relative; top:auto;
		flex:none; width:100%; max-width:none;
		padding:20px 16px;
	}
	.sub__privacy__toc__list{gap:12px;}
	.sub__privacy__toc__list a{font-size:12px;}
	.sub__privacy__content{width:100%;}
	.sub__privacy__heading{font-size:18px; margin-bottom:16px;}
	.sub__privacy__block{padding-bottom:32px; margin-bottom:32px;}
	.sub__privacy__cards--2{grid-template-columns:1fr;}
	.sub__privacy__card{padding:18px 16px;}
	.sub__privacy__body > p,
	.sub__privacy__card p,
	.sub__privacy__list li,
	.sub__privacy__card__title{font-size:13px;}
	.sub__privacy__table th,
	.sub__privacy__table td{padding:12px; font-size:12px;}
	.sub__privacy__notice{padding:20px 16px;}
	.sub__privacy__notice p{font-size:14px;}
}



@media screen and (max-width:480px){
	.sub__faq__group__title {font-size: 20px; margin-bottom: 16px;}
	.sub__hero__title{font-size:26px;}
	.sub__hero__intro__title{font-size:24px;}
	.sub__themes__title,
	.vision__section__title{font-size:28px; line-height:1.2;}
	.sub__location__info{padding:30px 24px;}
	.sub__location__info__btns{flex-direction:column;}
	.sub__location__info__btns .main__btn__a{padding:10px;}
	.sub__location__graphics{top:-80px; right:-70px; width:min(360px, 90vw);}
}