@charset "utf-8";

/*
	바이럴 마케팅 서비스 안내 페이지
	File : system_codingpage_41.css
*/

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

.ing_viral_page{
	--viral-main:#e94f8b;
	--viral-deep:#c73570;
	--viral-dark:#321b28;
	--viral-text:#4f3d46;
	--viral-sub:#806d76;
	--viral-line:#f0dfe7;
	--viral-light:#fff7fa;
	--viral-soft:#fce8f0;
	--viral-point:#ff7eac;
	position:relative;
	width:100%;
	overflow:hidden;
	background:#fff;
	color:var(--viral-text);
	font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;
}

.ing_viral_page a{
	color:inherit;
	text-decoration:none;
}

.ing_viral_page img,
.ing_viral_page svg{
	display:block;
}

.ing_viral_page button,
.ing_viral_page input,
.ing_viral_page textarea,
.ing_viral_page select{
	font-family:inherit;
}

.ing_viral_inner{
	position:relative;
	width:100%;
	max-width:1340px;
	margin:0 auto;
	padding:0 20px;
}


/* 공통 타이틀 */

.ing_viral_section_title{
	max-width:780px;
}

.ing_viral_section_title_center{
	margin:0 auto;
	text-align:center;
}

.ing_viral_section_eyebrow{
	margin:0 0 18px;
	color:var(--viral-main);
	font-size:13px;
	font-weight:800;
	letter-spacing:2px;
	line-height:1.4;
}

.ing_viral_section_title h3,
.ing_viral_continuity_text h3,
.ing_viral_benefit_header h3{
	margin:0;
	color:var(--viral-dark);
	font-size:44px;
	font-weight:800;
	letter-spacing:-2.1px;
	line-height:1.28;
}

.ing_viral_section_title h3 span,
.ing_viral_continuity_text h3 span,
.ing_viral_benefit_header h3 span{
	color:var(--viral-main);
}

.ing_viral_section_title > p:last-child{
	margin:24px 0 0;
	color:var(--viral-sub);
	font-size:17px;
	font-weight:400;
	letter-spacing:-.45px;
	line-height:1.85;
}


/* 스크롤 효과 */

.ing_viral_reveal{
	opacity:0;
	transform:translateY(35px);
	transition:
		opacity .75s ease,
		transform .75s ease;
}

.ing_viral_reveal.is_visible{
	opacity:1;
	transform:translateY(0);
}


/* 메인 비주얼 */

.ing_viral_visual{
	position:relative;
	min-height:770px;
	display:flex;
	align-items:center;
	overflow:hidden;
	background:
		linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(255,247,250,.98) 52%,rgba(252,232,240,.95) 100%);
	border-bottom:1px solid #f4e3ea;
}

.ing_viral_visual:before{
	content:"";
	position:absolute;
	left:-160px;
	top:-230px;
	width:620px;
	height:620px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(233,79,139,.11) 0%,rgba(233,79,139,0) 70%);
}

.ing_viral_visual:after{
	content:"";
	position:absolute;
	right:-180px;
	bottom:-260px;
	width:720px;
	height:720px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(255,126,172,.18) 0%,rgba(255,126,172,0) 70%);
}

.ing_viral_visual_bg{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.ing_viral_visual_circle{
	position:absolute;
	display:block;
	border:1px solid rgba(233,79,139,.16);
	border-radius:50%;
}

.ing_viral_visual_circle.circle_1{
	right:6%;
	top:8%;
	width:570px;
	height:570px;
}

.ing_viral_visual_circle.circle_2{
	right:11%;
	top:15%;
	width:420px;
	height:420px;
}

.ing_viral_visual_circle.circle_3{
	right:19%;
	top:28%;
	width:210px;
	height:210px;
}

.ing_viral_visual_line{
	position:absolute;
	display:block;
	height:1px;
	background:linear-gradient(90deg,rgba(233,79,139,0),rgba(233,79,139,.18),rgba(233,79,139,0));
	transform:rotate(-18deg);
}

.ing_viral_visual_line.line_1{
	right:-4%;
	top:32%;
	width:700px;
}

.ing_viral_visual_line.line_2{
	right:3%;
	bottom:24%;
	width:520px;
}

.ing_viral_visual_inner{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(500px,.95fr);
	align-items:center;
	gap:70px;
	padding-top:90px;
	padding-bottom:90px;
	z-index:2;
}

.ing_viral_visual_text{
	position:relative;
	z-index:3;
}

.ing_viral_eyebrow{
	display:flex;
	align-items:center;
	gap:10px;
	margin:0 0 23px;
	color:var(--viral-main);
	font-size:13px;
	font-weight:800;
	letter-spacing:2.2px;
	line-height:1.4;
}

.ing_viral_eyebrow_dot{
	position:relative;
	width:11px;
	height:11px;
	border:3px solid var(--viral-main);
	border-radius:50%;
}

.ing_viral_eyebrow_dot:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:19px;
	height:19px;
	border:1px solid rgba(233,79,139,.3);
	border-radius:50%;
	transform:translate(-50%,-50%);
}

.ing_viral_visual_text h2{
	margin:0;
	color:var(--viral-dark);
	font-size:58px;
	font-weight:800;
	letter-spacing:-3.3px;
	line-height:1.22;
}

.ing_viral_visual_text h2 span{
	position:relative;
	color:var(--viral-main);
}

.ing_viral_visual_text h2 span:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:1px;
	height:9px;
	z-index:-1;
	border-radius:20px;
	background:rgba(233,79,139,.13);
}

.ing_viral_visual_description{
	max-width:670px;
	margin:28px 0 0;
	color:#725e68;
	font-size:17px;
	font-weight:400;
	letter-spacing:-.45px;
	line-height:1.9;
}

.ing_viral_visual_buttons{
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:38px;
}

.ing_viral_button{
	min-height:58px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:11px;
	padding:0 27px;
	border-radius:11px;
	font-size:15px;
	font-weight:700;
	letter-spacing:-.25px;
	transition:
		background-color .25s ease,
		border-color .25s ease,
		color .25s ease,
		box-shadow .25s ease,
		transform .25s ease;
}

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

.ing_viral_button_primary{
	color:#fff !important;
	background:linear-gradient(135deg,var(--viral-main),#f06d9d);
	box-shadow:0 14px 30px rgba(201,53,112,.22);
}

.ing_viral_button_primary:hover{
	transform:translateY(-3px);
	box-shadow:0 19px 36px rgba(201,53,112,.3);
}

.ing_viral_button_line{
	color:var(--viral-dark) !important;
	border:1px solid #e8ccd8;
	background:rgba(255,255,255,.75);
}

.ing_viral_button_line:hover{
	color:var(--viral-main) !important;
	border-color:var(--viral-main);
	background:#fff;
	transform:translateY(-3px);
}

.ing_viral_visual_keywords{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:12px 24px;
	margin:35px 0 0;
	padding:0;
	list-style:none;
}

.ing_viral_visual_keywords li{
	position:relative;
	padding-left:17px;
	color:#6f5964;
	font-size:14px;
	font-weight:600;
	letter-spacing:-.3px;
}

.ing_viral_visual_keywords li:before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	width:7px;
	height:7px;
	border-radius:50%;
	background:var(--viral-main);
	box-shadow:0 0 0 4px rgba(233,79,139,.1);
	transform:translateY(-50%);
}


/* 비주얼 그래픽 */

.ing_viral_visual_graphic{
	position:relative;
	min-height:580px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.ing_viral_visual_graphic:before{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:460px;
	height:460px;
	border-radius:50%;
	background:linear-gradient(145deg,#f5b6cc,#e94f8b);
	box-shadow:
		0 35px 70px rgba(201,53,112,.22),
		inset 0 0 0 35px rgba(255,255,255,.12);
	transform:translate(-50%,-50%);
}

.ing_viral_visual_graphic:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:520px;
	height:520px;
	border:1px dashed rgba(201,53,112,.24);
	border-radius:50%;
	animation:ing_viral_rotate 28s linear infinite;
	transform:translate(-50%,-50%);
}

@keyframes ing_viral_rotate{
	from{
		transform:translate(-50%,-50%) rotate(0deg);
	}
	to{
		transform:translate(-50%,-50%) rotate(360deg);
	}
}

.ing_viral_phone{
	position:relative;
	z-index:3;
	width:270px;
	padding:12px;
	border:7px solid #2f1e27;
	border-radius:38px;
	background:#2f1e27;
	box-shadow:0 30px 60px rgba(58,29,43,.3);
	transform:rotate(3deg);
}

.ing_viral_phone_top{
	position:absolute;
	left:50%;
	top:8px;
	z-index:5;
	width:92px;
	height:20px;
	border-radius:0 0 15px 15px;
	background:#2f1e27;
	transform:translateX(-50%);
}

.ing_viral_phone_top span{
	position:absolute;
	left:50%;
	top:7px;
	width:33px;
	height:4px;
	border-radius:4px;
	background:#4e3944;
	transform:translateX(-50%);
}

.ing_viral_phone_screen{
	overflow:hidden;
	border-radius:26px;
	background:#fff;
}

.ing_viral_phone_header{
	height:63px;
	display:flex;
	align-items:center;
	padding:18px 14px 10px;
}

.ing_viral_phone_profile{
	width:31px;
	height:31px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	margin-right:8px;
	border-radius:50%;
	color:#fff;
	background:linear-gradient(135deg,var(--viral-main),#ff8db5);
	font-size:9px;
	font-weight:800;
}

.ing_viral_phone_header > div:nth-child(2){
	display:flex;
	flex-direction:column;
}

.ing_viral_phone_header strong{
	color:#39242e;
	font-size:9px;
	font-weight:800;
	line-height:1.3;
}

.ing_viral_phone_header span{
	margin-top:2px;
	color:#a18491;
	font-size:7px;
}

.ing_viral_phone_header i{
	width:4px;
	height:4px;
	margin-left:auto;
	border-radius:50%;
	background:#5b4550;
	box-shadow:0 6px 0 #5b4550,0 -6px 0 #5b4550;
}

.ing_viral_phone_image{
	height:245px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:20px;
	text-align:center;
	background:
		radial-gradient(circle at 20% 20%,rgba(255,255,255,.26) 0 8%,transparent 8.5%),
		radial-gradient(circle at 80% 70%,rgba(255,255,255,.18) 0 12%,transparent 12.5%),
		linear-gradient(145deg,#f8a9c5,#e94f8b 55%,#c73570);
}

.ing_viral_phone_image_logo{
	width:65px;
	height:65px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
	border:1px solid rgba(255,255,255,.5);
	border-radius:50%;
	color:#fff;
	background:rgba(255,255,255,.17);
	box-shadow:0 12px 25px rgba(100,20,54,.15);
	font-size:25px;
	font-weight:900;
}

.ing_viral_phone_image p{
	margin:0;
	color:#fff;
	font-size:17px;
	font-weight:800;
	letter-spacing:-.8px;
	line-height:1.45;
}

.ing_viral_phone_actions{
	height:43px;
	display:flex;
	align-items:center;
	gap:14px;
	padding:0 14px;
}

.ing_viral_phone_actions span{
	display:block;
}

.ing_viral_phone_actions svg{
	width:16px;
	height:16px;
	fill:none;
	stroke:#3e2933;
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_viral_phone_content{
	display:flex;
	flex-direction:column;
	gap:6px;
	padding:0 14px 18px;
}

.ing_viral_phone_content span{
	width:70%;
	height:5px;
	border-radius:6px;
	background:#eadde3;
}

.ing_viral_phone_content span.wide{
	width:92%;
	background:#d9c5ce;
}

.ing_viral_phone_content span.short{
	width:48%;
}

.ing_viral_floating_card{
	position:absolute;
	z-index:5;
	display:flex;
	align-items:center;
	min-width:205px;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.8);
	border-radius:15px;
	background:rgba(255,255,255,.92);
	box-shadow:0 18px 42px rgba(105,44,70,.16);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}

.ing_viral_floating_icon{
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	margin-right:11px;
	border-radius:12px;
	color:var(--viral-main);
	background:var(--viral-soft);
}

.ing_viral_floating_icon svg{
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_viral_floating_card div{
	display:flex;
	flex-direction:column;
}

.ing_viral_floating_card strong{
	color:var(--viral-dark);
	font-size:13px;
	font-weight:800;
	line-height:1.4;
}

.ing_viral_floating_card small{
	margin-top:3px;
	color:#9a7e8b;
	font-size:10px;
	font-weight:500;
}

.ing_viral_floating_card.floating_card_1{
	left:-25px;
	top:88px;
	animation:ing_viral_float_1 4.8s ease-in-out infinite;
}

.ing_viral_floating_card.floating_card_2{
	right:-32px;
	top:200px;
	animation:ing_viral_float_2 5.2s ease-in-out infinite;
}

.ing_viral_floating_card.floating_card_3{
	left:-1px;
	bottom:68px;
	animation:ing_viral_float_1 5.5s ease-in-out infinite;
}

@keyframes ing_viral_float_1{
	0%,100%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(-10px);
	}
}

@keyframes ing_viral_float_2{
	0%,100%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(12px);
	}
}

.ing_viral_graphic_badge{
	position:absolute;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	color:#fff;
	background:rgba(255,255,255,.2);
	border:1px solid rgba(255,255,255,.42);
	font-size:9px;
	font-weight:800;
	letter-spacing:.8px;
	box-shadow:0 13px 25px rgba(110,34,65,.12);
}

.ing_viral_graphic_badge.badge_1{
	right:51px;
	top:42px;
	width:54px;
	height:54px;
}

.ing_viral_graphic_badge.badge_2{
	left:58px;
	bottom:136px;
	width:47px;
	height:47px;
}

.ing_viral_graphic_badge.badge_3{
	right:45px;
	bottom:82px;
	width:58px;
	height:58px;
}


/* 인트로 */

.ing_viral_intro{
	padding:125px 0 130px;
	background:#fff;
}

.ing_viral_intro .ing_viral_section_title{
	max-width:750px;
	margin-bottom:58px;
}

.ing_viral_intro_cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}

.ing_viral_intro_card{
	position:relative;
	min-height:292px;
	padding:40px 34px;
	overflow:hidden;
	border:1px solid var(--viral-line);
	border-radius:20px;
	background:#fff;
	box-shadow:0 15px 40px rgba(99,58,76,.055);
	transition:
		transform .28s ease,
		border-color .28s ease,
		box-shadow .28s ease;
}

.ing_viral_intro_card:hover{
	transform:translateY(-8px);
	border-color:#e9b8cb;
	box-shadow:0 25px 55px rgba(149,62,97,.12);
}

.ing_viral_intro_number{
	position:absolute;
	right:23px;
	top:13px;
	color:#faedf2;
	font-size:70px;
	font-weight:900;
	line-height:1;
}

.ing_viral_intro_icon{
	position:relative;
	z-index:2;
	width:58px;
	height:58px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:27px;
	border-radius:17px;
	color:var(--viral-main);
	background:var(--viral-soft);
}

.ing_viral_intro_icon svg{
	width:27px;
	height:27px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_viral_intro_card h4{
	position:relative;
	z-index:2;
	margin:0;
	color:var(--viral-dark);
	font-size:22px;
	font-weight:800;
	letter-spacing:-.8px;
	line-height:1.4;
}

.ing_viral_intro_card p{
	position:relative;
	z-index:2;
	margin:15px 0 0;
	color:var(--viral-sub);
	font-size:15px;
	font-weight:400;
	letter-spacing:-.3px;
	line-height:1.8;
}


/* 서비스 */

.ing_viral_services{
	padding:125px 0 135px;
	background:var(--viral-light);
}

.ing_viral_services .ing_viral_section_title{
	margin-bottom:62px;
}

.ing_viral_service_grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}

.ing_viral_service_card{
	position:relative;
	min-height:405px;
	padding:35px 32px 31px;
	overflow:hidden;
	border:1px solid #f0d9e3;
	border-radius:20px;
	background:#fff;
	box-shadow:0 15px 38px rgba(119,55,81,.055);
	transition:
		transform .3s ease,
		box-shadow .3s ease,
		border-color .3s ease;
}

.ing_viral_service_card:before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:4px;
	background:linear-gradient(90deg,var(--viral-main),#ff9cbd);
	transform:scaleX(0);
	transform-origin:left center;
	transition:transform .3s ease;
}

.ing_viral_service_card:hover{
	transform:translateY(-8px);
	border-color:#eab6ca;
	box-shadow:0 25px 55px rgba(144,56,92,.13);
}

.ing_viral_service_card:hover:before{
	transform:scaleX(1);
}

.ing_viral_service_top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:27px;
}

.ing_viral_service_icon{
	width:58px;
	height:58px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:18px;
	color:var(--viral-main);
	background:linear-gradient(145deg,#fff0f5,#fbe1eb);
}

.ing_viral_service_icon svg{
	width:28px;
	height:28px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.75;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_viral_service_tag{
	padding:7px 10px;
	border:1px solid #f1d3df;
	border-radius:20px;
	color:#c8527e;
	background:#fff8fb;
	font-size:9px;
	font-weight:800;
	letter-spacing:1px;
}

.ing_viral_service_card h4{
	margin:0;
	color:var(--viral-dark);
	font-size:23px;
	font-weight:800;
	letter-spacing:-.8px;
	line-height:1.4;
}

.ing_viral_service_card > p{
	min-height:82px;
	margin:15px 0 22px;
	color:var(--viral-sub);
	font-size:14px;
	letter-spacing:-.25px;
	line-height:1.8;
}

.ing_viral_service_card ul{
	margin:0;
	padding:20px 0 0;
	border-top:1px solid #f1e4e9;
	list-style:none;
}

.ing_viral_service_card li{
	position:relative;
	margin-top:10px;
	padding-left:18px;
	color:#67535d;
	font-size:13px;
	font-weight:600;
	letter-spacing:-.2px;
	line-height:1.55;
}

.ing_viral_service_card li:first-child{
	margin-top:0;
}

.ing_viral_service_card li:before{
	content:"";
	position:absolute;
	left:0;
	top:7px;
	width:7px;
	height:4px;
	border-left:2px solid var(--viral-main);
	border-bottom:2px solid var(--viral-main);
	transform:rotate(-45deg);
}


/* 지속 업로드 */

.ing_viral_continuity{
	padding:135px 0;
	background:#fff;
}

.ing_viral_continuity_box{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(500px,.87fr);
	align-items:center;
	gap:85px;
	padding:65px 68px;
	border:1px solid #f1dce5;
	border-radius:30px;
	background:
		linear-gradient(135deg,#fff 0%,#fff9fb 53%,#fce8f0 100%);
	box-shadow:0 30px 70px rgba(113,54,78,.08);
}

.ing_viral_continuity_text > p:nth-of-type(2){
	margin:24px 0 0;
	color:var(--viral-sub);
	font-size:16px;
	letter-spacing:-.35px;
	line-height:1.85;
}

.ing_viral_continuity_points{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	margin-top:36px;
}

.ing_viral_continuity_points > div{
	padding:20px 15px;
	border:1px solid #f0d9e3;
	border-radius:15px;
	background:rgba(255,255,255,.72);
}

.ing_viral_continuity_points strong{
	display:block;
	margin-bottom:10px;
	color:var(--viral-main);
	font-size:12px;
	font-weight:900;
}

.ing_viral_continuity_points span{
	display:block;
	color:#5f4b55;
	font-size:13px;
	font-weight:700;
	letter-spacing:-.25px;
	line-height:1.55;
}

.ing_viral_calendar{
	position:relative;
	overflow:hidden;
	border:1px solid #eed4df;
	border-radius:23px;
	background:#fff;
	box-shadow:0 25px 55px rgba(120,49,77,.13);
}

.ing_viral_calendar:after{
	content:"";
	position:absolute;
	right:-62px;
	bottom:-62px;
	width:170px;
	height:170px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(233,79,139,.12),rgba(233,79,139,0) 70%);
}

.ing_viral_calendar_header{
	position:relative;
	height:88px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 28px;
	color:#fff;
	background:linear-gradient(135deg,var(--viral-deep),var(--viral-main));
}

.ing_viral_calendar_header > div{
	position:absolute;
	right:26px;
	top:22px;
	display:flex;
	gap:5px;
}

.ing_viral_calendar_header > div span{
	width:6px;
	height:6px;
	border-radius:50%;
	background:rgba(255,255,255,.55);
}

.ing_viral_calendar_header strong{
	font-size:16px;
	font-weight:800;
	letter-spacing:1.2px;
}

.ing_viral_calendar_header small{
	margin-top:5px;
	color:rgba(255,255,255,.75);
	font-size:10px;
	letter-spacing:.8px;
}

.ing_viral_calendar_days{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	padding:19px 20px 12px;
}

.ing_viral_calendar_days span{
	color:#aa8a98;
	font-size:9px;
	font-weight:800;
	text-align:center;
}

.ing_viral_calendar_grid{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:7px;
	padding:0 20px 23px;
}

.ing_viral_calendar_grid > div{
	position:relative;
	height:72px;
	padding:8px;
	border:1px solid #f2e6eb;
	border-radius:10px;
	background:#fff;
}

.ing_viral_calendar_grid small{
	color:#9a828d;
	font-size:9px;
	font-weight:700;
}

.ing_viral_calendar_grid .has_content{
	border-color:#f0c9d8;
	background:#fff6f9;
}

.ing_viral_calendar_grid .has_content span{
	position:absolute;
	left:7px;
	right:7px;
	bottom:8px;
	padding:5px 2px;
	border-radius:5px;
	color:#fff;
	background:var(--viral-main);
	font-size:7px;
	font-weight:800;
	letter-spacing:.4px;
	text-align:center;
}

.ing_viral_calendar_grid .content_blog span{
	background:#e94f8b;
}

.ing_viral_calendar_grid .content_sns span{
	background:#f17ca4;
}

.ing_viral_calendar_grid .content_cafe span{
	background:#d96991;
}

.ing_viral_calendar_grid .content_review span{
	background:#c73570;
}

.ing_viral_calendar_grid .content_threads span{
	background:#8e526a;
}


/* 진행 절차 */

.ing_viral_process{
	padding:125px 0 135px;
	background:#3b2430;
}

.ing_viral_process .ing_viral_section_eyebrow{
	color:#ff9fbe;
}

.ing_viral_process .ing_viral_section_title h3{
	color:#fff;
}

.ing_viral_process .ing_viral_section_title h3 span{
	color:#ff91b6;
}

.ing_viral_process .ing_viral_section_title{
	margin-bottom:62px;
}

.ing_viral_process_list{
	position:relative;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
}

.ing_viral_process_list:before{
	content:"";
	position:absolute;
	left:10%;
	right:10%;
	top:-40px;
	height:1px;
	background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,151,187,.42),rgba(255,255,255,0));
}

.ing_viral_process_item{
	position:relative;
	z-index:2;
	min-height:270px;
	padding:32px 26px;
	border:1px solid rgba(255,255,255,.1);
	border-radius:19px;
	background:rgba(255,255,255,.055);
	text-align:center;
	transition:
		transform .28s ease,
		border-color .28s ease,
		background-color .28s ease;
}

.ing_viral_process_item:hover{
	transform:translateY(-7px);
	border-color:rgba(255,145,182,.45);
	background:rgba(255,255,255,.085);
}

.ing_viral_process_number{
	position:absolute;
	right:18px;
	top:14px;
	color:rgba(255,255,255,.08);
	font-size:45px;
	font-weight:900;
	line-height:1;
}

.ing_viral_process_icon{
	position:relative;
	width:70px;
	height:70px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 26px;
	border:1px solid rgba(255,255,255,.2);
	border-radius:50%;
	color:#fff;
	background:linear-gradient(145deg,var(--viral-main),var(--viral-deep));
	box-shadow:0 13px 27px rgba(0,0,0,.2);
}

.ing_viral_process_icon svg{
	width:28px;
	height:28px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.ing_viral_process_item h4{
	margin:0;
	color:#fff;
	font-size:19px;
	font-weight:800;
	letter-spacing:-.6px;
}

.ing_viral_process_item p{
	margin:15px 0 0;
	color:#cdb9c3;
	font-size:13px;
	letter-spacing:-.2px;
	line-height:1.75;
}


/* 장점 */

.ing_viral_benefit{
	padding:130px 0 135px;
	background:#fff;
}

.ing_viral_benefit_header{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(400px,.72fr);
	align-items:end;
	gap:80px;
	margin-bottom:58px;
}

.ing_viral_benefit_header > p{
	margin:0;
	padding-bottom:4px;
	color:var(--viral-sub);
	font-size:16px;
	letter-spacing:-.35px;
	line-height:1.85;
}

.ing_viral_benefit_grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:17px;
}

.ing_viral_benefit_card{
	position:relative;
	min-height:245px;
	padding:32px 27px;
	overflow:hidden;
	border:1px solid var(--viral-line);
	border-radius:18px;
	background:#fff;
	transition:
		transform .28s ease,
		border-color .28s ease,
		box-shadow .28s ease;
}

.ing_viral_benefit_card:after{
	content:"";
	position:absolute;
	right:-45px;
	bottom:-45px;
	width:120px;
	height:120px;
	border-radius:50%;
	background:var(--viral-soft);
	transition:transform .35s ease;
}

.ing_viral_benefit_card:hover{
	transform:translateY(-7px);
	border-color:#eab5c9;
	box-shadow:0 22px 48px rgba(119,54,80,.11);
}

.ing_viral_benefit_card:hover:after{
	transform:scale(1.25);
}

.ing_viral_benefit_card > span{
	position:relative;
	z-index:2;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	margin-bottom:27px;
	border-radius:12px;
	color:var(--viral-main);
	background:var(--viral-soft);
	font-size:12px;
	font-weight:900;
}

.ing_viral_benefit_card h4{
	position:relative;
	z-index:2;
	margin:0;
	color:var(--viral-dark);
	font-size:20px;
	font-weight:800;
	letter-spacing:-.7px;
}

.ing_viral_benefit_card p{
	position:relative;
	z-index:2;
	margin:15px 0 0;
	color:var(--viral-sub);
	font-size:14px;
	letter-spacing:-.25px;
	line-height:1.75;
}


/* 문의 */

.ing_viral_contact{
	position:relative;
	padding:115px 0;
	overflow:hidden;
	background:linear-gradient(135deg,#cf3975 0%,#e94f8b 48%,#f47ca6 100%);
}

.ing_viral_contact:before{
	content:"";
	position:absolute;
	left:-150px;
	top:-220px;
	width:600px;
	height:600px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:50%;
}

.ing_viral_contact:after{
	content:"";
	position:absolute;
	right:-100px;
	bottom:-320px;
	width:650px;
	height:650px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:50%;
}

.ing_viral_contact_pattern{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.ing_viral_contact_pattern span{
	position:absolute;
	display:block;
	border-radius:50%;
	background:rgba(255,255,255,.12);
}

.ing_viral_contact_pattern span:nth-child(1){
	left:9%;
	top:22%;
	width:13px;
	height:13px;
}

.ing_viral_contact_pattern span:nth-child(2){
	left:17%;
	bottom:19%;
	width:7px;
	height:7px;
}

.ing_viral_contact_pattern span:nth-child(3){
	right:13%;
	top:27%;
	width:18px;
	height:18px;
}

.ing_viral_contact_pattern span:nth-child(4){
	right:22%;
	bottom:16%;
	width:9px;
	height:9px;
}

.ing_viral_contact_box{
	position:relative;
	z-index:2;
	max-width:870px;
	margin:0 auto;
	text-align:center;
}

.ing_viral_contact_label{
	margin:0 0 20px;
	color:rgba(255,255,255,.72);
	font-size:12px;
	font-weight:800;
	letter-spacing:2px;
}

.ing_viral_contact_box h3{
	margin:0;
	color:#fff;
	font-size:45px;
	font-weight:800;
	letter-spacing:-2.1px;
	line-height:1.35;
}

.ing_viral_contact_box > p:nth-of-type(2){
	max-width:710px;
	margin:24px auto 0;
	color:rgba(255,255,255,.82);
	font-size:16px;
	letter-spacing:-.35px;
	line-height:1.85;
}

.ing_viral_contact_button{
	min-width:265px;
	min-height:62px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin-top:38px;
	padding:0 30px;
	border:1px solid rgba(255,255,255,.7);
	border-radius:12px;
	color:var(--viral-deep) !important;
	background:#fff;
	box-shadow:0 17px 35px rgba(112,28,62,.2);
	font-size:16px;
	font-weight:800;
	letter-spacing:-.3px;
	transition:
		transform .25s ease,
		box-shadow .25s ease,
		background-color .25s ease;
}

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

.ing_viral_contact_button:hover{
	transform:translateY(-4px);
	box-shadow:0 23px 45px rgba(92,23,50,.27);
}


/* 모바일 */

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

	.ing_viral_inner{
		padding-left:18px;
		padding-right:18px;
	}

	.ing_viral_section_eyebrow{
		margin-bottom:13px;
		font-size:10px;
		letter-spacing:1.5px;
	}

	.ing_viral_section_title h3,
	.ing_viral_continuity_text h3,
	.ing_viral_benefit_header h3{
		font-size:24px;
		letter-spacing:-1.35px;
		line-height:1.35;
	}

	.ing_viral_section_title > p:last-child{
		margin-top:17px;
		font-size:14px;
		line-height:1.75;
	}

	.ing_viral_reveal{
		transform:translateY(22px);
	}


	/* 모바일 비주얼 */

	.ing_viral_visual{
		min-height:auto;
	}

	.ing_viral_visual:before{
		left:-250px;
		top:-270px;
		width:520px;
		height:520px;
	}

	.ing_viral_visual:after{
		right:-300px;
		bottom:-260px;
		width:570px;
		height:570px;
	}

	.ing_viral_visual_circle.circle_1{
		right:-190px;
		top:430px;
		width:430px;
		height:430px;
	}

	.ing_viral_visual_circle.circle_2{
		right:-120px;
		top:495px;
		width:300px;
		height:300px;
	}

	.ing_viral_visual_circle.circle_3{
		display:none;
	}

	.ing_viral_visual_line{
		display:none;
	}

	.ing_viral_visual_inner{
		display:flex;
		flex-direction:column;
		gap:52px;
		padding-top:72px;
		padding-bottom:75px;
	}

	.ing_viral_eyebrow{
		justify-content:center;
		margin-bottom:18px;
		font-size:10px;
		letter-spacing:1.5px;
	}

	.ing_viral_eyebrow_dot{
		width:9px;
		height:9px;
		border-width:2px;
	}

	.ing_viral_visual_text{
		width:100%;
		text-align:center;
	}

	.ing_viral_visual_text h2{
		font-size:24px;
		letter-spacing:-2.2px;
		line-height:1.3;
	}

	.ing_viral_visual_text h2 span:after{
		height:6px;
	}

	.ing_viral_visual_description{
		margin-top:21px;
		font-size:14px;
		line-height:1.8;
	}

	.ing_viral_visual_buttons{
		flex-direction:column;
		margin-top:29px;
	}

	.ing_viral_button{
		width:100%;
		min-height:54px;
	}

	.ing_viral_visual_keywords{
		justify-content:center;
		gap:9px 16px;
		margin-top:26px;
	}

	.ing_viral_visual_keywords li{
		padding-left:13px;
		font-size:11px;
	}

	.ing_viral_visual_keywords li:before{
		width:5px;
		height:5px;
		box-shadow:0 0 0 3px rgba(233,79,139,.1);
	}

	.ing_viral_visual_graphic{
		width:100%;
		min-height:455px;
	}

	.ing_viral_visual_graphic:before{
		width:330px;
		height:330px;
	}

	.ing_viral_visual_graphic:after{
		width:375px;
		height:375px;
	}

	.ing_viral_phone{
		width:205px;
		padding:8px;
		border-width:5px;
		border-radius:29px;
	}

	.ing_viral_phone_top{
		top:5px;
		width:70px;
		height:16px;
	}

	.ing_viral_phone_screen{
		border-radius:20px;
	}

	.ing_viral_phone_header{
		height:50px;
		padding:14px 10px 7px;
	}

	.ing_viral_phone_profile{
		width:25px;
		height:25px;
		margin-right:6px;
		font-size:7px;
	}

	.ing_viral_phone-header strong{
		font-size:7px;
	}

	.ing_viral_phone_image{
		height:181px;
	}

	.ing_viral_phone_image_logo{
		width:50px;
		height:50px;
		margin-bottom:12px;
		font-size:19px;
	}

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

	.ing_viral_phone_actions{
		height:35px;
		padding:0 10px;
	}

	.ing_viral_phone-actions svg{
		width:13px;
		height:13px;
	}

	.ing_viral_phone_content{
		padding:0 10px 13px;
	}

	.ing_viral_phone_content span{
		height:4px;
	}

	.ing_viral_floating_card{
		min-width:145px;
		padding:9px 10px;
		border-radius:11px;
	}

	.ing_viral_floating_icon{
		width:31px;
		height:31px;
		margin-right:7px;
		border-radius:9px;
	}

	.ing_viral_floating_icon svg{
		width:16px;
		height:16px;
	}

	.ing_viral_floating_card strong{
		font-size:10px;
	}

	.ing_viral_floating_card small{
		font-size:7px;
	}

	.ing_viral_floating_card.floating_card_1{
		left:0;
		top:60px;
	}

	.ing_viral_floating_card.floating_card_2{
		right:-2px;
		top:168px;
	}

	.ing_viral_floating_card.floating_card_3{
		left:4px;
		bottom:39px;
	}

	.ing_viral_graphic_badge.badge_1{
		right:20px;
		top:22px;
		width:42px;
		height:42px;
	}

	.ing_viral_graphic_badge.badge_2{
		left:26px;
		bottom:120px;
		width:38px;
		height:38px;
	}

	.ing_viral_graphic_badge.badge_3{
		right:24px;
		bottom:40px;
		width:44px;
		height:44px;
	}


	/* 모바일 인트로 */

	.ing_viral_intro{
		padding:82px 0 88px;
	}

	.ing_viral_intro .ing_viral_section_title{
		margin-bottom:35px;
	}

	.ing_viral_intro_cards{
		grid-template-columns:1fr;
		gap:13px;
	}

	.ing_viral_intro_card{
		min-height:auto;
		padding:27px 23px;
		border-radius:16px;
	}

	.ing_viral_intro_number{
		right:17px;
		top:10px;
		font-size:53px;
	}

	.ing_viral_intro_icon{
		width:49px;
		height:49px;
		margin-bottom:19px;
		border-radius:14px;
	}

	.ing_viral_intro_icon svg{
		width:23px;
		height:23px;
	}

	.ing_viral_intro_card h4{
		font-size:19px;
	}

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


	/* 모바일 서비스 */

	.ing_viral_services{
		padding:82px 0 90px;
	}

	.ing_viral_services .ing_viral_section_title{
		margin-bottom:37px;
	}

	.ing_viral_service_grid{
		grid-template-columns:1fr;
		gap:14px;
	}

	.ing_viral_service_card{
		min-height:auto;
		padding:27px 23px 24px;
		border-radius:16px;
	}

	.ing_viral_service-top{
		margin-bottom:20px;
	}

	.ing_viral_service_icon{
		width:50px;
		height:50px;
		border-radius:15px;
	}

	.ing_viral_service_icon svg{
		width:24px;
		height:24px;
	}

	.ing_viral_service_tag{
		font-size:8px;
	}

	.ing_viral_service_card h4{
		font-size:20px;
	}

	.ing_viral_service_card > p{
		min-height:auto;
		margin:11px 0 17px;
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_service_card ul{
		padding-top:16px;
	}

	.ing_viral_service_card li{
		margin-top:8px;
		font-size:12px;
	}


	/* 모바일 지속 업로드 */

	.ing_viral_continuity{
		padding:85px 0;
	}

	.ing_viral_continuity_box{
		grid-template-columns:1fr;
		gap:37px;
		padding:35px 20px 22px;
		border-radius:21px;
	}

	.ing_viral_continuity_text > p:nth-of-type(2){
		margin-top:17px;
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_continuity_points{
		grid-template-columns:1fr;
		gap:8px;
		margin-top:25px;
	}

	.ing_viral_continuity_points > div{
		display:flex;
		align-items:center;
		padding:14px 15px;
	}

	.ing_viral_continuity_points strong{
		flex-shrink:0;
		margin:0 15px 0 0;
	}

	.ing_viral_continuity_points span br{
		display:none;
	}

	.ing_viral_calendar{
		border-radius:16px;
	}

	.ing_viral_calendar_header{
		height:70px;
		padding:0 18px;
	}

	.ing_viral_calendar_header > div{
		right:17px;
		top:17px;
	}

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

	.ing_viral_calendar_days{
		padding:15px 8px 9px;
	}

	.ing_viral_calendar-grid{
		gap:4px;
		padding:0 8px 14px;
	}

	.ing_viral_calendar-grid > div{
		height:58px;
		padding:5px;
		border-radius:7px;
	}

	.ing_viral_calendar-grid .has_content span{
		left:4px;
		right:4px;
		bottom:5px;
		padding:4px 1px;
		font-size:5px;
	}


	/* 모바일 진행 절차 */

	.ing_viral_process{
		padding:82px 0 90px;
	}

	.ing_viral_process .ing_viral_section_title{
		margin-bottom:37px;
	}

	.ing_viral_process-list{
		grid-template-columns:1fr 1fr;
		gap:10px;
	}

	.ing_viral_process-list:before{
		display:none;
	}

	.ing_viral_process-item{
		min-height:225px;
		padding:25px 15px;
		border-radius:15px;
	}

	.ing_viral_process-number{
		right:12px;
		top:11px;
		font-size:34px;
	}

	.ing_viral_process-icon{
		width:58px;
		height:58px;
		margin-bottom:20px;
	}

	.ing_viral_process-icon svg{
		width:24px;
		height:24px;
	}

	.ing_viral_process-item h4{
		font-size:16px;
	}

	.ing_viral_process-item p{
		margin-top:11px;
		font-size:11px;
		line-height:1.65;
	}


	/* 모바일 장점 */

	.ing_viral_benefit{
		padding:85px 0 90px;
	}

	.ing_viral_benefit-header{
		grid-template-columns:1fr;
		gap:18px;
		margin-bottom:35px;
	}

	.ing_viral_benefit-header > p{
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_benefit-grid{
		grid-template-columns:1fr 1fr;
		gap:10px;
	}

	.ing_viral_benefit-card{
		min-height:220px;
		padding:23px 17px;
		border-radius:15px;
	}

	.ing_viral_benefit-card > span{
		width:37px;
		height:37px;
		margin-bottom:20px;
		border-radius:10px;
		font-size:10px;
	}

	.ing_viral_benefit-card h4{
		font-size:16px;
		line-height:1.4;
	}

	.ing_viral_benefit-card p{
		margin-top:10px;
		font-size:11px;
		line-height:1.65;
	}


	/* 모바일 문의 */

	.ing_viral_contact{
		padding:78px 0 82px;
	}

	.ing_viral_contact-label{
		margin-bottom:14px;
		font-size:9px;
		letter-spacing:1.4px;
	}

	.ing_viral_contact-box h3{
		font-size:30px;
		letter-spacing:-1.4px;
		line-height:1.4;
	}

	.ing_viral_contact-box > p:nth-of-type(2){
		margin-top:18px;
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_contact-button{
		width:100%;
		min-width:0;
		min-height:56px;
		margin-top:29px;
		font-size:14px;
	}

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

	.ing_viral_phone_header strong{
		font-size:7px;
	}

	.ing_viral_phone_actions svg{
		width:13px;
		height:13px;
	}

	.ing_viral_service_top{
		margin-bottom:20px;
	}

	.ing_viral_calendar_grid{
		gap:4px;
		padding:0 8px 14px;
	}

	.ing_viral_calendar_grid > div{
		height:58px;
		padding:5px;
		border-radius:7px;
	}

	.ing_viral_calendar_grid .has_content span{
		left:4px;
		right:4px;
		bottom:5px;
		padding:4px 1px;
		font-size:5px;
	}

	.ing_viral_process_list{
		grid-template-columns:1fr 1fr;
		gap:10px;
	}

	.ing_viral_process_list:before{
		display:none;
	}

	.ing_viral_process_item{
		min-height:225px;
		padding:25px 15px;
		border-radius:15px;
	}

	.ing_viral_process_number{
		right:12px;
		top:11px;
		font-size:34px;
	}

	.ing_viral_process_icon{
		width:58px;
		height:58px;
		margin-bottom:20px;
	}

	.ing_viral_process_icon svg{
		width:24px;
		height:24px;
	}

	.ing_viral_process_item h4{
		font-size:16px;
	}

	.ing_viral_process_item p{
		margin-top:11px;
		font-size:11px;
		line-height:1.65;
	}

	.ing_viral_benefit_header{
		grid-template-columns:1fr;
		gap:18px;
		margin-bottom:35px;
	}

	.ing_viral_benefit_header > p{
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_benefit_grid{
		grid-template-columns:1fr 1fr;
		gap:10px;
	}

	.ing_viral_benefit_card{
		min-height:220px;
		padding:23px 17px;
		border-radius:15px;
	}

	.ing_viral_benefit_card > span{
		width:37px;
		height:37px;
		margin-bottom:20px;
		border-radius:10px;
		font-size:10px;
	}

	.ing_viral_benefit_card h4{
		font-size:16px;
		line-height:1.4;
	}

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

	.ing_viral_contact_label{
		margin-bottom:14px;
		font-size:9px;
		letter-spacing:1.4px;
	}

	.ing_viral_contact_box h3{
		font-size:30px;
		letter-spacing:-1.4px;
		line-height:1.4;
	}

	.ing_viral_contact_box > p:nth-of-type(2){
		margin-top:18px;
		font-size:13px;
		line-height:1.75;
	}

	.ing_viral_contact_button{
		width:100%;
		min-width:0;
		min-height:56px;
		margin-top:29px;
		font-size:14px;
	}

}