@font-face {
	font-family: 'GowoonDodum';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/GowunDodum-Regular.woff') format('woff');
	font-weight: normal;
	font-display: swap;
}


.header {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.2s ease, visibility 1.2s ease;
}

.header.is-show {
	opacity: 1;
	visibility: visible;
}


.main_intro_section {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #fff;
	font-family:'Paperlogy-4Regular';
}

/* 메인 배경 영상 */
.main-bg-wrapper {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0;
	overflow: hidden;
	background-color: #fff;
	animation: fadeInMain 1.2s 6.8s ease-in-out forwards;
}

.main-bg-wrapper video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-bg-wrapper::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	background-color: rgba(0, 0, 0, 0.08);
	background-image:
			url('data:image/svg+xml,%3Csvg viewBox=%220 0 200 200%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22noiseFilter%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.75%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23noiseFilter)%22 opacity=%220.10%22/%3E%3C/svg%3E'),
			url('data:image/svg+xml,%3Csvg viewBox=%220 0 200 200%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22noiseFilter%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.95%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23noiseFilter)%22 opacity=%220.10%22/%3E%3C/svg%3E');
	background-size: 150px, 120px;
	background-blend-mode: color-burn, soft-light;
	animation: darkenOverlay 4s 9.4s ease-in-out forwards, shimmering 4.0s infinite alternate ease-in-out;
}

/* 메인 텍스트 */
.main-text-overlay {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10%;
	pointer-events: none;
	transform: translateY(-5%);
}

.text-content-wrap {
	position: relative;
	width: 100%;
	height: 360px;
}

.copy-text {
	color: #fff;
	line-height: 1.8;
	letter-spacing: 1px;
}

/* 왼쪽 카피 */
.text-left {
	position: absolute;
	left: 0;
	top: 0;
	width: 45%;
	font-size: 20px;
	font-weight: 300;
	opacity: 1;
	transform: translateX(0);
	/*animation: moveLeftCopyToCenter 2.2s 16s cubic-bezier(0.22, 1, 0.36, 1) forwards;*/
}

.text-left p {
	margin: 0 0 2rem;
	opacity: 0;
	/*animation: fadeInPlace 1.5s ease-out forwards;*/
	line-height: 1.9;
}

.text-left p:last-child {
	margin-bottom: 0;
}

/*.text-left p:nth-child(1) { animation-delay: 8.8s; }
.text-left p:nth-child(2) { animation-delay: 11.3s; }
.text-left p:nth-child(3) { animation-delay: 13.8s; }*/

/* 오른쪽 카피 */
.text-right {
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	font-family:'Paperlogy-4Regular';
	font-size: 1.7rem;
	font-weight: normal;
	text-align: left;
	opacity: 0;
	transform: translateY(16px);
	/*animation: fadeUpRightCopy 1.8s 16.6s ease-in-out forwards;*/
	letter-spacing: -1px;
}




.main_intro_section.is-main-text-play .text-left p {
	animation: fadeUpParagraph 1.75s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.main_intro_section.is-main-text-play .text-left p:nth-child(1) {
	animation-delay: 0s;
}

.main_intro_section.is-main-text-play .text-left p:nth-child(2) {
	animation-delay: 0.9s;
}

.main_intro_section.is-main-text-play .text-left p:nth-child(3) {
	animation-delay: 1.8s;
}

.main_intro_section.is-main-text-play .text-left {
	animation: moveLeftCopyToCenter 2.5s 3.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.main_intro_section.is-main-text-play .text-right {
	animation: fadeUpRightCopy 1.0s 4.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}


@keyframes moveLeftCopyToCenter {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(30.5vw);
	}
}

@keyframes fadeUpRightCopy {
	0% {
		opacity: 0;
		transform: translateY(16px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeUpParagraph {
	0% {
		opacity: 0;
		transform: translate3d(0, 24px, 0);
		filter: blur(7px);
	}
	25% {
		opacity: 0.75;
		filter: blur(0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: blur(0);
	}
}

.text-right {
	width: 42%;
}

.text-right .keyword {
	font-weight: normal;
}

.text-right .highlight {
	display: block;
	margin-top: 10px;
	font-size: 4.4rem;
	line-height: 1.2;
	font-family:'Paperlogy-7Bold';
}

/* 신혼희망타운 */
.keyword-emphasis {
	position: relative;
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	gap: 3px;
	margin-bottom: 2px;
	font-size: 30px;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: -0.05em;
	white-space: nowrap;
	margin-right: 5px;
	text-shadow: 0 0 16px rgba(255,255,255,0.28);
}

/* 밑줄 제거 */
.keyword-emphasis::after {
	display: none !important;
	content: none !important;
}

.keyword-emphasis i {
	position: relative;
	display: inline-block;
	font-style: normal;
	opacity: 0;
	transform: translate3d(0, 34px, 0) scale(0.92);
	filter: blur(10px);
	font-family:'Paperlogy-6SemiBold';
}

.keyword-emphasis i::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -18px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 14px rgba(255,255,255,0.95);
	opacity: 0;
	transform: translate3d(-50%, 12px, 0) scale(0);
}

/* 부모 text-right가 7.6초 뒤 보이므로, 효과도 그때 실행 */
.main_intro_section.is-main-text-play .keyword-emphasis i {
	animation: keywordCharPop 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.main_intro_section.is-main-text-play .keyword-emphasis i::before {
	animation: keywordDotPop 0.55s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(1) { animation-delay: 4.3s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(2) { animation-delay: 4.34s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(3) { animation-delay: 4.58s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(4) { animation-delay: 4.72s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(5) { animation-delay: 4.86s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(6) { animation-delay: 5.00s; }

.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(1)::before { animation-delay: 4.6s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(2)::before { animation-delay: 4.74s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(3)::before { animation-delay: 4.88s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(4)::before { animation-delay: 5.02s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(5)::before { animation-delay: 5.16s; }
.main_intro_section.is-main-text-play .keyword-emphasis i:nth-child(6)::before { animation-delay: 5.30s; }

@keyframes keywordCharPop {
	0% {
		opacity: 0;
		transform: translate3d(0, 34px, 0) scale(0.92);
		filter: blur(10px);
	}
	65% {
		opacity: 1;
		transform: translate3d(0, -5px, 0) scale(1.04);
		filter: blur(0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		filter: blur(0);
	}
}

@keyframes keywordDotPop {
	0% {
		opacity: 0;
		transform: translate3d(-50%, 12px, 0) scale(0);
	}
	70% {
		opacity: 1;
		transform: translate3d(-50%, -2px, 0) scale(1.35);
	}
	100% {
		opacity: 1;
		transform: translate3d(-50%, 0, 0) scale(1);
	}
}

.main-copy-logo {
	display: block;
	max-width: 100%;
	margin-top: 26px;
	opacity: 0;
	transform: translateY(20px);
}

.main_intro_section.is-main-text-play .main-copy-logo {
	animation: fadeLogoUp 1.4s 4.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes fadeLogoUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}



/* 인트로 */
.intro-wrapper {
	position: absolute;
	inset: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: hideIntro 0s 8.8s forwards;
	transform: none;
}

.frame-container {
	position: relative;
	width: 200%;
	height: 200%;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	zoom: 0.5;
	transform: none;
	transform-origin: center center;
}
.bg-frame,
.img-c01,
.video-c02,
.img-c03,
.img-c04 {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform: translateZ(0);
}

.bg-frame {
	display: block;
	z-index: 1;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	opacity: 0.8;
	transform-origin: center center;
	animation: zoomIntoSite 4s 6.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.content-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: fadeOutContent 0.8s 6.2s ease-in-out forwards;
}

.center-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3vh;
	width: 100%;
	transform: none;
}

.img-c01 {
	opacity: 0;
	max-width: 80%;
	height: auto;
	margin-top: 230px;
	animation:
			fadeBlurInPlace 2s 0.5s ease-out forwards;
}

.video-c02 {
	opacity: 0;
	visibility: hidden;
	width: 612px;
	height: 557px;
	max-width: 90%;
	object-fit: contain;
	margin-top: 15px;
	position: relative;
	z-index: 1;
}

.video-c02.is-ready {
	visibility: visible;
	animation: fadeInSharp 1.8s ease-out forwards;
}
@keyframes videoHideClip {
	0% {
		opacity: 1;
		filter: blur(0);
	}
	55% {
		opacity: 0.75;
		filter: blur(2px);
	}
	100% {
		opacity: 0;
		filter: blur(6px);
		visibility: hidden;
	}
}
@keyframes fadeInSharp {
	0% {
		opacity: 0;
		filter: blur(1px);
	}
	100% {
		opacity: 1;
		filter: blur(0);
	}
}
.img-c03 {
	opacity: 0;
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin-top: -100px;
	position: relative;
	z-index: 2;
	animation: fadeBlurInPlace 2.0s 3.8s ease-out forwards;
}

.img-c04 {
	opacity: 0;
	max-width: 70%;
	height: auto;
	margin-top: 260px;
	animation: fadeBlurInPlace 2.0s 4.3s ease-out forwards;
}

@keyframes fadeInMain {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes darkenOverlay {
	0% { opacity: 0; }
	100% { opacity: 0.5; }
}

@keyframes shimmering {
	0% { background-position: 0 0, 0 0; }
	100% { background-position: 10px -5px, -10px 10px; }
}

@keyframes hideIntro {
	to {
		visibility: hidden;
		pointer-events: none;
	}
}

@keyframes zoomIntoSite {
	0% {
		transform: scale(1);
		opacity: 1;
		filter: blur(0);
	}
	30% {
		opacity: 1;
		filter: blur(1px);
	}
	100% {
		transform: scale(10);
		opacity: 0;
		filter: blur(8px);
		visibility: hidden;
	}
}

@keyframes fadeOutContent {
	0% {
		opacity: 1;
		visibility: visible;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes fadeBlurInPlace {
	0% {
		opacity: 0;
		filter: none;
		transform: translateY(4px);
	}
	100% {
		opacity: 1;
		filter: none;
		transform: translateY(0);
	}
}

@keyframes fadeOutElement {
	0% { opacity: 1; }
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes fadeInPlace {
	0% { opacity: 0; }
	100% { opacity: 1; }
}






.main_intro_section.is-ready-replay .main-bg-wrapper {
	opacity: 1 !important;
	animation: none !important;
}

.main_intro_section.is-ready-replay .main-bg-wrapper::after {
	opacity: 0.5 !important;
	animation: shimmering 4s infinite alternate ease-in-out !important;
}





















.intro-skip-cursor {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(255,255,255,0.82);
	color: #003577;
	border: 1px solid #003577;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	pointer-events: none;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.main_intro_section {
	cursor: none;
}

.main_intro_section.is-main-text-play {
	cursor: auto;
}
.main_intro_section:hover .intro-skip-cursor {
	opacity: 1;
}

.intro-skip-mobile {
	display: none;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 9999;
	width: 100px;
	height: 100px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.88);
	color: #003577;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	box-shadow: 0 8px 24px rgba(0,0,0,0.16);
}

@media (hover: none), (pointer: coarse) {
	.intro-skip-cursor {
		display: none !important;
	}

	.intro-skip-mobile {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.main_intro_section.is-intro-skipped .intro-wrapper {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	animation: none !important;
}

.main_intro_section.is-intro-skipped .main-bg-wrapper {
	opacity: 1 !important;
	animation: none !important;
}

.main_intro_section.is-intro-skipped .main-bg-wrapper::after {
	opacity: 0.5 !important;
	animation: shimmering 4s infinite alternate ease-in-out !important;
}

.main_intro_section.is-intro-skipped .intro-skip-cursor,
.main_intro_section.is-intro-skipped .intro-skip-mobile {
	display: none !important;
}


.main_intro_section.is-main-text-play .intro-skip-cursor,
.main_intro_section.is-main-text-play .intro-skip-mobile {
	display: none !important;
}








/* ==============================
   SECTION 02 : LOCATION / PREMIUM
============================== */

#section_map {
	position: relative;
	overflow: hidden;
	background: #fff;
}

.haus-location {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #fff;
	font-family: 'Pretendard', sans-serif;
}

.haus-horizontal {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	width: 300vw;
	height: 100%;
	transform: translate3d(0, 0, 0);
	transition: transform 1.65s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: transform;
}

.haus-panel {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	flex-shrink: 0;
}

/* 공통 이동 타이틀 */
.haus-fixed-title {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 40;
	opacity: 0;
	filter: blur(10px);
	transform: translate3d(72vw, 26vh, 0);
	transition:
			transform 1.65s cubic-bezier(0.77, 0, 0.175, 1),
			color 1.65s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 1.05s ease,
			filter 1.05s ease;
	will-change: transform, opacity, filter;
}

.haus-location.is-enter .haus-fixed-title {
	opacity: 1;
	filter: blur(0);
}

.haus-fixed-title > p {
	margin: 0 0 16px;
	font-size: 35px;
	line-height: 1.35;
	color: inherit;
	font-family:'Paperlogy-4Regular';
}
.haus-fixed-title > p em {
	font-family:'Paperlogy-4Regular';
}

.haus-fixed-title > h2 {
	margin: 0 0 26px;
	font-size: 65px;
	line-height: 1.18;
	font-weight: 800;
	letter-spacing: 0;
	font-family:'Paperlogy-6SemiBold';
}



.haus-fixed-title > .title-desc {
	display: block;
	font-size: 22px;
	line-height: 1.85;
	color: inherit;
	font-family:'Paperlogy-4Regular';
	transition: color 1.65s cubic-bezier(0.77, 0, 0.175, 1);
}

/* 줄 마스크 */
.haus-fixed-title .title-line-wrap {
	display: block;
	overflow: hidden;
}

.haus-fixed-title .title-line {
	display: block;
	opacity: 0;
	transform: translate3d(0, 135%, 0) scale(1.035) rotateX(9deg);
	transform-origin: left top;
	filter: blur(12px);
	color: inherit;
	transition:
			transform 1.15s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.95s ease,
			filter 1.15s ease;
	will-change: transform, opacity, filter;
	line-height: 1.3;
}
.haus-fixed-title .title-desc .title-line {
	line-height: 1.5;
}
/* 1단 진입 시 줄별 등장 */
.haus-location.is-enter[data-step="0"] .haus-fixed-title .title-line {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
	filter: blur(0);
}

.haus-location.is-enter[data-step="0"] .haus-fixed-title > p .title-line {
	transition-delay: 0.28s;
}

.haus-location.is-enter[data-step="0"] .haus-fixed-title > h2 .title-line-wrap:nth-child(1) .title-line {
	transition-delay: 0.48s;
}

.haus-location.is-enter[data-step="0"] .haus-fixed-title > h2 .title-line-wrap:nth-child(2) .title-line {
	transition-delay: 0.66s;
}

.haus-location.is-enter[data-step="0"] .haus-fixed-title > .title-desc .title-line-wrap:nth-child(1) .title-line {
	transition-delay: 0.9s;
}

.haus-location.is-enter[data-step="0"] .haus-fixed-title > .title-desc .title-line-wrap:nth-child(2) .title-line {
	transition-delay: 1.04s;
}

/* 위치 */
/* 슬라이드1 */
.haus-location[data-step="0"] .haus-fixed-title {
	transform: translate3d(71vw, 26vh, 0);
	color: #222;
}
.haus-fixed-title > h2 strong {
	color: #003974;
	font-weight: 800;
	font-family:'Paperlogy-6SemiBold';
	transition: color 1.65s cubic-bezier(0.77, 0, 0.175, 1);
}
.haus-location[data-step="0"] .haus-fixed-title > h2 strong {
	color: #003974;
}

/* 슬라이드2: 이동 중에는 right 유지 */
.haus-location[data-step="1"] .haus-fixed-title {
	transform: translate3d(calc(50vw - 260px), 27vh, 0);
	color: #fff;
	transition:
			transform 1.65s cubic-bezier(0.77, 0, 0.175, 1),
			color 1.65s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 1.05s ease,
			filter 1.05s ease;
}


.haus-location[data-step="1"] .haus-fixed-title > h2 strong {
	color: #fff;
	transition: color 1.65s cubic-bezier(0.77, 0, 0.175, 1);
}
.haus-location[data-step="1"] .haus-fixed-title > .title-desc {
	font-size: 22px;
	-webkit-transform-origin-x: left;
}



/* 슬라이드3 */
.haus-location[data-step="2"] .haus-fixed-title {
	transform: translate3d(1.5vw, 10vh, 0) scale(0.7);
	color: #222;
}
.haus-location[data-step="2"] .haus-fixed-title > .title-desc {
	font-family:'Paperlogy-4Regular';
	transform: scale(1.4);
	-webkit-transform-origin-x: left;
}
.haus-location[data-step="2"] .haus-fixed-title > h2 strong {
	color: #003974;
}

/* 2, 3단에서는 이미 보이게 */
.haus-location[data-step="1"] .haus-fixed-title .title-line,
.haus-location[data-step="2"] .haus-fixed-title .title-line {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
	filter: blur(0);
	transition-delay: 0s;
}



.haus-fixed-title {
	text-align: left !important;
}

.haus-fixed-title .title-line-wrap {
	width: max-content;
	max-width: 100%;
	transform: translateX(var(--align-x, 0px));
	transition: transform 1.65s cubic-bezier(0.77, 0, 0.175, 1);
}











/* STEP 0 : 지도 */
.haus-map-bg {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	opacity: 0;
	transform: translate3d(7vw, 0, 0) scale(1.04);
	transition:
			transform 1.45s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 1.25s ease;
	will-change: transform, opacity;
}

.haus-map-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.haus-map-circle {
	position: absolute;
	right: -290px;
	top: calc(50% - 10px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	opacity: 0;
	transform: translate3d(-50%, -50%, 0) scale(0.78);
	filter: blur(8px);
	transition:
			transform 1.35s 0.35s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 1.35s 0.35s ease,
			filter 1.35s 0.35s ease;
	will-change: transform, opacity, filter;
}

.haus-map-circle img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.haus-location.is-enter .haus-map-bg {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.haus-location.is-enter .haus-map-circle {
	opacity: 1;
	transform: translate3d(0, -50%, 0) scale(1);
	filter: blur(0);
}

.haus-bg-word {
	position: absolute;
	left: 5vw;
	bottom: 5vh;
	z-index: 1;
	font-size: 70px;
	line-height: 0.88;
	letter-spacing: 0.02em;
	color: #e9e9e9;
	pointer-events: none;
	font-family: "Outfit", sans-serif;
	font-weight: lighter;
	opacity: 0;
	transform: translate3d(0, 120px, 0) scale(1.18);
	filter: blur(28px);
	transition:
			transform 2.2s cubic-bezier(0.16, 1, 0.3, 1),
			opacity 1.6s ease,
			filter 1.8s ease;
	will-change: transform, opacity, filter;
}
.haus-bg-word strong {
	font-size: 110px;
	font-weight: 800;
	font-family: "Outfit", sans-serif;
}

.haus-bg-word.location {
	left: auto;
	right: 19vw;
}

/* STEP 0에서 등장 */
.haus-location.is-enter[data-step="0"] .haus-bg-word.location {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
	transition-delay: 0.9s;
}

/* STEP 2 프리미엄 텍스트 */
.haus-location[data-step="2"] .haus-bg-word.premium {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
	transition-delay: 0.6s;
}

/* STEP 1 : 기찻길 */
.haus-location[data-step="1"] .haus-horizontal {
	transform: translate3d(-100vw, 0, 0);
}

.haus-rail-bg {
	position: absolute;
	inset: 0;
	background: url('./../img/main/location_rail_blur.jpg') center center / cover no-repeat;
	opacity: 0;
	transform: scale(1.16);
	filter: blur(12px);
	transition:
			transform 1.6s 0.2s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 1.2s 0.15s ease,
			filter 1.35s 0.2s ease;
	will-change: transform, opacity, filter;
}

.haus-location[data-step="1"] .haus-rail-bg {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}

/* STEP 2 : 프리미엄 */
.haus-location[data-step="2"] .haus-horizontal {
	transform: translate3d(-200vw, 0, 0);
}

.premium-copy {
	position: absolute;
	left: 11vw;
	top: 51vh;
	z-index: 8;
	color: #222;
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	filter: blur(8px);
	transition:
			transform 0.85s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.5s ease,
			filter 0.85s ease;
	will-change: transform, opacity, filter;
	text-align: end;
	width: 600px;
}

.premium-copy.is-show {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
}

.premium-copy .premium-num {
	position: absolute;
	right: 0;
	top: -58px;
	font-size: 75px;
	font-style: normal;
	font-weight: 800;
	color: #f5f5f5;
}

.premium-copy h3 {
	margin: 0 0 20px;
	font-size: 59px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: 0.5px;
	color: #003974;
	font-family:'Paperlogy-6SemiBold';
}

.premium-copy h3 strong {
	color: #0098c3;
	letter-spacing: 0.5px;
	font-family:'Paperlogy-6SemiBold';
}

.premium-copy p {
	margin: 0;
	font-size: 24px;
	line-height: 1.7;
	letter-spacing: 0px;
	font-family:'Paperlogy-4Regular';
}

.premium-img-wrap {
	position: absolute;
	right: 0;
	top: 0;
	width: 53vw;
	height: 100%;
	z-index: 2;
	overflow: hidden;
	background: #ddd;
}

.premium-img {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transform: translate3d(100%, 0, 0) scale(1.16);
	filter: blur(5px);
	transition:
			transform 0.85s cubic-bezier(0.77, 0, 0.175, 1),
			clip-path 0.85s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 0.45s ease,
			filter 0.85s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: transform, opacity, filter;
}

.premium-img.active {
	z-index: 3;
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
}

.premium-img.prev {
	z-index: 2;
	opacity: 0;
	transform: translate3d(-34%, 0, 0) scale(1.03);
	filter: blur(8px);
}

.premium-view-more {
	position: absolute;
	left: calc(50% - 3vw);
	top: 66vh;
	z-index: 12;
	border-radius: 50%;
	background: #003974;
	color: #fff;
	text-decoration: none;
	opacity: 0;
	transform: translate3d(0, 24px, 0) scale(0.86);
	transition:
			transform 0.9s 0.55s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.9s 0.55s ease;
	will-change: transform, opacity;
}

.haus-location[data-step="2"] .premium-view-more {
	opacity: 1;
	transform: translate3d(-50%, 0, 0) scale(1);
}

.premium-view-more span {
	position: absolute;
	top: 13px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.premium-view-more i {
	font-style: normal;
	font-size: 38px;
	font-weight: 200;
	line-height: 1;
}


















/* 프리미엄 타이틀 옆 라인 */
.premium-copy h3 {
	position: relative;
	display: inline-block;
}

.premium-copy h3::after {
	content: "";
	position: absolute;
	left: calc(100% + 28px);
	top: 50%;
	width: 120px;
	height: 1px;
	background: rgba(0, 0, 0, 0.65);
	transform: scaleX(0);
	transform-origin: left center;
	opacity: 0;
	transition:
			transform 1.05s 0.45s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 0.8s 0.45s ease;
}

.premium-copy.is-show h3::after {
	transform: scaleX(1);
	opacity: 1;
}

/* 프리미엄 텍스트 개별 등장 */
.premium-copy .premium-num,
.premium-copy h3,
.premium-copy p {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	filter: blur(10px);
	transition:
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.55s ease,
			filter 0.75s ease;
}

.premium-copy.is-show .premium-num {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.12s;
}

.premium-copy.is-show h3 {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.24s;
}

.premium-copy.is-show p {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.38s;
}

/* 프리미엄 이미지 클립 전환 */
.premium-img {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transform: scale(1.32);
	clip-path: inset(0 0 0 0);
	transition:
			transform 0.8s cubic-bezier(0.77, 0, 0.175, 1),
			clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 0.25s ease,
			filter 0.8s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: transform, clip-path, opacity, filter;
}

.premium-img.active {
	z-index: 3;
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
	clip-path: inset(0 0 0 0);
}

.premium-img.is-under {
	z-index: 2;
	opacity: 1;
	transform: scale(1.12);
	filter: blur(0);
	clip-path: inset(0 0 0 0);
}

.premium-img.is-under.is-zoom-in {
	transform: scale(1);
}

.premium-img.is-leaving {
	z-index: 5;
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}

.premium-img.is-leaving.to-left {
	clip-path: inset(0 100% 0 0);
}

.premium-img.is-leaving.to-right {
	clip-path: inset(0 0 0 100%);
}




















/* 하단 스크롤 표시 */
.haus-scroll-line {
	position: absolute;
	right: 4.5vw;
	bottom: 6vh;
	z-index: 50;
	width: 170px;
	height: 2px;
	background: rgba(255, 255, 255, 0.35);
	transition: background 0.6s ease;
}

.haus-scroll-line::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background: rgba(255, 255, 255, 0.35);
	transition: background 0.6s ease;
}

.haus-scroll-line span {
	position: absolute;
	left: 0;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 18px rgba(255, 255, 255, 0.9);
	animation: hausScrollBall 2.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
	transition: background 0.6s ease, box-shadow 0.6s ease;
}

/* 슬라이드 1 */
.haus-location[data-step="0"] .haus-scroll-line {
	background: rgba(0, 59, 81, 0.28);
}

.haus-location[data-step="0"] .haus-scroll-line::before {
	background: rgba(0, 59, 81, 0.45);
}

.haus-location[data-step="0"] .haus-scroll-line span {
	background: #003b51;
	box-shadow: 0 0 14px rgba(0, 59, 81, 0.55);
}

/* 슬라이드 2, 3 */
.haus-location[data-step="1"] .haus-scroll-line,
.haus-location[data-step="2"] .haus-scroll-line {
	background: rgba(255, 255, 255, 0.35);
}

.haus-location[data-step="1"] .haus-scroll-line::before,
.haus-location[data-step="2"] .haus-scroll-line::before {
	background: rgba(255, 255, 255, 0.35);
}

.haus-location[data-step="1"] .haus-scroll-line span,
.haus-location[data-step="2"] .haus-scroll-line span {
	background: #fff;
	box-shadow: 0 0 18px rgba(255, 255, 255, 0.9);
}

@keyframes hausScrollBall {
	0% { left: 0; opacity: 0.25; }
	20% { opacity: 1; }
	80% { opacity: 1; }
	100% { left: calc(100% - 10px); opacity: 0.25; }
}





























#section_story {
	position: relative;
	overflow: hidden;
	background: #fbf5f7;
}

.story-section {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #fbf5f7;
	font-family: 'GowoonDodum', sans-serif;
}

.story-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.story-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}



.story-nature-bg {
	z-index: 7;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1.45s cubic-bezier(0.77, 0, 0.175, 1);
}

.story-pink-mask {
	position: absolute;
	inset: 0;
	z-index: 3;
	background: #fbf5f7;
	clip-path: inset(0 0 0 0 round 0);
	transition:
			clip-path 1.45s cubic-bezier(0.77, 0, 0.175, 1),
			opacity 0.8s ease;
}

.story-intro-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate3d(-50%, -50%, 0);
	text-align: center;
	font-size: 50px;
	line-height: 1.65;
	letter-spacing: -0.04em;
	color: #111;
	font-family:'Paperlogy-4Regular';
}
.story-intro-text em {
	font-family:'Paperlogy-6SemiBold';
}

.story-intro-text .line {
	display: block;
	overflow: hidden;
}

.story-intro-text .line span {
	display: inline-block;
	opacity: 0;
	transform: translate3d(0, 85%, 0) scale(1.01);
	transform-origin: bottom;
	filter: blur(2px);
	transition:
			transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 1.1s ease,
			filter 0.8s ease;
}

.story-section.is-enter .story-intro-text .line span {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
	filter: blur(0);
}

.story-section.is-enter .story-intro-text .line:nth-child(1) span {
	transition-delay: 0.45s;
}

.story-section.is-enter .story-intro-text .line:nth-child(2) span {
	transition-delay: 1.1s;
}

.story-text {
	position: absolute;
	z-index: 8;
	color: #fff;
	opacity: 0;
	transform: translate3d(0, 56px, 0) scale(1.015);
	filter: blur(6px);
	transition:
			opacity 1.35s ease,
			transform 1.45s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.2s ease;
	will-change: opacity, transform, filter;
}

.story-text h3,
.story-text p {
	opacity: 0;
	transform: translate3d(0, 36px, 0);
	filter: blur(6px);
	transition:
			opacity 1.1s ease,
			transform 1.25s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.1s ease;
}

.story-text h3 {
	margin: 0 0 55px;
	font-size: 65px;
	line-height: 1.2;
	letter-spacing: 1px;
	font-family:'Paperlogy-6SemiBold';
}

.story-text p {
	margin: 0;
	font-family:'Paperlogy-4Regular';
	font-size: 22px;
	line-height: 1.85;
	letter-spacing: -0.04em;
}

.story-life-text {
	left: 8vw;
	top: 28vh;
}

.story-nature-text {
	right: 7vw;
	top: 50vh;
	text-align: end;
}


.story-section[data-story-step="1"] .story-intro-text .line span {

	transition: transform 1.4s cubic-bezier(0.22,1,0.36,1),
	opacity 1.1s ease,
	filter 0.8s ease;
}

.story-section[data-story-step="1"] .story-intro-text .line:nth-child(1) span {
	transition-delay: 0s;
}

.story-section[data-story-step="1"] .story-intro-text .line:nth-child(2) span {
	transition-delay: 0.1s;
}



.story-section[data-story-step="3"] .story-intro-text .line span,
.story-section[data-story-step="4"] .story-intro-text .line span,
.story-section[data-story-step="5"] .story-intro-text .line span,
.story-section[data-story-step="6"] .story-intro-text .line span,
.story-section[data-story-step="7"] .story-intro-text .line span {
	opacity: 0;
	transform: translate3d(0, -45%, 0) scale(0.99);
	filter: none;
}


/* 4 : story_life 글자 등장 */
.story-section[data-story-step="4"] .story-pink-mask {
	opacity: 0;
	pointer-events: none;
}

.story-section[data-story-step="5"] .story-life-text {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0) scale(1) !important;
	filter: blur(0) !important;
}

.story-section[data-story-step="5"] .story-life-text h3,
.story-section[data-story-step="5"] .story-life-text p {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0) !important;
	filter: blur(0) !important;
}
.story-section[data-story-step="5"] .story-life-text p {
	transform: translate3d(0, 0, 0) scaleX(0.98) !important;
	-webkit-transform-origin-x: left;
}

.story-section[data-story-step="5"] .story-nature-bg {
	clip-path: inset(60% 0 0 0);
}

/* 6 : story_nature 전체 */
.story-section[data-story-step="6"] .story-nature-bg {
	clip-path: inset(0 0 0 0);
}

/* 7 : story_nature 글자 등장 */
.story-section[data-story-step="7"] .story-nature-bg {
	clip-path: inset(0 0 0 0);
}

.story-section[data-story-step="6"] .story-life-text,
.story-section[data-story-step="7"] .story-life-text {
	opacity: 0;
	transform: translate3d(0, -24px, 0);
	filter: blur(10px);
}




.story-life-bg {
	display: none;
}

.story-life-reveal {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 5;
	width: 0px;
	height: 0px;
	overflow: hidden;
	border-radius: 999px 999px 0 0;
	transform: translate3d(-50%, 0, 0);
	transition:
			width 1.45s cubic-bezier(0.77, 0, 0.175, 1),
			height 1.45s cubic-bezier(0.77, 0, 0.175, 1),
			border-radius 1.45s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: width, height, border-radius;
}

.story-life-reveal img {
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}


.story-section[data-story-step="1"] .story-life-reveal {
	width: 33vw;
	height: 39vh;
}

.story-section[data-story-step="2"] .story-life-reveal {
	width: 33vw;
	height: 83vh;
}

/* STEP 3 : 전체 화면으로 확장 */
.story-section[data-story-step="3"] .story-life-reveal {
	width: 100vw;
	height: 100vh;
	border-radius: 0;
}

.story-section[data-story-step="3"] .story-pink-mask {
	opacity: 0;
	pointer-events: none;
}



/* STEP 4 : life 글자 */
.story-section[data-story-step="4"] .story-life-reveal {
	width: 100vw;
	height: 100vh;
	border-radius: 0;
}





.story-section[data-story-step="1"] .story-pink-mask,
.story-section[data-story-step="2"] .story-pink-mask {
	opacity: 1;
	pointer-events: none;
}

.story-section[data-story-step="3"] .story-pink-mask {
	opacity: 0;
	transition-delay: 0.35s;
}


.story-section[data-story-step="5"] .story-life-reveal,
.story-section[data-story-step="6"] .story-life-reveal,
.story-section[data-story-step="7"] .story-life-reveal {
	width: 100vw;
	height: 100vh;
	border-radius: 0;
}



/* STEP 1에서는 글자 유지 */
.story-section[data-story-step="1"] .story-intro-text .line span {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: none;
}

/* STEP 2부터 글자 사라짐 */
.story-section[data-story-step="2"] .story-intro-text .line span,
.story-section[data-story-step="3"] .story-intro-text .line span,
.story-section[data-story-step="4"] .story-intro-text .line span,
.story-section[data-story-step="5"] .story-intro-text .line span,
.story-section[data-story-step="6"] .story-intro-text .line span,
.story-section[data-story-step="7"] .story-intro-text .line span {
	opacity: 0;
	transform: translate3d(0, -45%, 0) scale(0.99);
	filter: none;
}


.story-section[data-story-step="4"] .story-life-text,
.story-section[data-story-step="6"] .story-nature-text,
.story-section[data-story-step="7"] .story-nature-text {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
}


.story-section[data-story-step="4"] .story-life-text h3,
.story-section[data-story-step="6"] .story-nature-text h3,
.story-section[data-story-step="7"] .story-nature-text h3 {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.05s;
}

.story-section[data-story-step="4"] .story-life-text p,
.story-section[data-story-step="6"] .story-nature-text p,
.story-section[data-story-step="7"] .story-nature-text p {
	opacity: 1;
	transform: translate3d(0, 0, 0) scaleX(0.98);
	filter: blur(0);
	transition-delay: 0.18s;
	-webkit-transform-origin-x: left;
}






























/* ==============================
   SECTION 04 : CONTACT
============================== */

#section_contact {
	position: relative;
	overflow: hidden;
	background: #f6d9d6;
}

.contact-section {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	font-family:'Paperlogy-4Regular';
}

.contact-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: url('./../img/main/contact_bg.jpg') center bottom / cover no-repeat;
	transform: scale(1.08);
	opacity: 0;
	filter: blur(8px);
	transition:
			opacity 1.4s ease,
			transform 2.2s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.6s ease;
}

.contact-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 3vh;
}

.contact-title {
	text-align: center;
	color: #fff;
	opacity: 0;
	transform: translate3d(0, 36px, 0);
	filter: blur(8px);
	transition:
			opacity 1.1s ease,
			transform 1.25s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.1s ease;
}

.contact-title h2 {
	margin: 0 0 18px;
	font-family:'Paperlogy-4Regular';
	font-size: 70px;
	line-height: 1;
	font-weight: 300;
	letter-spacing: 4px;
}

.contact-title p {
	margin: 0;
	font-size: 26px;
	letter-spacing: -0.03em;
	color: #554a48;
}

.contact-content {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 140px;
	margin-top: 65px;
}

.contact-map {
	opacity: 0;
	transform: translate3d(-48px, 42px, 0) scale(0.96);
	filter: blur(10px);
	transition:
			opacity 1.15s ease,
			transform 1.35s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.15s ease;
}

.contact-map img {
	display: block;
	width: 100%;
	height: auto;
}

.contact-info {
}

.contact-item {
	opacity: 0;
	transform: translate3d(52px, 42px, 0);
	filter: blur(10px);
	transition:
			opacity 1.15s ease,
			transform 1.35s cubic-bezier(0.16, 1, 0.3, 1),
			filter 1.15s ease;
}

.contact-item + .contact-item {
	margin-top: 34px;
}

.contact-item h3 {
	margin: 0 0 8px;
	font-size: 33px;
	line-height: 1.2;
	color: #003974;
	letter-spacing: -0.04em;
	font-family:'Paperlogy-6SemiBold';
}

.contact-item p {
	margin: 0 0 14px;
	font-size: 22px;
	color: #000;
	letter-spacing: -0.04em;
}

.contact-btns {
	display: flex;
	gap: 12px;
}

.contact-btns a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 170px;
	height: 55px;
	border-radius: 999px;
	color: #fff;
	font-size: 17px;
	text-decoration: none;
	transition:
			transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
			opacity 0.45s ease;
}

.contact-btns a:hover {
	transform: translateY(-3px);
}

.btn-naver {
	background: #003974;
}

.btn-kakao {
	background: #b58879;
}

/* 진입 모션 */
.contact-section.is-enter .contact-bg {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}

.contact-section.is-enter .contact-title {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.15s;
}

.contact-section.is-enter .contact-map {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
	transition-delay: 0.45s;
}

.contact-section.is-enter .contact-item:nth-child(1) {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.65s;
}

.contact-section.is-enter .contact-item:nth-child(2) {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	filter: blur(0);
	transition-delay: 0.85s;
}








.top-btn {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9999;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px);
	transition:
			opacity 0.45s ease,
			visibility 0.45s ease,
			transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.top-btn img {
	display: block;
	width: 100%;
	height: auto;
}

.top-btn.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.top-btn.is-premium {
	bottom: 30px;
	right: 20px;
}










.m-premium-arrow {
	display: none;
}


/* ==============================
   MOBILE FULLPAGE ONLY
   PC CSS 건드리지 않음
============================== */
@media (max-width: 768px) {
	html,
	body {
		width: 100%;
		height: var(--app-height, 100svh) !important;
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	body {
		touch-action: pan-y;
	}



	.header {
		transition: background-color 0.4s ease;
	}

	.header a,
	.header .gnb a,
	.header .logo,
	.header .tel,
	.header .menu-btn {
		color: #fff !important;
	}


	#fullpage,
	.fp-section:not(.fp-auto-height),
	.fp-tableCell:not(.fp-auto-height),
	.section:not(.fp-auto-height),
	.main_intro_section,
	.haus-location,
	.haus-panel,
	.story-section,
	.contact-section {
		height: var(--app-height, 100svh) !important;
		min-height: var(--app-height, 100svh) !important;
	}

	#fullpage .section.fp-auto-height,
	#fullpage .section.fp-auto-height .fp-tableCell,
	#fullpage .fp-auto-height,
	#fullpage .fp-auto-height .fp-tableCell {
		height: auto !important;
		min-height: 0 !important;
	}

	#fullpage .fp-auto-height footer,
	#fullpage .fp-auto-height .footer {
		height: auto !important;
		min-height: 0 !important;
		padding-bottom: 24px;
	}

	.fp-tableCell {
		display: block !important;
	}

	/* 1번 섹션 */
	.main_intro_section {
		overflow: hidden !important;
	}

	.intro-wrapper {
		height: var(--app-height, 100svh) !important;
	}

	.frame-container {
		height: 200% !important;
	}

	.center-group {
		transform: scale(0.82);
		transform-origin: center center;
	}

	.img-c01 {
		max-width: 72%;
		margin-top: 150px;
	}

	.video-c02 {
		width: 420px;
		height: auto;
	}

	.img-c03 {
		max-width: 76%;
		margin-top: -55px;
	}

	.img-c04 {
		max-width: 66%;
		margin-top: 170px;
	}

	.main-text-overlay {
		padding: 0 8vw;
		transform: translateY(-2%);
	}

	.text-content-wrap {
		height: 62vh;
	}

	.text-left {
		width: 100%;
		font-size: clamp(16px, 3.4vw, 24px);
	}

	.text-right {
		width: 100%;
		top: 2vh;
		font-size: clamp(22px, 4.8vw, 34px);
	}

	.text-right .keyword {
		font-size: clamp(22px, 4.8vw, 34px);
	}

	.text-right .highlight {
		font-size: clamp(42px, 9vw, 70px);
	}

	@keyframes moveLeftCopyToCenter {
		0% {
			transform: translateY(0);
		}
		100% {
			transform: translateY(28vh);
		}
	}










	/* 섹션1 모바일 배경 영상 / 커버 - 예전 모바일 버전 복원 */
	.main-bg-wrapper {
		position: absolute;
		inset: 0;
		overflow: hidden;
		background:
				linear-gradient(
						to bottom,
						#0b356c 0%,
						#174c83 42%,
						#8db1c7 68%,
						#ead3c7 100%
				);
	}

	.main-bg-wrapper video {
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 140%;
		height: auto;
		transform: translateX(-62%);
		object-fit: contain;
	}

	.main-bg-wrapper::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 3;
		pointer-events: none;
		background:
				linear-gradient(
						to bottom,
						rgba(9, 45, 93, 0.78) 0%,
						rgba(9, 45, 93, 0.5) 36%,
						rgba(9, 45, 93, 0.05) 70%,
						rgba(9, 45, 93, 0) 100%
				);
	}

	.main-bg-wrapper::after {
		display: none !important;
	}

	.main-bg-wrapper video {
		-webkit-mask-image: linear-gradient(
				to bottom,
				rgba(0,0,0,0) 0%,
				rgba(0,0,0,0) 18%,
				rgba(0,0,0,1) 34%,
				rgba(0,0,0,1) 100%
		);
		mask-image: linear-gradient(
				to bottom,
				rgba(0,0,0,0) 0%,
				rgba(0,0,0,0) 18%,
				rgba(0,0,0,1) 34%,
				rgba(0,0,0,1) 100%
		);
	}

















	/* 2번 섹션 공통 */
	:root {
		--m-header-height: 140px;
	}

	/* 패널 전체는 그대로 full 높이 */
	#section_map,
	.haus-location,
	.haus-panel {
		height: var(--app-height, 100svh) !important;
	}

	/* 지도 영역 시작을 헤더 아래로 */
	.haus-map-bg {
		left: 50% !important;
		top: var(--m-header-height) !important;
		width: 100vw !important;
		height: calc(var(--app-height, 100svh) - var(--m-header-height)) !important;
		transform: translate3d(-50%, 0, 0) scale(1.02) !important;
	}

	.haus-location.is-enter .haus-map-bg {
		transform: translate3d(-50%, 0, 0) scale(1) !important;
	}

	.haus-map-bg img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
	}

	/* 타이틀 */
	.haus-fixed-title {
		left: 0 !important;
		right: auto !important;
		top: 0 !important;
		width: 100vw !important;
		padding: 0 !important;
		text-align: left !important;
		transform: translate3d(0, calc(var(--m-header-height) + 34px), 0) !important;

		transition:
				transform 1.65s cubic-bezier(0.77, 0, 0.175, 1),
				color 1.65s cubic-bezier(0.77, 0, 0.175, 1),
				opacity 1.05s ease,
				filter 1.05s ease !important;
	}


	/* 기본 줄 */
	.haus-fixed-title .title-line-wrap {
		display: block !important;
		width: max-content !important;
		max-width: calc(100vw - 48px) !important;
		transform: translate3d(calc(100vw - 100% - 24px), 0, 0) !important;

		transition:
				transform 1.65s cubic-bezier(0.77, 0, 0.175, 1) !important;
	}

	/* 지도 */
	.haus-location[data-step="0"] .haus-fixed-title {
		transform: translate3d(0, calc(var(--m-header-height) + 34px), 0) !important;
		color: #222;
	}

	/* 지도 */
	.haus-location[data-step="0"] .haus-fixed-title .title-line-wrap {
		transform: translate3d(calc(100vw - 100% - 24px), 0, 0) !important;
	}

	/* 원 */
	.haus-map-circle {
		width: clamp(160px, 42vw, 320px) !important;
		right: 40px;
		top: calc(var(--m-header-height) + clamp(450px, 45vw, 220px)) !important;
	}

	/* LOCATION 배경 텍스트 */
	.haus-bg-word.location {
		left: clamp(20px, 5vw, 40px) !important;
		top: calc(var(--m-header-height) + 50px) !important;
		bottom: auto !important;
	}
	.haus-location.is-enter[data-step="0"] .haus-bg-word.location {
		transform: translate3d(0, 0, 0) scale(0.45);
		transform-origin: top left;
	}



	.haus-horizontal {
		width: 300vw !important;
		height: var(--app-height, 100svh) !important;
	}

	.haus-panel {
		width: 100vw !important;
		height: var(--app-height, 100svh) !important;
		min-height: var(--app-height, 100svh) !important;
	}

	.haus-scroll-line {
		display: none !important;
	}




	/* 2-2 기찻길 */
	.haus-location[data-step="1"] .haus-fixed-title {
		transform: translate3d(0, calc(var(--m-header-height) + 90px), 0) !important;
		color: #fff;
	}
	/* 기찻길 */
	.haus-location[data-step="1"] .haus-fixed-title .title-line-wrap {
		transform: translate3d(calc(50vw - 50%), 0, 0) !important;
	}
	.haus-location[data-step="1"] .haus-fixed-title > h2 strong {
		color: #fff;
	}

	.haus-rail-bg {
		background-position: center center;
	}

	/* 2-3 프리미엄 */
	.haus-location[data-step="2"] .haus-fixed-title {
		transform: translate3d(-30px, calc(var(--m-header-height) + 20px), 0)  scale(0.85) !important;
		color: #222;
	}


	/* 프리미엄: 왼쪽 정렬 */
	.haus-location[data-step="2"] .haus-fixed-title .title-line-wrap {
		transform: translate3d(24px, 0, 0) !important;
	}

	.haus-fixed-title > .title-desc {
		transform: translate3d(0, 0, 0) scale(1);
		transition:
				transform 1.65s cubic-bezier(0.77, 0, 0.175, 1),
				font-size 1.65s cubic-bezier(0.77, 0, 0.175, 1),
				color 1.65s cubic-bezier(0.77, 0, 0.175, 1);
	}

	.haus-location[data-step="1"] .haus-fixed-title > .title-desc {
		transform: translate3d(0, 0, 0) scale(1);
		font-size: 22px;
	}

	.haus-location[data-step="2"] .haus-fixed-title > .title-desc {
		transform: translate3d(0, -80px, 0) scale(1.4);
		font-size: 22px;
	}


	/* h2는 항상 같은 구조 유지 */
	.haus-fixed-title h2 {
		position: relative !important;
		display: block !important;
		height: 2.6em !important;
		margin-bottom: 10px !important;
	}

	/* h2 안의 두 줄은 항상 absolute */
	.haus-fixed-title h2 .title-line-wrap {
		position: absolute !important;
		left: 0 !important;
		width: max-content !important;
		max-width: calc(100vw - 48px) !important;
		transition:
				transform 1.65s cubic-bezier(0.77, 0, 0.175, 1),
				color 1.65s cubic-bezier(0.77, 0, 0.175, 1) !important;
	}

	/* 지도: 두 줄 */
	.haus-location[data-step="0"] .haus-fixed-title h2 .title-line-wrap:nth-child(1) {
		transform: translate3d(calc(100vw - 100% - 24px), 0, 0) !important;
	}

	.haus-location[data-step="0"] .haus-fixed-title h2 .title-line-wrap:nth-child(2) {
		transform: translate3d(calc(100vw - 100% - 24px), 1.25em, 0) !important;
	}

	/* 기찻길: 가운데 두 줄 */
	.haus-location[data-step="1"] .haus-fixed-title h2 .title-line-wrap:nth-child(1) {
		transform: translate3d(calc(50vw - 50%), 0, 0) !important;
	}

	.haus-location[data-step="1"] .haus-fixed-title h2 .title-line-wrap:nth-child(2) {
		transform: translate3d(calc(50vw - 50%), 1.25em, 0) !important;
	}

	/* 프리미엄: 한 줄처럼 나란히 */
	.haus-location[data-step="2"] .haus-fixed-title h2 .title-line-wrap:nth-child(1) {
		transform: translate3d(24px, 0, 0) !important;
	}

	.haus-location[data-step="2"] .haus-fixed-title h2 .title-line-wrap:nth-child(2) {
		transform: translate3d(calc(24px + 400px), 0, 0) !important;
	}


	.haus-premium-panel {
		background: #fff;
	}

	.premium-copy {
		left: 5vw !important;
		top: 31vh !important;
		width: 90vw !important;
		text-align: right !important;
	}

	.premium-copy .premium-num {
		right: 0;
		top: -45px;
		font-size: clamp(46px, 12vw, 76px);
	}

	.premium-copy h3 {
		margin-bottom: 12px;
		font-size: clamp(28px, 7.2vw, 54px);
	}

	.premium-copy h3::after {
		display: none;
	}

	.premium-copy p {
		font-size: clamp(12px, 3.3vw, 24px);
		line-height: 1.65;
	}

	.premium-img-wrap {
		left: 0 !important;
		right: auto !important;
		top: auto !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 45vh !important;
	}

	.premium-img {
		background-position: center center;
	}

	.premium-view-more {
		display: none !important;
	}

	.haus-bg-word.premium {
		left: 5vw;
		bottom: 45vh;
		font-size: clamp(34px, 8vw, 64px);
	}

	.haus-bg-word.premium strong {
		font-size: clamp(48px, 12vw, 94px);
	}

	.m-premium-arrow {
		display: flex !important;
		position: absolute;
		top: 72%;
		z-index: 80;
		width: 42px;
		height: 42px;
		border: 0;
		border-radius: 50%;
		background: rgba(0, 0, 0, 0.45);
		color: #fff;
		font-size: 32px;
		line-height: 1;
		align-items: center;
		justify-content: center;
	}

	.m-premium-arrow.prev {
		left: 14px;
	}

	.m-premium-arrow.next {
		right: 14px;
	}

	/* 3번 섹션 */
	#section_story {
		overflow: hidden !important;
		background: #fbf5f7;
	}

	.story-section {
		height: var(--app-height, 100svh) !important;
	}

	.story-pink-mask,
	.story-life-reveal,
	.story-nature-bg {
		height: var(--app-height, 100svh) !important;
	}

	.story-intro-text {
		width: 100%;
		padding: 0 6vw;
		font-size: 45px;
		letter-spacing: -2px;
		line-height: 1.7;
	}

	.story-life-reveal img,
	.story-bg img {
		width: 100vw !important;
		height: var(--app-height, 100svh) !important;
		object-fit: cover;
	}

	.story-life-text,
	.story-nature-text {
		left: 6vw !important;
		right: 6vw !important;
		top: auto !important;
		bottom: 10vh !important;
		text-align: left !important;
	}
	.story-life-text {
		right: 0vw !important;
	}

	.story-text h3 {
		margin-bottom: 18px;
		font-size: clamp(32px, 7.5vw, 64px);
	}

	.story-text p {
		font-size: clamp(12px, 3.15vw, 23px);
		line-height: 1.85;
	}

	.story-nature-text {
		text-align: right !important;
	}



	.story-section[data-story-step="4"] .story-life-reveal {
		width: 100vw !important;
		height: var(--app-height, 100svh) !important;
		border-radius: 0 !important;
	}

	.story-section[data-story-step="4"] .story-life-text {
		transition-delay: 1.45s !important;
	}

	.story-section[data-story-step="4"] .story-life-text h3 {
		transition-delay: 1.65s !important;
	}

	.story-section[data-story-step="4"] .story-life-text p {
		transition-delay: 1.9s !important;
	}



	/* 자연 배경이 올라오기 시작하면 여자 배경 텍스트 숨김 */
	.story-section[data-story-step="5"] .story-life-text,
	.story-section[data-story-step="6"] .story-life-text,
	.story-section[data-story-step="7"] .story-life-text {
		opacity: 0 !important;
		transform: translate3d(0, -24px, 0) !important;
		filter: blur(10px) !important;
		pointer-events: none !important;
	}

	.story-section[data-story-step="5"] .story-life-text h3,
	.story-section[data-story-step="5"] .story-life-text p,
	.story-section[data-story-step="6"] .story-life-text h3,
	.story-section[data-story-step="6"] .story-life-text p,
	.story-section[data-story-step="7"] .story-life-text h3,
	.story-section[data-story-step="7"] .story-life-text p {
		opacity: 0 !important;
		transform: translate3d(0, -24px, 0) !important;
		filter: blur(10px) !important;
	}



	/* 4번 섹션 */
	#section_contact {
		overflow: hidden !important;
	}

	.contact-section {
		height: var(--app-height, 100svh) !important;
	}

	.contact-inner {
		height: var(--app-height, 100svh) !important;
		padding: 140px 40px 4vh;
		justify-content: center;
	}

	.contact-title h2 {
		margin-bottom: 12px;
		font-size: 63px;
	}
	.contact-title p {
		font-size: 23px;
	}


	.contact-content {
		display: block;
		width: 100%;
		margin-top: 25px;
	}

	.contact-map {
		width: 75vw;
		margin: 0 auto;
	}

	.contact-map img {
		width: 100%;
	}

	.contact-info {
		margin-top: 3vh;
	}

	.contact-item {
		text-align: center;
	}

	.contact-item + .contact-item {
		margin-top: 22px;
	}

	.contact-item h3 {
		font-size: 38px;
	}

	.contact-item p {
		font-size: 24px;
	}

	.contact-btns {
		justify-content: center;
		gap: 8px;
	}

	.contact-btns a {
		width: 195px;
		height: 65px;
		font-size: 21px;
	}

	.top-btn {
		right: 14px;
		bottom: 55px;
		width: 52px;
	}
}

/* 폴드/플립 등 좁거나 낮은 화면 보정 */
@media (max-width: 420px) and (max-height: 760px) {
	@media (max-width: 768px) {
		.premium-copy {
			top: 28vh !important;
		}

		.premium-img-wrap {
			height: 41vh !important;
		}

		.story-text h3 {
			font-size: 30px;
		}

		.story-text p {
			font-size: 12px;
			line-height: 1.7;
		}

		.contact-map {
			width: 78vw;
		}

		.contact-item + .contact-item {
			margin-top: 14px;
		}
	}
}
















/* 노트북 / 낮은 PC 화면 보정 */
@media (min-width: 769px) and (max-height: 760px) {
	.main-text-overlay {
		padding: 0 7%;
		transform: translateY(2%);
	}

	.intro-wrapper {
		height: 100vh;
		align-items: center;
		justify-content: center;
	}

	.frame-container {
		width: 200%;
		height: 200%;
		zoom: 0.42;
	}

	.center-group {
		gap: 2vh;
		transform: scale(0.82);
		transform-origin: center center;
	}

	.img-c01 {
		max-width: 68%;
		margin-top: 120px;
	}

	.video-c02 {
		width: 500px;
		height: auto;
		max-width: 78%;
		margin-top: 5px;
	}

	.img-c03 {
		max-width: 78%;
		margin-top: -70px;
	}

	.img-c04 {
		max-width: 58%;
		margin-top: 150px;
	}

	.bg-frame {
		max-width: 92%;
		max-height: 92%;
	}

	.text-content-wrap {
		height: 300px;
	}

	.text-left {
		width: 42%;
		font-size: 17px;
	}

	.text-left p {
		margin-bottom: 1.35rem;
		line-height: 1.75;
	}

	.text-right {
		width: 46%;
		font-size: 1.45rem;
	}

	.text-right .highlight {
		font-size: 3.5rem;
		line-height: 1.15;
	}

	@keyframes moveLeftCopyToCenter {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(27vw);
		}
	}



	/* SECTION 02 */
	.haus-fixed-title > p {
		font-size: 26px;
		margin-bottom: 10px;
	}

	.haus-fixed-title > h2 {
		font-size: 48px;
		margin-bottom: 16px;
	}

	.haus-fixed-title > .title-desc {
		font-size: 17px;
		line-height: 1.65;
	}

	.haus-location[data-step="0"] .haus-fixed-title {
		transform: translate3d(75vw, 22vh, 0) scale(0.8);
	}

	.haus-location[data-step="1"] .haus-fixed-title {
		transform: translate3d(calc(50vw - 260px), 20vh, 0);
	}

	.haus-location[data-step="2"] .haus-fixed-title {
		transform: translate3d(2vw, 12vh, 0) scale(0.62);
	}

	.haus-location.is-enter[data-step="0"] .haus-bg-word.location {
		right: 180px;
		bottom: 60px;
		transform: scale(0.65);
		transform-origin: top right;
	}
	.haus-location[data-step="2"] .haus-bg-word.premium {
		transform: scale(0.65);
		transform-origin: top left;
		bottom: 60px;
	}
	.premium-copy {
		left: 4vw;
		top: 45vh;
		width: 520px;
	}

	.premium-copy .premium-num {
		font-size: 58px;
		top: -44px;
	}

	.premium-copy h3 {
		font-size: 44px;
		margin-bottom: 14px;
	}

	.premium-copy p {
		font-size: 19px;
		line-height: 1.55;
	}

	.premium-view-more {
		top: 64vh;
		transform: translate3d(0, 20px, 0) scale(0.72);
	}

	.haus-bg-word {
		font-size: 48px;
	}

	.haus-bg-word strong {
		font-size: 82px;
	}

	.haus-location.is-enter .haus-map-circle {
		transform: translate3d(-150px, -50%, 0) scale(0.75);
	}


	/* SECTION 03 */
	.story-intro-text {
		font-size: 38px;
		line-height: 1.55;
	}

	.story-text h3 {
		font-size: 46px;
		margin-bottom: 28px;
	}

	.story-text p {
		font-size: 17px;
		line-height: 1.65;
	}

	.story-life-text {
		top: 24vh;
	}

	.story-nature-text {
		top: 43vh;
	}

	/* CONTACT */
	.contact-inner {
		padding-top: 90px;
		justify-content: center;
	}

	.contact-title h2 {
		font-size: 44px;
		margin-bottom: 10px;
		letter-spacing: 8px;
	}

	.contact-title p {
		font-size: 17px;
	}

	.contact-content {
		gap: 70px;
		margin-top: 28px;
		align-items: center;
	}

	.contact-map {
		width: 380px;
	}

	.contact-item h3 {
		font-size: 23px;
	}

	.contact-item p {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.contact-item + .contact-item {
		margin-top: 24px;
	}

	.contact-btns a {
		width: 125px;
		height: 38px;
		font-size: 13px;
	}

	/* FOOTER */
	.footer,
	footer {
		font-size: 14px;
	}

	.footer .logo img,
	footer .logo img {
		max-width: 300px;
	}

	.top-btn, .top-btn.is-premium {
		bottom: 10px;
	}

	.haus-scroll-line {
		right: 90px;
	}

	.footer .footer_row {
		gap: 100px;
	}


}










@media (min-width: 769px) and (max-width: 1400px) and (max-height: 760px) {
	.main-text-overlay {
		padding: 0 6%;
		transform: translateY(4%);
	}

	.frame-container {
		zoom: 0.38;
	}

	.center-group {
		transform: scale(0.76);
	}

	.img-c01 {
		margin-top: 90px;
	}

	.video-c02 {
		width: 460px;
	}

	.img-c03 {
		margin-top: -60px;
	}

	.img-c04 {
		margin-top: 120px;
	}


	.text-left {
		font-size: 16px;
	}

	.text-right {
		font-size: 1.35rem;
	}

	.text-right .highlight {
		font-size: 3.2rem;
	}

	.main_intro_section.is-main-text-play .text-right {
		animation-delay: 7.8s;
	}
}







html body #fullpage > footer.section.footer.fp-auto-height,
html body #fullpage > footer.section.footer.fp-auto-height.fp-section {
	height: auto !important;
	min-height: 0 !important;
	display: block !important;
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

html body #fullpage > footer.section.footer.fp-auto-height .fp-tableCell,
html body #fullpage > footer.section.footer.fp-auto-height .fp-overflow {
	height: auto !important;
	min-height: 0 !important;
	display: block !important;
}

html body #fullpage > footer.section.footer.fp-auto-height .footer_row {
	height: auto !important;
	min-height: 0 !important;
}

html body #fullpage > footer.section.footer.fp-auto-height {
	height: auto !important;
	min-height: 0 !important;
}

html body #fullpage > footer.section.footer.fp-auto-height .fp-tableCell {
	height: auto !important;
	min-height: 0 !important;
}






















/* 갤럭시탭 네이버앱 가로 전용 보정 */
body.naver-tablet-pc .frame-container {
	zoom: 0.42;
}

body.naver-tablet-pc .center-group {
	transform: scale(0.78);
}

body.naver-tablet-pc .img-c01 {
	margin-top: 90px;
	max-width: 68%;
}

body.naver-tablet-pc .video-c02 {
	width: 460px;
	height: auto;
}

body.naver-tablet-pc .img-c03 {
	margin-top: -60px;
	max-width: 78%;
}

body.naver-tablet-pc .img-c04 {
	margin-top: 120px;
	max-width: 58%;
}

/* 섹션1 텍스트 */
body.naver-tablet-pc .main-text-overlay {
	padding: 0 6%;
	transform: translateY(4%);
}

body.naver-tablet-pc .text-content-wrap {
	height: 300px;
}

body.naver-tablet-pc .text-left {
	width: 42%;
	font-size: 16px;
}

body.naver-tablet-pc .text-left p {
	margin-bottom: 1.25rem;
	line-height: 1.7;
}

body.naver-tablet-pc .text-right {
	width: 46%;
	font-size: 1.35rem;
}

body.naver-tablet-pc .text-right .highlight {
	font-size: 3.2rem;
	line-height: 1.15;
}

/* 섹션2 지도/프리미엄 */
body.naver-tablet-pc .haus-fixed-title > p {
	font-size: 26px;
	margin-bottom: 10px;
}

body.naver-tablet-pc .haus-fixed-title > h2 {
	font-size: 48px;
	margin-bottom: 16px;
}

body.naver-tablet-pc .haus-fixed-title > .title-desc {
	font-size: 17px;
	line-height: 1.65;
}

body.naver-tablet-pc .haus-location[data-step="0"] .haus-fixed-title {
	transform: translate3d(72vw, 24vh, 0) scale(0.8) !important;
}

body.naver-tablet-pc .haus-map-circle {
	right: -160px !important;
	top: 50% !important;
}

body.naver-tablet-pc .haus-location.is-enter .haus-map-circle {
	transform: translate3d(0, -50%, 0) scale(0.62) !important;
}

/* 프리미엄 */
body.naver-tablet-pc .haus-location[data-step="1"] .haus-fixed-title {
	transform: translate3d(calc(50vw - 220px), 23vh, 0);
}

body.naver-tablet-pc .haus-location[data-step="2"] .haus-fixed-title {
	transform: translate3d(2vw, 12vh, 0) scale(0.62);
}

body.naver-tablet-pc .premium-copy {
	left: 4vw;
	top: 45vh;
	width: 520px;
}

body.naver-tablet-pc .premium-copy .premium-num {
	font-size: 58px;
	top: -44px;
}

body.naver-tablet-pc .premium-copy h3 {
	font-size: 44px;
	margin-bottom: 14px;
}

body.naver-tablet-pc .premium-copy p {
	font-size: 19px;
	line-height: 1.55;
}

/* 스토리 */
body.naver-tablet-pc .story-intro-text {
	font-size: 38px;
	line-height: 1.55;
}

body.naver-tablet-pc .story-text h3 {
	font-size: 46px;
	margin-bottom: 28px;
}

body.naver-tablet-pc .story-text p {
	font-size: 17px;
	line-height: 1.65;
}

/* 컨택트 */
body.naver-tablet-pc .contact-inner {
	padding-top: 120px;
	justify-content: flex-start;
}

body.naver-tablet-pc .contact-title h2 {
	font-size: 44px;
	margin-bottom: 10px;
}

body.naver-tablet-pc .contact-title p {
	font-size: 17px;
}

body.naver-tablet-pc .contact-content {
	gap: 70px;
	margin-top: 28px;
}

body.naver-tablet-pc .contact-map {
	width: 380px;
}

body.naver-tablet-pc .contact-item h3 {
	font-size: 23px;
}

body.naver-tablet-pc .contact-item p {
	font-size: 16px;
}












/* 아이패드 사파리 가로 PC모드 보정 */
body.ipad-safari-pc .haus-location[data-step="0"] .haus-fixed-title {
	transform: translate3d(74vw, 24vh, 0) scale(0.58) !important;
}

body.ipad-safari-pc .haus-location.is-enter .haus-map-circle {
	transform: translate3d(-180px, -50%, 0) scale(0.62) !important;
}

body.ipad-safari-pc .haus-map-circle {
	right: -260px !important;
	top: 50% !important;
}

body.ipad-safari-pc .haus-location[data-step="1"] .haus-fixed-title {
	transform: translate3d(calc(50vw - 240px), 24vh, 0) !important;
}

body.ipad-safari-pc .haus-location[data-step="2"] .haus-fixed-title {
	transform: translate3d(3vw, 9vh, 0) scale(0.58) !important;
}

body.ipad-safari-pc .premium-copy {
	left: 4vw !important;
	top: 37vh !important;
	width: 520px !important;
}

body.ipad-safari-pc .premium-copy h3 {
	font-size: 42px !important;
}

body.ipad-safari-pc .premium-copy p {
	font-size: 18px !important;
	line-height: 1.55 !important;
}

body.ipad-safari-pc .premium-view-more {
	top: 59vh !important;
}







@media (max-width: 768px) {


	.text-left {
		top: 100px;
	}
}





