/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {width: 100%; max-width:1800px; margin: 0 auto; }
.inner--fill {max-width:none; padding-right: calc((100% - 1800px) / 2); padding-left: calc((100% - 1800px) / 2);}
.inner--inherit {height: inherit;}
@media(max-width:1840px){
	.inner {padding: 0 4%;}
}


.text-white {color: #fff;}

.sub-container {
	flex:1;
}

.sub-visual {
	background-color: #fff;		
}

.sub-visual__container {
	display: flex;
	flex-direction:column;
	justify-content: flex-end;
	min-height: 27.75em;
	padding: var(--header-height) 0 2.5em;
	border-bottom: 1px solid var(--line-color);
}
.sub-visual__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
}
.sub-visual__title {
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 5em;
	line-height: 1.4;
	letter-spacing: -0.025em;
	text-transform: uppercase;
	color: var(--main-dark);
}
@media(max-width:1080px){
	.sub-visual__container {min-height: 20em; padding-bottom: 1.5em;}
	.sub-visual__row {flex-direction: column; align-items: flex-start; gap: 1.25em;}
	.sub-visual__title {font-size: 3.5em;}
}
@media(max-width:500px){
	.sub-visual__title {font-size: 2.5em;}
}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header__fix {position: fixed; left:0; top:0; z-index: var(--z-8); width:100%; height: var(--header-height); font-size: var(--fz); background-color: transparent; --menu-height : 0; transition: background-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out;}
.header__fix:after {position: absolute; content:''; top: 100%; left: 0; z-index: -1; width: 100%; height: var(--menu-height); background-color: #fff; box-shadow:var(--shadow-1); transition: 0.4s ease-in-out all;}
.header__inner {position: relative; display: flex; justify-content: space-between; align-items: center; height: inherit}
.header__ctrl {display: flex; align-items: center; height: inherit; margin-left: auto;}

/* 로고: absolute 좌측 정렬(inner 콘텐츠 시작점에 맞춤) + 세로 중앙 */
.header-home {position: absolute; left: calc((100% - 1800px) / 2); top: 50%; transform: translateY(-50%); z-index: 1;}
.header-home__logo {width: 6.375em; filter: brightness(0) invert(1); transition: filter 0.4s ease-in-out;}
@media(max-width:1840px){
	.header-home {left: 4%;}
}

.header-navi {position: absolute; left: 50%; top: 0; transform: translateX(-50%); height: inherit; transition: .3s ease-in-out all;}
.header-navi__m-list {display: flex; height: inherit;}
.header-navi__m-item {height: inherit;}
.header-navi__m-item:last-child {margin-right: 0;}
.header-navi__m-btn {display: flex; align-items: center; height: inherit; transition: color 0.3s ease-in-out;}
.header-navi__m-item {position: relative;}
.header-navi__s-wrap {position: absolute; top: 100%; left: 50%; max-width:max-content; transform:translateX(-50%);}
.header-navi__s-list {transition: .4s ease-in-out all;}
.header-navi__s-btn {display: block; transition: color 0.3s ease-in-out;}
.header-navi__c-btn {transition: color 0.3s ease-in-out;}
@media(max-width:1080px){
	.header-navi {display: none;}
}

.header-lang {display: flex; align-items: center; gap: 1em; height: inherit;}
.header-lang__btn {font-family: var(--font-en); font-weight: 600; font-size: 1em; line-height: 1; transition: color 0.3s ease-in-out;}
.header-lang__btn,
.header-lang__btn:link,
.header-lang__btn:visited {color: #fff;}
.header-lang__divider {width: 1px; height: 1em; background-color: rgba(255,255,255,0.5); transition: background-color 0.3s ease-in-out;}
@media(hover:hover){
	.header-lang__btn:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.header-lang {display: none;}
}

.header-login {margin-left: 1.5em;}
.header-login__list {display: flex; align-items: center;}
.header-login__item {margin-right: 1em;}
.header-login__item:last-child {margin-right: 0;}
.header-login__link {display: block; transition: color 0.3s ease-in-out;}
.header-login__link,
.header-login__link:visited,
.header-login__link:link {color: #fff;}
@media(hover:hover){
	.header-login__link:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.header-login{display: none;}	
}

.header-drawer {display: none; position: relative; margin-left: 1.5em;}
.header-drawer__btn {position: relative; width: 20px; height: 14px; z-index: 0; transition:.15s ease-in-out all;}
.header-drawer__line {position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; transition:.15s ease-in-out all;}
.header-drawer__line--top {top: 0;}
.header-drawer__line--middle {top: 50%; transform:translateY(-50%)}
.header-drawer__line--bottom {bottom: 0;}
@media(hover:hover){
	.header-drawer__btn:hover .header-drawer__line--top{left: -0.25em;}
	.header-drawer__btn:hover .header-drawer__line--middle{left: 0.25em;}
	.header-drawer__btn:hover .header-drawer__line--bottom{left: -0.125em;}
}
@media(max-width:1080px){	
	.header-drawer {display:block;}
}

.header__fix--active {background-color: #fff; box-shadow: 0 10px 20px rgba(0,0,0,0.02);}
.header__fix--active .header-navi__m-btn {color: var(--main-black);}
.header__fix--active .header-navi__m-btn--crt {color: var(--main-color);}
.header__fix--active .header-navi__s-btn {color: var(--main-black);}
.header__fix--active .header-navi__s-btn--crt {color: var(--main-color);}
.header__fix--active .header-navi__c-btn {color: var(--main-gray);}
.header__fix--active .header-navi__c-btn--crt {color: var(--main-color);}
.header__fix--active .header-lang__btn {color: var(--main-dark);}
.header__fix--active .header-lang__divider {background-color: #eee;}
.header__fix--active .header-login__link {color: var(--main-black);}
.header__fix--active .header-drawer__line {background-color: var(--main-black);}
.header__fix--active .header-home__logo,
.header__fix.on .header-home__logo {filter: none;}

/************************* header_inc 끝*************************/

/************************* sub-dropdown 시작 *************************/
.drop-menu {border-bottom:1px solid var(--main-gray);}
.drop-menu__inner {display: flex; border-right:1px solid var(--main-gray); border-left:1px solid var(--main-gray);}
.drop-menu__home {display: inline-flex; min-width: 3em; min-height: 3em; height: inherit; justify-content: center; align-items: center;}
.drop-menu__icon {width: 1.75em;}
.drop-menu__wrap {position: relative; z-index: 0; border-left:1px solid var(--main-gray);}
.drop-menu__wrap:last-child {border-right:1px solid var(--main-gray); }
.drop-menu__btn {display: flex; justify-content: space-between; align-items: center; min-width:15em; height: 100%; padding:0 0.15rem; font-weight: 500; transition:.15s ease-in-out all;}
.drop-menu__tit {display: block; font-size: 1.125em;}
.drop-menu__arr {margin-left: 1.5em; width: 0.75em; transition:.15s ease-in-out all;}
.drop-menu__navi {position: absolute; top: 100%; left: -1px; z-index: 10; width:calc(100% + 2px);  height: 0; overflow: hidden;}
.drop-menu__list {background-color: #fff; border:1px solid var(--main-gray);}
.drop-menu__link {display: block; padding:0.5em 0.15rem; transition:.15s ease-in-out all;}
@media(hover:hover){
	.drop-menu__link:hover {background-color: var(--main-color); color: #fff;}
}

.drop-menu__btn.on {background-color: var(--main-color); color: #fff;}
.drop-menu__btn.on .drop-menu__arr {filter:brightness(0) invert(1); transform:rotate(180deg);}

/************************* dropdown 끝 *************************/
/************************* tabmenu 시작 (서브 히어로 pill 탭) *************************/
.tab-menu__list {display: flex; align-items: center;}
.tab-menu__btn {display: inline-flex; justify-content: center; align-items: center; min-width: 10em; height: 3em; font-size: 1.25em; font-weight: 600; line-height: 1; letter-spacing: -0.025em; white-space: nowrap; color: var(--main-dark); border-radius: 999px; transition: .15s ease-in-out all;}
.tab-menu__btn--crt {background-color: var(--main-color);}
.tab-menu__btn--crt,
.tab-menu__btn--crt:link,
.tab-menu__btn--crt:visited {color: #fff;}
@media(hover:hover){
	.tab-menu__btn:hover {color: var(--main-color);}
	.tab-menu__btn--crt:hover {color: #fff; opacity: .92;}
}
@media(max-width:1080px){
	.tab-menu__btn {min-width: 7.5em; font-size: 1.125em;}
}
@media(max-width:500px){
	.tab-menu__list {flex-wrap: wrap;}
	.tab-menu__btn {min-width: 0; padding: 0 1.25em; height: 2.75em; font-size: 1em;}
}
/************************* sub-tabmenu 끝 *************************/

/************************* depth3 시작 *************************/
.depth3__list {display: flex; flex-flow: row wrap;}
.depth3__item {flex:1;}
.depth3__item:last-child {border:0;}
.depth3__btn {padding:1.5em 0.75em; width: 100%; height: 100%; display: flex; align-items: center;justify-content: center; border-bottom:2px solid var(--main-gray); transition:.15s ease all;}
.depth3__btn--crt {border-color:var(--main-color);}
@media(hover:hover){
	.depth3__btn:hover {border-color:var(--main-color);}
}
/************************* depth3 끝 *************************/


/************************* footer_inc 시작 (시안 2780:151 — 미니멀) *************************/
.footer {padding: 2.5em 0 2.45em; font-size: var(--fz); background-color: var(--footer-bg); color: #fff;}
.footer__top {display: flex; justify-content: space-between; align-items: center; gap: 2em;}

.footer__menu {display: flex; align-items: center; gap: 1.3em;}
.footer__menu-link {font-family: var(--font-en); font-weight: 600; font-size: 1em; line-height: 1.4; letter-spacing: -0.005em; transition: .15s ease all;}
.footer__menu-link,
.footer__menu-link:link,
.footer__menu-link:visited {color: #fff;}

.footer__util {display: flex; align-items: center; gap: 0.75em;}
.footer__util-link {font-weight: 400; font-size: 1em; line-height: 1.4; letter-spacing: -0.03125em; cursor: pointer; transition: .15s ease all;}
.footer__util-link,
.footer__util-link:link,
.footer__util-link:visited {color: #fff;}
.footer__util-link--terms {font-weight: 300;}
.footer__util-link--bold {font-weight: 600;}
.footer__util-divider {width: 1px; height: 0.875em; background-color: rgba(255,255,255,0.3);}

.footer__copy {margin-top: 1.2em; line-height: 1.7; letter-spacing: -0.03125em; color: rgba(255,255,255,0.3);}

@media(hover:hover){
	.footer__menu-link:hover,
	.footer__util-link:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.footer__top {flex-direction: column; align-items: flex-start; gap: 1.25em;}
	.footer__menu {flex-wrap: wrap; gap: 0.75em 1.25em;}
	.footer__util {flex-wrap: wrap;}
}
/************************* footer_inc 끝 *************************/


/************************* split-text *************************/
.split-text__word {font-size: inherit;}
.split-text__letter {display: inline-block; font-size: inherit;}
.split-text--no-delay .split-text__letter {transition-delay:0s !important; animation-delay:0s !important;}

/************************* cp-header *************************/
.cp-header {font-size: var(--fz); text-align: center;}
.cp-header__label {font-family: var(--font-en); font-weight: 600; font-size: 1em; line-height: 1.4; color: var(--main-color);}
.cp-header__title {margin-top: 0.75em; font-weight: 700; font-size: 2.75em; line-height: 1.3; letter-spacing: -0.02em; color: var(--main-dark);}

/************************* cp-sec-tit (서브페이지 공통 섹션 제목, Pretendard SemiBold) *************************/
.cp-sec-tit {font-weight: 600; font-size: 2.5em; line-height: 1.4; letter-spacing: -0.025em; color: var(--main-dark);}
.cp-sec-tit--white {color: #fff;}
.cp-sec-tit--center {text-align: center;}
@media(max-width:1080px){
	.cp-sec-tit {font-size: 2em;}
}
@media(max-width:500px){
	.cp-sec-tit {font-size: 1.75em;}
}

/************************* cp-sub-sec (서브페이지 섹션 공통 패딩) *************************/
.cp-sub-sec {padding: 7.5em 0;}
@media(max-width:1080px){
	.cp-sub-sec {padding-bottom: 5em;}
}

/************************* cp-defrow (좌 제목 고정폭 + 우 내용 + 상단 구분선 행)
   인증현황(page24)·CAREERS(page41) 공용. 좌 제목 32.5em 고정 + 우 본문 flex:1(유체) + 사이 gap 100px(6.25em).
   1920에선 본문이 73.75em으로 떨어져 시안 동일, 그 아래선 본문이 줄어 오버플로 없음.
   제목 스타일·내용 구성은 각 페이지에서. 첫 행 위 구분선 숨김은 --top-flush.
   세로 행 간격(구분선 위아래)은 시안마다 달라:
     - 인증현황 = 기본 3em/3em(=48px)
     - CAREERS  = --lg 7.5em/7.5em(=120px) *************************/
.cp-defrow {display: flex; gap: 6.25em; border-top: 1px solid var(--line-color); padding-top: 3em; margin-top: 3em;}
.cp-defrow__head {flex: 0 0 32.5em;}
.cp-defrow__body {flex: 1; min-width: 0;}
.cp-deflist--top-flush > .cp-defrow:first-child {border-top: 0; padding-top: 0; margin-top: 0;}
.cp-deflist--lg > .cp-defrow {padding-top: 7.5em; margin-top: 7.5em;}
@media(max-width:1080px){
	.cp-defrow {flex-direction: column; gap: 1.5em; padding-top: 2em; margin-top: 2em;}
	.cp-defrow__head {flex: none;}
	.cp-defrow__body {flex: none;}
	.cp-deflist--top-flush > .cp-defrow:first-child {padding-top: 0; margin-top: 0;}
	.cp-deflist--lg > .cp-defrow {padding-top: 5em; margin-top: 5em;}
}

/************************* cp-btn *************************/
.cp-btn {font-size: var(--fz); display: inline-flex; justify-content: space-between; align-items: center; width: 15em; height: 3.75em; padding: 0.75em 1.5em; background-color: #fff; border: 1px solid rgba(240,131,0,0.4); border-radius: 0.3125em; transition: .15s ease all;}
.cp-btn__text {font-weight: 600; font-size: 1em; letter-spacing: -0.03em; line-height: 1.7; white-space: nowrap; color: var(--main-color);}
.cp-btn__arrow {width: 1.5em; transition: .15s ease all;}
@media(hover:hover){
	.cp-btn:hover {background-color: var(--main-color);}
	.cp-btn:hover .cp-btn__text {color: #fff;}
	.cp-btn:hover .cp-btn__arrow {filter: brightness(0) invert(1);}
}
/* cp-header 다크 섹션용 흰색 변형 */
.cp-header--white .cp-header__title {color: #fff;}
.cp-header__title--light {font-weight: 300;}
/* cp-btn 글래스 변형 (다크 섹션 위) */
.cp-btn--glass {background-color: rgba(255,255,255,0.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-color: rgba(255,255,255,0.3);}
.cp-btn--glass .cp-btn__text {color: #fff;}
.cp-btn--glass .cp-btn__arrow {filter: brightness(0) invert(1);}
@media(hover:hover){
	.cp-btn--glass:hover {background-color: rgba(255,255,255,0.2);}
	.cp-btn--glass:hover .cp-btn__arrow {filter: brightness(0) invert(1);}
}