@charset "utf-8";
.pcbr{display:none;}
.tbbr{display:block;}
.mbbr{display:none;}


/* page 공통 */
.pageTitle1{padding:154px 0 70px;}
.pageTitle1 h2{font-size:var(--font-size-28);color:#0f0f0f;font-weight:600;}
.pageTabs{display:flex;margin-top:20px;}
.pageTabs li{
    position:relative;
    padding-right:24px;margin-right:24px;    
}
.pageTabs li a{font-size:var(--font-size-20);color:#999;	transition: color 0.2s;
}
.pageTabs li a:hover {
	color: #000;
}
.pageTabs li.on a{color:#000;font-weight:500;}

.innerWrap{position:relative;max-width:1440px;width:94%;margin:0 auto;}
.pageTitle2{overflow:hidden;position:relative;}
.pageTitle2 .innerWrap{padding:80px 5vw;}
.pageTitle2 h3{font-size:var(--font-size-56);color:#111;font-weight:500;line-height:120%;}
.pageTitle2 h3.depth2{margin-bottom:70px;font-size:var(--font-size-50);font-weight:600;text-align:center;}
.pageTitle2 h3 span{font-weight:600;}
.pageTitle2 p{margin-top:40px;font-size:var(--font-size-24);color:#666;line-height:150%;}
.pageTitle2 .line1{
    position:absolute;left:0;top:0;
    width:100%;height:1px;
    background:#ccc;
}
.pageTitle2 .line2{
    position:absolute;left:0;bottom:0;
    width:100%;height:1px;
    background:#ccc;
}
.pageTitle2 .line3{
    position:absolute;left:0;top:0;
    width:1px;height:100%;
    background:#ccc;
}
.page{padding:80px 0 160px;}




/* ==============================
 * PROJECT
 * ============================== */
.page.project .innerWrap{max-width:1440px;}

/* 필터 영역 */
.page.project .filterArea{margin-bottom:80px;}

/* 상단 : 탭 + 선택 태그 + 새로고침 */
.page.project .filterArea .filterTop{
    display:flex;justify-content:space-between;flex-wrap:wrap;
    margin-bottom:40px;
}
.page.project .filterArea .filterTop .tabs{
    display:flex;gap:8px;
    width:232px;
}
.page.project .filterArea .filterTop .tabs li a{
    display:flex;align-items:center;justify-content:center;
    min-width:112px;padding:8px 40px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#666;background:#f1f1f1;
    transition:background 0.2s, color 0.2s;
}
.page.project .filterArea .filterTop .tabs li a:hover {
	color: #fff;
	background: #111;
}
.page.project .filterArea .filterTop .tabs li.on a{
    color:#fff;background:#111;
}
.page.project .filterArea .filterTop .selected{
    display:flex;gap:16px;
    width:calc(100% - 332px);
}
.page.project .filterArea .filterTop .selected .tags{
    display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
    width:calc(100% - 34px);
}
.page.project .filterArea .filterTop .selected .tags li a{
    display:inline-flex;align-items:center;justify-content:center;
    padding:0 16px;height:34px;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#e4007f;background:#fff;
    border:1px solid #e4007f;
}
.page.project .filterArea .filterTop .selected .tags li a i{
	display:inline-block;
	width:20px;height:20px;
	margin-left:10px;margin-right:-10px;
	background:url(/images/page/project_filter_x.png) no-repeat center / cover;
}
.page.project .filterArea .filterTop .selected .btnReset{
    width:34px;height:34px;
    background:#fafafa;border:1px solid rgba(112,115,124,0.52);
    position:relative;cursor:pointer;
}
.page.project .filterArea .filterTop .selected .btnReset::before{
    content:"";
    position:absolute;left:50%;top:50%;
    width:16px;height:16px;
    background:url(/images/page/icon_reset.png) no-repeat center / cover;
    transform:translate(-50%,-50%);
}

/* 하단 : 드롭다운 + 검색 */
.page.project .filterArea .filterBottom{
    display:flex;gap:24px;
	width:100%;margin-top:40px;
}
.page.project .filterArea .filterBottom>*{flex:1 1 0;min-width:0;}
.page.project .filterArea .filterBottom .selectBox{
    position:relative;
}
.page.project .filterArea .filterBottom .selectBox .selectTrigger{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;padding:16px;
    border:0;border-bottom:1px solid rgba(112,115,124,0.52);
    background:transparent;cursor:pointer;
}
.page.project .filterArea .filterBottom .selectBox .selectTrigger .selectedVal{
    font-family:"pretendard";font-size:var(--font-size-16);color:#666;font-weight:400;
}
.page.project .filterArea .filterBottom .selectBox.selected .selectTrigger .selectedVal{color:#111;}
.page.project .filterArea .filterBottom .selectBox .selectTrigger .arr{
    display:block;
    width:10px;height:10px;
    border-right:1px solid #666;border-bottom:1px solid #666;
    transform:rotate(45deg);
    margin-top:-4px;
    transition:transform 0.25s;
}
.page.project .filterArea .filterBottom .selectBox.on .selectTrigger .arr{
    transform:rotate(-135deg);
    margin-top:4px;
}
.page.project .filterArea .filterBottom .selectBox .options{
    display:none;
    position:absolute;left:0;right:0;top:100%;z-index:10;
    margin-top:-1px;
    max-height:260px;overflow-y:auto;
    background:#fff;
    border:1px solid rgba(112,115,124,0.52);
    box-shadow:0 8px 20px rgba(0,0,0,0.06);
}
.page.project .filterArea .filterBottom .selectBox.on .options{display:block;}
.page.project .filterArea .filterBottom .selectBox .options li a{
    display:block;
    padding:12px 16px;
    font-family:"pretendard";font-size:var(--font-size-16);color:#666;font-weight:400;
    line-height:1.4;
    transition:background 0.15s, color 0.15s;
}
.page.project .filterArea .filterBottom .selectBox .options li a:hover{
    background:#fafafa;color:#111;
}
.page.project .filterArea .filterBottom .selectBox .options li a.on{
    color:#e4007f;font-weight:500;
    background:#fff;
}
.page.project .filterArea .filterBottom .searchBox{
    display:flex;align-items:center;
    padding:12px 8px 16px;
    border-bottom:1px solid rgba(112,115,124,0.52);
}
.page.project .filterArea .filterBottom .searchBox input{
    flex:1;min-width:0;padding:0;
    font-family:"Inter";font-size:var(--font-size-18);color:#111;font-weight:400;
    background:transparent;border:0;outline:0;
}
.page.project .filterArea .filterBottom .searchBox input::placeholder{color:#999;}
.page.project .filterArea .filterBottom .searchBox .btnSearch{
    width:24px;height:24px;flex-shrink:0;
    background:transparent;border:0;cursor:pointer;
    position:relative;
}
.page.project .filterArea .filterBottom .searchBox .btnSearch::after{
    content:"";
    position:absolute;right:0px;bottom:-5px;
    width:32px;height:32px;
	background:url(/images/page/icon_search.png) no-repeat center / cover;
}

/* 프로젝트 리스트 */
.page.project .projectList{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    margin-bottom:80px;
}
.page.project .projectList>li{
    position:relative;
    border-bottom:1px solid rgba(112,115,124,0.22);
    padding-bottom:40px;
}
.page.project .projectList>li>a{
    display:flex;flex-direction:column;gap:40px;
}
.page.project .projectList>li .thumb{
    width:100%;aspect-ratio:335/240;
	overflow:hidden;
    background:#f5f5f5;
}
.page.project .projectList>li .thumb img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 0.4s;
}
.page.project .projectList>li:hover .thumb img{transform:scale(1.04);}
.page.project .projectList>li .info{
    display:flex;flex-direction:column;gap:8px;
	position:relative;
    transition:all 0.4s;
}
.page.project .projectList>li .info .meta{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;min-height:24px;
}
.page.project .projectList>li .info .category{
    display:inline-flex;align-items:center;gap:16px;
    font-family:"pretendard";font-size:var(--font-size-16);font-weight:400;
    color:#666;line-height:16px;
}
.page.project .projectList>li .info .category .usage{
    font-weight:500;letter-spacing:-0.64px;
}
.page.project .projectList>li .info .category .bar{
    display:block;width:1px;height:16px;background:#b0b0b0;flex-shrink:0;
}
.page.project .projectList>li .info .tit{
	height:65px;
    font-family:"pretendard";font-size:var(--font-size-24);font-weight:500;
    color:#111;line-height:1.4;letter-spacing:-0.24px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; /* 표시할 최대 줄 수 (예: 2줄) */
	overflow: hidden;
	text-overflow: ellipsis;
}
.page.project .projectList>li .info .arrGo{
    display:flex;align-items:center;gap:4px;flex-shrink:0;
	opacity:0;
	transition:all 0.4s;
}
.page.project .projectList>li .info .arrGo span{
	font-family: Inter;font-size:14px;color:#fcfcfc;
}
.page.project .projectList>li .info .arrGo i{
	display:block;
	width:24px;height:24px;
	background:url(/images/main/more_arr3.png) no-repeat center / cover;
}

/* 리스트 아이템 활성(.on) : 핑크 카드 */
.page.project .projectList>li:hover{
    background:#727171;
    border-bottom-color:rgba(112,115,124,0.52);
    padding-bottom:0;
}
.page.project.cate-001 .projectList>li:hover{background:#e4007f;}
.page.project .projectList>li:hover>a{
    padding:0 0 40px;
    transition:all 0.4s;
}
.page.project .projectList>li:hover .info{padding:0 24px;}
.page.project .projectList>li:hover .info .category{color:#fcfcfc;}
.page.project .projectList>li:hover .info .category .bar{background:#fafafa;}
.page.project .projectList>li:hover .info .tit{color:#fff;}
.page.project .projectList>li:hover .info .arrGo{opacity:1;}







/* 프로젝트 뷰페이지 */
.projectView{padding:0 0 160px 0;}
.projectView .pageTitle2 .keywords{display:flex;flex-wrap:wrap;gap:8px;}
.projectView .pageTitle2 .keywords span{
    display:flex;align-items:center;justify-content:center;
    padding:0 16px;height:34px;
    background:#2a2a2a;
    font-size:var(--font-size-20);color:#fff;text-align:center;
}
.projectView .pageTitle2 .keywords span.cate{background:#e4007f;}
.projectView .pageTitle2 .title{margin:32px 0 16px;font-size:var(--font-size-32);color:#111;font-weight:500;}
.projectView .pageTitle2 .date{font-size:var(--font-size-16);color:#999;}

/* .conWrap 공통 */
.projectView .conWrap{padding-top:80px;}

/* 갤러리 영역 */
.projectView .gallerySection{
    width:92%;margin:0 auto;
    padding-bottom:80px;
    border-bottom:1px solid rgba(112,115,124,0.22);
}
.projectView .projectGallery{position:relative;overflow:hidden;}
.projectView .projectGallery .swiper-slide{
    width:100%;height:auto;
}
.projectView .projectGallery .swiper-slide .img{
    position:relative;width:100%;aspect-ratio:1680/772;
    background:#f5f5f5 no-repeat center / cover;
    overflow:hidden;
}
.projectView .projectGallery .swiper-slide .img img{
    position:absolute;left:0;top:0;
    width:100%;height:100%;object-fit:cover;
    opacity:0;
}

/* 갤러리 네비게이션 */
.projectView .projectGallery .galleryPrev,
.projectView .projectGallery .galleryNext{
    position:absolute;top:50%;z-index:10;
    width:60px;height:60px;
    margin-top:-30px;
    background:rgba(255,255,255,0.85);
    border:1px solid rgba(112,115,124,0.22);
    border-radius:50%;
    cursor:pointer;
    transition:background 0.2s, border-color 0.2s;
}
.projectView .projectGallery .galleryPrev{left:40px;}
.projectView .projectGallery .galleryNext{right:40px;}
.projectView .projectGallery .galleryPrev::before,
.projectView .projectGallery .galleryNext::before{
    content:"";
    position:absolute;top:50%;left:50%;
    width:60px;height:60px;
    transform:translate(-50%,-50%);
    border-radius:50%;
}
.projectView .projectGallery .galleryPrev::before{
    background:rgba(160, 167, 175, 1) url(/images/page/btn_prev1.png) no-repeat center / 14px;
}
.projectView .projectGallery .galleryNext::before{
    background:rgba(160, 167, 175, 1) url(/images/page/btn_next1.png) no-repeat center / 14px;
}
.projectView .projectGallery .galleryPrev:hover,
.projectView .projectGallery .galleryNext:hover{
    background:#fff;border-color:#111;
}

/* 갤러리 페이징 */
.projectView .projectGallery .galleryPaging{
    position:absolute;left:0;right:0;bottom:24px;z-index:10;
    display:flex;justify-content:center;gap:8px;
}
.projectView .projectGallery .galleryPaging .swiper-pagination-bullet{
    display:block;
    width:8px;height:8px;
    background:#c4c4c4;opacity:1;border-radius:50%;
    margin:0;
    transition:background 0.2s;
}
.projectView .projectGallery .galleryPaging .swiper-pagination-bullet-active{
    background:#e4007f;
}

/* 상세 내용 영역 */
.projectView .detailSection{
    width:100%;margin:0 auto;
    padding:80px 5vw 0;
}
.projectView .detailSection .desc{
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#666;line-height:1.6;letter-spacing:0;
}

/* 공동설계사 / 팀원 */
.projectView .detailSection .infoList{
    display:flex;flex-direction:column;gap:16px;
    margin-top:80px;
}
.projectView .detailSection .infoList .infoRow{
    display:flex;align-items:flex-start;gap:0;
}
.projectView .detailSection .infoList .infoRow dt{
    flex-shrink:0;width:200px;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:500;
    color:#111;line-height:1.5;
}
.projectView .detailSection .infoList .infoRow dd{
    flex:1;min-width:0;margin:0;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#666;line-height:1.6;
}

/* 세부정보 3단 그리드 */
.projectView .detailSection .infoGrid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
    margin-top:40px;
}
.projectView .detailSection .infoGrid .infoCol{
    display:flex;flex-direction:column;gap:24px;
    padding:20px 0;margin:0;
    border-top:1px solid rgba(112,115,124,0.52);
}
.projectView .detailSection .infoGrid .infoCol .infoItem{
    display:flex;align-items:center;gap:10px;
}
.projectView .detailSection .infoGrid .infoCol .infoItem dt{
    flex-shrink:0;width:120px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#333;line-height:1.5;
}
.projectView .detailSection .infoGrid .infoCol .infoItem dd{
    flex:1;min-width:0;margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.5;
}

/* 리스트 버튼 */
.projectView .btnArea{
    display:flex;justify-content:center;
    margin-top:80px;
}
.projectView .btnArea .btnList{
    display:inline-flex;align-items:center;gap:16px;
    padding:8px 24px;
    background:#e4007f;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#fff;line-height:1.5;
    transition:background 0.2s;
}
.projectView .btnArea .btnList:hover{background:#c2006b;}
.projectView .btnArea .btnList .icon{
    position:relative;
    display:block;width:24px;height:24px;
}
.projectView .btnArea .btnList .icon::before,
.projectView .btnArea .btnList .icon::after{
    content:"";
    position:absolute;left:4px;
    width:16px;height:2px;
    background:#fff;
}
.projectView .btnArea .btnList .icon::before{top:8px;}
.projectView .btnArea .btnList .icon::after{top:14px;}



/* 프로젝트 뷰2 (CM) */
.projectView.cm .conWrap{padding:0;}
.projectView.cm .cmContainer{
    display:flex;align-items:flex-start;
    padding:120px 0;
    border-top:1px solid rgba(112,115,124,0.22);
    border-bottom:1px solid rgba(112,115,124,0.22);
}

/* 좌측 정보 영역 */
.projectView.cm .cmLeft{
    width:50%;
    display:flex;flex-direction:column;gap:60px;
    padding:80px 60px 80px 0;
}
.projectView.cm .cmLeft .cmHead{
    display:flex;flex-direction:column;gap:32px;
}
.projectView.cm .cmLeft .cmHead .keywords{
    display:flex;flex-wrap:wrap;gap:8px;
}
.projectView.cm .cmLeft .cmHead .keywords span{
    display:flex;align-items:center;justify-content:center;
    padding:0 16px;height:34px;
    background:#2a2a2a;
    font-size:var(--font-size-20);color:#fff;text-align:center;
}
.projectView.cm .cmLeft .cmHead .keywords span.cate{background:#e4007f;}
.projectView.cm .cmLeft .cmHead .titleArea{
    display:flex;flex-direction:column;gap:16px;
}
.projectView.cm .cmLeft .cmHead .titleArea .title{
    font-family:"pretendard";font-size:var(--font-size-32);font-weight:500;
    color:#333;line-height:1.25;letter-spacing:-0.16px;
    margin:0;
}
.projectView.cm .cmLeft .cmHead .titleArea .date{
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#999;line-height:1.5;
    margin:0;
}

/* 좌측 본문 (설명 + 세부정보) : 컨텐츠 길이에 따라 자연 확장 */
.projectView.cm .cmLeft .cmBody{
    display:flex;flex-direction:column;gap:80px;
}
.projectView.cm .cmLeft .cmBody .desc{
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#666;line-height:1.6;letter-spacing:0;
    margin:0;
}

/* 세부정보 */
.projectView.cm .cmLeft .detailInfo{
    display:flex;flex-direction:column;gap:40px;
}
.projectView.cm .cmLeft .detailInfo .infoList{
    display:flex;flex-direction:column;gap:16px;
    margin:0;
}
.projectView.cm .cmLeft .detailInfo .infoList .infoRow{
    display:flex;align-items:flex-start;
}
.projectView.cm .cmLeft .detailInfo .infoList .infoRow dt{
    flex-shrink:0;width:200px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#111;line-height:1.5;
}
.projectView.cm .cmLeft .detailInfo .infoList .infoRow dd{
    flex:1;min-width:0;margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.5;
}

/* 세부정보 2단 그리드 */
.projectView.cm .cmLeft .detailInfo .infoGrid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:40px;
}
.projectView.cm .cmLeft .detailInfo .infoGrid .infoCol{
    display:flex;flex-direction:column;gap:8px;
    padding:20px 0;margin:0;
    border-top:1px solid rgba(112,115,124,0.52);
}
.projectView.cm .cmLeft .detailInfo .infoGrid .infoCol .infoItem{
    display:flex;align-items:center;gap:10px;
}
.projectView.cm .cmLeft .detailInfo .infoGrid .infoCol .infoItem dt{
    flex-shrink:0;width:80px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#333;line-height:1.5;
}
.projectView.cm .cmLeft .detailInfo .infoGrid .infoCol .infoItem dd{
    flex:1;min-width:0;margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.5;
}

/* 우측 이미지 영역 : 뷰포트에 고정되고 내부에서 스크롤 */
.projectView.cm .cmRight{
    width:50%;
    position:sticky;top:42px;
    align-self:flex-start;
    max-height:calc(100vh - 84px);
    display:flex;flex-direction:column;gap:40px;
    padding:80px 0 80px 60px;
    border-left:1px solid rgba(112,115,124,0.22);
    overflow-y:auto;overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
}
/* 우측 스크롤바 스타일 */
.projectView.cm .cmRight::-webkit-scrollbar{width:4px;}
.projectView.cm .cmRight::-webkit-scrollbar-track{background:transparent;}
.projectView.cm .cmRight::-webkit-scrollbar-thumb{
    background:rgba(112,115,124,0.3);
    border-radius:2px;
}
.projectView.cm .cmRight::-webkit-scrollbar-thumb:hover{
    background:rgba(112,115,124,0.6);
}
.projectView.cm .cmRight .imgItem{
    position:relative;flex-shrink:0;
    width:100%;height:auto;
    background:#f5f5f5;
    overflow:hidden;
}
.projectView.cm .cmRight .imgItem img{
    width:100%;height:100%;object-fit:cover;
}






/* service */
.service{overflow:hidden;padding:0 0 160px 0;background:#fafafa;}
.service .sec1{
    overflow:hidden;
    position:relative;
    display:flex;align-items:center;justify-content:center;
    width:100%;height:100vh;    
}
.service .sec1 .txt1{
    position:absolute;left:3%;top:-40px;
    font-family:"pretendard";font-size:300px;font-weight:500;color:rgba(112, 115, 124, 0.16);line-height:1em;
}
.service .sec1 .txt2{
    position:absolute;right:3%;bottom:-40px;
    font-family:"pretendard";font-size:300px;font-weight:500;color:rgba(112, 115, 124, 0.16);line-height:1em;
}
.service .sec1 .img{
    position:relative;z-index:100;
    width:480px;height:300px;
    background:url(/images/page/history_sec1_img.jpg) no-repeat center / cover;
    /*clip-path: inset(40% 40% 40% 40%);*/
}
.service .sec2{padding:160px 0 0;}
.serviceTabs{display:flex;gap:16px;margin-bottom:80px;}
.serviceTabs>li{flex:1;}
.serviceTabs>li>a{
    display:flex;align-items:center;justify-content:center;
    height:51px;
    background:#f1f1f1;
    font-size:var(--font-size-18);color:#666;text-align:center;font-weight:500;
		transition:background 0.2s, color 0.2s;
}
.serviceTabs>li>a:hover{background:#000;color:#fff;}
.serviceTabs>li.on>a{background:#000;color:#fff;}

.service .sec2TabconWrap .tabcon{    
    border-top:1px solid rgba(112, 115, 124, 0.52);border-bottom:1px solid rgba(112, 115, 124, 0.52);
}
.service .sec2TabconWrap .tabcon>div{
    position:relative;
    display:flex;flex-wrap:wrap;
    padding:80px 0;
    min-height:480px;
}
.service .sec2TabconWrap .tabcon>div:before{
    display:block;content:"";
    width:1px;height:100%;
    background:rgba(112, 115, 124, 0.32);
    position:absolute;left:-120px;top:0;
}
.service .sec2TabconWrap .tabcon .title{display:flex;gap:8px;width:50%;}
.service .sec2TabconWrap .tabcon .title .num{
    margin-top:15px;
    font-family: Inter;font-size:var(--font-size-22);color:#111;line-height:120%;
}
.service .sec2TabconWrap .tabcon .title .tit{
    font-family: Inter;font-size:var(--font-size-80);color:#111;font-weight:600;line-height:120%;letter-spacing: -0.64px;
}
.service .sec2TabconWrap .tabcon .txts{
    display:flex;flex-wrap:wrap;align-content:space-between;
    width:50%;padding-top:25px;
    padding-left:3%;
}
.service .sec2TabconWrap .tabcon .txts .stit{
    width:100%;
    font-size:var(--font-size-28);color:#333;font-weight:500;line-height:130%;letter-spacing: -0.24px;
}
.service .sec2TabconWrap .tabcon .txts .txt{
    width:100%;
    margin-top:20px;
    font-size:var(--font-size-18);color:#666;font-weight:400;line-height:140%;
}
.service .sec2TabconWrap .tabcon .more{
    padding:8px 0;margin-top:40px;
    font-size:16px;color:#666;
}
.service .sec2TabconWrap .tabcon .more i{margin-left:10px;}

.service .relatedContent{overflow:hidden;}
.service .relatedContent>div{position:relative;padding:160px 0 0;}
.service .relatedContent>div h4{font-size:var(--font-size-40);color:#111;font-weight:600;line-height:120%;letter-spacing: -0.48px;}
.service .relatedContent>div .rcList{margin-top:80px;}
.service .relatedContent>div .rcList ul{display:flex;flex-wrap:wrap;gap:24px;row-gap:24px;}
.service .relatedContent>div .rcList ul li{
    width:calc((100% - 24px * 2) / 3);
}
.service .relatedContent>div .rcList ul li a{
    position:relative;
    display:block;
}
.service .relatedContent>div .rcList ul li a .thumb img{width:100%;}
.service .relatedContent>div .rcList ul li a .hover{
    position:absolute;left:0;top:0;
    width:100%;height:100%;
    padding:40px;
}
.service .relatedContent>div .rcList ul li a .hover .bg{
    position:absolute;left:0;top:0;
    width:100%;height:100%;
    background:rgba(228, 0, 127, 1);
    opacity:0;
    transition:all 0.4s;
}
.service .relatedContent>div .rcList ul li a .hover .tit{
    position:relative;z-index:100;
    font-size:var(--font-size-24);color:#fff;font-weight:600;line-height:130%;letter-spacing: -0.24px;
}
.service .relatedContent>div .rcList ul li a .hover .arr{
    position:absolute;right:40px;bottom:40px;z-index:100;
    display:flex;align-items:center;gap:4px;
	opacity:0;
    transition:all 0.4s;
}
.service .relatedContent>div .rcList ul li a .hover .arr span{font-family: Inter;font-size:14px;color:#fff;}
.service .relatedContent>div .rcList ul li a .hover .arr i{
	display:block;
	width:24px;height:24px;
	background:url(/images/main/more_arr3.png) no-repeat center / cover;
}

.service .relatedContent>div .rcList ul li:hover a .hover .bg{
    opacity:1;
}
.service .relatedContent>div .rcList ul li:hover a .hover .arr{
    opacity:1;
}





/* aboutus */
.aboutus{overflow:hidden;}
.aboutus h3{font-family:"pretendard";font-size:var(--font-size-56);font-weight:600;color:#333;}
.aboutus .sec1{
    padding:80px 0;
}
.aboutus .sec1 .imgArea{
    width:100%;aspect-ratio:1680/780;
    background:url(/images/main/main_visual2.jpg) no-repeat center / cover;
    /* 세로로 긴 직사각 형태(좌우를 더 줄여 가운데 세로 타원에 가까운 노출 영역): top right bottom left */
    clip-path:inset(20% 40% 20% 40%);
    -webkit-clip-path:inset(20% 40% 20% 40%);
}
.aboutus .sec1 h4{margin-top:100px;font-family:"pretendard";font-size:var(--font-size-32);font-weight:600;line-height:150%;color:#111;opacity:0;transform:translateY(40px);}
.aboutus .sec1 p{margin-top:24px;font-family:"pretendard";font-size:var(--font-size-24 );line-height:150%;color:#666;opacity:0;transform:translateY(40px);}

.aboutus .sec2{padding:160px 0;}
.aboutus .sec2 .conWrap{
    padding:160px 0; 
    text-align:center;
}
.aboutus .sec2 .conWrap>div{
    flex:1; 
    font-size:var(--font-size-80);color:#0f0f0f;font-weight:600;
    opacity:0;
}
.aboutus .sec2 .conWrap>div.txt1{transform:translateY(40px);}
.aboutus .sec2 .conWrap>div.txt2{transform:translateY(40px);}
.aboutus .sec2 .conWrap>div.txt2>span{display:inline-block;position:relative;}
.aboutus .sec2 .conWrap>div.txt2>span>span{display:block;position:relative;}
.aboutus .sec2 .conWrap>div.txt2>span>span.txt{z-index:10;}
.aboutus .sec2 .conWrap>div.txt2>span>span.line{
    display:none;
	position:absolute;left:0;bottom:7px;
	width:100%;height:4px;
	background:rgba(228, 0, 127, 0.5);
	transform:scaleX(0);
	transform-origin:left;
}
.aboutus .sec2 .slg{
    font-size:var(--font-size-50);line-height:125%;color:#0f0f0f;font-weight:600;text-align:center;
    transform:translateY(40px);opacity:0;
}


.aboutus .sec3{padding:160px 0;}
.aboutus .sec3 h3{margin-bottom:80px;}
.aboutus .aboutusVision{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    width:100%;
}
.aboutus .aboutusVision__board{
    flex:1 1 0;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:520px;
    padding:60px 80px;
    box-sizing:border-box;
    background:#f1f1f1;
}
.aboutus .aboutusVision__weone{
    margin:0;
	width:100%;
    text-align:left;
}
.aboutus .aboutusVision__weone>div{overflow:hidden;}
.aboutus .aboutusVision__weone>div span{
	display:inline-block;
	transform:translateY(100%);
	font-size:var(--font-size-200);line-height:1em;font-weight:700;color:#0f0f0f;	
}
.aboutus .aboutusVision__weone>div span i{
	display:inline-block;
	font-style:normal;color:#e4007f;
	transform:scale(1.3) translateY(40px);opacity:0;
}

.aboutus .aboutusVision__aside{
    flex:1 1 0;
    min-width:0;
    padding-left:max(40px,min(80px,5vw));
    box-sizing:border-box;
}
.aboutus .aboutusVision__list{
    list-style:none;
    margin:0;
    padding:0;
    border-top:1px solid #e3e3e3;
    border-bottom:1px solid #e3e3e3;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:520px;
    box-sizing:border-box;
}
.aboutus .aboutusVision__item{
    padding:clamp(24px,4vw,40px);
    border-bottom:1px solid #e3e3e3;
    box-sizing:border-box;
}
.aboutus .aboutusVision__item:last-child{border-bottom:none;}
.aboutus .aboutusVision__itemHead{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px;
    color:#111;
	transform:translateY(40px);opacity:0;
}
.aboutus .aboutusVision__num{
    flex:0 0 30px;
    font-family:"Inter",sans-serif;
    font-weight:500;
    font-size:var(--font-size-22);
    line-height:1.5;
    letter-spacing:-0.01em;
}
.aboutus .aboutusVision__tit{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:600;
    font-size:var(--font-size-32);
    line-height:1.25;
    letter-spacing:-0.16px;
}
.aboutus .aboutusVision__desc{
    margin:16px 0 0;
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.5;
    color:#666;
	transform:translateY(60px);opacity:0;
}



.aboutus .sec4.aboutusCv{padding:160px 0;}
.aboutus .aboutusCv__intro h3{margin-bottom:80px;}
.aboutus .aboutusCv__viewport{
    width:100%;
    /* .innerWrap 과 동일 블록 너비(min(1440px, 94%)) 기준 좌측 여백과 맞춤 */
    padding-left:calc((100% - min(1440px, 94%)) / 2);
    box-sizing:border-box;
}
.aboutus .aboutusCv__track{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:24px;
    margin:0;
    padding:0;
    padding-right:clamp(48px,8vw,160px);
    list-style:none;
    box-sizing:border-box;
}
.aboutus .aboutusCv__card{
    flex:0 0 464px;
    width:464px;
    max-width:min(464px,calc(100vw - 48px));
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:130px;
    min-height:520px;
    padding:60px 40px;
    box-sizing:border-box;
    border:1px solid #e3e3e3;
    background:#fff;
}
.aboutus .aboutusCv__cardHead{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px;
}
.aboutus .aboutusCv__num{
    flex:0 0 30px;
    font-family:"Inter",sans-serif;
    font-weight:500;
    font-size:var(--font-size-22);
    line-height:1.6;
    letter-spacing:-0.01em;
    color:#111;
}
.aboutus .aboutusCv__tit{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:600;
    font-size:var(--font-size-40);
    line-height:1.2;
    letter-spacing:-0.48px;
    color:#111;
}
.aboutus .aboutusCv__cardBody{
    display:flex;flex-direction:column;gap:40px;
    flex:1;
    margin-top:0;
}
.aboutus .aboutusCv__lead{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:500;
    font-size:var(--font-size-24);
    line-height:1.3;
    letter-spacing:-0.24px;
    color:#333;
}
.aboutus .aboutusCv__txt p{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.4;
    color:#666;    
}






/* history */
.history{overflow:hidden;padding:100px 0;background:#fff;}
.history .sec1{
    overflow:hidden;
    position:relative;
    display:flex;align-items:center;justify-content:center;
    width:100%;height:100vh;    
}
.history .sec1 .txt1{
    position:absolute;left:3%;top:-40px;
    font-family:"pretendard";font-size:300px;font-weight:500;color:rgba(112, 115, 124, 0.16);line-height:1em;
}
.history .sec1 .txt2{
    position:absolute;right:3%;bottom:-40px;
    font-family:"pretendard";font-size:300px;font-weight:500;color:rgba(112, 115, 124, 0.16);line-height:1em;
}
.history .sec1 .img{
    position:relative;z-index:100;
    width:480px;height:300px;
    background:url(/images/page/history_sec1_img.jpg) no-repeat center / cover;
    /*clip-path: inset(40% 40% 40% 40%);*/
}
.history .sec2{
    overflow:hidden;
    padding:0;
    position:relative;
}
.history .sec2 .historyWrap{
    display:flex;
    flex-direction:column;
    align-items:stretch;
}
.history .sec2 .historyWrap .boxWrap{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:24px;
    padding:60px 40px;
}
.history .sec2 .historyWrap .boxWrap .years{
    flex:1 1 100%;
    min-width:0;
    font-family:"pretendard";font-size:var(--font-size-56);font-weight:700;color:#333;line-height:120%;letter-spacing:-0.48px;
}
.history .sec2 .historyWrap .boxWrap .img{
    flex:1 1 calc(50% - 12px);
    min-width:0;
    aspect-ratio:1;
    height:auto;
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}
.history .sec2 .historyWrap .boxWrap:nth-child(1) .img{background-image:url(/images/page/history_img3.jpg);}
.history .sec2 .historyWrap .boxWrap:nth-child(2) .img{background-image:url(/images/page/history_img2.jpg);}
.history .sec2 .historyWrap .boxWrap:nth-child(3) .img{background-image:url(/images/page/history_img1_2.jpg);}
.history .sec2 .historyWrap .boxWrap .list{
    flex:1 1 calc(50% - 12px);
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:48px;
    padding:0;
}
.history .sec2 .historyWrap .boxWrap .list>dl{width:100%;display:flex;flex-direction:column;gap:25px;}
.history .sec2 .historyWrap .boxWrap .list>dl>dt{
    font-family:"pretendard";font-size:var(--font-size-32);font-weight:600;color:#111;line-height:125%;letter-spacing:-0.16px;
}
.history .sec2 .historyWrap .boxWrap .list>dl>dd{
    border-top:1px solid rgba(112, 115, 124, 0.52);
    border-bottom:1px solid rgba(112, 115, 124, 0.52);
}
.history .sec2 .historyWrap .boxWrap .list>dl>dd>dl{
    display:flex;
    align-items:center;
    gap:24px;
    padding:24px;
    border-bottom:1px solid rgba(112, 115, 124, 0.22);
}
.history .sec2 .historyWrap .boxWrap .list>dl>dd>dl:last-child{border-bottom:0;}
.history .sec2 .historyWrap .boxWrap .list>dl>dd>dl>dt{
    flex-shrink:0;
    width:80px;
    font-family:"pretendard";font-size:var(--font-size-24);font-weight:500;color:#d00576;line-height:130%;letter-spacing:-0.24px;
}
.history .sec2 .historyWrap .boxWrap .list>dl>dd>dl>dd{
    flex:1 0 0;
    min-width:0;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:500;color:#111;line-height:160%;
}








/* contact  */
.page.contact .contactMain{display:flex;flex-direction:column;gap:clamp(72px,10vw,160px);}
.page.contact .contactDirections{padding-top:80px;}
.page.contact .contactInquiry{padding-bottom:clamp(72px,10vw,160px);}
.page.contact .contactDisplayTit{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:700;
    font-size:var(--font-size-80);
    line-height:1.2;
    letter-spacing: -0.64px;
    color:#333;
}
.page.contact .contactDirections__body{margin-top:80px;}
.page.contact .contactMapBlock{display:flex;flex-direction:column;gap:16px;position:relative;}
.page.contact .contactMapBlock__inner{
    overflow:hidden;
    border:1px solid #e3e3e3;
    background:#f1f1f1;
    aspect-ratio:1442/680;
    max-height:680px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.page.contact .contactMapBlock__img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.page.contact .contactMapBlock__img_mobile{display:none;}
.page.contact .contactMapBlock__openMap{
    align-self:flex-end;
    font-family:"pretendard",sans-serif;
    font-weight:500;
    font-size:var(--font-size-14);
    color:#666;
    text-decoration:underline;
    text-underline-offset:4px;
}
.page.contact .contactMapBlock__openMap:focus-visible{
    outline:2px solid #111;
    outline-offset:4px;
}
.page.contact .contactMapBlock .kko a{
	position:absolute;right:40px;bottom:40px;
	display:flex;align-items:center;justify-content:center;
	width:213px;height:48px;
	border-radius:50px;
	background:#f8df00;
}
.page.contact .contactMapBlock .kko .icon_1{
	display:block;
	width:32px;height:32px;
	background:url(/images/page/contact_btn_icon1.png) no-repeat center / cover;
}
.page.contact .contactMapBlock .kko .icon_2{
	display:block;
	width:24px;height:24px;
	background:url(/images/page/contact_btn_icon2.png) no-repeat center / cover;
}
.page.contact .contactMapBlock .kko span{
	display:block;
	margin:0 4px 0 10px;
	font-size:14px;color:#333;
}

.page.contact .contactDirections__titles{margin:0;padding:80px 0 24px}
.page.contact .contactDirections__co{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:500;
    font-size:var(--font-size-24);
    line-height:1.4;
    letter-spacing:-0.24px;
    color:#111;
}
.page.contact .contactDirections__co + .contactDirections__co{margin-top:0;}
.page.contact .contactMetaGrid{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    row-gap:32px;
    padding-top:24px;
    border-top:1px solid rgba(112,115,124,0.22);
}
.page.contact .contactMetaGrid__cell{
    flex:1 1 calc(25% - 18px);
    min-width:200px;
    display:flex;
    flex-direction:column;
    gap:16px;
}
.page.contact .contactMetaGrid__lab{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:500;
    font-size:var(--font-size-24);
    line-height:1.4;
    letter-spacing:-0.24px;
    color:#999;
}
.page.contact .contactMetaGrid__val{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.5;
    color:#666;
}
.page.contact .contactMetaGrid__val a{
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.5;    
    color:#666;
}
.page.contact .contactMetaGrid__val a:hover{color:#111;}
.page.contact .contactMetaGrid__callPair{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px;
}
.page.contact .contactMetaGrid__callLabs,
.page.contact .contactMetaGrid__callVals{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.5;
    color:#666;
}

.page.contact .contactStreet{padding:0;}
.page.contact .contactStreet__inner{
    width:100%;
    overflow:hidden;
    background:#eee;
}
.page.contact .contactStreet__inner img{
    width:100%;
    height:clamp(360px,52vw,900px);
    object-fit:cover;
    object-position:center bottom;
    display:block;
}

.page.contact .contactInquiry{display:flex;}
.page.contact .contactInquiryGrid{
    margin-top:clamp(48px,5vw,80px);
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    padding-top:24px;
    border-top:1px solid rgba(112,115,124,0.22);
}
.page.contact .contactInquiryGrid__cell{
    flex:1 1 calc(33.333% - 16px);
    min-width:220px;
    display:flex;
    flex-direction:column;
    gap:16px;
}
.page.contact .contactInquiryGrid__tit{
    margin:0;
    font-family:"pretendard",sans-serif;
    font-weight:500;
    font-size:var(--font-size-24);
    line-height:1.4;
    letter-spacing:-0.24px;
    color:#111;
}
.page.contact .contactInquiryGrid__tit .nbsp{display:block;height:28px;}
.page.contact .contactInquiryGrid__mail{
    font-family:"pretendard",sans-serif;
    font-weight:400;
    font-size:var(--font-size-18);
    line-height:1.5;
    color:#666;
    word-break:break-all;
}
.page.contact .contactInquiryGrid__mail:hover{color:#111;}







/* leadership 리스트 */
.leadership {
	overflow: hidden;
	padding: 80px 0 160px;
}
.leadership .innerWrap {
	max-width: 1440px;
	width: 75%;
}

.leadership .secDivider {
	width: 100%;
	height: 1px;
	margin: 80px 0;
	background: #d9d9d9;
}

/* 건축 / CM 탭 */
.leadership .affTabs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 40px;
}
.leadership .affTabs .affTab {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	width: 160px;
	padding: 12px 40px;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	background: #f1f1f1;
	line-height: 1.5;
	transition:
		background 0.2s,
		color 0.2s;
}
.leadership .affTabs .affTab.on {
	color: #fff;
	background: #111;
}

.leadership .affSections {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

/* 팀 섹션 공통 */
.leadership .teamSection {
	margin: 0;
}
.leadership .teamSection .secHead {
	margin-bottom: 40px;
}
.leadership .teamSection.cofounder .secHead {
	margin-bottom: 80px;
}
.leadership .teamSection .secHead .secTitle {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #333;
	line-height: 1.25;
	letter-spacing: -0.16px;
}

.leadership .memberList {
	display: grid;
	gap: 24px;
}
.leadership .memberList.cols5 {
	grid-template-columns: repeat(5, 1fr);
}
.leadership .memberList.cols6 {
	grid-template-columns: repeat(6, 1fr);
}
.leadership .memberList > li > a {
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

/* 포토 공통 */
.leadership .memberList .photo {
	overflow: hidden;
	position: relative;
	width: 100%;
	background: #f9f9f9;
}
.leadership .memberList .photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
	filter: grayscale(100%);
	transition:
		transform 0.4s,
		filter 0.4s;
}
.leadership .memberList > li:hover .photo img {
	transform: scale(1.04);
	filter: grayscale(0%);
}

/* Co-Founder : 단체사진 + 창업 문구 */
.leadership .cofounder .founderIntro {}
.leadership .cofounder .groupPhoto {
	position: relative;
	width: 100%;
	aspect-ratio: 4096 / 2640;
	overflow: hidden;
}
.leadership .cofounder .groupPhoto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.leadership .cofounder .founderCopy {
	margin-top: 40px;
	font-family: "pretendard";
	font-weight: 500;
	position: relative;
	padding-left: 20px;
}
.leadership .cofounder .founderCopy::before {
	content: "“";
	color: #e6e6e6;
	font-size: var(--font-size-40);
	line-height: 1.3;
	position: absolute;
	left: 0;
	top: -5%;
}
.leadership .cofounder .copyTxt {
	margin: 0;
	color: #111;
	font-size: var(--font-size-20);
	line-height: 1.6;
	word-break: keep-all;
	overflow-wrap: break-word;
}
.leadership .cofounder .copyNames {
	margin: 0;
	color: #666;
	font-size: var(--font-size-24);
	line-height: 1.3;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-top: 32px;
}

/* President : 가로형 카드 */
.leadership .presidentList {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}
.leadership .presidentList > li {
	grid-column: span 2;
}
.leadership .presidentList .presidentCard {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	height: 220px;
}
.leadership .presidentList .photo {
	flex: 0 0 50%;
	width: 50%;
	height: 220px;
	background: #f1f1f1;
}
.leadership .presidentList .info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
	padding: 60px 40px 40px;
}
.leadership .presidentList .info .position {
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 400;
	color: #666;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.leadership .presidentList .info .name {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-28);
	font-weight: 600;
	color: #111;
	line-height: 1.25;
	letter-spacing: -0.16px;
}

/* Leadership */
.leadership .leadershipSec .memberList .photo {
	height: 180px;
	background: #f1f1f1;
}
.leadership .leadershipSec .memberList .info {
	padding: 12px 0;
}
.leadership .leadershipSec .memberList .info .position {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	line-height: 1.6;
}
.leadership .leadershipSec .memberList .info .name {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 600;
	color: #111;
	line-height: 1.3;
	letter-spacing: -0.24px;
}

/* Director : 텍스트만 */
.leadership .director .memberList.textOnly {
	row-gap: 24px;
}
.leadership .director .memberList .info {
	padding: 12px 24px;
}
.leadership .director .memberList .info .position {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	line-height: 1.6;
}
.leadership .director .memberList .info .name {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-28);
	font-weight: 600;
	color: #111;
	line-height: 1.3;
	letter-spacing: -0.24px;
}

/* 리더쉽 레이어 팝업 */
.leadershipPopup{
    display:none;
    position:fixed;left:0;top:0;
    width:100%;height:100%;
    z-index:200;
}
.leadershipPopup.on{display:block;}


/* dim 배경 */
.leadershipPopup .dim{
    position:absolute;left:0;top:0;
    width:100%;height:100%;
    background:rgba(42,42,42,0.7);
    cursor:pointer;
}

/* 팝업 컨트롤 영역 (좌우버튼 + 팝업 본체) */
.leadershipPopup .popCtrl{
    position:relative;
    display:flex;align-items:center;justify-content:center;gap:40px;
    width:100%;height:100%;
    pointer-events:none;
}
.leadershipPopup .popCtrl>*{pointer-events:auto;}

/* 좌우 네비게이션 버튼 (기능은 개발자 구현) */
.leadershipPopup .btnPrev,
.leadershipPopup .btnNext{
    flex:0 0 auto;
    width:40px;height:40px;
    background:transparent;border:0;cursor:pointer;
}
.leadershipPopup .btnPrev{
    background:url(/images/page/btn_prev2.png) no-repeat center / 40px;
}
.leadershipPopup .btnNext{
    background:url(/images/page/btn_next2.png) no-repeat center / 40px;
}

/* 팝업 본체 */
.leadershipPopup .popInner{
    position:relative;
    display:flex;align-items:stretch;
    width:1200px;max-width:calc(100vw - 160px);
    height:800px;max-height:calc(100vh - 80px);
    padding-left:3%;
    background:#fff;
}
/* 좌측 장식 세로선 */
.leadershipPopup .popInner::before{
    content:"";
    position:absolute;left:3%;top:0;bottom:0;
    width:1px;
    background:rgba(112,115,124,0.22);
}

/* 닫기 버튼 */
.leadershipPopup .btnClose{
    position:absolute;right:20px;top:20px;
    width:24px;height:24px;
    background:transparent;border:0;cursor:pointer;
    z-index:1;
}
.leadershipPopup .btnClose::before,
.leadershipPopup .btnClose::after{
    content:"";
    position:absolute;left:50%;top:50%;
    width:20px;height:1.5px;
    margin:-1px 0 0 -10px;
    background:#111;
}
.leadershipPopup .btnClose::before{transform:rotate(45deg);}
.leadershipPopup .btnClose::after{transform:rotate(-45deg);}

/* 팝업 본문 (우측 컨텐츠 영역) */
.leadershipPopup .popContent{
    flex:1;min-width:0;
    display:flex;flex-direction:column;gap:40px;
    padding:60px 0 80px;
}

/* 팝업 상단 : 이름 + 소속/직책 */
.leadershipPopup .popHead{
    display:flex;flex-direction:column;gap:16px;
}
.leadershipPopup .popHead::after{
    content:"";
    display:block;
    width:100%;height:1px;
    background:rgba(112,115,124,0.22);
}
.leadershipPopup .popHead .headRow{padding:0 200px 0 40px;}
.leadershipPopup .popHead .name{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-32);font-weight:500;
    color:#111;line-height:1.3;letter-spacing:-0.64px;
}
.leadershipPopup .popHead .role{
    display:flex;align-items:center;gap:16px;
}
.leadershipPopup .popHead .role .dept{
	position:relative;
	padding-right:17px;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:500;
    color:#e4007f;line-height:1.4;letter-spacing:-0.22px;
}
.leadershipPopup .popHead .role .dept::before{
    content:"";
    position:absolute;right:0;top:50%;
    width:2px;height:16px;
    margin-top:-8px;
    background:rgba(112,115,124,0.22);
}
.leadershipPopup .popHead .role .position{
    position:relative;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:500;
    color:#666;line-height:1.4;letter-spacing:-0.22px;
}


/* 팝업 본문 : 사진 + 글 */
.leadershipPopup .popBody{
    overflow:hidden;overflow-y:auto;
    padding:0 200px 0 40px;
}
.leadershipPopup .popBody .photo{
    flex:0 0 auto;
    width:260px;height:320px;
    border:1px solid rgba(112,115,124,0.22);
    background:#f5f5f5;
    overflow:hidden;
}
.leadershipPopup .popBody .photo img{
    display:block;
    width:100%;height:100%;object-fit:cover;
}

/* 본문 텍스트 영역 */
.leadershipPopup .popBody .contents{
    flex:1;min-width:0;
    display:flex;flex-direction:column;gap:40px;
    padding:20px 0;
    overflow:hidden;
}
.leadershipPopup .popBody .ctTitle{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-32);font-weight:500;
    color:#111;line-height:1.3;letter-spacing:-0.64px;
}
.leadershipPopup .popBody .ctScroll{
    flex:1;min-height:0;
    overflow-y:auto;overflow-x:hidden;
    padding-right:20px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.6;
}
.leadershipPopup .popBody::-webkit-scrollbar{width:4px;}
.leadershipPopup .popBody::-webkit-scrollbar-track{background:#ccc;border-radius:2px;}
.leadershipPopup .popBody::-webkit-scrollbar-thumb{background:#e4007f;border-radius:2px;}
.leadershipPopup .popBody .ctText p{
    margin:0 0 12px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.6;
}
.leadershipPopup .popBody .ctText p:last-child{margin-bottom:0;}






/* Career - 성장과 휴식 */
.career {
	overflow: visible;
	padding: 80px 0 160px;
}
.career .innerWrap {
	max-width: 1440px;
	width: 75%;
}
.career .pageHeading {
	margin: 0 0 80px;
	font-family: "pretendard";
	font-size: var(--font-size-56);
	font-weight: 700;
	color: #333;
	line-height: 1.2;
	letter-spacing: -0.48px;
}
.career .careerSec {
	position: relative;
}
.career .careerSec .secTitle {
	margin: 0 0 40px;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #333;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.career .secDivider {
	width: 100%;
	height: 1px;
	margin: 160px 0;
	background: #d9d9d9;
}

/* 카드 리스트 : 4열 그리드 */
.career .cardList {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.career .cardList > li {
	min-width: 0;
}
.career .cardList .card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
	height: 300px;
	padding: 40px 24px;
	background: #fff;
	border: 1px solid #e3e3e3;
}
.career .cardList .cardHead {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	word-break: keep-all;
}
.career .cardList .cardHead .num {
	flex: 0 0 30px;
	width: 30px;
	font-family: "Inter";
	font-size: var(--font-size-22);
	font-weight: 500;
	color: #111;
	line-height: 1.6;
	letter-spacing: -0.22px;
}
.career .cardList .cardHead .tit {
	flex: 1;
	min-width: 0;
	font-family: "pretendard";
	font-size: var(--font-size-28);
	font-weight: 600;
	color: #333;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.career .cardList .cardFoot {
	display: flex;
	gap: 8px;
	width: 100%;
}
.career .cardList .cardTxt {
	flex: 1;
	min-width: 0;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 400;
	color: #666;
	line-height: 1.6;
	letter-spacing: -0.24px;
	word-break: keep-all;
}
.career .cardList .cardIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 60px;
	width: 60px;
	height: 60px;
}
.career .cardList .cardIcon img {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

/* Career - 채용공고 리스트 */
.recruit {
	overflow: hidden;
	padding: 80px 0 160px;
}
.recruit .innerWrap {
	max-width: 1440px;
	width: 75%;
}

.recruit .recruitFilter {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 80px;
}
.recruit .filterTabs {
	display: flex;
	gap: 8px;
}
.recruit .filterTabs li a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	padding: 12px 40px;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	background: #f1f1f1;
	line-height: 1.5;
	transition:
		background 0.2s,
		color 0.2s;
}
.recruit .filterTabs li a:hover {
	color: #fff;
	background: #111;
}
.recruit .filterTabs li.on a {
	color: #fff;
	background: #111;
}
.recruit .searchForm {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 464px;
	padding: 16px;
	border-bottom: 1px solid rgba(112, 115, 124, 0.52);
}
.recruit .searchInput {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #111;
	line-height: 1.5;
}
.recruit .searchInput::placeholder {
	color: #666;
}
.recruit .searchInput:focus {
	outline: none;
}
.recruit .searchBtn {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border: 0;
	cursor: pointer;
	background: url(/images/page/icon_search.png) no-repeat center / cover;
}

.recruit .recruitBody {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.recruit .total {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.recruit .total strong {
	font-weight: 600;
	color: #e4007f;
}

.recruit .recruitList {
	display: flex;
	flex-direction: column;
}
.recruit .recruitList > li {
	border-top: 1px solid rgba(112, 115, 124, 0.52);
	transition: background 0.3s;
}
.recruit .recruitList > li > a {
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-sizing: border-box;
	min-height: 220px;
	padding: 40px;
}
.recruit .recruitList .tags {
	display: flex;
	align-items: center;
	gap: 10px;
}
.recruit .recruitList .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	transition: all 0.2s;
}
.recruit .recruitList .tag.type {
	background: #fff;
	border: 1px solid #d00576;
	color: #d00576;
}
.recruit .recruitList .tag.dday {
	background: #d00576;
	color: #fff;
	border: 1px solid #d00576;
}
.recruit .recruitList .tag.mute {
	background: #f1f1f1;
	border-bottom: 1px solid rgba(112, 115, 124, 0.22);
	color: #c9c9c9;
}
.recruit .recruitList .con {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
	min-height: 0;
	gap: 16px;
}
.recruit .recruitList .tit {
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 400;
	color: #111;
	line-height: 1.4;
	letter-spacing: -0.24px;
}
.recruit .recruitList .listFoot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.recruit .recruitList .date {
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}
.recruit .recruitList .date span {
	margin: 0 4px;
}
.recruit .recruitList .more {
	display: none;
	align-items: center;
	gap: 4px;
	font-family: "Inter";
	font-size: 14px;
	font-weight: 400;
	color: #fcfcfc;
	line-height: 1;
}
.recruit .recruitList .more i {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(/images/main/business_arr_viewmore.svg) no-repeat center / contain;
}

/* hover : 첫 번째 리스트 참고 디자인 */
.recruit .recruitList > li:hover {
	background: #e4007f;
}
.recruit .recruitList > li:hover .tag.type {
	background: #fff;
	border-color: #fff;
	color: #d00576;
}
.recruit .recruitList > li:hover .tag.dday {
	background: #0d0d0d;
	color: #fff;
}
.recruit .recruitList > li:hover .tag.mute {
	background: rgba(255, 255, 255, 0.15);
	border-color: transparent;
	color: #fff;
}
.recruit .recruitList > li:hover .tit {
	color: #fcfcfc;
}
.recruit .recruitList > li:hover .date {
	color: #e6e6e6;
}
.recruit .recruitList > li:hover .more {
	display: inline-flex;
}

/* Career - 채용공고 뷰 */
.recruit.view {
	padding: 0 0 160px;
}
.recruit.view .innerWrap {
	display: flex;
	flex-direction: column;
	max-width: 1440px;
	width: 75%;
}

/* 상단 헤드 : 라벨 / 제목 / 메타 + 지원 버튼·공유 */
.recruit.view .viewHead {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 40px;
	padding: 80px 120px;
	border-top: 1px solid rgba(112, 115, 124, 0.52);
	border-bottom: 1px solid rgba(112, 115, 124, 0.52);
}
.recruit.view .viewTitle {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.recruit.view .viewTitle .label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	padding: 4px 16px;
	background: #fff;
	border: 1px solid #d00576;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	color: #d00576;
	line-height: 1.5;
	text-align: center;
}
.recruit.view .viewTitle .titleWrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.recruit.view .viewTitle .title {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 500;
	color: #111;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.recruit.view .viewTitle .meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.recruit.view .viewTitle .meta .date,
.recruit.view .viewTitle .meta .status {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}
.recruit.view .viewTitle .meta .divider {
	display: inline-block;
	flex: 0 0 auto;
	width: 1px;
	height: 14px;
	background: #b0b0b0;
}

/* 우측 : 지원 버튼 + 공유 아이콘 */
.recruit.view .viewAside {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}
.recruit.view .viewActions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.recruit.view .viewActions .btnEdit,
.recruit.view .viewActions .btnApply {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	padding: 20px 24px;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	transition:
		background 0.2s,
		color 0.2s;
}
.recruit.view .viewActions .btnEdit {
	background: #f1f1f1;
	color: #333;
}
.recruit.view .viewActions .btnEdit:hover {
	background: #e4e4e4;
}
.recruit.view .viewActions .btnApply {
	background: #2a2a2a;
	color: #fff;
}
.recruit.view .viewActions .btnApply:hover {
	background: #111;
}
.recruit.view .viewTools {
	display: flex;
	align-items: center;
	gap: 16px;
}
.recruit.view .viewTools button {
	width: 24px;
	height: 24px;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
}
.recruit.view .viewTools .btnLink {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.07 0l3-3a5 5 0 1 0-7.07-7.07l-1 1'/><path d='M14 11a5 5 0 0 0-7.07 0l-3 3a5 5 0 0 0 7.07 7.07l1-1'/></svg>");
}
/* 본문 : 내용 + 이미지 */
.recruit.view .viewBody {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 80px 120px 0;
}
.recruit.view .viewDesc {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}
.recruit.view .viewDesc p {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #666;
	line-height: 1.6;
}
.recruit.view .viewDesc a {
	color: inherit;
	text-decoration: underline;
}
.recruit.view .viewImg {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1200/708;
	background: #f5f5f5;
}
.recruit.view .viewImg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* List 버튼 */
.recruit.view .btnArea {
	display: flex;
	justify-content: center;
	margin-top: 80px;
}
.recruit.view .btnArea .btnList {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 8px 24px;
	background: #e4007f;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	color: #fff;
	line-height: 1.5;
	transition: background 0.2s;
}
.recruit.view .btnArea .btnList:hover {
	background: #c2006b;
}
.recruit.view .btnArea .btnList .icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}
.recruit.view .btnArea .btnList .icon::before,
.recruit.view .btnArea .btnList .icon::after {
	content: "";
	position: absolute;
	left: 4px;
	width: 16px;
	height: 2px;
	background: #fff;
}
.recruit.view .btnArea .btnList .icon::before {
	top: 8px;
}
.recruit.view .btnArea .btnList .icon::after {
	top: 14px;
}

/* Career - 지원안내 */
.guide {
	overflow: hidden;
	padding: 80px 0 160px;
}
.guide .innerWrap {
	display: flex;
	flex-direction: column;
	gap: 160px;
	max-width: 1440px;
	width: 75%;
}
.guide .pageHead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}
.guide .pageHeading {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-56);
	font-weight: 700;
	color: #333;
	line-height: 1.2;
	letter-spacing: -0.48px;
}
.guide .guideTabs {
	display: flex;
	align-items: center;
	gap: 8px;
}
.guide .guideTabs li a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	padding: 12px 40px;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	background: #f1f1f1;
	line-height: 1.5;
	transition:
		background 0.2s,
		color 0.2s,
		border-color 0.2s;
}
.guide .guideTabs li a:hover {
	color: #fff;
	background: #111;
}
.guide .guideTabs li.on a {
	color: #fff;
	background: #111;
}
.guide.faq .guideTabs li:not(.on) a {
	background: transparent;
	border: 1px solid rgba(112, 115, 124, 0.52);
}

/* 채용프로세스 섹션 */
.guide .processSec {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}
.guide .processSec .secTitle {
	flex: 0 0 424px;
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #333;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.guide .processBody {
	flex: 1;
	width:100%;
	display: flex;
	flex-direction: column;
	gap: 80px;
}
.guide .processFlow {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0;
	padding: 40px 80px;
	list-style: none;
	border-top: 1px solid #e3e3e3;
	border-bottom: 1px solid #e3e3e3;
}
.guide .processFlow > li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 120px;
}
.guide .processFlow > li.arrow {
	width: 16px;
	height: 12px;
	justify-content: center;
	gap: 0;
	padding-top: 60px;
}
.guide .processFlow > li.arrow img {
	display: block;
	width: 24px;
	height: 24px;
}
.guide .processFlow .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: #f9f9f9;
}
.guide .processFlow .icon img {
	display: block;
	width: 40px;
	height: 40px;
}
.guide .processFlow .name {
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #333;
	line-height: 1.3;
	letter-spacing: -0.24px;
	text-align: center;
}
.guide .processDetail {
	margin: 0;
	padding: 80px 160px;
	list-style: none;
	background: #f9f9f9;
}
.guide .processDetail > li {
	display: flex;
	align-items: stretch;
	gap: 40px;
}
.guide .processDetail .stepInd {
	flex: 0 0 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.guide .processDetail .num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #333;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #fcfcfc;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.guide .processDetail .line {
	flex: 1;
	min-height: 24px;
	width: 1px;
	background: #d9d9d9;
	border: 0 solid #b0b0b0;
}
.guide .processDetail .con {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 80px;
}
.guide .processDetail > li:last-child .con {
	padding-bottom: 0;
}
.guide .processDetail .tit {
	display: flex;
	align-items: center;
	min-height: 40px;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #333;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.guide .processDetail .con p {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}

/* FAQ */
.guide .faqSec {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.guide .faqSec .secTitle {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #333;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.guide .faqList {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid #b0b0b0;
}
.guide .faqList > li {
	border-bottom: 1px solid #b3b3b3;
}
.guide .faqQ {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 60px 40px;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
}
.guide .faqQ .badge {
	flex: 0 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #0d0d0d;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #fff;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.guide .faqQ .tit {
	flex: 1;
	min-width: 0;
	padding: 0 40px;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #111;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.guide .faqQ .chevron {
	flex: 0 0 40px;
	display: block;
	width: 40px;
	height: 40px;
	background: url(/images/page/guide/chevron.svg) no-repeat center / 40px 40px;
	transform: scaleY(-1);
	transition: transform 0.2s;
}
.guide .faqList > li.open .faqQ .badge {
	background: #e4007f;
}
.guide .faqList > li.open .faqQ .tit {
	color: #e4007f;
}
.guide .faqList > li.open .faqQ .chevron {
	transform: none;
}
.guide .faqA {
	display: none;
	align-items: flex-start;
	padding: 60px 40px;
	background: #f9f9f9;
	border-top: 1px solid #b3b3b3;
}
.guide .faqList > li.open .faqA {
	display: flex;
}
.guide .faqA .badge {
	flex: 0 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 2px solid #e4007f;
	background: #fff;
	box-sizing: border-box;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #e4007f;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.guide .faqA .txt {
	flex: 1;
	min-width: 0;
	padding: 0 40px;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #333;
	line-height: 1.5;
	letter-spacing: -0.24px;	
}
.guide .faqA .txt p {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #333;
	line-height: 1.5;
	letter-spacing: -0.24px;
}

/* Career - 나의 지원현황 / 지원서 작성 (공통 폼 레이아웃) */
.page.status,
.page.apply {
	overflow: hidden;
	padding: 0 0 160px;
}
.page.status .statusWrap,
.page.apply .applyWrap {
	position: relative;
	display: flex;
	align-items: stretch;
	max-width: 1440px;
	width: 75%;
	margin: 0 auto;
	padding: 80px 0 0;
	border-top: 1px solid rgba(112, 115, 124, 0.52);
	min-height: 820px;
}
/* 로고 배경 : 뷰포트 좌측~중앙, 섹션 하단 정렬 (Figma 920x661 @ x0) */
.page.status .statusIllust,
.page.apply .applyIllust {
	position: absolute;
	left: calc((100% - 100vw) / 2);
	bottom: 0;
	width: 47.9167vw; /* 920 / 1920 */
	max-width: 920px;
	z-index: 0;
	opacity: 0.5;
	pointer-events: none;
}
.page.status .statusIllust img,
.page.apply .applyIllust img {
	display: block;
	width: 100%;
	height: auto;
}
.page.status .statusIntro,
.page.apply .applyIntro {
	position: relative;
	z-index: 1;
	flex: 0 0 680px;
	max-width: 47%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.page.status .pageHeading,
.page.apply .pageHeading {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-56);
	font-weight: 700;
	color: #111;
	line-height: 1.2;
	letter-spacing: -0.64px;
}
.page.status .pageDesc,
.page.apply .pageDesc {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	line-height: 1.6;
}

.page.status .statusFormBox,
.page.apply .applyFormBox {
	position: relative;
	z-index: 1;
	width: 58%;
	min-width: 0;
	padding: 80px 80px 40px;
	background: #f9f9f9;
}
.page.status .statusForm,
.page.apply .applyForm {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
.page.status .fieldGroup,
.page.apply .fieldGroup {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}
.page.status .field,
.page.apply .field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
.page.status .label,
.page.apply .label {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #333;
	line-height: 1.4;
}
.page.status .label em,
.page.apply .label em {
	font-style: normal;
	color: #e4007f;
}
.page.status .input,
.page.status .select,
.page.apply .input,
.page.apply .select {
	width: 100%;
	box-sizing: border-box;
	padding: 16px;
	background: #fff;
	border: 1px solid #b0b0b0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #111;
	line-height: 1.4;
}
.page.status .input::placeholder,
.page.apply .input::placeholder {
	color: #b3b3b3;
}
.page.status .input:focus,
.page.status .select:focus,
.page.apply .input:focus,
.page.apply .select:focus {
	outline: none;
	border-color: #333;
}
.page.status .emailRow,
.page.apply .emailRow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}
.page.apply .emailRow .input,
.page.apply .emailRow .selectWrap {
	width:calc((100% - 16px * 2) / 3);
	box-sizing: border-box;
}
.page.status .emailRow .input {
	flex: 1;
}
.page.status .emailRow .selectWrap{
	width: 100%;
}
.page.status .emailRow .at,
.page.apply .emailRow .at {
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #747474;
	line-height: 1.5;
}
.page.status .emailRow .input[readonly],
.page.apply .emailRow .input[readonly] {
	background: #fff;
	color: #111;
}
.page.status .selectWrap,
.page.apply .selectWrap {
	position: relative;
	width: 100%;
}
.page.status .select,
.page.apply .select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 48px;
	background: #fff url(/images/page/status/select.svg) no-repeat right 16px center / 24px 24px;
	cursor: pointer;
}
.page.apply .fieldHint {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #333;
	line-height: 1.4;
}
.page.status .formDivider,
.page.apply .formDivider {
	width: 100%;
	height: 1px;
	background: #b0b0b0;
}
.page.status .agree,
.page.apply .agree {
	width: 100%;
}
.page.status .agreeCheck,
.page.apply .agreeCheck {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	cursor: pointer;
}
.page.status .agreeCheck input,
.page.apply .agreeCheck input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.page.status .agreeCheck .box,
.page.apply .agreeCheck .box {
	flex: 0 0 24px;
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background: #fff;
	border: 1px solid #b0b0b0;
	box-sizing: border-box;
}
.page.status .agreeCheck input:checked + .box,
.page.apply .agreeCheck input:checked + .box {
	background: #e4007f url(/images/page/status/check.svg) no-repeat center / 16px 16px;
	border-color: #e4007f;
}
.page.status .agreeTxt,
.page.apply .agreeTxt {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.page.status .agreeTxt strong,
.page.apply .agreeTxt strong {
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #333;
	line-height: normal;
}
.page.apply .agreeTxt strong {
	font-weight: 600;
	line-height: 1.25;
}
.page.status .agreeDesc,
.page.apply .agreeDesc {
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.status .agreeDesc a,
.page.apply .agreeDesc a {
	color: #666;
	text-decoration: underline;
}
.page.apply .submitArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 300px;
	padding-top: 40px;
}
.page.status .btnSubmit,
.page.apply .btnSubmit {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 300px;
	padding: 20px 24px;
	background: #2a2a2a;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 600;
	color: #fff;
	line-height: 1.25;
	transition: background 0.2s;
}
.page.apply .btnSubmit {
	width: 100%;
}
.page.status .btnSubmit:hover,
.page.apply .btnSubmit:hover {
	background: #111;
}
.page.status .btnSubmit img,
.page.apply .btnSubmit img {
	display: block;
	width: 24px;
	height: 24px;
}
.page.apply .loginLink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	line-height: 1.4;
	text-align: center;
}
.page.apply .loginLink span {
	font-weight: 400;
	color: #666;
}
.page.apply .loginLink a {
	font-weight: 600;
	color: #0f0f0f;
}

/* 지원자 정보 확인 팝업 디테일(PC) — 기본 구조는 common.css */
.applyConfirmPopup .btnCancel:hover {
	background: #e8e8e8;
}
.applyConfirmPopup .btnConfirm:hover {
	background: #111;
}

/* Career - 지원서 작성(기본정보) */
.page.applyWrite {
	padding: 0 0 160px;
}
.page.applyWrite .innerWrap {
	display: flex;
	flex-direction: column;
	max-width: 1440px;
	width: 75%;
}
.page.applyWrite .writeHead {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 80px 0;
	border-top: 1px solid rgba(112, 115, 124, 0.52);
	border-bottom: 1px solid rgba(112, 115, 124, 0.52);
}
.page.applyWrite .writeHead .tags {
	display: flex;
	align-items: center;
	gap: 10px;
}
.page.applyWrite .writeHead .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}
.page.applyWrite .writeHead .tag.type {
	background: #fff;
	border: 1px solid #d00576;
	color: #d00576;
}
.page.applyWrite .writeHead .tag.dday {
	background: #d00576;
	color: #fff;
}
.page.applyWrite .writeHead .titleRow {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}
.page.applyWrite .writeHead .title {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 500;
	color: #111;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.page.applyWrite .writeHead .period {
	margin: 0;
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}
.page.applyWrite .writeHead .period span {
	margin: 0 4px;
}

.page.applyWrite .writeSteps {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 80px 0 0;
	list-style: none;
}
.page.applyWrite .writeSteps li {
	flex: 1 1 0;
	min-width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	box-sizing: border-box;
	background: #f1f1f1;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	line-height: 1.5;
	text-align: center;
}
.page.applyWrite .writeSteps li a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 12px 16px;
	font-size: var(--font-size-18);
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.page.applyWrite .writeSteps li.on {
	background: #111;
	color: #fff;
}
.page.applyWrite .writeSteps li.on a {
	color: #fff;
}

.page.applyWrite .writeForm {
	display: flex;
	flex-direction: column;
	gap: 80px;
	padding: 120px 0 0;
}
.page.applyWrite .formBox {
	display: flex;
	flex-direction: column;
	padding: 120px;
	box-sizing: border-box;
	background: #f9f9f9;
}
.page.applyWrite .formSection {
	display: flex;
	flex-direction: column;
	gap: 80px;
	width: 100%;
	margin-top:160px;
}
.page.applyWrite .formSection[hidden] {
	display: none !important;
}
.page.applyWrite .formSection:first-child{margin-top:0;}
.page.applyWrite .secHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid #b0b0b0;
}
.page.applyWrite .secTitle {
	margin: 0;
	flex: 1;
	min-width: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #0f0f0f;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.page.applyWrite .secNote {
	margin: 0;
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applyWrite .secNote em {
	font-style: normal;
	color: #e4007f;
}

.page.applyWrite .fieldRows {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
}
.page.applyWrite .fieldRow {
	display: grid;
	grid-template-columns: 1fr 3fr;
	gap: 24px;
	align-items: start;
}
.page.applyWrite .rowLabel {
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #333;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.page.applyWrite .rowFields {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}
.page.applyWrite .rowDivider {
	width: 100%;
	height: 1px;
	background: #e3e3e3;
}

.page.applyWrite .field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.page.applyWrite .fieldLabel {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #333;
	line-height: 1.4;
}
.page.applyWrite .fieldLabel em {
	font-style: normal;
	color: #e4007f;
}
.page.applyWrite .fieldHint {
	position: relative;
	padding-left: 10px;
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applyWrite .fieldHint::before {
	content: "*";
	position: absolute;
	left: 0;
	top: 0;
	font-size: var(--font-size-16);
	color: #666;
}
.page.applyWrite .fieldGrid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px 40px;
}
.page.applyWrite .fieldGrid3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 40px;
}
.page.applyWrite .fieldSpan2 {
	grid-column: 1 / -1;
}

.page.applyWrite .input,
.page.applyWrite .select,
.page.applyWrite .textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 16px;
	background: #fff;
	border: 1px solid #b0b0b0;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #111;
	line-height: 1.4;
}
.page.applyWrite .input::placeholder,
.page.applyWrite .textarea::placeholder {
	color: #999;
}
.page.applyWrite .input:focus,
.page.applyWrite .select:focus,
.page.applyWrite .textarea:focus {
	outline: none;
	border-color: #333;
}
.page.applyWrite .textarea {
	min-height: 132px;
	resize: vertical;
}
.page.applyWrite .selectWrap {
	position: relative;
	width: 100%;
}
.page.applyWrite .select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 48px;
	background: #fff url(/images/page/status/select.svg) no-repeat right 16px center / 24px 24px;
	color: #666;
}

.page.applyWrite .emailRow,
.page.applyWrite .emergencyRow,
.page.applyWrite .periodRow {
	display: flex;
	align-items: center;
	gap: 16px;
}
.page.applyWrite .emailRow .input,
.page.applyWrite .emailRow .selectWrap,
.page.applyWrite .emergencyRow .input {
	flex: 1;
	min-width: 0;
}
.page.applyWrite .emailRow .at,
.page.applyWrite .periodRow .tilde {
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	color: #111;
	line-height: 1.5;
}
/* 지원시작 시 확정된 이름·이메일: 수정 불가 스타일 */
.page.applyWrite .input.isLocked,
.page.applyWrite .input.isLocked[readonly] {
	background: #f2f2f2;
	border-color: #d9d9d9;
	color: #747474;
	cursor: default;
}
.page.applyWrite .input.isLocked:focus {
	border-color: #d9d9d9;
}
.page.applyWrite .relationSelect {
	flex: 0 0 140px;
	width: 140px;
}
.page.applyWrite .periodRow .dateWrap {
	flex: 1;
	min-width: 0;
}

.page.applyWrite .unitWrap,
.page.applyWrite .dateWrap {
	position: relative;
	width: 100%;
}
.page.applyWrite .unitWrap .input {
	padding-right: 64px;
}
.page.applyWrite .unitWrap .unit {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #111;
	line-height: 1.4;
	pointer-events: none;
}
.page.applyWrite .dateWrap .input.date {
	padding-left: 48px;
	background: #fff url(/images/page/apply/calendar.svg) no-repeat left 16px center / 24px 24px;
}
.page.applyWrite .dateWrap .input.date::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.page.applyWrite .contribRow {
	display: flex;
	align-items: center;
	gap: 40px;
}
.page.applyWrite .contribRow .radioGroup {
	flex: 1;
	min-width: 0;
}
.page.applyWrite .contribRow .unitWrap {
	flex: 1;
	min-width: 0;
}
.page.applyWrite .radioGroup {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 40px;
	padding: 16px 0;
}
.page.applyWrite .radioGroup.monthsGroup {
	padding: 8px 0 0;
}
.page.applyWrite .radio {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.page.applyWrite .radio input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.page.applyWrite .radio .mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	border: 1px solid #666;
	border-radius: 50%;
	background: #f7f7f7;
}
.page.applyWrite .radio input:checked + .mark {
	border: 1.6px solid #e4007f;
}
.page.applyWrite .radio input:checked + .mark::after {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #e4007f;
}
.page.applyWrite .radio .txt {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #333;
	line-height: 1.4;
}

.page.applyWrite .photoArea {
	display: flex;
	align-items: stretch;
	gap: 40px;
}
.page.applyWrite .photoPreview {
	flex: 0 0 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 240px;
	height: 300px;
	overflow: hidden;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #b0b0b0;
}
.page.applyWrite .photoImg {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: contain;
}
.page.applyWrite .photoImg.isUploaded {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page.applyWrite .photoInfo {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
}
.page.applyWrite .photoGuide {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.page.applyWrite .photoBtns {
	display: flex;
	align-items: center;
	gap: 16px;
}
.page.applyWrite .btnPhoto,
.page.applyWrite .btnPhotoDelete {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 40px;
	padding: 8px 24px;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
	white-space: nowrap;
}
.page.applyWrite .btnPhoto {
	gap: 16px;
	background: #e4007f;
}
.page.applyWrite .btnPhoto .icoCamera {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	background: url(/images/page/apply/camera.svg) no-repeat center / 24px 24px;
}
.page.applyWrite .btnPhotoDelete {
	background: #666;
}

.page.applyWrite .addressFields {
	gap: 40px;
}
.page.applyWrite .addressBlock {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.page.applyWrite .addressTop {
	display: flex;
	align-items: stretch;
	gap: 16px;
}
.page.applyWrite .btnAddr,
.page.applyWrite .btnSame {
	flex: 0 0 120px;
	width: 120px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 24px;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
}
.page.applyWrite .btnAddr {
	background: #e4007f;
}
.page.applyWrite .btnSame {
	background: #666;
}
.page.applyWrite .addressTop .zip {
	flex: 0 0 200px;
	width: 200px;
}
.page.applyWrite .addressTop .input:not(.zip) {
	flex: 1;
	min-width: 0;
}

.page.applyWrite .isDisabled {
	opacity: 0.45;
	pointer-events: none;
}

.page.applyWrite .writeActions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.page.applyWrite .writeActionRight {
	display: flex;
	align-items: center;
	gap: 10px;
}
.page.applyWrite .btnSave,
.page.applyWrite .btnPrev,
.page.applyWrite .btnNext {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	padding: 20px 24px;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 600;
	line-height: 1.25;
}
.page.applyWrite .btnSave,
.page.applyWrite .btnPrev {
	background: #f2f2f2;
	color: #333;
}
.page.applyWrite .btnNext {
	background: #2a2a2a;
	color: #fff;
}
.page.applyWrite .btnNext:hover {
	background: #111;
}

/* 지원서 2단계 : 반복/전공/설계점수 */
.page.applyWrite .repeatActions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	width: 100%;
	margin-top: 40px;
}
.page.applyWrite .repeatEmpty .repeatActions {
	grid-template-columns: 1fr 1fr;
	margin-top: 0;
}
.page.applyWrite .repeatEmpty .btnAddBlock {
	grid-column: 2;
}
.page.applyWrite .btnDelBlock,
.page.applyWrite .btnAddBlock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 20px 24px;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 600;
	line-height: 1.25;
}
.page.applyWrite .btnDelBlock {
	background: #f2f2f2;
	color: #333;
}
.page.applyWrite .btnAddBlock {
	background: #2a2a2a;
	color: #fff;
}
.page.applyWrite .repeatList {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
}
.page.applyWrite .repeatItem {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.page.applyWrite .repeatBody {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	padding: 0 0 24px;
	box-sizing: border-box;
	border-bottom: 1px solid #b0b0b0;
}
.page.applyWrite .repeatEmpty[hidden] {
	display: none !important;
}
.page.applyWrite .repeatEmpty {
	width: 100%;
}

.page.applyWrite .majorBlock {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}
.page.applyWrite .majorHead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #b0b0b0;
}
.page.applyWrite .majorHead .fieldLabel {
	font-size: var(--font-size-24);
}
.page.applyWrite .majorHeadBtns {
	display: flex;
	align-items: center;
	gap: 8px;
}
.page.applyWrite .btnIcon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	background: transparent;
}
.page.applyWrite .btnIcon img {
	display: block;
	width: 24px;
	height: 24px;
}
.page.applyWrite .btnIcon.reset {
	border: 1px solid #b0b0b0;
	background: #fff;
}
.page.applyWrite .btnIcon.plus,
.page.applyWrite .btnIcon.minus {
	background: #666;
}
.page.applyWrite .majorList {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
}
.page.applyWrite .majorItem {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.page.applyWrite .majorTop {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}
.page.applyWrite .majorTop .majorNameRow {
	flex: 1;
	min-width: 0;
}
.page.applyWrite .majorTop .majorNameRow .majorCourseField[hidden] {
	display: none !important;
}
.page.applyWrite .majorTop .btnMajorMinus {
	flex: 0 0 40px;
	margin-top: 32px;
}

.page.applyWrite .gradeRow {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}
.page.applyWrite .gradeRow .input {
	flex: 0 0 192px;
	width: 192px;
}
.page.applyWrite .gradeRow .slash {
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 400;
	color: #111;
	line-height: 1.5;
}
.page.applyWrite .gradeRow .scaleSelect {
	flex: 0 0 192px;
	width: 192px;
}

.page.applyWrite .scoreFields {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.page.applyWrite .scoreList {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.page.applyWrite .scoreRow {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
	align-items: center;
	padding-bottom: 24px;
	border-bottom: 1px solid #b0b0b0;
}
.page.applyWrite .scoreGradeRow {
	display: flex;
	align-items: center;
	gap: 12px;
}
.page.applyWrite .scoreGradeRow .input {
	flex: 0 0 192px;
	width: 192px;
}
.page.applyWrite .scoreGradeRow .selectWrap {
	flex: 1;
	width: 193px;
}
.page.applyWrite .scoreGradeRow .selectWrap .input {
	flex: none;
	width: 100%;
}
.page.applyWrite .scoreTotal {
	max-width: 415.06px;
	padding-top: 16px;
}
.page.applyWrite .scoreTotal .input {
	flex: 0 0 192px;
	width: 192px;
}
.page.applyWrite .scoreTotal .selectWrap {
	flex: 0 0 192px;
	width: 192px;
}
.page.applyWrite .rowLabel .fieldHint {
	position: relative;
	padding-left: 10px;
	margin-top: 8px;
}

/* 자기소개서 / 역량기술서 */
.page.applyEssay .essayField {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
.page.applyEssay .essayTextarea {
	min-height: 240px;
	height: 240px;
	resize: vertical;
}
.page.applyEssay .essayMeta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}
.page.applyEssay .essayGuide {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applyEssay .essayCount {
	margin: 0;
	flex: 0 0 auto;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	font-weight: 400;
	color: #333;
	line-height: 1.4;
}
.page.applyEssay .essayCountNum {
	font-style: normal;
	color: #e4007f;
}
.page.applyEssay .essayCountMax {
	color: #333;
}
.page.applyEssay .essayError {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	font-weight: 400;
	color: #e4007f;
	line-height: 1.4;
}
.page.applyEssay .essayError[hidden] {
	display: none !important;
}
.page.applyEssay .essayField.isInvalid .essayTextarea {
	border-color: #e4007f;
}

/* 포트폴리오 / 기타증빙서류 */
.page.applyEssay .portfolioField {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.page.applyEssay .portfolioDrop {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 16px;
	border: 1px dashed #b0b0b0;
	background: #fff;
	cursor: pointer;
}
.page.applyEssay .portfolioDrop.isDragover {
	border-color: #e4007f;
	background: #fff7fb;
}
.page.applyEssay .portfolioDrop.isDisabled {
	opacity: 0.45;
	pointer-events: none;
}
.page.applyEssay .portfolioDropIcon {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.page.applyEssay .portfolioDropTxt {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}
.page.applyEssay .portfolioList {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}
.page.applyEssay .portfolioList:empty {
	display: none;
}
.page.applyEssay .portfolioItem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	padding: 16px 24px;
	background: #fff;
	border: 1px solid #ccc;
}
.page.applyEssay .portfolioItemMain {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.page.applyEssay .portfolioItemIcon {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.page.applyEssay .portfolioItemMeta {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	min-width: 0;
}
.page.applyEssay .portfolioItemName {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applyEssay a.portfolioItemName {
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.page.applyEssay a.portfolioItemName:hover {
	color: #0f0f0f;
}
.page.applyEssay .portfolioItemSize {
	flex-shrink: 0;
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applyEssay .portfolioItemRemove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}
.page.applyEssay .portfolioItemRemove img {
	display: block;
	width: 12px;
	height: 12px;
}
.page.applyEssay .portfolioError {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	font-weight: 400;
	color: #e4007f;
	line-height: 1.4;
}
.page.applyEssay .portfolioError[hidden] {
	display: none !important;
}
.page.applyEssay .portfolioField.isInvalid .portfolioDrop {
	border-color: #e4007f;
}
.page.applyEssay .portfoliotipText {
	margin: 0 0 14px;
	font-family: "pretendard";
	font-size: var(--font-size-14);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}

.page.applyEssay .essayAgree {
	margin-top: 80px;
	padding-top: 40px;
	border-top: 1px solid #b0b0b0;
}
.page.applyEssay .agreeCheck {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	cursor: pointer;
}
.page.applyEssay .agreeCheck input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.page.applyEssay .agreeCheck .box {
	flex: 0 0 24px;
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background: #fff;
	border: 1px solid #b0b0b0;
	box-sizing: border-box;
}
.page.applyEssay .agreeCheck input:checked + .box {
	background: #e4007f url(/images/page/status/check.svg) no-repeat center / 16px 16px;
	border-color: #e4007f;
}
.page.applyEssay .agreeTxt {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.page.applyEssay .agreeTxt strong {
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #333;
	line-height: 1.6;
}
.page.applyEssay .agreeDesc {
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #666;
	line-height: 1.6;
}

/* 최종 제출(리뷰) */
.page.applySubmit .reviewSec {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
	margin-top:80px;
}
.page.applySubmit .reviewSec:first-child{margin-top:0;}
.page.applySubmit .reviewHead {
	padding-bottom: 24px;
	border-bottom: 1px solid #b0b0b0;
}
.page.applySubmit .reviewTitle {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #0f0f0f;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.page.applySubmit .reviewBlock {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}
.page.applySubmit .reviewSubTitle {
	margin: 0;
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #333;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
/* 대학교: 학교정보 / 전공 테이블 분리, 대학 복수 건은 구분선 */
.page.applySubmit .reviewUnivList {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.page.applySubmit .reviewUnivItem {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}
.page.applySubmit .reviewUnivItem + .reviewUnivItem {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #e3e3e3;
}
.page.applySubmit .rvTableMajor th:first-child,
.page.applySubmit .rvTableMajor td:first-child {
	width: 33.333%;
}
.page.applySubmit .rvTableMajor th:not(:first-child),
.page.applySubmit .rvTableMajor td:not(:first-child) {
	width: 16.666%;
}
/* 프로젝트 경력: 프로젝트명 3칸 + 기간/건축물용도/작품구분 각 1칸 */
.page.applySubmit .rvTableProject th:first-child,
.page.applySubmit .rvTableProject td:first-child {
	width: 50%;
}
.page.applySubmit .rvTableProject th:not(:first-child),
.page.applySubmit .rvTableProject td:not(:first-child) {
	width: 16.666%;
}
.page.applySubmit .rvContrib {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.page.applySubmit .reviewProfile {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	align-items: start;
}
.page.applySubmit .reviewPhoto {
	position: relative;
	width: 240px;
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #b0b0b0;
	overflow: hidden;
	box-sizing: border-box;
}
.page.applySubmit .reviewPhoto .photoImg {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: contain;
}
.page.applySubmit .reviewPhoto .photoImg.isUploaded {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page.applySubmit .reviewProfileInfo {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}
.page.applySubmit .reviewNameRow {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
}
.page.applySubmit .reviewName {
	font-family: "pretendard";
	font-size: var(--font-size-32);
	font-weight: 600;
	color: #111;
	line-height: 1.25;
	letter-spacing: -0.16px;
}
.page.applySubmit .reviewNameRow span {
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #666;
	line-height: 1.6;
}
.page.applySubmit .reviewInfoList {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page.applySubmit .reviewInfoList li {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}
.page.applySubmit .reviewInfoList .lab {
	flex: 0 0 100px;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}
.page.applySubmit .reviewInfoList .lab::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 20px;
	margin-left: 16px;
	background: rgba(112, 115, 124, 0.22);
	vertical-align: middle;
}
.page.applySubmit .reviewInfoList .val {
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #111;
	line-height: 1.4;
}
.page.applySubmit .rvTable {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.page.applySubmit .rvTable th,
.page.applySubmit .rvTable td {
	padding: 16px;
	border: 1px solid #ccc;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	vertical-align: middle;
	word-break: keep-all;
}
.page.applySubmit .rvTable th {
	width: 200px;
	background: #f1f1f1;
	color: #999;
}
.page.applySubmit .rvTable thead th {
	width: auto;
	color: #999;
	background: #f1f1f1;
}
.page.applySubmit .rvTable td {
	color: #111;
	background: #fff;
}
.page.applySubmit .rvTableScore th,
.page.applySubmit .rvTableScore td {
	width: 16.666%;
}
.page.applySubmit .rvTableTotal {
	width: auto;
	max-width: 100%;
	margin-top: 0;
}
.page.applySubmit .rvTableTotal th,
.page.applySubmit .rvTableTotal td {
	width: 200px;
}
.page.applySubmit .essayReview {
	width: 100%;
}
.page.applySubmit .essayReviewQ {
	padding: 16px;
	border: 1px solid #ccc;
	background: #f1f1f1;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #0f0f0f;
	line-height: 1.4;
}
.page.applySubmit .essayReviewA {
	padding: 16px;
	border: 1px solid #ccc;
	border-top: 0;
	background: #fff;
	font-family: "pretendard";
	font-size: var(--font-size-18);
	font-weight: 400;
	color: #333;
	line-height: 1.4;
	white-space: pre-wrap;
}
.page.applySubmit .reviewAgree {
	padding-top: 40px;
	border-top: 1px solid #b0b0b0;
}
.page.applySubmit .agreeCheck {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	cursor: pointer;
}
.page.applySubmit .agreeCheck input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.page.applySubmit .agreeCheck .box {
	flex: 0 0 24px;
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background: #fff;
	border: 1px solid #b0b0b0;
	box-sizing: border-box;
}
.page.applySubmit .agreeCheck input:checked + .box {
	background: #e4007f url(/images/page/status/check.svg) no-repeat center / 16px 16px;
	border-color: #e4007f;
}
.page.applySubmit .agreeTxt {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.page.applySubmit .agreeTxt strong {
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 500;
	color: #333;
	line-height: 1.6;
}
.page.applySubmit .agreeDesc {
	font-family: "pretendard";
	font-size: var(--font-size-16);
	font-weight: 400;
	color: #666;
	line-height: 1.4;
}
.page.applySubmit .submitActions {
	justify-content: space-between;
}
.page.applySubmit .submitActionLeft,
.page.applySubmit .submitActionRight {
	display: flex;
	align-items: center;
	gap: 10px;
}
.page.applySubmit .btnPdf {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 240px;
	padding: 20px 24px;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	background: #e4007f;
	color: #fff;
	font-family: "pretendard";
	font-size: var(--font-size-20);
	font-weight: 600;
	line-height: 1.25;
}
.page.applySubmit .btnPdf:disabled {
	opacity: 0.6;
	cursor: wait;
}
.page.applySubmit .btnPdf img {
	display: block;
	width: 24px;
	height: 24px;
}
.page.applySubmit .btnPrint {
	background: #2a2a2a;
}
.page.applySubmit .btnPrint:hover {
	background: #111;
}

/* 어학/자격 반복 블록 */
.page.applyWrite .extraList {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
}
.page.applyWrite .extraItem {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.page.applyWrite .extraItemHead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}
.page.applyWrite .extraTitle {
	font-family: "pretendard";
	font-size: var(--font-size-24);
	font-weight: 500;
	color: #333;
	line-height: 1.3;
	letter-spacing: -0.24px;
}
.page.applyWrite .extraTitle[hidden] {
	display: none !important;
}
.page.applyWrite .extraHeadBtns {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-left: auto;
}
.page.applyWrite .btnIcon.close {
	border: 1px solid #b0b0b0;
	background: #fff;
}
.page.applyWrite .btnIcon.close[hidden],
.page.applyWrite .btnIcon.plus[hidden] {
	display: none !important;
}
.page.applyWrite .extraItemBody {
	padding: 24px 0;
	border-top: 1px solid #b0b0b0;
	border-bottom: 1px solid #b0b0b0;
}
.page.applyWrite .levelRow {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}
.page.applyWrite .levelRow .selectWrap {
	flex: 1;
	min-width: 0;
}

/* 토문 CI */
.ci{overflow:hidden;padding:160px 0;}

/* 공통 : 좌측 라벨 + 우측 컨텐츠 행 */
.ci .ciRow{
    margin-bottom:160px;
}
.ci .ciRow:last-child{margin-bottom:0;}
.ci .ciLabel{
    flex:0 0 424px;
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-24);font-weight:500;
    color:#111;line-height:1.4;letter-spacing:-0.24px;
}
.ci .ciContent{
    margin-top:40px;
}
.ci .ciDesc{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#666;line-height:1.5;
}

/* Image Character */
.ci .ciVisual{
    overflow:hidden;position:relative;
    width:100%;aspect-ratio:900/350;
    background:#f5f5f5;
    margin-bottom:24px;
}
.ci .ciVisual img{
    position:absolute;left:0;top:0;
    width:100%;height:100%;object-fit:cover;
}

/* 다운로드 버튼 그룹 */
.ci .ciDownloads{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.ci .ciDownloads .btnDownload{
    flex:1;
    display:flex;align-items:center;justify-content:space-between;gap:40px;
    padding:16px 24px;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:400;
    color:#666;line-height:1.4;letter-spacing:-0.22px;
    background:#fff;
    border-bottom:1px solid rgba(112,115,124,0.52);
    transition:background 0.2s, color 0.2s, border-color 0.2s;
}
.ci .ciDownloads .btnDownload .icon{
    display:inline-block;
    width:24px;height:24px;
    background:url(/images/page/icon_down1.png) no-repeat center / cover;
    transition:background-image 0.2s;
}
.ci .ciDownloads .btnDownload.on,
.ci .ciDownloads .btnDownload:hover{
    color:#fff;background:#2a2a2a;border-bottom-color:transparent;
    font-weight:500;
}
.ci .ciDownloads .btnDownload.on .icon,
.ci .ciDownloads .btnDownload:hover .icon{
    background:url(/images/page/icon_down2.png) no-repeat center / cover;
}

/* Logo Type */
.ci .logoTypes{
    display:flex;align-items:stretch;
    border-top:1px solid rgba(112,115,124,0.22);
    border-bottom:1px solid rgba(112,115,124,0.22);
}
.ci .logoTypes>li{
    flex:1;min-width:0;
    display:flex;flex-direction:column;gap:24px;
    padding:24px;
    border-left:1px solid rgba(112,115,124,0.22);
}
.ci .logoTypes>li:first-child{border-left:0;}
.ci .logoTypes .logoImg{
    display:flex;align-items:center;justify-content:center;
    width:100%;height:120px;padding:10px;
    background:#fff;
}
.ci .logoTypes .logoImg img{
    max-width:100%;max-height:100%;object-fit:contain;
}
.ci .logoTypes .logoName{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.5;
}

/* Color */
.ci .colorPalette{
    display:flex;flex-direction:column;gap:24px;
    height:400px;
}
.ci .colorMain,
.ci .colorItem{
    display:flex;flex-direction:column;justify-content:space-between;
    padding:24px;
    color:#fff;
}
.ci .colorMain{
    flex:1;min-height:0;
    width:100%;
}
.ci .colorSub{
    flex:1;min-height:0;
    display:flex;gap:24px;align-items:stretch;
}
.ci .colorSub .colorItem{
    flex:1;min-width:0;
    height:100%;
}
.ci .colorName{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:500;
    color:#fff;line-height:1.4;letter-spacing:-0.22px;
}
.ci .colorValue p{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#fff;line-height:1.5;
}






/* 토문 NEWS */
.news{overflow:hidden;padding:80px 0 160px;}

/* 상단 필터 + 검색 */
.news .newsFilter{
    display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;
    margin-bottom:80px;
}
.news .filterTabs{
    display:flex;gap:8px;
}
.news .filterTabs li a{
    display:flex;align-items:center;justify-content:center;
    min-width:80px;padding:8px 40px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#666;background:#f1f1f1;line-height:1.5;
    transition:background 0.2s, color 0.2s;
}
.news .filterTabs li.on a{color:#fff;background:#111;}

/* 필터 우측 영역 */
.news .filterRight{
    display:flex;align-items:flex-end;justify-content:flex-end;gap:24px;    
}
.news .filterRight.w100{width:100%;}

/* 카테고리 셀렉트 */
.news .categorySelect{display:none;position:relative;width:464px;}
.news .categorySelect .selBtn{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;padding:16px;
    background:transparent;border:0;
    border-bottom:1px solid rgba(112,115,124,0.52);
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#999;line-height:1.5;
    cursor:pointer;
}
.news .categorySelect .selBtn .caret{
    display:inline-block;width:10px;height:10px;margin-top:-4px;
    border-right:1px solid #444;border-bottom:1px solid #444;
    transform:rotate(45deg);
    transition:transform 0.2s;
}
.news .categorySelect.on .selBtn .caret{
    margin-top:2px;
    transform:rotate(-135deg);
}
.news .categorySelect .selList{
    display:none;
    position:absolute;left:0;right:0;top:100%;
    background:#fff;
    border:1px solid rgba(112,115,124,0.22);
    z-index:10;
}
.news .categorySelect.on .selList{display:block;}
.news .categorySelect .selList li a{
    display:block;padding:12px 16px;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.5;
}
.news .categorySelect .selList li a:hover{background:#f5f5f5;color:#111;}

/* 검색 */
.news .searchForm{
    position:relative;
    display:flex;align-items:center;gap:8px;
    width:464px;padding:0 8px;
    border-bottom:1px solid rgba(112,115,124,0.52);
}
.news .searchInput{
    flex:1;min-width:0;
    padding:16px 0;
    background:transparent;border:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:500;
    color:#111;line-height:1.5;
}
.news .searchInput::placeholder{color:#999;}
.news .searchInput:focus{outline:none;}
.news .searchBtn{
    flex:0 0 auto;
    border:0;cursor:pointer;
    width:32px;height:32px;
	background:url(/images/page/icon_search.png) no-repeat center / cover;

}

/* 공지사항 : 리스트 타입 */
.news .noticeList{border-top:0;}
.news .noticeList>li{margin-bottom:40px;transition:all 0.4s;}
.news .noticeList>li>a{
    position:relative;
    display:flex;align-items:stretch;justify-content:space-between;gap:40px;
    min-height:180px;
}
.news .noticeList .inner{
    position:relative;
    display:flex;flex-direction:column;gap:24px;
    width:70%;
    padding:24px 40px 24px 0;
    border-top:1px solid rgba(112,115,124,0.52);
}
.news .noticeList>li:first-child{border-top:1px solid rgba(112,115,124,0.52);}
.news .noticeList>li:first-child .inner{border:0;}
.news .noticeList .cate{
    display:inline-block;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:400;
    color:#666;line-height:1.4;letter-spacing:-0.22px;
}
.news .noticeList .titleWrap{
    display:flex;flex-wrap:wrap;align-content:space-between;
	width:100%;height:100%;
}
.news .noticeList .title{
    margin:0;
	width:100%;
    font-family:"pretendard";font-size:var(--font-size-24);font-weight:400;
    color:#111;line-height:1.4;letter-spacing:-0.24px;
    display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;
    overflow:hidden;text-overflow:ellipsis;
	transition:all 0.4s;
}
.news .noticeList .date{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-16);font-weight:400;
    color:#999;line-height:1.4;
	transition:all 0.4s;
}
.news .noticeList .thumb{
    flex:0 0 auto;
    width:212px;height:180px;
    overflow:hidden;background:#f5f5f5;
}
.news .noticeList .thumb img{
    display:block;
    width:100%;height:100%;object-fit:cover;
}
.news .noticeList .inner .arrow{display:none;}
.news .noticeList .arr{
	position:absolute;right:40px;bottom:40px;
	display:flex;align-items:center;gap:4px;
}
.news .noticeList .arr span{
	font-family: Inter;font-size:14px;color:#fcfcfc;
}
.news .noticeList .arr i{
	display:block;
	width:24px;height:24px;
	background:url(/images/main/more_arr3.png) no-repeat center / cover;
}



/* 공지사항 : 첫 번째(강조) 아이템 */
.news .noticeList>li:hover{background:#e4007f;}
.news .noticeList>li .inner .arrow{
    display:block;
    position:absolute;right:40px;bottom:24px;
    width:40px;height:40px;
    background:url(/images/page/news_arr1.png) no-repeat center / 24px 24px;
}
.news .noticeList>li:hover .title{color:#fff;padding-left:40px;}
.news .noticeList>li:hover .date{color:#e6e6e6;padding-left:40px;}



/* 토문소식 / 포럼 : 카드 그리드 타입 */
.news .newsCards{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:40px 24px;
}
.news .newsCards>li{
    padding-bottom:40px;
    border-bottom:1px solid rgba(112,115,124,0.22);
	transition:all 0.4s;
}
.news .newsCards>li:hover{
    background:#e4007f;
    border-bottom:1px solid rgba(112,115,124,0.52);
}
.news .newsCards>li>a{
    display:flex;flex-direction:column;gap:40px;	
}
.news .newsCards .thumb{
    position:relative;overflow:hidden;
    width:100%;height:395px;
    background:#f5f5f5;
}
.news .newsCards .thumb img{
    display:block;
    width:100%;height:100%;object-fit:cover;
    transition:transform 0.4s;
}
.news .newsCards>li:hover .thumb img{transform:scale(1.04);}
.news .newsCards .thumb .arrow{
    position:absolute;left:0;top:0;
    width:40px;height:40px;
    background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M7 17L17 7'/><path d='M9 7h8v8'/></svg>") no-repeat center / 24px 24px;
}
.news .newsCards .txt{
    display:flex;flex-direction:column;gap:16px;
	position:relative;
	transition:all 0.4s;
}
.news .newsCards>li:not(.featured) .txt{padding:0;}
.news .newsCards .badge{
    display:inline-flex;align-items:center;justify-content:center;
    align-self:flex-start;
    font-family:"pretendard";font-size:var(--font-size-16);font-weight:500;
    color:#666;line-height:1.5;
    display:none;
}
.news .newsCards .title{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-24);font-weight:400;
    color:#111;line-height:1.4;letter-spacing:-0.24px;
    display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;text-overflow:ellipsis;
	transition:all 0.4s;
		height: calc((var(--font-size-24) * 1.4) * 2);
}
.news .newsCards .date{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-16);font-weight:400;
    color:#999;line-height:1.4;
	transition:all 0.4s;
}
.news .newsCards .arr{
	position:absolute;right:24px;bottom:0;
	display:flex;align-items:center;gap:4px;
	opacity:0;transition:all 0.4s;
}
.news .newsCards .arr span{
	font-family: Inter;font-size:14px;color:#fcfcfc;
}
.news .newsCards .arr i{
	display:block;
	width:24px;height:24px;
	background:url(/images/main/more_arr3.png) no-repeat center / cover;
}


.news .newsCards>li:hover .txt{padding:0 24px;}
.news .newsCards>li:hover .badge{color:#fcfcfc;}
.news .newsCards>li:hover .title{color:#fff;}
.news .newsCards>li:hover .date{color:#f3f3f3;}
.news .newsCards>li:hover .arr{opacity:1;}




/* 뉴스 상세 뷰 */
.news.view{padding:0 0 160px;}
.news.view .innerWrap{display:flex;flex-direction:column;gap:80px;}

/* 상단 헤드 : 카테고리 / 제목 / 날짜 + 아이콘 */
.news.view .viewHead{
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
    padding:80px 120px;
    border-top:1px solid rgba(112,115,124,0.52);
    border-bottom:1px solid rgba(112,115,124,0.52);
}
.news.view .viewTitle{
    flex:1;min-width:0;
    display:flex;flex-direction:column;gap:32px;
}
.news.view .viewTitle .cate{
    display:inline-block;
    font-family:"pretendard";font-size:var(--font-size-22);font-weight:400;
    color:#666;line-height:1.4;letter-spacing:-0.22px;
}
.news.view .viewTitle .titleWrap{
    display:flex;flex-direction:column;gap:16px;
}
.news.view .viewTitle .title{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-28);font-weight:400;
    color:#111;line-height:1.5;letter-spacing:-0.56px;
}
.news.view .viewTitle .date{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-16);font-weight:400;
    color:#999;line-height:1.4;
}

/* 상단 우측 기능 아이콘 */
.news.view .viewTools{
    flex:0 0 auto;
    display:flex;align-items:center;gap:16px;
}
.news.view .viewTools button{
    width:24px;height:24px;padding:0;
    background:transparent;border:0;cursor:pointer;
    background-repeat:no-repeat;background-position:center;background-size:20px 20px;
}
.news.view .viewTools .btnLink{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.07 0l3-3a5 5 0 1 0-7.07-7.07l-1 1'/><path d='M14 11a5 5 0 0 0-7.07 0l-3 3a5 5 0 0 0 7.07 7.07l1-1'/></svg>");
}
/* 본문 : 내용 + 이미지 */
.news.view .viewBody{
    display:flex;flex-direction:column;gap:40px;
    padding:0 120px;
}
.news.view .viewDesc p{
    margin:0;
    font-family:"pretendard";font-size:var(--font-size-18);font-weight:400;
    color:#666;line-height:1.6;
}
.news.view .viewImg{
    overflow:hidden;
    width:100%;aspect-ratio:1200/708;
    background:#f5f5f5;
}
.news.view .viewImg img{
    display:block;
    width:100%;height:100%;object-fit:cover;
}

/* List 버튼 */
.news.view .btnArea{
    display:flex;justify-content:center;
}
.news.view .btnListPk{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:80px;padding:2px 40px;min-height:34px;
    background:#d00576;
    font-family:"pretendard";font-size:var(--font-size-20);font-weight:400;
    color:#fff;line-height:1.5;
    transition:background 0.2s;
}
.news.view .btnListPk:hover{background:#a40260;}







/* 페이지네이션 */
.paging{
	margin-top:80px;
    display:flex;align-items:center;justify-content:center;gap:16px;
	text-align:center;
}
.paging a{
	display:inline-block;vertical-align:top;box-sizing:border-box;
	width:48px;height:48px;
    border-radius:50%;
	color:#c4c4c4;font-size:22px;line-height:48px;font-weight:600;
}
.paging strong{
	display:inline-block;vertical-align:top;box-sizing:border-box;
	width:48px;height:48px;
	border-radius:50%;
	background:#e4007f;
	color:#fff;font-size:22px;line-height:48px;font-weight:600;
}
.paging .page_begin{
	width:32px;height:32px;
	background:url(/images/common/page_begin.png) no-repeat center / cover;
	border:0;
}
.paging .page_prev{
	width:32px;height:32px;
	background:url(/images/common/page_prev.png) no-repeat center / cover;
	border:0;margin-right:20px;
}
.paging .page_next{
	width:32px;height:32px;
	background:url(/images/common/page_next.png) no-repeat center / cover;
	border:0;margin-left:20px;
}
.paging .page_end{
	width:32px;height:32px;
	background:url(/images/common/page_end.png) no-repeat center / cover;
	border:0;
}
/* ==============================
 * TABLET (813px-1399px)
 * ============================== */
.pageTitle1{padding:100px 0 56px;}
.pageTitle1 h2{font-size:var(--font-size-24);}
.pageTabs li a{font-size:var(--font-size-18);}
.pageTitle2 .innerWrap{padding:56px 5vw;}
.pageTitle2 h3{font-size:var(--font-size-56);}
.pageTitle2 h3.depth2{margin-bottom:48px;font-size:var(--font-size-40);}
.pageTitle2 p{margin-top:28px;font-size:var(--font-size-20);}
.page{padding:56px 0 120px;}

.page.project .filterArea{margin-bottom:56px;}
.page.project .filterArea .filterTop{margin-bottom:28px;}
.page.project .filterArea .filterTop .selected{width:calc(100% - 280px);}
.page.project .projectList{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:56px;}
.page.project .projectList>li .info .tit{height:58px;}

.projectView .detailSection .infoGrid{grid-template-columns:repeat(2,1fr);gap:24px;}
.projectView.cm .cmContainer{flex-direction:column;}
.projectView.cm .cmLeft{width:100%;padding:0 5vw 40px;}
.projectView.cm .cmRight{position:relative;width:100%;height:auto;max-height:none;overflow:visible;padding:0 5vw;}

.service .sec1 .txt1,
.service .sec1 .txt2{font-size:180px;}
.service .sec2{padding:120px 0 0;}
.serviceTabs{margin-bottom:56px;}
.service .sec2TabconWrap .tabcon>div{flex-direction:column;gap:40px;}
.service .sec2TabconWrap .tabcon .title{width:100%;}
.service .sec2TabconWrap .tabcon .txts{width:100%;}
.service .relatedContent>div{padding:120px 0 0;}
.service .relatedContent>div .rcList{margin-top:56px;}
.service .relatedContent>div .rcList ul li{width:calc(50% - 12px);}

.aboutus h3{font-size:var(--font-size-44);}
.aboutus .sec1{padding:56px 0;}
.aboutus .sec1 .imgArea{clip-path:inset(15% 32% 15% 32%);-webkit-clip-path:inset(15% 32% 15% 32%);}
.aboutus .sec2{padding:100px 0;}
.aboutus .sec2 .conWrap{padding:80px 0;}
.aboutus .sec2 .conWrap>div{font-size:var(--font-size-56);}
.aboutus .sec2 .slg{font-size:var(--font-size-36);}
.aboutus .sec3{padding:100px 0;}
.aboutus .sec3 h3{margin-bottom:56px;}
.aboutus .aboutusVision{flex-direction:column;}
.aboutus .aboutusVision__aside{padding-left:0;padding-top:48px;}
.aboutus .aboutusVision__board{min-height:420px;padding:48px 40px;}
.aboutus .aboutusVision__weone>div span{font-size:var(--font-size-110);}
.aboutus .aboutusVision__list{min-height:0;justify-content:flex-start;}
.aboutus .sec4.aboutusCv{padding:100px 0;}
.aboutus .aboutusCv__card{flex:0 0 400px;width:400px;max-width:min(400px,calc(100vw - 48px));min-height:480px;padding:48px 32px;gap:80px;}
.aboutus .aboutusCv__cardBody{gap:32px;}

.ci{padding:100px 0;}
.ci .ciRow{margin-bottom:80px;}
.ci .ciLabel{flex:0 0 280px;}

.history .sec1 .txt1,
.history .sec1 .txt2{font-size:180px;}

.page.contact .contactDisplayTit{font-size:var(--font-size-56);}
.page.contact .contactDirections{padding-top:56px;}
.page.contact .contactDirections__body{margin-top:56px;}
.page.contact .contactDirections__titles{padding:48px 0 20px;}
.page.contact .contactMapBlock .kko a{right:24px;bottom:24px;width:190px;height:44px;}

.leadership{padding:64px 0 100px;overflow:visible;}
.leadership .innerWrap{width:90%;max-width:none;}
.leadership .secDivider{margin:56px 0;}
.leadership .affTabs{margin-bottom:32px;flex-wrap:wrap;}
.leadership .affTabs .affTab{width:auto;min-width:120px;padding:12px 32px;white-space:nowrap;}
.leadership .affSections{gap:56px;}
.leadership .teamSection .secHead{margin-bottom:32px;}
.leadership .teamSection.cofounder .secHead{margin-bottom:48px;}
.leadership .memberList.cols5,
.leadership .memberList.cols6{grid-template-columns:repeat(3,minmax(0,1fr));}
.leadership .cofounder .copyTxt{font-size:var(--font-size-20);}
.leadership .cofounder .copyNames{font-size:var(--font-size-24);}
.leadership .memberList .photo img{object-position:center center;}
.leadership .presidentList{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.leadership .presidentList>li{grid-column:auto;min-width:0;}
.leadership .presidentList .presidentCard{height:auto;min-width:0;}
.leadership .presidentList .photo{flex:0 0 50%;width:50%;height:auto;aspect-ratio:278/220;min-width:0;}
.leadership .presidentList .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
.leadership .presidentList .info{padding:28px 20px 24px;}
.leadership .presidentList .info .position{font-size:var(--font-size-20);}
.leadership .presidentList .info .name{font-size:var(--font-size-24);}
.leadership .leadershipSec .memberList .photo{height:auto;aspect-ratio:218/180;}
.leadership .leadershipSec .memberList .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
.leadership .leadershipSec .memberList .info{padding:12px 0;}
.leadership .leadershipSec .memberList .info .name{font-size:var(--font-size-22);}
.leadership .director .memberList .info{padding:12px 16px;}
.leadership .director .memberList .info .name{font-size:var(--font-size-22);}

.leadershipView .viewWrap{padding-left:4%;}
.leadershipView .viewInner{
	min-height:0;
	padding:72px 6% 100px 4%;
	gap:56px;
}
.leadershipView .viewBody{gap:48px;}
.leadershipView .viewBody .photo{max-height:480px;}
.leadershipView .viewBody .profile .name{font-size:var(--font-size-28);}
.leadershipView .viewBody .profile .meta .position,
.leadershipView .viewBody .profile .meta .dept{font-size:var(--font-size-20);}
.leadershipView .viewBody .ctScroll{height:400px;}

.career{padding:64px 0 100px;overflow:visible;}
.career .innerWrap{width:90%;max-width:none;}
.career .pageHeading{margin-bottom:80px;font-size:var(--font-size-40);}
.career .careerSec .secTitle{font-size:var(--font-size-28);margin-bottom:32px;}
.career .secDivider{margin:80px 0;}
.career .cardList{grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;}
.career .cardList .card{height:280px;padding:36px 24px;}
.career .cardList .cardHead .tit{font-size:var(--font-size-28);}
.career .cardList .cardTxt{font-size:var(--font-size-18);}
.career .cardList .cardIcon{flex:0 0 52px;width:52px;height:52px;}
.career .cardList .cardIcon img{width:36px;height:36px;}

.recruit{padding:64px 0 100px;}
.recruit .innerWrap{width:90%;max-width:none;}
.recruit .recruitFilter{margin-bottom:56px;flex-wrap:wrap;}
.recruit .searchForm{width:100%;max-width:464px;}
.recruit .recruitList>li>a{min-height:180px;padding:32px;}
.recruit .recruitList .tit{font-size:var(--font-size-22);}
.recruit .recruitList .more i{width:16px;height:16px;}

/* Career - 채용공고 뷰 */
.recruit.view{padding:0 0 100px;}
.recruit.view .innerWrap{width:90%;max-width:none;gap:64px;}
.recruit.view .viewHead{
	flex-wrap:wrap;gap:32px;
	padding:56px 0;
}
.recruit.view .viewTitle{gap:24px;min-width:0;}
.recruit.view .viewTitle .title{font-size:var(--font-size-28);word-break:keep-all;}
.recruit.view .viewAside{
	width:100%;
	flex-direction:row;align-items:center;justify-content:space-between;
}
.recruit.view .viewActions .btnEdit,
.recruit.view .viewActions .btnApply{width:160px;padding:16px 20px;}
.recruit.view .viewBody{padding:56px 0 0;}
.recruit.view .viewDesc img,
.recruit.view .viewDesc video,
.recruit.view .viewDesc iframe{max-width:100%;height:auto;}

/* Career - 지원안내 */
.guide{padding:64px 0 100px;}
.guide .innerWrap{width:90%;max-width:none;gap:100px;}
.guide .pageHeading{font-size:var(--font-size-40);}
.guide .guideTabs li a{padding:10px 28px;}
.guide .processSec{flex-direction:column;gap:32px;}
.guide .processSec .secTitle{flex:none;width:100%;font-size:var(--font-size-28);}
.guide .processBody{gap:56px;}
.guide .processFlow{flex-wrap:wrap;justify-content:center;gap:16px;padding:32px 24px;}
.guide .processFlow > li{width:90px;}
.guide .processFlow > li.arrow{display:none;}
.guide .processFlow .icon{width:90px;height:90px;}
.guide .processFlow .name{font-size:var(--font-size-18);}
.guide .processDetail{padding:56px 48px;}
.guide .processDetail .con{padding-bottom:56px;gap:16px;}
.guide .processDetail .tit{font-size:var(--font-size-20);}
.guide .faqQ{padding:40px 24px;}
.guide .faqQ .tit{padding:0 24px;font-size:var(--font-size-20);}
.guide .faqA{padding:40px 24px;}
.guide .faqA .txt{padding:0 24px;}

/* Career - 나의 지원현황 / 지원서 작성 */
.page.status,
.page.apply{padding:0 0 100px;}
.page.status .statusWrap,
.page.apply .applyWrap{
	width:90%;max-width:none;gap:40px;
	padding:64px 0 0;
	min-height:640px;
}
.page.status .statusIllust,
.page.apply .applyIllust{
	width:41.5vw;max-width:640px;
}
.page.status .statusIntro,
.page.apply .applyIntro{
	flex: 1;
}
.page.status .pageHeading,
.page.apply .pageHeading{font-size:var(--font-size-36);}
.page.status .statusFormBox,
.page.apply .applyFormBox{padding:56px 40px 32px;}
.page.status .statusForm,
.page.apply .applyForm{gap:56px;}
.page.status .btnSubmit,
.page.apply .btnSubmit{width:260px;}
.page.apply .submitArea{width:260px;}

.applyConfirmPopup .popupPanel{max-width:720px;padding:64px 0 32px;gap:32px;}
.applyConfirmPopup .popupHead,
.applyConfirmPopup .popupBody,
.applyConfirmPopup .popupActions{padding-left:48px;padding-right:48px;}
.applyConfirmPopup .btnPopupClose{top:32px;right:32px;}
.applyConfirmPopup .btnCancel,
.applyConfirmPopup .btnConfirm{width:200px;}

.applyDonePopup .popupPanel{max-width:720px;padding:80px 0 48px;gap:56px;}
.applyDonePopup .popupText,
.applyDonePopup .popupActions{padding-left:48px;padding-right:48px;}
.applyDonePopup .btnPopupClose{top:32px;right:32px;}
.applyDonePopup .popupTitle{font-size:40px;}
.applyDonePopup .btnList,
.applyDonePopup .btnStatus{width:200px;}

/* Career - 지원서 작성(기본정보) */
.page.applyWrite{padding:0 0 100px;}
.page.applyWrite .innerWrap{width:90%;max-width:none;}
.page.applyWrite .writeHead{padding:56px 0;gap:20px;}
.page.applyWrite .writeHead .title{font-size:var(--font-size-28);}
.page.applyWrite .writeSteps{padding-top:56px;gap:12px;}
.page.applyWrite .writeSteps li{min-width:120px;font-size:var(--font-size-16);}
.page.applyWrite .writeSteps li a{padding:10px 12px;}
.page.applyWrite .writeForm{padding-top:80px;gap:56px;}
.page.applyWrite .formBox{padding:64px 40px;gap:100px;}
.page.applyWrite .formSection{gap:56px;}
.page.applyWrite .secTitle{font-size:var(--font-size-28);}
.page.applyWrite .fieldRow{grid-template-columns:1fr;gap:16px;}
.page.applyWrite .rowLabel{font-size:var(--font-size-20);}
.page.applyWrite #disabilitySection .rowLabel,
.page.applyWrite #veteranSection .rowLabel{display:none;}
.page.applyWrite #disabilitySection .rowFields>.field>.fieldLabel,
.page.applyWrite #veteranSection .rowFields>.field>.fieldLabel{font-size:var(--font-size-20);}
.page.applyWrite .photoArea{gap:24px;}
.page.applyWrite .fieldGrid2,
.page.applyWrite .fieldGrid3{gap:20px 24px;}
.page.applyWrite .btnSave,
.page.applyWrite .btnPrev,
.page.applyWrite .btnNext{min-width:160px;padding:16px 28px;}
.page.applyWrite .repeatActions{grid-template-columns:1fr;gap:12px;}
.page.applyWrite .repeatEmpty .repeatActions{grid-template-columns:1fr;}
.page.applyWrite .repeatEmpty .btnAddBlock{grid-column:1;}
.page.applyWrite .btnDelBlock,
.page.applyWrite .btnAddBlock{width:100%;padding:16px 20px;}
.page.applyWrite .scoreRow{grid-template-columns:1fr;gap:16px;}
.page.applyWrite .writeSteps{flex-wrap:wrap;}
.page.applyWrite .majorTop{flex-direction:column;}
.page.applyWrite .majorTop .btnMajorMinus{margin-top:0;align-self:flex-end;}
.page.applyWrite .gradeRow .scaleSelect{flex:0 0 100px;width:100px;}
.page.applySubmit .reviewProfile{grid-template-columns:180px 1fr;gap:24px;}
.page.applySubmit .reviewPhoto{width:180px;height:225px;}
.page.applySubmit .reviewBlock{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.page.applySubmit .submitActions{flex-wrap:wrap;gap:16px;}

.news{padding:56px 0 100px;}
.news .newsFilter{margin-bottom:56px;}
.news .filterRight{width:100%;}
.news .categorySelect{width:100%;max-width:424px;}
.news .searchForm{width:100%;max-width:550px;}
.news .newsCards{grid-template-columns:repeat(2,1fr);}
