:root{
	--ez-bg:#070b16;
	--ez-bg-2:#0b1020;
	--ez-surface:#101827;
	--ez-surface-2:#151f32;
	--ez-surface-3:#1d2940;
	--ez-border:rgba(255,255,255,.11);
	--ez-border-strong:rgba(255,255,255,.18);
	--ez-text:#f7fbff;
	--ez-muted:#aebbd3;
	--ez-muted-2:#7f8ba4;
	--ez-blue:#54b8ff;
	--ez-cyan:#19d9ff;
	--ez-purple:#8f7cff;
	--ez-pink:#ff6bb7;
	--ez-green:#68f1bc;
	--ez-yellow:#ffd166;
	--ez-danger:#ff6b6b;
	--ez-radius-xl:32px;
	--ez-radius-lg:24px;
	--ez-radius-md:18px;
	--ez-shadow:0 26px 90px rgba(0,0,0,.46);
	--ez-shadow-soft:0 18px 50px rgba(0,0,0,.25);
	--ez-header-height:82px;
}

*{
	box-sizing:border-box;
	-webkit-tap-highlight-color:transparent;
}

a,
button,
input,
textarea,
select,
label{
	-webkit-tap-highlight-color:transparent;
}

a:focus,
button:focus{
	outline:none;
}

a:focus-visible,
button:focus-visible{
	outline:2px solid rgba(125,220,255,.65);
	outline-offset:4px;
}

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:
		radial-gradient(circle at 18% 0%, rgba(84,184,255,.20), transparent 34%),
		radial-gradient(circle at 78% 6%, rgba(143,124,255,.18), transparent 35%),
		linear-gradient(180deg, #070b16 0%, #0b1020 48%, #090d17 100%);
	color:var(--ez-text);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
	letter-spacing:-.035em;
	overflow-x:hidden;
}

body.is_mobile_nav_open,
body.is_legal_overlay_open{
	overflow:hidden;
}

a{
	color:inherit;
	text-decoration:none;
}

button{
	font-family:inherit;
}

img{
	display:block;
	max-width:100%;
}

.ez_page{
	position:relative;
	min-height:100vh;
	overflow:hidden;
}

.ez_container{
	width:min(1180px, calc(100% - 40px));
	margin:0 auto;
}

.ez_header{
	position:fixed;
	left:0;
	top:0;
	z-index:100;
	width:100%;
	height:var(--ez-header-height);
	border-bottom:1px solid rgba(255,255,255,.08);
	background:rgba(7,11,22,.58);
	backdrop-filter:blur(22px);
	-webkit-backdrop-filter:blur(22px);
	transition:background .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ez_header.is_scrolled{
	background:rgba(7,11,22,.86);
	border-bottom-color:rgba(255,255,255,.12);
	box-shadow:0 14px 40px rgba(0,0,0,.28);
}

.ez_header_inner{
	width:min(1240px, calc(100% - 36px));
	height:100%;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:22px;
}

.ez_logo{
	display:flex;
	align-items:center;
	gap:10px;
	flex:0 0 auto;
	font-weight:900;
	letter-spacing:-.05em;
}

.ez_logo_mark{
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:14px;
	background:linear-gradient(135deg, var(--ez-blue), var(--ez-purple));
	box-shadow:0 10px 26px rgba(84,184,255,.28);
	color:#fff;
	font-size:15px;
}

.ez_logo_text{
	font-size:20px;
	color:#fff;
}

.ez_nav{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:4px;
	height:48px;
	padding:5px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:999px;
	background:rgba(255,255,255,.045);
}

.ez_nav a{
	display:flex;
	align-items:center;
	height:38px;
	padding:0 16px;
	border-radius:999px;
	color:rgba(247,251,255,.78);
	font-size:14px;
	font-weight:800;
	transition:background .2s ease, color .2s ease, transform .2s ease;
}

.ez_nav a:hover,
.ez_nav a.is_active{
	background:rgba(255,255,255,.10);
	color:#fff;
	transform:translateY(-1px);
}

.ez_header_actions{
	display:flex;
	align-items:center;
	gap:10px;
	flex:0 0 auto;
}

.ez_login_btn,
.ez_profile_btn{
	display:flex;
	align-items:center;
	justify-content:center;
	height:44px;
	padding:0 18px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:999px;
	color:rgba(247,251,255,.84);
	font-size:14px;
	font-weight:900;
	background:rgba(255,255,255,.045);
	transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.ez_login_btn:hover,
.ez_profile_btn:hover{
	background:rgba(255,255,255,.10);
	color:#fff;
	border-color:rgba(255,255,255,.24);
	transform:translateY(-1px);
}

.ez_header_download_btn{
	display:flex;
	align-items:center;
	justify-content:center;
	height:44px;
	padding:0 19px;
	border-radius:999px;
	background:linear-gradient(135deg, var(--ez-cyan), var(--ez-purple));
	color:#fff;
	font-size:14px;
	font-weight:950;
	box-shadow:0 14px 34px rgba(25,217,255,.22);
	transition:transform .2s ease, box-shadow .2s ease;
}

.ez_header_download_btn:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 44px rgba(25,217,255,.30);
}

.ez_nav_toggle{
	display:none;
	width:46px;
	height:46px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:15px;
	background:rgba(255,255,255,.06);
	cursor:pointer;
	padding:0;
}

.ez_nav_toggle span{
	display:block;
	width:19px;
	height:2px;
	margin:4px auto;
	border-radius:99px;
	background:#fff;
	transition:transform .2s ease, opacity .2s ease;
}

.ez_nav_toggle.is_open span:nth-child(1){
	transform:translateY(6px) rotate(45deg);
}

.ez_nav_toggle.is_open span:nth-child(2){
	opacity:0;
}

.ez_nav_toggle.is_open span:nth-child(3){
	transform:translateY(-6px) rotate(-45deg);
}

.ez_mobile_panel{
	display:none;
	position:fixed;
	left:18px;
	right:18px;
	top:calc(var(--ez-header-height) + 10px);
	z-index:99;
	padding:16px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:24px;
	background:rgba(12,18,32,.96);
	backdrop-filter:blur(22px);
	-webkit-backdrop-filter:blur(22px);
	box-shadow:var(--ez-shadow);
	transform:translateY(-12px);
	opacity:0;
	pointer-events:none;
	transition:opacity .2s ease, transform .2s ease;
}

.ez_mobile_panel.is_open{
	opacity:1;
	transform:translateY(0);
	pointer-events:auto;
}

.ez_mobile_panel a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:46px;
	padding:0 14px;
	border-radius:14px;
	color:#fff;
	font-size:15px;
	font-weight:900;
}

.ez_mobile_panel a:hover{
	background:rgba(255,255,255,.08);
}

.ez_mobile_actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid rgba(255,255,255,.10);
}

.ez_mobile_actions a:last-child{
	background:linear-gradient(135deg, var(--ez-cyan), var(--ez-purple));
	justify-content:center;
}

.ez_footer{
	padding:50px 0 58px;
	border-top:1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(circle at 0% 0%, rgba(25,217,255,.08), transparent 30%),
		radial-gradient(circle at 100% 100%, rgba(143,124,255,.09), transparent 34%),
		rgba(0,0,0,.16);
}

.ez_footer_inner{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:34px;
}

.ez_footer_left{
	min-width:0;
	max-width:760px;
}

.ez_footer_logo{
	display:inline-flex;
	color:#fff;
	font-size:22px;
	font-weight:950;
	letter-spacing:-.06em;
}

.ez_footer p{
	margin:10px 0 0;
	color:var(--ez-muted-2);
	font-size:14px;
	font-weight:700;
}

.ez_footer_company{
	margin-top:22px;
	padding:20px 22px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:24px;
	background:rgba(255,255,255,.045);
	box-shadow:0 14px 38px rgba(0,0,0,.18);
	color:rgba(247,251,255,.78);
	font-size:13px;
	line-height:1.75;
	font-weight:750;
}

.ez_footer_company_address{
	color:#fff;
	font-size:14px;
	line-height:1.65;
	font-weight:950;
	letter-spacing:-.04em;
}

.ez_footer_company_row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	column-gap:14px;
	row-gap:4px;
	margin-top:10px;
}

.ez_footer_company_row span{
	position:relative;
	color:rgba(174,187,211,.88);
}

.ez_footer_company_row span:not(:last-child):after{
	content:"";
	position:absolute;
	right:-8px;
	top:50%;
	width:1px;
	height:11px;
	background:rgba(255,255,255,.14);
	transform:translateY(-50%);
}

.ez_footer_company_contact{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid rgba(255,255,255,.08);
}

.ez_footer_company_contact span{
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:0 11px;
	border-radius:999px;
	background:rgba(84,184,255,.09);
	color:#d4f5ff;
	font-size:13px;
	font-weight:950;
}

.ez_footer_right{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:14px;
	flex:0 0 auto;
}

.ez_footer_links{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
}

.ez_footer_links a{
	display:flex;
	align-items:center;
	height:38px;
	padding:0 13px;
	border-radius:999px;
	background:rgba(255,255,255,.055);
	color:rgba(247,251,255,.78);
	font-size:13px;
	font-weight:900;
}

.ez_footer_links a:hover{
	background:rgba(255,255,255,.10);
	color:#fff;
}

.ez_footer_policy_links{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:10px;
}

.ez_footer_policy_links button{
	border:0;
	padding:0;
	background:transparent;
	color:rgba(174,187,211,.86);
	font-size:13px;
	line-height:1;
	font-weight:850;
	cursor:pointer;
	transition:color .2s ease, transform .2s ease;
}

.ez_footer_policy_links button:hover{
	color:#bdeaff;
	transform:translateY(-1px);
}

.ez_footer_policy_links span{
	width:1px;
	height:12px;
	background:rgba(255,255,255,.16);
}

.ez_legal_overlay{
	position:fixed;
	inset:0;
	z-index:300;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .26s ease, visibility 0s linear .26s;
}

.ez_legal_overlay.is_open{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition:opacity .26s ease, visibility 0s linear 0s;
}

.ez_legal_dim{
	position:absolute;
	inset:0;
	background:rgba(2,6,14,.72);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	opacity:0;
	transition:opacity .26s ease;
}

.ez_legal_overlay.is_open .ez_legal_dim{
	opacity:1;
}

.ez_legal_shell{
	position:relative;
	z-index:2;
	width:min(920px, 100%);
	max-height:min(820px, calc(100vh - 48px));
	display:flex;
	flex-direction:column;
	border:1px solid rgba(255,255,255,.14);
	border-radius:32px;
	background:
		radial-gradient(circle at 14% 0%, rgba(25,217,255,.15), transparent 34%),
		radial-gradient(circle at 100% 0%, rgba(143,124,255,.16), transparent 34%),
		linear-gradient(180deg, rgba(17,25,42,.96), rgba(9,14,26,.96));
	box-shadow:0 34px 110px rgba(0,0,0,.62);
	overflow:hidden;
	opacity:0;
	transform:translateY(18px) scale(.965);
	transition:opacity .26s ease, transform .26s ease;
}

.ez_legal_overlay.is_open .ez_legal_shell{
	opacity:1;
	transform:translateY(0) scale(1);
}

.ez_legal_top{
	min-height:50px;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:16px;
	padding:18px 24px;
	border-bottom:1px solid rgba(255,255,255,.10);
	background:
		linear-gradient(90deg, rgba(25,217,255,.12), rgba(143,124,255,.10)),
		rgba(255,255,255,.035);
}

.ez_legal_back{
	min-width:126px;
	height:33px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border:1px solid rgba(255,255,255,.15);
	border-radius:999px;
	padding:0 18px;
	background:rgba(255,255,255,.08);
	color:#fff;
	font-size:12px;
	font-weight:950;
	cursor:pointer;
	box-shadow:0 12px 30px rgba(0,0,0,.18);
	transition:background .2s ease, transform .2s ease, border-color .2s ease;
}

.ez_legal_back span{
	color:#bdeaff;
	font-size:16px;
	line-height:1;
}

.ez_legal_back:hover{
	background:rgba(255,255,255,.13);
	border-color:rgba(255,255,255,.24);
	transform:translateY(-1px);
}

.ez_legal_panel{
	display:none;
	min-height:0;
	flex:1;
	overflow:hidden;
}

.ez_legal_panel.is_active{
	display:flex;
	flex-direction:column;
}

.ez_legal_head{
	display:flex;
	align-items:center;
	gap:16px;
	padding:28px 32px 22px;
	border-bottom:1px solid rgba(255,255,255,.08);
}

.ez_legal_icon{
	width:58px;
	height:58px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	border-radius:20px;
	background:linear-gradient(135deg, rgba(25,217,255,.18), rgba(143,124,255,.20));
	font-size:27px;
	box-shadow:0 16px 38px rgba(25,217,255,.12);
}

.ez_legal_head span{
	display:inline-flex;
	align-items:center;
	min-height:28px;
	padding:0 10px;
	border-radius:999px;
	background:rgba(84,184,255,.10);
	color:#bdeaff;
	font-size:12px;
	font-weight:950;
}

.ez_legal_head h2{
	margin:10px 0 0;
	color:#fff;
	font-size:32px;
	line-height:1.15;
	letter-spacing:-.07em;
	font-weight:950;
}

.ez_legal_content{
	padding:28px 32px 36px;
	overflow-y:auto;
	color:var(--ez-muted);
	font-size:15px;
	line-height:1.82;
	font-weight:650;
	scrollbar-width:thin;
	scrollbar-color:rgba(84,184,255,.42) rgba(255,255,255,.06);
}

.ez_legal_content::-webkit-scrollbar{
	width:8px;
}

.ez_legal_content::-webkit-scrollbar-track{
	background:rgba(255,255,255,.05);
	border-radius:999px;
}

.ez_legal_content::-webkit-scrollbar-thumb{
	background:rgba(84,184,255,.42);
	border-radius:999px;
}

.ez_legal_content h3{
	margin:28px 0 10px;
	color:#fff;
	font-size:18px;
	line-height:1.35;
	font-weight:950;
	letter-spacing:-.045em;
}

.ez_legal_content h3:first-child{
	margin-top:0;
}

.ez_legal_content p{
	margin:0;
}

.ez_legal_content strong{
	color:#fff;
}

@media (max-width:1180px){
	.ez_nav a{
		padding:0 11px;
		font-size:13px;
	}

	.ez_footer_inner{
		display:block;
	}

	.ez_footer_right{
		align-items:flex-start;
		margin-top:24px;
	}

	.ez_footer_links{
		justify-content:flex-start;
	}

	.ez_footer_policy_links{
		justify-content:flex-start;
	}
}

@media (max-width:960px){
	:root{
		--ez-header-height:72px;
	}

	.ez_header_actions,
	.ez_nav{
		display:none;
	}

	.ez_nav_toggle{
		display:block;
	}

	.ez_mobile_panel{
		display:block;
	}

	.ez_container{
		width:min(100% - 28px, 720px);
	}
}

@media (max-width:560px){
	.ez_header_inner{
		width:calc(100% - 24px);
	}

	.ez_logo_mark{
		width:36px;
		height:36px;
		border-radius:13px;
	}

	.ez_logo_text{
		font-size:18px;
	}

	.ez_footer{
		padding:38px 0 44px;
	}

	.ez_footer_company{
		padding:18px;
		border-radius:22px;
		font-size:12px;
		line-height:1.7;
	}

	.ez_footer_company_address{
		font-size:13px;
	}

	.ez_footer_company_row{
		display:grid;
		gap:5px;
	}

	.ez_footer_company_row span:not(:last-child):after{
		display:none;
	}

	.ez_footer_company_contact{
		display:grid;
		grid-template-columns:1fr;
		gap:8px;
	}

	.ez_footer_company_contact span{
		width:100%;
		justify-content:center;
	}

	.ez_legal_overlay{
		padding:12px;
	}

	.ez_legal_shell{
		max-height:calc(100vh - 24px);
		border-radius:24px;
	}

	.ez_legal_top{
		min-height:76px;
		padding:14px 16px;
	}

	.ez_legal_back{
		min-width:116px;
		height:46px;
		padding:0 16px;
		font-size:13px;
	}

	.ez_legal_head{
		padding:22px 20px 18px;
	}

	.ez_legal_icon{
		width:50px;
		height:50px;
		border-radius:18px;
		font-size:24px;
	}

	.ez_legal_head h2{
		font-size:25px;
	}

	.ez_legal_content{
		padding:22px 20px 30px;
		font-size:14px;
		line-height:1.75;
	}
}