/* include 공통 CSS */
.primary {color: var(--main-color);}
/************************* 공통 시작*************************/
.inner {width: 100%; max-width:1440px; margin: 0 auto; }
.inner--fill {max-width:none; padding-right: calc((100% - 1680px) / 2); padding-left: calc((100% - 1680px) / 2);}
@media(max-width:1720px){
	.inner--fill {padding-right: 4%; padding-left: 4%;}
}
@media(max-width:1480px){
	.inner {padding: 0 4%;}
}

.sub-container {padding-top: 5em; min-height:5rem;}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header__fix {position: fixed; left:0; top:0; z-index: 100;width:100%;  height: 6.25em; font-size: var(--fz); background-color: #fff; --menu-height : 0; transition: 0.15s ease-in-out all;}
.header__fix:after {position: absolute; content:''; top: 100%; left: 0; z-index: -1; width: 100%; height: var(--menu-height); background-color: #fff; transition: 0.15s ease-in-out all;}
.header__inner {display: flex; justify-content: space-between; align-items: center; height: inherit}
.header__ctrl {display: flex; align-items: center; height: inherit;}

.header-home {width: 13.375em; height: 3.6875em; background: url('./img/top_logo.svg') no-repeat center / 100%; transition: 0.15s ease-in-out all;}
/* .header-home__logo {width: 13.375em; transition: 0.15s ease-in-out all;} */

.header-navi {position: relative; height: inherit; transition: .15s 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;}
.header-navi__m-item {position: relative;}
.header-navi__s-wrap {position: absolute; top: 100%; left: 0; min-width: 100%;}
.header-navi__s-list {transition: .15s ease-in-out all;}
.header-navi__s-btn {display: block;}
@media(max-width:1080px){
	.header-navi {display: none;}
}

.header-lang {position: relative; display: flex; align-items: center;  text-align:center; height: inherit; transition: .15s ease-in-out all;}
.header-lang__btn{display: flex; align-items:center; transition: 0.15s ease-in-out all;}
.header-lang__btn,
.header-lang__btn:link,
.header-lang__btn:visited {color: #fff;}
.header-lang__navi{position:absolute; top: 100%; left: 50%; transform:translateX(-50%); min-width:100%; height: 0; overflow: hidden;}
.header-lang__list {margin: 1em; background-color: rgba(0,0,0,0.5); border-radius: 0.5em; box-shadow:var(--shadow-1); transition: .15s ease-in-out all;}
.header-lang__link{padding:0.5em 1.5em; display: block; white-space: nowrap; transition: 0.15s ease-in-out all;}
.header-lang__link,
.header-lang__link:visited,
.header-lang__link:link {color: #fff;}
.header-lang__icon {width: 1.25em; filter:brightness(0) invert(1)}
@media(hover:hover){
	.header-lang__btn:hover {color: var(--main-color);}
	.header-lang__link: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:.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: var(--main-black); 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.enter {background-color: #fff;}
.header__fix.enter .header-navi__m-btn {color: var(--main-black);}
.header__fix.enter .header-navi__m-btn--crt {color: var(--main-color);}
.header__fix.enter .header-navi__s-list {}
.header__fix.enter .header-navi__s-btn {color: var(--main-black);}
.header__fix.enter .header-navi__s-btn--crt {color: var(--main-color);}
.header__fix.enter .header-navi__c-btn {color: var(--main-gray);}
.header__fix.enter .header-navi__c-btn--crt {color: var(--main-color);}
.header__fix.enter .header-lang__btn {color: var(--main-black);}
.header__fix.enter .header-lang__btn.on {color: var(--main-color);}
.header__fix.enter .header-lang__list {background-color: #fff;}
.header__fix.enter .header-lang__link {color: var(--main-black);}
.header__fix.enter .header-login__link {color: var(--main-black);}
.header__fix.enter .header-drawer__line {background-color: var(--main-black);}
@media(hover:hover){
	.header__fix.enter .header-lang__link:hover {color: var(--main-color);}
}

/************************* 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 {}
.tab-menu + .sub-container:has(.board-wrap) {padding-bottom: 7.5em;}
.tab-menu + .sub-container:has(.board-cate) {padding-top: 8.625em;}
.tab-menu__list {display: flex; justify-content: center; gap: 2.5em; flex-wrap: wrap;}
.tab-menu__item {}
.tab-menu__btn {padding:1.1111em 2.2222em; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; border-radius: 10em; background-color: var(--gray50); color: var(--gray600); font-size: 1.125em; font-weight: 700; 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;}
}
@media (max-width:768px) {
	.tab-menu__list {gap: 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 시작 *************************/
.footer {position: relative; padding:3.5em 0 4.25em; font-size: var(--fz); border-top:1px solid var(--gray300); background-color: #fff;}
.footer__top {display: flex; justify-content: space-between; align-items: flex-start;}

.footer__util {display: flex; flex-direction: column; align-items: flex-start; gap:1.25em; width: 37em;}
.footer-home {display: inline-block;}
.footer-home__logo {display: block; width: 13.375em;}

.footer-file {padding:0.5em 1.5em; display: inline-flex; align-items: center; gap:0.625em; border:1px solid var(--gray300); border-radius:600px; font-weight: 700; letter-spacing:-0.5px; text-align: center; transition:.15s ease all;}
.footer-file,
.footer-file:visited,
.footer-file:link {color: var(--gray600);}
.footer-file__icon {display: block; width: 1.25em;}
@media(hover:hover){
	.footer-file:hover {border-color: var(--main-color);}
}

.footer-info {display: flex; flex-direction: column; gap:0.5em; letter-spacing:-0.5px;}
.footer-info__row {display: flex; flex-wrap:wrap; align-items: center; gap:0.5em;}
.footer-info__item {display: inline-flex; align-items: center; gap:0.25em;}
.footer-info__cate {font-weight: 700; color: var(--main-color);}
.footer-info__desc {font-weight: 500; transition:.15s ease all;}
.footer-info__desc,
.footer-info__desc:visited,
.footer-info__desc:link {color: var(--gray600);}
.footer-info__addr {font-weight: 500; color: var(--gray600);}
@media(hover:hover){
	a.footer-info__desc:hover {color: var(--main-color);}
}

.footer-navi {padding-top: 5.375em; display: flex; flex-wrap:wrap; justify-content: flex-end; gap:1.75em;}
.footer-navi__link {font-size: 1.125em; font-weight: 700; letter-spacing:-0.5px; text-align: center; transition:.15s ease all;}
.footer-navi__link,
.footer-navi__link:visited,
.footer-navi__link:link {color: var(--main-black);}
@media(hover:hover){
	.footer-navi__link:hover {color: var(--main-color);}
}

.footer-adm {margin-top: 2.5em; padding-top: 1.25em; display: flex; flex-wrap:wrap; justify-content: space-between; align-items: center; gap:0.5em 1em; border-top:1px solid var(--gray300); font-weight: 500; color: var(--gray400);}
.footer-adm__group {display: flex; flex-wrap:wrap; align-items: center; gap:1em;}
.footer-adm__cprt {line-height: 1.7; letter-spacing:0.5px;}
.footer-adm__nav {display: flex; gap:1em;}
.footer-adm__link {line-height: 1.7; letter-spacing:0.5px; transition:.15s ease all;}
.footer-adm__link,
.footer-adm__link:visited,
.footer-adm__link:link {color: var(--gray400);}

.footer-navi--sub {display: flex; gap:1em;}
.footer-navi__link--sub {line-height: 1.4; letter-spacing:-0.5px; text-align: right; transition:.15s ease all;}
.footer-navi__link--sub,
.footer-navi__link--sub:visited,
.footer-navi__link--sub:link {color: var(--gray400);}
@media(hover:hover){
	.footer-adm__link:hover,
	.footer-navi__link--sub:hover {color: var(--main-color);}
}

.top-btn {position: fixed; right: max(2em, calc((100% - 105em) / 2)); bottom: 2.5em; z-index: 90; display: flex; flex-direction: column; justify-content: center; align-items: center; gap:0.5em; width: 7.5em; height: 7.5em; font-size: var(--fz); border-radius:50%; background-color: var(--main-color); opacity: 0; visibility:hidden; transform:translateY(1em); transition:.3s ease all; cursor: pointer;}
.top-btn--show {opacity: 1; visibility:visible; transform:translateY(0);}
.top-btn--stop {position: absolute; top: -4.21875em; bottom: auto;}
.top-btn__icon {display: block; width: 1.25em;}
.top-btn__text {font-family:'Goldman', sans-serif; font-size: 1.125em; font-weight: 700; letter-spacing:-0.5px; text-transform:uppercase; color: #fff;}

@media(max-width:1080px){
	.footer-navi {padding-top: 0;}
}
@media(max-width:768px){
	.footer__top {flex-direction: column; gap:2.5em;}
	.footer__util {width: 100%;}
	.footer-navi {justify-content: flex-start; gap:1em 1.75em;}
	.top-btn {right: 1.5em; bottom: 1.5em; width: 5.5em; height: 5.5em;}
}
@media(max-width:500px){
	.footer-info__row {gap:0.25em 0.75em;}
	.footer-adm {flex-direction: column; align-items: flex-start;}
}

/************************* footer_inc 끝 *************************/


/************************* page-intro (서브페이지 인트로 배너 공통) *************************/
.page-intro {}
.page-intro__box {position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden; width: 100%; height: 30em; border-radius:2.5em; background-position:center; background-size:cover; background-repeat:no-repeat; color: #fff;}
.page-intro__box::before {content: ''; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.1);}
.page-intro__inner {position: relative; z-index: 1; padding:0 4%; display: flex; flex-direction: column; align-items: center; gap:4em; text-align: center;}
.page-intro__head {display: flex; flex-direction: column; align-items: center; gap:0.75em;}
.page-intro__label {font-size: 1.125em; font-weight: 700;}
.page-intro__title {font-size: 3.25em; font-weight: 700;}
.page-intro__desc {font-weight: 500; line-height: 1.7;}
/* 인트로 배너 → 본문 시작 여백. 전 페이지 공통이므로 여백 조정은 여기서만 한다 (페이지별 상단 padding/margin 금지) */
.page-intro + main {padding-top: 7.5em;}
@media(max-width:1080px){
	.page-intro + main {padding-top: 5em;}
	.page-intro__box {height: 26em; border-radius:2em;}
	.page-intro__inner {gap:2.5em;}
	.page-intro__title {font-size: 2.5em;}
}
@media(max-width:500px){
	.page-intro__box {height: 22em; border-radius:1.25em;}
	.page-intro__inner {gap:1.5em;}
	.page-intro__label {font-size: 1em;}
	.page-intro__title {font-size: 1.75em;}
}
/************************* page-intro 끝 *************************/


/************************* 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;}


/************************* ly-intro (소개페이지 특장점 블록 공통) *************************/
/* 사용 페이지: heatpump / solar / ess — 페이지 루트에 font-size:var(--fz) 필요 */
.ly-intro + .ly-intro {margin-top: 7.5em;}
.ly-intro__inner {display: flex; align-items: center; gap: 6.25em;}
.ly-intro--reverse .ly-intro__inner {flex-direction: row-reverse;}
.ly-intro--top .ly-intro__inner {align-items: flex-start;}
.ly-intro__body {display: flex; flex-direction: column; gap: 2.5em; width: 35.2778%; letter-spacing: -0.03125em;}
.ly-intro__body--mid-gap {gap: 2.25em;}
.ly-intro__body--wide-gap {gap: 3.3125em;}
@media (max-width:1320px) {
	.ly-intro__inner {gap: 3.125em;}
	.ly-intro__body {width: 40%;}
}

.ly-intro__head {display: flex; flex-direction: column;}
.ly-intro__num {font-size: 3.25em; font-weight: 700; line-height: 1.4; color: var(--main-color);}
.ly-intro__title-wrap {display: flex; flex-direction: column; gap: 0.5625em;}
.ly-intro__title {font-size: 3.25em; font-weight: 700; line-height: 1.4;}
.ly-intro__eng {font-size: 1.5em; font-weight: 700; line-height: 1.4; color: var(--main-color);}
.ly-intro__quote {font-size: 1.5em; font-weight: 700; line-height: 1.8;}
.ly-intro__desc {font-size: 1.125em; font-weight: 500; line-height: 1.8; color: var(--gray800);}

.ly-intro__visual {position: relative; flex: 1; aspect-ratio: 832 / 575; overflow: hidden; outline: 1px solid var(--gray300); border-radius: 2.5em;}
.ly-intro__visual--tall {aspect-ratio: 832 / 756; outline: 0;}
.ly-intro__img {display: block; width: 100%; height: 100%; object-fit: cover;}
.ly-intro__img--contain {object-fit: contain; background-color: var(--gray100);}

/* ----- 아이콘 목록 ----- */
.ly-list {display: flex; flex-direction: column; gap: 2.5em; padding-top: 4.1875em;}
.ly-list__item {display: flex; align-items: flex-start; gap: 1.9375em;}
.ly-list__ico {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 4em; height: 4em;}
.ly-list__ico img {display: block; max-width: 100%; max-height: 100%;}
.ly-list__text {display: flex; flex-direction: column; gap: 0.25em;}
.ly-list__title {font-size: 1.25em; font-weight: 700; line-height: 1.4;}
.ly-list__desc {font-size: 0.875em; font-weight: 500; line-height: 1.7; color: var(--gray800);}

/* 2열 그리드 — 아이콘 위 / 텍스트 아래 */
.ly-list--grid {display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 0.875em; padding-top: 0;}
.ly-list--grid .ly-list__item {flex-direction: column; gap: 1.4375em;}
.ly-list--grid .ly-list__desc {line-height: 1.4;}

/* ----- 비주얼 슬라이더 ----- */
.ly-slider {width: 100%; height: 100%;}
.ly-slider .ly-slider__slide {display: flex; align-items: center; justify-content: center; padding: 1.4375em 3.625em; background-color: #fff;}
.ly-slider__slide--fill {padding: 0;}
.ly-slider__img {display: block; width: 100%;}
.ly-slider__slide--fill .ly-slider__img {height: 100%; object-fit: cover;}
/* nav·count 는 swiper CSS 가 뒤에 로드되므로 .ly-slider 를 붙여 특이도를 올려야 덮인다 */
.ly-slider .ly-slider__nav {top: 50%; width: 3.125em; height: 3.125em; margin: 0; transform: translateY(-50%); background-image: none;}
.ly-slider .ly-slider__nav::after {display: none;}
.ly-slider .ly-slider__nav--prev {left: 3.125em; right: auto;}
.ly-slider .ly-slider__nav--next {right: 3.125em; left: auto;}
.ly-slider__nav img {display: block; width: 100%;}
.ly-slider__nav--next img {transform: rotate(180deg);}
/* 카운터 위치값은 자기 font-size(18px) 기준 — 우 60px / 하 21px */
/* fraction 은 swiper 가 .swiper-pagination-horizontal.swiper-pagination-fraction (클래스 2개)로 잡으므로 3개로 덮는다 */
.ly-slider__count {font-size: 1.125em; font-weight: 700; line-height: 1.4; letter-spacing: -0.08333em;}
.ly-slider .ly-slider__count.swiper-pagination-fraction {left: auto; right: 3.3333em; bottom: 1.1667em; width: auto; text-align: right; color: var(--gray600);}

@media(max-width:1080px){
	.ly-intro + .ly-intro {margin-top: 5em;}
	.ly-intro__inner,
	.ly-intro--reverse .ly-intro__inner {flex-direction: column-reverse; gap: 3.125em;}
	.ly-intro__body {width: 100%;}
	.ly-intro__body--mid-gap,
	.ly-intro__body--wide-gap {gap: 2.5em;}
	.ly-intro__num,
	.ly-intro__title {font-size: 2.6em;}
	.ly-intro__visual {width: 100%;}
}
@media(max-width:768px){
	.ly-intro__num,
	.ly-intro__title {font-size: 2em;}
	.ly-intro__eng,
	.ly-intro__quote {font-size: 1.25em;}
	.ly-intro__desc {font-size: 1em;}
	.ly-list {gap: 1.5em;}
	.ly-list__item {gap: 1.25em;}
	.ly-list__ico {width: 3em; height: 3em;}
	.ly-list__title {font-size: 1.125em;}
	.ly-list--grid {grid-template-columns: 1fr; row-gap: 1.5em;}
	.ly-list--grid .ly-list__item {gap: 1em;}
	.ly-slider__slide {padding: 1em 2em;}
	.ly-slider__slide--fill {padding: 0;}
	.ly-slider .ly-slider__nav {width: 2.25em; height: 2.25em;}
	.ly-slider .ly-slider__nav--prev {left: 1.25em;}
	.ly-slider .ly-slider__nav--next {right: 1.25em;}
	.ly-slider__count {font-size: 1em;}
	.ly-slider .ly-slider__count.swiper-pagination-fraction {right: 1.6667em; bottom: 0.8333em;}
}
@media(max-width:500px){
	.ly-intro__num,
	.ly-intro__title {font-size: 1.6em;}
}
/************************* ly-intro 끝 *************************/


/************************* ly-effect (도입 효과 공통) *************************/
.ly-effect {margin-top: 7.5em; padding: 6.25em 0; background-color: var(--gray50);}
.ly-effect__head {display: flex; flex-direction: column; align-items: center; gap: 0.75em; text-align: center; letter-spacing: -0.03125em;}
.ly-effect__cate {font-size: 1.125em; font-weight: 700; line-height: 1.4; color: var(--main-color);}
.ly-effect__title {font-size: 3.25em; font-weight: 700; line-height: 1.4;}
.ly-effect__list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25em; margin-top: 3.125em;}
.ly-effect__item {display: flex; flex-direction: column; gap: 2em; padding: 2.5em; background-color: #fff; border-radius: 1.25em;}
.ly-effect__ico {display: flex; align-items: center; justify-content: center; width: 3.75em; height: 3.75em;}
.ly-effect__ico img {display: block; max-width: 100%; max-height: 100%;}
.ly-effect__text {display: flex; flex-direction: column; gap: 0.75em; letter-spacing: -0.03125em;}
.ly-effect__subject {font-size: 1.75em; font-weight: 700; line-height: 1.4; color: var(--main-color);}
.ly-effect__desc {font-size: 1.125em; font-weight: 500; line-height: 1.8; color: var(--gray800);}
.ly-effect__strong {font-weight: 700; color: var(--main-black);}

@media(max-width:1080px){
	.ly-effect {margin-top: 5em; padding: 5em 0;}
	.ly-effect__title {font-size: 2.6em;}
	.ly-effect__item {padding: 2em;}
}
@media(max-width:768px){
	.ly-effect__cate {font-size: 1em;}
	.ly-effect__title {font-size: 2em;}
	.ly-effect__list {grid-template-columns: 1fr; margin-top: 2.5em;}
	.ly-effect__subject {font-size: 1.5em;}
	.ly-effect__desc {font-size: 1em;}
}
@media(max-width:500px){
	.ly-effect__title {font-size: 1.6em;}
}
/************************* ly-effect 끝 *************************/