/* ============================================
   first-best.css — 최초와 최고의 순간 페이지
   Figma-matched version
   ============================================ */

/* ─── CSS Variables ─── */
.first-best-page {
	--fb-accent: #FF4E1C;
	--fb-teal: #08343A;
	--fb-dark: #171B1E;
	--fb-text-secondary: #4A4D50;
	--fb-text-light: #F6F6EE;
	--fb-white: #FFFFFF;
	--fb-font-kr: 'Pretendard', var(--font-family-korean);
	--fb-font-en: 'Google Sans Flex', var(--font-family-english);
	--fb-font-en-regular: 'Google Sans', var(--font-family-english);
	--fb-radius-lg: 16px;
	--fb-radius-md: 12px;
	--fb-radius-sm: 8px;
	--fb-transition: 0.3s ease;
}

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

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

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

/* ---- Section Base ---- */
.fb-intro,
.first-best-con01 {
	position: relative;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
}

.first-best-con03 {
	position: relative;
	z-index: 2;
	width: 100vw;
	min-height: 100vh;
	overflow: hidden;
	padding: 120px 0 80px;
	background: #1a1a1a;
}

/* ============================================
   Section 1: Intro (fb-intro — follows ey-intro pattern)
   ============================================ */
/* page-specific intro overrides (base styles in common-intro.css) */
.fb-intro {
	background: #fff;
	--fb-intro-title-color: var(--fb-dark);
	--fb-intro-subtitle-color: var(--fb-dark);
}

.fb-intro__title {
	font-family: var(--fb-font-kr);
	letter-spacing: -0.02em;
	color: var(--fb-intro-title-color);
}

.fb-intro__subtitle {
	font-family: var(--fb-font-kr);
	letter-spacing: -0.02em;
	color: var(--fb-intro-subtitle-color);
}

.fb-intro__scroll-cta {
	left: 0;
	right: 0;
	color: var(--fb-white);
	font-family: var(--fb-font-en);
	line-height: 140%;
	z-index: 4;
	opacity: 0;
}

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

/* ============================================
   Section 3: Con01 (Text + Circles → Blur → Card Grid)
   ============================================ */
.first-best-con01 {
	display: flex;
	align-items: center;
	justify-content: center;
}

.first-best-con01__bg {
	position: absolute;
	inset: 0;
	background: url('../images/first-best/bg-con01-con02.webp') center/cover no-repeat;
}

.first-best-con01__dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.60);
	backdrop-filter: blur(40px);
	-webkit-backdrop-filter: blur(40px);
}

.first-best-con01__content {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 900px;
	padding: 0 40px;
	will-change: opacity, transform;
}

.first-best-con01__text {
	font-family: var(--fb-font-kr);
	font-size: 36px;
	font-weight: 600;
	line-height: 54px;
	letter-spacing: -0.72px;
	color: var(--fb-white);
}

.first-best-con01__accent {
	display: inline-grid;
}
.first-best-con01__accent .ph-accent__white,
.first-best-con01__accent .ph-accent__gradient {
	grid-area: 1 / 1;
}
.first-best-con01__accent .ph-accent__gradient {
	background: linear-gradient(90deg, #F5952F, #F17D2F, #ED5134, #EB4136, #E82939) no-repeat left center;
	background-size: 100% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-font-smoothing: antialiased;
	clip-path: inset(0 100% 0 0);
}
.first-best-con01__accent .ph-accent__white {
	color: #fff;
	-webkit-text-fill-color: #fff;
	clip-path: inset(0 0 0 0);
}

.first-best-con01__lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
	will-change: opacity, transform;
}

.first-best-con01__line {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	box-sizing: border-box;
}

.first-best-con01__line--1 {
	width: 870.602px;
	height: 870.602px;
	border: none;
	border-radius: 0;
	overflow: visible;
	animation: fbRotateCW 70s linear infinite;
}

.first-best-con01__line--2 {
	width: 834.577px;
	height: 834.577px;
	border: 1px solid #FFF;
	opacity: 0.3;
}

.first-best-con01__line--3 {
	width: 784.499px;
	height: 784.499px;
	border: 1px solid #FFF;
	opacity: 0.2;
}

.first-best-con01__line--4 {
	width: 1610px;
	height: 1610px;
	border: 1px solid #FFF;
	opacity: 0.2;
}

.first-best-con01__line--5 {
	width: 784.499px;
	height: 784.499px;
	border: 10px solid transparent;
	background:
		linear-gradient(#171B1E, #171B1E) padding-box,
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.70),
			#FF4E1C,
			#F37A3D,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0),
			#FAAB51,
			#FF4E1C,
			rgba(255, 255, 255, 0.70),
			rgba(0, 0, 0, 0.20)
		) border-box;
	animation: fbRotateCCW 70s linear infinite;
}

/* ── Line rotation keyframes ── */
@keyframes fbRotateCW {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes fbRotateCCW {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* ── Blur overlay (scroll-driven) ── */
.first-best-con01__blur-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.20);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 0;
	z-index: 2;
	pointer-events: none;
	will-change: opacity;
}

/* ── Card grid (scroll-driven slide-in) ── */
.first-best-con01__grid {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	gap: 100px;
	align-items: flex-start;
	justify-content: center;
	padding: 0 40px;
	pointer-events: none;
	overflow: hidden;
}

.first-best-con01__col {
	display: flex;
	flex-direction: column;
	gap: 100px;
	will-change: transform;
}

.first-best-con01__col--left {
	align-self: flex-start;
}

.first-best-con01__col--right {
	margin-top: 120px;
}

.first-best-con01__card {
	width: 360px;
	height: 460px;
	position: relative;
	overflow: hidden;
	pointer-events: auto;
	will-change: transform;
}

.first-best-con01__card-img {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
	background-size: cover;
	background-position: center;
}

/* Con01 per-card background images */
.first-best-con01__card[data-card="0"] .first-best-con01__card-img {
	background: url('../images/first-best/card-first-0.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="1"] .first-best-con01__card-img {
	background: url('../images/first-best/card-first-1.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="2"] .first-best-con01__card-img {
	background: url('../images/first-best/card-first-2.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="3"] .first-best-con01__card-img {
	background: url('../images/first-best/card-first-3.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="4"] .first-best-con01__card-img {
	background: url('../images/first-best/card-best-0.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="5"] .first-best-con01__card-img {
	background: url('../images/first-best/card-best-1.webp') center/cover no-repeat;
}

.first-best-con01__card[data-card="6"] .first-best-con01__card-img {
	background: url('../images/first-best/card-best-2.webp') center/cover no-repeat;
}

.first-best-con01__card-text {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.first-best-con01__card-label-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.first-best-con01__card[data-card="5"] .first-best-con01__card-label-row {
	flex-direction: column;
	gap: 2px;
}

.first-best-con01__card-label {
	font-family: var(--fb-font-kr);
	font-size: 24px;
	font-weight: 600;
	line-height: 150%;
	letter-spacing: -0.48px;
	color: var(--fb-text-light);
}

.first-best-con01__card-note {
	font-family: var(--fb-font-kr);
	font-size: 18px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.36px;
	color: var(--fb-text-light);
}

.first-best-con01__card-divider {
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
}

.first-best-con01__card-value {
	display: flex;
	align-items: baseline;
	gap: 2px;
}

.first-best-con01__card-num {
	font-family: var(--fb-font-en);
	font-size: 80px;
	font-weight: 500;
	line-height: 100%;
	color: var(--fb-text-light);
}

.first-best-con01__card-suffix {
	font-family: var(--fb-font-kr);
	font-size: 36px;
	font-weight: 600;
	line-height: 100%;
	color: var(--fb-text-light);
}

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

/* Con03 wrapper — inner content container (y movement target for curtain) */
.fb-con03-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* ============================================
   Section 5: Con03 (The First / The Best)
   ============================================ */
.first-best-con03 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 80px 0;
	background: #1a1a1a;
}

.first-best-con03__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.first-best-con03__bg-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.first-best-con03__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.30);
}

.first-best-con03__blur-dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.60);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
}

.first-best-con03__gradient-overlay {
	position: absolute;
	inset: 0;
	transition: opacity 0.6s ease;
}

.first-best-con03__gradient-overlay--first {
	background: linear-gradient(90deg, rgba(232, 41, 57, 0.30) 0%, rgba(235, 65, 54, 0.30) 25%, rgba(237, 81, 52, 0.30) 52.8%, rgba(241, 125, 47, 0.30) 76.4%, rgba(245, 149, 47, 0.30) 100%);
	opacity: 1;
}

.first-best-con03__gradient-overlay--best {
	background: linear-gradient(90deg, rgba(5, 84, 94, 0.30) 0%, rgba(3, 163, 184, 0.30) 25%, rgba(3, 125, 255, 0.30) 52.8%, rgba(8, 94, 145, 0.30) 76.4%, rgba(5, 221, 250, 0.30) 100%);
	opacity: 0;
}

/* Tabs: Frosted glass pill container — positioned at bottom of section */
.first-best-con03__tabs {
	position: relative;
	z-index: 2;
	order: 3;
	margin-top: 40px;
	margin-bottom: 0;
	opacity: 0;
	transform: translateY(20px);
	will-change: opacity, transform;
}

.first-best-con03.is-revealed .first-best-con03__tabs {
	opacity: 1;
	transform: none;
}

.first-best-con03__tabs-inner {
	display: flex;
	gap: 8px;
	padding: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.first-best-tab-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 60px;
	padding: 16px 24px;
	border-radius: 999px;
	border: none;
	background: transparent;
	color: var(--fb-white);
	font-family: var(--fb-font-en);
	font-size: 20px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
}

.first-best-tab-btn--active {
	background: var(--fb-white);
	color: var(--fb-accent);
}

@media (hover: hover) {
	.first-best-tab-btn:hover {
		background: rgba(255, 255, 255, 0.08);
	}

	.first-best-tab-btn--active:hover {
		background: var(--fb-white);
		color: var(--fb-accent);
	}
}

/* Content */
.first-best-con03__content {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	order: 2;
}

/* Title area */
.first-best-con03__title-area {
	text-align: center;
	margin-bottom: 40px;
	position: relative;
	width: 100%;
}

.first-best-con03__card-display {
	width: 100%;
	overflow: visible;
	position: relative;
	opacity: 0;
	transform: translateY(30px);
	will-change: opacity, transform;
	perspective: 1200px;
	perspective-origin: 50% 50%;
	cursor: none;
}

.first-best-con03.is-revealed .first-best-con03__card-display {
	opacity: 1;
	transform: none;
}

/* Custom cursor — follows mouse over card-display */
.first-best-con03__cursor {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--fb-white);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	opacity: 0;
	will-change: transform, opacity;
	transition: opacity 0.2s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.first-best-con03__cursor.is-visible {
	opacity: 1;
}

.first-best-con03__title-row {
	position: relative;
	text-align: center;
	margin-bottom: 10px;
	overflow: hidden;
	width: 100%;
}

.first-best-con03__title {
	font-family: var(--Family-Google-Sans-Flex, "Google Sans Flex");
	font-size: var(--Size-D3, 80px);
	font-style: normal;
	font-weight: 500;
	line-height: 100%;
	color: var(--fb-white);
	white-space: nowrap;
	transition: transform 0.6s cubic-bezier(0.39, 0, 0.12, 0.99);
	will-change: transform;
}

.first-best-con03__title--first {
	transform: translateY(0);
}

.first-best-con03__title--best {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateY(100%);
}

.first-best-con03__badge {
	display: none;
}

.first-best-con03__subtitle-row {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.first-best-con03__subtitle {
	font-family: var(--Family-Pretendard, Pretendard);
	font-size: var(--Size-P1, 20px);
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.4px;
	color: var(--fb-white);
	white-space: nowrap;
	transition: transform 0.6s cubic-bezier(0.39, 0, 0.12, 0.99) 0.05s;
}

.first-best-con03__subtitle--best {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateY(100%);
}

.first-best-con03__subtitle--first {
	transform: translateY(0);
}

.fb-con03-br {
	display: none;
}

/* is-best: slide titles & subtitles */
.first-best-con03__title-area.is-best .first-best-con03__title--first {
	transform: translateY(-100%);
}

.first-best-con03__title-area.is-best .first-best-con03__title--best {
	transform: translateY(0);
}

.first-best-con03__title-area.is-best .first-best-con03__subtitle--first {
	transform: translateY(-100%);
}

.first-best-con03__title-area.is-best .first-best-con03__subtitle--best {
	transform: translateY(0);
}

/* Card carousel — Panoramic 3D */
.first-best-con03__card-wrapper {
	position: relative;
	width: 100%;
	height: 528px;
	transform-style: preserve-3d;
	will-change: transform;
}

/* ---- Hero Card ---- */
.first-best-con03__hero-card {
	width: 360px;
	height: 460px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -230px;
	margin-left: -180px;
	display: flex;
	align-items: center;
	justify-content: center;
	backface-visibility: hidden;
	will-change: transform;
}

.first-best-con03__hero-card--first {
	background: var(--fb-accent);
}

.first-best-con03__hero-card--best {
	background: var(--fb-teal);
}

.first-best-con03__hero-img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.first-best-con03__title-row {
	font-family: var(--fb-font-kr);
	font-size: 24px;
	font-weight: 600;
	color: var(--fb-white);
	letter-spacing: -0.48px;
}

/* ---- Content Cards ---- */
.first-best-con03__card {
	width: 360px;
	height: 460px;
	background: rgba(255, 255, 255, 0.80);
	overflow: hidden;
	scroll-snap-align: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 30px;
	cursor: pointer;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -230px;
	margin-left: -180px;
	backface-visibility: hidden;
	will-change: transform;
}

.first-best-con03__card-text-area {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.first-best-con03__card-date {
	font-family: var(--fb-font-en);
	font-size: 18px;
	font-weight: 300;
	color: var(--fb-text-secondary);
	line-height: 140%;
}

.first-best-con03__card-divider {
	display: block;
	width: 100%;
	height: 4px;
	background: var(--fb-accent);
}

.first-best-con03__card[data-section="best"] .first-best-con03__card-divider {
	background: #1984FF;
}

.first-best-con03__card-title {
	font-family: var(--fb-font-kr);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.48px;
	color: var(--fb-dark);
	line-height: 150%;
}

/* Card image area (bottom) */
.first-best-con03__card-image {
	width: 100%;
	height: 140px;
	overflow: hidden;
	flex-shrink: 0;
}

.first-best-con03__card-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* ============================================
   Curtain Backdrop
   ============================================ */
/* base styles in common-curtain.css */

/* ============================================
   Popup Overlay — White Card Layout
   ============================================ */
.first-best-popup {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.first-best-popup.active {
	display: flex;
	align-items: center;
	justify-content: center;
}

.first-best-popup.visible {
	opacity: 1;
}

.first-best-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.60);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	will-change: opacity, backdrop-filter;
}

.first-best-popup__container {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	opacity: 0;
	transition: opacity 0.35s ease 0.05s;
}

.first-best-popup.visible .first-best-popup__container {
	opacity: 1;
}

/* Popup card — white card */
.first-best-popup__card {
	position: relative;
	display: flex;
	width: 920px;
	height: 518px;
	background: var(--fb-white);
	overflow: hidden;
}

.first-best-popup__card-images {
	width: 330px;
	height: 518px;
	flex-shrink: 0;
	background: #000000;
}

.first-best-popup__card-img {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
	background-size: cover;
	background-position: center;
}

.first-best-popup__card-body {
	flex: 1;
	padding: 80px 70px;
	display: flex;
	flex-direction: column;
}

.first-best-popup__card-tag {
	position: absolute;
	top: 16px;
	left: 0;
	z-index: 1;
}

.first-best-popup__card-tag-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 34px;
	border-radius: 0 34px 34px 0;
	background: var(--fb-accent);
	color: var(--fb-white);
	font-family: var(--fb-font-kr);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.36px;
}

.first-best-popup__card-title-area {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px;
}

.first-best-popup__card-date {
	font-family: var(--fb-font-en);
	font-size: 18px;
	font-weight: 300;
	color: var(--fb-text-secondary);
}

.first-best-popup__card-title {
	font-family: var(--fb-font-kr);
	font-size: 36px;
	font-weight: 600;
	line-height: 130%;
	letter-spacing: -0.02em;
	color: var(--fb-dark);
}

.first-best-popup__card-divider {
	width: 100%;
	height: 1px;
	background: #CCC;
	margin-bottom: 40px;
}

.first-best-popup__card-desc {
	font-family: var(--fb-font-kr);
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.02em;
	color: var(--fb-text-secondary);
}

/* Popup controls */
.first-best-popup__controls {
	display: flex;
	align-items: center;
	gap: 40px;
}

.first-best-popup__close {
	position: absolute;
	top: -80px;
	right: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: transparent;
	border: 1px solid #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 1;
}

.first-best-popup__nav {
	display: flex;
	align-items: center;
	gap: 40px;
}

.first-best-popup__nav-btn {
	width: 56px;
	height: 56px;
	border-radius: 56px;
	background: transparent;
	border: 1px solid #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
}



.first-best-popup__nav-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.first-best-popup__nav-counter {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--fb-font-en);
	font-size: 18px;
}

.first-best-popup__nav-current {
	color: var(--fb-accent);
	font-weight: 500;
	min-width: 24px;
	text-align: right;
}

.first-best-popup__nav-separator {
	display: block;
	width: 1px;
	height: 10px;
	background: #CCC;
}

.first-best-popup__nav-total {
	color: #A4A8AB;
	font-weight: 300;
	min-width: 24px;
	text-align: left;
}

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

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

	/* ── Con01 ── */
	.first-best-con01__content {
		max-width: 800px;
	}

	.first-best-con01__text {
		font-size: 32px;
		line-height: 150%;
		letter-spacing: -0.64px;
	}

	.first-best-con01__grid {
		gap: 60px;
	}

	.first-best-con01__col {
		gap: 60px;
	}

	.first-best-con01__card {
		width: 300px;
		height: 384px;
	}

	.first-best-con01__card-num {
		font-size: 64px;
	}

	.first-best-con01__card-suffix {
		font-size: 30px;
	}

	.first-best-con01__card-label {
		font-size: 20px;
	}

	.first-best-con01__card-note {
		font-size: 16px;
	}

	/* ── Con03 ── */
	.first-best-con03 {
		padding: 80px 0;
	}

	.first-best-con03__title {
		font-size: 72px;
	}

	.first-best-con03__subtitle {
		font-size: 20px;
		letter-spacing: -0.4px;
	}

	.first-best-con03__title-area {
		margin-bottom: 40px;
	}

	.first-best-con03__title-row {
		margin-bottom: 8px;
	}

	.first-best-con03__hero-card {
		width: 300px;
		height: 384px;
		margin-left: -150px;
	}

	.first-best-con03__card-wrapper {
		height: 384px;
	}

	.first-best-con03__card {
		width: 300px;
		height: 384px;
		padding: 26px;
		margin-left: -150px;
	}

	.first-best-con03__card-title {
		font-size: 22px;
		letter-spacing: -0.44px;
	}

	.first-best-con03__card-image {
		height: 120px;
	}

	.first-best-con03__tabs {
		margin-top: 40px;
	}

	.first-best-con03__tabs-inner {
		padding: 6px;
		gap: 4px;
	}

	.first-best-tab-btn {
		width: 140px;
		height: 48px;
		padding: 12px 20px;
		font-size: 18px;
	}

	/* ── Popup ── */
	.first-best-popup__card {
		width: 800px;
		height: 460px;
	}

	.first-best-popup__card-images {
		width: 280px;
		height: 460px;
	}

	.first-best-popup__card-body {
		padding: 60px 50px;
	}

	.first-best-popup__card-title {
		font-size: 30px;
	}

	.first-best-popup__card-desc {
		font-size: 18px;
		line-height: 150%;
		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) {
}

@media (min-width: 1024px) and (max-height: 900px) {
	.first-best-con03 {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100vh;
		padding: 20px 0;
	}

	.first-best-con03__title {
		font-size: 64px;
	}

	.first-best-con03__subtitle {
		font-size: 18px;
	}

	.first-best-con03__title-area {
		margin-bottom: 0;
	}

	.first-best-con03__title-row {
		margin-bottom: 4px;
	}

	.first-best-con03__tabs {
		margin-top: 8px;
	}

	.first-best-tab-btn {
		height: 44px;
		padding: 8px 18px;
		font-size: 16px;
	}

	.first-best-con03__tabs-inner {
		padding: 5px;
		gap: 4px;
	}
}

/* ================================================================
   Tablet: 768px ~ 1023px
   ================================================================ */
@media (min-width: 768px) and (max-width: 1023px) {

	/* ── Intro ── */
	.fb-intro__bg-wrapper {
		width: 512px;
		height: 500px;
	}

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

	.fb-intro__title {
		font-size: 48px;
		letter-spacing: -0.96px;
	}

	.fb-intro__subtitle {
		font-size: 20px;
		letter-spacing: -0.4px;
	}

	.fb-intro__scroll-cta {
		font-size: 16px;
	}

	/* ── Con01 ── */
	.first-best-con01__content {
		max-width: none;
		padding: 0;
	}

	.first-best-con01__text {
		font-size: 28px;
		line-height: 150%;
		letter-spacing: -0.56px;
	}

	.first-best-con01__blur-overlay {
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
	}

	.first-best-con01__line--1 {
		width: 637px;
		height: 637px;
	}

	.first-best-con01__line--2 {
		width: 610px;
		height: 610px;
		border-radius: 610px;
		border: 1px solid #FFF;
		opacity: 0.3;
	}

	.first-best-con01__line--3 {
		width: 573px;
		height: 573px;
		border-radius: 573px;
		border: 1px solid #FFF;
		opacity: 0.2;
	}

	.first-best-con01__line--4 {
		width: 904px;
		height: 904px;
		border-radius: 904px;
		border: 1px solid #FFF;
		opacity: 0.2;
	}

	.first-best-con01__line--5 {
		width: 573px;
		height: 573px;
		border-radius: 573px;
		border: 6px solid transparent;
		background:
			linear-gradient(#171B1E, #171B1E) padding-box,
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 0.70),
				#FF4E1C,
				#F37A3D,
				rgba(255, 255, 255, 0),
				rgba(255, 255, 255, 0),
				#FAAB51,
				#FF4E1C,
				rgba(255, 255, 255, 0.70),
				rgba(0, 0, 0, 0.20)
			) border-box;
	}

	.first-best-con01__grid {
		flex-direction: column;
		gap: 40px;
		padding: 0;
		align-items: stretch;
		justify-content: center;
		overflow: hidden;
		opacity: 0;
	}

	.first-best-con01__col {
		flex-direction: row;
		gap: 40px;
		flex-shrink: 0;
		width: max-content;
	}

	.first-best-con01__col--left {
		transform: translateX(-100%);
	}

	.first-best-con01__col--right {
		flex-direction: row;
		margin-top: 0;
		align-self: flex-end;
		transform: translateX(100%);
	}

	.first-best-con01__card {
		width: 219px;
		height: 280px;
		flex-shrink: 0;
	}

	.first-best-con01__card-text {
		padding: 20px;
		gap: 12px;
	}

	.first-best-con01__card[data-card="5"] .first-best-con01__card-label-row,
	.first-best-con01__card[data-card="6"] .first-best-con01__card-label-row {
		flex-direction: column;
		gap: 0;
	}

	.first-best-con01__card-num {
		font-size: 44px;
		line-height: 100%;
	}

	.first-best-con01__card-suffix {
		font-size: 24px;
	}

	.first-best-con01__card-label {
		font-size: 18px;
	}

	.first-best-con01__card-note {
		font-size: 14px;
	}

	/* ── Con03 ── */
	.first-best-con03 {
		padding: 60px 0;
	}

	.fb-con03-br {
		display: inline;
	}

	.first-best-con03__title {
		font-size: 48px;
	}

	.first-best-con03__subtitle {
		font-size: 20px;
		letter-spacing: -0.4px;
		white-space: normal;
	}

	.first-best-con03__title-area {
		margin-bottom: 40px;
	}

	.first-best-con03__title-row {
		margin-bottom: 8px;
	}

	.first-best-con03__card-text-area {
		gap: 16px;
	}

	.first-best-con03__card-date {
		font-size: 16px;
	}

	.first-best-con03__card-title {
		font-size: 20px;
		letter-spacing: -0.4px;
		line-height: 140%;
	}

	.first-best-con03__card-image {
		height: 112px;
	}

	/* ---- Popup ---- */

	.first-best-con03__card-image {
		height: 100px;
	}

	.first-best-tab-btn {
		width: 140px;
		height: 48px;
		padding: 12px 20px;
		font-size: 18px;
	}

	.first-best-con03__tabs {
		margin-top: 40px;
	}

	.first-best-con03__tabs-inner {
		padding: 6px;
		gap: 4px;
	}

	/* ── Popup ── */
	.first-best-popup__container {
		gap: 20px;
	}

	.first-best-popup__card {
		width: 688px;
		height: 386px;
	}

	.first-best-popup__card-images {
		width: 246px;
		height: 386px;
	}

	.first-best-popup__card-body {
		padding: 60px 40px 0 40px;
	}

	.first-best-popup__card-tag {
		top: 10px;
	}

	.first-best-popup__card-tag-label {
		font-size: 16px;
		width: 64px;
		height: 30px;
		border-radius: 0 30px 30px 0;
	}

	.first-best-popup__card-title-area {
		gap: 4px;
		margin-bottom: 20px;
	}

	.first-best-popup__card-date {
		font-size: 16px;
	}

	.first-best-popup__card-title {
		font-size: 28px;
		line-height: 140%;
		letter-spacing: -0.56px;
	}

	.first-best-popup__card-divider {
		margin-bottom: 15px;
	}

	.first-best-popup__card-desc {
		color: var(--Text-Secondary, #4A4D50);
		font-family: var(--Family-Pretendard, Pretendard);
		font-size: 16px;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.32px;
	}

	.first-best-popup__close {
		top: -60px;
		width: 40px;
		height: 40px;
		background: #FF4E1C;
		border: none;
	}

	.first-best-popup__close svg {
		width: 20px;
		height: 20px;
	}

	.first-best-popup__nav {
		gap: 20px;
	}

	.first-best-popup__nav-btn {
		width: 44px;
		height: 44px;
	}

	.first-best-popup__nav-btn svg {
		width: 12px;
		height: 12px;
	}

	.first-best-popup__nav-counter {
		font-size: 16px;
	}

	/* ── Btn Top ── */
	.anniversary-btn-top {
		right: 20px;
		bottom: 20px;
		width: 40px;
		height: 40px;
	}
}

/* ============================================
   MOBILE RESPONSIVE — max-width: 767px
   ============================================ */
@media (max-width: 767px) {

	.fb-mobile-br {
		display: inline;
	}

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

	.fb-con03-br {
		display: inline;
	}

	/* ---- Section Base ---- */
	.fb-intro,
	.first-best-con01 {
		height: 100vh;
		height: 100dvh;
	}

	/* ---- Section 1: Intro ---- */
	.fb-intro__bg-wrapper {
		width: 334px;
		height: 300px;
	}

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

	.fb-intro__title {
		font-size: 48px;
		letter-spacing: -0.96px;
		margin-bottom: 20px;
	}

	.fb-intro__subtitle {
		font-size: 20px;
		letter-spacing: -0.4px;
	}

	.fb-intro__scroll-cta {
		font-size: 14px;
		bottom: 24px;
	}

	/* ---- Section 3: Con01 (Text + Circles) ---- */
	.first-best-con01__content {
		max-width: none;
		padding: 0;
	}

	.first-best-con01__text {
		font-size: 28px;
		font-weight: 600;
		line-height: 150%;
		letter-spacing: -0.56px;
	}

	.first-best-con01__blur-overlay {
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
	}

	/* ---- Section 3: Con01 — Lines (mobile) ---- */
	.first-best-con01__line--1 {
		width: 454px;
		height: 454px;
	}

	.first-best-con01__line--2 {
		width: 435.431px;
		height: 435.431px;
		border-radius: 435.431px;
		border: 1px solid #FFF;
		opacity: 0.3;
	}

	.first-best-con01__line--3 {
		width: 409.304px;
		height: 409.304px;
		border-radius: 409.304px;
		border: 1px solid #FFF;
		opacity: 0.2;
	}

	.first-best-con01__line--4 {
		width: 606px;
		height: 606px;
		border-radius: 606px;
		border: 1px solid #FFF;
		opacity: 0.2;
	}

	.first-best-con01__line--5 {
		width: 409.304px;
		height: 409.304px;
		border-radius: 409.304px;
		border: 6px solid transparent;
		background:
			linear-gradient(#171B1E, #171B1E) padding-box,
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 0.70),
				#FF4E1C,
				#F37A3D,
				rgba(255, 255, 255, 0),
				rgba(255, 255, 255, 0),
				#FAAB51,
				#FF4E1C,
				rgba(255, 255, 255, 0.70),
				rgba(0, 0, 0, 0.20)
			) border-box;
	}

	/* ---- Section 3: Con01 — Card grid (mobile) ---- */
	.first-best-con01__grid {
		flex-direction: column;
		gap: 40px;
		padding: 0;
		align-items: stretch;
		justify-content: center;
		overflow: hidden;
		opacity: 0;
	}

	.first-best-con01__col {
		flex-direction: row;
		gap: 40px;
		flex-shrink: 0;
		width: max-content;
	}

	.first-best-con01__col--left {
		transform: translateX(-100%);
	}

	.first-best-con01__col--right {
		flex-direction: row;
		margin-top: 0;
		align-self: flex-end;
		transform: translateX(100%);
	}

	.first-best-con01__card {
		width: 219px;
		height: 280px;
		flex-shrink: 0;
	}

	.first-best-con01__card-text {
		padding: 20px;
		gap: 8px;
	}

	.first-best-con01__card[data-card="5"] .first-best-con01__card-label-row,
	.first-best-con01__card[data-card="6"] .first-best-con01__card-label-row {
		flex-direction: column;
		gap: 0;
	}

	.first-best-con01__card-label {
		font-size: 18px;
		line-height: 140%;
	}

	.first-best-con01__card-note {
		font-size: 12px;
		font-weight: 400;
		line-height: 140%;
		letter-spacing: -0.24px;
	}

	.first-best-con01__card-num {
		font-family: "Google Sans Flex", sans-serif;
		font-size: 44px;
		font-weight: 500;
		line-height: 100%;
	}

	.first-best-con01__card-suffix {
		font-family: Pretendard, sans-serif;
		font-size: 24px;
		font-weight: 600;
		line-height: 130%;
		letter-spacing: -0.48px;
	}

	/* ---- Section 5: Con03 (The First / The Best) ---- */
	.fb-con03-pin {
		height: 100vh;
	}

	.fb-con03-wrapper {
		overflow: visible;
	}

	.first-best-con03 {
		padding: 40px 0;
	}

	.first-best-con03__title {
		font-size: 48px;
	}

	.first-best-con03__subtitle {
		font-size: 20px;
		letter-spacing: -0.4px;
		white-space: normal;
	}

	.first-best-con03__title-area {
		margin-bottom: 0;
	}

	.first-best-con03__title-row {
		margin-bottom: 8px;
	}

	/* Tabs */
	.first-best-con03__tabs {
		margin-top: 0;
	}

	.first-best-con03__tabs-inner {
		padding: 5px;
		gap: 4px;
	}

	.first-best-tab-btn {
		width: 140px;
		height: 44px;
		padding: 10px 20px;
		font-size: 18px;
	}

	/* Card carousel — mobile swipe slider */
	.first-best-con03__card-display {
		perspective: none;
		overflow: hidden;
		cursor: auto;
	}

	.first-best-con03__card-wrapper {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 0 calc((100vw - 289px) / 2);
		height: 400px;
		transform-style: flat;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.first-best-con03__card-wrapper::-webkit-scrollbar {
		display: none;
	}

	.first-best-con03__hero-card {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 0;
		margin-left: 0;
		flex-shrink: 0;
		width: 289px;
		height: 369px;
		border-radius: 0;
		backface-visibility: visible;
		will-change: auto;
		transform: none !important;
		opacity: 1 !important;
		scroll-snap-align: center;
	}

	.first-best-con03__card {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 0;
		margin-left: 0;
		flex-shrink: 0;
		width: 289px;
		height: 369px;
		padding: 24px;
		border-radius: 0;
		backface-visibility: visible;
		will-change: auto;
		transform: none !important;
		opacity: 1 !important;
		scroll-snap-align: center;
	}

	.first-best-con03__card-text-area {
		gap: 16px;
	}

	.first-best-con03__card-date {
		font-size: 16px;
	}

	.first-best-con03__card-divider {
		height: 3px;
	}

	.first-best-con03__card-title {
		font-size: 20px;
		letter-spacing: -0.4px;
		line-height: 140%;
	}

	.first-best-con03__card-image {
		height: 100px;
	}


	/* ---- Popup ---- */
	.first-best-popup__container {
		gap: 10px;
		padding: 20px 20px 0;
		width: 100%;
		box-sizing: border-box;
	}

	.first-best-popup__card {
		width: 100%;
		height: auto;
		min-height: 520px;
		flex-direction: column-reverse;
		border-radius: 0;
	}

	.first-best-popup__card-images {
		width: 100%;
		height: 200px;
		flex-direction: row;
		border-radius: 0;
	}

	.first-best-popup__card-img {
		flex: 1;
	}

	.first-best-popup__card-body {
		padding: 20px;
	}

	.first-best-popup__card-tag-label {
		font-size: 16px;
		width: 60px;
		height: 28px;
		border-radius: 0 28px 28px 0;
	}

	.first-best-popup__card-title-area {
		gap: 6px;
		margin-bottom: 16px;
	}

	.first-best-popup__card-date {
		font-size: 16px;
	}

	.first-best-popup__card-title {
		font-size: 24px;
		line-height: 140%;
		letter-spacing: -0.48px;
	}

	.first-best-popup__card-divider {
		margin-bottom: 20px;
	}

	.first-best-popup__card-desc {
		font-size: 16px;
		line-height: 140%;
		letter-spacing: -0.48px;
	}

	/* Popup controls */
	.first-best-popup__controls {
		gap: 24px;
	}

	.first-best-popup__close {
		top: -30px;
		right: 20px;
		width: 40px;
		height: 40px;
		background: #FF4E1C;
		border: none;
	}

	.first-best-popup__close svg {
		width: 20px;
		height: 20px;
	}

	.first-best-popup__nav {
		gap: 16px;
	}

	.first-best-popup__nav-btn {
		width: 40px;
		height: 40px;
	}

	.first-best-popup__nav-btn svg {
		width: 12px;
		height: 12px;
	}

	.first-best-popup__nav-counter {
		font-size: 16px;
	}

	/* ---- Btn Top (override from 80-years) ---- */
	.anniversary-btn-top {
		right: 20px;
		bottom: 20px;
		width: 40px;
		height: 40px;
	}

	/* ---- PC-only line break hidden on mobile ---- */
	.fb-pc-br {
		display: none;
	}
}
