/* include 공통 CSS */

/************************* 공통 시작*************************/
/* 시안 컨텐츠 폭 1720px (1920 기준 좌우 100px) → 좌우 16px 모바일 여백 포함 max-width 1752 */
.inner {width:100%; max-width:109.5em; padding:0 1em; margin:0 auto;}
.inner--fill {max-width:none; padding-right:max(1em, calc((100% - 107.5em) / 2)); padding-left:max(1em, calc((100% - 107.5em) / 2));}

/* 본문 컨텐츠 폭 — 시안 본문은 x200 에서 시작하는 1520 으로, 헤더·푸터의 1720 보다 한 단계 좁다.
   News 계열 게시판만 x340 의 1240 (max-width 는 좌우 padding 1em 을 더한 값) */
.inner--mid {max-width:97em;}
.inner--narrow {max-width:79.5em;}

/* 헤더가 fixed 라 서브 본문은 헤더 높이만큼 내려야 한다 (시안도 컨텐츠가 헤더 아래 100 에서 시작) */
#wrap-sub {padding-top: var(--header-height);}

.sub-container {padding: 6.25em 0; min-height:5rem;}

/* 페이지 상단 타이틀 — Business / Contact 공통 (시안 title 프레임 1920x280)
   News 의 소형 타이틀 변형은 해당 페이지 작업 때 추가한다 */
.page-title {padding:11.25em 0 0;}
.page-title__text {font-family:var(--font-inter); font-size:6.25em; font-weight:700; line-height:1; letter-spacing:-0.5px; color:var(--main-black);}
@media(max-width:1280px){
	.page-title__text {font-size:5em;}
}
@media(max-width:768px){
	.page-title {padding:6.875em 0 0;}
	.page-title__text {font-size:3.125em;}
}

/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
/* 시안 header 4598:843(메인) · 4598:5389(서브) — 1920 기준 높이 100 / 좌우 여백 100 (.inner--fill 과 동일)
   상태는 2개다
     기본        : 배경 투명 + 흰 로고·메뉴  (시안 4598:862 — 메인 최상단, 비주얼 위)
     .enter/.on  : 흰 반투명 + blur + shadow + 검은 로고·메뉴
   서브페이지는 본문이 흰 배경이라 스크롤과 무관하게 .enter 를 유지한다 (header_inc.php JS)
   메뉴 색·간격·호버 밑줄은 topmenu/all1 스킨의 인라인 style 담당 — 그쪽이 나중에 로드돼 우선순위가 높다 */
.header__fix {position: fixed; left:0; top:0; z-index: 100; width:100%; height: var(--header-height); font-size: var(--fz); background-color: transparent; --menu-height : 0; font-family: var(--font-display); transition: 0.15s ease-in-out all;} 
.header__fix::before {opacity: 0; visibility: hidden; content: ''; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; backdrop-filter: blur(4px); z-index: -1;}
.header__fix:after {position: absolute; content:''; top: 100%; left: 0; z-index: -1; width: 100%; height: var(--menu-height); background-color: rgba(255,255,255,0.8); transition: 0.15s ease-in-out all;}
/* 로고만 좌측에 남기고 메뉴 + 언어는 우측에 gap 40 으로 붙인다 (시안 KR 우측 끝 1820 = 로고와 대칭) */
.header__inner {display: flex; justify-content: flex-end; align-items: center; gap:2.5em; height: inherit}
.header__ctrl {display: flex; align-items: center; height: inherit;}

.header-home {margin-right: auto; display: flex; align-items: center; height: inherit;}
.header-home__logo {display: block; width:var(--logo-width);}
.header-home__logo--dark {display: none;}


.header-navi {position: relative; height: inherit; transition: .15s ease-in-out all;}
.header-navi__m-list {display: flex; height: inherit;}
.header-navi__m-item {position: relative; height: inherit;}
.header-navi__m-item:last-child {margin-right: 0;}
.header-navi__m-btn {position: relative; display: flex; align-items: center; height: inherit;}
.header-navi__s-wrap {position: absolute; top: 100%; left: 50%; min-width: 150%; transform:translateX(-50%);}
.header-navi__s-list {transition: .15s ease-in-out all;}
.header-navi__s-btn {display: block;}
@media(max-width:768px){
	.header-navi {display: none;}
}

/* 언어 — 시안 KR 98x44 알약 (지구본 28 + 텍스트 18, gap 8). 알약 크기는 16px 기준 em, 글자만 1.125em
   .header-lang 높이를 알약에 맞춰야 드롭다운의 top:100% 가 버튼 바로 아래로 떨어진다 */
.header-lang {position: relative; display: flex; align-items: center; text-align:center; height: 2.75em; transition: .15s ease-in-out all;}
.header-lang__btn {display: flex; align-items:center; justify-content: center; gap:0.5em; width:6.125em; height:2.75em; background-color: rgba(255,255,255,0.1); backdrop-filter: blur(27px); -webkit-backdrop-filter: blur(27px); border-radius: var(--radius-pill); transition: 0.15s ease-in-out all;}
.header-lang__btn,
.header-lang__btn:link,
.header-lang__btn:visited {color: #fff;}
.header-lang__icon {display: block; flex:0 0 auto; width:1.75em; height:1.75em;}  /* SVG stroke 가 currentColor 라 버튼 글자색을 그대로 따라간다 */
.header-lang__txt {font-size:1.125em; line-height:1;}
/* 드롭다운 — 시안은 버튼 아래 7px 에 흰 알약 */
.header-lang__navi{position:absolute; top: 100%; left: 50%; transform:translateX(-50%); min-width: calc(100% + 24px); height: 0; overflow: hidden;}
.header-lang__list {margin: 8px 12px;border-radius: var(--radius-pill); overflow: hidden; box-shadow:0 4px 6px rgba(0,0,0,0.06); transition: .15s ease-in-out all;}
.header-lang__link{padding: 0.778em 1em; display: block; background-color: #fff;  white-space: nowrap; font-size:1.125em; line-height: 1; transition: 0.15s ease-in-out all;}
.header-lang__link,
.header-lang__link:visited,
.header-lang__link:link {color: var(--main-black);}
@media(hover:hover){
	.header-lang__btn:hover {background-color: rgba(255,255,255,0.25);}
	.header-lang__link:hover {background-color: var(--main-color); color: #fff;}
}
@media(max-width:768px){
	.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:.15s ease-in-out all;}
.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:768px){	
	.header-drawer {display:block;}
}

/* ── .enter(스크롤·서브페이지) / .on(메뉴 호버) — 흰 반투명 상태 ── */
.header__fix.enter,
.header__fix.on {background-color: rgba(255,255,255,0.6); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); box-shadow:0 4px 6px rgba(0,0,0,0.06);}
.header__fix.enter::before,
.header__fix.on::before {opacity: 1; visibility: visible;}
.header__fix.enter .header-home__logo--light,
.header__fix.on .header-home__logo--light {display: none;}
.header__fix.enter .header-home__logo--dark,
.header__fix.on .header-home__logo--dark {display: block;}
.header__fix.enter .header-lang__btn,
.header__fix.on .header-lang__btn {background-color: rgba(255,255,255,0.2); backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--main-color);}
.header__fix.enter .header-navi__s-list,
.header__fix.on .header-navi__s-list {background-color: #fff;}
.header__fix.enter .header-navi__s-btn,
.header__fix.on .header-navi__s-btn {color: var(--main-black);}
.header__fix.enter .header-navi__s-btn--crt,
.header__fix.on .header-navi__s-btn--crt {color: var(--main-color);}
.header__fix.enter .header-login__link,
.header__fix.on .header-login__link {color: var(--main-black);}
.header__fix.enter .header-drawer__line,
.header__fix.on .header-drawer__line {background-color: var(--main-black);}
/* 스크롤하면 헤더 높이만 100 → 80 으로 줄인다. 본문 여백(--header-height)은 그대로 둬서 내용이 튀지 않는다 */
@media(min-width:1081px){
	.header__fix.is-shrink {height:80px;}
}
@media(hover:hover){
	.header__fix.enter .header-lang__btn:hover,
	.header__fix.on .header-lang__btn:hover {background-color: rgba(255,255,255,0.45);}
}

/************************* 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 시작 *************************/
.tab-menu {border-bottom:1px solid var(--main-gray)}
.tab-menu__list {display: flex;}
.tab-menu__item {flex:1;}
.tab-menu__btn {padding:1.5em 0.75em; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; 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 {background-color: var(--main-color); color: #fff;}
}
/************************* 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 시작 *************************/
/* 시안 Footer 3374:7905 (1920x316) — 로고 x100 y168 130x88 / info x326 y171 / navi x1633 y192 /
   meta(대표자·사업자·ⓒ) y234 / 전부 y256 바닥선 정렬 / top 버튼 x1760 y60 60x60 */
.footer {position: relative; min-height:19.75em; padding:10.5em 0 3.75em; background-color: var(--surface-mint); color: var(--ink-3);}
.footer__container {display: flex; align-items: flex-end; gap:6.25em;}
.footer-home {flex:0 0 auto; display: block;}
.footer-home__logo {display: block; width:8.125em;}

/* home 과 바닥선을 맞추는 우측 본문 묶음 — navi 는 info 와 같은 부모(.footer-body) 안 */
.footer-body {flex:1; display: flex; align-items: flex-end; justify-content: space-between; gap:2.5em;}
.footer-body__side {display: flex; flex-direction: column; align-items: flex-end; gap:1.25em;}
.footer-body__meta {display: flex; align-items: flex-end; gap:5.1875em;}

.footer-info {display: flex; flex-wrap: wrap; gap:1.25em 2.5em;}
.footer-info__item {display: flex; flex-direction: column; gap:0.75em;}
.footer-info__item--reg {flex-direction: row; align-items: flex-end; gap:1.25em;}
.footer-info__cate {display:block; font-family: var(--font-display); font-size:1em; font-weight:600; line-height:1.4; letter-spacing:-0.5px; color:var(--ink-sub);}
.footer-info__desc {display: block; font-size:0.875em; line-height:1.4; color: var(--ink-3);}
.footer-info .footer-info__desc {letter-spacing: 0;}
.footer-info__info {display: flex; flex-direction: column; gap:0.25em; font-size:1em;}
.footer-info__row {display: flex; flex-wrap: wrap; gap:0.75em 1.25em;}
.footer-info__item--reg .footer-info__info {flex-direction: row; gap:0.5em;}
.footer-info__item--reg .footer-info__cate {font-family: var(--font-body); font-size:0.875em; font-weight: 500; color: var(--ink-3);}
.footer-info__item--reg .footer-info__desc {letter-spacing:-0.5px;}
.footer-info__info--cprt .footer-info__desc {font-family: var(--font-display); letter-spacing: 0;}

/* 시안에 없는 관리자 진입 슬롯 — 카탈로그 계약상 마크업은 유지, 노출만 차단 */
.footer-adm {display: none;}
.footer-adm__cprt {font-size:1em; color: var(--ink-3);}
.footer-adm__link {font-size:0.8125em; color:var(--ink-4);}

.footer-navi {display: flex; justify-content: flex-end; gap:1.25em;}
.footer-navi__link {font-size:0.875em; font-weight:500; letter-spacing:-0.5px; color: var(--ink-3); transition: color .2s ease;}

.footer-top {position: absolute; right:6.25em; top:3.75em; display: flex; align-items: center; justify-content: center; width:3.75em; height:3.75em; background-color: var(--surface); border-radius: var(--radius-pill); transition: background-color .2s ease;}
.footer-top__icon {display: block; width:1.125em; height:1.25em; background-color: var(--primary); mask: var(--icon-arrow-up) center / contain no-repeat; -webkit-mask: var(--icon-arrow-up) center / contain no-repeat;}

@media(hover:hover){
	.footer-navi__link:hover {color: var(--primary);}
	.footer-adm__link:hover {color: var(--primary);}
	.footer-top:hover {background-color: var(--primary);}
	.footer-top:hover .footer-top__icon {background-color: #fff;}
}
@media(max-width:1280px){
	.footer-top {right:1em;}
}
@media(max-width:1280px){
	.footer {padding:7.5em 0 3.75em;}
	.footer__container {gap:3.75em;}
}
@media(max-width:1024px){
	.footer {min-height:0; padding:5.625em 0 3em;}
	.footer__container {flex-direction: column; align-items: stretch; gap:2em;}
	.footer-body {flex-direction: column; align-items: stretch; gap:1.75em;}
	.footer-body__side {align-items: flex-start; gap:1em;}
	.footer-body__meta {flex-wrap: wrap; align-items: flex-start; gap:0.5em 1.5em;}
	.footer-info__item--reg {flex-direction: column; align-items: flex-start; gap:0.375em;}
}
@media(max-width:768px){
	.footer {padding:5em 0 2.5em;}
	.footer-top {top:1.5em; width:3em; height:3em;}
	.footer-info {gap:1.25em 2em;}
}

/************************* 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;}

/************************* ui-btn *************************/
/* 공통 버튼 — 시안 2613:1514(메인 VIEW MORE) / 4391:12404(브랜드 온라인스토어)
   둘은 크기·보더·기본 라벨 폰트만 다르고 효과가 같다:
   기본 라벨이 위로 빠지고 아래에 숨어 있던 라벨이 올라오며 배경이 primary 로 찬다.
   ⚠️ 라벨 두 벌을 겹쳐 두고 translateY 로 밀기 때문에 .ui-btn 에 overflow:hidden 이 필수다. */
/* 기본형 = 메인 (시안 2613:1514, 190×56 · 보더 1 · 기본 라벨 20px Regular)
   ⚠️ padding 은 두지 않는다 — 시안의 px-48 은 Figma auto-layout 의 최소 여백이고,
      여기서는 라벨이 absolute inset:0 이라 padding 이 닿지 않는다. 폭은 11.875em 고정. */
.ui-btn {position: relative; display: inline-flex; align-items: center; justify-content: center;
	width:11.875em; height:3.5em; overflow: hidden;
	background-color: rgba(255,255,255,0.2); backdrop-filter: blur(0.75em); -webkit-backdrop-filter: blur(0.75em);
	border:1px solid var(--primary); border-radius: var(--radius-pill);
	transition: background-color .45s ease;}
.ui-btn__label {position: absolute; inset:0; display: flex; align-items: center; justify-content: center;
	white-space: nowrap; font-size:1.25em; font-weight:400; line-height:1.4; letter-spacing:-0.5px;
	text-transform: lowercase;   /* 시안은 "VIEW MORE" 를 소문자로 보여준다 (한글 라벨은 영향 없음) */
	transition: transform .45s ease;}
.ui-btn__label--base {color: var(--primary);}
.ui-btn__label--over {color:#fff; transform: translateY(100%);}

@media(hover:hover){
	.ui-btn:hover {background-color: var(--primary);}
	.ui-btn:hover .ui-btn__label--base {transform: translateY(-100%);}
	.ui-btn:hover .ui-btn__label--over {transform: translateY(0);}
}

/* 아웃라인형 — 시안 4391:12404 (190×52 · 기본 라벨 18px SemiBold)
   ⚠️ 메인과 달리 모서리가 각지다. 시안에서 메인(2613:1514)은 컨테이너에 rounded-[500px] 가 있고
      이쪽은 컨테이너에 radius 가 없다 (내부 배경 레이어에만 있어 화면에는 직각으로 보인다).
   기본 배경도 없다 (흰 바탕 위에 놓이는 버튼).
   ⚠️ 시안 보더는 1.5(기본)→1(호버) 이지만 넣지 않았다 —
      Chromium 은 border-width 를 정수로 내려 1.5px 를 1px 로 그린다(순수 1.5px div 도 computed 1px).
      두께 전환이 화면에 나타나지 않으면서 transition 비용만 든다. */
.ui-btn--line {height:3.25em; background-color: transparent; border-radius:0;}
.ui-btn--line .ui-btn__label--base {font-size:1.125em; font-weight:600;}

@media(max-width:768px){
	.ui-btn {width:10em; height:3em;}
	.ui-btn--line {height:3em;}
	.ui-btn__label {font-size:1em;}
	.ui-btn--line .ui-btn__label--base {font-size:1em;}
}
