@charset "UTF-8";

/* 비주얼 히어로 */
.visual{width: 100%; height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden;}
.visual_bg{position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; animation: visualZoom 8s ease forwards;}
.visual::before{content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, var(--color-dark) 0%, rgba(0,0,0,0.3) 100%); z-index: 1;}
.visual_inner{position: relative; z-index: 2; color: #fff;}
.visual_inner h2{font-size: 65px; font-weight: 700; line-height: 140%; letter-spacing: -1.5px; opacity: 0; transform: translateY(30px); animation: heroFadeUp 1s ease 0.3s forwards;}
.visual_sub{font-size: 18px; font-weight: 400; color: rgba(255,255,255,0.7); margin-bottom: 16px; letter-spacing: -0.3px; opacity: 0; transform: translateY(20px); animation: heroFadeUp 0.8s ease 0.2s forwards;}
.visual_inner h2 span{color: #fff; font-weight: 800; background: linear-gradient(transparent 55%, var(--color) 55%); background-size: 0% 100%; background-repeat: no-repeat; display: inline; padding: 0 4px; animation: spanHighlight 0.8s ease 1.2s forwards;}
.visual_inner p{font-size: 20px; font-weight: 400; margin-top: 16px; color: rgba(255,255,255,0.75); line-height: 160%; opacity: 0; transform: translateY(20px); animation: heroFadeUp 0.8s ease 0.8s forwards;}
.visual_btn{display: inline-flex; align-items: center; margin-top: 40px; padding: 16px 40px; background: var(--color); color: #fff; font-size: 18px; font-weight: 600; border-radius: 100px; transition: 0.3s all; letter-spacing: -0.3px; opacity: 0; transform: translateY(20px); animation: heroFadeUp 0.8s ease 1.1s forwards;}
.visual_btn:hover{background: #fff; color: var(--color-dark);}
@keyframes heroFadeUp{0%{opacity: 0; transform: translateY(30px);}100%{opacity: 1; transform: translateY(0);}}
@keyframes spanHighlight{0%{background-size: 0% 100%;}100%{background-size: 100% 100%;}}
@keyframes visualZoom{0%{transform: scale(1.15);}100%{transform: scale(1);}}

/* 고민 섹션 */
.m1{background: #f5f7fa;}
.m1_wrap{display: flex; justify-content: space-between; align-items: flex-start;}
.m1_text{width: 38%;}
.m1_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m1_text h3 span{color: var(--color); font-weight: 800;}
.m1 .box_wrap{display: flex; flex-direction: column; gap: 20px; width: 55%;}
.m1 .box{position: relative; background: #fff; color: #333; font-size: 24px; font-weight: 500; line-height: 150%; padding: 28px 36px 28px 64px; border-radius: 16px; letter-spacing: -0.3px; box-shadow: 0 4px 20px rgba(0,0,0,0.06);}
.m1 .box::before{content: '\201C'; position: absolute; left: 24px; top: 18px; font-size: 36px; font-weight: 700; color: var(--color); line-height: 1;}
.m1 .box:nth-child(2){background: #E8F4FD; color: #1a3a5c;}

/* 피하세요 섹션 */
.m2_text{margin-bottom: 60px;}
.m2_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m2_text h3 span{color: var(--color); font-weight: 800;}
.m2 .box_wrap{display: flex; flex-direction: column; gap: 24px;}
.m2 .box{position: relative; background-color: #f5f7fa; padding: 60px 40% 60px 44px; border-radius: 20px; background-size: 45% 100%; background-position: right center; background-repeat: no-repeat; overflow: hidden; transition: 0.3s all;}
.m2 .box:hover{box-shadow: 0 4px 16px rgba(0,0,0,0.04); transform: translateY(-4px);}
.m2 .box::after{content: ''; position: absolute; right: 0; top: 0; width: 50%; bottom: 0; background: linear-gradient(to right, #f5f7fa 0%, transparent 60%); pointer-events: none;}
.m2 .box strong{display: block; font-size: 28px; font-weight: 700; color: #222; letter-spacing: -0.5px; margin-bottom: 14px; position: relative; z-index: 1;}
.m2 .box strong b{color: var(--color); font-weight: 800;}
.m2 .box p{font-size: 18px; font-weight: 400; color: #666; line-height: 150%; letter-spacing: -0.3px; position: relative; z-index: 1;}
.m2 .box .m2_num{display: inline-flex; align-items: center; justify-content: center; width: 32px; font-size: 14px; font-weight: 700; color: var(--color); background: rgba(37,99,235,0.1); padding: 6px 0; border-radius: 100px; margin-bottom: 16px; letter-spacing: 0; position: relative; z-index: 1;}

/* 약속 섹션 */
.m4_text{margin-bottom: 60px;}
.m4_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m4_text h3 span{color: var(--color); font-weight: 800;}
.m4 .box_wrap{display: flex; flex-direction: column; gap: 24px;}
.m4 .box{position: relative; background-color: #f5f7fa; padding: 60px 40% 60px 44px; border-radius: 20px; background-size: 45% 100%; background-position: right center; background-repeat: no-repeat; overflow: hidden; transition: 0.3s all;}
.m4 .box:hover{box-shadow: 0 4px 16px rgba(0,0,0,0.04); transform: translateY(-4px);}
.m4 .box::after{content: ''; position: absolute; right: 0; top: 0; width: 50%; bottom: 0; background: linear-gradient(to right, #f5f7fa 0%, transparent 60%); pointer-events: none;}
.m4 .box strong{display: block; font-size: 28px; font-weight: 700; color: #222; letter-spacing: -0.5px; margin-bottom: 14px; position: relative; z-index: 1;}
.m4 .box strong b{color: var(--color); font-weight: 800;}
.m4 .box p{font-size: 18px; font-weight: 400; color: #666; line-height: 150%; letter-spacing: -0.3px; position: relative; z-index: 1;}
.m4 .box .m4_num{display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: var(--color); background: rgba(37,99,235,0.1); padding: 6px 12px; border-radius: 100px; margin-bottom: 16px; letter-spacing: 0; position: relative; z-index: 1;}

/* 필요성 섹션 */
.m5{background: #F6F7FE;}
.m5_text{margin-bottom: 60px;}
.m5_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m5_text h3 span{color: var(--color); font-weight: 800;}
.m5 .box_wrap{display: flex; gap: 2%;}
.m5 .box{flex: 1; min-width: 0; background: #fff; border-radius: 20px; overflow: hidden; transition: 0.3s all; box-shadow: 0 4px 20px rgba(0,0,0,0.06);}
.m5 .box:hover{box-shadow: 0 4px 16px rgba(0,0,0,0.1); transform: translateY(-4px);}
.m5 .m5_img{width: 100%; display: block;}
.m5 .m5_content{padding: 32px 28px;}
.m5 .box strong{display: block; font-size: 24px; font-weight: 700; color: #222; letter-spacing: -0.5px; margin-bottom: 14px; line-height: 150%;}
.m5 .box strong b{color: var(--color); font-weight: 800;}
.m5 .box p{position: relative; font-size: 17px; font-weight: 400; color: #666; line-height: 150%; letter-spacing: -0.3px; padding-left: 24px; margin-top: 8px;}
.m5 .box p::before{content: '✔'; position: absolute; left: 0; top: 0; color: var(--color); font-size: 15px;}
.m5 .box .m5_num{display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: var(--color); background: rgba(37,99,235,0.1); padding: 6px 12px; border-radius: 100px; margin-bottom: 16px; letter-spacing: 0;}

/* CTA 섹션 */
.m6_text{text-align: center; margin-bottom: 60px;}
.m6_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m6_text h3 span{color: var(--color); font-weight: 800;}
.m6_desc{margin-top: 16px; font-size: var(--fs18); color: #888; font-weight: 400;}
.m6_btn{display: inline-flex; align-items: center; margin-top: 32px; padding: 16px 40px; background: var(--color); color: #fff; font-size: 18px; font-weight: 600; border-radius: 100px; transition: 0.3s all; letter-spacing: -0.3px;}
.m6_btn:hover{background: var(--color-dark); color: #fff;}
.m6 .box_wrap{display: flex; gap: 2%;}
.m6 .box{flex: 1; min-width: 0; position: relative; border-radius: 16px; overflow: hidden;}
.m6 .m6_img{width: 100%; padding-bottom: 70%; background-size: cover; background-position: center; background-repeat: no-repeat;}
.m6 .box::after{content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%); pointer-events: none;}
.m6 .m6_icon{position: absolute; bottom: 58px; left: 0; right: 0; text-align: center; font-size: 28px; color: #fff; z-index: 1;}
.m6 .box span{position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; font-size: 20px; font-weight: 700; color: #fff; letter-spacing: -0.3px; z-index: 1;}

/* 상담신청 팝업 */
.popup_overlay{display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 9999; justify-content: center; align-items: center;}
.popup_overlay.active{display: flex;}
.popup_wrap{background: #fff; border-radius: 16px; width: 90%; max-width: 520px; max-height: 65vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.3);}
.popup_header{display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid #eee;}
.popup_header h3{font-size: 20px; font-weight: 700; color: var(--color-dark); letter-spacing: -0.5px;}
.popup_close{background: none; border: none; font-size: 20px; color: #999; cursor: pointer; padding: 4px; transition: 0.2s;}
.popup_close:hover{color: #333;}
.popup_body{padding: 20px 24px;}

/* Before & After 섹션 */
.m3{background: #f5f7fa;}
.m3_text{margin-bottom: 60px;}
.m3_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: var(--color-dark);}
.m3_text h3 span{color: var(--color); font-weight: 800;}
.m3_text p{font-size: 18px; font-weight: 400; color: #555; line-height: 150%; letter-spacing: -0.3px; margin-top: 28px;}
.m3 .box_wrap{display: flex; gap: 2%;}
.m3 .box{flex: 1; min-width: 0;}
.m3_slider{position: relative; width: 100%; padding-bottom: 125%; overflow: hidden; border-radius: 16px; cursor: ew-resize; user-select: none; -webkit-user-select: none; box-shadow: 0 4px 20px rgba(0,0,0,0.1);}
.m3_before, .m3_after{position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat;}
.m3_before{z-index: 2; clip-path: inset(0 50% 0 0);}
.m3_after{z-index: 1;}
.m3_handle{position: absolute; top: 0; bottom: 0; left: 50%; z-index: 3; transform: translateX(-50%);}
.m3_handle_line{position: absolute; top: 0; bottom: 0; width: 3px; background: #fff; left: 50%; transform: translateX(-50%); box-shadow: 0 0 6px rgba(0,0,0,0.3);}
.m3_handle_circle{width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,0.5); border: 3px solid #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,0.3); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 4; transition: background 0.2s;}
.m3_handle_circle span{font-family: 'SUIT', sans-serif; font-size: 14px; font-weight: 200; color: #fff; line-height: 100%; letter-spacing: -2px;}
.m3_slider:hover .m3_handle_circle{background: rgba(0,0,0,0.7);}
.m3_label{position: absolute; bottom: 20px; z-index: 3; font-size: 16px; font-weight: 800; color: #666; letter-spacing: 1px; text-transform: uppercase;}
.m3_label_before{left: 20px;}
.m3_label_after{right: 20px;}

/* 실시간 상담현황 섹션 */
.m7{background: var(--color-dark);}
.m7_text{margin-bottom: 50px; text-align: center;}
.m7_sub{display: block; font-size: 14px; font-weight: 500; color: var(--color-sky); letter-spacing: 2px; margin-bottom: 14px; font-style: normal;}
.m7_text h3{font-size: 42px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: #fff;}
.m7_desc{font-size: 16px; font-weight: 400; color: rgba(255,255,255,0.55); line-height: 170%; letter-spacing: -0.3px; margin-top: 20px;}
.m7_board{max-width: 960px; margin: 0 auto;}
.m7_header{display: flex; padding: 14px 28px; margin-bottom: 8px;}
.m7_header .m7_col{color: rgba(255,255,255,0.4); font-size: 14px; font-weight: 600; letter-spacing: -0.3px;}
.m7_list_wrap{overflow: hidden; max-height: 465px;}
.m7_list{will-change: transform;}
.m7_row{display: flex; padding: 17px 28px; align-items: center; background: rgba(255,255,255,0.05); border-radius: 10px; margin-bottom: 6px;}
.m7_col{flex: 1;}
.m7_col.m7_col_status{flex: 1; text-align: center;}
.m7_col.m7_col_name{flex: 1; font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.85); letter-spacing: -0.3px; text-align: center;}
.m7_col.m7_col_type{flex: 1; font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.85); letter-spacing: -0.3px; text-align: center;}
.m7_col.m7_col_date{display: none;}
.m7_badge{display: inline-block; font-style: normal; font-size: 13px; font-weight: 700; color: #fff; padding: 6px 18px; border-radius: 100px; letter-spacing: -0.3px;}
.m7_badge.m7_done{background: var(--color);}
.m7_badge.m7_wait{background: rgba(255,255,255,0.15);}

/* 푸터 */
#ft{padding-bottom: 140px;}
#ft .footer{display: flex; align-items: flex-start; justify-content: space-between; gap: 40px;}
#ft .foot_logo img{height: 32px; display: block;}
#ft .foot_info{margin-top: 16px;}
#ft .foot_info span{display: inline-block; margin-right: 16px; font-size: 14px; color: #888; line-height: 200%;}
#ft .copyright{margin-top: 16px; font-size: 13px; color: #aaa;}
#ft .foot_sns{display: flex; gap: 10px;}
#ft .foot_sns_btn{display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: #888; font-size: 20px; transition: 0.3s;}

/* PC 하단 고정 상담바 */
.float_form{display: flex; width: 100%; position: fixed; bottom: 0; left: 0; z-index: 1001;}
.float_form .info{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px 0; font-size: 17px; font-weight: 500; background: var(--color-navy); color: #fff; padding: 16px 24px; white-space: nowrap;}
.float_form .info *{color: inherit;}
.float_form .info strong{font-size: 1.64em;}
.float_form .info strong a{font-weight: 700;}
.float_form .form{flex: 1; background: #1C1C1C; padding: 16px 24px; display: flex; align-items: center;}
.float_form form{display: flex; align-items: center; gap: 0 14px; color: #fff; width: 100%;}
.float_form form .item{flex: 1; display: flex; align-items: center; gap: 0 8px;}
.float_form form .item_name{flex: 0 0 auto; max-width: 130px;}
.float_form form .item_company{flex: 0 0 auto; max-width: 150px;}
.float_form form .item_phone{flex: 0 0 auto; max-width: 170px;}
.float_form form .item_type{flex: 0 0 auto; max-width: 180px;}
.float_form form .item_content{flex: 3;}
.float_form form .item .tit{font-size: 14px; font-weight: 700; color: #fff; white-space: nowrap;}
.float_form form .item .tit .required{color: #e53e3e; font-weight: 700;}
.float_form form .item input{display: block; width: 100%; height: 38px; border-radius: 5px; background: #333; border: solid 1px #252525; font-size: 14px; color: #fff; padding: 0 12px; outline: none;}
.float_form form .item input::placeholder{color: rgba(255,255,255,0.35);}
.float_form form .item input:focus{background: #3a3a3a;}
.float_form form .item select{display: block; width: 100%; height: 38px; border-radius: 5px; background: #333; border: solid 1px #252525; font-size: 14px; color: #fff; padding: 0 12px; outline: none; cursor: pointer;}
.float_form form .item select option{background: #333; color: #fff;}
.float_form form .chk_box input{display: none;}
.float_form form .chk_box input:checked + label{color: #fff;}
.float_form form .chk_box input:checked + label::before{background: var(--color); border-color: var(--color); content: '\2713'; color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center;}
.float_form form .chk_box label{display: flex; align-items: center; gap: 0 8px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.7); cursor: pointer; white-space: nowrap;}
.float_form form .chk_box label::before{content: ''; display: block; width: 16px; height: 16px; background: transparent; border: solid 1px #747474; flex-shrink: 0;}
.float_form form .submit{display: flex; align-items: center; justify-content: center; min-width: 100px; height: 38px; background: var(--color); color: #fff; font-size: 14px; font-weight: 700; padding: 0 20px; border: none; cursor: pointer; white-space: nowrap; transition: 0.2s;}
.float_form form .submit:hover{background: #1d4ed8;}
.float_form form .submit:disabled{opacity: 0.6; cursor: not-allowed;}

/* 플로팅 버튼 */
.floating_btns{position: fixed; right: 20px; bottom: 100px; z-index: 1000; display: flex; flex-direction: column; gap: 10px;}
.floating_btns a{display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; color: #fff; font-size: 22px; text-decoration: none; box-shadow: 0 4px 12px rgba(0,0,0,0.15); transition: 0.3s;}
.floating_btns a:hover{transform: scale(1.1);}
.floating_btns .fl_phone{background: var(--color);}
.floating_btns .fl_chat{background: #222;}
.floating_btns .fl_consult{display: none; background: var(--color-dark); font-size: 11px; font-weight: 700; line-height: 130%; text-align: center;}

@media all and (max-width: 1200px) {
	.float_form{display: none !important;}
	.floating_btns{bottom: 30px;}
	.floating_btns .fl_consult{display: flex;}
}

@media all and (max-width: 1024px) {
	#ft{padding-bottom: 80px;}
	#ft .footer{flex-direction: column; gap: 24px;}
	#ft .foot_info span{font-size: 13px; margin-right: 12px;}
	.visual{height: 80vh;}
	.visual_inner h2{font-size: 36px;}
	.visual_inner p{font-size: 17px;}
	.visual_btn{padding: 14px 32px; font-size: 16px;}
	.m1_text h3{font-size: 30px;}
	.m1 .box{font-size: 17px; padding: 20px 24px 20px 52px;}
	.m1 .box::before{left: 18px; top: 14px; font-size: 30px;}
	.m2_text h3{font-size: 30px;}
	.m2 .box strong{font-size: 20px;}
	.m2 .box p{font-size: 15px;}
	.m2 .box{padding: 32px 35% 32px 32px;}
	.m3_text h3{font-size: 30px;}
	.m4_text h3{font-size: 30px;}
	.m4 .box strong{font-size: 20px;}
	.m4 .box p{font-size: 15px;}
	.m4 .box{padding: 32px 35% 32px 32px;}
	.m5_text h3{font-size: 30px;}
	.m5 .m5_content{padding: 24px 20px;}
	.m5 .box strong{font-size: 18px;}
	.m5 .box p{font-size: 14px;}
	.m6_text h3{font-size: 30px;}
	.m6_btn{padding: 14px 32px; font-size: 16px;}
	.m6 .box span{font-size: 17px;}
	.m3_text p{font-size: 16px;}
	.m3_handle_circle{width: 36px; height: 36px;}
	.m3_label{font-size: 13px; bottom: 14px;}
	.m7_text h3{font-size: 30px;}
	.m7_desc{font-size: 15px;}
	.m7_header{padding: 12px 20px; margin-bottom: 6px;}
	.m7_row{padding: 14px 20px;}
	.m7_col.m7_col_status{flex: 1;}
	.m7_col.m7_col_name{flex: 1;}
}
@media all and (max-width: 768px) {
	#ft{padding-bottom: 70px;}
	#ft .footer{flex-direction: column; gap: 20px; text-align: center;}
	#ft .foot_logo img{margin: 0 auto;}
	#ft .foot_info span{font-size: 12px; margin-right: 8px;}
	#ft .copyright{font-size: 11px;}
	#ft .foot_sns{justify-content: center;}
	.visual{height: 70vh;}
	.visual_inner h2{font-size: 32px;}
	.visual_inner p{font-size: 15px;}
	.visual_btn{margin-top: 30px; padding: 12px 28px; font-size: 15px;}
	.m1_wrap{flex-direction: column;}
	.m1_text{width: 100%; text-align: center; margin-bottom: 40px;}
	.m1 .box_wrap{width: 100%;}
	.m1_text h3{font-size: 26px;}
	.m1 .box{font-size: 15px; padding: 20px 20px 20px 46px; min-height: 76px; box-sizing: border-box;}
	.m1 .box::before{left: 14px; top: 14px; font-size: 26px;}
	.m2_text h3{font-size: 26px;}
	.m2 .box strong{font-size: 18px;}
	.m2 .box p{font-size: 14px;}
	.m2 .box{padding: 24px 20px; background-image: none !important;}
	.m3_text h3{font-size: 26px;}
	.m4_text h3{font-size: 26px; text-align: center;}
	.m4 .box strong{font-size: 18px;}
	.m4 .box p{font-size: 14px;}
	.m4 .box{padding: 24px 20px; background-image: none !important;}
	.m5_text h3{font-size: 26px;}
	.m5 .box_wrap{flex-direction: column; gap: 20px;}
	.m5 .box strong{font-size: 18px;}
	.m5 .box p{font-size: 14px;}
	.m5 .m5_content{padding: 20px 16px;}
	.m6_text h3{font-size: 26px;}
	.m6_text{margin-bottom: 40px;}
	.m6_btn{margin-top: 24px; padding: 12px 28px; font-size: 15px;}
	.m6 .box_wrap{flex-direction: column; gap: 16px;}
	.m6 .m6_icon{bottom: 50px; font-size: 32px;}
	.m6 .box span{font-size: 18px; bottom: 18px;}
	.m3_text p{font-size: 15px;}
	.m3 .box_wrap{flex-direction: column; gap: 20px;}
	.m3 .box{width: 100%;}
	.m3_slider{padding-bottom: 133%;}
	.m3_handle_circle{width: 40px; height: 40px;}
	.m3_label{font-size: 14px; bottom: 16px;}
	.m7_text h3{font-size: 26px;}
	.m7_desc{font-size: 14px;}
	.m7_header{padding: 10px 14px; margin-bottom: 4px;}
	.m7_header .m7_col{font-size: 12px;}
	.m7_row{padding: 12px 14px;}
	.m7_col.m7_col_status{flex: 1;}
	.m7_col.m7_col_name{flex: 1; font-size: 13px;}
	.m7_col.m7_col_type{flex: 1; font-size: 13px;}
	.m7_badge{font-size: 11px; padding: 5px 12px;}
	.m7_list_wrap{max-height: 400px;}
}

/* p1 회사소개 */
.p1_title{padding: 60px 0 80px; text-align: center; margin-top: 120px;}
.p1_breadcrumb{display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 24px; font-size: 14px; color: #999;}
.p1_breadcrumb span.p1_arrow{font-family: 'SUIT-ExtraLight'; font-size: 12px;}
.p1_breadcrumb a{color: #999; transition: 0.2s; line-height: 100%;}
.p1_breadcrumb a:hover{color: #333;}
.p1_breadcrumb i{font-size: 16px;}
.p1_title h2{font-size: 52px; font-weight: 700; letter-spacing: -1px; color: #111;}

.p1_img{overflow: hidden; height: 500px; background-size: cover; background-position: center; background-repeat: no-repeat; clip-path: inset(0 100% 0 0); animation: p1Reveal 1.2s ease 0.3s forwards;}
@keyframes p1Reveal{
	from{clip-path: inset(0 100% 0 0);}
	to{clip-path: inset(0 0 0 0);}
}

.p1_wrap{display: flex; justify-content: space-between; align-items: flex-start;}
.p1_text{width: 38%;}
.p1_text h3{font-size: 32px; font-weight: 700; line-height: 150%; letter-spacing: -0.5px; color: #111;}
.p1_text h3 span{color: var(--color); font-weight: 800;}
.p1_desc{width: 55%;}
.p1_desc p{font-size: 18px; line-height: 160%; color: #555; letter-spacing: -0.3px; margin-bottom: 28px;}
.p1_desc p:last-child{margin-bottom: 0; }

.p1_meaning{text-align: center; background: #f9fafb;}
.p1_logo{margin-bottom: 32px;}
.p1_logo img{width: 260px;}
.p1_meaning p{font-size: 20px; font-weight: 500; line-height: 170%; color: #444; letter-spacing: -0.3px;}
.p1_meaning p b{color: var(--color); font-weight: 700;}

/* p1 대표 인사말 */
.p1_ceo{position: relative; overflow: hidden;}
.p1_bg{font-size: 120px; font-weight: 900; color: rgba(0,0,0,0.06); letter-spacing: 15px; white-space: nowrap; margin-top: 50px;}
@keyframes p1BgReveal{
	from{clip-path: inset(0 100% 0 0);}
	to{clip-path: inset(0 0 0 0);}
}
.p1BgReveal{animation-name: p1BgReveal;}
.p1_ceo .p1_wrap{display: flex; justify-content: space-between; align-items: center;}
.p1_ceo .p1_text{width: 50%;}
.p1_ceo .p1_text span{display: inline-block; font-size: 16px; font-weight: 600; color: var(--color); margin-bottom: 16px; letter-spacing: -0.3px;}
.p1_ceo .p1_text h3{font-size: 38px; font-weight: 700; line-height: 140%; letter-spacing: -1px; color: #111; margin-bottom: 40px;}
.p1_ceo .p1_desc{width: 100%;}
.p1_ceo .p1_desc p{font-size: 18px; line-height: 160%; color: #555; letter-spacing: -0.3px; margin-bottom: 24px;}
.p1_ceo .p1_desc p:last-child{margin-bottom: 0;}
.p1_interview{display: inline-flex; align-items: center; gap: 0 8px; margin-top: 32px; padding: 14px 32px; background: var(--color); color: #fff; font-size: 16px; font-weight: 600; border-radius: 100px; text-decoration: none; transition: 0.3s; overflow: hidden; position: relative;}
.p1_interview:hover{background: #003a56; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,78,115,0.35);}
.p1_interview:hover i{transform: translateX(4px);}
.p1_interview i{font-size: 18px; transition: transform 0.3s;}
.p1_photo{width: 42%;}
.p1_photo img{width: 100%; border-radius: 16px;}

/* p1 찾아오시는 길 */
.p1_map{position: relative;}
.p1_map h2{font-size: 38px; font-weight: 700; letter-spacing: -1px; color: #111; text-align: center; margin-bottom: 60px;}
.p1_mapimg{width: 100%;}
.p1_map .root_daum_roughmap_landing{width: 100% !important; height: 500px !important;}
.p1_map .root_daum_roughmap .wrap_map{height: 100% !important;}
.p1_map .root_daum_roughmap .wrap_controllers{display: none;}
.p1_map .root_daum_roughmap .cont .section{display: none;}
.p1_info{display: flex; justify-content: space-between; align-items: center; background: #1B2A4A; padding: 50px 60px; margin-top: 20px; position: relative; z-index: 9; border-radius: 12px;}
.p1_left strong{display: block; font-size: 26px; font-weight: 700; color: #fff; margin-bottom: 20px;}
.p1_addr{display: flex; flex-direction: column; gap: 10px 0;}
.p1_addr p{display: flex; align-items: center; gap: 0 8px; font-size: 15px; color: rgba(255,255,255,0.85); letter-spacing: -0.3px; line-height: 140%;}
.p1_addr p i{font-size: 16px; color: #fff;}
.p1_addr p b{font-weight: 600; margin-right: 6px;}
.p1_link{display: flex; gap: 0 3%;}
.p1_link a{display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-width: 200px; padding: 28px 32px; background: rgba(255,255,255,0.15); border-radius: 8px; color: #fff; font-size: 16px; line-height: 140%; transition: 0.2s;}
.p1_link a:hover{background: rgba(255,255,255,0.25);}
.p1_link a span{display: block; font-weight: 600;}
.p1_link a i{font-size: 22px; align-self: flex-end; margin-top: 28px;}

@media all and (max-width: 1024px) {
	.p1_title{padding: 40px 0 50px; margin-top: 60px;}
	.p1_title h2{font-size: 32px;}
	.p1_text h3{font-size: 26px;}
	.p1_desc p{font-size: 15px;}
	.p1_ceo .p1_text h3{font-size: 30px;}
	.p1_ceo .p1_desc p{font-size: 15px;}
	.p1_bg{font-size: 120px;}
	.p1_logo img{width: 200px;}
	.p1_meaning p{font-size: 17px;}
	.p1_map h2{font-size: 30px; margin-bottom: 40px;}
	.p1_map .root_daum_roughmap_landing{height: 400px !important;}
	.p1_info{padding: 36px 40px; margin-top: 16px;}
	.p1_left strong{font-size: 22px;}
	.p1_link a{min-width: 170px; padding: 24px 28px;}
}
@media all and (max-width: 768px) {
	.p1_img{height: 300px;}
	.p1_title{padding: 30px 0 40px;}
	.p1_title h2{font-size: 28px;}
	.p1_wrap{flex-direction: column; gap: 40px 0;}
	.p1_text{width: 100%;}
	.p1_text h3{font-size: 21px;}
	.p1_desc{width: 100%;}
	.p1_desc p{font-size: 14px; margin-bottom: 20px;}
	.p1_ceo .p1_wrap{flex-direction: column; gap: 40px 0;}
	.p1_ceo .p1_text{width: 100%;}
	.p1_ceo .p1_text h3{font-size: 21px; margin-bottom: 30px;}
	.p1_ceo .p1_text h3 br{display: none;}
	.p1_ceo .p1_desc p{font-size: 14px; margin-bottom: 18px;}
	.p1_photo{width: 100%;}
	.p1_bg{font-size: 60px; letter-spacing: 10px; margin-top: 20px;}
	.p1_logo img{width: 160px;}
	.p1_meaning p{font-size: 15px;}
	.p1_map h2{font-size: 21px; margin-bottom: 30px;}
	.p1_map .root_daum_roughmap_landing{height: 300px !important;}
	.p1_info{flex-direction: column; gap: 20px 0; padding: 20px 18px; margin-top: 12px;}
	.p1_left{width: 100%;}
	.p1_left strong{font-size: 18px; margin-bottom: 12px;}
	.p1_addr p{font-size: 13px; align-items: baseline;}
	.p1_addr p b{min-width: 62px;}
	.p1_addr p span{flex: 1;}
	.p1_link{width: 100%;}
	.p1_link a{flex: 1; min-width: 0; padding: 20px 18px; font-size: 14px;}
	.p1_link a i{margin-top: 20px;}
}
