@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

/* Renewal submenu skin
   Load this file after /common/css/sub.css. */

.sub_vi,
.sub_vi * {
	font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

.sub_vi.vi05 {
	position: relative;
	height: 220px;
	min-width: 0;
	background-position: center center !important;
	background-size: cover !important;
	overflow: hidden;
}

.sub_vi.vi05::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10, 31, 68, .78) 0%, rgba(10, 31, 68, .48) 45%, rgba(10, 31, 68, .12) 100%);
	pointer-events: none;
}

.sub_vi.vi05 > div {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	color: #fff;
}

.sub_vi.vi05 > div h2 {
	float: none;
	margin: 0;
	padding: 0;
	text-align: right;
	color: #fff;
	font-size: 42px;
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: 0;
}

.sub_vi.vi05 > div h2 span {
	display: block;
	margin-top: 12px;
	font-size: 0;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .88);
}

.sub_vi.vi05 > div h2 span::after {
	content:"\BE60\B978 \C0C1\B2F4\ACFC \AE30\C220 \C9C0\C6D0";
	font-size:18px;
}

.sub_vi.vi04 {
	position: relative;
	height: 220px;
	min-width: 0;
	background-position: center center !important;
	background-size: cover !important;
	overflow: hidden;
}

.sub_vi.vi04::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10, 31, 68, .78) 0%, rgba(10, 31, 68, .48) 45%, rgba(10, 31, 68, .12) 100%);
	pointer-events: none;
}

.sub_vi.vi04 > div {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	color: #fff;
}

.sub_vi.vi04 > div h2 {
	float: none;
	margin: 0;
	padding: 0;
	text-align: right;
	color: #fff;
	font-size: 0;
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: 0;
}

.sub_vi.vi04 > div h2 span {
	display: block;
	margin-top: 12px;
	font-size: 0;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .88);
}

.sub_bg {
	padding-top: 0 !important;
	background: #fff !important;
}

.sub_wrap {
	overflow: visible;
	background: #fff;
}

.sub_wrap::after {
	content: "";
	display: block;
	clear: both;
}

.sub_menu_wrap {
	position: relative;
	width: 100%;
	float: none;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 14px 0 0;
	background: #fff !important;
	border: 0;
	z-index: 10;
}

.sub_menu_wrap::before {
	content: none;
}

.sub_menu_wrap ul {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #e7edf5;
}

.sub_menu_wrap .submenu,
.sub_menu_wrap .submenu_ov {
	position: relative;
	float: none;
	flex: 1 1 0;
	width: auto !important;
	margin-right: 0 !important;
	background: transparent !important;
	text-align: center;
}

.sub_menu_wrap .submenu a,
.sub_menu_wrap .submenu_ov a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 58px;
	line-height: 1.35;
	padding: 12px 18px 14px;
	border: 0 !important;
	border-radius: 8px 8px 0 0;
	font-size: 16px;
	font-weight: 600;
	color: #7b8493;
	letter-spacing: 0;
	text-decoration: none;
	background: transparent !important;
	transition:
		background-color .2s ease,
		color .2s ease,
		box-shadow .2s ease;
}

.sub_menu_wrap .submenu a::after,
.sub_menu_wrap .submenu_ov a::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: -1px;
	height: 4px;
	background: transparent;
	border-radius: 4px 4px 0 0;
	transition: background-color .2s ease, left .2s ease, right .2s ease;
}

.sub_menu_wrap .submenu a:hover {
	background: #f7faff !important;
	color: #163a66;
	font-size: 16px;
	font-weight: 600;
}

.sub_menu_wrap .submenu a:hover::after {
	left: 24px;
	right: 24px;
	background: #9bb7dc;
}

.sub_menu_wrap .submenu_ov a,
.sub_menu_wrap .submenu_ov a:hover {
	background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%) !important;
	color: #0c356b !important;
	font-size: 16px;
	font-weight: 800;
	box-shadow: inset 0 1px 0 rgba(31, 95, 191, 0.08);
}

.sub_menu_wrap .submenu_ov a::after,
.sub_menu_wrap .submenu_ov a:hover::after {
	left: 12px;
	right: 12px;
	background: #1E5BB8;
}

.sub_menu_wrap a .num {
	margin-right: 10px;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: #b3bdcc;
	letter-spacing: .5px;
	transition: color .2s ease;
}

.sub_menu_wrap .submenu a:hover .num {
	color: #1f5fbf;
}

.sub_menu_wrap .submenu_ov a .num,
.sub_menu_wrap .submenu_ov a:hover .num {
	color: #d9a441;
}

.sub_contents {
	position: relative;
}

@media (max-width: 1199px) {
	.sub_vi,
	.sub_menu_wrap {
		min-width: 0;
	}

	.sub_menu_wrap {
		width: calc(100% - 32px);
		margin-top: 0;
		padding: 0 8px;
	}

	.sub_menu_wrap .submenu a,
	.sub_menu_wrap .submenu_ov a {
		min-height: 56px;
		padding: 10px 8px;
		font-size: 14px;
	}

	.sub_menu_wrap .submenu a:hover,
	.sub_menu_wrap .submenu_ov a,
	.sub_menu_wrap .submenu_ov a:hover {
		font-size: 14px;
	}
}

/* Final renewal override: sub visual consistency */
.sub_vi.vi01,
.sub_vi.vi02,
.sub_vi.vi03,
.sub_vi.vi04,
.sub_vi.vi05{
	position:relative !important;
	height:220px !important;
	min-width:0 !important;
	background-position:center center !important;
	background-size:cover !important;
	overflow:hidden !important;
}
.sub_vi.vi01::before,
.sub_vi.vi02::before,
.sub_vi.vi03::before,
.sub_vi.vi04::before,
.sub_vi.vi05::before{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:linear-gradient(90deg, rgba(10,31,68,.78) 0%, rgba(10,31,68,.48) 45%, rgba(10,31,68,.12) 100%) !important;
	pointer-events:none !important;
}
.sub_vi.vi01 > div,
.sub_vi.vi02 > div,
.sub_vi.vi03 > div,
.sub_vi.vi04 > div,
.sub_vi.vi05 > div{
	position:relative !important;
	z-index:1 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:flex-end !important;
	width:100% !important;
	max-width:1200px !important;
	height:100% !important;
	margin:0 auto !important;
	padding:0 24px !important;
	box-sizing:border-box !important;
	color:#fff !important;
}
.sub_vi.vi01 > div h2,
.sub_vi.vi02 > div h2,
.sub_vi.vi03 > div h2,
.sub_vi.vi04 > div h2,
.sub_vi.vi05 > div h2{
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	text-align:right !important;
	color:#fff !important;
	font-size:42px !important;
	font-weight:800 !important;
	line-height:1.16 !important;
	letter-spacing:0 !important;
}
.sub_vi.vi01 > div h2 span,
.sub_vi.vi02 > div h2 span,
.sub_vi.vi03 > div h2 span,
.sub_vi.vi04 > div h2 span{
	display:block !important;
	margin-top:12px !important;
	font-size:18px !important;
	font-weight:600 !important;
	line-height:1.45 !important;
	letter-spacing:0 !important;
	color:rgba(255,255,255,.88) !important;
}
.sub_vi.vi05 > div h2 span{
	display:block !important;
	margin-top:12px !important;
	font-size:0 !important;
	font-weight:600 !important;
	line-height:1.45 !important;
	letter-spacing:0 !important;
	color:rgba(255,255,255,.88) !important;
}
.sub_vi.vi05 > div h2 span::after{
	content:"\BE60\B978 \C0C1\B2F4\ACFC \AE30\C220 \C9C0\C6D0" !important;
	font-size:18px !important;
}

@media (max-width:767px){
	.sub_vi.vi01,
	.sub_vi.vi02,
	.sub_vi.vi03,
	.sub_vi.vi04,
	.sub_vi.vi05{
		isolation:isolate !important;
		height:160px !important;
		padding:0 18px !important;
		background-color:#0a1f44 !important;
		background-image:none !important;
	}
	.sub_vi.vi01::before,
	.sub_vi.vi02::before,
	.sub_vi.vi03::before,
	.sub_vi.vi04::before,
	.sub_vi.vi05::before{
		z-index:0 !important;
		inset:-3px !important;
		background-repeat:no-repeat !important;
		background-position:center center !important;
		background-size:cover !important;
		filter:blur(1.8px) saturate(1.04) !important;
		transform:scale(1.02) !important;
	}
	.sub_vi.vi01::before{
		background-image:url('/common/img/sub/sub_vi01.jpg') !important;
	}
	.sub_vi.vi02::before{
		background-image:url('/common/img/sub/sub_vi02.jpg') !important;
	}
	.sub_vi.vi03::before{
		background-image:url('/common/img/sub/sub_vi03.jpg') !important;
	}
	.sub_vi.vi04::before{
		background-image:url('/common/img/sub/sub_vi04.jpg') !important;
	}
	.sub_vi.vi05::before{
		background-image:url('/common/img/sub/sub_vi05.jpg') !important;
	}
	.sub_vi.vi01::after,
	.sub_vi.vi02::after,
	.sub_vi.vi03::after,
	.sub_vi.vi04::after,
	.sub_vi.vi05::after{
		content:"" !important;
		position:absolute !important;
		inset:0 !important;
		z-index:1 !important;
		background:
			linear-gradient(180deg, rgba(10,31,68,.76) 0%, rgba(10,31,68,.52) 54%, rgba(10,31,68,.28) 100%),
			linear-gradient(90deg, rgba(10,31,68,.38) 0%, rgba(10,31,68,.12) 55%, rgba(10,31,68,.34) 100%) !important;
		pointer-events:none !important;
	}
	.sub_vi.vi01 > div,
	.sub_vi.vi02 > div,
	.sub_vi.vi03 > div,
	.sub_vi.vi04 > div,
	.sub_vi.vi05 > div{
		z-index:2 !important;
		justify-content:center !important;
		max-width:none !important;
		padding:0 !important;
	}
	.sub_vi.vi01 > div h2,
	.sub_vi.vi02 > div h2,
	.sub_vi.vi03 > div h2,
	.sub_vi.vi04 > div h2,
	.sub_vi.vi05 > div h2{
		width:100% !important;
		font-size:2.15rem !important;
		line-height:1.18 !important;
		text-align:center !important;
	}
	.sub_vi.vi01 > div h2 span,
	.sub_vi.vi02 > div h2 span,
	.sub_vi.vi03 > div h2 span,
	.sub_vi.vi04 > div h2 span,
	.sub_vi.vi05 > div h2 span{
		width:100% !important;
		margin-top:9px !important;
		font-size:.95rem !important;
		line-height:1.45 !important;
		color:rgba(255,255,255,.9) !important;
	}
	.sub_vi.vi05 > div h2 span{
		font-size:0 !important;
	}
	.sub_vi.vi05 > div h2 span::after{
		font-size:.95rem !important;
	}
}

/* Construction case clients */
.sub_contents.case-client-scope{
	width:100% !important;
	max-width:none !important;
	margin:0 auto !important;
	padding:46px 24px 84px !important;
	float:none !important;
	clear:both;
	box-sizing:border-box;
	background:#fff !important;
	font-family:'Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
	color:#0E1726;
	word-break:keep-all;
}
.case-client-scope *,
.case-client-scope *::before,
.case-client-scope *::after{
	box-sizing:border-box;
	font-family:inherit;
}
.case-client-scope .page_title{
	display:none;
}
.case-client-scope h2,
.case-client-scope h3,
.case-client-scope p,
.case-client-scope ul,
.case-client-scope li,
.case-client-scope div,
.case-client-scope span,
.case-client-scope strong,
.case-client-scope nav,
.case-client-scope section{
	float:none !important;
	clear:none !important;
}
.case-client-scope ul,
.case-client-scope li{
	margin:0;
	padding:0;
	list-style:none;
}
.case-client-hero{
	display:grid;
	grid-template-columns:minmax(0, 1fr) 430px;
	gap:34px;
	align-items:stretch;
	padding:42px 44px;
	border:1px solid #DDE6F2;
	border-radius:8px;
	background:
		linear-gradient(135deg, rgba(247,250,255,.98) 0%, rgba(255,255,255,1) 58%),
		linear-gradient(90deg, rgba(30,91,184,.08), rgba(217,164,65,.08));
	box-shadow:0 18px 45px rgba(10,31,68,.08);
}
.case-client-eyebrow,
.case-section-kicker{
	display:inline-block;
	color:#1E5BB8;
	font-size:13px;
	font-weight:800;
	letter-spacing:.12em;
	line-height:1.2;
}
.case-client-copy h2{
	margin:10px 0 12px;
	color:#0A1F44;
	font-size:38px;
	font-weight:850;
	letter-spacing:0;
	line-height:1.2;
}
.case-client-copy p{
	max-width:680px;
	margin:0;
	color:#5B667A;
	font-size:18px;
	font-weight:500;
	line-height:1.68;
}
.case-client-stats{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:12px;
	align-content:center;
}
.case-client-stats li{
	display:flex;
	min-height:112px;
	flex-direction:column;
	justify-content:center;
	padding:18px 16px;
	border:1px solid #E4EBF5;
	border-radius:8px;
	background:#fff;
	text-align:center;
}
.case-client-stats strong{
	display:block;
	color:#0A1F44;
	font-size:30px;
	font-weight:850;
	line-height:1.15;
	letter-spacing:0;
}
.case-client-stats span{
	display:block;
	margin-top:8px;
	color:#6B7280;
	font-size:14px;
	font-weight:700;
}
.case-client-tabs{
	position:sticky;
	top:0;
	z-index:5;
	display:flex;
	gap:8px;
	margin:28px 0 38px;
	padding:10px;
	border:1px solid #E2E8F0;
	border-radius:8px;
	background:rgba(255,255,255,.94);
	box-shadow:0 12px 28px rgba(10,31,68,.08);
}
.case-client-tabs a{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:1 1 0;
	min-height:44px;
	padding:10px 12px;
	border-radius:7px;
	color:#526071;
	font-size:15px;
	font-weight:800;
	line-height:1.25;
	text-align:center;
	text-decoration:none;
	transition:background-color .18s ease, color .18s ease;
}
.case-client-tabs a:hover{
	background:#F0F5FC;
	color:#0C356B;
}
.case-client-sections{
	display:grid;
	gap:34px;
}
.case-client-section{
	scroll-margin-top:92px;
	padding:34px;
	border:1px solid #E1E8F2;
	border-radius:8px;
	background:#fff;
	box-shadow:0 10px 34px rgba(10,31,68,.055);
}
.case-section-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:24px;
	padding-bottom:20px;
	border-bottom:2px solid #0A1F44;
}
.case-section-head h3{
	margin:8px 0 6px;
	color:#0A1F44;
	font-size:28px;
	font-weight:850;
	line-height:1.25;
	letter-spacing:0;
}
.case-section-head p{
	margin:0;
	color:#6B7280;
	font-size:16px;
	font-weight:600;
	line-height:1.55;
}
.case-section-head strong{
	display:flex;
	min-width:96px;
	flex-direction:column;
	align-items:flex-end;
	color:#1E5BB8;
	font-size:34px;
	font-weight:850;
	line-height:1;
	letter-spacing:0;
}
.case-section-head strong span{
	margin-top:8px;
	color:#9AA6B6;
	font-size:11px;
	font-weight:800;
	letter-spacing:.1em;
}
.case-logo-grid{
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:12px;
}
.case-logo-grid li{
	display:flex;
	align-items:center;
	justify-content:center;
	height:84px;
	padding:14px 16px;
	border:1px solid #E6EDF5;
	border-radius:8px;
	background:#fff;
	transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.case-logo-grid li:hover{
	border-color:#B7CAE5;
	box-shadow:0 10px 24px rgba(10,31,68,.08);
	transform:translateY(-2px);
}
.case-logo-grid img{
	display:block;
	max-width:100%;
	max-height:54px;
	width:auto;
	height:auto;
	object-fit:contain;
}
.scroll-to-top{
	position:fixed;
	right:110px;
	bottom:37px;
	z-index:30;
	display:none;
	padding:0;
	border:0;
	background:transparent;
	cursor:pointer;
}
.scroll-to-top img{
	display:block;
}
@media (max-width:1199px){
	.sub_contents.case-client-scope{
		padding:38px 20px 72px !important;
	}
	.case-client-hero{
		grid-template-columns:1fr;
		padding:34px 28px;
	}
	.case-client-stats{
		max-width:none;
	}
	.case-logo-grid{
		grid-template-columns:repeat(4, minmax(0, 1fr));
	}
	.scroll-to-top{
		right:24px;
		bottom:24px;
	}
}
@media (max-width:767px){
	.sub_contents.case-client-scope{
		padding:30px 16px 58px !important;
	}
	.case-client-hero{
		padding:28px 20px;
	}
	.case-client-copy h2{
		font-size:28px;
	}
	.case-client-copy p{
		font-size:15px;
	}
	.case-client-stats{
		grid-template-columns:1fr;
	}
	.case-client-stats li{
		min-height:82px;
	}
	.case-client-tabs{
		position:relative;
		top:auto;
		flex-wrap:wrap;
		margin:22px 0 28px;
	}
	.case-client-tabs a{
		flex:1 1 calc(50% - 8px);
		min-height:42px;
		font-size:14px;
	}
	.case-client-section{
		padding:24px 18px;
		scroll-margin-top:20px;
	}
	.case-section-head{
		align-items:flex-start;
		flex-direction:column;
		gap:16px;
	}
	.case-section-head h3{
		font-size:24px;
	}
	.case-section-head strong{
		align-items:flex-start;
		font-size:28px;
	}
	.case-logo-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:10px;
	}
	.case-logo-grid li{
		height:74px;
		padding:12px;
	}
	.case-logo-grid img{
		max-height:46px;
	}
	.scroll-to-top{
		right:16px;
		bottom:18px;
	}
}
