﻿@charset "utf-8";

.scrolled { background-color: transparent !important; }
#subWrap { overflow-x: clip; }

/* ===== Sub Visual ===== */
#sv {
	position: relative;
	z-index: 2;
	height: 700px;
	background: #8d8d8d center / cover no-repeat;
	font-family: var(--baseFont);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* #sv::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
} */

#sv.sv01 { background-image: url('/img/sub/sv01_bg.png'); }
#sv.sv02 { background-image: url('/img/sub/sv02_bg.png'); }
#sv.sv03 { background-image: url('/img/sub/sv03_bg.png'); }
#sv.sv04 { background-image: url('/img/sub/sv04_bg.png'); }
#sv.sv05 { background-image: url('/img/sub/sv05_bg.png'); }
#sv.sv05 .sv__crumb { display: none; }

.sv__stack {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	position: absolute;
	z-index: 1;
	inset: 0;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 0 60px;
}

.sv__title-block {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

#sv .sv__title {
	font-family: var(--engFont);
	font-size: 82px;
	font-weight: 500;
	color: var(--color-white);
	line-height: 106.6px;
}

#sv .sv__desc {
	font-family: var(--baseFont);
	font-size: 22px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.3;
}

/* SV Breadcrumb */
.sv__crumb {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sv__crumb-home {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	background: #004094;
	border-radius: 100px;
	transition: background 0.2s;
}

.sv__crumb-home:hover { background: #00317a; }

/* Pill (1depth, 2depth) */
.sv__crumb-pill {
	display: flex;
	align-items: center;
	gap: 0;
	position: relative;
	height: 56px;
	padding: 0 30px;
	outline: 1px solid var(--color-white);
	outline-offset: -1px;
	border-radius: 100px;
	cursor: pointer;
}

.sv__crumb-pill--section { width: 207px; }
.sv__crumb-pill--page    { width: 280px; }

.sv__crumb-pill span {
	flex: 1;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 500;
	color: var(--color-white);
	line-height: 23.4px;
}

.sv__crumb-pill--section span { font-family: var(--engFont); }

.sv__crumb-chevron {
	flex-shrink: 0;
	transition: transform 0.2s;
}

.sv__crumb-pill.is-open {
	background: var(--color-white);
	outline-color: var(--color-white);
}

.sv__crumb-pill.is-open span {
	color: #222222;
}

.sv__crumb-pill.is-open .sv__crumb-chevron path {
	stroke: #222222;
}

.sv__crumb-pill.is-open .sv__crumb-chevron {
	transform: rotate(180deg);
}

/* Dropdown panel */
.sv__crumb-drop {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 15px;
	position: absolute;
	z-index: 10;
	top: 66px;
	left: 0;
	min-width: 100%;
	padding: 20px 30px;
	background: #004094;
	border-radius: 20px;
	transition: opacity 0.2s;
	opacity: 0;
	pointer-events: none;
}

.sv__crumb-pill.is-open .sv__crumb-drop {
	opacity: 1;
	pointer-events: auto;
}

.sv__crumb-drop__item {
	font-family: var(--baseFont) !important;
	font-size: 18px;
	font-weight: 200;
	color: rgba(255, 255, 255, 0.5) !important;
	line-height: 23.4px;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.15s;
}

.sv__crumb-drop__item.is-active { color: var(--color-white) !important; font-weight: 300; }
.sv__crumb-drop__item--en { font-family: var(--engFont); }
.sv__crumb-drop__item:hover { color: var(--color-white) !important; }

/* Section pill drop: 첫 글자만 대문자 (COMPANY → Company) */
.sv__crumb-pill--section .sv__crumb-drop__item { text-transform: lowercase; }
.sv__crumb-pill--section .sv__crumb-drop__item::first-letter { text-transform: uppercase; }

/* ===== Greeting ===== */
.greeting {
	background: var(--color-white);
	padding: 160px 0 0;
}

.greeting__inner {
	display: flex;
	flex-direction: column;
	gap: 80px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.greeting__hd { text-align: center; }

.greeting__label {
	font-family: var(--baseFont);
	font-size: 50px;
	font-weight: 700;
	color: #004094;
	line-height: 1.3;
	text-transform: capitalize;
}

.greeting__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 60px;
}

.greeting__text {
	display: flex;
	flex-direction: column;
	gap: 50px;
	max-width: 793px;
	padding-bottom: 160px;
}

.greeting__headline-block {
	display: flex;
	flex-direction: column;
	gap: 30px;
	letter-spacing: -0.088em;
}

.greeting__headline {
	font-family: var(--baseFont);
	font-size: 44px;
	font-weight: 700;
	color: #004094;
	line-height: 1.5;
}

.greeting__sub {
	font-family: var(--baseFont);
	font-size: 22px;
	font-weight: 500;
	color: #222222;
	line-height: 1.3;
	letter-spacing: -0.044em;
}

.greeting__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.greeting__copy p {
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 300;
	color: #444444;
	line-height: 1.7;
	letter-spacing: -0.04em;
}

.greeting__copy p:last-child {
	line-height: 1.3;
}

.greeting__sig {
	font-family: var(--baseFont);
	font-size: 22px;
	font-weight: 500;
	color: #222222;
	line-height: 1.3;
}

.greeting__sig strong { font-weight: 600; }

.greeting__figure {
	flex-shrink: 0;
	position: relative;
	width: 720px;
	overflow: hidden;
}

.greeting__figure img {
	display: block;
	width: 100%;
	height: auto;
}

/* PC 구간 줄바꿈 — 모바일(≤768)에서는 숨겨 자연 줄바꿈 (.greeting .br-mo로 media.css 전역 덮어씀) */
.greeting .br-mo {
	display: block;
}

/* ===== History ===== */
.history {
	padding: 120px 0 160px;
}

.history__inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.history__hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	padding-bottom: 20px;
}

.history__label {
	font-size: 50px;
	font-weight: 700;
	color: #004094;
	line-height: 1.3;
	text-align: center;
}

.history__tab {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	position: sticky;
	top: 0;
	background: var(--color-white);
	padding: 20px 0;
	z-index: 5;
}

.history__tab-btn {
	padding: 15px 40px;
	border-radius: 100px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	border: none;
	background: var(--color-white);
	color: #666;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	transition: background 0.2s, color 0.2s, outline-color 0.2s;
}

.history__tab-btn--on {
	background: #004094;
	color: var(--color-white);
	outline-color: transparent;
}

.history__body {
	display: flex;
	align-items: flex-start;
	margin-top: 100px;
}

.history__aside {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
	position: sticky;
	top: 140px;
	width: 297px;
	margin-right: 280px;
}

.history__era-name {
	font-size: 24px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.history__era-range {
	font-size: 60px;
	font-weight: 600;
	color: #004094;
	line-height: 1.3;
}

.history__line {
	flex-shrink: 0;
	align-self: stretch;
	position: relative;
	width: 50px;
	margin-right: 180px;
}

.history__line::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	transform: translateX(-50%);
	width: 4px;
	background: linear-gradient(to bottom, #004C97 var(--line-progress, 0%), #ddd var(--line-progress, 0%));
}

.history__line-dot {
	position: sticky;
	top: 50vh;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	background: #004C97;
	border-radius: 50%;
	box-shadow: 0 0 0 9px rgba(0, 76, 151, 0.2), 0 0 0 20px rgba(0, 76, 151, 0.05);
}

.history__panels {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.history__era {
	scroll-margin-top: 160px;
}

.history__list {
	display: flex;
	flex-direction: column;
	gap: 80px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.history__group {
	display: flex;
	flex-direction: column;
	gap: 13px;
	list-style: none;
}

.history__year {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #004094;
	line-height: 1.3;
}

.history__items {
	display: flex;
	flex-direction: column;
	gap: 13px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.history__item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.history__month {
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 400;
	color: #444;
	line-height: 1.3;
	width: 30px;
	flex-shrink: 0;
}

.history__desc {
	font-size: 18px;
	font-weight: 300;
	color: #666;
	line-height: 1.3;
}

/* ===== Key Features ===== */
.keyfeatures {
	background: var(--color-white);
}

/* --- Header --- */
.keyfeatures__hd {
	padding: 174px 0 100px;
}

.keyfeatures__hd-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.keyfeatures__title {
	font-family: var(--engFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
	text-transform: capitalize;
}

/* VOD */
.keyfeatures__vod {
	position: relative;
	width: 1000px;
	height: 562px;
	border-radius: 20px;
	overflow: hidden;
	background: #111;
}

.keyfeatures__vod video {
	display: block;
	width: 100%;
	object-fit: cover;
}

/* Hero VOD: 재생 중엔 오버레이 숨김 → 영상 위 호버 시 ‖ 일시정지 표시 */
.keyfeatures__vod .keyfeatures__play {
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.keyfeatures__vod .keyfeatures__vod-pause-icon,
.keyfeatures__video .keyfeatures__vod-pause-icon,
.keyfeatures__product-img .keyfeatures__vod-pause-icon,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon {
	display: none;
	flex-shrink: 0;
	position: relative;
	width: 22px;
	height: 28px;
}

.keyfeatures__vod .keyfeatures__vod-pause-icon::before,
.keyfeatures__vod .keyfeatures__vod-pause-icon::after,
.keyfeatures__video .keyfeatures__vod-pause-icon::before,
.keyfeatures__video .keyfeatures__vod-pause-icon::after,
.keyfeatures__product-img .keyfeatures__vod-pause-icon::before,
.keyfeatures__product-img .keyfeatures__vod-pause-icon::after,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon::before,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 24px;
	background: #222;
	border-radius: 2px;
}

.keyfeatures__vod .keyfeatures__vod-pause-icon::before,
.keyfeatures__video .keyfeatures__vod-pause-icon::before,
.keyfeatures__product-img .keyfeatures__vod-pause-icon::before,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon::before {
	left: 0;
}

.keyfeatures__vod .keyfeatures__vod-pause-icon::after,
.keyfeatures__video .keyfeatures__vod-pause-icon::after,
.keyfeatures__product-img .keyfeatures__vod-pause-icon::after,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon::after {
	right: 0;
}

.keyfeatures__vod.keyfeatures__vod--is-playing .keyfeatures__play .keyfeatures__play-icon {
	display: none;
}

.keyfeatures__vod.keyfeatures__vod--is-playing .keyfeatures__vod-pause-icon {
	display: block;
}

.keyfeatures__vod.keyfeatures__vod--is-playing:not(:hover) .keyfeatures__play {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.keyfeatures__vod.keyfeatures__vod--is-playing:hover .keyfeatures__play {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.keyfeatures__vod.keyfeatures__vod--is-playing .keyfeatures__play:focus-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Video items (keyfeatures__video, keyfeatures__product-img): same play/pause behaviour as hero VOD */
.keyfeatures__video .keyfeatures__play,
.keyfeatures__product-img .keyfeatures__play,
.kf-folding__media-item--vid .keyfeatures__play {
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.keyfeatures__video .keyfeatures__vod-pause-icon,
.keyfeatures__product-img .keyfeatures__vod-pause-icon,
.kf-folding__media-item--vid .keyfeatures__vod-pause-icon {
	display: none;
}

.keyfeatures__video.keyfeatures__vod--is-playing .keyfeatures__play .keyfeatures__play-icon,
.keyfeatures__product-img.keyfeatures__vod--is-playing .keyfeatures__play .keyfeatures__play-icon,
.kf-folding__media-item--vid.keyfeatures__vod--is-playing .keyfeatures__play .keyfeatures__play-icon {
	display: none;
}

.keyfeatures__video.keyfeatures__vod--is-playing .keyfeatures__vod-pause-icon,
.keyfeatures__product-img.keyfeatures__vod--is-playing .keyfeatures__vod-pause-icon,
.kf-folding__media-item--vid.keyfeatures__vod--is-playing .keyfeatures__vod-pause-icon {
	display: block;
}

.keyfeatures__video.keyfeatures__vod--is-playing:not(:hover) .keyfeatures__play,
.keyfeatures__product-img.keyfeatures__vod--is-playing:not(:hover) .keyfeatures__play,
.kf-folding__media-item--vid.keyfeatures__vod--is-playing:not(:hover) .keyfeatures__play {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.keyfeatures__video.keyfeatures__vod--is-playing:hover .keyfeatures__play,
.keyfeatures__product-img.keyfeatures__vod--is-playing:hover .keyfeatures__play,
.kf-folding__media-item--vid.keyfeatures__vod--is-playing:hover .keyfeatures__play,
.keyfeatures__video.keyfeatures__vod--is-playing .keyfeatures__play:focus-visible,
.keyfeatures__product-img.keyfeatures__vod--is-playing .keyfeatures__play:focus-visible,
.kf-folding__media-item--vid.keyfeatures__vod--is-playing .keyfeatures__play:focus-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Tabs */
.keyfeatures__tabs {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.keyfeatures__tab-btn {
	padding: 15px 20px;
	border-radius: 100px;
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	color: #666;
	background: var(--color-white);
	border: none;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s, color 0.2s, outline-color 0.2s;
}

.keyfeatures__tab-btn--on {
	background: #004094;
	color: var(--color-white);
	outline-color: transparent;
}

.keyfeatures__tab-btn:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

/* --- Panel --- */
.keyfeatures__panel {
	display: none;
}

.keyfeatures__panel--on {
	display: block;
}

.keyfeatures__body {
	padding-bottom: 160px;
}

.keyfeatures__inner {
	display: flex;
	flex-direction: column;
	gap: 120px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

/* --- Section --- */
.keyfeatures__section {
	display: flex;
	flex-direction: column;
}

.keyfeatures__section-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
	margin-bottom: 30px;
}

.keyfeatures__divider {
	height: 1px;
	background: #ddd;
	border: none;
	margin: 0 0 60px;
}

.keyfeatures__divider--gap {
	margin-bottom: 120px;
}

/* --- Comparison images --- */
.keyfeatures__compare-images {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 20px;
}

.keyfeatures__compare-img {
	flex: 1;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
	background: #f6f6f6;
}

.keyfeatures__compare-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Arrow (>>) between comparison images */
.keyfeatures__compare-arrow {
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 60px;
	height: 30px;
	background: #111;
	border-radius: 300px;
}

/* --- Comparison labels --- */
.keyfeatures__compare-labels {
	display: flex;
	gap: 120px;
	margin-bottom: 120px;
}

.keyfeatures__compare-label {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.keyfeatures__compare-name {
	font-family: var(--engFont);
	font-size: 22px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

/* --- Bullet list (shared) --- */
.keyfeatures__bullets {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.keyfeatures__bullet {
	display: flex;
	align-items: flex-start;
	gap: 5px;
}

/* 첫 줄 텍스트 세로 중앙 (여러 줄일 때 전체 블록 중앙 정렬 방지) — bullet 텍스트 18px / line-height 1.3 */
.keyfeatures__dot,
.kf-inspect__dot--light {
	flex-shrink: 0;
	width: 5px;
	height: 5px;
	border-radius: 100px;
	font-size: 18px;
	margin-top: calc((1.3em - 5px) / 2);
}

.keyfeatures__dot {
	background: #004094;
}

.kf-inspect__dot--light {
	background: #8aa9d3;
}

.keyfeatures__bullet span:last-child {
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* --- Side-by-side videos --- */
.keyfeatures__videos {
	display: flex;
	gap: 40px;
}

.keyfeatures__video-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.keyfeatures__video {
	position: relative;
	height: 400px;
	border-radius: 20px;
	overflow: hidden;
	background: #f8f8f8;
}

.keyfeatures__video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.keyfeatures__video img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- Play button (shared) --- */
.keyfeatures__play {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	border: none;
	cursor: pointer;
	transition: background 0.2s;
}

.keyfeatures__play:hover { background: rgba(255, 255, 255, 0.8); }

.keyfeatures__play:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 3px;
}

.keyfeatures__play-icon {
	display: block;
	flex-shrink: 0;
	width: 28px;
	height: 35px;
	margin-left: 5px;
	background: url('/img/sub/video_arrow.svg') center / contain no-repeat;
}

/* --- Products (Driving Technology) --- */
.keyfeatures__products {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.keyfeatures__product {
	display: flex;
	align-items: center;
	gap: 120px;
}

.keyfeatures__product-img {
	flex-shrink: 0;
	position: relative;
	width: 740px;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
	background: #f6f6f6;
	border: 1px solid #ddd;
}

.keyfeatures__product-img video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.keyfeatures__product-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.keyfeatures__product-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
}

.keyfeatures__product-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.keyfeatures__product-sub {
	font-family: var(--engFont);
	font-size: 22px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

.keyfeatures__product-name {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

/* --- Slide arrows (on product images) --- */
.keyfeatures__arr {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: #222;
	border-radius: 100px;
	border: none;
	cursor: pointer;
	transition: background 0.2s;
}

.keyfeatures__arr:hover { background: #444; }

.keyfeatures__arr:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

.keyfeatures__arr--prev { left: 20px; }
.keyfeatures__arr--next { right: 20px; }

.keyfeatures__arr span {
	display: block;
	flex-shrink: 0;
	width: 7px;
	height: 12px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.keyfeatures__arr--prev span {
	background-image: url('/img/sub/keyfeatures_arr_prev.svg');
}

.keyfeatures__arr--next span {
	background-image: url('/img/sub/keyfeatures_arr_next.svg');
}

/* ===== Panel 2: Chamber ===== */
.kf-chamber {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.kf-chamber__row {
	display: flex;
	align-items: center;
	gap: 120px;
}

.kf-chamber__img-box {
	flex-shrink: 0;
	width: 740px;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
	background: #f6f6f6;
}

.kf-chamber__img-box img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.kf-chamber__txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
}

.kf-chamber__heading {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.kf-chamber__feature {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kf-chamber__feat-hd {
	display: flex;
	align-items: center;
	gap: 10px;
}

.kf-chamber__badge {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 100px;
	background: #004094;
	font-family: var(--engFont);
	font-size: 13px;
	font-weight: 400;
	color: #fff;
	line-height: 1;
}

.kf-chamber__feat-name {
	font-family: var(--engFont);
	font-size: 22px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

.kf-chamber__bullets {
	padding-left: 34px;
}

.kf-chamber__dot--hidden {
	flex-shrink: 0;
	display: block;
	width: 5px;
	height: 5px;
	opacity: 0;
}

/* ===== Panel 3: Folding Types ===== */
.kf-folding {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.kf-folding__intro {
	display: flex;
	flex-direction: column;
	gap: 30px;
	border-bottom: 1px solid #ddd;
}

.kf-folding__headline {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.kf-folding__divider {
	height: 1px;
	background: #ddd;
	border: none;
	margin: 0;
}

.kf-folding__types {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.kf-folding__type {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.kf-folding__type-hd {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kf-folding__sub {
	font-family: var(--engFont);
	font-size: 22px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

.kf-folding__name {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.kf-folding__media-row {
	display: flex;
	gap: 20px;
}

.kf-folding__media-item {
	flex: 1;
	position: relative;
	height: 293px;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
	outline: 1px solid #ddd;
}

.kf-folding__media-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kf-folding__media-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.kf-folding__media-item--vid img {
	object-fit: cover;
}

/* ===== Panel 4: Automatic & Versatile Inspections ===== */
.kf-inspect {
	display: flex;
	flex-direction: column;
	gap: 140px;
}

.kf-inspect__section--gray {
	background: #f8f8f8;
	padding-top: 140px;
	padding-bottom: 140px;
}

.kf-inspect__inner {
	display: flex;
	flex-direction: column;
	gap: 80px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.kf-inspect__row {
	display: flex;
	align-items: center;
	gap: 120px;
}

.kf-inspect__img-box {
	flex-shrink: 0;
	width: 740px;
	height: 430px;
	border-radius: 20px;
	overflow: hidden;
	background: #fafafa;
}

.kf-inspect__img-box img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kf-inspect__txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.kf-inspect__heading {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

/* Tag strip – 5 cards (Micro-Vision) */
.kf-inspect__tag-strip {
	display: flex;
	gap: 20px;
}

.kf-inspect__tag-card {
	flex: 1;
	border-radius: 20px;
	overflow: hidden;
}

.kf-inspect__tag-img {
	height: 220px;
	background: #f6f6f6;
	overflow: hidden;
}

.kf-inspect__tag-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kf-inspect__tag-label {
	padding: 15px 30px;
	background: #8aa9d3;
	text-align: center;
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
}

/* Chart cards – 2 cards (Display Inspection) */
.kf-inspect__chart-row {
	display: flex;
	gap: 40px;
}

.kf-inspect__chart-card {
	flex: 1;
	border-radius: 20px;
	overflow: hidden;
}

.kf-inspect__chart-img {
	height: 420px;
	background: #fff;
	overflow: hidden;
}

.kf-inspect__chart-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Graph cards – 2 cards (Surface profiling) */
.kf-inspect__graph-row {
	display: flex;
	gap: 40px;
}

.kf-inspect__graph-card {
	flex: 1;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
	background: #f6f6f6;
}

.kf-inspect__graph-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ===== Panel 5: Software (Programming) ===== */
.kf-software {
	display: flex;
	flex-direction: column;
	gap: 140px;
}

.kf-software__row {
	display: flex;
	align-items: center;
	gap: 120px;
}

.kf-software__img-box {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 740px;
	height: 400px;
	border-radius: 20px;
	overflow: hidden;
}

.kf-software__img-box img {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

.kf-software__txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.kf-software__txt--wide {
	width: 740px;
}

.kf-software__heading {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.kf-software__subheading {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.5;
	letter-spacing: -0.72px;
}

.kf-software__detail {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kf-software__detail-title {
	font-family: var(--engFont);
	font-size: 26px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

/* Tab 5 (Software) — Korean text with Pretendard */
.kf-software .keyfeatures__bullet span:last-child {
	font-family: var(--baseFont);
}

/* ===== Certification ===== */
.cert {
	padding: 160px 0;
	background: var(--color-white);
}

.cert__inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.cert__hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.cert__title {
	font-size: 50px;
	font-weight: 700;
	color: #004C97;
	line-height: 1.3;
	text-align: center;
}

.cert__tabs {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cert__tab-btn {
	padding: 15px 40px;
	border-radius: 100px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	border: none;
	background: var(--color-white);
	color: #666;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	transition: background 0.2s, color 0.2s, outline-color 0.2s;
}

.cert__tab-btn--on {
	background: #004094;
	color: var(--color-white);
	outline-color: transparent;
}

.cert__tab-btn:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

.cert__panel {
	display: none;
	flex-direction: column;
	gap: 20px;
}

.cert__panel--on {
	display: flex;
}

.cert__desc {
	color: rgba(34, 34, 34, 0.8);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}

.cert__list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.cert__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}

.cert__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	flex: 0 0 calc((100% - 80px) / 5);
	min-width: 0;
	cursor: pointer;
}

.cert__img {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 210 / 297;
	min-height: 0;
	padding: 15px 17px;
	border-radius: 10px;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	overflow: hidden;
	transition: outline-color 0.2s;
}

.cert__img img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
}

.cert__overlay {
	position: absolute;
	inset: 15px 17px;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 0.2s;
}

.cert__zoom {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: #004EB4;
	border-radius: 100px;
	border: none;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s;
}

.cert__item:hover .cert__img {
	outline-color: #004094;
}

.cert__item:hover .cert__overlay,
.cert__item:hover .cert__zoom {
	opacity: 1;
}

.cert__name {
	text-align: center;
	color: #222;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	transition: color 0.2s;
	letter-spacing: -0.036em;
}

.cert__item:hover .cert__name {
	color: #004094;
}

/* ===== 산학협력 카드 ===== */
.univ__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.univ__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	flex: 0 1 calc((100% - 80px) / 5);
	min-width: 0;
}

.univ__img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 304 / 240;
	border-radius: 10px;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	overflow: hidden;
}

.univ__img img {
	width: 80%;
	height: 75%;
	object-fit: contain;
}

.univ__name {
	text-align: center;
	color: #222;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}

/* ===== Certification Popup ===== */
.cert-popup {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	z-index: 1000;
	inset: 0;
}

.cert-popup[hidden] { display: none; }

.cert-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

.cert-popup__box {
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	width: 478px;
	height: 706px;
	background: var(--color-white);
	border-radius: 20px;
}

.cert-popup__img {
	position: absolute;
	left: 20px;
	top: 20px;
	width: 438px;
	height: 620px;
	overflow: hidden;
}

.cert-popup__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cert-popup__name {
	position: absolute;
	left: 0;
	right: 0;
	top: 660px;
	text-align: center;
	color: #222;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
}

.cert-popup__close {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -46px;
	top: 0;
	width: 36px;
	height: 36px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.cert-popup__close:focus-visible {
	outline: 2px solid var(--color-white);
	outline-offset: 4px;
	border-radius: 4px;
}

/* ===== Folding Product ===== */
.folding {
	padding: 130px 0 160px;
	background: #fff;
}

.folding__inner {
	display: flex;
	flex-direction: column;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

/* Page heading */
.folding__page-hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin-bottom: 100px;
}

.folding__page-title {
	font-family: var(--engFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
}

.folding__tabs {
	display: flex;
	align-items: center;
	gap: 10px;
}

.folding__tab {
	padding: 15px 20px;
	border-radius: 100px;
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 400;
	color: #666;
	line-height: 1.3;
	text-decoration: none;
	background: #fff;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	text-align: center;
	transition: background 0.2s, color 0.2s, outline-color 0.2s;
}

.folding__tab--active {
	background: #004094;
	color: #fff !important;
	outline-color: transparent;
}

.folding__tab:hover:not(.folding__tab--active) {
	outline-color: #004094;
	color: #004094;
}

/* Section heading */
.folding__sec-hd {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: 60px;
}

.folding__sec-hd-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.folding__sec-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.folding__divider {
	border: none;
	border-top: 1px solid #ddd;
	margin: 0;
}

/* Bullet lists */
.folding__bullets {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.folding__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #666;
	line-height: 1.3;
}

.folding__bullets li::before {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #666;
	flex-shrink: 0;
	margin-top: calc((1.3em - 5px) / 2);
}

.folding__bullets--blue li { color: #444; }
.folding__bullets--blue li::before { background: #004094; }

/* Product list */
.folding__list {
	display: flex;
	flex-direction: column;
	gap: 60px;
	list-style: none;
	padding: 0;
	margin: 0 0 120px;
}

.folding__product {
	display: flex;
	align-items: center;
	gap: 80px;
}

.folding__product-img {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 720px;
	height: 480px;
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
}

.folding__product-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.folding__product-txt {
	display: flex;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
	flex: 1;
}

.folding__product-info {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.folding__product-name {
	font-family: var(--engFont);
	font-size: 30px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

/* Spec table (dl) */
.folding__spec {
	display: flex;
	flex-direction: column;
	margin: 0;
	border-top: 2px solid #222;
}

.folding__spec-row {
	display: flex;
	align-items: stretch;
	border-top: 1px solid #ddd;
}

.folding__spec-row--first { border-top: none; }
.folding__spec-row--last { border-bottom: 1px solid #ddd; }

.folding__spec-label,
.folding__spec-val {
	padding: 30px 20px;
	font-family: var(--engFont);
	font-size: 18px;
	line-height: 1.3;
}

.folding__spec-label {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	width: 150px;
	background: #fafafa;
	font-weight: 500;
	color: #444;
}

.folding__spec-val {
	display: flex;
	flex: 1;
	align-items: center;
	font-weight: 300;
	color: #666;
}

/* Specification of Unit */
.folding__unit-sec .folding__sec-hd {
	margin-bottom: 0;
}

.folding__unit-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 60px;
}

.folding__unit-table th,
.folding__unit-table td {
	border: 1px solid #ddd;
	padding: 30px 20px;
	text-align: center;
	vertical-align: middle;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

.folding__unit-table thead th { background: #fafafa; }

.folding__unit-table thead th:first-child { font-family: var(--baseFont); }

.folding__unit-table tbody th {
	background: #fff;
	font-weight: 500;
}

.folding__unit-table td {
	background: #fff;
	font-weight: 300;
	color: #666;
}

.folding__unit-table img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* ===== Sample Test ===== */
.sample-test {
	padding: 130px 0 160px;
	background: #fff;
}

.sample-test__inner {
	display: flex;
	flex-direction: column;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.sample-test__page-title {
	font-family: var(--baseFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
	margin-bottom: 100px;
}

.sample-test__body {
	display: flex;
	flex-direction: column;
	gap: 140px;
}

/* Intro */
.sample-test__intro {
	display: flex;
	align-items: center;
	gap: 120px;
	min-width: 0;
}

.sample-test__intro-card {
	max-width: 740px;
	width: 100%;
	min-width: 0;
	flex-shrink: 1;
	border-radius: 20px;
	overflow: hidden;
}

.sample-test__intro-img {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	background: #f6f6f6;
	overflow: hidden;
}

.sample-test__intro-img img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.sample-test__intro-tag {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 15px 30px;
	background: #8aa9d3;
}

.sample-test__intro-tag-sub {
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #fff;
	line-height: 1.3;
	text-align: center;
}

.sample-test__intro-tag-name {
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
	text-align: center;
}

.sample-test__intro-txt {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sample-test__intro-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.sample-test__intro-desc {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* New Intro */
.sample-test__new-intro {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.sample-test__new-intro-hd {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.sample-test__new-intro-txt {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sample-test__new-intro-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.sample-test__new-intro-desc {
	display: flex;
	gap: 5px;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
	align-items: flex-start;
}

.sample-test__new-intro-circles {
	display: flex;
	gap: 60px;
}

.sample-test__circle {
	flex: 1 1 0;
	aspect-ratio: 1 / 1;
	border: 1px dashed #004094;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.sample-test__circle-tag {
	width: 40px;
	height: 40px;
	background: #004094;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 1;
}

.sample-test__circle-name {
	font-family: var(--engFont);
	font-size: 24px;
	font-weight: 400;
	color: #222;
	line-height: 1.3;
	text-align: center;
}

/* Dot bullet */
.sample-test__dot {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #8aa9d3;
	flex-shrink: 0;
	margin-top: calc((1.3em - 5px) / 2);
}

.sample-test__dot--blue { background: #004094; }

/* Section heading */
.sample-test__sec-hd {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: 60px;
}

.sample-test__sec-hd-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sample-test__sec-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.sample-test__sec-desc {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

.sample-test__divider {
	border: none;
	border-top: 1px solid #ddd;
	margin: 0;
}

/* Steps */
.sample-test__steps {
	display: flex;
	flex-direction: column;
}

.sample-test__steps-row {
	display: flex;
	align-items: center;
	gap: 0;
}

.sample-test__step {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}

.sample-test__step-tag {
	position: relative;
	z-index: 1;
	padding: 8px 20px;
	border-radius: 100px;
	margin-bottom: -15px;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
}

.sample-test__step-tag.top_line:before {
	content: '';
	position: absolute;
	top: -19px;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2px;
	height: 37px;
	z-index: -1;
	border-left: 2px dashed #000;
}

.sample-test__step-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	justify-content: center;
	justify-content: flex-start;
	position: relative;
	width: 100%;
	max-width: 480px;
	aspect-ratio: 480 / 250;
	padding: 55px 40px 40px;
	background: #fff;
	border-radius: 10px;
	outline: 1px solid #ccc;
	outline-offset: -1px;
}

.sample-test__step-card::before {
	content: url('/img/sub/test_process_dot.svg');
	position: absolute;
	top: 50.5%;
	right: 0;
	width: 12px;
	height: 12px;
	transform: translate(50%,-50%);
}

.sample-test__step-card::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -68px;
	width: 61px;
	height: 2px;
	border-top: 2px dashed #000;
}

.sample-test__step-icon {
	display: block;
	width: 62px;
	border-radius: 4px;
}

.sample-test__step-txt {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sample-test__step-name {
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.sample-test__step-desc {
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #666;
	line-height: 1.6;
}

/* Arrow between steps — /img/sub/con_arrow.svg */
.sample-test__step-arrow {
	display: block;
	flex-shrink: 0;
	width: 46px;
	height: 26px;
	transform: translateY(50%);
}

.sample-test__step-arrow--reverse {
	transform: translateY(50%) scaleX(-1);
}

/* S-curve connector between rows */
.sample-test__steps-connector {
	align-self: flex-end;
	position: relative;
	width: 100%;
	height: 83px;
}

.sample-test__steps-connector::after {
	content: url(http://flexigo.webmoa21.co.kr/img/sub/con_arrow.svg);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -38%) rotate(-180deg);
}

.sample-test__steps-connector::before {
	content: '';
	position: absolute;
	left: 249px;
	top: 50%;
	width: calc(100% - 508px);
	height: 2px;
	border-top: 2px dashed #000;
	transform: translateY(50%);
}

.sample-test__step-card.dot_bottom::before {
	top: unset;
	bottom: 0;
	right: 50%;
	width: 12px;
	height: 12px;
	transform: translateY(50%);
}

.sample-test__step-card.dot_none::before {
	display: none;
}

.sample-test__step-card.dot_none::after {
	display: none;
}

.sample-test__step-card.dot_bottom::after {
	top: unset;
	bottom: -18%;
	right: 50.2%;
	width: 2px;
	height: 37px;
	border-top: none;
	border-left: 2px dashed #000;
	transform: translateX(-50%);
}

/* Report */
.sample-test__report-body {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.sample-test__report-row {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.sample-test__panel {
	display: flex;
	flex-direction: column;
	border-radius: 20px;
	overflow: hidden;
}

.sample-test__panel--wide { flex: 1; }

.sample-test__panel-tag {
	padding: 20px 30px;
	background: #444;
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
	text-align: center;
}

.sample-test__panel-img {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	padding: 0px 50px;
	background: #f8f8f8;
	position: relative;
}

.sample-test__panel-img img {
	max-width: 100%;
	height: auto;
	display: block;
}

.sample-test__panel-img video {
	max-width: 100%;
	height: auto;
	display: block;
	width: 100%;
	object-fit: cover;
}

/* Play button for videos */
.sample-test__play {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.7);
	border: none;
	cursor: pointer;
	transition: background 0.2s, opacity 0.25s ease, visibility 0.25s ease;
	z-index: 10;
}

.sample-test__play:hover {
	background: rgba(255, 255, 255, 0.9);
}

.sample-test__play:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 3px;
}

.sample-test__play-icon {
	display: block;
	flex-shrink: 0;
	width: 28px;
	height: 35px;
	margin-left: 5px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 35" fill="none"><path d="M4 2.5L24 17.5L4 32.5V2.5Z" fill="%23333333" stroke="%23333333" stroke-width="0.5"/></svg>') no-repeat center;
	background-size: contain;
}

.sample-test__vod-pause-icon {
	display: none;
	position: absolute;
	width: 28px;
	height: 35px;
}

.sample-test__vod-pause-icon::before {
	content: '';
	position: absolute;
	left: 0;
	width: 8px;
	height: 35px;
	background: #333333;
	border-radius: 1px;
}

.sample-test__vod-pause-icon::after {
	content: '';
	position: absolute;
	right: 0;
	width: 8px;
	height: 35px;
	background: #333333;
	border-radius: 1px;
}

/* Video playing state */
.sample-test__panel-img video.vod--is-playing ~ .sample-test__play .sample-test__play-icon {
	display: none;
}

.sample-test__panel-img video.vod--is-playing ~ .sample-test__play .sample-test__vod-pause-icon {
	display: block;
}

.sample-test__panel-img video.vod--is-playing ~ .sample-test__play:not(:hover):not(:focus-visible) {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.sample-test__panel-img--sample {
	padding: 67px 34px;
}

.sample-test__panel-img--sample img {
	width: 328px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 328 / 463;
	object-fit: cover;
	border-radius: 20px;
}

.sample-test__panel-img--chart {
	min-height: 666px;
}

.sample-test__panel-img--crease {
	min-height: 336px;
}

/* Report subsections */
.sample-test__report-subsec {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.sample-test__subsec-label {
	font-family: var(--engFont);
	font-size: 22px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

.sample-test__panel-trio {
	display: flex;
	align-items: stretch;
	gap: 50px;
}

.sample-test__panel-trio .sample-test__panel {
	flex: 1;
}

.sample-test__panel-trio .sample-test__panel-img {
	min-height: 314px;
}

/* ===== Room Chamber ===== */
.room-chamber {
	padding: 130px 0 160px;
	background: #fff;
}

.room-chamber__inner {
	display: flex;
	flex-direction: column;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.room-chamber__page-hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 100px;
}

.room-chamber__page-title {
	font-family: var(--engFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
}

.room-chamber__sec-hd {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: 60px;
}

.room-chamber__sec-hd-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.room-chamber__sec-title {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

/* ===== Recruit ===== */
.recruit {
	padding: 160px 0;
}

.recruit__inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.recruit__hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	text-align: center;
}

.recruit__title {
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
}

.recruit__desc {
	font-size: 20px;
	font-weight: 300;
	color: #222;
	line-height: 1.3;
}

/* ===== Process Steps ===== */
.recruit__process {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.recruit__steps {
	display: flex;
	align-items: center;
	gap: 10px;
}

.recruit-step {
	flex: 1;
	padding: 80px 20px;
	background: #f8f8f8;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	min-width: 0;
}

.recruit-step--active {
	background: #004094;
}

.recruit-step__icon {
	display: block;
	width: 60px;
	height: 60px;
	object-fit: contain;
}

.recruit-step__label {
	font-family: var(--recruitStepFont);
	font-size: 15px;
	font-weight: 500;
	color: #004094;
	text-transform: uppercase;
	line-height: 1.3;
}

.recruit-step--active .recruit-step__label {
	color: #fff;
}

.recruit-step__name {
	font-size: 20px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
	text-align: center;
}

.recruit-step--active .recruit-step__name {
	color: #fff;
}

.recruit-step__arrow {
	flex-shrink: 0;
	position: relative;
	width: 30px;
	height: 30px;
	background: #222 url(/img/sub/recruit_step_arrow.svg) no-repeat center;
	background-size: 8px 12px;
	border-radius: 5px;
}

.recruit__notes {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.recruit__notes p {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* ===== Section Heading ===== */
.recruit__sec-hd {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 40px;
}

.recruit__sec-title {
	font-size: 30px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
}

.recruit__sec-desc {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* ===== Recruit Table ===== */
.recruit__field {
	display: flex;
	flex-direction: column;
}

.recruit-tbl-wrap {
	overflow-x: auto;
}

.recruit-tbl {
	width: 100%;
	border-collapse: collapse;
	border-top: 2px solid #222;
}

.recruit-tbl thead th {
	padding: 30px 20px;
	background: #f8f8f8;
	font-size: 18px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
	text-align: center;
	border-left: 1px solid #ddd;
}

.recruit-tbl thead th:first-child {
	border-left: none;
	width: 18.75%;
}

.recruit-tbl tbody td {
	padding: 30px 20px;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 18px;
	color: #444;
	line-height: 1.3;
	text-align: center;
	vertical-align: middle;
}

.recruit-tbl tbody td:first-child {
	border-left: none;
	font-weight: 500;
}

.recruit-tbl tbody td:nth-child(2) {
	font-weight: 300;
}

.recruit-tbl tbody td[rowspan] {
	padding: 30px 100px;
	border-bottom: 1px solid #ddd;
}

.recruit-tbl__qual-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}

.recruit-tbl__qual-list li {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

.recruit-tbl__qual-list li strong {
	font-weight: 500;
}

/* ===== Info Block (제출서류 + 접수방법) ===== */
.recruit__info {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.recruit__info-block {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

/* ===== List ===== */
.recruit__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.recruit__list li {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
	letter-spacing: -0.36px;
}

/* ===== Etc ===== */
.recruit__etc {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* ===== Welfare ===== */
.welfare {
	padding: 160px 0;
}

.welfare__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.welfare__hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	text-align: center;
}

.welfare__title {
	font-family: var(--baseFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
}

.welfare__desc {
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 300;
	color: #222222;
	line-height: 1.3;
}

.welfare__body {
	display: flex;
	flex-direction: column;
	gap: 80px;
	align-self: stretch;
}

.welfare__group {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.welfare__group-title {
	font-family: var(--baseFont);
	font-size: 30px;
	font-weight: 700;
	color: #222222;
	line-height: 1.3;
}

.welfare__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
}

.welfare-card {
	position: relative;
	width: calc((100% - 4 * 20px) / 5);
	height: 240px;
	padding: 40px 40px 0;
	background: #f8f8f8;
	border-radius: 5px;
	overflow: hidden;
}

.welfare-card__num {
	font-family: var(--engFont);
	font-size: 16px;
	font-weight: 500;
	color: #004094;
	line-height: 1.3;
	margin-bottom: 10px;
}

.welfare-card__title {
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 600;
	color: #222222;
	line-height: 1.3;
	letter-spacing: -0.4px;
}

.welfare-card__icon {
	position: absolute;
	bottom: 40px;
	right: 40px;
	width: 60px;
	height: 60px;
}

.welfare-card__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ===== Contact ===== */
.contact {
	padding: 100px 0 160px;
}

.contact__inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.contact__title {
	text-align: center;
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
}

.contact__form {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

/* Section */
.contact__section {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.contact__section-hd {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid #222;
}

.contact__section-name {
	font-size: 30px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
}

.contact__required-note {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

.contact__required-note em {
	font-style: normal;
	color: #ff0000;
	font-weight: 500;
}

.contact__section-body {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

/* Row */
.contact__row {
	display: flex;
	align-items: flex-start;
	gap: 80px;
}

/* Field */
.contact__field {
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex: 1 1 0;
	min-width: 0;
}

.contact__field--full {
	width: auto;
	flex-shrink: 1;
	align-self: stretch;
	gap: 26px;
}

.contact__label {
	font-size: 20px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.contact__label .req,
.req {
	color: #ff0000;
	font-style: normal;
}

/* Input */
.contact__input {
	width: 100%;
	height: 81px;
	padding: 0 25px;
	background: #f7f7f7;
	border: none;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #222;
}

.contact__input::placeholder { color: #999; }

.contact__input:focus-visible {
	outline: 2px solid #004094;
	outline-offset: -2px;
}

/* Textarea */
.contact__textarea {
	width: 100%;
	height: 260px;
	padding: 30px 25px;
	background: #f7f7f7;
	border: none;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #222;
	resize: none;
	line-height: 1.3;
}

.contact__textarea::placeholder { color: #999; }

.contact__textarea:focus-visible {
	outline: 2px solid #004094;
	outline-offset: -2px;
}

/* Tel group */
.contact__tel-group {
	display: flex;
	align-items: center;
	gap: 20px;
}

.contact__tel-group .contact__input {
	flex: 1 1 0;
	min-width: 0;
}

.contact__sep {
	font-size: 16px;
	font-weight: 300;
	color: #999;
	flex-shrink: 0;
}

/* Email group */
.contact__email-group {
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact__email-group .contact__sep {
	font-size: 18px;
}

.contact__email-id,
.contact__email-domain {
	width: 236px;
	min-width: 0;
}

.contact__email-select-wrap {
	position: relative;
	width: 242px;
	flex-shrink: 0;
}

.contact__select {
	width: 100%;
	height: 81px;
	padding: 0 44px 0 25px;
	background: #f7f7f7;
	border: none;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #999;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.contact__select:focus-visible {
	outline: 2px solid #004094;
	outline-offset: -2px;
}

.contact__select-chevron {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

/* Radio group */
.contact__radio-group {
	display: flex;
	align-items: center;
	gap: 30px;
	height: 81px;
}

.contact__radio-item {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
	cursor: pointer;
}

.contact__radio-item input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.contact__radio-btn {
	flex-shrink: 0;
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
	transition: border-color 0.15s;
}

.contact__radio-btn::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #004c97;
	opacity: 0;
	transition: opacity 0.15s;
}

.contact__radio-item input[type="radio"]:checked ~ .contact__radio-btn {
	border-color: #004c97;
}

.contact__radio-item input[type="radio"]:checked ~ .contact__radio-btn::after {
	opacity: 1;
}

.contact__radio-item input[type="radio"]:focus-visible ~ .contact__radio-btn {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

.contact__radio-text {
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* File upload */
.contact__file-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.contact__file-group {
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact__file-display {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	min-width: 0;
	height: 81px;
	padding: 0 30px;
	background: #f7f7f7;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #999;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.contact__file-btn {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 208px;
	height: 81px;
	padding: 0 70px;
	background: #222;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s;
}

.contact__file-btn:hover { background: #444; }

/* Captcha */
.contact__captcha-group {
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact__captcha-img {
	width: 180px;
	height: 81px;
	flex-shrink: 0;
	background: #e7f0e9;
	border-radius: 10px;
	overflow: hidden;
}

.contact__captcha-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact__captcha-group .contact__input {
	flex: 1 1 0;
	min-width: 0;
}

.contact__captcha-refresh {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 81px;
	height: 81px;
	background: #222;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s;
}

.contact__captcha-refresh:hover { background: #444; }

.contact__captcha-refresh:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

/* Privacy */
.contact__privacy {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.contact__privacy-check {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
	cursor: pointer;
}

.contact__privacy-check input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.contact__privacy-check input[type="checkbox"]:checked ~ .contact__radio-btn {
	border-color: #004c97;
}

.contact__privacy-check input[type="checkbox"]:checked ~ .contact__radio-btn::after {
	opacity: 1;
}

.contact__privacy-check input[type="checkbox"]:focus-visible ~ .contact__radio-btn {
	outline: 2px solid #004094;
	outline-offset: 2px;
}

.contact__privacy-label {
	font-size: 20px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
}

.contact__privacy-box {
	height: 260px;
	background: #f7f7f7;
	border-radius: 10px;
	overflow-y: scroll;
	padding: 30px;
}

.contact__privacy-box::-webkit-scrollbar { width: 5px; }
.contact__privacy-box::-webkit-scrollbar-track { background: transparent; }
.contact__privacy-box::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 100px;
}

.contact__privacy-content {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.contact__privacy-content p {
	font-size: 18px;
	font-weight: 300;
	color: #666;
	line-height: 1.6;
}

.contact__privacy-content strong {
	font-weight: 500;
	display: block;
}

/* Submit */
.contact__submit-wrap {
	display: flex;
	justify-content: center;
}

.contact__submit-btn {
	height: 80px;
	padding: 0 80px;
	background: #004094;
	border: none;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s;
}

.contact__submit-btn:hover { background: #00317a; }

.contact__submit-btn:focus-visible {
	outline: 2px solid #004094;
	outline-offset: 3px;
}

/* ===== Talent ===== */
.talent {
	padding: 160px 0;
}

.talent__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.talent__title {
	font-family: var(--baseFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
}

.talent__body {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	gap: 80px;
}

.talent__banner {
	position: relative;
	height: 420px;
	border-radius: 20px;
	overflow: hidden;
	background: #000;
}

.talent__banner > img:first-child {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.talent__banner-text {
	display: flex;
	flex-direction: column;
	position: absolute;
	left: 140px;
	top: 144px;
}

.talent__banner-sub {
	font-family: var(--engFont);
	font-size: 30px;
	font-weight: 500;
	color: #fff;
	opacity: 0.6;
	line-height: 1.3;
}

.talent__banner-main {
	font-family: var(--engFont);
	font-size: 64px;
	font-weight: 800;
	color: #fff;
	line-height: 1.3;
}

.talent__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.talent-card {
	position: relative;
	width: calc((100% - 40px) / 3);
	height: 280px;
	border-radius: 20px;
	overflow: hidden;
	background: #f8f8f8;
	cursor: pointer;
}

.talent-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.talent-card:hover img {
	transform: scale(1.1);
}

.talent-card::before {
	content: '';
	position: absolute;
	z-index: 1;
	width: 420px;
	height: 420px;
	left: -140px;
	top: 90px;
	background: rgba(0, 64, 148, 0.80);
	border-radius: 50%;
	filter: blur(75px);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.talent-card:hover::before {
	opacity: 1;
}

/* .talent-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
} */

.talent-card__text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 50px 40px;
}

.talent-card__num {
	font-family: var(--engFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
}

.talent-card__title {
	font-family: var(--baseFont);
	font-size: 26px;
	font-weight: 600;
	color: #fff;
	line-height: 1.3;
}

/* ===== CI ===== */
.ci {
	padding-bottom: 160px;
}

.ci__inner {
	display: flex;
	flex-direction: column;
	gap: 60px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.ci__label {
	font-family: var(--engFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.ci__diagram-scroll {
	container-type: inline-size;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ci__diagram-wrap {
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	aspect-ratio: 1080 / 815;
	height: auto;
	font-size: clamp(7px, 1.33vw, 14.5px);
	font-size: clamp(7px, 1.33cqw, 14.5px);
}

.ci__outer-circle {
    position: absolute;
    left: 20.93%;
    top: 11.53%;
    width: 58.15%;
    aspect-ratio: 1 / 1;
    background-image: url('/img/sub/ci_outer_circle.svg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.ci__circle {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: absolute;
	width: 26.67%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #fff;
	overflow: hidden;
}

.ci__circle--meaning {
	left: 36.67%;
	top: 0;
	border: 1px solid #692923;
	box-shadow: 0 0 20px rgba(206, 206, 206, 0.25);
}

.ci__circle--gradual {
	left: 13.98%;
	top: 64.66%;
	border: 1px solid #2D524A;
	box-shadow: 0 0 20px #CECECE;
}

.ci__circle--symbol {
	left: 59.35%;
	top: 64.66%;
	border: 1px solid #004094;
	box-shadow: 0 0 20px #CECECE;
}

.ci__circle-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	text-align: center;
	width: 100%;
}

.ci__circle--meaning .ci__circle-inner {
	padding: 22.75% 13.5% 0;
}

.ci__circle--gradual .ci__circle-inner {
	padding: 20.75% 17.5% 0;
}

.ci__circle--symbol .ci__circle-inner {
	padding: 16.5% 17.5% 0;
}

.ci__circle-title {
	font-family: var(--engFont);
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.3;
}

.ci__circle-title--meaning { color: #692923; }
.ci__circle-title--gradual { color: #2D524A; line-height: 1.5; }
.ci__circle-title--symbol  { color: #004094; line-height: 1.5; }

.ci__circle-divider {
	display: block;
	width: 10%;
	height: 3px;
	min-width: 20px;
	background: #C2C2C2;
	flex-shrink: 0;
}

.ci__circle-desc {
	font-family: var(--baseFont);
	font-size: 1em;
	font-weight: 300;
	color: #444;
	line-height: 1.7;
	letter-spacing: -0.4px;
}

/* 외곽 원 중심(디자인상 540,566 ≈ 래퍼 50%,50%) */
.ci__logo {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 47%;
	max-width: 508px;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
}

.ci__logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* ===== FAQ ===== */
.faq {
	padding: 118px 0 160px;
}

.faq__inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.faq__title {
	text-align: center;
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	font-family: var(--engFont);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-transform: capitalize;
}

.faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
}

.faq__item {
	border-radius: 10px;
	outline: 1px solid #DDDDDD;
	background: #fff;
}

.faq__q {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	padding: 24px;
	background: transparent;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	text-align: left;
}

.faq__q:focus-visible {
	outline: 2px solid #004094;
	outline-offset: -2px;
}

.faq__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	padding: 5px;
	background: #222;
	border-radius: 100px;
	color: #fff;
	font-size: 14px;
	font-family: var(--engFont);
	font-weight: 400;
	line-height: 18.2px;
}

.faq__q-text {
	flex: 1;
	color: #222;
	font-size: 18px;
	font-family: var(--baseFont);
	font-weight: 500;
	line-height: 1.3;
}

.faq__toggle-icon {
	flex-shrink: 0;
	padding: 10px;
	border-radius: 8px;
	font-size: 20px;
	color: #222;
	transition: transform 0.25s ease;
}

.faq__q[aria-expanded="true"] .faq__toggle-icon {
	transform: rotate(180deg);
}

.faq__a {
	padding: 0 24px 24px 74px;
	color: #444;
	font-size: 16px;
	font-family: var(--baseFont);
	font-weight: 400;
	line-height: 1.7;
}

/* ===== Location (오시는길) ===== */
.location {
	padding: 147px 0 160px;
}

.location__inner {
	display: flex;
	flex-direction: column;
	gap: 60px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.location__hd {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 60px;
}

.location__title {
	font-family: var(--baseFont);
	font-size: clamp(22px, 4vw, 50px);
	font-weight: 700;
	color: #004C97;
	text-align: center;
	line-height: 1.3;
	word-break: keep-all;
}

.location__desc-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.location__desc-en {
	font-family: var(--engFont);
	font-size: clamp(14px, 1.8vw, 24px);
	font-weight: 300;
	color: #444;
	text-align: center;
	line-height: 1.5;
	word-break: keep-all;
}

.location__desc-ko {
	font-family: var(--baseFont);
	font-size: clamp(15px, 2.8vw, 36px);
	font-weight: 500;
	color: #222;
	text-align: center;
	line-height: 1.3;
	word-break: keep-all;
}

/* Map */
.location__map {
	position: relative;
	width: 100%;
}

.location__map-img {
	display: block;
	width: 100%;
	height: auto;
}

/* Pin button */
.location__pin {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	position: absolute;
	width: 32px;
	transform: translate(-50%, -50%);
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	overflow: visible;
}

.location__pin-icon {
	display: block;
	flex-shrink: 0;
	transition: transform 0.2s;
}

/* Default: dark icon 표시, active: 파란 icon 숨김 */
.location__pin-icon--active { display: none; }

.location__pin.is-active .location__pin-icon--default { display: none; }
.location__pin.is-active .location__pin-icon--active { display: block; }

/* Label - 핀 버튼 내부, 아이콘 바로 위에 고정 */
.location__pin-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	z-index: 10;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 6px;
	padding: 3px 15px;
	background: #004094;
	border-radius: 100px;
	color: #fff;
	font-size: 18px;
	font-family: var(--baseFont);
	font-weight: 500;
	text-transform: uppercase;
	line-height: 23.4px;
	white-space: nowrap;
	pointer-events: none;
}

.location__pin-label.is-hidden { display: none; }

.location__pin-label--below {
	bottom: auto;
	top: 100%;
	margin-bottom: 0;
	margin-top: 6px;
}

/* Dot */
.location__pin-dot {
	position: relative;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #004C97;
	flex-shrink: 0;
}

/* Ripple - 점 중심으로 퍼져나감 */
.location__pin-ripple {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(0, 76, 151, 0.20);
	animation: location-ripple 2s ease-out infinite;
	z-index: 1;
}

.location__pin-ripple--2 {
	width: 34px;
	height: 34px;
	animation-delay: 0.6s;
}

@keyframes location-ripple {
	0%   { opacity: 1; transform: translate(-50%, -50%) scale(0.4); }
	100% { opacity: 0; transform: translate(-50%, -50%) scale(2.2); }
}

/* Popup card */
.location__popup {
	display: none;
	position: absolute;
	z-index: 20;
	min-width: 394px;
	padding: 0;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #000;
	pointer-events: none;
	isolation: isolate;
}

/* 콘텐츠 레이어 — ::after(구분선)보다 위 */
.location__popup-body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
	z-index: 1;
	padding: 30px 40px;
	background: #fff;
	border-radius: 8px;
}

.location__popup::after {
	content: url(/img/sub/map_line.svg);
	position: absolute;
	width: 72px;
	height: 2px;
	top: calc(30% + 17px);
	left: 0;
	transform: translate(-100%, -50%);
	z-index: 0;
}

.location__popup.is-flipped::after {
	left: auto;
	right: 0;
	transform: translate(100%, -50%) scaleX(-1);
}

.location__popup.is-active {
	display: flex;
	flex-direction: column;
	pointer-events: auto;
	animation: popup-in 0.22s ease-out both;
}

.location__popup.is-active .location__popup-body {
	flex: 1 0 auto;
	min-height: 0;
}

@keyframes popup-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.location__popup-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 15px;
	background: #004094;
	border-radius: 100px;
	color: #fff;
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 500;
	line-height: 23.4px;
	text-transform: uppercase;
	width: fit-content;
}

.location__popup-info {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.location__popup-addr {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 500;
	color: #444;
	line-height: 1.3;
}

.location__popup-info p:not(.location__popup-addr) {
	font-family: var(--engFont);
	font-size: 16px;
	font-weight: 300;
	color: #444;
	line-height: 1.3;
}

/* 모바일 카드 (지도 아래) */
.location__cards {
	display: none;
}

.location__card {
	background: #fff;
	border: 1.5px solid #ddd;
	border-radius: 10px;
	padding: 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: border-color 0.2s;
}

.location__card.is-active {
	border-color: #004C97;
}

.location__card-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 15px;
	background: #004094;
	border-radius: 100px;
	color: #fff;
	font-family: var(--engFont);
	font-size: 16px;
	font-weight: 500;
	line-height: 23.4px;
	text-transform: uppercase;
	width: fit-content;
}

/* ===== News ===== */
.news { padding: 139px 0 160px; }

.news__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.news__title {
	font-family: var(--engFont);
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
	text-transform: capitalize;
}

.news__board {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

/* Board header: count + search */
.news__board-hd {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 20px;
}

.news__count {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #333;
	line-height: 1.3;
}

.news__count-num {
	font-family: var(--engFont);
	font-weight: 500;
	color: #004C97;
}

.news__search {
	display: flex;
	align-items: center;
	gap: 10px;
}

.news__search-select-wrap {
	display: flex;
	align-items: center;
	position: relative;
	width: 200px;
	height: 64px;
	padding: 0 25px;
	background: #f8f8f8;
	border-radius: 100px;
	border: 1px solid #ddd;
}

.news__search-select {
	display: none;
}

.news__custom-select {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	cursor: pointer;
	user-select: none;
}

.news__custom-select-label {
	flex: 1;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 500;
	color: #222;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 10px;
}

.news__select-chevron {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.news__custom-select.is-open .news__select-chevron {
	transform: rotate(180deg);
}

.news__custom-select-options {
	display: none;
	position: absolute;
	top: calc(100% + 10px);
	left: -25px;
	right: -25px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0,0,0,.10);
	padding: 8px 0;
	list-style: none;
	margin: 0;
	z-index: 100;
	overflow: hidden;
}

.news__custom-select.is-open .news__custom-select-options {
	display: block;
}

.news__custom-select-option {
	padding: 13px 25px;
	font-family: var(--baseFont);
	font-size: 17px;
	font-weight: 400;
	color: #444;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.news__custom-select-option:hover {
	background: #f0f5ff;
	color: #004C97;
}

.news__custom-select-option.is-selected {
	font-weight: 600;
	color: #004C97;
}

.news__search-input {
	width: 300px;
	height: 64px;
	background: #f8f8f8;
	border-radius: 100px;
	border: 1px solid #ddd;
	outline: none;
	padding: 0 25px;
	font-family: var(--baseFont);
	font-size: 18px;
}

.news__search-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: #222;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	flex-shrink: 0;
}

.news__search-btn:hover { background: #444; }

/* Table */
.news__table {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 60px;
}

.news__table-head {
	display: flex;
	align-items: center;
	background: #004094;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

.news__table-head .news__col {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 95px;
	padding: 0 20px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
}

.news__table-head .news__col--title { justify-content: center; }

.news__row {
	display: flex;
	align-items: center;
	position: relative;
	border-bottom: 1px solid #ddd;
	background: #fff;
	cursor: pointer;
}

.news__col {
	display: flex;
	align-items: center;
	height: 95px;
	padding: 0 20px;
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #222;
	line-height: 1.3;
}

.news__col--num {
	width: 90px;
	justify-content: center;
	flex-shrink: 0;
	font-family: var(--engFont);
}

.news__col--title {
	flex: 1 1 0;
	min-width: 0;
	padding: 0 30px;
	gap: 10px;
}

.news__col--writer {
	width: 200px;
	justify-content: center;
	flex-shrink: 0;
}

.news__col--date {
	width: 240px;
	justify-content: center;
	flex-shrink: 0;
	font-family: var(--engFont);
}

.news__col--view {
	width: 120px;
	justify-content: center;
	flex-shrink: 0;
	font-family: var(--engFont);
}

.news__link {
	color: #222 !important;
	text-decoration: none;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	min-width: 0;
}

.news__link::after {
	content: '';
	position: absolute;
	inset: 0;
}

.news__row:hover .news__link { color: #004094; }

.news__col--title img { flex-shrink: 0; }

/* Paging */
.news__paging {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.news__paging-arr {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 100px;
	border: 1px solid #ddd;
	background: #fff;
	cursor: pointer;
}

.news__paging-arr:hover { border-color: #004094; }

.news__paging-nums {
	display: flex;
	align-items: center;
	gap: 5px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.news__paging-nums li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 100px;
	font-family: var(--engFont);
	font-size: 17px;
	font-weight: 300;
	color: #666;
	text-decoration: none;
	line-height: 1.3;
}

.news__paging-nums li.on a {
	background: #004094;
	color: #fff;
}

.news__paging-nums li a:hover { color: #004094; }
.news__paging-nums li.on a:hover { color: #fff; }

/* ===== News View ===== */
.news-view { padding: 160px 0; }

.news-view__inner {
	display: flex;
	flex-direction: column;
	gap: 80px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

/* Title block */
.news-view__tit {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.news-view__tit-inner {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
	margin: 0 auto;
}

.news-view__title {
	font-family: var(--baseFont);
	font-size: 36px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
	text-align: center;
}

.news-view__meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
}

.news-view__meta-writer {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #222;
	line-height: 1.3;
}

.news-view__meta-date,
.news-view__meta-view {
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #222;
	line-height: 1.3;
}

.news-view__line {
	border-bottom: 1px solid #222;
}

/* Body */
.news-view__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.news-view__content {
	display: flex;
	flex-direction: column;
	gap: 63px;
	max-width: 1000px;
	width: 100%;
}

.news-view__img {
	width: 100%;
	height: 620px;
	border-radius: 20px;
	overflow: hidden;
}

.news-view__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-view__text {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 300;
	color: #444;
	line-height: 1.6;
	letter-spacing: -0.36px;
}

/* File */
.news-view__file {
	display: flex;
	align-items: flex-start;
	gap: 60px;
	width: 100%;
	padding: 60px;
	background: #f8f8f8;
	border-radius: 20px;
}

.news-view__file-label {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.news-view__file-label span {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.news-view__file-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.news-view__file-item {
	font-family: var(--engFont);
	font-size: 18px;
	font-weight: 300;
	color: #666;
	line-height: 1.3;
	text-decoration: none;
}

.news-view__file-item:hover { color: #004094; }

/* Bottom nav */
.news-view__btm {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.news-view__nav {
	display: flex;
	align-items: center;
	gap: 40px;
	width: 580px;
	text-decoration: none;
}

.news-view__nav--next { justify-content: flex-end; }

.news-view__nav-arr { flex-shrink: 0; }

.news-view__nav-txt {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.news-view__nav-txt--right {
	align-items: flex-end;
	gap: 10px;
}

.news-view__nav-label {
	font-family: var(--baseFont);
	font-size: 16px;
	font-weight: 500;
	color: #999;
	line-height: 1.3;
}

.news-view__nav-title {
	font-family: var(--baseFont);
	font-size: 18px;
	font-weight: 500;
	color: #222;
	line-height: 1.3;
}

.news-view__nav:hover .news-view__nav-title { color: #004094; }

.news-view__list-btn {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	height: 80px;
	padding: 0 80px;
	background: #004094;
	border-radius: 10px;
	font-family: var(--baseFont);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	color: #fff !important;
	text-decoration: none;
	white-space: nowrap;
}

.news-view__list-btn:hover { background: #00317a; }

/* ===== Policy ===== */
.policy {
	padding: 120px 0 160px;
}

.policy__inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.policy__title {
	font-size: var(--page-title-size);
	font-weight: var(--page-title-weight);
	color: var(--page-title-color);
	line-height: var(--page-title-lh);
	text-align: center;
}

.policy__body {
	display: flex;
	flex-direction: column;
	gap: 100px;
}

.policy__intro {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 60px;
	background: #f8f8f8;
}

.policy__intro p {
	text-align: center;
	color: #222;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -0.004em;
}

.policy__divider {
	border: none;
	border-top: 1px solid #111;
	margin: 0;
}

.policy__sections {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.policy__section {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.policy__section-title {
	font-size: 28px;
	font-weight: 500;
	color: #111;
	line-height: 1.3;
}

.policy__content {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.policy__content--sm {
	gap: 15px;
}

.policy__text {
	color: #555;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.3;
}

.policy__sub-heading {
	color: #555;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
}

.policy__sub-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.policy__sub-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.policy__sub-list li {
	color: #555;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.3;
}

.footer-nav .gnb-sub-inner a{text-wrap: nowrap;}

#cert-panel-3 .cert__img{aspect-ratio: 304 / 240; }
#cert-panel-3 .cert__img img{width:65%;}

#cert-panel-3 .cert__item{cursor: auto;}

#cert-panel-3 .cert__item:hover .cert__overlay,#cert-panel-3 .cert__item:hover .cert__zoom{display:none;}


/* ===== En ===== */

.ci.en .ci__circle-desc {
    font-size: 0.85em;
}

.welfare__body.en .welfare-card__title {
    font-size: 16px;
}