html::-webkit-scrollbar, body::-webkit-scrollbar {
	display: none;
}

html, body {
	-ms-overflow-style: none;
	scrollbar-width: none;
	/*cursor: url('../img/main/sec02_item03.png'), auto;*/
}
html a, body a {
	/*cursor: url('../img/main/scroll_img.png'), auto;*/
}

.main-open {
	display: none;
}
.main-visual {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 760px;
	overflow: hidden;
	background: #f8f8f8;
}
.main-visual.v02 {
	height: calc(100vh + 120px);
}

.main-bg {
	position: absolute;
	inset: 0;
	background: url("../img/main/main_n2.png") no-repeat center bottom / cover;
	transform: scale(1.08);
	opacity: 0;
	animation: mainBgIn 2.2s cubic-bezier(.22, 1, .36, 1) forwards;
}

.main-title {
	position: absolute;
	left: 50%;
	top: 6.5%;
	z-index: 3;
	transform: translateX(-50%) translateY(28px);
	opacity: 0;
	animation: titleIn 1.25s cubic-bezier(.22, 1, .36, 1) .45s forwards;
}
.main-title.v02 {
	top: 120px;
}

.main-title img {
	display: block;
}

.main-item {
	position: absolute;
	left: 50%;
	bottom: 350px;
	z-index: 4;
	max-width: 1920px;
	transform: translateX(-50%) translateY(45px);
	opacity: 0;
	animation: itemIn 1.45s cubic-bezier(.22, 1, .36, 1) .95s forwards;
}

.main-item img {
	display: block;
	width: 100%;
}

.main-glow {
	position: absolute;
	left: 50%;
	top: 31%;
	z-index: 2;
	width: 520px;
	height: 520px;
	transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(255,255,255,.55) 0%, rgba(255,255,255,.28) 28%, rgba(255,255,255,0) 68%);
	opacity: 0;
	animation: glowIn 2.4s ease .7s forwards;
	pointer-events: none;
}

/* 은은한 빛 이동 */
.main-visual::after {
	content: "";
	position: absolute;
	top: 0;
	left: -47%;
	z-index: 5;
	width: 38%;
	height: 100%;
	background: linear-gradient(
			115deg,
			rgba(255,255,255,0) 0%,
			rgba(255,255,255,.16) 45%,
			rgba(255,255,255,0) 100%
	);
	transform: skewX(-18deg);
	animation: shineMove 3.8s ease-in-out 1.4s forwards;
	pointer-events: none;
}

@keyframes mainBgIn {
	0% {
		opacity: 0;
		transform: scale(1.08);
		filter: blur(5px);
	}
	100% {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
	}
}

@keyframes titleIn {
	0% {
		opacity: 0;
		transform: translateX(-50%) translateY(28px);
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
		filter: blur(0);
	}
}

@keyframes itemIn {
	0% {
		opacity: 0;
		transform: translateX(-50%) translateY(45px);
		filter: blur(3px);
	}
	100% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
		filter: blur(0);
	}
}

@keyframes glowIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(.85);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes shineMove {
	0% {
		left: -45%;
		opacity: 0;
	}
	18% {
		opacity: 1;
	}
	100% {
		left: 120%;
		opacity: 0;
	}
}




.main_circle2 {
	position: absolute;
	top: 150px;
	right: 90px;
	width: 139px;
	height: 139px;
	line-height: 136px;
	text-align: center;
	transition: all 400ms;
	z-index: 999;
	scale: 0.8;
}

.main_circle2 .bg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 194px;
	height: 194px;
	background-image: url('../img/main/main_circle_open_n.png?new');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform-origin: center center;
	animation: main_circle2 9s linear infinite;
}

.main_circle2 img {
	position: relative;
	z-index: 1;
	transition: all 400ms;
}

@keyframes main_circle2 {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}





















.section {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 760px;
	overflow: hidden;
}

.main-visual.v02 {
	height: 100vh;
}

.premium-section {
	background: #f6f7f7;
	color: #0d2546;
}



.sec02-inner {
	position: relative;
	z-index: 5;
	width: 1648px;
	max-width: calc(100% - 140px);
	height: 100%;
	margin: 0 auto;
}

.sec02-left {
	position: absolute;
	left: 0;
	top: 24%;
	z-index: 6;
	opacity: 0;
	transform: translateY(44px);
}

.section_02.is-active .sec02-left {
	animation: sec02LeftIn 1s cubic-bezier(.22, 1, .36, 1) .3s forwards;
}

.sec02-eyebrow {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .18em;
	color: #fff;
}

.sec02-left h2 {
	font-size: 34px;
	line-height: 1.45;
	font-weight: 400;
}

.sec02-left h2 strong {
	font-weight: 800;
}

.sec02-desc {
	margin-top: 26px;
	font-size: 17px;
	line-height: 2;
	letter-spacing: -0.04em;
}

.sec02-more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	width: 174px;
	height: 52px;
	margin-top: 38px;
	border: 1px solid rgba(13,37,70,.7);
	border-radius: 50px;
	font-size: 13px;
	font-weight: 700;
	color: #0d2546;
	transition: all .35s ease;
}

.sec02-more:hover {
	background: #0d2546;
	color: #fff;
}

.sec02-more i {
	font-style: normal;
	font-size: 22px;
	line-height: 1;
}

.sec02-slider {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 549px;
	height: 560px;
	transform: translate(-50%, -44%);
	z-index: 7;
	opacity: 0;
}

.section_02.is-active .sec02-slider {
	animation: sec02SliderIn 1s cubic-bezier(.22, 1, .36, 1) .72s forwards;
}

.sec02-main-img {
	width: 549px;
	height: 560px;
	overflow: hidden;
}

.sec02-main-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.035);
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.sec02-main-img img.is-show {
	animation: sec02MainImageIn 1.25s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-nav {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	z-index: 9;
}

.sec02-nav button {
	display: block;
	width: 44px;
	height: 43px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.sec02-nav button img {
	display: block;
	width: 44px;
	height: 43px;
}

.sec02-content {
	position: absolute;
	right: 0;
	top: 24%;
	width: 520px;
	z-index: 9;
	opacity: 0;
	transform: translateY(44px);
}

.section_02.is-active .sec02-content {
	animation: sec02ContentIn 1s cubic-bezier(.22, 1, .36, 1) .95s forwards;
}

.sec02-thumb {
	width: 218px;
	height: 159px;
	margin-left: auto;
	margin-bottom: 52px;
	overflow: hidden;
}

.sec02-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.12) translate3d(18px, 0, 0);
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.sec02-thumb img.is-show {
	animation: sec02ThumbImageIn 1s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-text {
	padding-left: 18px;
}

.sec02-en {
	margin-bottom: 10px;
	font-size: 45px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: .02em;
	color: #a87d64;
	opacity: 0;
}

.sec02-text h3 {
	font-size: 27px;
	line-height: 1.45;
	font-weight: 400;
	letter-spacing: -0.05em;
	opacity: 0;
}

.sec02-text h3 strong {
	font-weight: 800;
}
.sec02-text h3 strong em {
	color: #a87d64;
}

.sec02-text > p:last-child {
	margin-top: 26px;
	font-size: 17px;
	line-height: 1.9;
	letter-spacing: -0.04em;
	opacity: 0;


}

.sec02-en,
.sec02-text h3,
.sec02-text > p:last-child {
	will-change: transform, opacity;
	backface-visibility: hidden;
	transform: translate3d(0, 28px, 0);
}



.sec02-illust {
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	height: 432px;
	z-index: 8;
	clip-path: inset(0 100% 0 0);
	transition: height .6s cubic-bezier(.22, 1, .36, 1);
	pointer-events: none;
}

.sec02-illust img {
	display: block;
	width: 100%;
	height: 432px;
	object-fit: cover;
}

.sec02-illust {
	clip-path: inset(0 100% 0 0);
	transition: height .45s cubic-bezier(.22, 1, .36, 1);
}

.section_02.is-active .sec02-illust.is-show {
	animation: sec02ClipIn 2.6s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-line-top {
	position: absolute;
	right: 0;
	top: 24%;
	z-index: 3;
	width: 180px;
	height: 250px;
	clip-path: inset(0 100% 0 0);
	pointer-events: none;
}

.sec02-line-top img {
	display: block;
	width: 180px;
	height: 250px;
	object-fit: contain;
}

.section_02.is-active .sec02-line-top {
	animation: sec02ClipIn 1.15s cubic-bezier(.22, 1, .36, 1) 1.25s forwards;
}

@keyframes sec02LeftIn {
	0% {
		opacity: 0;
		transform: translateY(44px);
		filter: blur(6px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

@keyframes sec02SliderIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -38%);
		filter: blur(5px);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -44%);
		filter: blur(0);
	}
}

@keyframes sec02ContentIn {
	0% {
		opacity: 0;
		transform: translateY(44px);
		filter: blur(5px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

@keyframes sec02ImgIn {
	0% {
		opacity: 0;
		transform: scale(1.08) translateY(20px);
		filter: blur(5px);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
		filter: blur(0);
	}
}

@keyframes sec02ThumbIn {
	0% {
		opacity: 0;
		transform: scale(1.12) translateX(28px);
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateX(0);
		filter: blur(0);
	}
}

@keyframes sec02TextIn {
	0% {
		opacity: 0;
		transform: translateY(24px);
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

@keyframes sec02ClipIn {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}

@keyframes sec02MainImageIn {
	0% {
		opacity: 0;
		transform: scale(1.035) translate3d(0, 18px, 0);
		clip-path: inset(8% 0 0 0);
	}
	100% {
		opacity: 1;
		transform: scale(1) translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
	}
}

@keyframes sec02ThumbImageIn {
	0% {
		opacity: 0;
		transform: scale(1.12) translate3d(24px, 0, 0);
		clip-path: inset(0 0 0 35%);
	}
	100% {
		opacity: 1;
		transform: scale(1) translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
	}
}





/* footer 자기 높이만 fullpage 이동 */
.footer.fp-auto-height {
	height: auto !important;
	min-height: 0 !important;
}

/* 섹션2 왼쪽 텍스트 통 페이드업 제거 */
.sec02-left {
	opacity: 1;
	transform: none;
}

.section_02.is-active .sec02-left {
	animation: none;
}

.sec02-eyebrow,
.sec02-left h2,
.sec02-desc,
.sec02-more {
	opacity: 0;
	will-change: transform, opacity;
	backface-visibility: hidden;
	transform: translate3d(0, 34px, 0);
}

.section_02.is-active .sec02-eyebrow {
	animation: sec02SoftRise .9s cubic-bezier(.16, 1, .3, 1) .25s forwards;
}

.section_02.is-active .sec02-left h2 {
	animation: sec02TitleReveal 1s cubic-bezier(.16, 1, .3, 1) .42s forwards;
}

.section_02.is-active .sec02-desc {
	animation: sec02SoftRise .9s cubic-bezier(.16, 1, .3, 1) .62s forwards;
}

.section_02.is-active .sec02-more {
	animation: sec02ButtonIn .85s cubic-bezier(.16, 1, .3, 1) .82s forwards;
}

/* 이미지 배경 노출 방지 */
.sec02-main-img,
.sec02-thumb {
	position: relative;
	background: transparent !important;
}

.sec02-main-img img,
.sec02-thumb img {
	position: absolute;
	left: 0;
	top: 0;
}

/* 큰 이미지: 커튼 열림 + 살짝 줌아웃 */
.sec02-main-img img {
	opacity: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
}

.sec02-main-img img.sec02-img-new {
	z-index: 2;
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	transform: scale(1.08) translate3d(24px, 0, 0);
}

.sec02-main-img img.sec02-img-new.is-show {
	animation: sec02LuxuryImageIn 1.25s cubic-bezier(.16, 1, .3, 1) forwards;
}

/* 썸네일: 오른쪽에서 마스크 */
.sec02-thumb img {
	opacity: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
}


/* 슬라이드 텍스트 떨림 방지 */
.sec02-en,
.sec02-text h3,
.sec02-text > p:last-child {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.sec02-en.is-show,
.sec02-text h3.is-show,
.sec02-text > p:last-child.is-show {
	animation: sec02SoftRise .8s cubic-bezier(.16, 1, .3, 1) forwards;
}

/* 하단 일러스트 천천히 + 슬라이드보다 위 */
.sec02-illust {
	z-index: 12 !important;
	clip-path: inset(0 100% 0 0);
	transition: height .6s cubic-bezier(.16, 1, .3, 1);
}

.section_02.is-active .sec02-illust.is-show {
	animation: sec02ClipInSlow 3.2s cubic-bezier(.16, 1, .3, 1) forwards;
}

@keyframes sec02SoftRise {
	0% {
		opacity: 0;
		transform: translate3d(0, 34px, 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes sec02TitleReveal {
	0% {
		opacity: 0;
		transform: translate3d(0, 42px, 0) skewY(2deg);
		clip-path: inset(0 0 100% 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) skewY(0);
		clip-path: inset(0 0 0 0);
	}
}

@keyframes sec02ButtonIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 26px, 0) scale(.96);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes sec02LuxuryImageIn {
	0% {
		clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
		transform: scale(1.08) translate3d(24px, 0, 0);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		transform: scale(1) translate3d(0, 0, 0);
	}
}



@keyframes sec02ClipInSlow {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}



/* 1. 배경은 처음부터 보이고, 진입 시 줌만 */
.sec02-bg {
	position: absolute;
	inset: 0;
	background: url("../img/main/sec02_bg.jpg") no-repeat center center / cover;
	opacity: 1 !important;
	transform: scale(1.12);
	transition: transform 1.9s cubic-bezier(.16, 1, .3, 1);
}

.section_02.is-active .sec02-bg {
	opacity: 1 !important;
	transform: scale(1);
}

/* 2. 슬라이드 텍스트 중복 애니메이션 제거 */
.sec02-text {
	padding-left: 18px;
}

.sec02-en,
.sec02-text h3,
.sec02-text > p:last-child {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	will-change: transform, opacity;
	backface-visibility: hidden;
	animation: none !important;
}

.sec02-en.is-show,
.sec02-text h3.is-show,
.sec02-text > p:last-child.is-show {
	animation: sec02TextOnlyOnce .72s cubic-bezier(.16, 1, .3, 1) forwards !important;
}

.sec02-text h3.is-show {
	animation-delay: .1s !important;
}

.sec02-text > p:last-child.is-show {
	animation-delay: .2s !important;
}

@keyframes sec02TextOnlyOnce {
	0% {
		opacity: 0;
		transform: translate3d(0, 22px, 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* 3. 하단 일러스트 즉시 보이게 + 천천히 열림 */
.sec02-illust {
	z-index: 12 !important;
	clip-path: inset(0 100% 0 0);
	transition: height .6s cubic-bezier(.16, 1, .3, 1);
}

.section_02.is-active .sec02-illust.is-show {
	animation: sec02IllustOpen 2.8s cubic-bezier(.16, 1, .3, 1) forwards !important;
}

@keyframes sec02IllustOpen {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}

/* 4. 메인 이미지는 현재 책 넘김 유지 */
.sec02-main-img img.sec02-img-new {
	z-index: 2;
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	transform: scale(1.08) translate3d(24px, 0, 0);
}

.sec02-main-img img.sec02-img-new.is-show {
	animation: sec02LuxuryImageIn 1.25s cubic-bezier(.16, 1, .3, 1) forwards !important;
}

/* 5. 썸네일은 책 느낌 제거: 부드러운 페이드 + 줌아웃 */
.sec02-thumb img.sec02-thumb-new {
	z-index: 2;
	opacity: 0;
	clip-path: none !important;
	transform: scale(1.16) translate3d(0, 10px, 0);
	filter: saturate(.9) brightness(1.08);
}

.sec02-thumb img.sec02-thumb-new.is-show {
	animation: sec02ThumbSoftIn .9s cubic-bezier(.16, 1, .3, 1) forwards !important;
}

@keyframes sec02ThumbSoftIn {
	0% {
		opacity: 0;
		transform: scale(1.16) translate3d(0, 10px, 0);
		filter: saturate(.9) brightness(1.08);
	}
	100% {
		opacity: 1;
		transform: scale(1) translate3d(0, 0, 0);
		filter: saturate(1) brightness(1);
	}
}




.sec02-eyebrow,
.sec02-left h2,
.sec02-desc,
.sec02-more,
.sec02-slider,
.sec02-content,
.sec02-line-top {
	opacity: 0;
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.sec02-eyebrow {
	transform: translate3d(0, 24px, 0);
}

.sec02-left h2 {
	transform: translate3d(0, 34px, 0);
	clip-path: inset(0 0 100% 0);
}

.sec02-desc {
	transform: translate3d(0, 26px, 0);
}

.sec02-more {
	transform: translate3d(0, 20px, 0) scale(.96);
}

.sec02-slider {
	transform: translate(-50%, -38%) scale(.98);
}

.sec02-content {
	transform: translate3d(0, 34px, 0);
}

.sec02-line-top {
	clip-path: inset(0 100% 0 0);
}

.sec02-eyebrow.motion-on,
.sec02-desc.motion-on {
	animation: sec02EnterSoft .8s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-left h2.motion-on {
	animation: sec02EnterTitle .95s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-more.motion-on {
	animation: sec02EnterButton .75s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-slider.motion-on {
	animation: sec02EnterSlider .9s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-content.motion-on {
	animation: sec02EnterSoft .85s cubic-bezier(.16, 1, .3, 1) forwards;
}

.sec02-line-top.motion-on {
	animation: sec02ClipInSlow 1.8s cubic-bezier(.16, 1, .3, 1) forwards;
}

@keyframes sec02EnterSoft {
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes sec02EnterTitle {
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
	}
}

@keyframes sec02EnterButton {
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes sec02EnterSlider {
	100% {
		opacity: 1;
		transform: translate(-50%, -44%) scale(1);
	}
}




















.section_03 {
	background:#0d2546;
	color:#fff;
}

.sec03-wrap {
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
	background:#0d2546;
}

.sec03-slide-img {
	position:absolute;
	left:0;
	top:0;
	width:53%;
	height:100%;
	overflow:hidden;
	z-index:1;
}

.sec03-slide-img picture {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}

.sec03-slide-img picture img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center bottom;
}

.sec03-img-current {
	z-index:1;
}

.sec03-img-next {
	z-index:2;
	opacity:0;
	pointer-events:none;
}

.sec03-img-next.is-show {
	animation: sec03ImageOverlayIn .95s cubic-bezier(.16,1,.3,1) forwards;
}

@keyframes sec03ImageOverlayIn {
	0% {
		opacity:0;
		transform:scale(1.045);
		filter:blur(5px) brightness(.96);
	}
	100% {
		opacity:1;
		transform:scale(1);
		filter:blur(0) brightness(1);
	}
}




.sec03-panel {
	position:absolute;
	right:0;
	top:0;
	width:47%;
	height:100%;
	background:#0D2144;
	z-index:5;
}

.sec03-title {
	position:absolute;
	left:16.5%;
	top:26.5%;
	z-index:5;
}

.sec03-title p {
	margin-bottom:24px;
	font-size:22px;
	font-weight:800;
	letter-spacing:.18em;
	color:rgba(255,255,255,.09);
	opacity:0;
	transform:translateY(24px);
}

.sec03-title span {
	display:block;
	margin-bottom:12px;
	font-size:25px;
	line-height:1.3;
	letter-spacing:-.05em;
	opacity:0;
	transform:translateY(28px);
}

.sec03-title h2 {
	font-size:68px;
	line-height:1;
	font-weight:800;
	letter-spacing:.02em;
	color:#a87d64;
	opacity:0;
	transform:translateY(36px);
}

.sec03-icon {
	position:absolute;
	left:-65px;
	top:50%;
	width:130px;
	height:130px;
	margin-top:-65px;
	border-radius:50%;
	background:#a87d64;
	z-index:8;
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	transform:scale(.78);
}

.sec03-icon img {
	max-width:58px;
	max-height:58px;
}

.sec03-text {
	position:absolute;
	left:16.5%;
	top:55.5%;
	z-index:5;
}

.sec03-text p {
	font-size:22px;
	line-height:1.5;
	color:rgba(255,255,255,.84);
	opacity:0;
	transform:translateY(30px);
}

.sec03-text h3 {
	margin-top:12px;
	font-size:45px;
	line-height:1.25;
	font-weight:800;
	color:#a87d64;
	opacity:0;
	transform:translateY(34px);
}

.sec03-text a {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:22px;
	width:174px;
	height:52px;
	margin-top:48px;
	border:1px solid rgba(255,255,255,.7);
	border-radius:50px;
	font-size:13px;
	font-weight:800;
	color:#fff;
	opacity:0;
	transform:translateY(24px) scale(.96);
	transition:all .35s ease;
}
.sec03-text a span {
	letter-spacing: 1px;
}

.sec03-text a:hover {
	background:#fff;
	color:#0d2546;
}

.sec03-text a i {
	font-style:normal;
	font-size:22px;
	line-height:1;
}

.sec03-nav {
	position:absolute;
	right:10%;
	top:50%;
	z-index:20;
	display:flex;
	flex-direction:column;
	gap:18px;
	transform:translateY(-50%);
}

.sec03-nav button {
	display:block;
	width:16px;
	height:3px;
	border:0;
	padding:0;
	background:#fff;
	cursor:pointer;
	transition:width .35s cubic-bezier(.16,1,.3,1);
}

.sec03-nav button.active {
	width:36px;
	height: 6px;
}



.sec03-slide-img img {
	opacity:1;
	filter:none;
	transform:scale(1);
	animation:none;
}



/* 섹션3 모션 리셋 */
.sec03-title p,
.sec03-title span,
.sec03-title h2,
.sec03-icon,
.sec03-text p,
.sec03-text h3,
.sec03-text a {
	opacity: 0;
	will-change: transform, opacity, filter, clip-path;
	backface-visibility: hidden;
}

/* 슬라이드 이미지: 하단 기준 노출 */
.sec03-slide-img {
	background: #0d2546;
}

/* 기존 섬광 효과 제거 */
.sec03-slide-img::after {
	display: none !important;
	content: none !important;
}

.sec03-slide-img img {
	opacity: 1;
	filter: none;
	transform: scale(1);
	animation: none;
	object-position: center bottom;
}


@keyframes sec03ImageCalmIn {
	0% {
		opacity: 0;
		transform: scale(1.06) translate3d(0, 18px, 0);
		filter: blur(4px) saturate(.94) brightness(.96);
	}
	100% {
		opacity: 1;
		transform: scale(1.02) translate3d(0, 0, 0);
		filter: blur(0) saturate(1) brightness(1);
	}
}

/* 텍스트 노출 */
.section_03.is-active .sec03-title p {
	animation: sec03EyebrowIn .68s cubic-bezier(.16,1,.3,1) .03s forwards;
}

.section_03.is-active .sec03-title span {
	animation: sec03NameReveal .72s cubic-bezier(.16,1,.3,1) .08s forwards;
}

.section_03.is-active .sec03-title h2 {
	animation: sec03PremiumReveal .82s cubic-bezier(.16,1,.3,1) .14s forwards;
}

.section_03.is-active .sec03-icon {
	animation: sec03IconLuxuryIn .78s cubic-bezier(.16,1,.3,1) .20s forwards;
}

.section_03.is-active .sec03-text p {
	animation: sec03DescLuxuryIn .76s cubic-bezier(.16,1,.3,1) .26s forwards;
}

.section_03.is-active .sec03-text h3 {
	animation: sec03HeadingLuxuryIn .78s cubic-bezier(.16,1,.3,1) .32s forwards;
}

.section_03.is-active .sec03-text a {
	animation: sec03ButtonLuxuryIn .72s cubic-bezier(.16,1,.3,1) .40s forwards;
}




/* AMAZING PREMIUM */
@keyframes sec03EyebrowIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 14px, 0);
		letter-spacing: .32em;
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		letter-spacing: .18em;
		filter: blur(0);
	}
}

/* 단지명 */
@keyframes sec03NameReveal {
	0% {
		opacity: 0;
		transform: translate3d(-18px, 0, 0);
		clip-path: inset(0 100% 0 0);
		filter: blur(3px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
		filter: blur(0);
	}
}

/* PREMIUM 6 */
@keyframes sec03PremiumReveal {
	0% {
		opacity: 0;
		transform: translate3d(0, 24px, 0) scale(.97);
		clip-path: inset(100% 0 0 0);
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		clip-path: inset(0 0 0 0);
		filter: blur(0);
	}
}

/* 아이콘 */
@keyframes sec03IconLuxuryIn {
	0% {
		opacity: 0;
		transform: translate3d(-18px, 0, 0) scale(.88);
		filter: blur(5px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		filter: blur(0);
	}
}

/* 설명문 */
@keyframes sec03DescLuxuryIn {
	0% {
		opacity: 0;
		transform: translate3d(24px, 0, 0);
		clip-path: inset(0 0 0 100%);
		filter: blur(4px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
		filter: blur(0);
	}
}

/* 핵심 카피 */
@keyframes sec03HeadingLuxuryIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 18px, 0);
		clip-path: inset(0 0 100% 0);
		filter: blur(3px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		clip-path: inset(0 0 0 0);
		filter: blur(0);
	}
}

/* 버튼 */
@keyframes sec03ButtonLuxuryIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 14px, 0) scale(.96);
		filter: blur(3px);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		filter: blur(0);
	}
}















.section_04 {
	background:#f4f7f8;
	color:#0D2144;
}

.sec04-bg {
	position:absolute;
	inset:0;
	background:url("../img/main/sec04_bg.jpg") no-repeat center center / cover;
	transform:scale(1.06);
	opacity:0;
}

.section_04.is-active .sec04-bg {
	animation:sec04BgIn 1.5s cubic-bezier(.16,1,.3,1) forwards;
}

.sec04-inner {
	position:relative;
	z-index:5;
	width:1240px;
	max-width:calc(100% - 120px);
	height:100%;
	margin:0 auto;
	padding-top:170px;
	box-sizing:border-box;
}

.sec04-title {
	text-align:center;
	font-size:54px;
	line-height:1;
	font-weight:800;
	letter-spacing:.22em;
	color:#0D2144;
	opacity:0;
	transform:translateY(28px);
}

.section_04.is-active .sec04-title {
	animation:sec04TitleIn .95s cubic-bezier(.16,1,.3,1) .08s forwards;
}

.sec04-content {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:100px;
	margin-top:84px;
}

.sec04-map {
	width:586px;
	border:1px solid rgba(13,33,68,.22);
	opacity:0;
	transform:translate3d(-36px, 0, 0);
	overflow:hidden;
}

.sec04-map img {
	display:block;
	width:100%;
}

.section_04.is-active .sec04-map {
	animation:sec04MapIn 1s cubic-bezier(.16,1,.3,1) .22s forwards;
}

.sec04-info {
	width:468px;
	opacity:0;
	transform:translate3d(38px, 0, 0);
}

.section_04.is-active .sec04-info {
	animation:sec04InfoIn 1s cubic-bezier(.16,1,.3,1) .34s forwards;
}

.sec04-logo {
	padding:34px 0 28px;
	border-top:1px solid rgba(13,33,68,.22);
	border-bottom:1px solid rgba(13,33,68,.22);
	text-align:center;
}

.sec04-logo img {
	display:block;
	margin:0 auto;
	max-width:260px;
}

.sec04-place {
	margin-top:42px;
}

.sec04-place dl {
	display:flex;
	align-items:center;
	gap:24px;
	margin-bottom:18px;
	color:#0D2144;
}

.sec04-place dt {
	position:relative;
	font-size:22px;
	font-weight:800;
	letter-spacing:.18em;
	white-space:nowrap;
}

.sec04-place dd {
	font-size:22px;
	letter-spacing:1px;
}

.sec04-place dt::after {
	content:"";
	position:absolute;
	right:-15px;
	top:50%;
	width:1px;
	height:20px;
	background:rgba(13,33,68,.45);
	transform:translateY(-50%);
}

.sec04-btns {
	display:flex;
	gap:12px;
}

.sec04-btns a {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:226px;
	height:58px;
	background:#0D2144;
	color:#fff;
	font-size:17px;
	font-weight:700;
	letter-spacing:-.04em;
	transition:all .35s ease;
}

.sec04-btns a.kakao {
	background:#a87d64;
}

.sec04-btns a img {
	max-width: 18px;
	max-height: 18px;
	position: relative;
	top: 1px;
}

.sec04-btns a:hover {
	transform:translateY(-4px);
	box-shadow:0 16px 28px rgba(0,0,0,.12);
}

@keyframes sec04BgIn {
	100% {
		opacity:1;
		transform:scale(1);
	}
}

@keyframes sec04TitleIn {
	100% {
		opacity:1;
		transform:translateY(0);
	}
}

@keyframes sec04MapIn {
	100% {
		opacity:1;
		transform:translate3d(0, 0, 0);
	}
}

@keyframes sec04InfoIn {
	100% {
		opacity:1;
		transform:translate3d(0, 0, 0);
	}
}




































@media screen and (max-width: 768px) {

	html,
	body,
	#fullpage,
	.section,
	.fp-tableCell {
		height:var(--app-height) !important;
		min-height:var(--app-height) !important;
	}

	.section {
		overflow:hidden !important;
	}




	.section_02,
	.section_02 .fp-tableCell {
		height: 100vh !important;
		min-height: 680px !important;
		display: block !important;
		vertical-align: top !important;
		overflow: hidden !important;
	}

	.section_02.premium-section {
		padding: 0 !important;
		box-sizing: border-box;
		overflow: hidden !important;
	}

	.section_02 .sec02-bg {
		background-image: url("../img/m/m_sec02_bg.jpg") !important;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
		opacity: 1 !important;
		transform: scale(1.06);
	}

	.section_02.is-active .sec02-bg {
		transform: scale(1);
	}

	.section_02 .sec02-inner {
		position: absolute !important;
		left: 0;
		top: 0;
		width: 100% !important;
		max-width: none !important;
		height: 100vh !important;
		min-height: 680px !important;
		padding: 0 40px !important;
		box-sizing: border-box;
		z-index: 20;
	}

	.section_02 .sec02-left {
		position: absolute !important;
		left: 40px !important;
		top: 150px !important;
		width: calc(100% - 80px) !important;
		z-index: 40;
		opacity: 1 !important;
		transform: none !important;
		overflow: visible !important;
	}

	.section_02 .sec02-eyebrow {
		margin-bottom: 18px;
		font-size: 26px;
		line-height: 1;
		letter-spacing: .17em;
		color: #fff;
	}

	.section_02 .sec02-left h2 {
		font-size: 42px;
		line-height: 1.34;
		letter-spacing: -0.05em;
		clip-path: none !important;
		overflow: visible !important;
	}

	.section_02 .sec02-desc {
		margin-top: 22px;
		font-size: 23px;
		line-height: 1.7;
	}

	.section_02 .sec02-more {
		width: 190px;
		height: 58px;
		margin-top: 34px;
		font-size: 15px;
	}

	.section_02 .sec02-content {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		z-index: 50;
		pointer-events: none;
	}

	.section_02 .sec02-thumb {
		display: block !important;
		position: absolute !important;
		right: 40px !important;
		top: 320px !important;
		width: 196px !important;
		height: 142px !important;
		margin: 0 !important;
		z-index: 90 !important;
		opacity: 0;
		overflow: hidden;
		transform: translate3d(22px, 0, 0) scale(.98);
	}

	.section_02 .sec02-thumb.motion-on {
		animation: sec02MoThumbIn .9s cubic-bezier(.16, 1, .3, 1) forwards !important;
	}

	.section_02 .sec02-thumb img {
		display: block !important;
		position: absolute !important;
		left: 0;
		top: 0;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		filter: none !important;
	}

	.section_02 .sec02-line-top {
		display: block !important;
		position: absolute !important;
		right: -52px !important;
		top: 315px !important;
		width: 180px !important;
		height: 250px !important;
		z-index: 10 !important;
		opacity: 0;
		clip-path: inset(0 100% 0 0);
		transform: translate3d(24px, 0, 0);
	}

	.section_02 .sec02-line-top.motion-on {
		animation: sec02MoLineIn 1.8s cubic-bezier(.16, 1, .3, 1) forwards !important;
	}

	.section_02 .sec02-line-top img {
		display: block !important;
		width: 180px !important;
		height: 250px !important;
		object-fit: contain;
	}

	.section_02 .sec02-slider {
		position: absolute !important;
		left: auto !important;
		right: 40px !important;
		top: 500px !important;
		width: 450px !important;
		max-width: 493px !important;
		height: 450px !important;
		max-height: 503px !important;
		margin: 0 !important;
		transform: none !important;
		z-index: 45;
	}

	.section_02 .sec02-main-img {
		width: 450px !important;
		height: 450px !important;
	}

	.section_02 .sec02-nav button,
	.section_02 .sec02-nav button img {
		width: 52px;
		height: 51px;
	}

	.section_02 .sec02-text {
		position: absolute !important;
		left: unset !important;
		top: 1000px !important;
		width: 450px !important;
		padding-left: 0 !important;
		right: 40px;
		box-sizing: border-box;
		z-index: 80;
	}

	.section_02 .sec02-en {
		margin-bottom: 8px;
		font-size: 44px;
		line-height: 1;
	}

	.section_02 .sec02-text h3 {
		font-size: 34px;
		line-height: 1.4;
		white-space: nowrap;
	}

	.section_02 .sec02-text > p:last-child {
		margin-top: 16px;
		font-size: 20px;
		line-height: 1.55;
	}

	.section_02 .sec02-illust {
		left: 0;
		top: 780px;
		width: 100%;
		z-index: 60 !important;
	}

	.section_02 .sec02-illust img {
		width: 100%;
		object-fit: cover;
		object-position: left bottom;
	}

	@keyframes sec02MoThumbIn {
		0% {
			opacity: 0;
			transform: translate3d(22px, 0, 0) scale(.98);
		}
		100% {
			opacity: 1;
			transform: translate3d(0, 0, 0) scale(1);
		}
	}

	@keyframes sec02MoLineIn {
		0% {
			opacity: 0;
			clip-path: inset(0 100% 0 0);
			transform: translate3d(24px, 0, 0);
		}
		100% {
			opacity: 1;
			clip-path: inset(0 0 0 0);
			transform: translate3d(0, 0, 0);
		}
	}
















	.section_03,
	.section_03 .fp-tableCell {
		height:100vh !important;
		min-height:680px !important;
		overflow:hidden !important;
		background:#0d2546;
	}

	.section_03 .sec03-wrap {
		height:100vh !important;
		min-height:680px !important;
		padding-top:120px;
		box-sizing:border-box;
		background:#0d2546;
	}

	.section_03 .sec03-panel {
		position:absolute;
		left:0;
		top:0;
		width:100%;
		height:100%;
		background: unset;
		z-index:30;
	}

	.section_03 .sec03-title {
		position:absolute;
		left:58px;
		top:160px;
		z-index:20;
	}

	.section_03 .sec03-title p {
		margin-bottom:24px;
		font-size:24px;
		line-height:1;
		letter-spacing:.18em;
		color:rgba(255,255,255,.09);
	}

	.section_03 .sec03-title span {
		margin-bottom:16px;
		font-size:28px;
		line-height:1.3;
		letter-spacing:1px;
		color:#fff;
	}

	.section_03 .sec03-title h2 {
		font-size:76px;
		line-height:1;
		letter-spacing:.02em;
		color:#b18467;
	}

	.section_03 .sec03-slide-img {
		position:absolute;
		left:0;
		top:370px;
		width:100%;
		height:560px;
		z-index:10;
		overflow:hidden;
	}

	.section_03 .sec03-slide-img picture,
	.section_03 .sec03-slide-img img {
		display:block;
		width:100%;
		height:100%;
	}

	.section_03 .sec03-slide-img img {
		object-fit:cover;
		object-position:center top;
	}

	.section_03 .sec03-icon {
		position:absolute;
		left:58px;
		top:845px;
		width:124px;
		height:124px;
		margin:0;
		z-index:30;
	}

	.section_03 .sec03-icon img {
		max-width:58px;
		max-height:58px;
	}

	.section_03 .sec03-text {
		position:absolute;
		left:58px;
		top:980px;
		width:calc(100% - 116px);
		z-index:30;
	}

	.section_03 .sec03-text p {
		font-size:22px;
		line-height:1.5;
		letter-spacing:1px;
		color:rgba(255,255,255,.9);
	}

	.section_03 .sec03-text h3 {
		margin-top:15px;
		font-size:40px;
		line-height:1.25;
		letter-spacing:-.06em;
		color:#b18467;
	}

	.section_03 .sec03-text a {
		width:190px;
		height:58px;
		margin-top:42px;
		font-size:15px;
	}

	.section_03 .sec03-nav {
		position:absolute;
		right:58px;
		top:1040px;
		bottom:auto;
		z-index:35;
		gap:17px;
	}

	.section_03 .sec03-nav button {
		width:16px;
		height:3px;
	}

	.section_03 .sec03-nav button.active {
		width:36px;
		height: 6px;
	}











	.section_04,
	.section_04 .fp-tableCell {
		height:var(--app-height) !important;
		min-height:var(--app-height) !important;
		overflow:hidden !important;
	}

	.section_04 .sec04-bg {
		background-image:url("../img/m/m_sec04_bg.jpg");
		background-position:center top;
		background-size:cover;
	}

	.section_04 .sec04-inner {
		width: 100%;
		max-width: none;
		padding: 0 40px;
		height:var(--app-height) !important;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
	}

	.section_04 .sec04-title {
		margin-top:36px;
		font-size:56px;
		line-height:1;
		letter-spacing:.22em;
		text-align:center;
	}

	.section_04 .sec04-content {
		display:block;
		margin-top:30px;
	}

	.section_04 .sec04-map {
		width:100%;
		border:1px solid rgba(13,33,68,.22);
	}

	.section_04 .sec04-map img {
		width:100%;
	}

	.section_04 .sec04-info {
		width:100%;
		margin-top:30px;
	}

	.section_04 .sec04-logo {
		padding:30px 0 30px;
	}

	.section_04 .sec04-logo img {
		max-width:330px;
	}

	.section_04 .sec04-place {
		margin-top:30px;
	}

	.section_04 .sec04-place dl {
		gap:26px;
		margin-bottom:15px;
	}

	.section_04 .sec04-place dt {
		font-size:26px;
		letter-spacing:.22em;
	}

	.section_04 .sec04-place dd {
		font-size:26px;
		line-height:1.35;
	}

	.section_04 .sec04-place dt::after {
		right:-16px;
		height:24px;
	}

	.section_04 .sec04-btns {
		gap:14px;
	}

	.section_04 .sec04-btns a {
		width:calc((100% - 14px) / 2);
		height:72px;
		font-size:21px;
		gap:14px;
	}

	.section_04 .sec04-btns a img {
		max-width:22px;
		max-height:22px;
	}





	.main-open {
		display:flex !important;
		flex-direction: row !important;
		align-items:center !important;
		justify-content:center !important;
		position:absolute !important;
		left:50% !important;
		bottom:54px !important;
		z-index:30 !important;
		width:310px !important;
		height:80px;
		border:2px solid #1aa3ff !important;
		border-radius:50px !important;
		background:#fff !important;
		color:#1aa3ff !important;
		font-size:32px !important;
		font-weight:800 !important;
		transform:translateX(-50%) !important;
		opacity:0;
		animation:mainOpenIn .9s cubic-bezier(.16,1,.3,1) 1.15s forwards !important;
		letter-spacing: 1px;
	}
	.main-open.v1 {
		width: unset !important;
		padding: 10px 25px;
	}

	.main-open b {
		font-size:34px;
		font-weight:900;
	}

	@keyframes mainOpenIn {
		0% {
			opacity:0;
			transform:translateX(-50%) translateY(24px) scale(.96);
			filter:blur(4px);
		}
		100% {
			opacity:1;
			transform:translateX(-50%) translateY(0) scale(1);
			filter:blur(0);
		}
	}






}

