@charset "utf-8";

/* ==================================================
	공통 상위 컨텐츠
================================================== */
.cont_inner {
	width: 100%;
}

.cont_inner2 {
	width: 100%;
	padding: 0 var(--rem-20);
}

.cont_inner.reveal-up,
.cont_inner2.reveal-up {
	opacity: 0;
	transform: translateY(1.2rem);
	visibility: visible;
	transition: opacity 0.8s 0.3s ease-out, transform 0.8s 0.3s ease-out;
}

.cont_inner.reveal-up.is-revealed,
.cont_inner2.reveal-up.is-revealed {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

/* 반응형CSS */
@media screen and (max-width:1100px) {
	.cont_inner {
		margin-top: 0;
	}

	.cont_inner2 {
		margin-top: 0;
	}
}

/* ==================================================
	공통 기본 컨텐츠
================================================== */
.blind {
	display: none;
}

/* 반응형CSS */
.mb_brblock {
	display: none !important;
}

@media screen and (max-width: 1024px) {
	.mb_brnone {
		display: none !important;
	}

	.mb_brblock {
		display: block !important;
	}
}

@media screen and (max-width: 640px) {
	.mb_brnone2 {
		display: none !important;
	}
}


/* ==================================================
	공통 개별 컨텐츠
================================================== */
/* 상단 타이틀과 멘트 */
.c_hd {
	text-align: center;
}

.c_hd h2 {
	font-size: clamp(3rem, 4vw, 4.8rem);
	font-weight: var(--font-eb);
	color: var(--color-black2);
	line-height: 1.35;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.c_hd h2 span {
	color: var(--brand-color-main);
}

.c_hd .c_desc {
	margin-top: 3rem;
	font-size: 1.8rem;
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.8;
	word-break: keep-all;
}

/* 미니멀 배지 */
.c_hd_badge {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.6rem 1.6rem;
	background: rgba(0, 94, 184, 0.05);
	border: 1px solid rgba(0, 94, 184, 0.15);
	border-radius: 3rem;
	font-size: 1.3rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	letter-spacing: 0.08em;
	margin-bottom: 2.5rem;
}

.c_hd_badge .dot {
	width: 6px;
	height: 6px;
	background: var(--brand-color-main);
	border-radius: 50%;
}

/* 서브타이틀 */
.c_ttl {
	font-size: 2.8rem;
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	margin-bottom: 4rem;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.c_ttl::before {
	content: '';
	width: 4px;
	height: 2.4rem;
	background: var(--brand-color-main);
	border-radius: 99px;
}

/* 반응형CSS */
@media screen and (max-width: 1024px) {

	/* 서브타이틀 */
	.c_ttl {
		font-size: 2.6rem;
		margin-bottom: 3rem;
	}
}

@media screen and (max-width: 768px) {

	/* 상단 타이틀과 멘트 */
	.c_hd .c_desc {
		margin-top: 2rem;
		font-size: 1.7rem;
	}

	/* 미니멀 배지 */
	.c_hd_badge {
		font-size: 1.2rem;
		padding: 0.5rem 1.2rem;
		margin-bottom: 2rem;
	}

	/* 서브타이틀 */
	.c_ttl {
		font-size: 2.4rem;
		gap: 1.2rem;
		margin-bottom: 2.5rem;
	}

	.c_ttl::before {
		height: 2rem;
	}
}

@media screen and (max-width: 480px) {

	/* 상단 타이틀과 멘트 */
	.c_hd h2 {
		font-size: 2.8rem;
	}

	.c_hd .c_desc {
		font-size: 1.6rem;
		line-height: 1.7;
	}

	/* 미니멀 배지 */
	.c_hd_badge {
		font-size: 1.1rem;
		letter-spacing: 0.06em;
		margin-bottom: 1.6rem;
	}

	/* 서브타이틀 */
	.c_ttl {
		font-size: 2.1rem;
		margin-bottom: 2rem;
	}

	.c_ttl::before {
		width: 3px;
		height: 1.8rem;
	}
}


/* ==================================================
	애니메이션
================================================== */
.reveal {
	opacity: 0;
	transform: translateY(4rem);
	transition: var(--transition-base);
}

.reveal.is-active {
	opacity: 1;
	transform: translateY(0);
}

.reveal-up,
.reveal-scale,
.reveal-left,
.reveal-right {
	opacity: 0;
	visibility: hidden;
}

.reveal-up {
	transform: translateY(60px);
}

.reveal-scale {
	transform: scale(0.9);
}

.reveal-left {
	transform: translateX(60px);
}

.reveal-right {
	transform: translateX(-60px);
}

.is-revealed {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0) scale(1);
	transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/*.sub-hero.reveal-up {
	opacity: 0;
	transform: translateY(1.2rem);
	visibility: visible;
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.sub-hero.reveal-up.is-revealed {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}*/


/* ==================================================
	회사소개 - 회사개요
================================================== */
.ov {
	--transition-smooth: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	--ov-brand-a08: rgba(22, 70, 158, 0.08);
	--ov-brand-a10: rgba(22, 70, 158, 0.1);
	--ov-brand-a20: rgba(22, 70, 158, 0.2);
}

.ov .reveal-up {
	opacity: 0;
	transform: translateY(4rem);
	visibility: visible;
	transition: opacity 0.9s cubic-bezier(0.165, 0.84, 0.44, 1),
		transform 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ov .reveal-up.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.ov .reveal-up {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

.ov_sec {
	margin-bottom: 8rem;
}

.ov_sec:last-child {
	margin-bottom: 0;
}

.ov_badge {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem 2.2rem;
	background: linear-gradient(135deg, var(--ov-brand-a08) 0%, transparent 100%);
	border: 1px solid var(--ov-brand-a20);
	border-radius: 3rem;
	font-size: 1.4rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	letter-spacing: 0.08em;
	margin-bottom: 3rem;
}

.ov_badge .dot {
	width: 6px;
	height: 6px;
	background: var(--brand-color-main);
	border-radius: 50%;
}

.ov_tit {
	font-size: clamp(2.4rem, 3.2vw, 3.6rem);
	font-weight: var(--font-eb);
	color: var(--color-black2);
	margin-bottom: 4rem;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	word-break: keep-all;
}

.ov_tit::before {
	content: '';
	width: 4px;
	height: 2.4rem;
	background: var(--brand-color-main);
	border-radius: 99px;
	flex-shrink: 0;
}

.ov_intro {
	display: flex;
	flex-direction: column;
	gap: 5rem;
	align-items: center;
	text-align: center;
	margin-bottom: 0 !important;
}

.ov_intro_txt {
	max-width: 90rem;
	margin: 0 auto;
}

.ov_intro_tit {
	font-size: clamp(2.6rem, 4vw, 5.2rem);
	font-weight: var(--font-eb);
	color: var(--color-black2);
	line-height: 1.35;
	letter-spacing: -0.03em;
	word-break: keep-all;
	margin-bottom: 2.4rem;
}

.ov_intro_desc {
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.8;
	word-break: keep-all;
}

.ov_intro_media {
	width: 100%;
}

.ov_intro_mask {
	width: 100%;
	border-radius: 2.4rem;
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(15, 23, 42, 0.08);
	aspect-ratio: 2 / 1;
}

.ov_intro_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ov_info {
	margin-top: -5rem;
	position: relative;
	z-index: 10;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 3rem;
	padding: 5rem 6rem;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
	width: 92%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.ov_info_row {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.3fr);
	gap: 5rem;
	align-items: stretch;
}

.ov_info_l {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
}

.ov_since {
	font-size: clamp(3.6rem, 5vw, 6.6rem);
	font-weight: var(--font-eb);
	color: var(--brand-color-main);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 2rem;
}

.ov_info_sub {
	color: var(--text-muted2);
	line-height: 1.7;
	margin-bottom: 3rem;
	word-break: keep-all;
}

.ov_stats {
	display: grid;
	gap: 1.6rem;
}

.ov_stat {
	background: linear-gradient(to bottom right, #fff, var(--color-bg-light));
	border: 1px solid var(--ov-brand-a10);
	border-radius: 1.6rem;
	padding: 2.4rem;
	display: flex;
	flex-direction: column;
	transition: var(--transition-smooth);
}

.ov_stat:hover {
	border-color: var(--brand-color-main);
	transform: translateY(-4px);
	box-shadow: 0 12px 24px var(--ov-brand-a08);
}

.ov_stat_lbl {
	font-size: 1.4rem;
	color: var(--text-muted2);
	font-weight: var(--font-md);
	margin-bottom: 1rem;
}

.ov_stat_val {
	font-size: clamp(1.8rem, 2.2vw, 2.4rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.35;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.ov_info_r {
	min-width: 0;
	background: var(--color-bg-light);
	padding: 3.5rem 3.5rem 2rem;
	border-radius: 2.4rem;
	box-sizing: border-box;
}

.ov_info_tit {
	font-size: 2.2rem;
	font-weight: var(--font-bd);
	color: var(--color-black2);
	margin-bottom: 2.4rem;
	padding-bottom: 1.6rem;
	position: relative;
}

.ov_info_tit::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 4rem;
	height: 4px;
	background: var(--brand-color-main);
	border-radius: 2px;
}

.ov_dl_item {
	display: grid;
	grid-template-columns: 12rem minmax(0, 1fr);
	gap: 1.2rem;
	padding: 1.8rem 1.2rem;
	border-bottom: 1px dashed var(--color-border-light);
	border-radius: 1.2rem;
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.ov_dl_item:hover {
	background-color: var(--ov-brand-a08);
	transform: translateX(4px);
}

.ov_dl_item:last-child {
	border-bottom: none;
}

.ov_dt {
	color: var(--text-muted2);
	font-size: var(--rem-20);
}

.ov_dd {
	font-weight: var(--font-bd);
	font-size: var(--rem-20);
	color: var(--color-black2);
}

.ov_tel {
	color: inherit;
	transition: color 0.3s ease;
}

.ov_tel:hover {
	color: var(--brand-color-main);
	text-decoration: underline;
}

/* Caps */
.ov_caps_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.8rem;
}

.ov_cap {
	border-top: 2px solid var(--color-border-light);
	padding: 2.8rem 0.8rem 0;
	transition: border-color 0.3s ease;
	min-width: 0;
}

.ov_cap:hover {
	border-top-color: var(--brand-color-main);
}

.ov_cap_no {
	display: block;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	margin-bottom: 1.2rem;
}

.ov_cap_tit {
	font-size: var(--rem-20);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	margin-bottom: 1.6rem;
	word-break: keep-all;
}

.ov_cap_desc {
	color: var(--text-muted2);
	word-break: keep-all;
}

.ov_biz_list {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ov_card {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 1.4rem;
	background: #090e1a;
	text-decoration: none;
	transition: box-shadow 0.4s ease;
}

.ov_card_bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), filter 0.6s ease;
	filter: grayscale(80%);
}

.ov_card_dim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(9, 14, 26, 0.88) 0%, rgba(9, 14, 26, 0.45) 100%);
	transition: background 0.4s ease;
	z-index: 1;
}

.ov_card_body {
	position: relative;
	z-index: 2;
	padding: 3rem 3.5rem;
	display: flex;
	align-items: center;
	gap: 2rem;
	color: var(--color-white);
}

.ov_card_no {
	font-size: var(--rem-36);
	font-weight: var(--font-bd);
	color: var(--brand-color-bright);
	flex-shrink: 0;
	min-width: 3.2rem;
}

.ov_card_txt {
	flex: 1;
	min-width: 0;
}

.ov_card_tit {
	font-size: var(--rem-20);
	font-weight: var(--font-bd);
	color: var(--color-white);
	letter-spacing: -0.01em;
	word-break: keep-all;
}

.ov_card_eng {
	display: block;
	font-size: var(--rem-16);
	color: var(--color-gray3);
	font-weight: var(--font-rg);
	line-height: 1.4;
	word-break: break-word;
}

.ov_card_arr {
	font-size: 2.2rem;
	color: var(--color-white);
	flex-shrink: 0;
	transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ov_card:hover,
.ov_card:focus {
	outline: none;
	box-shadow: 0 16px 32px rgba(9, 14, 26, 0.25);
}

.ov_card:hover .ov_card_bg,
.ov_card:focus .ov_card_bg {
	transform: scale(1.06);
	filter: grayscale(0%);
}

.ov_card:hover .ov_card_dim,
.ov_card:focus .ov_card_dim {
	background: linear-gradient(90deg, rgba(22, 70, 158, 0.95) 0%, rgba(22, 70, 158, 0.6) 100%);
}

.ov_card:hover .ov_card_arr,
.ov_card:focus .ov_card_arr {
	transform: translateX(1rem);
}

.ov_card:focus-visible {
	outline: 3px solid var(--brand-color-main);
	outline-offset: 4px;
}

/* 반응형 css */
@media screen and (max-width: 1100px) {
	.ov_sec {
		margin-bottom: 6.5rem;
	}

	.ov_intro {
		gap: 4rem;
	}

	.ov_info {
		margin-top: -4rem;
		width: 96%;
		padding: 4rem 3.5rem;
	}

	.ov_info_row {
		gap: 3.5rem;
	}

	.ov_info_r {
		padding: 3rem;
	}

	.ov_dl_item {
		grid-template-columns: 10rem minmax(0, 1fr);
	}

	.ov_caps_grid {
		gap: 2.4rem;
	}

	.ov_card_body {
		padding: 2.6rem 2.8rem;
		gap: 1.6rem;
	}
}

@media screen and (max-width: 800px) {
	.ov_sec {
		margin-bottom: 5.5rem;
	}

	.ov_tit {
		margin-bottom: 2.8rem;
		font-size: 2.4rem;
	}

	.ov_intro {
		gap: 3.2rem;
	}

	.ov_intro_tit {
		margin-bottom: 1.8rem;
	}

	.ov_intro_mask {
		aspect-ratio: 16 / 9;
		border-radius: 1.6rem;
	}

	.ov_info {
		margin-top: -2.5rem;
		width: 100%;
		padding: 3.2rem 2.4rem;
		border-radius: 2rem;
	}

	.ov_info_row {
		grid-template-columns: 1fr;
		gap: 3.2rem;
	}

	.ov_info_l {
		text-align: center;
	}

	.ov_info_sub {
		margin-bottom: 2.4rem;
	}

	.ov_info_sub br {
		display: none;
	}

	.ov_info_r {
		padding: 2.4rem;
	}

	.ov_dl_item {
		grid-template-columns: 1fr;
		gap: 0.4rem;
		padding: 1.6rem 0.8rem;
	}

	.ov_dl_item:hover {
		transform: none;
	}

	.ov_caps_grid {
		grid-template-columns: 1fr;
		gap: 2.8rem;
	}

	.ov_cap {
		padding: 2.2rem 0 0;
	}

	.ov_card_body {
		padding: 2.2rem 2rem;
		gap: 1.2rem;
	}

	.ov_card_no {
		min-width: 2.4rem;
	}
}

@media screen and (max-width: 600px) {
	.ov_sec {
		margin-bottom: 4.5rem;
	}

	.ov_badge {
		padding: 0.6rem 1.6rem;
		font-size: 1.2rem;
		margin-bottom: 2rem;
	}

	.ov_tit {
		margin-bottom: 2.4rem;
		gap: 1rem;
	}

	.ov_intro {
		gap: 2.4rem;
	}

	.ov_info {
		margin-top: -1.6rem;
		padding: 2.4rem 1.6rem;
		border-radius: 1.6rem;
	}

	.ov_info_r {
		padding: 2rem 1.4rem;
		border-radius: 1.6rem;
	}

	.ov_stat {
		padding: 2rem 1.6rem;
		align-items: center;
		text-align: center;
	}

	.ov_card_body {
		padding: 2rem 1.6rem;
	}

	.ov_card_no {
		display: none;
	}

	.ov_card_arr {
		font-size: 1.8rem;
	}
}

@media (hover: none) {

	.ov_stat:hover,
	.ov_dl_item:hover,
	.ov_cap:hover {
		transform: none;
		box-shadow: none;
	}
}


/* ==================================================
	회사소개 - CEO인사말
================================================== */
.greeting .is-revealed,
.greeting .is-visible {
	transform: none;
	will-change: auto !important;
}

/* CEO 인사말 텍스트 흐림 현상 수정 */
.greeting .js-fade-up {
	will-change: auto !important;
}

.greeting .js-fade-up.is-visible {
	transform: none;
	will-change: auto !important;
}


.grt-section+.grt-section {
	margin-top: 8rem;
}

.grt-intro {
	position: relative;
	background: url('../../lib/images/company/greeting_bg.jpg') 50% 50% no-repeat;
	background-size: cover;
	border-radius: 2rem;
	padding: 12.5rem 5rem;
	text-align: center;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.02);
	border: 1px solid rgba(0, 0, 0, 0.02);
}

.grt-intro__badge {
	background: var(--color-white, #fff);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.grt-intro__title {
	font-size: clamp(3.2rem, 5vw, 6.4rem);
	font-weight: var(--font-eb, 800);
	color: var(--color-black2);
	line-height: 1.25;
	letter-spacing: -0.03em;
	margin-bottom: 2.4rem;
	display: flex;
	gap: 1rem;
	/* flex-direction: column; */
	justify-content: center;
	align-items: center;
}

.grt-intro__title .title-line {
	display: block;
}

.grt-intro__since {
	display: inline-flex;
	align-items: center;
}

.grt-intro__since .since-text {
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	font-weight: var(--font-rg);
	color: var(--color-gray4);
	word-break: keep-all;
}


.grt-message {
	position: relative;
}


.grt-message__right {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	max-width: 83rem;
	margin: 0 auto;
	width: 100%;
}

.grt-paragraph {
	font-size: var(--rem-19);
	color: var(--text-muted2);
	font-weight: var(--font-rg, 400);
	line-height: 1.85;
	word-break: keep-all;
}

.grt-paragraph strong.point-color {
	font-weight: var(--font-bd, 700);
	color: var(--color-black2);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 65%, rgba(0, 94, 184, 0.08) 65%);
	padding: 0 0.2rem;
}


.grt-section+.grt-closing {
	width: 100%;
	max-width: 90rem;
	margin: 5rem auto 0;
	padding-top: 3.5rem;
	border-top: 1px solid var(--color-border-light);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

.closing-content {
	display: inline-block;
}

.closing-title {
	font-weight: var(--font-md);
	color: var(--text-muted2);
	/* margin-bottom: 1rem; */
	letter-spacing: -0.01em;
}

.closing-name {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-size: 2.8rem;
	font-weight: var(--font-bd, 700);
	color: var(--color-black2);
	letter-spacing: 0.1em;
}

.closing-name .name-dot {
	width: 0.6rem;
	height: 0.6rem;
	background: var(--brand-color-main);
	border-radius: 50%;
	display: inline-block;
}


/* 기존 fade-up.js 연동 애니메이션 스타일링 */
.greeting .js-fade-up {
	opacity: 0;
	transform: translateY(3rem);
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
		transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.greeting .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* 반응형 css */
@media screen and (max-width: 1024px) {
	.grt-section+.grt-section {
		margin-top: 7rem;
	}

	.grt-intro {
		padding: 10rem 4rem;
	}


	.grt-message__right {
		max-width: 100%;
		gap: 2rem;
	}

	.grt-paragraph {
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 768px) {
	.grt-section+.grt-section {
		margin-top: 5rem;
	}

	.grt-intro {
		padding: 8rem 3.4rem;
		border-radius: 1.6rem;
	}

	.grt-intro__title {
		margin-bottom: 2rem;
	}

	.grt-intro__since .since-text {
		font-size: 1.6rem;
	}

	.grt-paragraph {
		font-size: 1.6rem;
		line-height: 1.75;
	}

	.grt-section+.grt-closing {
		margin-top: 4rem;
		padding-top: 3rem;
		align-items: flex-start;
		text-align: left;
	}

	.closing-name {
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 480px) {
	.grt-intro {
		padding: 6rem 2rem;
	}

	.grt-paragraph {
		font-size: 1.5rem;
	}

	.closing-name {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 320px) {
	.grt-intro {
		padding: 4.5rem 1.5rem;
	}

	.grt-paragraph {
		font-size: 1.45rem;
		line-height: 1.7;
	}

	.grt-message__right {
		gap: 2.5rem;
	}
}

/* prefers-reduced-motion 미디어 쿼리 */
@media (prefers-reduced-motion: reduce) {
	.greeting .js-fade-up {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}


/* ==================================================
	회사소개 - 연혁
================================================== */
.history {
	--history-blue: var(--brand-color-main, #005eb8);
	/* 신승정밀 브랜드 블루 */
	--history-red: #e11d48;
	/* 브랜드 레드 포인트 */
	line-height: 1.6;
}


.his-intro {
	position: relative;
	padding: 0 0 10rem;
	overflow: hidden;
}

.his-intro-content {
	position: relative;
	z-index: 2;
	max-width: 80rem;
}

.his-title {
	font-size: clamp(3.2rem, 5vw, 5.2rem);
	font-weight: var(--font-eb, 800);
	color: var(--color-black2);
	line-height: 1.3;
	letter-spacing: -0.03em;
	margin-bottom: 3.5rem;
	word-break: keep-all;
}

.his-desc {
	color: var(--text-muted2);
}

.his-since {
	position: absolute;
	right: -5rem;
	bottom: 3rem;
	font-size: clamp(12rem, 18vw, 28rem);
	font-weight: 900;
	line-height: 0.8;
	letter-spacing: -0.05em;
	color: transparent;
	-webkit-text-stroke: 2px rgba(15, 23, 42, 0.05);
	user-select: none;
	pointer-events: none;
	z-index: 1;
}

.his-since.js-fade-up {
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1), transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.his-since.js-fade-up.is-visible {
	opacity: 1;
	transform: scale(1);
}

/* Section 02 — History Timeline */
.his-timeline {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8rem;
}

.his-group {
	position: relative;
	display: grid;
	grid-template-columns: 34rem 1fr;
	gap: 8rem;
	align-items: start;
}

.his-line {
	position: absolute;
	left: calc(42rem - 1px);
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--color-border-light);
	z-index: 1;
}

.his-line::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: var(--history-blue);
	transition: height 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.his-group.is-visible .his-line::after {
	height: 100%;
}

/* 좌측: 시대 제목 (Sticky 적용) */
.his-group-head {
	position: sticky;
	top: 14rem;
	z-index: 2;
}

.his-name {
	font-size: 1.6rem;
	font-weight: var(--font-bd, 700);
	color: var(--history-blue);
	letter-spacing: 0.1em;
	font-family: var(--font-Pretendard), sans-serif;
	margin-bottom: 1rem;
}

.his-period {
	font-size: 3.2rem;
	font-weight: var(--font-eb, 800);
	color: var(--color-black2);
	letter-spacing: -0.02em;
}

/* 우측: 연혁 목록 */
.his-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	position: relative;
	z-index: 2;
}

.his-item {
	position: relative;
	display: grid;
	grid-template-columns: 14rem 1fr;
	gap: 3rem;
	align-items: baseline;
	padding-left: 4rem;
}

.his-dot {
	position: absolute;
	left: 0;
	top: 0.85em;
	transform: translate(-50%, -50%);
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--color-white, #fff);
	border: 2px solid var(--history-blue);
	box-shadow: 0 0 0 4px var(--color-white, #fff);
	z-index: 3;
	transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.his-item:hover .his-dot {
	background: var(--history-blue);
	transform: translate(-50%, -50%) scale(1.3);
}

.his-date {
	font-size: 2.2rem;
	font-weight: var(--font-bd, 700);
	color: var(--history-blue);
	font-family: var(--font-Pretendard), sans-serif;
	letter-spacing: -0.01em;
	transition: color 0.3s ease;
}

.his-item:hover .his-date {
	color: var(--color-black2);
}

.his-text {
	font-weight: var(--font-rg, 400);
	color: var(--text-muted2);
	line-height: 1.5;
	word-break: keep-all;
	transition: color 0.3s ease;
}

.his-item:hover .his-text {
	color: var(--color-black2);
}

/* 주요 이정표(Milestone) 강조 */
.his-item--milestone .his-dot {
	border-color: var(--history-red);
	background: var(--history-red);
	width: 1.2rem;
	height: 1.2rem;
}

.his-item--milestone .his-date {
	color: var(--history-red);
}

.his-item--milestone .his-text {
	font-weight: var(--font-bd, 700);
	color: var(--color-black2);
}

.his-item--milestone:hover .his-dot {
	background: var(--history-red);
	transform: translate(-50%, -50%) scale(1.4);
}

/* 기존 fade-up.js 연동 애니메이션 스타일링  */
.history .js-fade-up {
	opacity: 0;
	transform: translateY(3rem);
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
		transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: auto !important;
}

.history .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/*  반응형 css */
@media screen and (max-width: 1024px) {
	.his-intro {
		padding: 0 0 8rem;
	}

	.his-since {
		right: -1rem;
		bottom: 4rem;
	}

	.his-timeline {
		gap: 6rem;
	}

	.his-group {
		grid-template-columns: 1fr;
		gap: 3.5rem;
	}

	.his-group-head {
		position: static;
		padding-left: 2.5rem;
	}

	.his-group-head br {
		display: none;
	}

	.his-period {
		font-size: 2.8rem;
	}

	.his-line {
		left: calc(0.5rem - 1px);
	}

	.his-list {
		gap: 3rem;
	}

	.his-item {
		padding-left: 2.5rem;
	}

	.his-dot {
		left: 0.5rem;
	}
}

@media screen and (max-width: 768px) {
	.his-intro {
		padding: 0 0 6rem;
	}

	.his-since {
		display: none;
	}

	.his-title {
		margin-bottom: 2.5rem;
	}

	.his-timeline {
		gap: 5rem;
	}

	.his-item {
		grid-template-columns: 1fr;
		gap: 0.8rem;
		padding-left: 2.5rem;
	}

	.his-date {
		font-size: 1.8rem;
	}

	.his-dot {
		top: 1.4rem;
	}

}

@media screen and (max-width: 320px) {
	.his-title {
		font-size: 2.8rem;
	}
}

/* prefers-reduced-motion 미디어 쿼리 */
@media (prefers-reduced-motion: reduce) {
	.history .js-fade-up {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.his-line::after {
		height: 100% !important;
		transition: none !important;
	}
}


/* ==================================================
	회사소개 - 비전
================================================== */
.vision {
	position: relative;
}


.vis-intro {
	position: relative;
	padding: 0 0 7rem;
}

.vis-intro .c_hd_badge {
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.vis-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 74rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.vis-title-line {
	display: block;
}

.vis-title-accent {
	color: var(--brand-color-main);
}

.vis-desc {
	position: relative;
	z-index: 2;
	max-width: 66rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.vis-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(63vw, 72rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(6rem, 9vw, 13rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.92;
	letter-spacing: -0.045em;
	-webkit-text-stroke: 1px rgba(22, 70, 158, 0.15);
	user-select: none;
	pointer-events: none;
}

.vis-atc-tit {
	font-size: clamp(2.8rem, 3vw, 3.8rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	margin-bottom: 1.4rem;
}

/*  Section 02 — Core Competencies  */
.vis-core {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 7rem;
	border-top: 2px solid var(--cw-navy);
	border-bottom: 1px solid var(--color-border-light);
}

.vis-item {
	position: relative;
	min-width: 0;
	border-right: 1px solid var(--color-border-light);
	transition:
		background-color 0.35s ease,
		border-color 0.35s ease;
}

.vis-item:last-child {
	border-right: 0;
}

.vis-item::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	width: 0;
	height: 3px;
	background: var(--brand-color-main);
	transition: width 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vis-item-inner {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	height: 100%;
	padding: 4.8rem 3.6rem 5rem;
	box-sizing: border-box;
}

.vis-num {
	display: block;
	margin: 0;
	font-size: clamp(4rem, 4vw, 4.6rem);
	font-weight: var(--font-eb);
	color: rgb(16 71 172 / 40%);
	line-height: 1;
	letter-spacing: -0.05em;
	transition: color 0.35s ease;
}

.vis-head {
	padding-top: 1.6rem;
	border-top: 1px solid var(--color-border-light);
	transition: border-color 0.35s ease;
}

.vis-name {
	margin: 0;
	font-size: clamp(2rem, 1.7vw, 2.4rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.42;
	letter-spacing: -0.03em;
	word-break: keep-all;
	transition:
		color 0.35s ease,
		transform 0.35s ease;
}

.vis-list {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vis-list li {
	position: relative;
	padding-left: 1.6rem;
	font-size: clamp(1.55rem, 1.28vw, 1.72rem);
	color: var(--color-gray4);
	line-height: 1.65;
	letter-spacing: -0.015em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.vis-list li::before {
	content: '';
	position: absolute;
	top: 0.82em;
	left: 0;
	width: 6px;
	height: 1px;
	background: var(--brand-color-main);
	opacity: 0.65;
}

/* 마우스 사용 환경에서만 hover 적용 */
@media (hover: hover) and (pointer: fine) {
	.vis-item:hover {
		background: rgba(22, 70, 158, 0.04);
	}

	.vis-item:hover::before {
		width: 100%;
	}

	.vis-item:hover .vis-num {
		color: rgb(16 71 172 / 70%);
	}

	.vis-item:hover .vis-head {
		border-top-color: rgba(22, 70, 158, 0.35);
	}

	.vis-item:hover .vis-name {
		color: var(--brand-color-main);
		transform: translateY(-2px);
	}
}

/*  Section 03 — Vision Summary  */
.vis-summary {
	display: flex;
	align-items: stretch;
	margin: 0 0 6rem;
	border-top: 1px solid var(--cw-navy);
	border-bottom: 1px solid var(--color-border-light);
	background: transparent;
}

.vis-summary-item {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1.7rem;
	min-width: 0;
	padding: 4.5rem 3.6rem 4.8rem;
	box-sizing: border-box;
}

.vis-summary-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.vis-key {
	margin: 0;
	font-size: clamp(2rem, 1.8vw, 2.35rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.vis-text {
	margin: 0;
	font-size: clamp(1.55rem, 1.25vw, 1.68rem);
	color: var(--color-gray4);
	line-height: 1.7;
	letter-spacing: -0.015em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.vis-line {
	position: relative;
	display: block;
	align-self: stretch;
	flex-shrink: 0;
	width: 1px;
	background: var(--color-border-light);
	overflow: hidden;
}

.vis-line::after {
	/* content: ''; */
	position: absolute;
	inset: 0;
	opacity: 0.35;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vis-summary-item.is-visible+.vis-line::after {
	transform: scaleY(1);
}

/*  Section 04 — Closing Message  */
.vis-closing {
	position: relative;
	min-height: 30rem;
	padding: 6.5rem 5rem;
	display: flex;
	align-items: center;
	background:
		linear-gradient(120deg,
			#062d62 0%,
			var(--cw-navy) 48%,
			#031f45 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box;
}

.vis-closing::before {
	content: 'INTEGRATED';
	position: absolute;
	top: 50%;
	right: -1rem;
	transform: translateY(-50%);
	font-size: clamp(7rem, 10vw, 14rem);
	font-weight: var(--font-eb);
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.09);
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

.vis-closing::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 8%;
	width: 26rem;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow:
		0 0 0 5rem rgba(255, 255, 255, 0.018),
		0 0 0 10rem rgba(255, 255, 255, 0.012);
	pointer-events: none;
}

.vis-closing-msg {
	position: relative;
	z-index: 2;
	max-width: 74rem;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.42;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

/* 마우스 사용 환경 */
@media (hover: hover) and (pointer: fine) {
	.vis-closing::before {
		transition:
			-webkit-text-stroke-color 0.5s ease,
			transform 0.7s ease;
	}

	.vis-closing:hover::before {
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.15);
		transform: translate(-1rem, -50%);
	}
}

/*  fade-up 애니메이션 연동  */
.vision .js-fade-up {
	opacity: 0;
	transform: translateY(2.6rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
	will-change: opacity, transform;
}

.vision .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* 핵심 경쟁력 순차 노출 */
.vis-core .vis-item:nth-child(1) {
	--fade-up-delay: 0s;
}

.vis-core .vis-item:nth-child(2) {
	--fade-up-delay: 0.12s;
}

.vis-core .vis-item:nth-child(3) {
	--fade-up-delay: 0.24s;
}

/* 비전 요약 순차 노출 */
.vis-summary .vis-summary-item:nth-of-type(1) {
	--fade-up-delay: 0s;
}

.vis-summary .vis-summary-item:nth-of-type(2) {
	--fade-up-delay: 0.12s;
}

.vis-summary .vis-summary-item:nth-of-type(3) {
	--fade-up-delay: 0.24s;
}

.vis-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.95);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.vis-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* 반응형 CSS */
@media screen and (max-width: 1200px) {
	.vis-intro {
		padding-bottom: 6.5rem;
	}

	.vis-item-inner {
		padding-right: 2.8rem;
		padding-left: 2.8rem;
	}

	.vis-summary-item {
		padding-right: 2.8rem;
		padding-left: 2.8rem;
	}

	.vis-closing {
		padding: 6.5rem 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.vis-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.vis-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.vis-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.vis-desc {
		max-width: 72rem;
	}

	.vis-statement {
		display: none;
	}

	.vis-core {
		grid-template-columns: 1fr;
		margin-bottom: 6rem;
	}

	.vis-item {
		border-right: 0;
		border-bottom: 1px solid var(--color-border-light);
	}

	.vis-item:last-child {
		border-bottom: 0;
	}

	.vis-item::before {
		top: 0;
		height: 2px;
	}

	.vis-item-inner {
		display: grid;
		grid-template-columns: 7rem minmax(0, 1fr);
		gap: 1.6rem 2.4rem;
		padding: 3.8rem 3rem;
	}

	.vis-item .vis-num {
		grid-row: 1 / span 2;
		grid-column: 1;
	}

	.vis-head {
		grid-row: 1;
		grid-column: 2;
		padding-top: 0;
		border-top: 0;
	}

	.vis-list {
		grid-row: 2;
		grid-column: 2;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem 2.4rem;
	}

	.vis-summary {
		flex-direction: column;
		margin-bottom: 5.5rem;
	}

	.vis-summary-item {
		flex-direction: row;
		gap: 2.4rem;
		padding: 3.6rem 3rem;
	}

	.vis-summary-item .vis-num {
		flex: 0 0 6rem;
	}

	.vis-line {
		width: auto;
		height: 1px;
	}

	.vis-line::after {
		transform: scaleX(0);
		transform-origin: left;
	}

	.vis-summary-item.is-visible+.vis-line::after {
		transform: scaleX(1);
	}

	.vis-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.vis-closing::before {
		right: -2rem;
		font-size: clamp(7rem, 12vw, 11rem);
	}

	.vis-closing::after {
		right: 3%;
		width: 21rem;
	}

	.vis-closing-msg {
		max-width: 64rem;
	}
}

@media screen and (max-width: 768px) {
	.vis-intro {
		padding: 1rem 0 4.5rem;
	}

	.vis-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.vis-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.vis-core {
		margin-bottom: 4.8rem;
	}

	.vis-item-inner {
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
		padding: 3.2rem 2.2rem;
	}

	.vis-item .vis-num {
		font-size: 4rem;
	}

	.vis-head {
		padding-top: 1.4rem;
		border-top: 1px solid var(--color-border-light);
	}

	.vis-name {
		font-size: 2rem;
	}

	.vis-list {
		display: flex;
		flex-direction: column;
		gap: 0.9rem;
	}

	.vis-list li {
		font-size: 1.5rem;
	}

	.vis-summary {
		margin-bottom: 4.5rem;
	}

	.vis-summary-item {
		flex-direction: column;
		gap: 1.3rem;
		padding: 3rem 2.2rem;
	}

	.vis-summary-item .vis-num {
		flex: none;
		font-size: 3.4rem;
	}

	.vis-key {
		font-size: 2rem;
	}

	.vis-text {
		font-size: 1.5rem;
	}


	.vis-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.vis-closing::before {
		content: 'ONE';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.vis-closing::after {
		right: -8rem;
		width: 18rem;
	}

	.vis-closing-msg {
		max-width: 100%;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}

}

@media screen and (max-width: 480px) {
	.vis-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.vis-intro .c_hd_badge {
		margin-bottom: 2rem;
	}

	.vis-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.vis-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.vis-item-inner {
		padding: 2.7rem 1.8rem;
	}

	.vis-item .vis-num {
		font-size: 3.6rem;
	}

	.vis-name {
		font-size: 1.85rem;
	}

	.vis-list li {
		padding-left: 1.4rem;
		font-size: 1.45rem;
		line-height: 1.6;
	}

	.vis-summary-item {
		padding: 2.7rem 1.8rem;
	}

	.vis-summary-item .vis-num {
		font-size: 3.1rem;
	}

	.vis-key {
		font-size: 1.85rem;
	}

	.vis-text {
		font-size: 1.45rem;
	}

	.vis-closing {
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.vis-closing::before {
		font-size: 6.5rem;
	}

	.vis-closing::after {
		display: none;
	}

	.vis-closing-msg {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 320px) {
	.vis-title {
		font-size: 2.75rem;
	}

	.vis-desc {
		font-size: 1.45rem;
	}

	.vis-item-inner,
	.vis-summary-item {
		padding-right: 1.6rem;
		padding-left: 1.6rem;
	}

	.vis-name {
		font-size: 1.75rem;
	}

	.vis-list li {
		font-size: 1.4rem;
	}

	.vis-key {
		font-size: 1.75rem;
	}

	.vis-text {
		font-size: 1.4rem;
	}

	.vis-closing {
		padding: 3.8rem 1.8rem;
	}

	.vis-closing::before {
		display: none;
	}

	.vis-closing-msg {
		font-size: 2rem;
	}
}

/*  모션 최소화 환경  */
@media (prefers-reduced-motion: reduce) {
	.vision .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.vis-statement.js-fade-up,
	.vis-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}

	.vis-line::after,
	.vis-summary-item.is-visible+.vis-line::after {
		transform: scale(1);
		transition: none;
	}

	.vis-item,
	.vis-item::before,
	.vis-num,
	.vis-head,
	.vis-name {
		transition: none;
	}

	.vis-closing::before {
		transition: none;
	}
}


/* ==================================================
	회사소개 - 오시는길
================================================== */
.lo_hd {
	margin-bottom: 6rem;
}

.lo_map {
	width: 100%;
	border-radius: 1.6rem;
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(15, 23, 42, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.05);
	background: #e2e8f0;
}

.lo_map .root_daum_roughmap,
.lo_map .root_daum_roughmap_landing {
	width: 100%;
}

/* 카카오지도 퍼가기 — 하단 안내 영역 숨김 */
.root_daum_roughmap .map_border,
.lo_map .root_daum_roughmap .cont,
.root_daum_roughmap .cont {
	display: none;
}

.root_daum_roughmap .wrap_controllers {
	border: none !important;
}

.lo_cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.4rem;
	margin-top: 5rem;
	align-items: stretch;
}

.lo_card {
	height: 100%;
	box-sizing: border-box;
	background: var(--color-white);
	border: 1px solid var(--color-border-light);
	border-radius: 1.4rem;
	padding: 4.5rem 3.5rem;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	display: flex;
	flex-direction: column;
	transition:
		transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.4s ease,
		border-color 0.4s ease;
}

.lo_card:hover {
	transform: translateY(-1rem);
	box-shadow: 0 25px 45px rgba(15, 23, 42, 0.08), 0 8px 20px rgba(15, 23, 42, 0.03);
	border-color: #cbd5e1;
}

.lo_ico {
	width: 6.5rem;
	height: 6.5rem;
	background: #f1f5f9;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3.5rem;
	color: var(--brand-color-main);
	flex-shrink: 0;
	transition: background 0.3s ease, color 0.3s ease;
}

.lo_card:hover .lo_ico {
	background: var(--brand-color-main);
	color: var(--color-white);
}

.lo_ico svg {
	width: 2.8rem;
	height: 2.8rem;
}

.lo_lbl {
	font-family: var(--font-Pretendard), sans-serif;
	font-size: 1.4rem;
	font-weight: var(--font-eb);
	color: var(--brand-color-main);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 1.2rem;
}

.lo_val {
	font-size: 1.7rem;
	font-weight: var(--font-md);
	color: #0f172a;
	line-height: 1.5;
	word-break: keep-all;
}

.lo_card:first-child .lo_val {
	line-height: 1.65;
	word-break: normal;
	overflow-wrap: anywhere;
}

.lo_sub {
	font-size: 1.4rem;
	color: #64748b;
	font-weight: var(--font-md);
	margin-top: 0.8rem;
	display: none;
}

.lo_person {
	margin-bottom: 1.5rem;
}

.lo_person:last-child {
	margin-bottom: 0;
}

.lo_person .lo_sub {
	margin-top: 0.3rem;
}

/* 반응형CSS */
@media screen and (max-width: 1200px) {
	.lo_cards {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 4rem;
		gap: 2.5rem;
	}

	.lo_card {
		padding: 4rem 3.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.lo_hd {
		margin-bottom: 5rem;
	}

	.lo_map {
		border-radius: 2.4rem;
	}
}

@media screen and (max-width: 768px) {
	.lo_hd {
		margin-bottom: 4rem;
	}

	.lo_map {
		border-radius: 2rem;
	}

	.lo_cards {
		grid-template-columns: 1fr;
		margin-top: 3rem;
		gap: 2rem;
	}

	.lo_card {
		height: auto;
		min-height: 13.5rem;
		padding: 3.5rem 3rem;
		flex-direction: row;
		align-items: center;
		gap: 2.5rem;
	}

	.lo_card:hover {
		transform: none;
	}

	.lo_txt {
		flex: 1;
		min-width: 0;
	}

	.lo_ico {
		margin-bottom: 0;
		width: 6rem;
		height: 6rem;
	}

	.lo_ico svg {
		width: 2.4rem;
		height: 2.4rem;
	}
}

@media screen and (max-width: 480px) {
	.lo_hd {
		margin-bottom: 3.5rem;
	}

	.lo_map {
		border-radius: 1.6rem;
	}

	.lo_cards {
		margin-top: 2.5rem;
		gap: 1.5rem;
	}

	.lo_card {
		min-height: 12rem;
		padding: 2.5rem 2rem;
		gap: 2rem;
		border-radius: 2rem;
	}

	.lo_ico {
		width: 5.4rem;
		height: 5.4rem;
	}

	.lo_ico svg {
		width: 2.2rem;
		height: 2.2rem;
	}

	.lo_lbl {
		font-size: 1.3rem;
		margin-bottom: 1rem;
	}

	.lo_val {
		font-size: 1.55rem;
	}

	.lo_sub {
		font-size: 1.3rem;
	}

	.lo_card:first-child .lo_val {
		font-size: 1.5rem;
	}
}


/* ==================================================
	사업분야 공통 — hero_container
================================================== */
.hero_container {
	position: relative;
	width: 100%;
	height: calc(100vh - var(--header-hei));
	max-height: calc(100vh - var(--header-hei));
	margin-top: var(--header-hei);
	overflow: hidden;
}

.hero_container .hero_bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.hero_container .hero_bg img {
	position: absolute;
	width: auto;
	min-width: 100%;
	height: auto;
	min-height: 100%;
	max-height: 140%;
	/* left: -5.34%; */
	/* top: -20%; */
	object-fit: cover;
	/* transform: translateX(5.34%); */
}

.hero_container .hero_content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 4rem;
	max-width: var(--px-base2);
	height: calc(100% - 10rem);
	margin: 0 auto;
	padding-left: max(var(--rem-30), var(--inner-padding));
	box-sizing: border-box;
}

.hero_container .hero_label {
	font-size: var(--rem-24);
	font-weight: var(--font-md);
	text-transform: uppercase;
	line-height: 1;
}

.hero_container .hero_title {
	font-size: 8.5rem;
	font-weight: var(--font-bd);
	line-height: 1.15;
}

.hero_container .hero_title small {
	display: block;
	margin-top: 1.2rem;
	font-size: clamp(2rem, 2vw, 3rem);
	font-weight: var(--font-md);
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.hero_container .hero_desc {
	max-width: 72rem;
	font-size: var(--rem-28);
	font-weight: var(--font-md);
	line-height: 1.6;
}

.theme-light .hero_container .hero_label {
	color: #59a1ff;
	text-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);
}

.theme-light .hero_container .hero_title,
.theme-light .hero_container .hero_desc {
	color: var(--color-white);
	text-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);
}

.theme-dark .hero_container .hero_label {
	color: #063b9c;
	text-shadow: 0 4px 12px rgba(255, 255, 255, 0.20);
}

.theme-dark .hero_container .hero_title,
.theme-dark .hero_container .hero_desc {
	color: var(--color-black);
	text-shadow: 0 4px 12px rgba(255, 255, 255, 0.20);
}

.hero_container .hero_scroll {
	position: absolute;
	left: 50%;
	bottom: 4rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transform: translateX(-50%);
	animation: heroScrollFloat 1.6s ease-in-out infinite;
}

.hero_container .hero_scroll:focus {
	outline: none;
}

.hero_container .hero_scroll:focus-visible {
	outline: 0.2rem solid var(--color-white);
	outline-offset: 0.4rem;
}

.hero_container .hero_scroll__txt {
	font-size: 1.4rem;
	font-weight: var(--font-md);
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: 1;
}

.hero_container .hero_scroll__mouse {
	position: relative;
	width: 2.4rem;
	height: 4rem;
	border: 0.15rem solid var(--color-white);
	border-radius: 1.2rem;
	box-sizing: border-box;
}

.hero_container .hero_scroll__mouse::after {
	content: "";
	position: absolute;
	top: 0.8rem;
	left: 50%;
	width: 0.2rem;
	height: 0.6rem;
	background: var(--color-white);
	border-radius: 0.1rem;
	transform: translateX(-50%);
}

@keyframes heroScrollFloat {

	0%,
	100% {
		transform: translateX(-50%) translateY(0);
	}

	50% {
		transform: translateX(-50%) translateY(0.7rem);
	}
}

/* 반응형CSS */
@media screen and (max-width: 1400px) {

	.hero_container .hero_bg img {
		max-width: unset;
		height: 100%;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
	}

	.hero_container .hero_title {
		font-size: 7rem;
	}

	.hero_container .hero_desc {
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 1024px) {
	.hero_container .hero_content {
		padding-top: 28rem;
		padding-bottom: 10rem;
		gap: 2.8rem;
	}

	.hero_container .hero_label {
		font-size: 2rem;
	}

	.hero_container .hero_title {
		font-size: 5.6rem;
	}

	.hero_container .hero_desc {
		max-width: 100%;
		font-size: 2rem;
	}
}

@media screen and (max-width: 768px) {
	/* .hero_container .hero_bg img {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		object-fit: cover;
		object-position: center center;
	} */

	.hero_container .hero_content {
		padding: 4rem var(--rem-30) 10rem;
		gap: 2.4rem;
	}

	.hero_container .hero_label {
		font-size: 1.8rem;
	}

	.hero_container .hero_title {
		font-size: 4rem;
	}

	.hero_container .hero_desc {
		font-size: 1.8rem;
	}

	.hero_container .hero_scroll {
		bottom: 2.4rem;
	}
}

@media screen and (max-width: 640px) {

	.hero_container .hero_content {
		padding-top: 3.2rem;
		padding-bottom: 8rem;
		gap: 2rem;
	}

	.hero_container .hero_title {
		font-size: 3.2rem;
	}

	.hero_container .hero_desc {
		font-size: 1.6rem;
	}
}


/* ==================================================
	연구개발 - 연구소 소개
================================================== */
.lab-vis {
	position: relative;
	width: 100%;
	min-height: 520px;
	border-radius: 1.6rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	padding: 5rem 6rem;
	margin-bottom: 10rem;
}

.lab-vis-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.lab-vis-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.lab-vis-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(6, 26, 53, 0.82) 0%, rgba(6, 26, 53, 0.58) 60%, rgba(6, 26, 53, 0.42) 100%);
	z-index: 2;
}

.lab-vis-txt {
	position: relative;
	z-index: 3;
	max-width: 82rem;
	color: #ffffff;
}

.lab-vis .c_hd_badge {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.25);
	color: #ffffff;
	margin-bottom: 2.4rem;
	backdrop-filter: blur(4px);
}

.lab-vis .c_hd_badge .dot {
	background: var(--brand-color-bright);
}

.lab-vis .lab-title {
	font-size: clamp(3rem, 3.8vw, 4.6rem);
	font-weight: var(--font-eb);
	line-height: 1.28;
	letter-spacing: -0.035em;
	color: #ffffff;
	margin-bottom: 2rem;
	word-break: keep-all;
}

.lab-vis .lab-desc {
	color: rgba(255, 255, 255, 0.92);
	margin-bottom: 3rem;
}

.lab-vis .lab-subdesc {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 1.2rem;
	padding: 1.8rem 2.8rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.lab-vis .lab-subdesc p {
	font-size: var(--rem-16);
	color: rgba(255, 255, 255, 0.85);
}

/* --------------------------------------------------
   02. 핵심 연구역량 (.lab-core)  */
.lab-core {
	margin-bottom: 10rem;
}

.lab-core-hd {
	margin-bottom: 5rem;
}

.lab-core-hd .c_hd_badge {
	margin-bottom: 2rem;
}

.lab-core-hd .lab-title {
	font-size: clamp(2.8rem, 3vw, 3.8rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.3;
	letter-spacing: -0.03em;
	margin-bottom: 1.4rem;
	word-break: keep-all;
}

.lab-core-hd .lab-desc {
	color: var(--text-muted);
}

.lab-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

.lab-core .lab-item {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1.4rem;
	overflow: hidden;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.lab-core .lab-item:hover {
	border-color: rgba(22, 70, 158, 0.3);
	box-shadow: 0 10px 30px rgba(0, 26, 53, 0.05);
}

.lab-core .lab-img {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-bg-light);
}

.lab-core .lab-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.lab-core .lab-txt {
	padding: 3rem 2.6rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.lab-core .lab-num {
	font-size: 2.8rem;
	font-weight: var(--font-eb);
	color: var(--brand-color-sub);
	line-height: 1;
	margin-bottom: 0.8rem;
	letter-spacing: -0.02em;
}

.lab-core .lab-eng {
	font-size: var(--rem-13);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.6rem;
}

.lab-core .lab-item-title {
	font-size: var(--rem-22);
	font-weight: var(--font-bd);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.02em;
	margin-bottom: var(--rem-13);
	word-break: keep-all;
}

.lab-core .lab-item-desc {
	font-size: var(--rem-15);
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.7;
	word-break: keep-all;
}

/* --------------------------------------------------
   03. R&D 역량 (.lab-cap)  */
.lab-cap .lab-hd {
	margin-bottom: 4.5rem;
}

.lab-cap .lab-hd .c_hd_badge {
	margin-bottom: 2rem;
}

.lab-cap .lab-title {
	font-size: clamp(2.8rem, 3vw, 3.8rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.3;
	letter-spacing: -0.03em;
	margin-bottom: 1.4rem;
	word-break: keep-all;
}

.lab-cap .lab-desc {
	color: var(--text-muted);
}

/* 4단계 프로세스 가로 배치 (PC) */
.lab-proc-list {
	display: flex;
	align-items: stretch;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1.6rem;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03);
}

.lab-proc-item {
	flex: 1;
	min-width: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 3.8rem 3rem 4rem;
	background: #ffffff;
	transition: background-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}

/* PC 항목 구분선 및 방향 화살표 표시 */
.lab-proc-item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -1.1rem;
	transform: translateY(-50%);
	width: 2.2rem;
	height: 2.2rem;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005eb8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center center no-repeat;
	background-size: 1.3rem;
	border: 1px solid var(--border-soft);
	border-radius: 50%;
	z-index: 10;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.lab-proc-item:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 15%;
	right: 0;
	height: 70%;
	width: 1px;
	background: var(--border-soft);
	z-index: 1;
}

.lab-proc-item:hover {
	background-color: var(--color-bg-light);
}

/* 상단: 레드 포인트 번호 + 브랜드 블루 SVG 아이콘 */
.lab-proc-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2.8rem;
}

.lab-proc-num {
	font-size: var(--rem-24);
	font-weight: var(--font-eb);
	color: var(--brand-color-main);
	line-height: 1;
	letter-spacing: -0.03em;
}

.lab-proc-icon {
	width: var(--rem-60);
	height: var(--rem-60);
	border-radius: 1.2rem;
	background: rgba(0, 94, 184, 0.05);
	border: 1px solid rgba(0, 94, 184, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--brand-color-main);
	/* 브랜드 블루 단색 아이콘 */
	transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.lab-proc-icon img {
	width: var(--rem-34);
	height: var(--rem-34);
}

.lab-proc-item:hover .lab-proc-icon {
	background-color: rgba(0, 94, 184, 0.1);
	border-color: rgba(0, 94, 184, 0.3);
	transform: scale(1.05);
}

/* 본문: 타이포그래피 */
.lab-proc-body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.lab-proc-eng {
	font-size: var(--rem-16);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.8rem;
}

.lab-proc-title {
	font-size: var(--rem-22);
	font-weight: var(--font-bd);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.02em;
	margin-bottom: 1.2rem;
	word-break: keep-all;
}

.lab-proc-desc {
	color: var(--text-muted2);
	line-height: 1.6;
	margin: 0;
	word-break: keep-all;
}

/* --------------------------------------------------
   스크롤 애니메이션 (.js-fade-up)  */
.js-fade-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: var(--fade-up-delay, 0s);
}

.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* 반응형 CSS  */
@media screen and (max-width: 1440px) {
	.lab-vis {
		padding: 4.5rem 5rem;
		min-height: 480px;
	}
}

@media screen and (max-width: 1024px) {
	.lab-vis {
		padding: 4rem 3.5rem;
		min-height: 440px;
		margin-bottom: 7rem;
	}

	.lab-core {
		margin-bottom: 7rem;
	}

	.lab-list {
		gap: 2rem;
	}

	.lab-core .lab-txt {
		padding: 2.4rem 2rem;
	}

	.lab-proc-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.lab-proc-item {
		padding: 3.2rem 2.4rem;
		border-bottom: 1px solid var(--border-soft);
	}

	.lab-proc-item:not(:last-child)::after,
	.lab-proc-item:nth-child(2n)::before {
		display: none;
	}

	.lab-proc-item:nth-last-child(-n+2) {
		border-bottom: none;
	}
}

@media screen and (max-width: 768px) {
	.lab-vis {
		padding: 3.5rem 2.4rem;
		min-height: auto;
		margin-bottom: 5rem;
		border-radius: 1.2rem;
	}

	.lab-vis .lab-title {
		margin-bottom: 1.6rem;
	}

	.lab-vis .lab-subdesc {
		padding: 1.8rem 2rem;
	}

	.lab-core {
		margin-bottom: 5rem;
	}

	.lab-core-hd {
		margin-bottom: 3rem;
	}

	.lab-list {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}

	.lab-core .lab-item {
		border-radius: 1.2rem;
	}

	.lab-cap .lab-hd {
		margin-bottom: 2.5rem;
	}

	.lab-proc-list {
		grid-template-columns: 1fr;
		border-radius: 1.4rem;
	}

	.lab-proc-item {
		display: grid;
		grid-template-columns: var(--rem-55) 1fr;
		grid-template-rows: auto auto;
		gap: 0.4rem 2rem;
		align-items: start;
		padding: 2.5rem 2rem;
		border-bottom: 1px solid var(--border-soft);
	}

	.lab-proc-item::after,
	.lab-proc-item::before {
		display: none !important;
	}

	.lab-proc-item:last-child {
		border-bottom: none;
	}

	.lab-proc-top {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin-bottom: 0;
		flex-direction: column;
		justify-content: flex-start;
		gap: 1rem;
		align-items: center;
	}

	.lab-proc-body {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.lab-proc-icon {
		width: var(--rem-55);
		height: var(--rem-55);
	}

	.lab-proc-icon img {
		width: var(--rem-30);
		height: var(--rem-30);
	}
}

@media screen and (max-width: 480px) {
	.lab-vis {
		padding: 3rem 1.8rem;
	}

	.lab-vis .c_hd_badge {
		margin-bottom: 1.6rem;
	}

	.lab-vis .lab-subdesc {
		padding: 1.5rem 1.6rem;
		gap: 1rem;
	}

	.lab-core .lab-txt {
		padding: 2rem 1.6rem;
	}

	.lab-core .lab-num {
		font-size: var(--rem-24);
	}

	.lab-core .lab-item-title {
		font-size: var(--rem-18);
	}


	.lab-proc-item {
		padding: 2.2rem 1.6rem;
		grid-template-columns: 4.6rem 1fr;
		gap: 0.4rem 1.4rem;
	}

	.lab-proc-icon {
		width: 4.6rem;
		height: 4.6rem;
	}

	.lab-proc-icon img {
		width: 2.6rem;
		height: 2.6rem;
	}
}


/* ==================================================
	사업분야 - 전차 브레이크 시스템 (Mobility Equipment Modules)
================================================== */
.biz-tb {
	width: 100%;
}

.biz-tb .biz-desc {
	font-size: clamp(1.6rem, 1.4vw, 1.8rem);
	line-height: 1.65;
	word-break: keep-all;
	margin-bottom: 3.5rem;
}

.biz-tb .biz-desc span.block {
	display: block;
	font-size: var(--rem-24);
	font-weight: var(--font-bd);
	color: var(--brand-color-dmain);
}

/* 상단 장비 비주얼 영역 */
.biz-tb .biz-mdl-vis {
	position: relative;
	border: 1px solid #e2e8f0;
	border-radius: 2.4rem;
	padding: 2.4rem;
	background-color: #ffffff;
	margin-bottom: 6rem;
}

.biz-tb .biz-mdl-img-wrap {
	position: relative;
	width: 100%;
	border-radius: 1.6rem;
	overflow: hidden;
	background-color: #0f172a;
}

.biz-tb .biz-mdl-img {
	width: 100%;
	height: auto;
	aspect-ratio: 1400 / 631;
	object-fit: cover;
	display: block;
}

/* 포인트 좌표 기본 설정 (포인트 위치 변경 구조) */
/* 기동 장비 모듈 */
.biz-tb .biz-mdl-spt01 {
	--spot-x: 42%;
	--spot-y: 65%;
}

/* 빨간 원형 포인트 버튼 */
.biz-tb .biz-mdl-spt {
	position: absolute;
	left: var(--spot-x);
	top: var(--spot-y);
	transform: translate(-50%, -50%);
	width: 4.2rem;
	height: 4.2rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	border: solid 1px var(--brand-color-sub);
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.25s ease, box-shadow 0.25s ease;
}

.biz-tb .biz-mdl-spt::after {
	content: '';
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background-color: var(--brand-color-sub);
	box-shadow: 0 0 1rem rgba(239, 68, 68, 0.7);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.biz-tb .biz-mdl-spt:hover,
.biz-tb .biz-mdl-spt.active {
	transform: translate(-50%, -50%) scale(1.15);
	background: rgba(239, 68, 68, 0.5);
}

.biz-tb .biz-mdl-spt:focus-visible {
	outline: 2px solid var(--brand-color-sub);
	outline-offset: 3px;
}

/* 상세 제품 패널 (Glassmorphism) */
.biz-tb .biz-mdl-dtl {
	position: absolute;
	top: 22%;
	left: 12%;
	z-index: 20;
	width: 26.4rem;
	padding: 1.8rem;
	padding-top: 5rem;
	border-radius: 25px;
	background: rgba(255, 255, 255, 0.61);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	/* background: rgba(255, 255, 255, 0.82); */
	/* backdrop-filter: blur(16px); */
	/* -webkit-backdrop-filter: blur(16px); */
	/* border: 1px solid rgba(255, 255, 255, 0.9); */
	border-radius: var(--rem-18);
	box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(1rem);
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.mobility_eq .biz-tb .biz-mdl-dtl {
	width: 45rem;
}

.mobility_eq .biz-tb .biz-mdl-dtl-img-box {
	height: 18rem;
}

.biz-tb .biz-mdl-dtl.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.biz-tb .biz-mdl-dtl-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.6rem;
	height: 3.6rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.86);
	color: var(--color-black2);
	font: inherit;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.biz-tb .biz-mdl-dtl-close i {
	display: block;
	font-size: 1.8rem;
	line-height: 1;
}

.biz-tb .biz-mdl-dtl-close:hover {
	background-color: #fff;
	transform: scale(1.05);
}

.biz-tb .biz-mdl-dtl-close:focus-visible {
	outline: 2px solid var(--brand-color-main);
	outline-offset: 2px;
}

.biz-tb .biz-mdl-dtl-img-box {
	position: relative;
	width: 100%;
	height: 16rem;
	/* background: rgba(241, 245, 249, 0.9); */
	border-radius: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.biz-tb .biz-mdl-dtl-img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	opacity: 1;
	transform: translateX(0);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.biz-tb .biz-mdl-dtl-img.change {
	opacity: 0;
	transform: translateX(0.6rem);
}

.biz-tb .biz-mdl-dtl-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	padding: 0 0.6rem;
	pointer-events: none;
}

.biz-tb .biz-mdl-dtl-btn {
	pointer-events: auto;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.biz-tb .biz-mdl-dtl-btn i {
	font-size: var(--rem-18);
	color: var(--color-black2);
}

.biz-tb .biz-mdl-dtl-btn:hover {
	background-color: rgba(255, 255, 255, 0.8);
	color: #0f172a;
}

.biz-tb .biz-mdl-dtl-dots {
	display: flex;
	gap: 0.8rem;
	justify-content: center;
	align-items: center;
	margin-top: 1.4rem;
	margin-bottom: 1.4rem;
}

.biz-tb .biz-mdl-dtl-dot {
	width: 0.8rem;
	height: 0.8rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: #cbd5e1;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.biz-tb .biz-mdl-dtl-dot.active {
	background-color: #ef4444;
	transform: scale(1.1);
}

.biz-tb .biz-mdl-dtl-dot:focus-visible {
	outline: 2px solid #ef4444;
	outline-offset: 3px;
}

.biz-tb .biz-mdl-dtl-line {
	width: 100%;
	height: 1px;
	background-color: rgba(0, 0, 0, 0.08);
	margin-bottom: 1.4rem;
}

.biz-tb .biz-mdl-dtl-hd {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.biz-tb .biz-mdl-dtl-tit {
	font-size: 1.5rem;
	font-weight: var(--font-bd);
	color: #1e293b;
	line-height: 1.3;
}

.biz-tb .biz-mdl-dtl-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	border-radius: 50%;
	cursor: pointer;
}

.biz-tb .biz-mdl-dtl-icon:focus-visible {
	outline: 2px solid #0c3875;
	outline-offset: 3px;
}

/* 이미지 아래 클릭 안내 문구 */
.biz-tb .biz-mdl-guide {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-top: 1.6rem;
}

.biz-tb .biz-mdl-guide-icon {
	display: inline-block;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: rgba(239, 68, 68, 0.25);
	position: relative;
	flex-shrink: 0;
}

.biz-tb .biz-mdl-guide-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background-color: #ef4444;
}

.biz-tb .biz-mdl-guide-txt {
	font-size: 1.4rem;
	font-weight: var(--font-rg);
	color: #475569;
}

/* 주요 생산 부품 영역 */
.biz-tb .biz-mdl-pro {
	margin-top: 8rem;
}

.biz-tb .biz-mdl-pro-top {
	margin-bottom: 4rem;
}

.biz-tb .biz-mdl-pro-tit {
	font-size: clamp(2.4rem, 2.5vw, 3.2rem);
	font-weight: var(--font-bd);
	color: #0c3875;
	line-height: 1.3;
	margin-bottom: 1.6rem;
}

.biz-tb .biz-mdl-pro-line {
	width: 100%;
	height: 1px;
	background-color: #cbd5e1;
}

.biz-tb .biz-mdl-pro-grp {
	margin-bottom: 5rem;
	scroll-margin-top: calc(var(--header-hei, 10rem) + 4rem);
}

.biz-tb .biz-mdl-pro-grp:last-child {
	margin-bottom: 0;
}

.biz-tb .biz-mdl-pro-hd {
	display: flex;
	align-items: baseline;
	gap: 1.6rem;
	margin-bottom: 2rem;
}

.biz-tb .biz-mdl-pro-name {
	font-size: clamp(2rem, 1.8vw, 2.4rem);
	font-weight: var(--font-bd);
	color: #1e293b;
	line-height: 1.35;
}

.biz-tb .biz-mdl-pro-desc {
	font-size: var(--rem-16);
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.5;
}

/* 대표 부품 */
.biz-tb .biz-mdl-pro-main {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(32rem, 0.65fr);
	min-height: 42rem;
	margin-bottom: 3.2rem;
	border-radius: 2.4rem;
	overflow: hidden;
	background: #f3f6fa;
	border: 1px solid #e1e7ef;
}

.biz-tb .biz-mdl-pro-main-img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42rem;
	padding: 4rem;
	background: #eef2f7;
}

.biz-tb .biz-mdl-pro-main-img img {
	display: block;
	width: auto;
	height: 40rem;
	aspect-ratio: 4 / 3;
	max-height: 40rem;
	object-fit: contain;
}

@media screen and (max-width: 768px) {
	.biz-tb .biz-mdl-pro-main-img img {
		width: min(100%, 24rem);
		height: auto;
		max-height: 36rem;
	}
}

.biz-tb .biz-mdl-pro-main-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2.4rem;
	padding: 4.8rem;
	background: #fff;
}

.biz-tb .biz-mdl-pro-main-info h5 {
	color: #172033;
	font-size: clamp(2.4rem, 2.4vw, 3.4rem);
	font-weight: var(--font-bd);
	line-height: 1.3;
}

.biz-tb .biz-mdl-pro-main-info h5+.biz-tb .biz-mdl-pro-main-desc {
	margin-top: 1.6rem;
}

.biz-tb .biz-mdl-pro-main-desc {
	color: #5d6878;
	font-size: var(--rem-16);
	line-height: 1.7;
	word-break: keep-all;
}

.biz-tb .biz-mdl-pro-main-spec,
.biz-tb .biz-mdl-pro-meta {
	margin: 0;
}

.biz-tb .biz-mdl-pro-main-spec {
	border-top: 1px solid #dfe5ed;
}

.biz-tb .biz-mdl-pro-main-spec>div,
.biz-tb .biz-mdl-pro-meta>div {
	display: grid;
	grid-template-columns: 8rem minmax(0, 1fr);
	align-items: start;
}

.biz-tb .biz-mdl-pro-main-spec>div {
	padding: 1.5rem 0;
	border-bottom: 1px solid #dfe5ed;
}

.biz-tb .biz-mdl-pro-main-spec dt,
.biz-tb .biz-mdl-pro-meta dt {
	color: #7a8595;
	font-weight: var(--font-md);
}

.biz-tb .biz-mdl-pro-main-spec dd,
.biz-tb .biz-mdl-pro-meta dd {
	margin: 0;
	font-weight: var(--font-md);
	line-height: 1.5;
	word-break: keep-all;
}

.biz-tb .biz-mdl-pro-li {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.4rem;
}

.biz-tb .biz-mdl-pro-item {
	background-color: #ffffff;
	border-radius: 1.6rem;
	overflow: hidden;
	border: 1px solid #e1e7ef;
}

.biz-tb .biz-mdl-pro-img-box {
	background-color: #f5f6f8;
	width: 100%;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.biz-tb .biz-mdl-pro-img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}

.biz-tb .biz-mdl-pro-meta {
	padding: 1.6rem 2rem 1.8rem;
}

.biz-tb .biz-mdl-pro-meta>div+div {
	margin-top: 0.8rem;
}

/* 반응형 스타일 */
@media screen and (max-width: 1440px) {
	.biz-tb .biz-mdl-vis {
		padding: 2rem;
	}

	.biz-tb .biz-mdl-pro-li {
		gap: 2rem;
	}
}

@media screen and (max-width: 1024px) {
	.biz-tb .biz-mdl-pro-main {
		grid-template-columns: 1fr 1fr;
		min-height: 36rem;
	}

	.biz-tb .biz-mdl-pro-main-img {
		min-height: 36rem;
		padding: 3rem;
	}

	.biz-tb .biz-mdl-pro-main-info {
		padding: 3.2rem;
	}

	.biz-tb .biz-mdl-pro-li {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.8rem;
	}

	.biz-tb .biz-mdl-dtl {
		width: 24rem;
		padding: 1.4rem;
		top: 18%;
	}

	.biz-tb .biz-mdl-dtl-img-box {
		height: 13rem;
	}
}

@media screen and (max-width: 768px) {
	.biz-tb .biz-mdl-pro-main {
		grid-template-columns: 1fr;
	}

	.biz-tb .biz-mdl-pro-main-img {
		min-height: 32rem;
	}

	.biz-tb .biz-mdl-pro-main-info {
		padding: 3rem;
		border-top: 0;
		border-left: 1px solid #e1e7ef;
	}

	/* 기동 장비 모듈 */
	.biz-tb .biz-mdl-spt01 {
		--spot-x: 42%;
		--spot-y: 65%;
	}


	.biz-tb .biz-mdl-spt {
		width: var(--rem-28);
		height: var(--rem-28);
	}

	.biz-tb .biz-mdl-spt::after {
		width: var(--rem-14);
		height: var(--rem-14);
	}

	.biz-tb .biz-mdl-vis {
		padding: var(--rem-14);
		border-radius: 1.6rem;
	}

	.biz-tb .biz-mdl-dtl {
		width: 21rem;
		padding: 1.2rem;
		border-radius: var(--rem-14);
		top: 12%;
	}

	.biz-tb .biz-mdl-dtl-img-box {
		height: 11rem;
	}

	.biz-tb .biz-mdl-pro-hd {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
	}

	.biz-tb .biz-mdl-pro-desc {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 480px) {
	.biz-tb .biz-mdl-pro-main {
		margin-bottom: 2.4rem;
		border-radius: 1.6rem;
	}

	.biz-tb .biz-mdl-pro-main-img {
		min-height: 25rem;
		padding: 2.4rem 1.6rem;
	}

	.biz-tb .biz-mdl-pro-main-info {
		padding: 2.4rem 2rem;
	}

	.biz-tb .biz-mdl-pro-main-spec>div,
	.biz-tb .biz-mdl-pro-meta>div {
		grid-template-columns: 7rem minmax(0, 1fr);
	}

	.biz-tb .biz-mdl-pro-li {
		grid-template-columns: repeat(1, 1fr);
		gap: 1.4rem;
	}

	.biz-tb .biz-mdl-dtl {
		position: absolute;
		left: 5% !important;
		right: 5% !important;
		width: auto;
		top: auto;
		bottom: 5%;
	}
}

@media (prefers-reduced-motion: reduce) {

	.biz-tb .biz-mdl-spt,
	.biz-tb .biz-mdl-spt::after,
	.biz-tb .biz-mdl-dtl,
	.biz-tb .biz-mdl-dtl-img,
	.biz-tb .biz-mdl-dtl-dot {
		transition: none !important;
	}
}

/* 유도무기 구성 모듈 - 포인트 좌표 / 패널 위치 */
.biz-guided .biz-mdl-spt01 {
	--spot-x: 38.5%;
	--spot-y: 24%;
}

.biz-guided .biz-mdl-spt02 {
	--spot-x: 62%;
	--spot-y: 44%;
}

.biz-guided .biz-mdl-spt03 {
	--spot-x: 84%;
	--spot-y: 83%;
}

.biz-guided .biz-mdl-dtl {
	top: 10%;
}

@media screen and (max-width: 768px) {
	.biz-guided .biz-mdl-spt01 {
		--spot-x: 38.5%;
		--spot-y: 24%;
	}

	.biz-guided .biz-mdl-spt02 {
		--spot-x: 62%;
		--spot-y: 44%;
	}

	.biz-guided .biz-mdl-spt03 {
		--spot-x: 83.5%;
		--spot-y: 82%;
	}

	.biz-guided .biz-mdl-dtl {
		top: 8%;
	}
}

/* 항공기 구성품 - 포인트 좌표 / 패널 위치 */
.biz-aircraft .biz-mdl-spt01 {
	--spot-x: 30%;
	--spot-y: 63.5%;
}

.biz-aircraft .biz-mdl-spt02 {
	--spot-x: 73.5%;
	--spot-y: 66%;
}

/* .biz-aircraft .biz-mdl-spt03 {
	--spot-x: 80%;
	--spot-y: 55%;
} */

.biz-aircraft .biz-mdl-dtl {
	top: 5%;
}

@media screen and (max-width: 768px) {
	.biz-aircraft .biz-mdl-spt01 {
		--spot-x: 30%;
		--spot-y: 63.5%;
	}

	.biz-aircraft .biz-mdl-spt02 {
		--spot-x: 73.5%;
		--spot-y: 66%;
	}

	/* .biz-aircraft .biz-mdl-spt03 {
		--spot-x: 82%;
		--spot-y: 60%;
	} */

	.biz-aircraft .biz-mdl-dtl {
		top: 8%;
	}
}

/* 우주·인공위성 구성품 - 포인트 좌표 / 패널 위치 */
.biz-satellite .biz-mdl-img {
	object-position: 58% 42%;
}

.biz-satellite .biz-mdl-spt01 {
	--spot-x: 66%;
	--spot-y: 43.5%;
}

/* .biz-satellite .biz-mdl-spt02 {
	--spot-x: 44%;
	--spot-y: 38%;
} */

.biz-satellite .biz-mdl-dtl {
	top: 10%;
}

@media screen and (max-width: 768px) {
	.biz-satellite .biz-mdl-spt01 {
		--spot-x: 66%;
		--spot-y: 43.5%;
	}

	/* .biz-satellite .biz-mdl-spt02 {
		--spot-x: 44%;
		--spot-y: 36%;
	} */

	.biz-satellite .biz-mdl-dtl {
		top: 8%;
	}
}

/* CTIS 시스템 - 포인트 좌표 / 패널 위치 */
.biz-ctis .biz-mdl-img {
	object-position: 50% 50%;
}

.biz-ctis .biz-mdl-spt01 {
	--spot-x: 39%;
	--spot-y: 44%;
}

.biz-ctis .biz-mdl-spt02 {
	--spot-x: 62%;
	--spot-y: 63%;
}

.biz-ctis .biz-mdl-spt03 {
	--spot-x: 54.5%;
	--spot-y: 70%;
}

.biz-ctis .biz-mdl-spt04 {
	--spot-x: 47%;
	--spot-y: 40%;
}

.biz-ctis .biz-mdl-spt05 {
	--spot-x: 40%;
	--spot-y: 74%;
}

.biz-ctis .biz-mdl-dtl {
	top: 9%;
	background: rgba(255, 255, 255, 0.84);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.biz-ctis .biz-mdl-pro {
	margin-bottom: 8rem;
}

.biz-ctis .biz-ctis-info {
	margin-bottom: 0;
}

.biz-ctis .biz-ctis-sec {
	display: grid;
	grid-template-columns: 20rem minmax(0, 1fr);
	gap: clamp(4rem, 5vw, 7rem);
	align-items: start;
	margin: 0;
	padding: 0;
}

.biz-ctis .biz-ctis-sec+.biz-ctis-sec {
	margin-top: 9rem;
}

.biz-ctis .biz-ctis-hd {
	position: sticky;
	top: calc(var(--header-hei, 8rem) + 2rem);
	align-self: start;
	margin-bottom: 0;
}

.biz-ctis .biz-ctis-tit {
	font-size: clamp(2.4rem, 2.5vw, 3.2rem);
	font-weight: var(--font-bd);
	line-height: 1.2;
	color: var(--cw-navy);
	margin-bottom: 0.8rem;
}

.biz-ctis .biz-ctis-tit-en {
	font-size: var(--rem-16);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.5;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}


.biz-ctis .biz-ctis-app {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--cw-navy);
	list-style: none;
}

.biz-ctis .biz-ctis-app-item {
	min-width: 0;
	padding: clamp(3rem, 3vw, 3.8rem) clamp(2.4rem, 3vw, 3.4rem);
	border-bottom: 1px solid #dbe3ee;
}

.biz-ctis .biz-ctis-app-item:nth-child(odd) {
	border-right: 1px solid #dbe3ee;
}

.biz-ctis .biz-ctis-app-name {
	display: flex;
	flex-direction: column-reverse;
	gap: 1rem;
	margin-bottom: 1.6rem;
}

.biz-ctis .biz-ctis-app-name span {
	font-size: 1.15rem;
	font-weight: var(--font-md);
	color: var(--brand-color-main);
	line-height: 1.45;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.biz-ctis .biz-ctis-app-name strong {
	font-size: clamp(1.9rem, 1.7vw, 2.3rem);
	font-weight: var(--font-bd);
	color: #111827;
	line-height: 1.4;
	word-break: keep-all;
}

.biz-ctis .biz-ctis-app-desc {
	font-size: var(--rem-16);
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.85;
	word-break: keep-all;
}

@media screen and (max-width: 1200px) {
	.biz-ctis .biz-ctis-sec {
		grid-template-columns: 16rem minmax(0, 1fr);
		gap: 4rem;
	}

	.biz-ctis .biz-ctis-app-item {
		padding-right: 2.4rem;
		padding-left: 2.4rem;
	}
}

@media screen and (max-width: 1024px) {
	.biz-ctis .biz-ctis-sec {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.biz-ctis .biz-ctis-sec+.biz-ctis-sec {
		margin-top: 7rem;
	}

	.biz-ctis .biz-ctis-hd {
		position: static;
	}

	.biz-ctis .biz-ctis-tit {
		font-size: clamp(2.7rem, 4vw, 3.4rem);
	}
}

@media screen and (max-width: 768px) {
	.biz-ctis .biz-mdl-spt01 {
		--spot-x: 39%;
		--spot-y: 44%;
	}

	.biz-ctis .biz-mdl-spt02 {
		--spot-x: 62%;
		--spot-y: 63%;
	}

	.biz-ctis .biz-mdl-spt03 {
		--spot-x: 54.5%;
		--spot-y: 70%;
	}

	.biz-ctis .biz-mdl-spt04 {
		--spot-x: 47%;
		--spot-y: 40%;
	}

	.biz-ctis .biz-mdl-spt05 {
		--spot-x: 40%;
		--spot-y: 74%;
	}

	.biz-ctis .biz-mdl-dtl {
		top: 8%;
	}

	.biz-ctis .biz-mdl-pro {
		margin-bottom: 6rem;
	}

	.biz-ctis .biz-ctis-sec {
		gap: 2.6rem;
	}

	.biz-ctis .biz-ctis-sec+.biz-ctis-sec {
		margin-top: 5.5rem;
	}

	.biz-ctis .biz-ctis-app {
		grid-template-columns: 1fr;
	}

	.biz-ctis .biz-ctis-app-item,
	.biz-ctis .biz-ctis-app-item:nth-child(odd),
	.biz-ctis .biz-ctis-app-item:nth-last-child(-n+2) {
		border-right: 0;
		border-bottom: 1px solid #dbe3ee;
		padding: 2.7rem 0;
	}

	.biz-ctis .biz-ctis-app-item:last-child {
		border-bottom: 0;
	}
}

@media screen and (max-width: 600px) {
	.biz-ctis .biz-ctis-sec+.biz-ctis-sec {
		margin-top: 5rem;
	}
}

@media screen and (max-width: 480px) {
	.biz-ctis .biz-ctis-tit {
		font-size: 2.6rem;
	}

	.biz-ctis .biz-ctis-tit-en {
		font-size: 1.1rem;
	}

	.biz-ctis .biz-ctis-app-name strong {
		font-size: 1.9rem;
	}

	.biz-ctis .biz-ctis-app-desc {
		font-size: 1.45rem;
		line-height: 1.75;
	}
}


/* CTIS 차량별 설계·적용 기술 */
.biz-ctis .biz-ctis-eng {
	margin-top: 11rem;
	padding-top: 7rem;
	border-top: 1px solid #dbe3ee;
}

.biz-ctis .biz-ctis-eng-hd {
	max-width: 108rem;
	margin-bottom: 5.5rem;
}

.biz-ctis .biz-ctis-eng-en {
	margin-bottom: 1.4rem;
	font-size: var(--rem-14);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.5;
	letter-spacing: 1.25px;
}

.biz-ctis .biz-ctis-eng-tit {
	max-width: 88rem;
	margin-bottom: 2.2rem;
	font-size: clamp(3rem, 3.5vw, 4.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.3;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.biz-ctis .biz-ctis-eng-desc {
	font-size: clamp(1.6rem, 1.35vw, 1.8rem);
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.85;
	word-break: keep-all;
}

.biz-ctis .biz-ctis-eng-li {
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--cw-navy);
	list-style: none;
}

.biz-ctis .biz-ctis-eng-item {
	display: grid;
	grid-template-columns: 16rem minmax(0, 1fr);
	gap: 4rem;
	align-items: start;
	padding: 4.6rem 2rem;
	border-bottom: 1px solid #dbe3ee;
}

.biz-ctis .biz-ctis-eng-no {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.8rem;
}

.biz-ctis .biz-ctis-eng-no span {
	display: none;
	font-size: 1.15rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.biz-ctis .biz-ctis-eng-no strong {
	font-size: clamp(4.8rem, 5vw, 7rem);
	font-weight: var(--font-eb);
	color: rgba(22, 70, 158, 0.16);
	line-height: 1;
	letter-spacing: -0.05em;
}

.biz-ctis .biz-ctis-eng-body {
	min-width: 0;
}

.biz-ctis .biz-ctis-eng-type {
	margin-bottom: 1rem;
	font-size: var(--rem-14);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.45;
	letter-spacing: 0.1em;
}

.biz-ctis .biz-ctis-eng-body h4 {
	margin-bottom: 1.8rem;
	font-size: clamp(2.2rem, 2vw, 2.8rem);
	font-weight: var(--font-bd);
	color: #111827;
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.biz-ctis .biz-ctis-eng-body>p:not(.biz-ctis-eng-type) {
	/* max-width: 104rem; */
	margin: 0;
	font-size: var(--rem-16);
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.85;
	word-break: keep-all;
}

.biz-ctis .biz-ctis-eng-body>p:not(.biz-ctis-eng-type)+p {
	margin-top: 1.2rem;
}

@media screen and (max-width: 1024px) {
	.biz-ctis .biz-ctis-eng {
		margin-top: 8rem;
		padding-top: 5.5rem;
	}

	.biz-ctis .biz-ctis-eng-hd {
		margin-bottom: 4.5rem;
	}

	.biz-ctis .biz-ctis-eng-item {
		grid-template-columns: 12rem minmax(0, 1fr);
		gap: 3rem;
		padding: 4rem 0;
	}
}

@media screen and (max-width: 768px) {
	.biz-ctis .biz-ctis-eng {
		margin-top: 6rem;
		padding-top: 4.5rem;
	}

	.biz-ctis .biz-ctis-eng-hd {
		margin-bottom: 3.5rem;
	}

	.biz-ctis .biz-ctis-eng-tit {
		font-size: clamp(2.8rem, 7vw, 3.8rem);
	}

	.biz-ctis .biz-ctis-eng-item {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 3.2rem 0;
	}

	.biz-ctis .biz-ctis-eng-no {
		flex-direction: row;
		align-items: baseline;
		gap: 1rem;
	}

	.biz-ctis .biz-ctis-eng-no strong {
		font-size: 3.8rem;
	}

	.biz-ctis .biz-ctis-eng-body h4 {
		margin-bottom: 1.4rem;
		font-size: 2.1rem;
	}
}

@media screen and (max-width: 480px) {
	.biz-ctis .biz-ctis-eng {
		margin-top: 5rem;
		padding-top: 4rem;
	}

	.biz-ctis .biz-ctis-eng-en,
	.biz-ctis .biz-ctis-eng-type {
		font-size: 1.05rem;
		letter-spacing: 0.8px;
	}

	.biz-ctis .biz-ctis-eng-tit {
		margin-bottom: 1.8rem;
		font-size: 2.6rem;
	}

	.biz-ctis .biz-ctis-eng-desc,
	.biz-ctis .biz-ctis-eng-body>p:not(.biz-ctis-eng-type) {
		font-size: 1.45rem;
		line-height: 1.75;
	}

	.biz-ctis .biz-ctis-eng-item {
		padding: 2.8rem 0;
	}

	.biz-ctis .biz-ctis-eng-body h4 {
		font-size: 1.95rem;
	}
}


/* ==================================================
	연구개발 - 연구분야 및 실적
================================================== */
.fld-hd {
	margin-bottom: 4rem;
}

.fld-hd .c_hd_badge {
	margin-bottom: 2rem;
}

.fld-title {
	font-size: clamp(2.8rem, 3vw, 3.8rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.3;
	letter-spacing: -0.03em;
	margin-bottom: 1.4rem;
	word-break: keep-all;
}

.fld-desc {
	font-size: clamp(1.6rem, 1.3vw, 1.8rem);
	color: var(--text-muted);
	word-break: keep-all;
}

.fld-table-wrap {
	width: 100%;
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1.4rem;
	overflow: hidden;
}

table.fld-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}

.fld-table th {
	background: var(--cw-navy);
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: var(--font-bd);
	padding: 1.8rem 2rem;
	letter-spacing: -0.01em;
	border-bottom: 3px solid var(--brand-color-main);
	white-space: nowrap;
}

.fld-table td {
	padding: 2rem 2rem;
	font-size: 1.55rem;
	color: var(--color-gray5);
	border-bottom: 1px solid var(--border-soft);
	line-height: 1.5;
	vertical-align: middle;
	transition: background-color 0.2s ease;
}

.fld-table tr:last-child td {
	border-bottom: none;
}

.fld-table tr:hover td {
	background-color: var(--color-bg-light);
}

.fld-table td.txt-left {
	text-align: left;
	font-weight: var(--font-sb);
	color: var(--cw-navy);
}

.fld-tag {
	display: inline-block;
	padding: 0.4rem 1.4rem;
	border-radius: 2rem;
	font-size: 1.3rem;
	font-weight: var(--font-bd);
	background: rgba(22, 70, 158, 0.08);
	color: var(--brand-color-main);
	border: 1px solid rgba(22, 70, 158, 0.15);
}

@media screen and (max-width: 1024px) {

	.fld-table th,
	.fld-table td {
		padding: 1.6rem 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.fld-hd {
		margin-bottom: 2.5rem;
	}

	.fld-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	table.fld-table {
		min-width: 620px;
	}
}


/* ==================================================
	연구개발 - 검사장비
================================================== */
.ins-hd {
	margin-bottom: 4.5rem;
}

.ins-tit {
	font-size: clamp(2.8rem, 3.8vw, 4.4rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.03em;
	word-break: keep-all;
	margin-bottom: 2rem;
}

.ins-tit span {
	color: var(--brand-color-main);
}

.ins-desc {
	font-size: 1.8rem;
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.7;
	word-break: keep-all;
}

.ins-row {
	display: flex;
	gap: 3rem;
	margin-bottom: 4rem;
	align-items: flex-start;
}

.ins-row>.ins-box:first-child {
	/* flex: 1.5; */
	flex: 1;
}

.ins-row>.ins-box:last-child {
	flex: 1;
}

.ins-grid {
	display: grid;
	/* grid-template-columns: repeat(2, 1fr); */
	grid-template-columns: calc(40% - 3rem) 60%;
	gap: 3rem;
	margin-bottom: 4rem;
}

.ins-box {
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1.4rem;
	padding: 3.5rem 3rem;
}

.ins-box h3 {
	font-size: 2.2rem;
	font-weight: var(--font-bd);
	color: var(--cw-navy);
	margin-bottom: 1rem;
	letter-spacing: -0.02em;
}

.ins-box p {
	font-size: 1.55rem;
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.6;
	margin-bottom: 2.5rem;
	word-break: keep-all;
}

.ins-tbl {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ins-tbl table {
	width: 100%;
	border-collapse: collapse;
}

.ins-tbl th {
	background: #f1f5f9;
	color: var(--cw-navy);
	font-size: 1.5rem;
	font-weight: var(--font-bd);
	padding: 1.4rem 1.6rem;
	border-top: 2px solid var(--cw-navy);
	border-bottom: 1px solid #cbd5e1;
}

.ins-tbl td {
	padding: 1.5rem 1.6rem;
	font-size: 1.5rem;
	color: var(--color-black2);
	border-bottom: 1px solid var(--border-soft);
	vertical-align: middle;
}

.ins-tbl tr:last-child td {
	border-bottom: none;
}

.ins-tbl th:first-child,
.ins-tbl td:first-child {
	text-align: left;
	word-break: keep-all;
}

.ins-tbl th:nth-child(2),
.ins-tbl td:nth-child(2) {
	text-align: center;
	white-space: nowrap;
}

.ins-tbl th:nth-child(3),
.ins-tbl td:nth-child(3) {
	text-align: center;
	white-space: nowrap;
}

.ins-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.ins-list li {
	position: relative;
	padding: 1.4rem 1.8rem;
	background: #f8fafc;
	border: 1px solid var(--border-soft);
	border-radius: 0.8rem;
	font-size: 1.55rem;
	font-weight: var(--font-sb);
	color: var(--cw-navy);
	display: flex;
	align-items: center;
	word-break: keep-all;
}

.ins-list li::before {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	background: var(--brand-color-main);
	border-radius: 50%;
	margin-right: 1.2rem;
	flex-shrink: 0;
}

.ins-flow {
	background: #f8fafc;
	border: 1px solid var(--border-soft);
	border-radius: 1.4rem;
	padding: 4rem 3.5rem;
}

.ins-flow h3 {
	width: 100%;
	font-size: 2.2rem;
	font-weight: var(--font-bd);
	color: var(--cw-navy);
	margin-bottom: 0.8rem;
	letter-spacing: -0.02em;
}

.ins-flow p {
	width: 100%;
	font-size: 1.55rem;
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.6;
	margin-bottom: 2.5rem;
	word-break: keep-all;
}

.ins-flow-step {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2rem;
}

.ins-step {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 1.6rem;
	padding: 2.2rem 2.5rem;
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1rem;
	position: relative;
}

.ins-step strong {
	font-size: 2rem;
	font-weight: var(--font-eb);
	color: var(--brand-color-main);
	letter-spacing: -0.02em;
	line-height: 1;
}

.ins-step span {
	font-size: 1.65rem;
	font-weight: var(--font-bd);
	color: var(--cw-navy);
}

.ins-img {
	background: #ffffff;
	border: 1px solid var(--border-soft);
	border-radius: 1.4rem;
	padding: 3.5rem 3rem;
	margin-bottom: 4rem;
}

.ins-img h3 {
	font-size: 2.2rem;
	font-weight: var(--font-bd);
	color: var(--cw-navy);
	margin-bottom: 1rem;
	letter-spacing: -0.02em;
}

.ins-img>p {
	font-size: 1.55rem;
	font-weight: var(--font-rg);
	color: #64748b;
	line-height: 1.6;
	margin-bottom: 2.5rem;
	word-break: keep-all;
}

.ins-img .ins-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.ins-img .ins-list li {
	display: flex;
	flex-direction: column;
	background: #f8fafc;
	border: 1px solid var(--border-soft);
	border-radius: 0.8rem;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

.ins-img .ins-list li::before {
	display: none;
}

.ins-img .ins-list img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ins-img .ins-list span {
	display: block;
	padding: 1.4rem 1.6rem;
	font-size: 1.5rem;
	font-weight: var(--font-sb);
	color: var(--cw-navy);
	text-align: center;
	word-break: keep-all;
}

/* 반응형 스타일 */
@media screen and (max-width: 1024px) {

	.ins-row,
	.ins-grid {
		gap: 2rem;
	}

	.ins-box {
		padding: 3rem 2.2rem;
	}

	.ins-img {
		padding: 3rem 2.2rem;
	}

	.ins-img .ins-list {
		gap: 1.5rem;
	}

	.ins-tbl th,
	.ins-tbl td {
		padding: 1.3rem 1.2rem;
	}

	.ins-flow {
		padding: 3.5rem 2.5rem;
	}
}

@media screen and (max-width: 768px) {
	.ins-hd {
		margin-bottom: 3.5rem;
	}

	.ins-row {
		flex-direction: column;
		gap: 2.5rem;
	}

	.ins-row>.ins-box:first-child,
	.ins-row>.ins-box:last-child {
		flex: none;
		width: 100%;
	}

	.ins-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

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

	.ins-tbl table {
		min-width: 440px;
	}

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

	.ins-flow-step {
		flex-direction: column;
		align-items: stretch;
		gap: 1.5rem;
	}

	.ins-step {
		width: 100%;
		flex: none;
	}

}

@media screen and (max-width: 480px) {
	.ins-desc {
		font-size: 1.6rem;
	}

	.ins-box {
		padding: 2.5rem 1.8rem;
	}

	.ins-tbl table {
		min-width: 380px;
	}

	.ins-tbl td:first-child {
		word-break: break-word;
	}

	.ins-list {
		grid-template-columns: 1fr;
	}

	.ins-img .ins-list {
		grid-template-columns: 1fr;
	}

	.ins-img .ins-list span {
		padding: 1.2rem 1.4rem;
		font-size: 1.45rem;
	}

	.ins-step {
		padding: 1.8rem 2rem;
	}
}


/* ==================================================
	ESG경영 - 환경경영
==================================================*/
.env-intro {
	position: relative;
	padding: 0 0 7rem;
}

.env-intro .c_hd_badge {
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.env-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 74rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.env-title-line {
	display: block;
}

.env-title-accent {
	color: var(--brand-color-main);
}

.env-desc {
	position: relative;
	z-index: 2;
	max-width: 66rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.env-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(63vw, 72rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(5rem, 8vw, 12rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.92;
	letter-spacing: -0.045em;
	-webkit-text-stroke: 1px rgba(22, 70, 158, 0.13);
	user-select: none;
	pointer-events: none;
}

/* ----- Section 02: Visual ----- */
.env-visual {
	margin-bottom: 0;
}

.env-visual-inner {
	position: relative;
	width: 100%;
	aspect-ratio: 21 / 8;
	overflow: hidden;
	border-radius: 1.2rem;
}

.env-visual-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	display: block;
}

.env-visual-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right,
			rgba(0, 20, 50, 0.05) 0%,
			rgba(0, 20, 50, 0.15) 50%,
			rgba(0, 20, 50, 0.55) 100%);
}

.env-visual-text {
	position: absolute;
	right: 4rem;
	bottom: 3.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
}

.env-visual-text span {
	display: block;
	font-size: clamp(4rem, 7vw, 8.4rem);
	font-weight: var(--font-eb);
	/* color: transparent; */
	color: var(--color-gray2);
	/* -webkit-text-stroke: 1px rgba(255, 255, 255, 0.25); */
	letter-spacing: 0.04em;
	line-height: 1.1;
	user-select: none;
}

/* ----- Section 03: Focus (환경경영 4가지 방향) ----- */
.env-focus {
	padding: 6rem 0 0;
	border-top: 1px solid var(--border-soft);
}

.env-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.env-item {
	position: relative;
	display: grid;
	grid-template-columns: 7rem 1fr 1fr;
	grid-template-rows: auto;
	align-items: center;
	gap: 0 3rem;
	padding: 3.6rem 0;
	transition: background 0.3s ease;
}

.env-line {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--border-soft);
	transform-origin: left center;
	transition: background 0.4s ease;
}

.env-num {
	font-size: 1.4rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	letter-spacing: 0.04em;
	line-height: 1;
	padding-top: 0.4rem;
	grid-column: 1;
}

.env-head {
	grid-column: 2;
}

.env-name {
	font-size: clamp(1.8rem, 2vw, 2.2rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.02em;
	word-break: keep-all;
	margin: 0;
}

.env-text {
	grid-column: 3;
	font-size: 1.6rem;
	font-weight: var(--font-rg);
	color: var(--text-muted);
	line-height: 1.75;
	word-break: keep-all;
	margin: 0;
	transition: color 0.3s ease;
}

.env-item:hover .env-text {
	color: var(--text-main);
}

/* ----- Section 04: Closing ----- */
.env-closing {
	/* position: relative;
	min-height: 30rem;
	padding: 6.5rem 5rem;
	display: flex;
	align-items: center;
	background:
		linear-gradient(120deg,
			#062d62 0%,
			var(--cw-navy) 48%,
			#031f45 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box; */
	display: none;
}

/* 우측 대형 장식 타이포그래피 */
.env-closing::before {
	content: 'RESPONSIBLE';
	position: absolute;
	top: 50%;
	right: -1rem;
	transform: translateY(-50%);
	font-size: clamp(7rem, 10vw, 14rem);
	font-weight: var(--font-eb);
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.09);
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

/* 정밀 기술을 연상시키는 원형 라인 */
.env-closing::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 8%;
	width: 26rem;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow:
		0 0 0 5rem rgba(255, 255, 255, 0.018),
		0 0 0 10rem rgba(255, 255, 255, 0.012);
	pointer-events: none;
}

.env-closing-text {
	position: relative;
	z-index: 2;
	max-width: 74rem;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.42;
	letter-spacing: -0.04em;
	word-break: keep-all;
	margin: 0;
}

/* 마우스 사용 환경 */
@media (hover: hover) and (pointer: fine) {
	.env-closing::before {
		transition:
			-webkit-text-stroke-color 0.5s ease,
			transform 0.7s ease;
	}

	.env-closing:hover::before {
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.15);
		transform: translate(-1rem, -50%);
	}
}

/* ----- js-fade-up 연동 (.env 스코프) ----- */
.env .js-fade-up {
	opacity: 0;
	transform: translateY(2.6rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
	will-change: opacity, transform;
}

.env .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* env-statement는 translateY(-50%) 유지 필요 — 별도 정의 */
.env-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.95);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.env-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* 환경경영 4개 항목 순차 노출 */
.env-list .env-item:nth-child(1) {
	--fade-up-delay: 0s;
}

.env-list .env-item:nth-child(2) {
	--fade-up-delay: 0.12s;
}

.env-list .env-item:nth-child(3) {
	--fade-up-delay: 0.24s;
}

.env-list .env-item:nth-child(4) {
	--fade-up-delay: 0.36s;
}

/* ----- 반응형 CSS ----- */
@media screen and (max-width: 1200px) {
	.env-intro {
		padding-bottom: 6.5rem;
	}

	.env-closing {
		padding: 6.5rem 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.env-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.env-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.env-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.env-desc {
		max-width: 72rem;
	}

	.env-statement {
		display: none;
	}

	/* 3열 → 2열: 번호+제목 / 설명 */
	.env-item {
		grid-template-columns: 6rem 1fr;
		grid-template-rows: auto auto;
		gap: 1.2rem 2rem;
		padding: 3rem 0;
	}

	.env-head {
		grid-column: 2;
		grid-row: 1;
	}

	.env-text {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}

	.env-num {
		grid-column: 1;
		grid-row: 1 / 3;
	}

	.env-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.env-closing::before {
		right: -2rem;
		font-size: clamp(7rem, 12vw, 11rem);
	}

	.env-closing::after {
		right: 3%;
		width: 21rem;
	}

	.env-closing-text {
		max-width: 64rem;
	}

	.env-visual-inner {
		aspect-ratio: 16 / 7;
	}
}

@media screen and (max-width: 768px) {
	.env-intro {
		padding: 1rem 0 4.5rem;
	}

	.env-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.env-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	/* 비주얼 비율 조정 */
	.env-visual-inner {
		aspect-ratio: 4 / 3;
	}

	.env-visual-text {
		right: 2.4rem;
		bottom: 2rem;
	}

	/* Focus: 1열 세로 배치 */
	.env-item {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 1rem 0;
		padding: 2.8rem 0;
	}

	.env-num {
		grid-column: 1;
		grid-row: 1;
		font-size: 1.3rem;
		padding-top: 0;
	}

	.env-head {
		grid-column: 1;
		grid-row: 2;
	}

	.env-text {
		grid-column: 1;
		grid-row: 3;
		font-size: 1.55rem;
	}

	.env-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.env-closing::before {
		content: 'ECO';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.env-closing::after {
		right: -8rem;
		width: 18rem;
	}

	.env-closing-text {
		position: relative;
		z-index: 2;
		max-width: 100%;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}
}

@media screen and (max-width: 480px) {
	.env-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.env-intro .c_hd_badge {
		margin-bottom: 2rem;
	}

	.env-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.env-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.env-focus {
		padding: 4rem 0 0;
	}

	.env-item {
		padding: 2.4rem 0;
	}

	.env-closing {
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.env-closing::before {
		font-size: 6.5rem;
	}

	.env-closing::after {
		display: none;
	}

	.env-closing-text {
		font-size: 2.2rem;
	}

	.env-visual-inner {
		aspect-ratio: 3 / 2;
	}

	.env-visual-text {
		display: none;
	}
}

/* ----- 반응형 CSS (320px 이하) ----- */
@media screen and (max-width: 320px) {
	.env-title {
		font-size: 2.75rem;
	}

	.env-desc {
		font-size: 1.45rem;
	}

	.env-closing {
		padding: 3.8rem 1.8rem;
	}

	.env-closing::before {
		display: none;
	}

	.env-closing-text {
		font-size: 2rem;
	}
}

/* ----- 모션 최소화 환경 ----- */
@media (prefers-reduced-motion: reduce) {
	.env .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.env-statement.js-fade-up,
	.env-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}

	.env-closing::before,
	.env-closing:hover::before {
		transition: none;
		transform: translateY(-50%);
	}
}


/* ==================================================
	ESG경영 - 사회적 책임경영
================================================== */
.cs {
	position: relative;
}

.cs-intro {
	position: relative;
	padding: 0 0 8rem;
}

.cs-intro .c_hd_badge {
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.cs-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 74rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.cs-title-line {
	display: block;
}

.cs-title-accent {
	color: var(--brand-color-main);
}

.cs-desc {
	position: relative;
	z-index: 2;
	max-width: 76rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.cs-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(62vw, 78rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(5.2rem, 8vw, 12rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.92;
	letter-spacing: -0.05em;
	-webkit-text-stroke: 1px rgba(22, 70, 158, 0.13);
	/* white-space: nowrap; */
	user-select: none;
	pointer-events: none;
}

/* ----- Section 02: Responsibility Framework ----- */
.cs-frame {
	display: grid;
	grid-template-columns: minmax(26rem, 0.72fr) minmax(0, 1.45fr);
	gap: clamp(5rem, 8vw, 11rem);
	padding: 8rem 0 9rem;
	padding: 8rem 0 0;
	border-top: 1px solid var(--color-border-light);
}

.cs-frame-head {
	position: sticky;
	top: 14rem;
	align-self: start;
}

.cs-frame-label {
	position: relative;
	margin: 0 0 2.2rem;
	padding-left: 2.4rem;
	font-size: var(--rem-13);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.cs-frame-label::before {
	content: '';
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 1.4rem;
	height: 2px;
	background: var(--brand-color-sub);
}

.cs-frame-title {
	margin: 0;
	font-size: clamp(2.8rem, 3vw, 4.4rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.cs-list {
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--cw-navy);
	list-style: none;
}

.cs-item {
	display: grid;
	grid-template-columns: 7rem minmax(18rem, 0.8fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
	padding: 4.4rem 0;
	border-bottom: 1px solid var(--color-border-light);
}

.cs-num {
	display: block;
	font-size: clamp(3.6rem, 3.6vw, 5rem);
	font-weight: var(--font-eb);
	color: rgba(22, 70, 158, 0.2);
	line-height: 1;
	letter-spacing: -0.05em;
}

.cs-item-head {
	min-width: 0;
}

.cs-eng {
	display: block;
	margin-bottom: 1.1rem;
	font-size: var(--rem-13);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.3;
	letter-spacing: 0.12em;
}

.cs-name {
	margin: 0;
	font-size: clamp(2rem, 1.9vw, 2.5rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.cs-points {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cs-point {
	position: relative;
	padding-left: 1.7rem;
	font-size: var(--rem-16);
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.65;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.cs-point::before {
	content: '';
	position: absolute;
	top: 0.82em;
	left: 0;
	width: 0.7rem;
	height: 1px;
	background: var(--brand-color-main);
	opacity: 0.7;
}

/* ----- Closing ----- */
.cs-closing {
	/* position: relative;
	display: flex;
	align-items: center;
	min-height: 30rem;
	padding: 6.5rem 5rem;
	background: linear-gradient(120deg, #062d62 0%, var(--cw-navy) 48%, #031f45 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box; */
	display: none;
}

.cs-closing::before {
	content: 'RESPONSIBILITY';
	position: absolute;
	top: 50%;
	right: -1rem;
	transform: translateY(-50%);
	font-size: clamp(6rem, 9vw, 12.5rem);
	font-weight: var(--font-eb);
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.09);
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

.cs-closing::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 8%;
	width: 26rem;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow:
		0 0 0 5rem rgba(255, 255, 255, 0.018),
		0 0 0 10rem rgba(255, 255, 255, 0.012);
	pointer-events: none;
}

.cs-closing-text {
	position: relative;
	z-index: 2;
	max-width: 78rem;
	margin: 0;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.42;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.cs-closing-text::before {
	content: '';
	display: block;
	width: 4rem;
	height: 3px;
	margin-bottom: 3rem;
	background: var(--brand-color-sub);
	border-radius: 2px;
}

/* ----- js-fade-up 연동 ----- */
.cs .js-fade-up {
	opacity: 0;
	transform: translateY(2.4rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
}

.cs .js-fade-up.is-visible {
	opacity: 1;
	transform: none;
}

.cs-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.96);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.cs-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

.cs-list .cs-item:nth-child(1) {
	--fade-up-delay: 0s;
}

.cs-list .cs-item:nth-child(2) {
	--fade-up-delay: 0.12s;
}

.cs-list .cs-item:nth-child(3) {
	--fade-up-delay: 0.24s;
}

/* ----- 반응형 CSS ----- */
@media screen and (max-width: 1200px) {
	.cs-intro {
		padding-bottom: 6.5rem;
	}

	.cs-frame {
		grid-template-columns: minmax(24rem, 0.65fr) minmax(0, 1.35fr);
		gap: 6rem;
	}

	.cs-item {
		grid-template-columns: 6rem minmax(17rem, 0.75fr) minmax(0, 1fr);
		gap: 2.4rem;
	}

	.cs-closing {
		padding: 6.5rem 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.cs-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.cs-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.cs-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.cs-desc {
		max-width: 76rem;
	}

	.cs-statement {
		display: none;
	}

	.cs-frame {
		grid-template-columns: 1fr;
		gap: 4rem;
		/* padding: 6.5rem 0 7rem; */
		padding: 6.5rem 0 0;
	}

	.cs-frame-head {
		position: static;
		max-width: 70rem;
	}

	.cs-item {
		grid-template-columns: 6rem minmax(18rem, 0.78fr) minmax(0, 1fr);
		gap: 2.4rem;
		padding: 3.8rem 0;
	}

	.cs-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.cs-closing::before {
		right: -2rem;
		font-size: clamp(6rem, 11vw, 10rem);
	}

	.cs-closing::after {
		right: 3%;
		width: 21rem;
	}

	.cs-closing-text {
		max-width: 66rem;
	}
}

@media screen and (max-width: 768px) {
	.cs-intro {
		padding: 1rem 0 4.5rem;
	}

	.cs-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.cs-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.cs-frame {
		/* padding: 5rem 0 5.5rem; */
		padding: 5rem 0 0;
	}

	.cs-frame-title {
		font-size: clamp(2.6rem, 6vw, 3.5rem);
	}

	.cs-item {
		grid-template-columns: 5rem minmax(0, 1fr);
		grid-template-rows: auto auto;
		gap: 1.6rem 2rem;
		padding: 3.2rem 0;
	}

	.cs-num {
		grid-column: 1;
		grid-row: 1 / 3;
		font-size: 3.6rem;
	}

	.cs-item-head {
		grid-column: 2;
		grid-row: 1;
	}

	.cs-points {
		grid-column: 2;
		grid-row: 2;
		gap: 0.9rem;
	}

	.cs-name {
		font-size: 2rem;
	}

	.cs-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.cs-closing::before {
		content: 'TRUST';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.cs-closing::after {
		right: -8rem;
		width: 18rem;
	}

	.cs-closing-text {
		max-width: 100%;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}
}

@media screen and (max-width: 480px) {
	.cs-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.cs-intro .c_hd_badge {
		max-width: 100%;
		margin-bottom: 2rem;
		white-space: normal;
	}

	.cs-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.cs-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.cs-frame {
		padding: 4.2rem 0 4.8rem;
		padding: 8rem 0 0;
	}

	.cs-frame-label {
		font-size: 1.15rem;
		letter-spacing: 0.08em;
	}

	.cs-frame-title {
		font-size: 2.5rem;
	}

	.cs-item {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 1.2rem;
		padding: 2.8rem 0;
	}

	.cs-num,
	.cs-item-head,
	.cs-points {
		grid-column: 1;
		grid-row: auto;
	}

	.cs-num {
		font-size: 3.2rem;
	}

	.cs-eng {
		margin-bottom: 0.8rem;
		font-size: 1.2rem;
	}

	.cs-name {
		font-size: 1.9rem;
	}

	.cs-closing {
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.cs-closing::before {
		font-size: 6.5rem;
	}

	.cs-closing::after {
		display: none;
	}

	.cs-closing-text {
		font-size: 2.2rem;
	}

	.cs-closing-text::before {
		width: 3rem;
		margin-bottom: 2.4rem;
	}
}

@media screen and (max-width: 320px) {
	.cs-title {
		font-size: 2.75rem;
	}

	.cs-desc {
		font-size: 1.45rem;
	}

	.cs-frame-title {
		font-size: 2.3rem;
	}

	.cs-name {
		font-size: 1.8rem;
	}

	.cs-closing {
		padding: 3.8rem 1.8rem;
	}

	.cs-closing::before {
		display: none;
	}

	.cs-closing-text {
		font-size: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cs .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.cs-statement.js-fade-up,
	.cs-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}
}


/* ==================================================
	ESG경영 - 지배구조
================================================== */
.gov-intro {
	position: relative;
	padding: 0 0 7rem;
	overflow: hidden;
}

.gov-intro .c_hd_badge {
	position: relative;
	z-index: 2;
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.gov-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 82rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.gov-title-line {
	display: block;
}

.gov-title-accent {
	color: var(--brand-color-main);
}

.gov-desc {
	position: relative;
	z-index: 2;
	max-width: 75rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	font-weight: var(--font-rg);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.gov-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(60vw, 76rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(5rem, 8vw, 12rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.88;
	letter-spacing: -0.05em;
	-webkit-text-stroke: 1px rgba(30, 58, 138, 0.13);
	user-select: none;
	pointer-events: none;
}

/*  경영 원칙  */
.gov-board {
	display: grid;
	grid-template-columns: minmax(26rem, 0.72fr) minmax(0, 1.55fr);
	gap: 7rem;
	align-items: start;
	padding: 7rem 0 0;
	border-top: 1px solid var(--color-border-light);
	/* border-bottom: 1px solid var(--color-border-light); */
}

.gov-board-head {
	position: sticky;
	top: 14rem;
	min-width: 0;
}

.gov-board-label {
	display: flex;
	align-items: center;
	gap: 1.4rem;
	margin: 0 0 3rem;
	font-size: 1.3rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.gov-board-label::before {
	content: '';
	display: block;
	flex: 0 0 2.5rem;
	width: 2.5rem;
	height: 2px;
	background: var(--brand-color-sub);
}

.gov-board-title {
	margin: 0;
	font-size: clamp(2.8rem, 3.3vw, 4.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.gov-board-desc {
	max-width: 38rem;
	margin: 3rem 0 0;
	font-size: 1.6rem;
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.8;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

/*  경영 원칙 2×2 목록  */
.gov-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--cw-navy);
	border-left: 1px solid var(--color-border-light);
	list-style: none;
}

.gov-item {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 31rem;
	padding: 4rem 3.6rem;
	border-right: 1px solid var(--color-border-light);
	border-bottom: 1px solid var(--color-border-light);
	overflow: hidden;
	box-sizing: border-box;
}

/* 부드럽게 나타나는 hover 배경 */
.gov-item::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(135deg,
			rgba(30, 58, 138, 0.045) 0%,
			rgba(22, 70, 158, 0.012) 100%);
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.gov-item>* {
	position: relative;
	z-index: 1;
}

.gov-item-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2rem;
}

.gov-num {
	display: block;
	font-size: clamp(3.8rem, 4vw, 5.4rem);
	font-weight: var(--font-eb);
	color: rgba(30, 58, 138, 0.15);
	line-height: 1;
	letter-spacing: -0.05em;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.gov-eng {
	max-width: 17rem;
	padding-top: 0.5rem;
	font-size: 1.2rem;
	font-weight: var(--font-bd);
	color: var(--govcolor);
	text-align: right;
	line-height: 1.45;
	letter-spacing: 0.08em;
	word-break: keep-all;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.gov-name {
	margin: 4rem 0 2.5rem;
	font-size: clamp(2.2rem, 2.1vw, 2.8rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.gov-points {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
}

.gov-point {
	position: relative;
	padding-left: 1.6rem;
	font-size: 1.55rem;
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.65;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.gov-point::before {
	content: '';
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 6px;
	height: 1px;
	background: var(--brand-color-main);
	opacity: 0.7;
}

/* 마우스 환경에서만 부드러운 hover 적용 */
@media (hover: hover) and (pointer: fine) {
	.gov-item:hover::before {
		opacity: 1;
	}

	.gov-item:hover .gov-num {
		color: rgba(30, 58, 138, 0.3);
	}

	.gov-item:hover .gov-name {
		color: var(--brand-color-main);
	}

	.gov-item:hover .gov-eng {
		color: var(--brand-color-dmain);
	}
}

/*  클로징  */
.gov-closing {
	/* position: relative;
	display: flex;
	align-items: center;
	min-height: 30rem;
	margin-top: 7rem;
	padding: 6.5rem 5rem;
	background:
		linear-gradient(120deg,
			#09244b 0%,
			var(--cw-navy) 52%,
			#03172f 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box; */
	display: none;
}

/* 우측 대형 장식 문자 */
.gov-closing::before {
	content: 'GOVERNANCE';
	position: absolute;
	top: 50%;
	right: -2rem;
	transform: translateY(-50%);
	font-size: clamp(6.5rem, 9vw, 12.5rem);
	font-weight: var(--font-eb);
	color: transparent;
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
	user-select: none;
	pointer-events: none;
}

/* 우측 그리드 장식 */
.gov-closing::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 48%;
	height: 100%;
	background:
		linear-gradient(to right,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px),
		linear-gradient(to bottom,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px);
	background-size: 6rem 6rem;
	mask-image: linear-gradient(to left, #000 30%, transparent 100%);
	-webkit-mask-image: linear-gradient(to left, #000 30%, transparent 100%);
	pointer-events: none;
}

.gov-closing-text {
	position: relative;
	z-index: 2;
	max-width: 78rem;
	margin: 0;
	padding-top: 4rem;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.45;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.gov-closing-text::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4rem;
	height: 3px;
	background: var(--brand-color-sub);
}

/*  fade-up.js 연동  */
.gov .js-fade-up {
	opacity: 0;
	transform: translateY(2.6rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
}

.gov .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* 우측 장식 문자의 중앙 위치 유지 */
.gov-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.95);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.gov-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* 항목 순차 노출 */
.gov-grid .gov-item:nth-child(1) {
	--fade-up-delay: 0s;
}

.gov-grid .gov-item:nth-child(2) {
	--fade-up-delay: 0.12s;
}

.gov-grid .gov-item:nth-child(3) {
	--fade-up-delay: 0.24s;
}

.gov-grid .gov-item:nth-child(4) {
	--fade-up-delay: 0.36s;
}

/* ==================================================
	반응형 CSS
================================================== */
@media screen and (max-width: 1200px) {
	.gov-intro {
		padding-bottom: 6.5rem;
	}

	.gov-board {
		grid-template-columns: minmax(23rem, 0.65fr) minmax(0, 1.5fr);
		gap: 5rem;
	}

	.gov-item {
		padding-right: 3rem;
		padding-left: 3rem;
	}

	.gov-closing {
		padding-right: 4.5rem;
		padding-left: 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.gov-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.gov-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.gov-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.gov-desc {
		max-width: 74rem;
	}

	.gov-statement {
		display: none;
	}

	.gov-board {
		grid-template-columns: 1fr;
		gap: 4rem;
		padding: 6rem 0 0;
	}

	.gov-board-head {
		position: static;
		max-width: 72rem;
	}

	.gov-board-label {
		margin-bottom: 2.4rem;
	}

	.gov-board-desc {
		max-width: 62rem;
		margin-top: 2.4rem;
	}

	.gov-item {
		min-height: 29rem;
	}

	.gov-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.gov-closing::before {
		right: -2rem;
		font-size: clamp(6.5rem, 11vw, 10.5rem);
	}

	.gov-closing::after {
		width: 55%;
		background-size: 5rem 5rem;
	}

	.gov-closing-text {
		max-width: 67rem;
	}
}

@media screen and (max-width: 768px) {
	.gov-intro {
		padding: 1rem 0 4.5rem;
	}

	.gov-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.gov-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.gov-board {
		gap: 3.5rem;
		padding: 5rem 0 0;
	}

	.gov-board-title {
		font-size: clamp(2.8rem, 7vw, 3.8rem);
	}

	.gov-grid {
		grid-template-columns: 1fr;
	}

	.gov-item {
		min-height: auto;
		padding: 3.4rem 2.4rem;
	}

	.gov-item:nth-last-child(-n + 2) {
		border-bottom: 1px solid var(--color-border-light);
	}

	.gov-item-top {
		align-items: center;
	}

	.gov-num {
		font-size: 4rem;
	}

	.gov-name {
		margin: 2.8rem 0 2rem;
		font-size: 2.2rem;
	}

	.gov-points {
		margin-top: 0;
	}

	.gov-point {
		font-size: 1.5rem;
	}

	.gov-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.gov-closing::before {
		content: 'TRUST';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.gov-closing::after {
		width: 65%;
		background-size: 4rem 4rem;
	}

	.gov-closing-text {
		max-width: 100%;
		padding-top: 3.2rem;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}
}

@media screen and (max-width: 480px) {
	.gov-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.gov-intro .c_hd_badge {
		margin-bottom: 2rem;
	}

	.gov-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.gov-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.gov-board {
		padding: 4.2rem 0 0;
	}

	.gov-board-label {
		font-size: 1.15rem;
	}

	.gov-board-title {
		font-size: 2.8rem;
	}

	.gov-board-desc {
		font-size: 1.5rem;
	}

	.gov-item {
		padding: 3rem 1.8rem;
	}

	.gov-num {
		font-size: 3.6rem;
	}

	.gov-eng {
		max-width: 15rem;
		font-size: 1.1rem;
	}

	.gov-name {
		font-size: 2rem;
	}

	.gov-point {
		font-size: 1.45rem;
		line-height: 1.6;
	}

	.gov-closing {
		margin-top: 5rem;
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.gov-closing::before {
		font-size: 6.5rem;
	}

	.gov-closing::after {
		display: none;
	}

	.gov-closing-text {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 320px) {
	.gov-title {
		font-size: 2.75rem;
	}

	.gov-desc,
	.gov-board-desc {
		font-size: 1.45rem;
	}

	.gov-item {
		padding-right: 1.6rem;
		padding-left: 1.6rem;
	}

	.gov-eng {
		max-width: 13rem;
		letter-spacing: 0.05em;
	}

	.gov-name {
		font-size: 1.9rem;
	}

	.gov-point {
		font-size: 1.4rem;
	}

	.gov-closing {
		padding: 3.8rem 1.8rem;
	}

	.gov-closing::before {
		display: none;
	}

	.gov-closing-text {
		font-size: 2rem;
	}
}

/*  모션 최소화  */
@media (prefers-reduced-motion: reduce) {
	.gov .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.gov-statement.js-fade-up,
	.gov-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}

	.gov-item::before,
	.gov-num,
	.gov-eng,
	.gov-name {
		transition: none;
	}
}


/* ==================================================
	인재채용 - 인재상
================================================== */
.tal-intro {
	position: relative;
	padding: 0 0 7rem;
}

.tal-intro .c_hd_badge {
	position: relative;
	z-index: 2;
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.tal-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 78rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.tal-title-line {
	display: block;
}

.tal-title-accent {
	color: var(--brand-color-main);
}

.tal-desc {
	position: relative;
	z-index: 2;
	max-width: 72rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	font-weight: var(--font-rg);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.tal-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(58vw, 70rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(6rem, 9vw, 13rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.84;
	letter-spacing: -0.055em;
	-webkit-text-stroke: 1px rgba(22, 70, 158, 0.13);
	user-select: none;
	pointer-events: none;
}

/*  인재상  */
.tal-values {
	padding: 7rem 0 0;
	border-top: 1px solid var(--color-border-light);
}

.tal-values-head {
	text-align: center;
	margin-bottom: 4.5rem;
}


.tal-values-title {
	font-size: clamp(2.8rem, 3.2vw, 4.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.35;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.tal-values-title span {
	color: var(--brand-color-main);
}

.tal-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--cw-navy);
	border-left: 1px solid var(--color-border-light);
	list-style: none;
}

.tal-item {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 4rem 3rem 4.5rem;
	border-right: 1px solid var(--color-border-light);
	border-bottom: 1px solid var(--color-border-light);
	overflow: hidden;
	box-sizing: border-box;
}

.tal-item::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(145deg, rgba(22, 70, 158, 0.055) 0%, rgba(22, 70, 158, 0.012) 100%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.tal-item>* {
	position: relative;
	z-index: 1;
}

.tal-item-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 4.5rem;
}

.tal-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.4rem;
	height: 6.4rem;
	color: var(--brand-color-main);
	background: rgba(22, 70, 158, 0.045);
	border: 1px solid rgba(22, 70, 158, 0.14);
	border-radius: 50%;
	box-sizing: border-box;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		background-color 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.tal-icon svg {
	width: 3.2rem;
	height: 3.2rem;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tal-num {
	display: block;
	font-size: clamp(3.6rem, 3.5vw, 5rem);
	font-weight: var(--font-eb);
	color: rgba(22, 70, 158, 0.15);
	line-height: 1;
	letter-spacing: -0.05em;
	transition: color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.tal-eng {
	margin: 0 0 1.5rem;
	font-size: 1.2rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.09em;
	word-break: break-word;
}

.tal-name {
	margin: 0 0 2rem;
	font-size: clamp(2rem, 1.8vw, 2.5rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
	transition: color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.tal-text {
	margin: auto 0 0;
	font-size: 1.6rem;
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.75;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

@media (hover: hover) and (pointer: fine) {
	.tal-item:hover::before {
		opacity: 1;
	}

	.tal-item:hover .tal-icon {
		color: var(--color-white);
		background-color: var(--brand-color-main);
		border-color: var(--brand-color-main);
	}

	.tal-item:hover .tal-num {
		color: rgba(22, 70, 158, 0.3);
	}

	.tal-item:hover .tal-name {
		color: var(--brand-color-main);
	}
}

/*  클로징  */
.tal-closing {
	/* position: relative;
	display: flex;
	align-items: center;
	min-height: 30rem;
	margin-top: 7rem;
	padding: 6.5rem 5rem;
	background: linear-gradient(120deg, #062d62 0%, var(--cw-navy) 52%, #031f45 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box; */
	display: none;
}

.tal-closing::before {
	content: 'TOGETHER';
	position: absolute;
	top: 50%;
	right: -1rem;
	transform: translateY(-50%);
	font-size: clamp(6.5rem, 9vw, 12.5rem);
	font-weight: var(--font-eb);
	color: transparent;
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
	user-select: none;
	pointer-events: none;
}

.tal-closing::after {
	content: '';
	position: absolute;
	right: -7rem;
	bottom: -12rem;
	width: 36rem;
	height: 36rem;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	box-shadow:
		0 0 0 6rem rgba(255, 255, 255, 0.018),
		0 0 0 12rem rgba(255, 255, 255, 0.012);
	pointer-events: none;
}

.tal-closing-text {
	position: relative;
	z-index: 2;
	max-width: 78rem;
	margin: 0;
	padding-top: 4rem;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.45;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.tal-closing-text::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4rem;
	height: 3px;
	background: var(--brand-color-sub);
}

/*  fade-up.js 연동  */
.talent .js-fade-up {
	opacity: 0;
	transform: translateY(2.6rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
}

.talent .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.tal-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.95);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.tal-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* fade-up.js가 같은 부모의 형제 요소에 자동 지연을 적용하므로
   tal-item에는 인라인 delay나 별도 JS가 필요하지 않습니다. */

/* ==================================================
	반응형 CSS
================================================== */
@media screen and (max-width: 1200px) {
	.tal-intro {
		padding-bottom: 6.5rem;
	}

	.tal-values-head {
		align-items: flex-start;
	}

	.tal-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tal-closing {
		padding-right: 4.5rem;
		padding-left: 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.tal-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.tal-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.tal-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.tal-desc {
		max-width: 72rem;
	}

	.tal-statement {
		display: none;
	}

	.tal-values {
		padding-top: 6rem;
	}

	.tal-values-head {
		flex-direction: column;
		gap: 2.4rem;
		margin-bottom: 3.8rem;
	}

	.tal-values-title {
		max-width: 72rem;
		text-align: left;
	}

	.tal-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.tal-closing::before {
		right: -2rem;
		font-size: clamp(6.5rem, 11vw, 10.5rem);
	}

	.tal-closing::after {
		width: 30rem;
		height: 30rem;
	}

	.tal-closing-text {
		max-width: 67rem;
	}
}

@media screen and (max-width: 768px) {
	.tal-intro {
		padding: 1rem 0 4.5rem;
	}

	.tal-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.tal-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.tal-values {
		padding-top: 5rem;
	}

	.tal-values-title {
		font-size: clamp(2.8rem, 7vw, 3.8rem);
	}

	.tal-list {
		grid-template-columns: 1fr;
	}

	.tal-item {
		padding: 3.4rem 2.4rem;
	}

	.tal-item-top {
		margin-bottom: 3rem;
	}

	.tal-icon {
		width: 5.8rem;
		height: 5.8rem;
	}

	.tal-icon svg {
		width: 2.8rem;
		height: 2.8rem;
	}

	.tal-num {
		font-size: 4rem;
	}

	.tal-name {
		font-size: 2.2rem;
	}

	.tal-text {
		margin-top: 0;
		font-size: 1.5rem;
	}

	.tal-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.tal-closing::before {
		content: 'GROW';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.tal-closing::after {
		right: -10rem;
		bottom: -11rem;
		width: 25rem;
		height: 25rem;
	}

	.tal-closing-text {
		max-width: 100%;
		padding-top: 3.2rem;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}
}

@media screen and (max-width: 480px) {
	.tal-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.tal-intro .c_hd_badge {
		margin-bottom: 2rem;
	}

	.tal-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.tal-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.tal-values {
		padding-top: 4.2rem;
	}

	.tal-values-label {
		font-size: 1.15rem;
	}

	.tal-values-title {
		font-size: 2.8rem;
	}

	.tal-item {
		padding: 3rem 1.8rem;
	}

	.tal-icon {
		width: 5.4rem;
		height: 5.4rem;
	}

	.tal-num {
		font-size: 3.6rem;
	}

	.tal-eng {
		font-size: 1.1rem;
	}

	.tal-name {
		font-size: 2rem;
	}

	.tal-text {
		font-size: 1.45rem;
		line-height: 1.65;
	}

	.tal-closing {
		margin-top: 5rem;
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.tal-closing::before {
		font-size: 6.5rem;
	}

	.tal-closing::after {
		display: none;
	}

	.tal-closing-text {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 320px) {
	.tal-title {
		font-size: 2.75rem;
	}

	.tal-desc {
		font-size: 1.45rem;
	}

	.tal-values-title {
		font-size: 2.6rem;
	}

	.tal-item {
		padding-right: 1.6rem;
		padding-left: 1.6rem;
	}

	.tal-name {
		font-size: 1.9rem;
	}

	.tal-text {
		font-size: 1.4rem;
	}

	.tal-closing {
		padding: 3.8rem 1.8rem;
	}

	.tal-closing::before {
		display: none;
	}

	.tal-closing-text {
		font-size: 2rem;
	}
}

/*  모션 최소화  */
@media (prefers-reduced-motion: reduce) {
	.talent .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.tal-statement.js-fade-up,
	.tal-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}

	.tal-item::before,
	.tal-icon,
	.tal-num,
	.tal-name {
		transition: none;
	}
}


/* ==================================================
	인재채용 - 복리후생
================================================== */
.wel-intro {
	position: relative;
	padding: 0 0 7rem;
	overflow: hidden;
}

.wel-intro .c_hd_badge {
	position: relative;
	z-index: 2;
	display: inline-flex;
	margin-bottom: 2.8rem;
}

.wel-title {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.16em;
	max-width: 80rem;
	margin: 0 0 3.2rem;
	font-size: clamp(2.6rem, 4vw, 5.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	line-height: 1.18;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.wel-title-line {
	display: block;
}

.wel-title-accent {
	color: var(--brand-color-main);
}

.wel-desc {
	position: relative;
	z-index: 2;
	max-width: 76rem;
	margin: 0;
	font-size: clamp(1.6rem, 1.45vw, 1.9rem);
	font-weight: var(--font-rg);
	color: var(--color-gray4);
	line-height: 1.85;
	letter-spacing: -0.015em;
	word-break: keep-all;
}

.wel-statement {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(58vw, 70rem);
	margin: 0;
	transform: translateY(-50%);
	font-size: clamp(6rem, 9vw, 13rem);
	font-weight: var(--font-eb);
	color: transparent;
	text-align: right;
	line-height: 0.84;
	letter-spacing: -0.055em;
	-webkit-text-stroke: 1px rgba(22, 70, 158, 0.13);
	user-select: none;
	pointer-events: none;
}

/*  복리후생 프로그램  */
.wel-program {
	padding: 7rem 0 0;
	border-top: 1px solid var(--color-border-light);
}

.wel-program-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 4rem;
	margin-bottom: 5rem;
}

.wel-program-label {
	display: flex;
	align-items: center;
	gap: 1.4rem;
	margin: 0;
	font-size: 1.3rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.wel-program-label::before {
	content: '';
	display: block;
	flex: 0 0 2.5rem;
	width: 2.5rem;
	height: 2px;
	background: var(--brand-color-sub);
}

.wel-program-title {
	max-width: 72rem;
	margin: 0;
	font-size: clamp(2.8rem, 3.2vw, 4.6rem);
	font-weight: var(--font-eb);
	color: var(--cw-navy);
	text-align: right;
	line-height: 1.35;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.wel-groups {
	border-top: 2px solid var(--cw-navy);
}

.wel-group {
	display: grid;
	grid-template-columns: minmax(24rem, 0.72fr) minmax(0, 1.65fr);
	gap: 5rem;
	padding: 4.8rem 0;
	border-bottom: 1px solid var(--color-border-light);
}

.wel-group-head {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: 2rem;
	align-content: start;
	min-width: 0;
}

.wel-group-num {
	display: block;
	font-size: clamp(3.5rem, 3.7vw, 5rem);
	font-weight: var(--font-eb);
	color: rgba(22, 70, 158, 0.16);
	line-height: 1;
	letter-spacing: -0.05em;
}

.wel-group-copy {
	min-width: 0;
}

.wel-group-eng {
	margin: 0 0 1rem;
	font-size: 1.15rem;
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
	letter-spacing: 0.08em;
	word-break: break-word;
}

.wel-group-name {
	margin: 0 0 1.2rem;
	font-size: clamp(2.2rem, 2.2vw, 2.8rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.4;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

.wel-group-desc {
	margin: 0;
	font-size: 1.5rem;
	font-weight: var(--font-rg);
	color: var(--text-muted2);
	line-height: 1.7;
	word-break: keep-all;
}

.wel-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-border-light);
	border-left: 1px solid var(--color-border-light);
	list-style: none;
}

.wel-group:nth-child(n + 2) .wel-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}


.wel-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--rem-20);
	min-width: 0;
	min-height: 19rem;
	padding: 3rem 2.5rem;
	border-right: 1px solid var(--color-border-light);
	border-bottom: 1px solid var(--color-border-light);
	overflow: hidden;
	box-sizing: border-box;
}

.wel-item:hover {
	background-color: var(--color-bg-light);
}

.wel-item::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(145deg,
			rgba(22, 70, 158, 0.055) 0%,
			rgba(22, 70, 158, 0.012) 100%);
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.wel-item>* {
	position: relative;
	z-index: 1;
}

.wel-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.8rem;
	height: 5.8rem;
	color: var(--brand-color-main);
	background: rgba(22, 70, 158, 0.045);
	border: 1px solid rgba(22, 70, 158, 0.14);
	background: rgba(22, 70, 158, 0.06);
	border-color: rgba(22, 70, 158, 0.2);
	border-radius: 50%;
	box-sizing: border-box;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		background-color 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.wel-icon svg {
	width: 2.9rem;
	height: 2.9rem;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wel-name {
	display: block;
	font-size: clamp(1.7rem, 1.5vw, 2rem);
	font-weight: var(--font-bd);
	color: var(--color-black2);
	line-height: 1.45;
	letter-spacing: -0.025em;
	word-break: keep-all;
	transition:
		color 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 마우스 환경에서만 절제된 hover 적용 */
@media (hover: hover) and (pointer: fine) {
	.wel-item:hover::before {
		opacity: 1;
	}

	.wel-item:hover .wel-icon {
		color: var(--color-white);
		background-color: var(--brand-color-main);
		border-color: var(--brand-color-main);
	}

	.wel-item:hover .wel-name {
		color: var(--brand-color-main);
	}
}

/*  클로징  */
.wel-closing {
	display: none;
	/* position: relative;
	display: flex;
	align-items: center;
	min-height: 30rem;
	margin-top: 7rem;
	padding: 6.5rem 5rem;
	background:
		linear-gradient(120deg,
			#062d62 0%,
			var(--cw-navy) 52%,
			#031f45 100%);
	border-radius: 1.4rem;
	overflow: hidden;
	box-sizing: border-box; */
}

.wel-closing::before {
	content: 'BETTER WORK';
	position: absolute;
	top: 50%;
	right: -1rem;
	transform: translateY(-50%);
	font-size: clamp(6.5rem, 8.5vw, 11.5rem);
	font-weight: var(--font-eb);
	color: transparent;
	line-height: 1;
	letter-spacing: -0.05em;
	white-space: nowrap;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
	user-select: none;
	pointer-events: none;
}

.wel-closing::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 48%;
	height: 100%;
	background:
		linear-gradient(to right,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px),
		linear-gradient(to bottom,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px);
	background-size: 6rem 6rem;
	mask-image: linear-gradient(to left, #000 30%, transparent 100%);
	-webkit-mask-image: linear-gradient(to left, #000 30%, transparent 100%);
	pointer-events: none;
}

.wel-closing-text {
	position: relative;
	z-index: 2;
	max-width: 80rem;
	margin: 0;
	padding-top: 4rem;
	font-size: clamp(2.6rem, 3vw, 4rem);
	font-weight: var(--font-eb);
	color: var(--color-white);
	line-height: 1.45;
	letter-spacing: -0.04em;
	word-break: keep-all;
}

.wel-closing-text::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4rem;
	height: 3px;
	background: var(--brand-color-sub);
}

/*  fade-up.js 연동  */
.welfare .js-fade-up {
	opacity: 0;
	transform: translateY(2.6rem);
	transition:
		opacity 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s),
		transform 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94) var(--fade-up-delay, 0s);
}

.welfare .js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.wel-statement.js-fade-up {
	opacity: 0;
	transform: translateY(-50%) scale(0.95);
	transition:
		opacity 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s,
		transform 1.05s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.wel-statement.js-fade-up.is-visible {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

/* fade-up.js는 같은 부모의 요소에 자동으로 순차 지연을 적용합니다. */

/* ==================================================
	반응형 CSS
================================================== */
@media screen and (max-width: 1200px) {
	.wel-intro {
		padding-bottom: 6.5rem;
	}

	.wel-program-head {
		align-items: flex-start;
	}

	.wel-group {
		grid-template-columns: minmax(21rem, 0.62fr) minmax(0, 1.6fr);
		gap: 3.5rem;
	}

	.wel-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wel-item {
		min-height: 17rem;
	}

	.wel-closing {
		padding-right: 4.5rem;
		padding-left: 4.5rem;
	}
}

@media screen and (max-width: 1024px) {
	.wel-intro {
		padding: 1.5rem 0 5.5rem;
	}

	.wel-intro .c_hd_badge {
		margin-bottom: 2.4rem;
	}

	.wel-title {
		max-width: 78rem;
		margin-bottom: 2.8rem;
	}

	.wel-desc {
		max-width: 76rem;
	}

	.wel-statement {
		display: none;
	}

	.wel-program {
		padding-top: 6rem;
	}

	.wel-program-head {
		flex-direction: column;
		gap: 2.4rem;
		margin-bottom: 4rem;
	}

	.wel-program-title {
		max-width: 72rem;
		text-align: left;
	}

	.wel-group {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding: 4rem 0;
	}

	.wel-group-head {
		grid-template-columns: 5rem minmax(0, 1fr);
		max-width: 65rem;
	}

	.wel-closing {
		min-height: 27rem;
		padding: 5.5rem 4rem;
	}

	.wel-closing::before {
		right: -2rem;
		font-size: clamp(6rem, 10.5vw, 9.8rem);
	}

	.wel-closing::after {
		width: 55%;
		background-size: 5rem 5rem;
	}

	.wel-closing-text {
		max-width: 68rem;
	}
}

@media screen and (max-width: 768px) {
	.wel-intro {
		padding: 1rem 0 4.5rem;
	}

	.wel-title {
		gap: 0.12em;
		margin-bottom: 2.4rem;
		font-size: clamp(3rem, 8vw, 4.6rem);
		line-height: 1.22;
	}

	.wel-desc {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.wel-program {
		padding-top: 5rem;
	}

	.wel-program-title {
		font-size: clamp(2.8rem, 7vw, 3.8rem);
	}

	.wel-group {
		padding: 3.6rem 0;
	}

	.wel-list,
	.wel-group:nth-child(n + 2) .wel-list {
		grid-template-columns: 1fr;
	}

	.wel-item {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 2rem;
		min-height: auto;
		padding: 2.4rem;
	}

	.wel-icon {
		flex: 0 0 5.5rem;
		width: 5.5rem;
		height: 5.5rem;
	}

	.wel-icon svg {
		width: 2.7rem;
		height: 2.7rem;
	}

	.wel-name {
		font-size: 1.8rem;
	}

	.wel-closing {
		min-height: auto;
		padding: 5rem 3rem;
		border-radius: 1.2rem;
	}

	.wel-closing::before {
		content: 'CARE';
		top: auto;
		right: -0.5rem;
		bottom: 1rem;
		transform: none;
		font-size: 8rem;
		-webkit-text-stroke-color: rgba(255, 255, 255, 0.07);
	}

	.wel-closing::after {
		width: 65%;
		background-size: 4rem 4rem;
	}

	.wel-closing-text {
		max-width: 100%;
		padding-top: 3.2rem;
		font-size: clamp(2.4rem, 6vw, 3.2rem);
		line-height: 1.48;
	}
}

@media screen and (max-width: 480px) {
	.wel-intro {
		padding: 0.5rem 0 3.8rem;
	}

	.wel-intro .c_hd_badge {
		margin-bottom: 2rem;
	}

	.wel-title {
		margin-bottom: 2rem;
		font-size: clamp(2.8rem, 8.5vw, 3.8rem);
	}

	.wel-desc {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	.wel-program {
		padding-top: 4.2rem;
	}

	.wel-program-label {
		font-size: 1.15rem;
	}

	.wel-program-title {
		font-size: 2.8rem;
	}

	.wel-group {
		gap: 2.5rem;
		padding: 3.2rem 0;
	}

	.wel-group-head {
		grid-template-columns: 4.3rem minmax(0, 1fr);
		gap: 1.5rem;
	}

	.wel-group-num {
		font-size: 3.5rem;
	}

	.wel-group-name {
		font-size: 2rem;
	}

	.wel-group-desc {
		font-size: 1.6rem;
	}

	.wel-item {
		padding: 2rem 1.8rem;
	}

	.wel-icon {
		flex-basis: 5rem;
		width: 5rem;
		height: 5rem;
	}

	.wel-name {
		font-size: 1.65rem;
	}

	.wel-closing {
		margin-top: 5rem;
		padding: 4.2rem 2.2rem;
		border-radius: 1rem;
	}

	.wel-closing::before {
		font-size: 6.5rem;
	}

	.wel-closing::after {
		display: none;
	}

	.wel-closing-text {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 320px) {
	.wel-title {
		font-size: 2.75rem;
	}

	.wel-desc {
		font-size: 1.45rem;
	}

	.wel-program-title {
		font-size: 2.6rem;
	}

	.wel-item {
		padding-right: 1.6rem;
		padding-left: 1.6rem;
	}

	.wel-name {
		font-size: 1.55rem;
	}

	.wel-closing {
		padding: 3.8rem 1.8rem;
	}

	.wel-closing::before {
		display: none;
	}

	.wel-closing-text {
		font-size: 2rem;
	}
}

/*  모션 최소화  */
@media (prefers-reduced-motion: reduce) {
	.welfare .js-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.wel-statement.js-fade-up,
	.wel-statement.js-fade-up.is-visible {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		transition: none;
	}

	.wel-item::before,
	.wel-icon,
	.wel-name {
		transition: none;
	}
}


/* ==================================================
	고객지원 - Contact us
================================================== */
.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--rem-20);
}

.contact-prism-card {
	background: var(--color-white);
	border: 1px solid var(--border-soft);
	border-radius: 4rem;
	padding: 10rem 5rem;
	position: relative;
	overflow: hidden;
	transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.contact-prism-card:hover {
	transform: translateY(2rem);
	border-color: var(--brand-color-bright);
	box-shadow: 0 5rem 10rem rgba(4, 63, 123, 0.08);
}

/* 카드 내부 데코 */
.card-bg-num {
	position: absolute;
	top: 40px;
	right: -20px;
	font-family: var(--font-Paperlogy);
	font-size: 16rem;
	font-weight: var(--font-eb);
	color: var(--brand-color-main);
	opacity: 0.02;
	line-height: 1;
	pointer-events: none;
}

.contact-prism-card:hover .card-bg-num {
	opacity: 0.06;
	transform: translateX(-15px);
}

.icon-reticle {
	position: relative;
	width: 10rem;
	height: 10rem;
	margin-bottom: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.reticle-ring {
	position: absolute;
	inset: 0;
	border: 1px dashed var(--accent);
	border-radius: 50%;
	opacity: 0.15;
	transition: 0.4s;
}

.contact-prism-card:hover .reticle-ring {
	opacity: 0.4;
	animation: spinReticle 15s linear infinite;
}

@keyframes spinReticle {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

.contact-prism-card i {
	font-size: 5.4rem;
	color: var(--brand-color-main);
	position: relative;
	z-index: 5;
	transition: 0.4s;
}

.contact-prism-card:hover i {
	color: var(--brand-color-bright);
	transform: scale(1.15);
}

.contact-info-text {
	position: relative;
	z-index: 5;
}

.contact-info-text .cat {
	font-family: var(--font-Paperlogy);
	font-size: 1.4rem;
	font-weight: var(--font-eb);
	color: var(--accent);
	letter-spacing: 0.3rem;
	text-transform: uppercase;
	margin-bottom: 2.5rem;
	display: block;
}

.contact-info-text .val {
	font-size: var(--rem-32);
	font-weight: var(--font-eb);
	color: var(--text-main);
	display: block;
	word-break: break-all;
	letter-spacing: -0.5px;
}

.contact-info-text .note {
	font-size: 1.7rem;
	color: var(--text-muted);
	margin-top: 1.5rem;
	display: block;
	font-weight: var(--font-rg);
}

/* 스캔 빔 애니메이션 */
.contact-prism-card::after {
	content: '';
	position: absolute;
	top: -100%;
	left: -100%;
	width: 300%;
	height: 300%;
	background: linear-gradient(135deg, transparent, rgba(0, 168, 204, 0.05), transparent);
	transform: rotate(30deg);
	transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1);
	pointer-events: none;
	opacity: 0;
}

.contact-prism-card:hover::after {
	top: -50%;
	left: -50%;
	opacity: 1;
}

/* 하단 오퍼레이션 보드 */
.operation-board {
	margin-top: 10rem;
}

.board-inner {
	background: var(--brand-color-main);
	border-radius: 4rem;
	padding: 8rem 10rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}

.board-text h3 {
	font-size: 4rem;
	font-weight: var(--font-eb);
	color: var(--color-white);
	margin-bottom: var(--rem-20);
	line-height: 1.3;
}

.board-text p {
	font-size: var(--rem-20);
	color: rgba(255, 255, 255, 0.7);
	font-weight: var(--font-rg);
}

.operation-time {
	text-align: right;
}

.time-item {
	margin-bottom: 0;
}

.time-item span {
	display: block;
	color: var(--brand-color-bright);
	font-family: var(--font-Paperlogy);
	font-size: 1.4rem;
	font-weight: var(--font-eb);
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.time-item strong {
	display: block;
	color: var(--color-white);
	font-size: 2.8rem;
	font-weight: var(--font-eb);
}

/* 반응형CSS */
@media screen and (max-width: 1400px) {
	.contact-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.4rem;
	}

	.contact-prism-card {
		padding: 8.5rem 4.8rem;
	}

	.contact-info-text .val {
		font-size: 3rem;
	}
}

@media screen and (max-width: 1200px) {
	.board-inner {
		flex-direction: column;
		text-align: center;
		gap: 6rem;
		padding: 8rem 4rem;
	}

	.operation-time {
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	.contact-grid {
		grid-template-columns: 1fr;
		gap: var(--rem-20);
	}

	.contact-prism-card {
		padding: 6.5rem 3.2rem;
		border-radius: 2.4rem;
	}

	.card-bg-num {
		font-size: 12rem;
		top: 2.4rem;
		right: -1.2rem;
	}

	.icon-reticle {
		width: 8.6rem;
		height: 8.6rem;
		margin-bottom: 3.2rem;
	}

	.contact-prism-card i {
		font-size: 4.4rem;
	}

	.contact-info-text .cat {
		font-size: 1.2rem;
		margin-bottom: 1.8rem;
		letter-spacing: 0.18rem;
	}

	.contact-info-text .val {
		font-size: 2.8rem;
		line-height: 1.35;
	}

	.contact-info-text .note {
		font-size: 1.5rem;
		margin-top: 1.1rem;
	}

	.board-text h3 {
		font-size: 3rem;
	}

	.board-text p {
		font-size: 1.8rem;
	}

	.time-item strong {
		font-size: 2.4rem;
	}

	/* 모바일 터치 환경에서 과한 hover 이동 완화 */
	.contact-prism-card:hover {
		transform: translateY(0.8rem);
		box-shadow: 0 2.8rem 5.5rem rgba(4, 63, 123, 0.08);
	}
}

@media screen and (max-width: 480px) {
	.contact-grid {
		gap: 1.6rem;
	}

	.contact-prism-card {
		padding: 5.2rem 2.4rem;
		border-radius: 1.8rem;
	}

	.card-bg-num {
		font-size: 9rem;
		top: 1.8rem;
		right: -0.8rem;
	}

	.icon-reticle {
		width: 7.2rem;
		height: 7.2rem;
		margin-bottom: 2.4rem;
	}

	.contact-prism-card i {
		font-size: 3.6rem;
	}

	.contact-info-text .cat {
		font-size: 1rem;
		margin-bottom: 1.2rem;
		letter-spacing: 0.12rem;
	}

	.contact-info-text .val {
		font-size: 2.2rem;
	}

	.operation-board {
		margin-top: 6rem;
	}

	.board-inner {
		padding: 5rem 2.4rem;
		border-radius: 2.2rem;
		gap: 3.2rem;
	}

	.board-text h3 {
		font-size: var(--rem-20);
		letter-spacing: -0.02em;
		margin-bottom: 1.2rem;
	}

	.board-text p {
		font-size: 1.5rem;
	}

	.time-item span {
		font-size: 1.1rem;
		margin-bottom: 0.6rem;
	}

	.time-item strong {
		font-size: var(--rem-20);
	}

	.contact-prism-card:hover {
		transform: translateY(0.5rem);
	}
}