.ing_login{
	width:100%;
	padding:100px 20px 120px;
	box-sizing:border-box;
	background:
		radial-gradient(circle at 10% 10%, rgba(35,93,255,0.06), transparent 28%),
		radial-gradient(circle at 90% 90%, rgba(0,174,255,0.08), transparent 30%),
		#f5f7fb;
	font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;
}

.ing_login_inner{
	width:100%;
	max-width:1180px;
	min-height:680px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1.05fr 0.95fr;
	background:#fff;
	border:1px solid rgba(19,49,100,0.08);
	border-radius:30px;
	overflow:hidden;
	box-shadow:0 30px 80px rgba(22,47,89,0.12);
}

.ing_login_visual{
	position:relative;
	display:flex;
	align-items:center;
	min-height:680px;
	padding:70px;
	box-sizing:border-box;
	overflow:hidden;
	background:
		linear-gradient(145deg, rgba(7,38,105,0.97), rgba(23,89,223,0.94)),
		#1249b8;
}

.ing_login_visual:before{
	content:"";
	position:absolute;
	left:-100px;
	bottom:-140px;
	width:430px;
	height:430px;
	border:1px solid rgba(255,255,255,0.12);
	border-radius:50%;
}

.ing_login_visual:after{
	content:"";
	position:absolute;
	top:-160px;
	right:-140px;
	width:460px;
	height:460px;
	border:1px solid rgba(255,255,255,0.12);
	border-radius:50%;
}

.ing_login_visual_content{
	position:relative;
	z-index:2;
	color:#fff;
}

.ing_login_visual_badge{
	display:inline-flex;
	align-items:center;
	height:34px;
	padding:0 15px;
	margin-bottom:28px;
	border:1px solid rgba(255,255,255,0.28);
	border-radius:50px;
	background:rgba(255,255,255,0.08);
	backdrop-filter:blur(10px);
	font-size:11px;
	font-weight:700;
	letter-spacing:2px;
	color:rgba(255,255,255,0.9);
}

.ing_login_visual h2{
	margin:0;
	font-size:44px;
	line-height:1.28;
	font-weight:700;
	letter-spacing:-2px;
	word-break:keep-all;
}

.ing_login_visual p{
	margin:26px 0 0;
	font-size:16px;
	line-height:1.8;
	font-weight:400;
	color:rgba(255,255,255,0.75);
	word-break:keep-all;
}

.ing_login_visual_line{
	width:42px;
	height:2px;
	margin:38px 0 25px;
	background:rgba(255,255,255,0.7);
}

.ing_login_visual_info{
	display:flex;
	flex-wrap:wrap;
	gap:10px 18px;
}

.ing_login_visual_info span{
	position:relative;
	padding-left:12px;
	font-size:10px;
	font-weight:600;
	letter-spacing:1px;
	color:rgba(255,255,255,0.65);
}

.ing_login_visual_info span:before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:4px;
	height:4px;
	margin-top:-2px;
	border-radius:50%;
	background:#fff;
}

.ing_login_visual_circle{
	position:absolute;
	z-index:1;
	border-radius:50%;
	background:rgba(255,255,255,0.08);
	box-shadow:inset 0 0 25px rgba(255,255,255,0.04);
}

.ing_login_visual_circle1{
	top:90px;
	right:85px;
	width:85px;
	height:85px;
}

.ing_login_visual_circle2{
	right:45px;
	bottom:120px;
	width:150px;
	height:150px;
}

.ing_login_visual_circle3{
	left:65px;
	bottom:55px;
	width:34px;
	height:34px;
}

.ing_login_box{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:65px 75px;
	box-sizing:border-box;
	background:#fff;
}

.ing_login_header{
	margin-bottom:38px;
	text-align:center;
}

.ing_login_logo{
	display:flex;
	justify-content:center;
	align-items:center;
	height:46px;
	margin-bottom:25px;
}

.ing_login_logo img{
	display:block;
	max-width:170px;
	max-height:46px;
	object-fit:contain;
}

.ing_login_header h1{
	margin:0;
	font-size:34px;
	line-height:1.3;
	font-weight:800;
	letter-spacing:-1.5px;
	color:#111827;
}

.ing_login_header p{
	margin:13px 0 0;
	font-size:14px;
	line-height:1.7;
	color:#7a8496;
	word-break:keep-all;
}

.ing_login_field{
	margin-bottom:22px;
}

.ing_login_field label{
	display:block;
	margin-bottom:9px;
	font-size:13px;
	font-weight:700;
	color:#29354a;
}

.ing_login_input{
	position:relative;
	display:flex;
	align-items:center;
	height:58px;
	border:1px solid #dde3ed;
	border-radius:12px;
	background:#fff;
	transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.ing_login_input:focus-within{
	border-color:#245fd7;
	box-shadow:0 0 0 4px rgba(36,95,215,0.08);
}

.ing_login_input_icon{
	flex-shrink:0;
	width:54px;
	text-align:center;
	font-size:16px;
	color:#8b96a9;
}

.ing_login_input input{
	width:100%;
	height:100%;
	padding:0 17px 0 0;
	border:0;
	outline:0;
	background:transparent;
	box-sizing:border-box;
	font-size:14px;
	color:#172033;
}

.ing_login_input input::placeholder{
	color:#b1b8c5;
}

.ing_login_option{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:15px;
	margin-top:2px;
	margin-bottom:28px;
}

.ing_login_check{
	display:flex;
	align-items:center;
	gap:8px;
	cursor:pointer;
	font-size:13px;
	color:#687386;
}

.ing_login_check input{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
}

.ing_login_check_box{
	display:flex;
	align-items:center;
	justify-content:center;
	width:19px;
	height:19px;
	border:1px solid #d2d9e5;
	border-radius:5px;
	box-sizing:border-box;
	background:#fff;
	font-size:10px;
	color:transparent;
	transition:all 0.2s ease;
}

.ing_login_check input:checked + .ing_login_check_box{
	border-color:#215dd3;
	background:#215dd3;
	color:#fff;
}

.ing_login_find{
	display:flex;
	align-items:center;
	gap:10px;
}

.ing_login_find a{
	font-size:12px;
	color:#7b8698;
	text-decoration:none;
	transition:color 0.2s ease;
}

.ing_login_find a:hover{
	color:#215dd3;
}

.ing_login_find span{
	width:1px;
	height:11px;
	background:#d7dce5;
}

.ing_login_submit{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:100%;
	height:60px;
	padding:0;
	border:0;
	border-radius:12px;
	background:linear-gradient(135deg,#123f9c,#2369e9);
	box-shadow:0 12px 25px rgba(31,91,213,0.22);
	font-size:15px;
	font-weight:700;
	color:#fff;
	cursor:pointer;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.ing_login_submit span{
	font-size:19px;
	font-weight:300;
	transition:transform 0.2s ease;
}

.ing_login_submit:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 30px rgba(31,91,213,0.3);
}

.ing_login_submit:hover span{
	transform:translateX(4px);
}

.ing_login_join{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin-top:32px;
	padding:20px 22px;
	border:1px solid #e6eaf1;
	border-radius:12px;
	background:#f8faff;
}

.ing_login_join strong{
	display:block;
	margin-bottom:5px;
	font-size:13px;
	font-weight:700;
	color:#283449;
}

.ing_login_join p{
	margin:0;
	font-size:11px;
	line-height:1.5;
	color:#8a94a5;
}

.ing_login_join a{
	flex-shrink:0;
	display:flex;
	align-items:center;
	gap:7px;
	font-size:13px;
	font-weight:700;
	color:#215dd3;
	text-decoration:none;
}

.ing_login_join a span{
	font-size:16px;
	transition:transform 0.2s ease;
}

.ing_login_join a:hover span{
	transform:translateX(4px);
}

.ing_login_home{
	margin-top:25px;
	text-align:center;
}

.ing_login_home a{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-size:12px;
	color:#8a94a5;
	text-decoration:none;
	transition:color 0.2s ease;
}

.ing_login_home a:hover{
	color:#215dd3;
}

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

	.ing_login{
		padding:45px 16px 70px;
	}

	.ing_login_inner{
		display:block;
		min-height:0;
		border-radius:20px;
	}

	.ing_login_visual{
		display:none;
	}

	.ing_login_box{
		padding:45px 22px 35px;
	}

	.ing_login_header{
		margin-bottom:32px;
	}

	.ing_login_logo{
		height:40px;
		margin-bottom:22px;
	}

	.ing_login_logo img{
		max-width:150px;
		max-height:40px;
	}

	.ing_login_header h1{
		font-size:29px;
	}

	.ing_login_header p{
		font-size:13px;
	}

	.ing_login_field{
		margin-bottom:18px;
	}

	.ing_login_input{
		height:55px;
		border-radius:10px;
	}

	.ing_login_input_icon{
		width:49px;
	}

	.ing_login_option{
		align-items:flex-start;
		gap:10px;
	}

	.ing_login_find{
		gap:7px;
	}

	.ing_login_find a{
		font-size:11px;
	}

	.ing_login_submit{
		height:57px;
		border-radius:10px;
	}

	.ing_login_join{
		align-items:flex-start;
		padding:18px;
	}

	.ing_login_join p{
		display:none;
	}

}