@charset "utf-8";

/* 서브페이지 공통 상단 헤더
   마크업 _module/sub_header.php / 데이터 _data/sub_header.php */


/* 배경 사진은 톤 보정이 끝난 상태로 받는다. 여기에 오버레이를 두면 이중으로 어두워진다. */
.sub-hero {
	position: relative;
	overflow: hidden;
	padding: 140px 0 90px;
	background-color: var(--sub-c-05);
	background-image: var(--sub-hero-bg, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.sub-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--container-s-width);
	margin: 0 auto;
	padding: 0 var(--space-xs);
	color: var(--white-c);
}

.sub-hero__since {
	margin: 0 0 var(--space-sm);
	padding: 0;
	font-size: var(--rolling-header-size);
	font-weight: var(--font-w-b);
	line-height: 1.1;
	color: var(--white-c);
}

.sub-hero__title {
	margin: 0 0 var(--space-sm);
	padding: 0;
	font-size: var(--h2-size);
	font-weight: var(--font-w-r);
	color: var(--white-c);
}

.sub-hero__title em {
	font-style: normal;
	color: var(--point-y);
}

.sub-hero__desc {
	margin: 0 0 var(--space-md);
	padding: 0;
	font-size: var(--p-title);
	font-weight: var(--font-w-r);
	color: rgba(255, 255, 255, 0.92);
}

.sub-hero__eng {
	margin: 0;
	padding: 0;
	font-size: var(--p-caption);
	font-weight: var(--font-w-r);
	letter-spacing: 0.42em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.sub-tab {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--container-m-width);
	margin: var(--space-lg) auto 0;
	padding: 0 var(--space-xs);
}

.sub-tab__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sub-tab__link {
	display: block;
	min-width: 200px;
	padding: 24px 28px;
	border-radius: 8px;
	background: var(--white-c);
	color: var(--gray-01-c);
	font-size: var(--p-body);
	font-weight: var(--font-w-m);
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sub-tab__link:hover,
.sub-tab__link:focus-visible {
	background: var(--sub-c-03);
	color: var(--white-c);
}

.sub-tab__link.is-active {
	background: var(--main-c);
	color: var(--white-c);
	font-weight: var(--font-w-sm);
}

.sub-body {
	width: 100%;
	max-width: var(--container-s-width);
	margin: 0 auto;
	padding: 0 var(--space-xs);
}


@media (max-width: 1023px) {
	.sub-hero { padding: 110px 0 70px; }

	.sub-tab__link {
		min-width: 160px;
		padding: 20px 22px;
	}
}

@media (max-width: 900px) {
	.sub-hero {
		padding: 80px 0 56px;
		background-image: var(--sub-hero-bg-m, var(--sub-hero-bg, none));
	}

	.sub-hero__eng { letter-spacing: 0.28em; }

	.sub-tab { margin-top: var(--space-md); }

	.sub-tab__list { gap: 8px; }

	.sub-tab__list > li { flex: 0 0 calc(50% - 4px); }

	/* 홀수 개일 때 마지막 항목은 한 줄 전체 사용 */
	.sub-tab__list > li:last-child:nth-child(odd) { flex-basis: 100%; }

	.sub-tab__link {
		min-width: 0;
		padding: 16px 10px;
	}
}

@media (max-width: 480px) {
	.sub-hero { padding: 60px 0 44px; }

	.sub-tab__link { padding: 14px 8px; }
}
