.ing_services,
.ing_services *{
	box-sizing:border-box;
}

.ing_services{
	position:relative;
	overflow:hidden;
	width:100%;
	padding:120px 20px;
	background:
		linear-gradient(180deg, #f7faff 0%, #ffffff 42%, #f7f9fc 100%);
	font-family:Arial, "Noto Sans KR", sans-serif;
}

.ing_services_bg{
	position:absolute;
	border-radius:50%;
	pointer-events:none;
	filter:blur(2px);
}

.ing_services_bg01{
	top:-260px;
	right:-180px;
	width:620px;
	height:620px;
	background:radial-gradient(
		circle,
		rgba(38, 105, 255, 0.11) 0%,
		rgba(38, 105, 255, 0) 70%
	);
}

.ing_services_bg02{
	bottom:-320px;
	left:-220px;
	width:720px;
	height:720px;
	background:radial-gradient(
		circle,
		rgba(74, 191, 255, 0.10) 0%,
		rgba(74, 191, 255, 0) 70%
	);
}

.ing_services_inner{
	position:relative;
	z-index:2;
	width:100%;
	max-width:1340px;
	margin:0 auto;
}

.ing_services_head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:50px;
	margin-bottom:60px;
}

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

.ing_services_label{
	display:inline-flex;
	align-items:center;
	gap:11px;
	margin-bottom:20px;
	font-size:14px;
	line-height:1;
	font-weight:800;
	letter-spacing:3px;
	color:#1769e8;
}

.ing_services_label:before{
	content:"";
	display:block;
	width:42px;
	height:2px;
	background:#1769e8;
}

.ing_services_head h2{
	margin:0;
	font-size:46px;
	line-height:1.28;
	font-weight:700;
	letter-spacing:-2.2px;
	color:#111827;
	word-break:keep-all;
}

.ing_services_head h2 strong{
	color:#1769e8;
	font-weight:800;
}

.ing_services_intro{
	flex:0 0 470px;
	margin:0 0 5px;
	font-size:16px;
	line-height:1.8;
	font-weight:400;
	letter-spacing:-0.4px;
	color:#667085;
	word-break:keep-all;
}

.ing_services_grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
	align-items:start;
}

.ing_service_card{
	--service-color:#1769e8;
	--service-color-rgb:23, 105, 232;
	--service-gradient-start:#1769e8;
	--service-gradient-end:#4e94ff;

	position:relative;
	display:flex;
	flex-direction:column;
	min-height:100%;
	overflow:hidden;
	padding:32px;
	border:1px solid #e5eaf2;
	border-radius:24px;
	background:rgba(255, 255, 255, 0.94);
	box-shadow:0 14px 44px rgba(27, 45, 78, 0.06);
	transition:
		transform 0.35s ease,
		box-shadow 0.35s ease,
		border-color 0.35s ease;
}

.ing_service_card:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:5px;
	background:linear-gradient(
		90deg,
		var(--service-gradient-start),
		var(--service-gradient-end)
	);
}

.ing_service_card:after{
	content:"";
	position:absolute;
	top:-100px;
	right:-100px;
	width:220px;
	height:220px;
	border-radius:50%;
	background:rgba(var(--service-color-rgb), 0.06);
	transition:
		transform 0.45s ease,
		background 0.45s ease;
	pointer-events:none;
}

.ing_service_card:hover{
	z-index:2;
	transform:translateY(-9px);
	border-color:rgba(var(--service-color-rgb), 0.26);
	box-shadow:0 28px 68px rgba(22, 42, 75, 0.13);
}

.ing_service_card:hover:after{
	transform:scale(1.18);
	background:rgba(var(--service-color-rgb), 0.10);
}

.ing_service_card_web{
	--service-color:#1769e8;
	--service-color-rgb:23, 105, 232;
	--service-gradient-start:#075bd8;
	--service-gradient-end:#4b9aff;
	grid-column:span 2;
}

.ing_service_card_mail{
	--service-color:#6854e8;
	--service-color-rgb:104, 84, 232;
	--service-gradient-start:#5d46df;
	--service-gradient-end:#9b8cff;
}

.ing_service_card_idc{
	--service-color:#087ea4;
	--service-color-rgb:8, 126, 164;
	--service-gradient-start:#087ea4;
	--service-gradient-end:#40c5dd;
}

.ing_service_card_marketing{
	--service-color:#e25a25;
	--service-color-rgb:226, 90, 37;
	--service-gradient-start:#e24d1b;
	--service-gradient-end:#ff9f52;
}

.ing_service_card_wedding{
	--service-color:#d64d83;
	--service-color-rgb:214, 77, 131;
	--service-gradient-start:#cf3f78;
	--service-gradient-end:#ff91ba;
	grid-column:span 2;
}

.ing_service_card_interior{
	--service-color:#26815f;
	--service-color-rgb:38, 129, 95;
	--service-gradient-start:#1d7655;
	--service-gradient-end:#65bb8d;
}

.ing_service_card_top{
	position:relative;
	z-index:2;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	margin-bottom:27px;
}

.ing_service_icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:64px;
	height:64px;
	flex-shrink:0;
	border-radius:19px;
	background:linear-gradient(
		135deg,
		rgba(var(--service-color-rgb), 0.13),
		rgba(var(--service-color-rgb), 0.05)
	);
	color:var(--service-color);
}

.ing_service_icon svg{
	width:36px;
	height:36px;
	fill:none;
	stroke:currentColor;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_service_number{
	padding-top:2px;
	font-size:42px;
	line-height:1;
	font-weight:800;
	letter-spacing:-2px;
	color:rgba(var(--service-color-rgb), 0.11);
}

.ing_service_title_box{
	position:relative;
	z-index:2;
	padding-bottom:25px;
	border-bottom:1px solid #edf0f5;
}

.ing_service_title_en{
	display:block;
	margin-bottom:9px;
	font-size:11px;
	line-height:1.4;
	font-weight:800;
	letter-spacing:1.8px;
	color:var(--service-color);
}

.ing_service_title_box h3{
	margin:0;
	font-size:28px;
	line-height:1.35;
	font-weight:800;
	letter-spacing:-1.1px;
}

.ing_service_title_box h3 a{
	color:#172033;
	text-decoration:none;
	transition:color 0.25s ease;
}

.ing_service_title_box h3 a:hover{
	color:var(--service-color);
}

.ing_service_title_box p{
	margin:13px 0 0;
	font-size:14px;
	line-height:1.7;
	letter-spacing:-0.35px;
	color:#778194;
	word-break:keep-all;
}

.ing_service_link_list{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
	margin:24px 0 0;
	padding:0;
	list-style:none;
}

.ing_service_card_web .ing_service_link_list,
.ing_service_card_wedding .ing_service_link_list{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ing_service_link_list li{
	margin:0;
	padding:0;
}

.ing_service_link_list li a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	min-height:69px;
	padding:14px 16px;
	border:1px solid #edf0f4;
	border-radius:13px;
	background:#fafbfd;
	color:#273244;
	text-decoration:none;
	transition:
		border-color 0.25s ease,
		background 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.ing_service_link_list li a:hover{
	transform:translateX(3px);
	border-color:rgba(var(--service-color-rgb), 0.22);
	background:#fff;
	box-shadow:0 10px 24px rgba(25, 42, 70, 0.07);
}

.ing_service_link_text{
	display:block;
	min-width:0;
}

.ing_service_link_text strong{
	display:block;
	overflow:hidden;
	font-size:14px;
	line-height:1.4;
	font-weight:700;
	letter-spacing:-0.3px;
	color:#283346;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.ing_service_link_text small{
	display:block;
	overflow:hidden;
	margin-top:4px;
	font-size:11px;
	line-height:1.4;
	font-weight:400;
	letter-spacing:-0.2px;
	color:#929bab;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.ing_service_link_arrow{
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	flex-shrink:0;
	border-radius:50%;
	background:#fff;
	color:#a5adba;
	box-shadow:0 3px 10px rgba(30, 45, 70, 0.07);
	transition:
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

.ing_service_link_arrow svg{
	width:15px;
	height:15px;
	fill:none;
	stroke:currentColor;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_service_link_list li a:hover .ing_service_link_arrow{
	transform:translateX(2px);
	background:var(--service-color);
	color:#fff;
}

.ing_service_more{
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-top:auto;
	padding-top:27px;
	font-size:13px;
	line-height:1.4;
	font-weight:700;
	letter-spacing:-0.25px;
	color:var(--service-color);
	text-decoration:none;
}

.ing_service_more svg{
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
	transition:transform 0.25s ease;
}

.ing_service_more:hover svg{
	transform:translateX(5px);
}

.ing_services_bottom{
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	margin-top:24px;
	padding:42px 48px;
	border-radius:24px;
	background:
		linear-gradient(120deg, #0d2550 0%, #133b78 48%, #1769e8 100%);
	box-shadow:0 22px 55px rgba(15, 49, 100, 0.22);
}

.ing_services_bottom:before{
	content:"";
	position:absolute;
	top:-140px;
	right:180px;
	width:340px;
	height:340px;
	border:1px solid rgba(255, 255, 255, 0.10);
	border-radius:50%;
}

.ing_services_bottom:after{
	content:"";
	position:absolute;
	right:-80px;
	bottom:-180px;
	width:360px;
	height:360px;
	border-radius:50%;
	background:rgba(255, 255, 255, 0.06);
}

.ing_services_bottom_text{
	position:relative;
	z-index:2;
}

.ing_services_bottom_text > span{
	display:block;
	margin-bottom:10px;
	font-size:11px;
	line-height:1.4;
	font-weight:800;
	letter-spacing:2px;
	color:#80bdff;
}

.ing_services_bottom_text strong{
	display:block;
	font-size:25px;
	line-height:1.4;
	font-weight:800;
	letter-spacing:-0.9px;
	color:#fff;
}

.ing_services_bottom_text p{
	margin:8px 0 0;
	font-size:14px;
	line-height:1.65;
	letter-spacing:-0.3px;
	color:rgba(255, 255, 255, 0.68);
	word-break:keep-all;
}

.ing_services_consult_btn{
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:30px;
	min-width:218px;
	height:58px;
	padding:0 23px;
	border-radius:13px;
	background:#fff;
	font-size:14px;
	font-weight:800;
	letter-spacing:-0.3px;
	color:#154991;
	text-decoration:none;
	box-shadow:0 12px 30px rgba(4, 27, 66, 0.18);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.ing_services_consult_btn:hover{
	transform:translateY(-3px);
	box-shadow:0 17px 35px rgba(4, 27, 66, 0.26);
}

.ing_services_consult_btn svg{
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
	transition:transform 0.25s ease;
}

.ing_services_consult_btn:hover svg{
	transform:translateX(4px);
}


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

	.ing_services{
		padding:75px 18px;
	}

	.ing_services_bg01{
		top:-170px;
		right:-180px;
		width:400px;
		height:400px;
	}

	.ing_services_bg02{
		bottom:-200px;
		left:-180px;
		width:420px;
		height:420px;
	}

	.ing_services_head{
		display:block;
		margin-bottom:36px;
	}

	.ing_services_label{
		gap:9px;
		margin-bottom:16px;
		font-size:11px;
		letter-spacing:2.2px;
	}

	.ing_services_label:before{
		width:29px;
	}

	.ing_services_head h2{
		font-size:31px;
		line-height:1.32;
		letter-spacing:-1.5px;
	}

	.ing_services_intro{
		margin-top:20px;
		font-size:14px;
		line-height:1.7;
	}

	.ing_services_intro br{
		display:none;
	}

	.ing_services_grid{
		display:block;
	}

	.ing_service_card{
		width:100%;
		margin-bottom:18px;
		padding:25px 21px;
		border-radius:19px;
	}

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

	.ing_service_card:hover{
		transform:none;
	}

	.ing_service_card_top{
		margin-bottom:21px;
	}

	.ing_service_icon{
		width:55px;
		height:55px;
		border-radius:16px;
	}

	.ing_service_icon svg{
		width:31px;
		height:31px;
	}

	.ing_service_number{
		font-size:34px;
	}

	.ing_service_title_box{
		padding-bottom:20px;
	}

	.ing_service_title_en{
		margin-bottom:7px;
		font-size:10px;
		letter-spacing:1.4px;
	}

	.ing_service_title_box h3{
		font-size:24px;
		letter-spacing:-0.9px;
	}

	.ing_service_title_box p{
		margin-top:10px;
		font-size:13px;
		line-height:1.65;
	}

	.ing_service_link_list,
	.ing_service_card_web .ing_service_link_list,
	.ing_service_card_wedding .ing_service_link_list{
		grid-template-columns:1fr;
		gap:8px;
		margin-top:19px;
	}

	.ing_service_link_list li a{
		min-height:61px;
		padding:12px 13px;
		border-radius:11px;
	}

	.ing_service_link_list li a:hover{
		transform:none;
	}

	.ing_service_link_text strong{
		font-size:13px;
	}

	.ing_service_link_text small{
		font-size:10px;
	}

	.ing_service_link_arrow{
		width:27px;
		height:27px;
	}

	.ing_service_more{
		padding-top:22px;
		font-size:12px;
	}

	.ing_services_bottom{
		display:block;
		margin-top:18px;
		padding:31px 23px;
		border-radius:19px;
	}

	.ing_services_bottom:before{
		top:-130px;
		right:-100px;
		width:250px;
		height:250px;
	}

	.ing_services_bottom:after{
		right:-130px;
		bottom:-170px;
		width:290px;
		height:290px;
	}

	.ing_services_bottom_text > span{
		margin-bottom:8px;
		font-size:9px;
		letter-spacing:1.6px;
	}

	.ing_services_bottom_text strong{
		font-size:21px;
		line-height:1.45;
		letter-spacing:-0.8px;
	}

	.ing_services_bottom_text p{
		font-size:13px;
		line-height:1.65;
	}

	.ing_services_consult_btn{
		justify-content:space-between;
		width:100%;
		min-width:0;
		height:54px;
		margin-top:23px;
		padding:0 20px;
		border-radius:11px;
		font-size:13px;
	}

}