:root{
--color-primary: #C5A059;
--color-secondary: #3C3C3C;
--color-text: #141414;
--mn-sec-padding: 100px;
--sub-sec-padding: 120px;
--fz-10: min(2.1vw, 10px); --fz-11: min(2.4vw, 11px); --fz-12: min(2.7vw, 12px); --fz-13: min(2.9vw, 13px); --fz-14: min(3.2vw, 14px); --fz-15: min(3.5vw, 15px); --fz-16: min(3.7vw, 16px); --fz-17: min(4.0vw, 17px); --fz-18: min(4.3vw, 18px); --fz-19: min(4.5vw, 19px); --fz-20: min(4.8vw, 20px); --fz-21: min(5.1vw, 21px); --fz-22: min(5.3vw, 22px); --fz-23: min(5.6vw, 23px); --fz-24: min(5.9vw, 24px); --fz-25: min(6.1vw, 25px); --fz-26: min(6.4vw, 26px); --fz-27: min(6.7vw, 27px); --fz-28: min(6.9vw, 28px); --fz-29: min(7.2vw, 29px); --fz-30: min(7.5vw, 30px); --fz-31: min(7.7vw, 31px); --fz-32: min(8.0vw, 32px); --fz-33: min(8.3vw, 33px); --fz-34: min(8.5vw, 34px); --fz-35: min(8.8vw, 35px); --fz-36: min(9.1vw, 36px); --fz-37: min(9.3vw, 37px); --fz-38: min(9.6vw, 38px); --fz-39: min(9.9vw, 39px); --fz-40: min(10.1vw, 40px); --fz-41: min(10.4vw, 41px); --fz-42: min(10.7vw, 42px); --fz-43: min(10.9vw, 43px); --fz-44: min(11.2vw, 44px); --fz-45: min(11.5vw, 45px); --fz-46: min(11.7vw, 46px); --fz-47: min(12.0vw, 47px); --fz-48: min(12.3vw, 48px); --fz-49: min(12.5vw, 49px); --fz-50: min(12.8vw, 50px);
--h1-fz: 36px;
--h2-fz: 28px;
--h3-fz: 24px;
--h4-fz: 20px;
--h5-fz: 18px;
--tit-desc-fz: 18px;
--detail-fz: 18px;
--ff-pretendard: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
--ff-cardo: "Cardo", serif;
--ff-notoSerif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
}

h1{font-size: var(--fz-36);}
h2{font-size: var(--fz-28);}
h3{font-size: var(--fz-24);}
h4{font-size: var(--fz-20);}
h5{font-size: var(--fz-18);}
/* 공통 스크롤바 디자인 (DY 테마 컬러 매칭) */
::-webkit-scrollbar{width: 14px; height: 14px;}
::-webkit-scrollbar-track, ::-webkit-scrollbar-track-piece{background: transparent !important;}
::-webkit-scrollbar-thumb{border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: #999999;}
::-webkit-scrollbar-thumb:hover{background-clip: padding-box; background-color: #777777;}
::-webkit-scrollbar-corner{background: transparent !important;}

body, button, input, select, textarea, a{color: var(--color-text); font-family: var(--ff-pretendard);}
figure {margin: 0;}
img{width: 100%; height: auto; display: block;}

/* 피그마 폰트 대응 */
body {-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

.mo{display: none !important;}
.mo-ib{display: none !important;}
.mo-if{display: none !important;}
.mo-f{display: none !important;}
.mo-g{display: none !important;}

header{position: fixed; top: 0; left: 0; width: 100%; z-index: 990; --hd-text: #2f2a28; --hd-ham: #2f2a28; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: background-color 0.35s ease, backdrop-filter 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease, color 0.35s ease; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);}
header.hide{transform: translateY(-100%); box-shadow: none;}
header.tr{background: #2F2A2899; backdrop-filter: none; -webkit-backdrop-filter: none; --hd-text: #ffffff; --hd-ham: #ffffff; box-shadow: none;}
header .hd-cont{width: 100%; max-width: 1920px; height: 72px; padding-inline: clamp(24px, 4vw, 80px); display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; margin-inline: auto;}
header .logo-area{width: clamp(160px, 12vw, 250px); flex-shrink: 0; font-size: initial; line-height: 1;}
header .logo-link{display: inline-flex; align-items: center; text-decoration: none;}
header .logo-img{width: 168px; height: auto; display: block; transition: filter 0.35s ease;}
header:not(.tr) .logo-img{filter: brightness(0) saturate(100%) invert(16%) sepia(8%) saturate(940%) hue-rotate(334deg) brightness(96%) contrast(89%);}
header.tr .logo-img{filter: none;}
header .navigation{flex-grow: 1; display: flex; justify-content: center; align-items: center; height: 100%;}
header .menu-list{display: flex; gap: clamp(16px, 2.8vw, 56px); justify-content: center; width: 100%; height: 100%; list-style: none; padding: 0; margin: 0; white-space: nowrap;}
header .menu-item{position: relative; width: fit-content; height: 100%; display: flex; align-items: center; text-align: center;}
header .menu-item > a{display: flex; align-items: center; height: 100%; text-align: center; color: var(--hd-text); font-size: clamp(15px, 0.95vw, 18px); font-weight: 500; line-height: 1.4em; transition: color 0.3s ease; text-decoration: none; letter-spacing: -0.02em;}
header .menu-item:after{position: absolute; content: ''; bottom: 0; left: 50%; width: 0; height: 2px; background-color: var(--hd-text); transition: all 0.3s ease; transform: translateX(-50%); pointer-events: none;}
header .menu-item:hover:after{width: 100%;}
header .gnb-dropdown{position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(6px); padding-top: 8px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s; z-index: 1000;}
header .menu-item:hover .gnb-dropdown{opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0);}
header .menu-item .gnb-dropdown.is-hidden{opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;}
header .gnb-dropdown-inner{width: clamp(160px, 10.8vw, 196px); background-color: #FFFFFF; border-radius: 4px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column;}
header .gnb-dropdown-inner a{display: flex; align-items: center; justify-content: center; height: 48px; padding: 0 10px; font-size: clamp(14px, 0.83vw, 16px); font-weight: 500; color: #2F2A28; background-color: #FFFFFF; text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.2s ease, color 0.2s ease; line-height: 1; letter-spacing: -0.02em;}
header .gnb-dropdown-inner a:hover{background-color: #2F2A28; color: #FFFFFF;}
header .hd-btn-wrap{display: flex; justify-content: flex-end; align-items: center; width: clamp(160px, 12vw, 250px); gap: clamp(16px, 1.8vw, 32px); flex-shrink: 0;}
header .hd-lang-wrap{position: relative;}
header .btn-lang{display: flex; align-items: center; gap: 6px; background: transparent; border: none; cursor: pointer; color: var(--hd-text); padding: 6px; transition: color 0.3s;}
header .btn-lang svg{stroke: var(--hd-text); transition: stroke 0.3s;}
header .btn-lang .lang-txt{font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: -0.01em; color: var(--hd-text); transition: color 0.3s;}
header .btn-lang .lang-arrow{font-size: 8px; color: var(--hd-text); transition: transform 0.3s, color 0.3s; display: inline-block;}
header .lang-dropdown{position: absolute; top: calc(100% + 12px); left: 50%; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); padding: 8px 0; min-width: 144px; opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(-8px); transition: all 0.25s ease; z-index: 1001;}
header .lang-dropdown.show{opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0);}
header .lang-dropdown a{display: block; padding: 8px 16px; font-size: 14px; color: #3C3C3C; text-decoration: none; text-align: center; transition: background-color 0.2s, color 0.2s; white-space: nowrap !important; word-break: keep-all;}
header .lang-dropdown a:hover, header .lang-dropdown a.active{background-color: #F8F5F2; color: #76614A; font-weight: 600;}
header .hamburger-button{display: flex; flex-direction: column; justify-content: center; gap: 10px; width: 54px; height: 32px; background: transparent; border: none; cursor: pointer; padding: 0; position: relative;}
header .hamburger-button .bar{display: block; height: 2px; background: var(--hd-ham); transition: all 0.3s ease;}
header .hamburger-button .bar-1{width: 54px;}
header .hamburger-button .bar-2{width: 32px;}
header .hamburger-button:hover .bar-2{width: 54px;}


body.side-menu-open{overflow: hidden;}
body.side-menu-open header{z-index: 990;}
body.side-menu-open header .hd-btn-wrap{visibility: hidden;}
#side_backdrop{position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(2px); opacity: 0; pointer-events: none; transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1000;}
#side_backdrop.open{opacity: 1; pointer-events: auto;}
#side_menu{position: fixed; top: 0; right: -840px; width: 100%; max-width: 840px; height: 100vh; height: 100dvh; background-color: #403a36; transition: right 0.45s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.45s; z-index: 1001; display: flex; flex-direction: column; justify-content: space-between; visibility: hidden; overflow: hidden; box-shadow: -15px 0 35px rgba(0, 0, 0, 0.25);}
#side_menu.open{right: 0; visibility: visible;}
#side_menu .nav-head{display: flex; align-items: center; justify-content: flex-end; gap: 32px; height: 120px; padding-inline: clamp(24px, 4.16vw, 80px); flex-shrink: 0; box-sizing: border-box;}
#side_menu .side-lang{position: relative;}
#side_menu .side-lang .btn-lang{display: flex; align-items: center; gap: 8px; background: transparent; border: none; cursor: pointer; color: #fff; padding: 6px;}
#side_menu .side-lang .btn-lang svg{width: 18px; height: 18px; stroke: #fff;}
#side_menu .side-lang .lang-txt{font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: -0.01em; color: #fff;}
#side_menu .side-lang .lang-arrow{font-size: 8px; color: #fff; transform: scaleY(0.7); display: inline-block;}
#side_menu .side-lang .lang-dropdown{position: absolute; top: calc(100% + 8px); left: 50%; background: #2f2a28; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 10px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); padding: 8px 0; min-width: 144px; opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(-8px); transition: all 0.25s ease; z-index: 1002;}
#side_menu .side-lang .lang-dropdown.show{opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0);}
#side_menu .side-lang .lang-dropdown a{display: block; padding: 8px 16px; font-size: 14px; color: #fff; text-decoration: none; text-align: center; transition: background 0.2s; white-space: nowrap !important; word-break: keep-all;}
#side_menu .side-lang .lang-dropdown a:hover, #side_menu .side-lang .lang-dropdown a.active{background: rgba(255, 255, 255, 0.1); color: #C5A059; font-weight: 600;}
#side_menu .side-close{position: relative; width: 54px; height: 20px; background: transparent; border: none; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center;}
#side_menu .side-close .close-bar{position: absolute; width: 54px; height: 2px; background: #fff; transition: transform 0.3s ease, background-color 0.2s;}
#side_menu .side-close .close-bar-1{transform: rotate(-17.85deg);}
#side_menu .side-close .close-bar-2{transform: rotate(17.85deg);}
#side_menu .side-close:hover .close-bar-1{transform: rotate(-25deg); background-color: #C5A059;}
#side_menu .side-close:hover .close-bar-2{transform: rotate(25deg); background-color: #C5A059;}
#side_menu .nav-body{flex: 1; overflow-y: auto; display: flex; flex-direction: column; align-items: center; padding: 64px 20px 40px; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.2) transparent;}
#side_menu .nav-body::-webkit-scrollbar{width: 4px;}
#side_menu .nav-body::-webkit-scrollbar-track{background: transparent;}
#side_menu .nav-body::-webkit-scrollbar-thumb{background: rgba(255, 255, 255, 0.2); border-radius: 2px;}
#side_menu .side-menu-wrap{width: 100%; max-width: 560px; margin: 0 auto;}
#side_menu .side-menu-list{list-style: none; padding: 0; margin: 0; width: 100%; display: flex; flex-direction: column;}
#side_menu .side-item{width: 100%; border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
#side_menu .side-title-wrap{display: flex; justify-content: space-between; align-items: center; height: 72px; padding: 0 20px; cursor: pointer; user-select: none; box-sizing: border-box; transition: background-color 0.25s ease;}
#side_menu .side-title-wrap:hover{background-color: rgba(255, 255, 255, 0.04);}
#side_menu .side-item.active .side-title-wrap{background-color: #2f2a28; border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
#side_menu .side-title-left{display: flex; align-items: center; gap: 10px;}
#side_menu .side-symbol{display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; flex-shrink: 0;}
#side_menu .side-symbol-img{width: 100%; height: auto; display: block;}
#side_menu .side-num{font-family: var(--ff-cardo); font-size: 17px; font-weight: 400; color: #fff; letter-spacing: -0.38px; line-height: 1.6em;}
#side_menu .side-title{font-family: var(--ff-pretendard); font-size: 19px; font-weight: 500; color: #fff; letter-spacing: -0.38px; line-height: 1.6em;}
#side_menu .side-toggle{position: relative; width: 12px; height: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
#side_menu .side-toggle:before{content: ''; position: absolute; width: 12px; height: 1px; background: rgba(255, 255, 255, 0.5);}
#side_menu .side-toggle:after{content: ''; position: absolute; width: 1px; height: 12px; background: rgba(255, 255, 255, 0.5); transition: transform 0.3s ease, opacity 0.3s ease;}
#side_menu .side-item.active .side-toggle:after{transform: rotate(90deg); opacity: 0;}
#side_menu .side-sub-wrap{display: none; padding: 24px 20px 24px 64px; flex-direction: column; gap: 12px; box-sizing: border-box;}
#side_menu .side-item.active .side-sub-wrap{display: flex;}
#side_menu .side-sub-wrap a{color: #fff; font-family: var(--ff-pretendard); font-size: 18px; font-weight: 400; line-height: 32px; letter-spacing: -1px; text-decoration: none; width: fit-content; transition: color 0.2s, border-bottom 0.2s; border-bottom: 1px solid transparent;}
#side_menu .side-sub-wrap a:hover{border-bottom-color: #fff;}
#side_menu .nav-foot{display: flex; justify-content: center; align-items: center; gap: 32px; padding-block: 24px; border-top: 1px solid rgba(255, 255, 255, 0.3); flex-shrink: 0; width: 100%; background: #403a36; box-sizing: border-box;}
#side_menu .nav-foot a{color: #fff; font-family: var(--ff-cardo); font-size: 18px; font-weight: 400; text-decoration: none; transition: opacity 0.2s; line-height: 26px;}
#side_menu .nav-foot a:hover{opacity: 0.7;}
#side_menu .nav-foot .divider{color: #fff; font-family: var(--ff-cardo); font-size: 18px; font-weight: 400; line-height: 26px; opacity: 0.6;}

#main_footer{position: relative; width: 100%; background: #0c0b0a url('../img/ft_bg.webp') no-repeat center center / cover; color: #fff; overflow: hidden;}
#main_footer .ft-inner{width: 100%; max-width: 1920px; margin: 0 auto;}
#main_footer .ft-content-wrap{ height: 495px; display: flex; justify-content: space-between; align-items: flex-end; padding: 80px clamp(40px, 5.2vw, 80px); box-sizing: border-box;}
#main_footer .ft-info-area{display: flex; flex-direction: column; gap: 20px;}
#main_footer .ft-policy-links{display: flex; gap: 32px; align-items: center;}
#main_footer .ft-policy-links a{color: #fff; line-height: 1.5em; font-family: var(--ff-pretendard); font-size: 16px; font-weight: 400; text-decoration: none; transition: opacity 0.2s;}
#main_footer .ft-policy-links a:hover{opacity: 0.7;}
#main_footer .ft-biz-info{display: flex; flex-direction: column; gap: 4px;}
#main_footer .biz-row{display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin: 0; color: #fff; font-family: var(--ff-pretendard); font-size: 15px; font-weight: 400; line-height: 1.87em;}
#main_footer .biz-row span + span::before{content: ''; display: inline-block; width: 1px; height: 12px; background: rgb(255, 255, 255); margin-right: 12px; vertical-align: -1px;}
#main_footer .ft-brand-area{display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; gap: 56px;}
#main_footer .ft-symbol-wrap{width: 108px; height: auto;}
#main_footer .ft-symbol-img{width: 100%; height: auto; display: block;}
#main_footer .ft-brand-title{font-family: var(--ff-cardo); font-size: clamp(28px, 3.125vw, 56px); font-weight: 400; color: #fff; line-height: 1.25em; margin: 0; text-align: right; letter-spacing: -0.01em; white-space: nowrap;}
#main_footer .ft-copyright-wrap{border-top: 1px solid rgba(255, 255, 255, 0.1); padding-block: 14px; text-align: center; box-sizing: border-box;}
#main_footer .ft-copyright{margin: 0; font-size: 15px; font-family: var(--ff-notoSerif); color: #fff; line-height: 1.87em; word-break: keep-all;}
#main_footer .ft-copyright .highlight{color: #fff; text-decoration: underline; font-weight: 500; transition: opacity 0.2s; font-family: var(--ff-notoSerif); }
#main_footer .ft-copyright .highlight:hover{opacity: 0.8;}

.btm-fix-area{position: fixed; bottom: 40px; right: 40px; z-index: 990; pointer-events: auto;}
.floating-container{position: relative; width: 93px;}
.floating-trigger{position: absolute; bottom: 0; right: 0; width: 93px; height: 93px; border-radius: 50%; background: #2f2a28; border: none; cursor: pointer; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18); transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; z-index: 2;}
.floating-trigger:hover{box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25); transform: translateY(-3px);}
.floating-trigger .trigger-txt{display: flex; flex-direction: column; align-items: center; font-family: var(--ff-cardo); font-size: 22px; color: #fff; line-height: 1em; letter-spacing: -0.02em;}
.floating-container.active .floating-trigger{display: none;}
.floating-panel{position: absolute; bottom: 0; right: 0; display: none; width: 93px; border-radius: 46.5px; background: rgba(47, 42, 40, 0.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); overflow: hidden; flex-direction: column; align-items: center; transform-origin: bottom center; transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1); z-index: 2;}
.floating-container.active .floating-panel{display: flex;gap: 8px; animation: floatUp 0.35s cubic-bezier(0.25, 1, 0.5, 1) forwards;}
.floating-container.has-top .floating-trigger{bottom: 108px;}
.floating-container.has-top .floating-trigger:hover{transform: translateY(-3px);}
.floating-container.has-top .floating-panel{bottom: 108px;}
@keyframes floatUp{from{opacity: 0; transform: scaleY(0.5) scaleX(0.85); transform-origin: bottom center;} to{opacity: 1; transform: scaleY(1) scaleX(1); transform-origin: bottom center;}}
.quick-link-item{display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; padding: 20px 0 15px 0; text-decoration: none; color: #fff; transition: color 0.25s ease, transform 0.2s ease;}
.quick-link-item:first-child{padding-top: 30px; padding-bottom: 15px;}
/* .quick-link-item.item-kakao{padding-block: 12px;}
.quick-link-item.item-naver{padding-top: 12px; padding-bottom: 18px;} */
.quick-link-item .quick-ico{width: 24px; height: 24px; margin-bottom: 8px; display: block; background-color: #ffffff; transition: background-color 0.25s ease;}
.quick-link-item.item-call .quick-ico{-webkit-mask: url('../img/quick_icon_call.svg') no-repeat center / contain; mask: url('../img/quick_icon_call.svg') no-repeat center / contain;}
.quick-link-item.item-kakao .quick-ico{-webkit-mask: url('../img/quick_icon_kakao.svg') no-repeat center / contain; mask: url('../img/quick_icon_kakao.svg') no-repeat center / contain;}
.quick-link-item.item-naver .quick-ico{-webkit-mask: url('../img/quick_icon_naver.svg') no-repeat center / contain; mask: url('../img/quick_icon_naver.svg') no-repeat center / contain;}
.quick-link-item.item-instagram .quick-ico{-webkit-mask: url('../img/quick_icon_insta.svg') no-repeat center / contain; mask: url('../img/quick_icon_insta.svg') no-repeat center / contain;}
.quick-link-item.item-whatsapp .quick-ico{-webkit-mask: url('../img/quick_icon_whatsapp.svg') no-repeat center / contain; mask: url('../img/quick_icon_whatsapp.svg') no-repeat center / contain;}
.quick-link-item.item-googlemap .quick-ico{-webkit-mask: url('../img/quick_icon_google.svg') no-repeat center / contain; mask: url('../img/quick_icon_google.svg') no-repeat center / contain;}
.quick-link-item.item-wechat .quick-ico{-webkit-mask: url('../img/quick_icon_wechat.svg') no-repeat center / contain; mask: url('../img/quick_icon_wechat.svg') no-repeat center / contain;}
.quick-link-item .txt{font-family: var(--ff-pretendard); font-size: 14px; font-weight: 500; color: #fff; letter-spacing: -0.01em; line-height: 1.2em; text-align: center; transition: color 0.25s ease;}
.quick-link-item:hover .quick-ico{background-color: #cfbc99;}
.quick-link-item:hover .txt{color: #cfbc99;}
.quick-link-item:hover{transform: scale(1.05);}
.floating-close-btn{width: 93px; height: 93px; border-radius: 46.5px; background: #2f2a28; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 0; transition: background-color 0.2s ease;}
.floating-close-btn:hover{background: #24201e;}
.floating-close-btn svg{transition: transform 0.3s ease; width: 22px; height: 23px;}
.floating-close-btn:hover svg{transform: rotate(90deg);}
.btm-fix-area #top_btn{position: absolute; bottom: 0; right: 0; width: 93px; height: 93px; line-height: 1; border-radius: 50%; background: #e5e5e5; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); opacity: 0; visibility: hidden; pointer-events: none; transform: scale(0.85); transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.35s ease, background-color 0.3s ease, box-shadow 0.3s ease; outline: none; z-index: 1;}
.btm-fix-area #top_btn.show{opacity: 1; visibility: visible; pointer-events: auto; transform: scale(1);}
.btm-fix-area #top_btn.show:hover{transform: translateY(-3px);}
.btm-fix-area #top_btn svg{width: 24px; height: 24px; stroke: #2f2a28; display: block;}

/* 4. LINE & WeChat QR 모달 */
#line_modal.modal-overlay, #wechat_modal.modal-overlay{position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.6); z-index: 10000; align-items: center; justify-content: center; backdrop-filter: blur(2px); cursor: pointer; pointer-events: auto;}
.line-modal-content, .wechat-modal-content{background: #fffcf8; border-radius: 10px; padding: 40px; width: 324px; box-sizing: border-box; text-align: center; position: relative; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); cursor: default; pointer-events: auto;}
.line-modal-header, .wechat-modal-header{display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;}
.line-title, .wechat-title{font-size: 20px; font-weight: 500; color: #2a2a2a; margin: 0; font-family: var(--ff-body);}
.line-close, .wechat-close{background: none; border: none; padding: 6px; margin: -6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform 0.2s, opacity 0.2s;}
.line-close:hover, .wechat-close:hover{transform: scale(1.2); opacity: 0.7;}
.line-qr-box, .wechat-qr-box{width: 244px; height: 244px; background: #fff; border: 1px solid #eee; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px auto; color: #484848; font-size: 18px; font-family: var(--ff-body);}
.line-qr-box img, .wechat-qr-box img{width: 100%; height: 100%; object-fit: contain; display: block;}
.line-desc, .wechat-desc{font-size: 18px; color: #484848; margin: 0; text-align: center; font-family: var(--ff-body);}

@media(max-width: 1024px){
:root{
--mn-sec-padding: 80px;
--sub-sec-padding: 100px;
--h1-fz: var(--fz-25);
--h2-fz: var(--fz-22);
--h3-fz: var(--fz-20);
--h4-fz: var(--fz-18);
--h5-fz: var(--fz-16);
--tit-desc-fz: var(--fz-16);
--detail-fz: var(--fz-18);
}

html, body{overscroll-behavior-y: none;}

.pc{display: none !important;}
.mo{display: block !important;}
.mo-ib{display: inline-block !important;}
.mo-if{display: inline-flex !important;}
.mo-f{display: flex !important;}
.mo-g{display: grid !important;}

header{background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);}
header.tr{background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none;}
body.side-menu-open header{background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important;}
header .hd-cont{height: 70px; padding-inline: 20px;}
header .logo-area{width: auto;}
header .logo-img{width: 130px;}
header .navigation{display: none;}
header .hd-btn-wrap{width: auto; gap: 16px;}
header .hamburger-button{width: 36px; height: 24px; gap: 7px;}
header .hamburger-button .bar-1{width: 36px;}
header .hamburger-button .bar-2{width: 22px;}


#side_menu{max-width: 100%; right: -100%;}
#side_menu .nav-head{height: 70px; padding-inline: 20px; gap: 20px;}
#side_menu .side-close{width: 36px; height: 20px;}
#side_menu .side-close .close-bar{width: 36px;}
#side_menu .nav-body{padding: 24px 16px 20px;}
#side_menu .side-menu-wrap{max-width: 100%;}
#side_menu .side-title-wrap{height: 60px; padding: 0 16px;}
#side_menu .side-title{font-size: var(--fz-17);}
#side_menu .side-num{font-size: var(--fz-15);}
#side_menu .side-symbol{width: 22px; height: 22px;}
#side_menu .side-sub-wrap{padding: 16px 16px 20px 48px; gap: 10px;}
#side_menu .side-sub-wrap a{font-size: var(--fz-16); line-height: 28px;}
#side_menu .nav-foot{gap: 20px; padding-block: 18px;}
#side_menu .nav-foot a, #side_menu .nav-foot .divider{font-size: var(--fz-16); line-height: 22px;}
#main_footer .ft-content-wrap{height: auto; flex-direction: column-reverse; align-items: center; text-align: center; gap: 32px; padding: 48px 20px;}
#main_footer .ft-brand-area{align-items: center; justify-content: center; gap: 16px; width: 100%;}
#main_footer .ft-symbol-wrap{width: 48px; margin: 0 auto;}
#main_footer .ft-brand-title{text-align: center; font-size: clamp(16px, 4.8vw, 24px); white-space: nowrap; line-height: 1.2em; letter-spacing: -0.01em;}
#main_footer .ft-info-area{align-items: center; width: 100%; gap: 18px;}
#main_footer .ft-policy-links{justify-content: center; gap: 20px;}
#main_footer .ft-policy-links a{font-size: 14px;}
#main_footer .ft-biz-info{align-items: center; text-align: center; gap: 0px; width: 100%;}
#main_footer .biz-row{justify-content: center; text-align: center; font-size: 13px; line-height: 1.69em; gap: 0px 8px;}
#main_footer .biz-row span.biz-name{width: 100%; text-align: center;}
#main_footer .biz-row span.biz-num::before{display: none;}
#main_footer .biz-row span.biz-ceo::before{content: ''; display: inline-block; width: 1px; height: 10px; background: rgb(255, 255, 255); margin-right: 8px; vertical-align: -1px;}
#main_footer .biz-row span.biz-addr{width: 100%; text-align: center;}
#main_footer .biz-row span.biz-tel{width: 100%; text-align: center;}
#main_footer .biz-row span.biz-tel::before{display: none;}
#main_footer .ft-copyright{font-size: 12px; padding-inline: 16px;}

.btm-fix-area{bottom: 20px; right: 15px;}
.floating-container{width: 60px;}
.floating-trigger{width: 60px; height: 60px;}
.floating-trigger .trigger-txt{font-size: 14px; line-height: 1em;}
.floating-panel{width: 60px; border-radius: 30px;}
.floating-container.active .floating-panel{gap: 4px;}
.floating-container.has-top .floating-trigger{bottom: 70px; transform: none;}
.floating-container.has-top .floating-trigger:hover{transform: none;}
.floating-container.has-top .floating-panel{bottom: 70px; transform: none;}
.quick-link-item{padding: 10px 0;}
.quick-link-item:first-child{padding-top: 20px; padding-bottom: 10px;}
/* .quick-link-item:last-of-type{padding-top: 10px; padding-bottom: 14px;} */
.quick-link-item .quick-ico{width: 18px; height: 18px; margin-bottom: 4px;}
.quick-link-item .txt{font-size: 11px; line-height: 1.2em;}
.floating-close-btn{width: 60px; height: 60px;}
.floating-close-btn svg{width: 18px; height: 18px;}
.btm-fix-area #top_btn{width: 60px; height: 60px; transform: scale(0.85);}
.btm-fix-area #top_btn.show{transform: scale(1);}
.btm-fix-area #top_btn svg{width: 18px; height: 18px;}
}