@charset "utf-8";

/* 회원가입 이메일 자동완성 */
.autocomplete-suggestions {
	border: 1px solid #ccc;
	max-height: 150px;
	overflow-y: auto;
	position: relative;
	/* 	position: absolute;  */
	background-color: white;
	z-index: 1000;
	width: calc(100% - 22px);
}

/* OUR TEAM ==================================================== */
.our_team_img {
	width: 100%;
}

.our_team_img img {
	width: 100%;
	object-fit: cover;
}

.our_team_pc {
	display: block;
}

.our_team_m {
	display: none;
}

@media(max-width:768px) {
	.our_team_pc {
		display: none;
	}

	.our_team_m {
		display: block;
	}
}


/* experience ==================================================== */
.experience_section_wrap {
	align-self: stretch;
	padding: 144px 0px;
	background: #F4F3F2;
	overflow: hidden;
	border-bottom: 1px solid #1D1D19;
	display: flex;
	flex-direction: column;
	gap: 72px;
}

/* ---------------------- 타이틀 ---------------------- */
.experience_section_wrap .section_title {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.experience_section_wrap .section_title h2 {
	text-align: left;
	color: #1D1D19;
	font-size: 48px;
	font-family: 'Bebas Neue', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}

.experience_section_wrap .section_title .underline {
	width: 72px;
	height: 2px;
	background: #1D1D19;
}

/* ---------------------- 테이블 ---------------------- */
.experience_section_wrap .experience_table {
	outline: 1px solid #1D1D19;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.experience_section_wrap .experience_table .table_head {
	display: flex;
	background: #7A7A7A;
}

.experience_section_wrap .experience_table .table_head .col {
	flex: 1;
	color: #E4FF18;
	font-family: 'Pretendard', sans-serif;
	font-weight: 600;
	font-size: 16px;
	padding: 18px 36px;
}

.experience_section_wrap .experience_table .table_head .date {
	flex: 1;
}

.experience_section_wrap .experience_table .table_row {
	display: flex;
	border-top: 1px solid #1D1D19;
}

.experience_section_wrap .experience_table .table_row:last-child {
	border-bottom: none;
}

.experience_section_wrap .experience_table .table_row .col {
	flex: 1 1 0;
	padding: 18px 36px;
	font-family: 'Pretendard', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #747373;
	display: flex;
	align-items: center;
}

.experience_section_wrap .experience_table .table_row .date {
	flex: 1;
	font-weight: 600;
	color: #1D1D19;
}

/* ---------------------- 갤러리 ---------------------- */
.experience_section_wrap .experience_gallery {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.experience_section_wrap .experience_gallery .img_box {
	flex: 1 1 calc(25% - 10px);
	aspect-ratio: 425/567;
	padding: 10px;
	border: 1px solid #1D1D19;
}

.experience_section_wrap .experience_gallery .img_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------------------- 구분선 ---------------------- */
.experience_section_wrap .divider {
	width: 100%;
	height: 1px;
	background: #1D1D19;
}

/* ---------------------- 통계 ---------------------- */
.experience_section_wrap .experience_stats {
	display: flex;
	justify-content: space-between;
	gap: 36px;
}

.experience_section_wrap .experience_stats .stat_box {
	flex: 1;
	text-align: center;
}

.experience_section_wrap .experience_stats .stat_box h3 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 48px;
	color: #1D1D19;
	font-weight: 400;
	text-transform: uppercase;
}

.experience_section_wrap .experience_stats .stat_box p {
	color: #747373;
	font-family: 'Pretendard', sans-serif;
	font-size: 16px;
	line-height: 24px;
}


@media(max-width:1024px) {
	.experience_section_wrap .experience_gallery {
		flex-wrap: wrap;
	}

	.experience_section_wrap .experience_gallery .img_box {
		flex: 1 1 calc(50% - 28px);
	}
}

.process_top_img {
	display: flex;
	justify-content: center;
	width: 100%;
	background: #0A0A0A;
}

.process_box {
	position: relative;
}

.process_active01 {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 43.7%;
	left: 10.1%;
	cursor: pointer;
	
}

.process_active02 {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 58.4%;
	left: 10.1%;
	cursor: pointer;
	
}

.process_active03 {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 73.2%;
	left: 10.1%;
	cursor: pointer;
	
}

.tabsec {
	display: none;
	font-size: 100px;
}

.tabsec.active {
	display: block;
}

.process_img {
	width: 100%;
}



@media(max-width:1000px) {
	.process_active01 {
		position: absolute;
		width: 40px;
		height: 40px;

		top: 42%;
		left: 9%;
		cursor: pointer;
	}

	.process_active02 {
		position: absolute;
		width: 40px;
		height: 40px;

		top: 57%;
		left: 9%;
		cursor: pointer;
	}

	.process_active03 {
		position: absolute;
		width: 40px;
		height: 40px;

		top: 72%;
		left: 9%;
		cursor: pointer;
	}
}

@media(max-width:650px) {
	.process_active01 {
		position: absolute;
		width: 20px;
		height: 20px;

		top: 47%;
		left: 9%;
		cursor: pointer;
	}

	.process_active02 {
		position: absolute;
		width: 20px;
		height: 20px;

		top: 60%;
		left: 9%;
		cursor: pointer;
	}

	.process_active03 {
		position: absolute;
		width: 20px;
		height: 20px;

		top: 74%;
		left: 9%;
		cursor: pointer;
	}
}


.process_btn {
	all: unset;
}

.process_btns {
	display: none !important;
	width: 93.75%;
	display: flex;
	gap: 12px;
	margin: 0 auto;
}

.process_btn {
	padding: 8px 16px;
	font-family: var(--enf);
	/* 영어 폰트 */
	font-size: 14px;
	letter-spacing: 0.8px;
	color: #fff;
	background: #7A7A7A;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.25s ease;
}

@media (max-width: 768px) {
	.process_btns {
		display: block !important;
		margin: 30px auto;
	}

	/* .process_box .process_active01,
	.process_box .process_active02,
	.process_box .process_active03 {
		display: none;
	} */
}

.process_agency_section {
	width: 100%;
	padding: 240px 0;
	background: white;
}

.process_agency_container {
	max-width: 1800px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.process_agency_title {
	width: 822px;
	max-width: 45%;
	color: #1A1A1A;
	font-size: 62px;
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	text-transform: capitalize;
	line-height: 74px;
	word-wrap: break-word;
	margin: 0;
	display: flex;
	align-items: center;
}

.process_agency_divider {
	width: 4px;
	align-self: stretch;
	background: #1A1A1A;
	flex-shrink: 0;
}

.process_agency_content {
	display: flex;
	align-items: center;
	gap: 36px;
	flex: 1;
}

.process_agency_divider_vertical {
	width: 4px;
	align-self: stretch;
	background: #1A1A1A;
	flex-shrink: 0;
}

.process_agency_steps {
	width: 822px;
	max-width: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.process_agency_step {
	min-width: 324px;
	padding: 36px;
	background: #7A7A7A;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.process_agency_step_title {
	color: #E0F828;
	font-size: 24px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 600;
	margin: 0;
}

.process_agency_step_description {
	color: white;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
	margin: 0;
}

@media (max-width: 1600px) {
	.process_agency_title {
		font-size: 52px;
		line-height: 62px;
		width: 600px;
	}

	.process_agency_steps {
		width: 700px;
	}
}

@media (max-width: 1400px) {
	.process_agency_container {
		flex-direction: column;
		align-items: flex-start;
		gap: 40px;
	}

	.process_agency_title {
		width: 100%;
		max-width: 100%;
		font-size: 48px;
		line-height: 58px;
	}

	.process_agency_divider {
		display: none;
	}

	.process_agency_content {
		width: 100%;
	}

	.process_agency_steps {
		width: 100%;
	}
}

@media (max-width: 1200px) {
	.process_agency_title {
		font-size: 42px;
		line-height: 52px;
	}

	.process_agency_content {
		gap: 24px;
	}

	.process_agency_step {
		padding: 28px;
	}
}

@media (max-width: 968px) {
	.process_agency_section {
		padding: 60px 0;
	}

	.process_agency_container {
		padding: 0 15px;
	}

	.process_agency_title {
		font-size: 36px;
		line-height: 44px;
	}

	.process_agency_divider_vertical {
		display: none;
	}

	.process_agency_content {
		gap: 0;
	}

	.process_agency_step {
		padding: 24px;
	}

	.process_agency_step_title {
		font-size: 20px;
	}

	.process_agency_step_description {
		font-size: 16px;
		line-height: 24px;
	}
}

@media (max-width: 768px) {
	.process_agency_section {
		padding: 50px 0;
	}

	.process_agency_title {
		font-size: 28px;
		line-height: 36px;
	}

	.process_agency_steps {
		gap: 12px;
	}

	.process_agency_step {
		padding: 20px;
		min-width: 0;
	}

	.process_agency_step_title {
		font-size: 18px;
	}

	.process_agency_step_description {
		font-size: 15px;
		line-height: 22px;
	}
}

@media (max-width: 480px) {
	.process_agency_section {
		padding: 40px 0;
	}

	.process_agency_title {
		font-size: 24px;
		line-height: 32px;
	}

	.process_agency_step {
		padding: 18px;
	}

	.process_agency_step_title {
		font-size: 16px;
	}

	.process_agency_step_description {
		font-size: 14px;
		line-height: 21px;
	}
}




.process_section {
	background: #F3F3F2;
	border-bottom: 1px solid #1D1D19;
	padding: 144px 0;
}

.process_inner {
	display: flex;
	/* gap: 72px; */
}

.process_left {
	flex: 0 0 auto;
	/* width: 822px; */
	width: 50%;
	position: sticky;
	top: 100px;
	align-self: flex-start;
}

.process_title {
	color: #1A1A1A;
	font-size: 62px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 900;
	text-transform: capitalize;
	line-height: 93px;
	margin: 0;
}

.process_right {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.process_item {
	min-width: 324px;
	padding: 36px;
	border-top: 1px solid #000;
	display: flex;
	gap: 36px;
}

.process_item:last-child {
	border-bottom: 1px solid #000;
}

.process_item_header {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-shrink: 0;
	width: 273px;
}

.process_icon {
	width: 50px;
	height: 50px;
	/* background: #191919; */
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.process_icon img {
	/* max-width: 26px;
    max-height: 27px;
    object-fit: contain; */
	width: 100%;
	height: 100%;
}

.process_item_title {
	color: #1A1A1A;
	font-size: 24px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 600;
	margin: 0;
}

.process_item_description {
	flex: 1;
	color: #747373;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
	margin: 0;
}

/* 반응형 */
@media (max-width: 1400px) {
	.process_section {
		padding: 80px 0;
	}

	/* .process_inner {
      gap: 48px;
    } */

	.process_left {
		/* width: 400px; */
		top: 80px;
	}

	.process_title {
		font-size: 48px;
		line-height: 72px;
	}

	.process_item {
		padding: 24px;
		gap: 24px;
	}

	.process_item_header {
		width: 150px;
	}

	.process_item_title {
		font-size: 20px;
	}

	.process_item_description {
		font-size: 16px;
		line-height: 24px;
	}
}

@media (max-width: 768px) {
	.process_section {
		padding: 60px 0;
	}

	.process_inner {
		flex-direction: column;
		gap: 40px;
	}

	.process_left {
		width: 100%;
		position: static;
	}

	.process_title {
		font-size: 36px;
		line-height: 54px;
	}

	.process_item {
		flex-direction: column;
		padding: 20px;
		gap: 16px;
	}

	.process_item_header {
		width: 100%;
	}

	.process_item_title {
		font-size: 18px;
	}

	.process_item_description {
		font-size: 14px;
		line-height: 21px;
	}
}

@media (max-width: 480px) {
	.process_title {
		font-size: 28px;
		line-height: 42px;
	}

	.process_icon {
		width: 40px;
		height: 40px;
	}

	.process_item_title {
		font-size: 16px;
	}

	.process_item_description {
		font-size: 12px;
		line-height: 18px;
	}
}



/* 20251216 new work ======================================= */

.works_section {
	background: white;
	overflow: hidden;
}

.works_inner {
	margin: 0 auto;
	margin-top: 72px;
	padding: 144px 0;
}

.works_header {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-bottom: 72px;
}

.works_title {
	color: #1D1D19;
	font-size: 62px;
	font-family: Pretendard, sans-serif;
	font-weight: 900;
	text-transform: capitalize;
	line-height: 1.2;
	text-align: left;
}

.works_underline {
	width: 72px;
	height: 4px;
	background: #1D1D19;
}

.works_description {
	color: #1D1D19;
	font-size: 24px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
	line-height: 1.5;
}

.works_grid {
	display: flex;
	gap: 36px;
	margin-bottom: 36px;
	flex-wrap: wrap;
}

.works_grid:last-child {
	margin-bottom: 0;
}

.works_item {
	flex: 0 0 calc(50% - 36px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.works_image {
	width: 100%;
	height: 462px;
	object-fit: cover;
}

.works_info {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.works_item_title {
	color: #1D1D19;
	font-size: 24px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
}

.works_date {
	color: #747373;
	font-size: 20px;
	font-family: Pretendard, sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.works_section {
		padding: 80px 0;
	}

	.works_title {
		font-size: 48px;
	}

	.works_description {
		font-size: 20px;
	}

	.works_header {
		margin-bottom: 48px;
	}

	.works_image {
		height: 350px;
	}
}

@media (max-width: 768px) {
	.works_section {
		padding: 60px 0;
	}

	.works_title {
		font-size: 36px;
	}

	.works_description {
		font-size: 18px;
	}

	.works_header {
		margin-bottom: 36px;
	}

	.works_grid {
		flex-direction: column;
		gap: 24px;
		margin-bottom: 24px;
	}

	.works_image {
		height: 280px;
	}

	.works_item_title {
		font-size: 20px;
	}

	.works_date {
		font-size: 18px;
	}
}


/* 20251216 new THOUGHT ======================================= */
.thought_section {
	background: white;
	padding: 144px 0;
	overflow: hidden;
}

.thought_inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 120px;
}

.thought_main {
	display: flex;
	flex-direction: column;
	gap: 72px;
	margin-bottom: 144px;
}

.thought_header {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.thought_title {
	color: #1D1D19;
	font-size: 62px;
	font-family: Pretendard, sans-serif;
	font-weight: 900;
	text-transform: capitalize;
	line-height: 1.2;
	text-align: left;
}

.thought_underline {
	width: 72px;
	height: 4px;
	background: #1D1D19;
}

.thought_description {
	color: #1D1D19;
	font-size: 24px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
	line-height: 1.5;
}

.thought_featured {
	display: flex;
	align-items: center;
	gap: 36px;
}

.thought_featured_image {
	width: 550px;
	height: 733px;
	object-fit: cover;
}

.thought_featured_content {
	display: flex;
	flex-direction: column;
	gap: 72px;
	flex: 1;
}

.thought_featured_info {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.thought_featured_text {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.thought_featured_title {
	color: #1D1D19;
	font-size: 32px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
}

.thought_featured_desc {
	color: #222222;
	font-size: 20px;
	font-family: Pretendard, sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

.thought_featured_date {
	color: #747373;
	font-size: 20px;
	font-family: Pretendard, sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

.thought_more_btn {
	width: 300px;
	height: 48px;
	background: #E4FF18;
	border: 1px solid #1D1D19;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	transition: opacity 0.3s;
}

.thought_more_btn:hover {
	opacity: 0.8;
}

.thought_btn_deco {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 0 12px;
}

.thought_btn_deco_right {
	align-items: flex-end;
}

.thought_btn_text {
	color: #1D1D19;
	font-size: 20px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
	text-transform: capitalize;
}

.thought_divider {
	width: 100%;
	height: 1px;
	background: #1D1D19;
	margin-bottom: 144px;
}

.thought_grid {
	display: flex;
	gap: 36px;
	overflow: hidden;
}

.thought_item {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.thought_item_image {
	width: 100%;
	height: 410px;
	object-fit: cover;
}

.thought_item_info {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.thought_item_title {
	color: #1D1D19;
	font-size: 24px;
	font-family: Pretendard, sans-serif;
	font-weight: 600;
}

.thought_item_date {
	color: #747373;
	font-size: 20px;
	font-family: Pretendard, sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.thought_section {
		padding: 80px 0;
	}

	.thought_inner {
		padding: 0 60px;
	}

	.thought_main {
		gap: 48px;
		margin-bottom: 80px;
	}

	.thought_title {
		font-size: 48px;
	}

	.thought_description {
		font-size: 20px;
	}

	.thought_featured {
		flex-direction: column;
	}

	.thought_featured_image {
		width: 100%;
		max-width: 550px;
		height: auto;
		aspect-ratio: 550/733;
	}

	.thought_featured_content {
		gap: 48px;
	}

	.thought_featured_title {
		font-size: 28px;
	}

	.thought_divider {
		margin-bottom: 80px;
	}

	.thought_grid {
		overflow-x: auto;
	}

	.thought_item {
		min-width: 250px;
	}

	.thought_item_image {
		height: 330px;
	}
}

@media (max-width: 768px) {
	.thought_section {
		padding: 60px 0;
	}

	.thought_inner {
		padding: 0 24px;
	}

	.thought_main {
		gap: 36px;
		margin-bottom: 60px;
	}

	.thought_title {
		font-size: 36px;
	}

	.thought_description {
		font-size: 18px;
	}

	.thought_featured_title {
		font-size: 24px;
	}

	.thought_featured_desc {
		font-size: 18px;
	}

	.thought_featured_date {
		font-size: 18px;
	}

	.thought_more_btn {
		width: 100%;
	}

	.thought_featured_content {
		gap: 36px;
	}

	.thought_divider {
		margin-bottom: 60px;
	}

	.thought_grid {
		gap: 24px;
	}

	.thought_item {
		min-width: 220px;
	}

	.thought_item_image {
		height: 290px;
	}

	.thought_item_title {
		font-size: 20px;
	}

	.thought_item_date {
		font-size: 18px;
	}
}


/* CTA 버튼 */
.cta_box {
	width: 100%;
	max-width: 280px;
	height: 48px;
	position: relative;
	background: #E4FF18;
	outline: 1px solid #E4FF18;
	outline-offset: -1px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 72px;
	padding: 0 36px;
	border: none;
}

.cta_text {
	color: #000;
	font-size: 20px;
	font-family: Pretendard;
	font-weight: 600;
	text-align: center;
}

.arrow_box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.cta_box::after {
	position: absolute;
	content: '';
	width: 25px;
	height: 25px;
	top: -4px;
	left: -4px;
}

.cta_box::before {
	position: absolute;
	content: '';
	width: 25px;
	height: 25px;
	bottom: -4px;
	right: -4px;
}


.youare_visual_wrap {
	width: 100%;
	height: fit-content;
	display: flex;
	justify-content: center;
	/* background-color: #fff; */
	padding-top: 72px;
}

.youare_visual_wrap a img {
	width: 100%;
	max-width: 1920px;
	object-fit: cover;
}


/* 20251229 추가 */
/* CSS */
.section_services {
  background: white;
  padding: 144px 0;
  border-bottom: 1px solid #1D1D19;
}

.section_services .header {
  display: flex;
  flex-direction: column;
  gap: 36px;
  margin-bottom: 72px;
}

.section_services .title_wrap {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.section_services .title_wrap h2 {
  color: #1D1D19;
  font-size: 62px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 900;
  text-transform: capitalize;
  line-height: 74.4px;
  margin: 0;
}

.section_services .line {
  width: 72px;
  height: 4px;
  background: #1D1D19;
  display: block;
}

.section_services .header .desc {
  width: 782.48px;
  color: #1D1D19;
  font-size: 24px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 600;
  line-height: 36px;
  margin: 0;
}

.section_services .content {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.section_services .services {
  display: flex;
}

.section_services .service {
  flex: 1;
  padding: 0 36px;
  border-right: 1px solid #1D1D19;
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.section_services .service:last-child {
  border-right: none;
}

.section_services .service_header {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.section_services .num {
  color: #1D1D19;
  font-size: 76px;
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 400;
  line-height: 1;
}

.section_services .name {
  color: #1D1D19;
  font-size: 20px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 600;
  margin: 0;
}

.section_services .subtitle {
  color: #DEDEDE;
  font-size: 16px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 400;
  line-height: 24px;
  margin: 0;
}

.section_services .service .text {
  color: #1D1D19;
  font-size: 18px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 400;
  line-height: 27px;
  margin: 0;
}

.section_services .divider {
  width: 100%;
  height: 1px;
  background: #1D1D19;
}

.section_services .bottom_text {
  width: 791.32px;
  color: #1D1D19;
  font-size: 18px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 400;
  line-height: 27px;
  margin: 0;
}

@media (max-width: 1400px) {
  .section_services .header .desc {
    width: 100%;
    max-width: 782px;
  }
  
  .section_services .bottom_text {
    width: 100%;
    max-width: 791px;
  }
}

@media (max-width: 1200px) {
  .section_services {
    padding: 100px 0;
  }
  
  .section_services .title_wrap h2 {
    font-size: 52px;
    line-height: 62px;
  }
  
  .section_services .header .desc {
    font-size: 20px;
    line-height: 30px;
  }
  
  .section_services .services {
    flex-wrap: wrap;
  }
  
  .section_services .service {
    flex: 0 0 calc(50% - 19px);
    border-right: none;
    /* border-bottom: 1px solid #1D1D19; */
    padding: 36px 0;
  }
  
  
  .section_services .service:nth-last-child(-n+2) {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .section_services {
    padding: 80px 0;
  }
  
  .section_services .header {
    gap: 24px;
    margin-bottom: 48px;
  }
  
  .section_services .title_wrap h2 {
    font-size: 42px;
    line-height: 50px;
  }
  
  .section_services .line {
    width: 60px;
    height: 3px;
  }
  
  .section_services .header .desc {
    font-size: 16px;
    line-height: 24px;
  }
  
  .section_services .services {
    flex-direction: column;
  }
  
  .section_services .service {
    flex: 1;
    padding: 24px 0;
    border-right: none;
    /* border-bottom: 1px solid #1D1D19; */
  }
  
  .section_services .service:last-child {
    border-bottom: none;
  }
  
  .section_services .num {
    font-size: 60px;
  }
  
  .section_services .name {
    font-size: 18px;
  }
  
  .section_services .subtitle {
    font-size: 14px;
  }
  
  .section_services .service .text {
    font-size: 16px;
    line-height: 24px;
  }
  
  .section_services .bottom_text {
    font-size: 16px;
    line-height: 24px;
  }
}


/* ============================================
   APP PAGE - #page_app
   ============================================ */

#page_app .app_page_wrap {
  background: #fff;
  padding-top: 72px;
}

/* 헤더 섹션 */
#page_app .app_header_section {
  padding: 144px 0 0;
}

#page_app .app_title_wrap {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-items: flex-start;
}

#page_app .app_main_title {
  font-family: 'Pretendard', sans-serif;
  font-size: 62px;
  font-weight: 900;
  color: #1d1d19;
  text-transform: capitalize;
  line-height: 1.2;
  margin: 0;
}

#page_app .app_title_line {
  width: 72px;
  height: 4px;
  background: #1d1d19;
}

#page_app .app_description {
  font-family: 'Pretendard', sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #1d1d19;
  line-height: 1.5;
  margin: 0;
}

/* 앱 소개 섹션 - 스크롤 애니메이션 */
#page_app .app_scroll_container {
  position: relative;
  margin-top: 72px;
  height: 300vh; /* 슬라이드 수 * 100vh, JavaScript에서 조정됨 */
}

#page_app .app_sticky_wrap {
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  overflow: hidden;
}

#page_app .app_intro_section {
  border-top: 1px solid #1d1d19;
  height: 100%;
  display: flex;
  align-items: center;
}

#page_app .app_intro_section .inner {
  height: 100%;
}

#page_app .app_intro_content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0;
}

/* 슬라이드 스타일 */
#page_app .app_slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 120px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}

#page_app .app_slide.active {
  opacity: 1;
  visibility: visible;
}

#page_app .app_slide .app_intro_text {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.6s ease-out 0.1s, opacity 0.6s ease-out 0.1s;
}

#page_app .app_slide.active .app_intro_text {
  transform: translateY(0);
  opacity: 1;
}

#page_app .app_slide .app_phone_mockup {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.6s ease-out 0.2s, opacity 0.6s ease-out 0.2s;
}

#page_app .app_slide.active .app_phone_mockup {
  transform: translateY(0);
  opacity: 1;
}

#page_app .app_intro_text {
  display: flex;
  flex-direction: column;
  gap: 59px;
  width: 596px;
  flex-shrink: 0;
}

#page_app .app_intro_title {
  font-family: 'Pretendard', sans-serif;
  font-size: 36px;
  font-weight: 700;
  color: #1d1d19;
  line-height: 50px;
  margin: 0;
}

#page_app .app_intro_desc {
  font-family: 'Pretendard', sans-serif;
  font-size: 24px;
  font-weight: 400;
  color: #747373;
  line-height: 31px;
  margin: 0;
}

#page_app .app_phone_mockup {
  width: 410px;
  height: 70vh;
  max-height: 848px;
  flex-shrink: 0;
}

#page_app .app_phone_mockup img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 63px;
}

/* 슬라이드 인디케이터 */
#page_app .app_slide_indicators {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
}

#page_app .app_slide_indicators .indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #d4d4d4;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}

#page_app .app_slide_indicators .indicator:hover {
  background: #999;
}

#page_app .app_slide_indicators .indicator.active {
  background: #1d1d19;
  transform: scale(1.2);
}

/* 앱 다운로드 섹션 */
#page_app .app_download_section {
  padding: 72px 0 144px;
}

#page_app .app_download_section .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}

#page_app .app_download_box {
  width: 100%;
  background: #f7f7f7;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 64px;
  padding: 120px 0;
}

#page_app .app_logo_wrap {
  width: 150px;
  height: 150px;
  background: #1d1d19;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#page_app .app_logo_wrap img {
  width: 60%;
  height: auto;
}

#page_app .app_download_title {
  font-family: 'Pretendard', sans-serif;
  font-size: 48px;
  font-weight: 600;
  color: #1d1d19;
  text-align: center;
  line-height: 1.3;
}

#page_app .app_store_buttons {
  display: flex;
  align-items: center;
  gap: 16px;
}

#page_app .app_store_btn {
  display: block;
  transition: opacity 0.3s;
}

#page_app .app_store_btn:hover {
  opacity: 0.8;
}

#page_app .app_store_btn.google_play img {
  height: 42px;
  width: auto;
}

#page_app .app_store_btn.app_store img {
  height: 42px;
  width: auto;
}

#page_app .app_list_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 60px;
  background: #191919;
  border-radius: 20px;
  font-family: 'Pretendard', sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}

#page_app .app_list_btn:hover {
  opacity: 0.8;
}

/* 반응형 - 태블릿 */
@media (max-width: 1200px) {
  #page_app .app_main_title {
    font-size: 52px;
  }
  
  #page_app .app_description {
    font-size: 20px;
  }
  
  #page_app .app_slide {
    gap: 80px;
  }
  
  #page_app .app_intro_title {
    font-size: 32px;
    line-height: 44px;
  }
  
  #page_app .app_intro_desc {
    font-size: 20px;
    line-height: 28px;
  }
  
  #page_app .app_phone_mockup {
    width: 320px;
    height: 60vh;
    max-height: 660px;
  }
  
  #page_app .app_download_title {
    font-size: 40px;
  }
}

/* 반응형 - 모바일 */
@media (max-width: 768px) {
  #page_app .app_header_section {
    padding: 80px 0 0;
  }
  
  #page_app .app_main_title {
    font-size: 42px;
  }
  
  #page_app .app_description {
    font-size: 18px;
  }
  
  #page_app .app_scroll_container {
    margin-top: 48px;
  }
  
  #page_app .app_sticky_wrap {
    top: 60px;
    height: calc(100vh - 60px);
  }
  
  #page_app .app_slide_indicators {
    bottom: 30px;
  }
  
  #page_app .app_slide {
    flex-direction: column;
    gap: 40px;
    padding: 20px;
  }
  
  #page_app .app_intro_text {
    gap: 24px;
    width: 100%;
    flex-shrink: 1;
    text-align: center;
    order: 2;
  }
  
  #page_app .app_intro_title {
    font-size: 28px;
    line-height: 40px;
  }
  
  #page_app .app_intro_desc {
    font-size: 18px;
    line-height: 26px;
  }
  
  #page_app .app_phone_mockup {
    width: 220px;
    height: 45vh;
    max-height: 450px;
    order: 1;
  }
  
  /* 모바일: 스크롤 애니메이션 비활성화, 리스트 형태로 변경 */
  #page_app .app_scroll_container {
    height: auto !important;
  }
  
  #page_app .app_sticky_wrap {
    position: relative;
    top: 0;
    height: auto;
  }
  
  #page_app .app_intro_section {
    height: auto;
  }
  
  #page_app .app_intro_content {
    height: auto;
    flex-direction: column;
    gap: 0;
  }
  
  #page_app .app_slide {
    position: relative;
    opacity: 1;
    visibility: visible;
    flex-direction: column;
    padding: 60px 20px;
    border-bottom: 1px solid #e5e5e5;
  }
  
  #page_app .app_slide:last-of-type {
    border-bottom: none;
  }
  
  #page_app .app_slide .app_intro_text,
  #page_app .app_slide .app_phone_mockup {
    transform: none;
    opacity: 1;
    transition: none;
  }
  
  #page_app .app_slide_indicators {
    display: none;
  }
  
  #page_app .app_download_section {
    padding: 48px 0 100px;
  }
  
  #page_app .app_download_box {
    padding: 80px 24px;
    gap: 48px;
  }
  
  #page_app .app_logo_wrap {
    width: 120px;
    height: 120px;
  }
  
  #page_app .app_download_title {
    font-size: 32px;
  }
  
  #page_app .app_store_buttons {
    flex-direction: column;
    gap: 12px;
  }
  
  #page_app .app_list_btn {
    width: 160px;
    height: 54px;
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  #page_app .app_main_title {
    font-size: 32px;
  }
  
  #page_app .app_description {
    font-size: 16px;
  }
  
  #page_app .app_intro_title {
    font-size: 24px;
    line-height: 34px;
  }
  
  #page_app .app_intro_desc {
    font-size: 16px;
    line-height: 24px;
  }
  
  #page_app .app_phone_mockup {
    width: 240px;
    height: 500px;
  }
  
  #page_app .app_download_title {
    font-size: 26px;
  }
}