@charset "utf-8";
#hd_login_msg, #hd_pop {display: none;}
#sh_wrapper {position: relative;width: 100%;overflow-x: clip;}
#sh_container {position: relative;width: 100%;}
/* ============ 헤더 ============ */
#sh_hd {position: sticky;top: 0;z-index: 100;background: var(--paper);border-bottom: .1rem solid transparent;transition: transform .4s var(--ease), border-color .3s;}
#sh_hd.is-fixed {border-bottom-color: var(--line);}
#sh_hd.is-hide {transform: translateY(-100%);}
.hd-in {display: flex;align-items: center;justify-content: space-between;gap: 4rem;height: var(--header-height);}
.logo {display: inline-flex;align-items: center;gap: 1.2rem;flex-shrink: 0;position: relative;z-index: 120;}
.logo-mk {display: inline-grid;place-items: center;width: 3.8rem;height: 3.8rem;background: var(--accent);color: var(--ink);font-size: 2rem;font-weight: 800;line-height: 1;transition: rotate .6s var(--ease), border-radius .4s;}
.logo:hover .logo-mk {rotate: 90deg;border-radius: 50%;}
.logo-tx {font-size: 2.4rem;font-weight: 800;letter-spacing: -.03em;}
.sh_nav_wrap {margin-left: auto;align-self: stretch;display: flex;}
.sh_nav {display: flex;align-items: stretch;gap: 1rem;}
.sh_nav > li {position: relative;display: flex;align-items: center;}
.sh_nav > li > a {position: relative;display: flex;align-items: baseline;gap: .6rem;padding: 1rem 2rem;font-size: 1.6rem;font-weight: 600;transition: color .3s;}
.sh_nav > li > a i {font-size: 1.1rem;font-weight: 700;color: var(--accent);}
.sh_nav > li > a::after {content: '';position: absolute;left: 2rem;right: 2rem;bottom: .4rem;height: .2rem;background: var(--ink);scale: 0 1;transform-origin: left center;transition: scale .35s var(--ease);}
.sh_nav > li:hover > a, .sh_nav > li:focus-within > a, .sh_nav > li.is-current > a {color: var(--ink);}
.sh_nav > li:hover > a::after, .sh_nav > li:focus-within > a::after, .sh_nav > li.is-current > a::after {scale: 1 1;}
.sh_lnb_s {position: absolute;left: 0;top: 100%;min-width: 24rem;padding: 1.2rem 0;background: #fff;border: .1rem solid var(--ink);opacity: 0;visibility: hidden;translate: 0 1rem;transition: opacity .25s, translate .3s var(--ease), visibility .25s;}
.sh_nav > li:hover .sh_lnb_s, .sh_nav > li:focus-within .sh_lnb_s {opacity: 1;visibility: visible;translate: 0 0;}
.sh_nav > li.is-closed .sh_lnb_s {opacity: 0;visibility: hidden;}
.sh_lnb_s li a {display: flex;align-items: center;justify-content: space-between;padding: 1.1rem 2.4rem;font-size: 1.6rem;color: var(--mute);transition: color .2s, background .2s, padding .3s var(--ease);}
.sh_lnb_s li a::after {content: '↗';opacity: 0;translate: -.8rem 0;transition: opacity .2s, translate .3s var(--ease);}
.sh_lnb_s li a:hover, .sh_lnb_s li a:focus-visible, .sh_lnb_s li a[aria-current] {background: var(--paper);color: var(--ink);padding-left: 3rem;}
.sh_lnb_s li a:hover::after, .sh_lnb_s li a:focus-visible::after {opacity: 1;translate: 0 0;}
.apply {display: inline-flex;align-items: center;gap: .8rem;flex-shrink: 0;height: 4.8rem;padding: 0 2.4rem;border-radius: 2.4rem;background: var(--ink);color: #fff;font-size: 1.5rem;font-weight: 700;transition: background .3s, color .3s;}
.apply:hover, .apply:focus-visible {background: var(--accent);color: var(--ink);}
.gnb_toggle {display: none;position: relative;z-index: 120;width: 4.8rem;height: 4.8rem;margin-left: auto;}
.gnb_toggle span {position: absolute;left: 1rem;right: 1rem;height: .2rem;background: var(--ink);transition: top .3s, rotate .3s, background .3s;}
.gnb_toggle span:nth-child(1) {top: 1.8rem;}
.gnb_toggle span:nth-child(2) {top: 2.8rem;}
.gnb_toggle.on span {background: #fff;}
.gnb_toggle.on span:nth-child(1) {top: 2.3rem;rotate: 45deg;}
.gnb_toggle.on span:nth-child(2) {top: 2.3rem;rotate: -45deg;}
/* ============ 푸터 ============ */
#sh_ft {padding: 12rem 0 4rem;background: var(--ink);color: #fff;overflow: clip;}
.ft-top {display: flex;align-items: flex-end;justify-content: space-between;gap: 4rem;padding-bottom: 10rem;border-bottom: .1rem solid rgba(255, 255, 255, .18);}
.ft-big {font-size: var(--fs-h2);font-weight: 800;line-height: 1.12;letter-spacing: var(--ls-tight);}
.ft-mail {display: inline-flex;align-items: center;gap: 1.2rem;padding-bottom: .8rem;border-bottom: .2rem solid var(--accent);font-size: var(--fs-h3);font-weight: 700;transition: color .3s, gap .3s;}
.ft-mail:hover, .ft-mail:focus-visible {color: var(--accent);gap: 2rem;}
.ft-mid {display: grid;grid-template-columns: 34rem minmax(0, 1fr);gap: 8rem;padding: 8rem 0;}
.ft-info h2, .ft-col h2 {margin-bottom: 2.4rem;font-size: var(--fs-label);font-weight: 700;letter-spacing: var(--ls-label);text-transform: uppercase;color: rgba(255, 255, 255, .5);}
.ft-col h2 a:hover {color: var(--accent);}
.ft-tel {font-size: 3.2rem;font-weight: 800;letter-spacing: -.02em;}
.ft-hours {margin: 1rem 0 2.4rem;font-size: var(--fs-small);color: rgba(255, 255, 255, .6);white-space: pre-line;}
.ft-info address {display: flex;flex-direction: column;gap: .6rem;font-size: var(--fs-small);color: rgba(255, 255, 255, .6);}
.ft-menu {display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 3rem;}
.ft-col ul {display: flex;flex-direction: column;gap: 1.1rem;}
.ft-col li a {display: inline-block;font-size: 1.6rem;color: rgba(255, 255, 255, .85);transition: color .2s, translate .3s var(--ease);}
.ft-col li a:hover, .ft-col li a:focus-visible {color: var(--accent);translate: .6rem 0;}
.ft-word {font-size: clamp(10rem, 24vw, 40rem);font-weight: 800;line-height: .82;letter-spacing: -.06em;white-space: nowrap;color: rgba(255, 255, 255, .07);user-select: none;}
.ft-bot {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1.6rem 4rem;padding-top: 3rem;border-top: .1rem solid rgba(255, 255, 255, .18);font-size: 1.3rem;color: rgba(255, 255, 255, .55);}
.ft-links {display: flex;flex-wrap: wrap;gap: .8rem 2.4rem;}
.ft-links a:hover, .ft-links a:focus-visible {color: #fff;}
.ft-links ul {display: flex;gap: 2.4rem;}
/* ============ 스크롤 진입 효과: 스크립트가 켜져 있을 때(.fx)만 숨김 ============ */
.fx [data-aos] {opacity: 0;transition: opacity .9s var(--ease), transform .9s var(--ease);transition-delay: calc(var(--aos-delay, 0) * 1ms);}
.fx [data-aos='fade-up'] {transform: translate3d(0, 4rem, 0);}
.fx [data-aos].aos-animate {opacity: 1;transform: none;}
.ln {display: block;overflow: hidden;padding-bottom: .1em;margin-bottom: -.1em;}
.ln > span {display: block;}
.fx [data-lines] .ln > span {translate: 0 110%;transition: translate 1.1s var(--ease) calc(var(--i, 0) * .12s);}
.fx [data-lines].aos-animate .ln > span {translate: 0 0;}
.fx-progress {position: fixed;left: 0;top: 0;z-index: 400;width: 100%;height: .4rem;background: var(--accent);transform-origin: left center;transform: scaleX(0);pointer-events: none;}
.totop {position: fixed;right: 3.2rem;bottom: 3.2rem;z-index: 90;display: grid;place-items: center;width: 5.6rem;height: 5.6rem;border-radius: 50%;background: var(--ink);color: #fff;opacity: 0;visibility: hidden;translate: 0 2rem;transition: opacity .3s, translate .3s var(--ease), visibility .3s, background .3s;}
.totop.is-on {opacity: 1;visibility: visible;translate: 0 0;}
.totop:hover {background: var(--accent);color: var(--ink);}
.totop svg {width: 2.4rem;height: 2.4rem;fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;}
[data-parallax] img {scale: 1.16;translate: 0 var(--sy, 0px);will-change: translate;}
@media (max-width: 1280px) {
.sh_nav > li > a {padding: 1rem 1.2rem;}
.sh_nav > li > a::after {left: 1.2rem;right: 1.2rem;}
.ft-mid {grid-template-columns: 1fr;gap: 6rem;}
}
@media (max-width: 1024px) {
.gnb_toggle {display: block;}
.apply {margin-left: auto;}
.sh_nav_wrap {margin-left: 0;}
.sh_nav {position: fixed;inset: 0;z-index: 110;display: none;flex-direction: column;gap: 0;padding: calc(var(--header-height) + 2rem) var(--page-gutter) 4rem;overflow-y: auto;background: var(--ink);color: #fff;}
#sh_hd.menu_open .sh_nav {display: flex;}
.sh_nav > li {display: block;padding: 2.4rem 0;border-bottom: .1rem solid rgba(255, 255, 255, .18);}
.sh_nav > li > a {padding: 0;font-size: clamp(3.6rem, 7vw, 6rem);font-weight: 800;letter-spacing: var(--ls-tight);line-height: 1.1;color: #fff;}
.sh_nav > li > a i {font-size: 1.4rem;}
.sh_nav > li > a::after {display: none;}
.sh_nav > li:hover > a, .sh_nav > li:focus-within > a, .sh_nav > li.is-current > a {color: var(--accent);}
.sh_lnb_s {position: static;display: flex;flex-wrap: wrap;gap: .6rem 2.4rem;min-width: 0;padding: 1.6rem 0 0;background: none;border: 0;opacity: 1;visibility: visible;translate: 0 0;}
.sh_lnb_s li a {padding: .4rem 0;font-size: 1.7rem;color: rgba(255, 255, 255, .7);}
.sh_lnb_s li a::after {display: none;}
.sh_lnb_s li a:hover, .sh_lnb_s li a:focus-visible, .sh_lnb_s li a[aria-current] {background: none;color: var(--accent);padding-left: 0;}
.ft-top {flex-direction: column;align-items: flex-start;padding-bottom: 6rem;}
.ft-menu {grid-template-columns: repeat(3, minmax(0, 1fr));gap: 4rem 3rem;}
}
@media (max-width: 768px) {
.logo-mk {width: 3.4rem;height: 3.4rem;font-size: 1.8rem;}
.logo-tx {font-size: 2.1rem;}
.apply {height: 4.2rem;padding: 0 1.6rem;font-size: 1.4rem;}
.hd-in {gap: 1.2rem;}
#sh_ft {padding-top: 7rem;}
.ft-mid {padding: 5rem 0;}
.ft-menu {grid-template-columns: repeat(2, minmax(0, 1fr));}
.ft-tel {font-size: 2.8rem;}
.totop {right: 1.6rem;bottom: 1.6rem;width: 4.8rem;height: 4.8rem;}
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {animation-duration: .01ms !important;animation-iteration-count: 1 !important;transition-duration: .01ms !important;}
.fx [data-aos], .fx [data-lines] .ln > span {opacity: 1;transform: none;translate: 0 0;}
[data-parallax] img {translate: 0 0;}
}
