html.future-page,
.future-page {
	overflow-x: hidden;
}

.fo-feature {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

/* Feature pin — outer pin container (trigger + pin target for ScrollTrigger)
   80-years 패턴: pinEl과 timelineEl 분리 — pin은 여기에, y 이동은 fo-feature-wrapper에 */
.fo-feature-pin {
	position: relative;
	width: 100%;
	height: 100vh;
	z-index: 20;
}

.fo-feature-pin.is-passed {
	z-index: 0 !important;
	pointer-events: none !important;
}

.fo-feature-pin.is-passed * {
	pointer-events: none !important;
}

.pin-spacer.is-passed {
	z-index: 0 !important;
	pointer-events: none !important;
}

/* Feature wrapper — inner content container (y movement target for curtain) */
.fo-feature-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #000;
}

/* Con01 wrapper */
.fo-con01-wrap {
	position: relative;
}

.fo-con01 {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.fo-con01__bg-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.fo-con01__bg-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.fo-con01__bg-overlay--1 {
	background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.50) 100%);
}

.fo-con01__bg-overlay--2 {
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.70) -6.36%, rgba(25, 190, 255, 0.50) 9.87%, rgba(90, 126, 255, 0.30) 17.92%, rgba(255, 255, 255, 0.00) 35.16%, rgba(255, 255, 255, 0.00) 66.13%, rgba(202, 127, 255, 0.30) 78.49%, rgba(25, 132, 255, 0.50) 85.12%, rgba(255, 255, 255, 0.10) 107.02%),
		linear-gradient(137deg, rgba(128, 0, 255, 0.80) -0.75%, rgba(26, 164, 188, 0.80) 50.37%, rgba(0, 6, 93, 0.80) 101.5%);
}

.fo-con01__bg-overlay--3 {
	height: 45.74%;
	bottom: auto;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.80) 100%);
}

/* ============================================
   Section 1: Intro Hero (pinned, image expands)
   ============================================ */
.fo-intro {
	background: #fff;
	--intro-title-color: #171B1E;
	--intro-subtitle-color: #171B1E;
}

/* page-specific intro overrides (base styles in common-intro.css) */
.fo-intro__title {
	font-family: var(--Family-Pretendard, Pretendard);
	letter-spacing: -2px;
	color: var(--intro-title-color, #171B1E);
}

.fo-intro__subtitle {
	font-family: var(--Family-Pretendard, Pretendard);
	letter-spacing: -0.48px;
	color: var(--intro-subtitle-color, #171B1E);
}

.fo-intro__subtitle-en {
	font-family: 'Google Sans Flex', sans-serif;
	font-weight: 500;
	letter-spacing: 0;
}

.fo-intro__scroll-cta {
	left: 0;
	right: 0;
	line-height: 140%;
	z-index: 1;
}

/* ============================================
   Section 3: Con01 (Large Typography)
   ============================================ */
.fo-con01 {
	background: #171B1E;
	background-size: cover;
	background-position: center;
}

.fo-con01__content {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.fo-con01__text {
	position: absolute;
	top: 27.78%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	color: var(--Text-White, #FFF);
	font-family: var(--Family-Pretendard, Pretendard);
	font-size: var(--Size-H4, 36px);
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.72px;
}

.fo-con01__text-en {
	color: var(--Text-White, #FFF);
	text-align: center;
	font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
	font-size: var(--Size-H4, 36px);
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 0;
}

.fo-con01__large-type-wrap {
	position: absolute;
	bottom: 12px;
	left: 15.73%;
	right: 11.875%;
	visibility: hidden;
}

.fo-con01__large-type-svg {
	display: block;
	overflow: visible;
	width: 100%;
	height: auto;
	shape-rendering: geometricPrecision;
}

.fo-con01__large-type-stroke,
.fo-con01__large-type-fill,
.fo-con01__large-type-mask {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 180px;
	font-weight: 600;
	letter-spacing: -3.6px;
}

.fo-con01__large-type-stroke {
	fill: #FFFFFF;
	stroke: #FFFFFF;
	stroke-width: 2px;
	stroke-linejoin: round;
}

.fo-con01__large-type-fill {
	fill: #FFFFFF;
	stroke: #FFFFFF;
	stroke-width: 1.5px;
	stroke-linejoin: round;
	paint-order: stroke fill;
}

.fo-con01__large-type-image {
	position: absolute;
	bottom: 40px;
	left: 0;
	width: 280px;
	height: 158px;
	background-size: cover;
	background-position: center;
}

.fo-con01__label {
	position: absolute;
	top: -26px;
	left: 0;
	font-family: 'Pretendard', sans-serif;
	font-size: 36px;
	font-weight: 600;
	line-height: 150%;
	letter-spacing: -0.72px;
	color: #FFFFFF;
	text-align: left;
}

/* ============================================
   Fly Layer: hero-image fly + expand animation
   ============================================ */
.fo-fly-layer {
	position: fixed;
	inset: 0;
	z-index: 99;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
}

.fo-fly-image {
	position: fixed;
	width: 280px;
	height: 158px;
	background-size: cover;
	background-position: center;
	will-change: transform, width, height;
}

/* ============================================
   Sections 4-6: Feature Sections (con02/03/04)
   ============================================ */
.fo-feature {
	background: #171B1E;
	display: flex;
	align-items: center;
}

.fo-feature__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.fo-feature__exit-dimmed {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	z-index: 10;
	pointer-events: none;
	will-change: opacity;
}

.fo-feature[data-section="01"] {
	background: transparent;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.fo-feature[data-section="01"] .fo-feature__title-area,
.fo-feature[data-section="01"] .fo-feature__card {
	opacity: 0;
}

.fo-feature[data-section="01"] .fo-feature__title-area {
	transform: translateX(-100px);
}

.fo-feature[data-section="01"] .fo-feature__card {
	transform: translateX(100px);
}

.fo-feature[data-section="02"] .fo-feature__title-area,
.fo-feature[data-section="03"] .fo-feature__title-area {
	opacity: 0;
	transform: translateX(-100px);
}

.fo-feature[data-section="02"] .fo-feature__card,
.fo-feature[data-section="03"] .fo-feature__card {
	opacity: 0;
	transform: translateX(100px);
}

.fo-feature__num {
	position: fixed;
	top: 100px;
	left: 5.417vw;
	z-index: 37;
	width: 140px;
	height: 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.fo-feature__num::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.50);
}

.fo-feature__num-progress {
	position: absolute;
	inset: 0;
	width: 140px;
	height: 140px;
	transform: rotate(-90deg);
	pointer-events: none;
}

.fo-feature__num-progress circle {
	fill: none;
	cx: 70;
	cy: 70;
	r: 68.5;
}

.fo-feature__num-progress-bg {
	stroke: transparent;
}

.fo-feature__num-progress-bar {
	stroke: #FFFFFF;
	stroke-width: 3px;
	stroke-linecap: butt;
	transition: stroke-dashoffset 0.6s ease;
}

.fo-feature__num::after {
	content: '';
	position: absolute;
	inset: 9px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.30);
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(40px);
}

.fo-feature__num-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 14px;
}

.fo-feature__num-current {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 24px;
	font-weight: 300;
	color: #FFFFFF;
	line-height: 150%;
}

.fo-feature__num-divider {
	display: block;
	width: 1px;
	height: 10px;
	background: rgba(255, 255, 255, 0.50);
}

.fo-feature__num-total {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 24px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.50);
	line-height: 150%;
}

.fo-feature__num-label {
	position: relative;
	z-index: 1;
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 14px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.50);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fo-feature__title-area {
	position: relative;
	z-index: 2;
	margin-left: 11.823vw;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.fo-feature__eng-title {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 100px;
	font-weight: 500;
	line-height: 100%;
	color: #FFFFFF;
}

.fo-feature__desc-area {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fo-feature__label-row {
	display: flex;
	align-items: center;
	gap: 20px;
}

.fo-feature__ko-label {
	font-family: 'Pretendard', sans-serif;
	font-size: 36px;
	font-weight: 600;
	line-height: 130%;
	letter-spacing: -0.72px;
	color: #FFFFFF;
}

.fo-feature__go-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

@media (hover: hover) {
	.fo-feature__go-btn:hover {
		opacity: 0.7;
	}
}

.fo-feature__go-btn svg {
	width: 40px;
	height: 40px;
}

.fo-feature__section-desc {
	font-family: 'Pretendard', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.4px;
	color: #FFFFFF;
}

.fo-feature__card {
	position: absolute;
	right: 11.875vw;
	top: 50%;
	margin-top: -340px;
	z-index: 2;
	width: 460px;
	height: 680px;
	background: #FFFFFF;
	border-radius: 0;
}

.fo-feature__card-inner {
	padding: 40px;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.fo-feature__card-num {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 130%;
	color: #FF4E1C;
}

.fo-feature__card-title {
	font-family: 'Pretendard', sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 130%;
	letter-spacing: -0.64px;
	color: #171B1E;
	margin-bottom: 40px;
}

.fo-feature__card-divider {
	width: 100%;
	height: 1px;
	background: #CCCCCC;
	margin-bottom: 40px;
}

.fo-feature__card-desc {
	height: 196px;
	max-height: 196px;
	min-height: 196px;
	font-family: 'Pretendard', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.4px;
	color: #4A4D50;
	flex: 1;
}

.fo-feature__card-image {
	width: 100%;
	height: 180px;
	background-color: #F3F3F3;
	background-size: cover;
	background-position: center;
	border-radius: 0;
}

.fo-feature__card-pagination {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	justify-content: center;
}

.fo-feature__card-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.fo-feature__card-arrow svg path {
	stroke: #CCCCCC;
	transition: stroke 0.3s ease;
}

@media (hover: hover) {
	.fo-feature__card-arrow:hover svg path {
		stroke: #FF4E1C;
	}
}

.fo-feature__card-arrow svg {
	width: 18px;
	height: 18px;
}

.fo-feature__card-counter {
	display: flex;
	align-items: center;
	gap: 14px;
}

.fo-feature__card-counter-current {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
	color: #FF4E1C;
}

.fo-feature__card-counter-divider {
	display: block;
	width: 1px;
	height: 10px;
	background: #CCCCCC;
}

.fo-feature__card-counter-total {
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 140%;
	color: #A4A8AB;
}

/* dot pagination (모바일 전용) — 기본 숨김 */
.fo-feature__card-dots {
	display: none;
}

/* base styles in common-curtain.css */

/* ============================================
   Swiper overrides for fo-feature__card
   ============================================ */
.fo-feature__card.swiper {
	overflow: hidden;
}

.fo-feature__card .swiper-wrapper {
	height: 100%;
	min-height: 0;
}

.fo-feature__card .swiper-slide {
	width: 100%;
	height: 100%;
	flex-shrink: 0;
}

.fo-feature__card .fo-feature__card-inner {
	height: 100%;
	box-sizing: border-box;
}

.fo-feature__card .fo-feature__card-pagination {
	z-index: 2;
	flex-shrink: 0;
}

/* 인트로 콘텐츠 fade-in 초기 상태 */
.fo-intro__content {
	opacity: 0;
}

.fo-intro__scroll-cta {
	opacity: 0;
}

.fo-intro__content.is-visible {
	opacity: 1;
	transition: opacity 0.8s ease;
}

.fo-intro__scroll-cta.is-visible {
	opacity: 1;
	transition: opacity 0.8s ease;
}

.fo-mobile-br {
	display: none;
}

.fo-pc-br {
	display: inline;
}

/* ================================================================
   Large Desktop + short viewport: 1280px ~ 1535px (e.g. LG Gram)
   Figma reference: 1536×768
   ================================================================ */
@media (min-width: 1280px) and (max-width: 1535px) {

	/* ── Feature: title-area ── */
	.fo-feature__title-area {
		margin-left: 60px;
	}

	.fo-feature__eng-title {
		font-size: 80px;
		line-height: 100%;
	}

	.fo-feature__section-desc {
		max-width: 472px;
	}

	/* ── Feature: card ── */
	.fo-feature__card {
		right: 60px;
		width: 460px;
		height: 648px;
		margin-top: -324px;
	}

	/* ── Feature: num indicator ── */
	.fo-feature__num {
		left: 60px;
	}
}

/* ================================================================
   Small Desktop: 1024px ~ 1279px
   ================================================================ */
@media (min-width: 1024px) and (max-width: 1279px) {

	.fo-con01__text {
		width: 100%;
		top: 20.83%;
		font-size: 2.34vw;
		letter-spacing: -0.72px;
	}

	.fo-con01__text-en {
		font-size: 2.34vw;
		letter-spacing: 0;
	}

	.fo-con01__large-type-wrap {
		left: 40px;
		right: auto;
		width: calc(100vw - 80px);
		bottom: 0;
	}

	.fo-con01__large-type-stroke,
	.fo-con01__large-type-fill,
	.fo-con01__large-type-mask {
		font-size: 11.72vw;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.23vw;
	}

	.fo-con01__large-type-image {
		width: 18.23vw;
		height: 10.29vw;
	}

	.fo-fly-image {
		width: 18.23vw;
		height: 10.29vw;
	}

	.fo-con01__label {
		top: -2.73vw;
		font-size: 2.34vw;
		font-weight: 600;
		letter-spacing: -0.72px;
	}

	.fo-feature__num {
		top: 98px;
		left: 40px;
		width: 100px;
		height: 100px;
	}

	.fo-feature__num-progress {
		width: 100px;
		height: 100px;
	}

	.fo-feature__num::after {
		inset: 6.43px;
		width: 87.143px;
		height: 87.143px;
	}

	.fo-feature__num-inner {
		gap: 10px;
	}

	.fo-feature__num-current {
		font-size: 17.143px;
		line-height: 150%;
	}

	.fo-feature__num-total {
		font-size: 17.143px;
	}

	.fo-feature__num-label {
		font-size: 10px;
		line-height: 100%;
	}

	.fo-feature__card {
		right: 40px;
		top: 50%;
		margin-top: -300px;
		left: auto;
		bottom: auto;
		width: 420px;
		height: 600px;
	}

	.fo-feature__card-divider {
		display: none;
	}

	.fo-feature__card-inner {
		padding: 32px 32px 100px 32px;
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	.fo-feature__card-inner .fo-feature__card-num {
		font-size: 24px;
		font-weight: 500;
		line-height: 130%;
	}

	.fo-feature__card-inner .fo-feature__card-title {
		margin-bottom: 32px;
		font-size: 24px;
		font-weight: 600;
		letter-spacing: -0.48px;
	}

	.fo-feature__card-desc br {
		display: none;
	}

	.fo-feature__card-inner .fo-feature__card-desc {
		height: auto;
		max-height: none;
		min-height: 0;
		font-size: 18px;
		line-height: 140%;
		letter-spacing: -0.36px;
	}

	.fo-feature__card-inner .fo-feature__card-image {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 380 / 180;
		margin-top: auto;
	}

	.fo-feature__card-pagination {
		bottom: 32px;
	}

	.fo-feature__title-area {
		position: absolute;
		top: 240px;
		margin-left: 40px;
	}

	.fo-feature[data-section="01"] .fo-feature__title-area,
	.fo-feature[data-section="02"] .fo-feature__title-area,
	.fo-feature[data-section="03"] .fo-feature__title-area {
		transform: none;
	}

	.fo-feature[data-section="01"] .fo-feature__card,
	.fo-feature[data-section="02"] .fo-feature__card,
	.fo-feature[data-section="03"] .fo-feature__card {
		transform: none;
	}

	.fo-feature__eng-title {
		font-size: 48px;
		line-height: 100%;
	}

	.fo-feature__ko-label {
		font-size: 28px;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.56px;
	}

	.fo-feature__section-desc {
		font-size: 18px;
		line-height: 140%;
		letter-spacing: -0.36px;
	}
}

/* ================================================================
   Small PC + short viewport (e.g. 1024×768 landscape tablet)
   ================================================================ */
@media (min-width: 1024px) and (max-width: 1279px) and (max-height: 800px) {
}

/* ================================================================
   Tablet: 768px ~ 1023px
   ================================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
	.fo-intro__bg-wrapper {
		width: 512px;
		height: 500px;
	}

	.fo-intro__title {
		font-size: 48px;
	}

	.fo-intro__subtitle {
		font-size: 20px;
	}

	.fo-intro__content {
		top: calc(var(--header-h, 90px) + 10vh);
	}

	/* ── Con01: text ── */
	.fo-con01__text {
		width: 100%;
		top: 19.63%;
		font-size: 3.65vw;
		font-weight: 500;
		line-height: 150%;
		letter-spacing: -0.56px;
	}

	.fo-con01__text-en {
		font-size: 3.65vw;
		letter-spacing: 0;
	}

	.fo-con01__large-type-wrap {
		left: 40px;
		right: auto;
		width: calc(100vw - 80px);
		bottom: 0;
	}

	/* ── Con01: large-type SVG text ── */
	.fo-con01__large-type-stroke,
	.fo-con01__large-type-fill,
	.fo-con01__large-type-mask {
		font-size: 19.53vw;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.39vw;
	}

	/* ── Con01: large-type image ── */
	.fo-con01__large-type-image {
		width: 27.73vw;
		height: 15.63vw;
	}

	.fo-fly-image {
		width: 27.73vw;
		height: 15.63vw;
	}

	/* ── Con01: label ── */
	.fo-con01__label {
		top: -3.65vw;
		font-size: 3.65vw;
		font-weight: 600;
		letter-spacing: -0.56px;
	}

	/* ── Feature: num indicator ── */
	.fo-feature__num {
		top: 98px;
		left: 40px;
		width: 100px;
		height: 100px;
	}

	.fo-feature__num-progress {
		width: 100px;
		height: 100px;
	}

	.fo-feature__num::after {
		inset: 6.43px;
		width: 87.143px;
		height: 87.143px;
	}

	.fo-feature__num-inner {
		gap: 10px;
	}

	.fo-feature__num-current {
		font-size: 17.143px;
		line-height: 150%;
	}

	.fo-feature__num-total {
		font-size: 17.143px;
	}

	.fo-feature__num-label {
		font-size: 10px;
		line-height: 100%;
	}

	/* ── Feature: card ── */
	.fo-feature__card {
		top: auto;
		right: 40px;
		bottom: 40px;
		left: 40px;
		margin-top: 0;
		width: auto;
		height: 395px;
	}

	.fo-feature__card .swiper-slide {
		width: 100%;
	}

	.fo-feature__card-divider {
		display: none;
	}

	.fo-feature__card-inner {
		position: relative;
		display: flex;
		flex-direction: column;
		height: 100%;
		padding: 32px 32px 88px 32px;
	}

	.fo-feature__card-inner .fo-feature__card-num {
		font-size: 24px;
		font-weight: 500;
		line-height: 130%;
	}

	.fo-feature__card-inner .fo-feature__card-title {
		margin-bottom: 0;
		font-size: 24px;
		font-weight: 600;
		letter-spacing: -0.48px;
	}

	.fo-feature__card-inner .fo-feature__card-desc {
		position: absolute;
		top: 32px;
		right: 32px;
		height: auto;
		max-height: none;
		min-height: 0;
		width: 296px;
		font-size: 18px;
		line-height: 140%;
		letter-spacing: -0.36px;
	}

	.fo-feature__card-desc br {
		display: none;
	}

	.fo-feature__card-inner .fo-feature__card-image {
		position: absolute;
		right: 32px;
		bottom: 88px;
		width: 296px;
		height: 140px;
		min-height: 140px;
	}

	.fo-feature__card-pagination {
		bottom: 32px;
	}

	/* ── Feature: title-area ── */
	.fo-feature__title-area {
		position: absolute;
		top: 240px;
		margin-left: 40px;
	}

	.fo-feature[data-section="01"] .fo-feature__title-area,
	.fo-feature[data-section="02"] .fo-feature__title-area,
	.fo-feature[data-section="03"] .fo-feature__title-area {
		transform: none;
	}

	.fo-feature[data-section="01"] .fo-feature__card,
	.fo-feature[data-section="02"] .fo-feature__card,
	.fo-feature[data-section="03"] .fo-feature__card {
		transform: none;
	}

	.fo-feature__eng-title {
		font-size: 48px;
		line-height: 100%;
	}

	.fo-feature__ko-label {
		font-size: 28px;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.56px;
	}

	.fo-feature__section-desc {
		font-size: 18px;
		line-height: 140%;
		letter-spacing: -0.36px;
	}
}

/* ================================================================
   Mobile: ≤767px
   ================================================================ */
@media (max-width: 767px) {
	.fo-intro__bg-wrapper {
		width: 334px;
		height: 300px;
	}

	.fo-intro__title {
		font-size: 48px;
		margin-bottom: 24px;
	}

	.fo-intro__subtitle {
		font-size: 20px;
	}

	.fo-intro__subtitle-en {
		font-family: inherit;
		font-weight: inherit;
		letter-spacing: inherit;
	}

	.fo-mobile-br {
		display: block;
	}

	.fo-intro__scroll-cta {
		display: none;
	}

	.fo-intro__content {
		top: calc(var(--header-h, 60px) + 10vh);
	}

	.fo-con01__text {
		top: 100px;
		font-size: 24px;
		width: 100%;
	}

	.fo-pc-br {
		display: none;
	}

	.fo-con01__text-en {
		color: var(--Text-White, #FFF);
		text-align: center;
		font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
		font-size: var(--Size-H5, 24px);
		font-style: normal;
		font-weight: 500;
		line-height: 150%;
	}

	.fo-con01__large-type-stroke,
	.fo-con01__large-type-fill,
	.fo-con01__large-type-mask {
		font-family: "Google Sans Flex", sans-serif;
		font-size: 72px;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: 0px;
	}

	.fo-con01__large-type-fill {
		color: var(--Text-White, #FFF);
	}

	.fo-con01__large-type-image {
		width: 106px;
		height: 60px;
	}

	.fo-fly-image {
		width: 106px;
		height: 60px;
	}

	.fo-con01__label {
		top: -19px;
		color: var(--Text-White, #FFF);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-H6, 20px);
		font-style: normal;
		font-weight: 600;
		line-height: 150%;
		letter-spacing: -0.4px;
	}

	.fo-con01__large-type-wrap {
		left: 15px;
		right: auto;
		width: calc(100vw - 30px);
		bottom: 28px;
	}

	.fo-feature__card {
		top: auto;
		right: 20px;
		bottom: 20px;
		left: 20px;
		width: auto;
		height: auto;
		aspect-ratio: 335 / 366;
		margin: 0 auto;
	}

	.fo-feature__card .swiper-slide {
		width: 100%;
	}

	.fo-feature[data-section="01"] .fo-feature__title-area,
	.fo-feature[data-section="02"] .fo-feature__title-area,
	.fo-feature[data-section="03"] .fo-feature__title-area {
		transform: none;
	}

	.fo-feature[data-section="01"] .fo-feature__card,
	.fo-feature[data-section="02"] .fo-feature__card,
	.fo-feature[data-section="03"] .fo-feature__card {
		transform: none;
	}

	.fo-feature__section-desc {
		display: none;
	}

	.fo-feature__card-num {
		display: none;
	}

	.fo-feature__card-inner {
		padding: 20px 20px 50px 20px;
	}

	.fo-feature__card-desc {
		color: var(--Text-Secondary, #4A4D50);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-P1, 18px);
		font-style: normal;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.36px;
		height: auto;
		max-height: none;
		min-height: 0;
	}

	.fo-feature__card-image {
		width: 100%;
		aspect-ratio: 295 / 140;
		height: auto;
		min-height: 0;
	}

	.fo-feature__title-area {
		position: absolute;
		top: 120px;
		margin-left: 20px;
		gap: 10px;
	}

	.fo-feature__card-divider {
		display: none;
	}

	.fo-feature__card-title {
		color: var(--Text-Primary, #171B1E);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-H5, 24px);
		font-style: normal;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.48px;
		margin-bottom: 10px;
	}

	.fo-feature__num-inner {
		gap: 6px;
	}

	.fo-feature__num-current {
		color: #FFF;
		font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
		font-size: 10.286px;
		font-style: normal;
		font-weight: 300;
		line-height: 150%;
	}

	.fo-feature__num-total {
		color: rgba(255, 255, 255, 0.50);
		font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
		font-size: 10.286px;
		font-style: normal;
		font-weight: 300;
		line-height: 150%;
	}

	.fo-feature__num-divider {
		width: 0.429px;
		height: 4.286px;
	}

	.fo-feature__num-label {
		color: rgba(255, 255, 255, 0.50);
		font-family: "Google Sans Flex", sans-serif;
		font-size: 6px;
		font-style: normal;
		font-weight: 300;
		line-height: 100%;
		text-transform: uppercase;
	}

	.fo-feature__card-pagination {
		bottom: 20px;
	}

	.fo-feature__card-arrow,
	.fo-feature__card-counter {
		display: none;
	}

	.fo-feature__card-dots {
		display: inline-flex;
		align-items: flex-start;
		gap: 10px;
		position: absolute !important;
		top: unset !important;
		bottom: 0 !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: auto !important;
	}

	.fo-feature__card-dots .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: #C5C9CC;
		opacity: 1;
		margin: 0;
	}

	.fo-feature__card-dots .swiper-pagination-bullet-active {
		background: #FF4E1C;
	}

	.fo-feature__card-desc br {
		display: none;
	}

	/* ── Feature: num indicator ── */
	.fo-feature__num {
		top: 20px;
		left: 20px;
		width: 60px;
		height: 60px;
		gap: 2px;
	}

	.fo-feature__num-progress {
		width: 60px;
		height: 60px;
	}

	.fo-feature__num::after {
		width: 52.286px;
		height: 52.286px;
		inset: 3.857px;
	}

	/* ── Feature: eng-title ── */
	.fo-feature__eng-title {
		color: #FFF;
		font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
		font-size: var(--Size-D3, 44px);
		font-style: normal;
		font-weight: 500;
		line-height: 100%;
	}

	/* ── Feature: desc-area (ko-label) ── */
	.fo-feature__desc-area {
		color: var(--white, #FFF);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: var(--Size-H4, 28px);
		font-style: normal;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.56px;
	}

	/* ── Feature: 모바일 전용 배경 이미지 ── */
	.fo-feature[data-section="02"] .fo-feature__bg {
		background-image: url('../images/future/fo-con03-bg-mobile.webp') !important;
	}

	.fo-feature[data-section="03"] .fo-feature__bg {
		background-image: url('../images/future/fo-con04-bg-mobile.webp') !important;
	}
}

/* ================================================================
   Small Mobile: ≤375px
   ================================================================ */
@media (max-width: 375px) {

}
