/* ============================================
   HORIZON WORKS - Design System & Styles
   B&W Minimal / Content-Centered
   ============================================ */

/* ---------- Design Tokens ---------- */
:root {
	/* Colors */
	--color-black: #000000;
	--color-dark: #111111;
	--color-dark-gray: #1a1a1a;
	--color-gray-900: #222222;
	--color-gray-800: #333333;
	--color-gray-700: #555555;
	--color-gray-600: #666666;
	--color-gray-500: #777777;
	--color-gray-400: #888888;
	--color-gray-300: #cccccc;
	--color-gray-200: #e5e5e5;
	--color-gray-100: #f2f2f2;
	--color-white: #ffffff;

	/* 포인트 컬러 — 이브 클라인 풍 울트라마린 블루 (클라이언트 레퍼런스 매칭, 미세 톤업) */
	--color-primary: #2540C0;
	--color-primary-light: #3A52D2;
	--color-primary-dark: #1A2D8E;

	/* Typography — Poppins(영문) 우선, Pretendard(한글) fallback으로 한글/영문 자동 분기 */
	--font-display: 'Poppins', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-heading: 'Poppins', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-body: 'Poppins', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-mono: 'IBM Plex Mono', monospace;

	/* Font Sizes — 가독성 개선을 위해 전체적으로 키움 */
	--text-xs: 0.8125rem;   /* 13px */
	--text-sm: 0.9375rem;   /* 15px */
	--text-base: 1.0625rem; /* 17px */
	--text-lg: 1.1875rem;   /* 19px */
	--text-xl: 1.375rem;    /* 22px */
	--text-2xl: 1.625rem;   /* 26px */
	--text-3xl: 2.125rem;   /* 34px */
	--text-4xl: 2.75rem;    /* 44px */
	--text-5xl: 3.75rem;    /* 60px */
	--text-6xl: 4.75rem;    /* 76px */
	--text-hero: 6.5rem;    /* 104px */

	/* Font Weights */
	--weight-light: 300;
	--weight-regular: 400;
	--weight-medium: 500;
	--weight-semibold: 600;
	--weight-bold: 700;
	--weight-display: 600; /* 디스플레이 헤딩 — Pretendard SemiBold (최대 굵기) */

	/* Spacing */
	--space-xs: 0.25rem;
	--space-sm: 0.5rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2rem;
	--space-2xl: 3rem;
	--space-3xl: 4rem;
	--space-4xl: 6rem;
	--space-5xl: 8rem;
	--space-6xl: 10rem;

	/* Layout */
	--container-max: 1200px;
	--container-narrow: 900px;
	--header-height: 80px;

	/* Transitions */
	--transition-fast: 0.2s ease;
	--transition-base: 0.3s ease;
	--transition-slow: 0.5s ease;
	--transition-hero: 0.8s cubic-bezier(0.4, 0, 0.2, 1);

	/* Z-index */
	--z-header: 1000;
	--z-overlay: 900;
	--z-modal: 1100;
}

/* ---------- Reset & Base ---------- */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font-family: var(--font-body);
	font-weight: var(--weight-regular);
	font-size: var(--text-base);
	line-height: 1.3;
	color: var(--color-black);
	background-color: var(--color-white);
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
	transition: opacity var(--transition-fast);
}

a:hover {
	opacity: 0.7;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: inherit;
	font-size: inherit;
}

ul, ol {
	list-style: none;
}

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	line-height: 1.2;
	letter-spacing: normal;
}

.display-font {
	font-family: var(--font-display);
	font-weight: var(--weight-display);
	letter-spacing: normal;
}

.section-title {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-transform: uppercase;
	margin-bottom: var(--space-xl);
}

.section-title--large {
	font-size: var(--text-5xl);
}

.section-subtitle {
	font-size: var(--text-lg);
	font-weight: var(--weight-regular);
	color: var(--color-gray-700);
	line-height: 1.4;
	max-width: 700px;
}

.label {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
}

/* ---------- Layout ---------- */
.container {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-xl);
}

.container--narrow {
	max-width: var(--container-narrow);
}

.section {
	padding: var(--space-5xl) 0;
}

.section--dark {
	background-color: var(--color-black);
	color: var(--color-white);
}

.section--dark .section-subtitle {
	color: rgba(255, 255, 255, 0.7);
}

/* 딥블루 배경 섹션 */
.section--primary {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.section--primary .section-subtitle {
	color: rgba(255, 255, 255, 0.6);
}

/* 라이트그레이 배경 섹션 */
.section--light {
	background-color: var(--color-gray-100);
	color: var(--color-black);
}

.section--light .section-subtitle {
	color: var(--color-gray-500);
}

/* ---------- Header ---------- */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: var(--z-header);
	height: var(--header-height);
	display: flex;
	align-items: center;
	transition: background-color var(--transition-base), box-shadow var(--transition-base);
}

.header--transparent {
	background-color: transparent;
}

.header--scrolled {
	background-color: var(--color-primary-dark);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-xl);
}

.header__logo {
	display: flex;
	align-items: center;
}

.header__logo img,
.header__logo-img {
	height: 42px;
	width: auto;
	filter: brightness(0) invert(1);
}

.footer__logo-img {
	height: 24px;
	width: auto;
	display: block;
	filter: brightness(0) invert(1);
}

.header__nav {
	display: flex;
	align-items: center;
	gap: var(--space-3xl);
}

.header__nav a {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-white);
	position: relative;
	padding: var(--space-xs) 0;
}

.header__nav a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 1px;
	background-color: var(--color-white);
	transition: width var(--transition-base);
}

.header__nav a:hover {
	opacity: 1;
}

.header__nav a:hover::after,
.header__nav a.active::after {
	width: 100%;
}

/* Hamburger */
.header__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 28px;
	height: 28px;
	cursor: pointer;
	z-index: var(--z-modal);
}

.header__hamburger span {
	display: block;
	width: 100%;
	height: 1.5px;
	background-color: var(--color-white);
	transition: transform var(--transition-base), opacity var(--transition-fast);
}

.header__hamburger.active span:nth-child(1) {
	transform: translateY(7.5px) rotate(45deg);
}

.header__hamburger.active span:nth-child(2) {
	opacity: 0;
}

.header__hamburger.active span:nth-child(3) {
	transform: translateY(-7.5px) rotate(-45deg);
}

/* Mobile Nav Overlay */
.mobile-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-black);
	z-index: var(--z-overlay);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-3xl);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-base), visibility var(--transition-base);
}

.mobile-nav.active {
	opacity: 1;
	visibility: visible;
}

.mobile-nav a {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-white);
}

/* ---------- Hero Section ---------- */
.hero {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	overflow: hidden;
	background-color: var(--color-black);
}

.hero__slide {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
}

.hero__slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* 히어로 슬라이드 오버레이 — 가독성 개선 */
.hero__slide-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.35) 0%,
		rgba(0, 0, 0, 0.2) 40%,
		rgba(0, 0, 0, 0.6) 100%
	);
}

.hero__slide-content {
	position: absolute;
	bottom: 15%;
	left: 0;
	right: 0;
	padding: 0 var(--space-xl);
	z-index: 2;
}

.hero__slide-content .container {
	padding: 0;
}

.hero__tag {
	display: inline-block;
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: var(--space-md);
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: var(--space-xs) var(--space-md);
}

.hero__title {
	font-family: var(--font-heading);
	font-size: var(--text-6xl);
	font-weight: var(--weight-semibold);
	color: var(--color-white);
	letter-spacing: normal;
	line-height: 1.1;
	margin-bottom: var(--space-lg);
}

.hero__subtitle {
	font-size: var(--text-lg);
	font-weight: var(--weight-regular);
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: var(--space-lg);
}

.hero__date {
	font-size: var(--text-sm);
	color: rgba(255, 255, 255, 0.65);
	letter-spacing: normal;
	margin-bottom: var(--space-xl);
}

.hero__cta {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-white);
	border: 1px solid var(--color-white);
	padding: var(--space-md) var(--space-xl);
	transition: background-color var(--transition-base), color var(--transition-base);
}

.hero__cta:hover {
	background-color: var(--color-white);
	color: var(--color-primary);
	opacity: 1;
}

/* Hero Navigation */
.hero__nav {
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: var(--space-lg);
}

.hero__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid var(--color-white);
	background: transparent;
	cursor: pointer;
	transition: background-color var(--transition-fast);
}

.hero__dot.active {
	background-color: var(--color-white);
}

/* Hero Arrows */
.hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-size: var(--text-2xl);
	cursor: pointer;
	transition: opacity var(--transition-fast);
	opacity: 0.6;
}

.hero__arrow:hover {
	opacity: 1;
}

.hero__arrow--prev {
	left: var(--space-xl);
}

.hero__arrow--next {
	right: var(--space-xl);
}

/* ---------- About Hero Video (2차 수정 신규: 풀와이드 자동재생 영상 영역) ---------- */
.about-video {
	width: 100%;
	margin-top: var(--header-height);
	background-color: var(--color-black);
}

.about-video__wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 70vh;
	background: linear-gradient(135deg, #1A1A1A 0%, #0A0A0A 100%);
	overflow: hidden;
}

.about-video__wrapper iframe,
.about-video__wrapper video,
.about-video__player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	display: block;
}

@media (max-width: 768px) {
	.about-video__wrapper {
		aspect-ratio: 16 / 10;
		max-height: 55vh;
	}
}

/* ---------- Page Hero (2차 수정: 검은박스 + 배경이미지 제거, 단순 텍스트 헤더) ---------- */
.page-hero {
	position: relative;
	width: 100%;
	padding: 100px 0; /* 글자 기준 위아래 동일 100px */
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-white);
	margin-top: var(--header-height);
}

.page-hero__title {
	font-family: var(--font-display);
	font-size: 3.25rem; /* 52px — text-5xl(60px)에서 살짝 다운 */
	font-weight: var(--weight-display);
	color: var(--color-black);
	letter-spacing: normal;
	text-transform: uppercase;
	text-align: center;
}

/* 옅은 가로선 모디파이어 — 페이지 헤더와 본문 구분감 (CONTACT 페이지 등) */
.page-hero--divided {
	position: relative;
}

.page-hero--divided::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: var(--container-max);
	height: 1px;
	background-color: var(--color-gray-200);
}

/* page-hero 바로 다음 .section은 padding-top 줄임 (글자~본문 거리 균형) */
.page-hero + .section {
	padding-top: var(--space-3xl); /* 4rem 64px */
}

/* ---------- Text Logo ---------- */
.text-logo {
	font-family: var(--font-display);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
}

.text-logo--header {
	font-size: 1.1rem;
	color: var(--color-white);
	letter-spacing: normal;
}

.text-logo--large {
	font-size: 3rem;
	letter-spacing: normal;
}

.text-logo--footer {
	font-size: 0.95rem;
	color: var(--color-white);
	letter-spacing: normal;
}

/* ---------- Company Intro Section ---------- */
/* 화이트 톤 변경: 인트로 섹션 */
.intro-section.section--dark {
	position: relative;
	padding: var(--space-6xl) 0;
	text-align: center;
	background: #f8f8f8;
	color: var(--color-black);
	overflow: hidden;
}

.intro-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 110px;
	background: linear-gradient(to bottom, transparent, var(--color-gray-300));
}

.intro__logo-img {
	height: 70px;
	width: auto;
	margin: 0 auto var(--space-3xl);
	display: block;
	opacity: 0.9;
	filter: none;
}

.intro__logo-text {
	font-family: var(--font-display);
	font-size: 2.5rem;
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-white);
	margin-bottom: var(--space-3xl);
	opacity: 0.9;
}

.intro__divider {
	width: 40px;
	height: 1px;
	background-color: var(--color-gray-300);
	margin: 0 auto var(--space-3xl);
}

.intro__copy {
	font-size: 1.3rem;
	font-weight: var(--weight-regular);
	line-height: 1.8;
	color: var(--color-gray-700);
	max-width: 650px;
	margin: 0 auto var(--space-xl);
}

.intro__sub {
	font-size: var(--text-base);
	color: var(--color-gray-500);
	line-height: 1.6;
}

/* Business Area Cards - Upgraded */
.business-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	margin-top: var(--space-4xl);
	background-color: var(--color-gray-200);
	border: 1px solid var(--color-gray-200);
}

.business-card {
	text-align: center;
	padding: var(--space-3xl) var(--space-xl);
	background-color: #f8f8f8;
	transition: background-color var(--transition-base);
	position: relative;
}

.business-card:hover {
	background-color: var(--color-white);
}

.business-card__number {
	font-family: var(--font-display);
	font-size: 1rem; /* 16px */
	color: var(--color-gray-400);
	letter-spacing: normal;
	margin-bottom: var(--space-md);
	display: block;
}

.business-card__icon {
	margin-bottom: var(--space-md);
	opacity: 0.8;
}

/* 픽토그램 아이콘 크기 키움 */
.business-card__icon .material-symbols-sharp {
	font-size: 52px;
	color: var(--color-primary);
	font-variation-settings: 'FILL' 0, 'wght' 100, 'GRAD' -25, 'opsz' 48;
}

.business-card__title {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-transform: uppercase;
	margin-bottom: var(--space-md);
	color: var(--color-black);
}

.business-card__label {
	font-size: 1rem; /* 최소 16px */
	color: var(--color-gray-500);
	letter-spacing: normal;
}

.business-card__desc {
	font-size: 1rem; /* 최소 16px */
	color: var(--color-gray-600);
	line-height: 1.3;
	margin-top: var(--space-md);
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--transition-slow), opacity var(--transition-base);
	opacity: 0;
}

.business-card:hover .business-card__desc {
	max-height: 100px;
	opacity: 1;
}

/* ---------- Lineup Preview ---------- */
.lineup-preview {
	padding: var(--space-5xl) 0;
}

.lineup-preview__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: var(--space-3xl);
}

.lineup-preview__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-xl);
}

.poster-card {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.poster-card__image {
	position: relative;
	aspect-ratio: 2/3;
	overflow: hidden;
	background-color: var(--color-black); /* 폴백 */
}

/* 카드 배경에 같은 포스터 블러 처리 — 검은 띠 자연스럽게 채움 */
.poster-card__image::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--poster-bg);
	background-size: cover;
	background-position: center;
	filter: blur(24px) brightness(0.85);
	transform: scale(1.15); /* 블러 가장자리 흰띠 보정 */
	z-index: 0;
	will-change: transform;
}

.poster-card__image img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain; /* 잘림 없이 포스터 전체 표시 */
	transition: transform var(--transition-slow);
}

/* 모바일: 성능 위해 블러 약하게 */
@media (max-width: 768px) {
	.poster-card__image::before {
		filter: blur(16px) brightness(0.85);
	}
}

.poster-card:hover .poster-card__image img {
	transform: scale(1.05);
}

.poster-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%);
	opacity: 0;
	transition: opacity var(--transition-base);
	display: flex;
	align-items: flex-end;
	padding: var(--space-xl);
}

.poster-card:hover .poster-card__overlay {
	opacity: 1;
}

.poster-card__overlay-text {
	color: var(--color-white);
	font-size: var(--text-sm);
	letter-spacing: normal;
}

.poster-card__info {
	padding: var(--space-lg) 0 var(--space-sm);
}

.poster-card__category {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	margin-bottom: var(--space-xs);
}

.poster-card__title {
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
}

.poster-card__role {
	font-size: var(--text-xs);
	color: var(--color-gray-500);
	margin-top: var(--space-xs);
}

/* ---------- Partners ---------- */
.partners {
	padding: var(--space-4xl) 0 var(--space-5xl);
	overflow: hidden;
	background-color: #f8f8f8;
}

.partners__track {
	display: flex;
	align-items: center;
	gap: 60px;
	animation: scroll-partners 30s linear infinite;
	will-change: transform;
}

/* 홈 파트너 로고 — 피그마 정렬 이미지 (700x200 통일) */
.partners__logo {
	flex-shrink: 0;
	height: 60px;
	width: auto;
	opacity: 0.6;
	filter: grayscale(100%);
	transition: opacity var(--transition-fast), filter var(--transition-fast);
}

.partners__logo:hover {
	opacity: 1;
	filter: grayscale(0%);
}

.partners--light .partners__logo {
	filter: grayscale(100%);
	opacity: 0.4;
}

.partners--light .partners__logo:hover {
	filter: grayscale(0%);
	opacity: 1;
}

/* About 파트너 로고 — 피그마 정렬 이미지 (700x200 통일) */
.partners__logo--about {
	height: 60px;
	width: auto;
	opacity: 0.5;
	filter: grayscale(100%);
	transition: opacity var(--transition-fast), filter var(--transition-fast);
}

.partners__logo--about:hover {
	opacity: 1;
	filter: grayscale(0%);
}

@keyframes scroll-partners {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* 파트너 하단 "외 다수" 텍스트 */
.partners__note {
	text-align: center;
	font-size: 0.875rem;
	color: var(--color-gray-500);
	margin-top: var(--space-lg);
	letter-spacing: normal;
}

/* Partner Box 공통 (로고 이미지 대체 영역, 비율 4:1.5) */
.partner-text,
.partner-text-about {
	aspect-ratio: 4 / 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: var(--text-sm);
	letter-spacing: normal;
}

/* 홈 파트너 (스크롤 트랙용) */
.partner-text {
	flex-shrink: 0;
	width: 190px;
	border: 1px solid var(--color-gray-300);
	font-weight: var(--weight-light);
	color: var(--color-gray-600);
	opacity: 0.8;
	white-space: nowrap;
	transition: opacity var(--transition-fast);
}

.partner-text:hover {
	opacity: 1;
}

/* About 파트너 그리드 — 3열 배치 */
.partners-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem 4rem;
	max-width: 750px;
	margin: 0 auto;
	padding: 2rem 0;
	align-items: center;
	justify-items: center;
}

/* About 파트너 (정적 그리드용) */
.partner-text-about {
	width: 210px;
	border: 1px solid var(--color-gray-400);
	font-weight: var(--weight-regular);
	color: var(--color-gray-600);
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.partner-text-about:hover {
	color: var(--color-black);
	border-color: var(--color-gray-600);
}

/* ---------- CTA Link ---------- */
.cta-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	transition: gap var(--transition-base);
}

.cta-link:hover {
	gap: var(--space-md);
	opacity: 1;
}

.cta-link__arrow {
	font-size: var(--text-lg);
	transition: transform var(--transition-base);
}

.cta-link:hover .cta-link__arrow {
	transform: translateX(4px);
}

/* ---------- Button ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	padding: var(--space-md) var(--space-2xl);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	border: 1px solid var(--color-black);
	background: transparent;
	color: var(--color-black);
	transition: background-color var(--transition-base), color var(--transition-base);
	cursor: pointer;
}

.btn:hover {
	background-color: var(--color-black);
	color: var(--color-white);
	opacity: 1;
}

.btn--white {
	border-color: var(--color-white);
	color: var(--color-white);
}

.btn--white:hover {
	background-color: var(--color-white);
	color: var(--color-black);
}

.btn--filled {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.btn--filled:hover {
	background-color: var(--color-primary-dark);
}

/* ---------- About Page: Business Areas ---------- */
.biz-areas {
	padding: var(--space-5xl) 0;
}

.biz-tabs {
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--color-gray-200);
	margin-bottom: var(--space-3xl);
}

.biz-tab {
	padding: var(--space-lg) var(--space-2xl);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition: color var(--transition-fast), border-color var(--transition-fast);
	margin-bottom: -1px;
}

.biz-tab.active {
	color: var(--color-black);
	border-bottom-color: var(--color-black);
}

.biz-tab:hover {
	color: var(--color-black);
}

.biz-content {
	display: none;
}

.biz-content.active {
	display: block;
}

.biz-item {
	margin-bottom: var(--space-3xl);
}

.biz-item__title {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	margin-bottom: var(--space-md);
}

.biz-item__desc {
	font-size: var(--text-base);
	color: var(--color-gray-700);
	line-height: 1.4;
	max-width: 600px;
}

/* ---------- Organization ---------- */
.org-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
	background-color: var(--color-gray-200);
}

.org-card {
	text-align: center;
	padding: var(--space-3xl) var(--space-lg);
	background-color: var(--color-gray-100);
	transition: background-color var(--transition-base);
	position: relative;
	overflow: hidden;
}

.org-card::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 2px;
	background-color: var(--color-primary);
	transition: width var(--transition-base);
}

.org-card:hover {
	background-color: var(--color-white);
}

.org-card:hover::before {
	width: 40px;
}

.org-card__icon {
	margin-bottom: var(--space-xl);
	opacity: 0.5;
}

.org-card__icon .material-symbols-sharp {
	font-size: 40px;
	color: var(--color-primary);
	font-variation-settings: 'FILL' 0, 'wght' 100, 'GRAD' -25, 'opsz' 48;
}

.org-card__title {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	margin-bottom: var(--space-sm);
	color: var(--color-black);
}

.org-card__desc {
	font-size: var(--text-sm);
	color: var(--color-gray-600);
	line-height: 1.3;
}

/* ---------- Lineup Page: Filter ---------- */
.filter-bar {
	display: flex;
	gap: var(--space-xl);
	margin-bottom: var(--space-3xl);
	padding-bottom: var(--space-lg);
	border-bottom: 1px solid var(--color-gray-200);
}

.filter-btn {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	cursor: pointer;
	padding: var(--space-sm) 0;
	border-bottom: 2px solid transparent;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.filter-btn.active {
	color: var(--color-primary);
	border-bottom-color: var(--color-primary);
}

.filter-btn:hover {
	color: var(--color-primary);
}

.lineup-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-2xl);
}

/* ---------- Work Detail Modal ---------- */
.work-detail {
	position: fixed;
	inset: 0;
	z-index: var(--z-modal);
	background-color: rgba(0, 0, 0, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-base), visibility var(--transition-base);
	overflow-y: auto;
	padding: var(--space-3xl);
}

.work-detail.active {
	opacity: 1;
	visibility: visible;
}

.work-detail__inner {
	background-color: var(--color-white);
	max-width: 1000px;
	width: 100%;
	display: grid;
	grid-template-columns: 40% 60%;
	max-height: 90vh;
	overflow-y: auto;
}

.work-detail__poster {
	background-color: var(--color-gray-100);
}

.work-detail__poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.work-detail__info {
	padding: var(--space-3xl);
}

.work-detail__close {
	position: absolute;
	top: var(--space-xl);
	right: var(--space-xl);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-size: var(--text-2xl);
	cursor: pointer;
}

.work-detail__category {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	margin-bottom: var(--space-sm);
}

.work-detail__title {
	font-size: var(--text-3xl);
	font-weight: var(--weight-bold);
	margin-bottom: var(--space-xl);
}

.work-detail__meta {
	margin-bottom: var(--space-2xl);
}

.work-detail__meta-item {
	display: flex;
	gap: var(--space-lg);
	padding: var(--space-sm) 0;
	border-bottom: 1px solid var(--color-gray-200);
	font-size: var(--text-sm);
}

.work-detail__meta-label {
	width: 80px;
	flex-shrink: 0;
	font-weight: var(--weight-medium);
	color: var(--color-gray-500);
}

.work-detail__synopsis {
	font-size: var(--text-base);
	line-height: 1.4;
	color: var(--color-gray-700);
	margin-bottom: var(--space-2xl);
}

/* ---------- Work Detail Page ---------- */
.work-detail-page {
	padding-top: calc(var(--header-height) + var(--space-4xl));
	padding-bottom: var(--space-5xl);
	min-height: 100vh;
}

.work-detail-page__back {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	font-size: var(--text-sm);
	color: var(--color-gray-500);
	margin-bottom: var(--space-3xl);
	transition: color var(--transition-fast);
}

.work-detail-page__back:hover {
	color: var(--color-black);
	opacity: 1;
}

.work-detail-page__inner {
	display: grid;
	grid-template-columns: 420px 1fr;
	gap: var(--space-4xl);
	align-items: start;
}

.work-detail-page__poster {
	background-color: var(--color-gray-100);
	position: sticky;
	top: calc(var(--header-height) + var(--space-xl));
}

.work-detail-page__poster img {
	width: 100%;
	height: auto;
	display: block;
}

.work-detail-page__category {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	margin-bottom: var(--space-sm);
}

.work-detail-page__title {
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	margin-bottom: var(--space-2xl);
	line-height: 1.2;
}

.work-detail-page__meta {
	margin-bottom: var(--space-3xl);
	border-top: 1px solid var(--color-gray-200);
}

.work-detail-page__meta-item {
	display: flex;
	gap: var(--space-lg);
	padding: var(--space-md) 0;
	border-bottom: 1px solid var(--color-gray-200);
	font-size: var(--text-sm);
}

.work-detail-page__meta-label {
	width: 80px;
	flex-shrink: 0;
	font-weight: var(--weight-medium);
	color: var(--color-gray-500);
}

.work-detail-page__synopsis-section {
	margin-bottom: var(--space-3xl);
}

.work-detail-page__synopsis-label {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	color: var(--color-gray-500);
	margin-bottom: var(--space-lg);
}

.work-detail-page__synopsis {
	font-size: var(--text-base);
	line-height: 2;
	color: var(--color-gray-700);
}

/* ---------- Contact Page ---------- */
.contact-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-4xl);
	padding: var(--space-3xl) 0 var(--space-5xl);
}

.contact-form__group {
	margin-bottom: var(--space-xl);
}

.contact-form__label {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	margin-bottom: var(--space-sm);
	color: var(--color-gray-700);
}

.contact-form__input,
.contact-form__textarea {
	width: 100%;
	padding: var(--space-md) 0;
	font-family: var(--font-body);
	font-size: var(--text-base);
	border: none;
	border-bottom: 1px solid var(--color-gray-300);
	outline: none;
	background: transparent;
	transition: border-color var(--transition-fast);
}

.contact-form__input:focus,
.contact-form__textarea:focus {
	border-bottom-color: var(--color-black);
}

.contact-form__textarea {
	resize: vertical;
	min-height: 150px;
}

.contact-info {
	padding-top: var(--space-xl);
}

.contact-info__title {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	margin-bottom: var(--space-2xl);
}

.contact-info__logo {
	height: 60px;
	width: auto;
	display: block;
}

.contact-info__item {
	margin-bottom: var(--space-lg);
}

.contact-info__label {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-gray-500);
	margin-bottom: var(--space-xs);
}

.contact-info__value {
	font-size: var(--text-base);
	line-height: 1.3;
}

/* Contact Form - 결과 메시지 */
.contact-form__result {
	padding: var(--space-md) var(--space-lg);
	border-radius: 4px;
	font-size: var(--text-sm);
	line-height: 1.3;
	margin-bottom: var(--space-xl);
}

.contact-form__result--success {
	background: #f0fdf4;
	border: 1px solid #86efac;
	color: #166534;
}

.contact-form__result--error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
}

/* Contact Form - 글자 수 카운터 */
.contact-form__char-count {
	display: block;
	text-align: right;
	font-size: var(--text-xs);
	color: var(--color-gray-400);
	margin-top: var(--space-xs);
}

/* Contact Form - 개인정보 동의 */
.contact-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--space-sm);
	cursor: pointer;
	font-size: var(--text-sm);
	line-height: 1.3;
}

.contact-form__checkbox input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	accent-color: var(--color-black);
}

.contact-form__checkbox-text {
	color: var(--color-gray-700);
}

.contact-form__privacy-toggle {
	background: none;
	border: none;
	color: var(--color-gray-500);
	font-size: var(--text-xs);
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
}

.contact-form__privacy-detail {
	margin-top: var(--space-md);
	padding: var(--space-lg);
	background: var(--color-gray-100);
	border-radius: 4px;
	font-size: var(--text-xs);
	color: var(--color-gray-700);
	line-height: 1.4;
}

.contact-form__privacy-detail p {
	margin-bottom: var(--space-xs);
}

/* ---------- Footer ---------- */
.footer {
	background-color: var(--color-primary-dark);
	color: var(--color-white);
	padding: var(--space-4xl) 0 var(--space-2xl);
}

.footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: var(--space-3xl);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	margin-bottom: var(--space-2xl);
}

.footer__logo {
	height: 24px;
	margin-bottom: var(--space-xl);
}

.footer__info {
	font-size: 0.875rem; /* 14px */
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.4; /* 140% */
}

.footer__social {
	display: flex;
	gap: var(--space-lg);
}

.footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--text-base);
	transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.footer__social a:hover {
	border-color: var(--color-white);
	background-color: var(--color-white);
	color: var(--color-black);
	opacity: 1;
}

.footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--text-xs);
	color: rgba(255, 255, 255, 0.5);
}

.footer__bottom a {
	color: rgba(255, 255, 255, 0.6);
}

.footer__links {
	display: flex;
	gap: 1.5rem;
}

.footer__links a {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.5);
}

/* ---------- Scroll Animations ---------- */
.fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.visible {
	opacity: 1;
	transform: translateY(0);
}

.fade-in-delay-1 { transition-delay: 0.1s; }
.fade-in-delay-2 { transition-delay: 0.2s; }
.fade-in-delay-3 { transition-delay: 0.3s; }
.fade-in-delay-4 { transition-delay: 0.4s; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	:root {
		--text-hero: 4rem;
		--text-6xl: 3.5rem;
		--text-5xl: 2.5rem;
	}

	.org-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.business-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.lineup-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.work-detail__inner {
		grid-template-columns: 1fr;
		max-height: none;
	}

	.work-detail__poster {
		max-height: 50vh;
	}

	.work-detail-page__inner {
		grid-template-columns: 1fr;
		gap: var(--space-3xl);
	}

	.work-detail-page__poster {
		position: static;
		max-width: 400px;
	}
}

@media (max-width: 768px) {
	:root {
		--text-hero: 2.5rem;
		--text-6xl: 2.5rem;
		--text-5xl: 2rem;
		--text-4xl: 1.75rem;
		--header-height: 64px;
	}

	.header__nav {
		display: none;
	}

	.header__hamburger {
		display: flex;
	}

	.page-hero {
		padding: 64px 0; /* 모바일 위아래 동일 */
	}

	.page-hero__title {
		font-size: 2.5rem; /* 40px */
	}

	.section {
		padding: var(--space-4xl) 0;
	}

	.hero__slide-content {
		bottom: 20%;
	}

	.hero__arrow {
		display: none;
	}

	.business-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-md);
	}

	.lineup-preview__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-md);
	}

	.lineup-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-lg);
	}

	.org-grid {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}

	.contact-section {
		grid-template-columns: 1fr;
		gap: var(--space-3xl);
	}

	.footer__inner {
		flex-direction: column;
		gap: var(--space-2xl);
	}

	.footer__bottom {
		flex-direction: column;
		gap: var(--space-md);
		text-align: center;
	}

	.work-detail {
		padding: 0;
	}

	.work-detail__inner {
		min-height: 100vh;
	}

	.lineup-preview__header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-lg);
	}
}

@media (max-width: 480px) {
	:root {
		--text-hero: 2rem;
	}

	.container {
		padding: 0 var(--space-lg);
	}

	.poster-card__overlay {
		opacity: 1;
	}

	/* 모바일: 비즈니스 카드 1열 */
	.business-grid {
		grid-template-columns: 1fr;
	}

	/* 모바일: br 줄바꿈 제거하여 자연스러운 리플로우 */
	.intro__copy br,
	.intro__sub br {
		display: none;
	}
}

/* ============================================
   DESIGN UPGRADE - V2
   ============================================ */

/* About Intro (2차 수정 v2: 좌 - 로고+스틸컷 / 우 - 카피+4아이콘+5리스트) */
.about-intro {
	padding: var(--space-5xl) 0;
}

.about-intro__inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: var(--space-5xl);
	align-items: start;
}

.about-intro__left {
	display: flex;
	flex-direction: column;
	align-items: center; /* 자식들 가로 가운데 정렬 (로고와 이미지 그리드 정렬) */
	gap: var(--space-3xl); /* About / 로고 / 포스터 간격 늘림 */
}

.about-intro__label {
	font-family: var(--font-display);
	font-size: 40px; /* About 섹션명 강조 */
	font-weight: var(--weight-medium);
	color: var(--color-gray-800);
	text-transform: capitalize;
	letter-spacing: normal;
	margin: 0;
	align-self: flex-start; /* 라벨은 좌측 정렬 유지 */
}

.about-intro__logo {
	width: 320px;
	max-width: 80%;
	height: auto;
}

/* About 합성 이미지 (배치/그림자 포함된 단일 PNG) */
.about-intro__stills {
	width: 120%; /* 좌측 컬럼 폭보다 크게 — 좌우 10%씩 확장 */
	margin-top: 0;
}

.about-intro__composed {
	width: 100%;
	height: auto;
	display: block;
}

.about-intro__right {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xl);
}

.about-intro__heading {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-display);
	color: var(--color-black);
	line-height: 1.3;
	letter-spacing: normal;
}

.about-intro__body p {
	font-size: 1.05rem;
	line-height: 1.9;
	color: var(--color-gray-700);
	margin-bottom: var(--space-md);
}

.about-intro__body p:last-child {
	margin-bottom: 0;
}

.about-intro__icons {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-md);
	padding: var(--space-xl) 0;
	border-top: 1px solid var(--color-gray-200);
	border-bottom: 1px solid var(--color-gray-200);
}

.biz-icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-sm);
	text-align: center;
}

.biz-icon__symbol {
	font-size: 36px;
	color: var(--color-primary);
}

.biz-icon__label {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--color-gray-800);
}

@media (max-width: 968px) {
	.about-intro__inner {
		grid-template-columns: 1fr;
		gap: var(--space-3xl);
	}

	.about-intro__stills {
		grid-template-columns: repeat(3, 1fr);
	}

	.about-intro__heading {
		font-size: var(--text-3xl);
	}
}

/* About: Image + Text Layout (1차 시안 — 2차 수정 후 미사용, 정리 예정) */
.about-intro-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	min-height: 500px;
}

.about-intro-grid__image {
	position: relative;
	overflow: hidden;
	background-color: var(--color-dark);
}

.about-intro-grid__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}

.about-intro-grid__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-4xl) var(--space-4xl);
	background-color: var(--color-white);
}

.about-intro-grid__content .section-title {
	margin-bottom: var(--space-2xl);
}

/* About: Strength List */
.strength-list {
	counter-reset: strength;
}

.strength-item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-xl);
	padding: var(--space-lg) 0; /* 상하 여백 (md→lg) */
	border-bottom: 1px solid var(--color-gray-200);
}

.strength-item__number {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: var(--weight-light);
	color: var(--color-primary); /* 이브 클라인 풍 블루 */
	flex-shrink: 0;
	width: 50px;
	line-height: 1;
}

.strength-item__text {
	font-size: var(--text-base);
	color: var(--color-gray-700);
	line-height: 1.4;
	padding-top: 4px;
}

/* About: Business Areas Upgraded — 딥블루 다크 배경 */
.biz-areas-v2 {
	padding: var(--space-5xl) 0;
	background-color: var(--color-primary-dark);
	color: var(--color-white);
}

.biz-tabs-v2 {
	display: flex;
	gap: 0;
	margin-bottom: var(--space-3xl);
}

.biz-tab-v2 {
	flex: 1;
	padding: var(--space-xl) var(--space-lg);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: normal;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	transition: color var(--transition-fast), border-color var(--transition-fast);
	text-align: center;
	background: none;
}

.biz-tab-v2.active {
	color: var(--color-white);
	border-bottom: 2px solid var(--color-white);
}

.biz-tab-v2:hover {
	color: rgba(255, 255, 255, 0.7);
}

.biz-content-v2 {
	display: none;
	padding-top: var(--space-2xl);
}

.biz-content-v2.active {
	display: block;
}

.biz-item-v2 {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: var(--space-2xl);
	padding: var(--space-2xl) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	align-items: start;
}

.biz-item-v2:last-child {
	border-bottom: none;
}

.biz-item-v2__title {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	color: var(--color-white);
}

.biz-item-v2__desc {
	font-size: var(--text-base);
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.4;
}

/* Fullwidth Image Divider */
.full-image-divider {
	width: 100%;
	height: 400px;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	position: relative;
}

.full-image-divider::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}

.full-image-divider__text {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--weight-display);
	letter-spacing: normal;
	text-align: center;
	line-height: 1.3;
}

/* Responsive for v2 elements */
@media (max-width: 1024px) {
	.about-intro-grid {
		grid-template-columns: 1fr;
	}

	.about-intro-grid__image {
		height: 350px;
	}

	.biz-item-v2 {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}
}

@media (max-width: 768px) {
	.about-intro-grid__content {
		padding: var(--space-3xl) var(--space-xl);
	}

	.biz-tabs-v2 {
		flex-wrap: wrap;
	}

	.biz-tab-v2 {
		flex: auto;
		padding: var(--space-md);
		font-size: var(--text-xs);
	}

	.full-image-divider {
		height: 280px;
		background-attachment: scroll;
	}
}

/* =========================================
   접근성: 시각적으로 숨기되 스크린리더에는 읽히는 텍스트
   ========================================= */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
