@charset "utf-8";

html {font-size: 62.5%;}
body {background-color: #010114; color: #FFF; font-family: 'Pretendard', sans-serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0;}

@media (max-width: 992px) {
    html {font-size: 58.6%;} /* 15px */
}
@media (max-width: 768px) {
    html {font-size: 58.6%;} /* 15px */
}

/* scrollbar */
body::-webkit-scrollbar {width: 8px; height: 8px;}
body::-webkit-scrollbar-track {background-color: transparent;}
body::-webkit-scrollbar-thumb {background-color: #fff; border-radius: 50px;}



/* ============================================================
* container
* ============================================================ */
.container {width: 100%; max-width: 1676px; margin: 0 auto;}
@media (min-width: 1921px) {
    .container {max-width: 1860px;}
}
@media (max-width: 1740px) {
    .container {padding: 0 4rem;}
}
@media (max-width: 1200px) {
    .container {padding: 0 2rem;}
}



/* ============================================================
* header
* ============================================================ */
header {position: absolute; top: 0; left: 0; right: 0; height: var(--hd-height); z-index: 2; transition: var(--trans-25);}
.mainPage header {position: fixed;}
/*header.hd-scroll {background: #01012F;}*/

header .container {position: relative; display: flex; justify-content: space-between; align-items: center; height: 100%;}
header h1 a {display: block; width: 12rem; aspect-ratio: 120/47; background-image: url("../img/logo/horiz_wt.png"); background-position: left center; background-size: contain; background-repeat: no-repeat;}

header .right {position: relative; display: flex; align-items: center; gap: 2.8rem;}
header .right::after {content: ""; display: block; width: 7.8rem; aspect-ratio: 78/58; background: url("../img/page/hd_deco.png");}

/* 한영 전환 */
.lang-toggle {position: relative; display: inline-block;}
.lang-btn {position: relative; display: inline-flex; align-items: center; width: 7.7rem; height: 4rem; border-radius: 10rem; border: 1px solid rgba(255,255,255,0.16); background: rgba(255,255,255,8%); cursor: pointer; transition: var(--trans-25);}
.lang-btn::before {content: ""; display: block; width: 2rem; aspect-ratio: 1; margin: 0 0.8rem 0 1.2rem; background-image: url("../img/globe.svg"); background-position: center; background-size: contain; background-repeat: no-repeat;}
.lang-options {opacity: 0; visibility: hidden; height: 0; transition: var(--trans-25); position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background: #fff; z-index: 100;}
.lang-options button {display: block; width: 100%; padding: 1rem 1.5rem; color: var(--col-bk); transition: var(--trans-25);}
.lang-options button + button {border-top: 1px solid var(--col-bd-gray);}
.lang-toggle.active .lang-options {opacity: 1; visibility: visible; height: auto;}

@media (hover: hover) and (pointer: fine) {
    .lang-btn:hover {background: rgba(255,255,255,20%);}
}
@media (max-width: 1100px) {
    header .right::after {display: none;}
}
@media (max-width: 768px) {
    header {height: var(--hd-height-m);}
    header h1 a {width: 8rem;}
}



/* ============================================================
* nav
* ============================================================ */
nav {position: absolute; top: 0; left: 50%; transform: translateX(-50%); height: 100%;}
nav .depth1 {display: flex; justify-content: center; gap: 5.2rem; height: 100%;}
nav .depth1 > li {flex: 1 0 auto; position: relative;}
nav .depth1 > li > a,
nav .depth1 > li > button {position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; padding: 0 1rem; color: inherit; font-size: 1.6rem; font-weight: 400; transition: var(--trans-25);}

.exlink {display: inline-flex; flex-direction: row !important; align-items: center; gap: .4rem;}
.exlink::after {content: ""; display: block; width: 1.8rem; aspect-ratio: 1; background: url("../img/exlink_wt.svg") center/auto no-repeat;}


/* depth2 */
nav .active .depth2 {opacity: 1; visibility: visible; top: calc(70% + 1rem);}
nav .depth2 {opacity: 0; visibility: hidden; position: absolute; top: calc(60% + 1rem); left: 50%; transform: translateX(-50%); width: max-content; min-width: 12rem; padding: 1.5rem 0 1.2rem; background: rgba(255,255,255,0.3); border-radius: 0.8rem; overflow: hidden; transition: var(--trans-25);}
nav .depth2 > li > a {display: block; width: 100%; height: 100%; padding: 0.8rem 2.6rem; font-size: 1.6rem; font-weight: 400; transition: var(--trans-25);}

/* button open navigation */
.btn-snb {display: none;}
.btn-snb .hamburger {display: flex; flex-direction: column; gap: 5px; cursor: pointer; transition: var(--trans-25);}
.btn-snb .hamburger span {display: block; width: 25px; height: 3px; background: #fff; transition: var(--trans-25);}

@media (hover: hover) and (pointer: fine) {
    nav .depth1 > li > a:hover,
    nav .depth1 > li > button:hover {color: rgba(255,255,255,0.7);}
}
@media (max-width: 1320px) {
    nav .depth1 {gap: 2rem;}
}
@media (max-width: 992px) {
    .btn-snb {display: block;}
    nav,
    .hd-link {display: none;}
}
@media (max-width: 768px) {
    .btn-snb .hamburger span {width: 17px; height: 2px;}
}
@media (max-width: 576px) {
    header .right {gap: 1.6rem;}
}



/* ============================================================
* SNB
* ============================================================ */
body.open {overflow: hidden;}
body.open .snb-container {opacity: 1; visibility: visible; right: 0;}
body.open .btn-close .icon-burger {background: transparent;}
body.open .btn-close .icon-burger:before,
body.open .btn-close .icon-burger:after {top: 0; background: #fff;}
body.open .btn-close .icon-burger:before {transform: rotate(-45deg);}
body.open .btn-close .icon-burger:after {transform: rotate(45deg);}

.snb-container {opacity: 0; visibility: hidden; position: fixed; top: 0; right: -30rem; bottom: 0; width: 42rem; max-width: 100%; padding: 0 2rem; background: #000014; background: linear-gradient(0deg, rgba(0, 0, 20, 1) 0%, rgba(0, 0, 54, 1) 100%); transition: var(--trans-25);}
.snb-header {display: flex; justify-content: space-between; align-items: center; height: var(--hd-height);}
.snb-logo {display: block; width: 8rem; aspect-ratio: 80/32; background-image: url("../img/logo/horiz_wt.png"); background-position: left center; background-size: contain; background-repeat: no-repeat;}
.btn-close .icon-burger {position: relative; display: block; width: 27px; height: 3px; margin: 0 auto; background: var(--col-bk); transition: var(--trans-25);}
.btn-close .icon-burger:before,
.btn-close .icon-burger:after {content: ''; position: absolute; width: 100%; height: 100%; display: block; background: var(--col-bk); border-radius: 30px; transition: var(--trans-25);}
.btn-close .icon-burger:before {top: 8px;}
.btn-close .icon-burger:after {top: -8px;}

.snb-container .snb {display: none; max-height: calc(100% - var(--hd-height) - 5rem); overflow: hidden auto;}
.snb-container .snb::-webkit-scrollbar {width: 8px; height: 8px;}
.snb-container .snb::-webkit-scrollbar-track {background-color: transparent;}
.snb-container .snb::-webkit-scrollbar-thumb {background-color: #fff; border-radius: 50px;}
.snb-container .depth1 > li + li {margin-top: 2.6rem;}
.snb-container .depth1 > li > a {color: #fff; font-size: 2rem; font-weight: 500;}
.snb-container .depth2 {margin-top: 1rem;}
.snb-container .depth2 > li > a {color: #fff; font-size: 14px; font-weight: 300; line-height: 1.85;}

@media (hover: hover) and (pointer: fine) {

}
@media (max-width: 992px) {
    .snb-container .snb {display: block;}
}
@media (max-width: 768px) {
    .snb-header {height: var(--hd-height-m);}
    .snb-container .snb {max-height: calc(100% - var(--hd-height-m) - 5rem); padding-top: 7%;}
}



/* ============================================================
* footer
* ============================================================ */
footer {padding: 5rem 0 7rem; background: #000024; color: #fff; border-top: 1px solid #7C859C; font-size: 1.4rem; overflow: hidden;}
footer .container {display: flex; justify-content: space-between;}
footer .container .left {flex: 0 0 auto;}
footer .container .right {flex: 1 0 0;}

.ft-logo {display: block; width: 12rem; aspect-ratio: 120/48; margin-bottom: 3.2rem; background-image: url("../img/logo/horiz_wt.png"); background-position: left center; background-size: contain; background-repeat: no-repeat;}
footer p {color: #BBBBBB; line-height: 1.65;}
footer copyright {display: block; margin-top: 5rem;}

.ft-nav .depth1 {display: flex; justify-content: flex-end; gap: 6%;}
.ft-nav .depth1 > li {}
.ft-nav .depth1 > li > a {font-size: 15px; font-weight: 400;}
.ft-nav .depth2 > li {margin-top: 1.6rem; }
.ft-nav .depth2 > li > a {color: #BBBBBB; font-size: 13px; font-weight: 400;}

@media (max-width: 1060px) {
    footer .container {display: block;}
    .ft-nav {display: none;}
}



/* ============================================================
* sub visual
* ============================================================ */
.sub-visual {display: flex; justify-content: center; align-items: center; height: 54.8rem; background: url("../img/page/bg_subvisual.png") center top/cover no-repeat; text-align: center; overflow: hidden;}
.sub-visual h2 {position: relative; display: inline-block; font-family: 'EF_MACHO'; font-size: 5.6rem;}
.sub-visual p {max-width: 58rem; margin: 2.2rem auto 0; line-height: 1.75}

.sub-visual h2::before,
.sub-visual h2::after {content: ""; position: absolute; opacity: 0; transform: translateY(20px); animation: fadeUp 0.75s ease-out forwards;}
.sub-visual h2::before {bottom: 0; left: -13rem; width: 15rem; aspect-ratio: 151/174; background: url("../img/page/subvisual_deco01.png") center/contain no-repeat; animation-delay: 0.6s;}
.sub-visual h2::after {top: -4rem; right: -7rem; width: 8rem; aspect-ratio: 1; background: url("../img/page/subvisual_deco02.png") center/contain no-repeat; animation-delay: 0.8s;}

@keyframes fadeUp {
    to {opacity: 1; transform: translateY(0);}
}

@media (max-width: 768px) {
    .sub-visual {height: 47rem;}
    .sub-visual h2 {font-size: 4rem;}
    .sub-visual h2::before {bottom: 2rem; left: -8rem; width: 12rem;}
    .sub-visual h2::after {width: 6rem;}
}
@media (max-width: 576px) {
    .sub-visual h2 {font-size: 3rem;}
}



/* ============================================================
* menu tab
* ============================================================ */
.menu-tab {height: 7rem;}
.menu-tab .current {line-height: 7rem;}

.menu-tab {position: absolute; bottom: 0; left: 0; right: 0; height: 7rem; border-top: 1px solid #fff; z-index: 1;}
.menu-tab .container {display: flex; height: 100%;}
.menu-tab .home {height: 100%; aspect-ratio: 1; background: url("../img/home_wt.svg") center/auto no-repeat; border-right: 1px solid #fff;}
.menu-tab .home a {display: block; width: 100%; height: 100%;}
.menu-tab .current {position: relative; padding: 0 4rem 0 2rem; width: 26rem; height: 100%; border-right: 1px solid #fff; color: #fff; font-size: 1.8rem; font-weight: 700; cursor: pointer; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.menu-tab .current::after {content: ""; position: absolute; top: 50%; right: 1.2rem; transform: translateY(-50%); width: 1.4rem; aspect-ratio: 12/8; background-image: url("../img/arrow_wt_b.svg"); background-position: center; background-size: contain; background-repeat: no-repeat; transition: var(--trans-25);}

.menu-tab .depth1,
.menu-tab .depth2 {position: relative;}
.menu-tab .depth2 {margin-left: -1px;}
.menu-tab ul {opacity: 0; visibility: hidden; position: absolute; top: calc(80% - 1px); left: 0; right: 0; border: 1px solid var(--col-theme); background: #fff; z-index: 1; transition: var(--trans-25);}
.menu-tab ul li a {display: block; padding: 1rem 2rem; transition: var(--trans-25); text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}

.menu-tab .depth1.active .current::after,
.menu-tab .depth2.active .current::after {transform: translateY(-50%) rotate(180deg);}
.menu-tab .depth1.active ul,
.menu-tab .depth2.active ul {opacity: 1; visibility: visible; top: calc(100% - 1px);}

@media (hover: hover) and (pointer: fine) {
    .menu-tab ul li a:hover {background: var(--col-theme); color: #fff;}
}
@media (max-width: 768px) {
    .menu-tab {height: 6rem;}
    .menu-tab .current {line-height: 6rem;}

    .menu-tab .home {display: none;}
    .menu-tab .container {padding: 0;}
    .menu-tab .depth1,
    .menu-tab .depth2 {width: 50%;}
    .menu-tab .depth2 .current {border: 0;}
    .menu-tab .current {width: 100%; font-size: 1.5rem;}
}
