:root{
--color-primary: #403627;
--color-secondary: #4C4334;
--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);
--fz-52: min(13.3vw, 52px);
--h1-fz: 36px;
--h2-fz: 28px;
--h3-fz: 24px;
--h4-fz: 20px;
--h5-fz: 18px;
--tit-desc-fz: 18px;
--detail-fz: 18px;
--ff-suit: 'SUIT Variable', sans-serif;;
--ff-cormorant: "Cormorant Garamond", serif;
--ff-nanummyeongjo: 'NanumMyeongjo', serif;
--ff-playfair: "Playfair Display", serif;

--ff-body: var(--ff-suit);
}

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);}

*, a, p {word-break: keep-all;}

body, button, input, select, textarea, a{color: var(--color-text); font-family: var(--ff-body);}

html, body{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html.no-scroll, body.no-scroll {
    overflow: hidden !important;
    height: 100% !important;
    position: relative;
}

.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 ========== */
.header-container{position: fixed; top: 0; left: 0; width: 100%; z-index: 999;}

/* default(접힌) 상태 - 투명한 바 */
.header-container .hd-cont{display: flex; align-items: center; justify-content: space-between; height: 100px; padding: 0 clamp(30px, 3vw, 54px); background: transparent; position: relative; z-index: 2; border-bottom: 1px solid rgba(255, 255, 255, 0.15); transition: background 0.3s, border-color 0.3s;}

/* 로고 */
.header-container .logo-area{flex-shrink: 0; transition: opacity 0.3s, visibility 0.3s;z-index: 10;}
.header-container .logo-area a{display: block;}
.header-container .logo-area img{height: 36px; width: auto; transition: filter 0.3s;}

/* 네비게이션 */
.header-container .navigation{position: absolute; left: 50%; top: 0; transform: translateX(-50%); z-index: 3;}
.header-container .menu-list{display: flex; list-style: none; margin: 0; padding: 0; gap: 0;}
.header-container .menu-item{display: flex; flex-direction: column; width: clamp(140px, 10vw, 170px); transition: background 0.3s;}
.header-container .menu-link{display: flex; align-items: center; justify-content: center; height: 100px; padding: 0 10px; font-size: clamp(14px, 0.83vw, 16px); font-weight: 500; color: #fff; cursor: pointer; transition: color 0.2s; white-space: nowrap; word-break: keep-all; width: 100%; box-sizing: border-box; text-align: center; flex-shrink: 0;}
.header-container .menu-link.en{font-family: var(--ff-cormorant); font-weight: 600;}
.header-container .menu-link-signature{font-style: italic; font-size: clamp(16px, 0.95vw, 18px);}
.sig-badge{display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; background: #edd83d; border-radius: 50%; font-family: var(--ff-cormorant); font-weight: 600; font-style: italic; font-size: 10px; color: #141414; margin-right: 4px; flex-shrink: 0; line-height: 1;}

.header-container .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 0 0px;
    width: 100%;
    height: 0;
    overflow: hidden;
    box-sizing: border-box;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.12s ease-in-out, visibility 0.12s ease-in-out, height 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.header-container .sub-menu a{display: block; font-size: clamp(14px, 0.83vw, 17px); padding-inline: 20px; font-weight: 400; color: #141414; line-height: 1.3; text-decoration: none; transition: color 0.2s; word-break: keep-all;}
.header-container .sub-menu a:hover{text-decoration: underline; text-underline-offset: 3px;}
.header-container .sub-title{display: block; font-family: var(--ff-cormorant); font-size: clamp(13px, 0.8vw, 16px); font-weight: 400; color: #141414; line-height: 1.3;}

/* SIGNATURE 서브메뉴 그룹 */
.header-container .sub-menu-group{display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: #141414; transition: color 0.2s;}
.header-container .sub-menu-group span{font-size: clamp(14px, 0.83vw, 17px); font-weight: 400; line-height: 1.3;}
.header-container .sub-menu-group .sub-title{font-size: clamp(13px, 0.8vw, 16px); margin-bottom: 10px;}
.header-container .sub-menu a.sub-menu-group:hover{text-decoration: none;}
.header-container .sub-menu-group:hover span:not(.sub-title){text-decoration: underline; text-underline-offset: 3px;}
.header-container .menu-item:nth-child(2) .sub-menu{gap: 28px;}

/* 다국어 스위치 */
.header-container .hd-btn-wrap{flex-shrink: 0; position: relative; z-index: 4; display: flex; align-items: center; gap: 15px; transition: opacity 0.3s, visibility 0.3s;}
.header-container .lang-switcher{display: flex; align-items: center; border: 1px solid #fff; border-radius: 5px; padding: 4px; width: 96px; height: 32px; box-sizing: border-box; transition: border-color 0.3s;}
.header-container .lang-btn{display: flex; align-items: center; justify-content: center; flex: 1; height: 100%; font-family: var(--ff-cormorant); font-size: var(--fz-16); font-weight: 400; color: #fff; text-decoration: none; border-radius: 3px; transition: background 0.3s, color 0.3s;}
.header-container .lang-btn.active{background: rgba(255,255,255,0.4);}
.header-container .hamburger-button {display: none;}
#side_menu {display: none;}

/* ========== Open / Scrolled 상태 활성화 시 ========== */
.header-container.is-open .hd-cont,
.header-container.scrolled .hd-cont{background: #fbfaf8; border-bottom: 1px solid #efefef;}

.header-container.is-open .logo-area img,
.header-container.scrolled .logo-area img{filter: brightness(1) invert(1);}

.header-container.is-open .menu-link,
.header-container.scrolled .menu-link{color: #141414;}

.header-container.is-open .lang-switcher,
.header-container.scrolled .lang-switcher{border-color: #141414;}

.header-container.is-open .lang-btn,
.header-container.scrolled .lang-btn{color: #141414;}

.header-container.is-open .lang-btn.active,
.header-container.scrolled .lang-btn.active{background: #eae7e0;}

/* 펼쳐진 상태 GNB 크기/여백 전환 */
.header-container.is-open .menu-list{gap: 0;}
.header-container.is-open .menu-item{width: clamp(140px, 10vw, 170px);}
.header-container.is-open .menu-link{padding: 0 10px;}

/* 서브메뉴 배경 영역 (100px 바 아래에 360px 영역) - .gnb-bg 슬라이드 다운으로 대체 */
.header-container .gnb-bg {
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    height: 0;
    background: #fbfaf8;
    z-index: 1;
    transition: height 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: rgba(149, 157, 165, 0.07) 0px 8px 15px;
    pointer-events: none;
}
.header-container.is-open .gnb-bg {
    height: 360px;
}

/* 서브메뉴 표시 */
.header-container.is-open .sub-menu {
    height: 360px;
    padding: 30px 0px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    border-left: 1px solid #efefef;
    transition: opacity 0.25s ease-in-out, border-color 0.2s, height 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.header-container.is-open .menu-item:last-child .sub-menu {
    border-right: 1px solid #efefef;
}

/* 컬럼 hover 시 배경 및 보더 제어 */
.header-container.is-open .menu-item:hover{background: var(--color-secondary);}
.header-container.is-open .menu-item:hover .sub-menu{border-left-color: transparent;}
.header-container.is-open .menu-item:hover + .menu-item .sub-menu{border-left-color: transparent;}
.header-container.is-open .menu-item:last-child:hover .sub-menu{border-right-color: transparent;}

.header-container.is-open .menu-item:hover .menu-link{color: #fff; font-weight: 700;}
.header-container.is-open .menu-item:hover .sub-menu a,
.header-container.is-open .menu-item:hover .sub-menu .sub-title,
.header-container.is-open .menu-item:hover .sub-menu-group,
.header-container.is-open .menu-item:hover .sub-menu-group span{color: #fff;}


/* ========== Quick Menu Side ========== */
.quick-menu-side{position: fixed; right: clamp(15px, 1.8vw, 30px); bottom: 125px; z-index: 990;}
.quick-menu-side .quick-menu-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-end; gap: clamp(8px, 0.6vw, 10px);}
.quick-menu-side .quick-menu-list > li{list-style: none; margin: 0; padding: 0; width: clamp(54px, 4vw, 70px);}
.quick-menu-side .quick-menu-list li a{display: flex; align-items: center; justify-content: center; width: clamp(54px, 4vw, 70px); height: clamp(54px, 4vw, 70px); background: #ffffff; border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); transition: transform 0.25s ease, box-shadow 0.25s ease; text-decoration: none; position: relative; overflow: hidden;}
.quick-menu-side .quick-menu-list li a:hover{transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);}
.quick-menu-side .quick-top-btn a{background: #d9ccba;}
.quick-menu-side .quick-ico{width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 0;}
.quick-menu-side .quick-ico img{width: 100%; height: 100%; object-fit: contain; display: block;}
.quick-menu-side .quick-sns-group{display: none; width: 100%; margin-bottom: clamp(8px, 0.6vw, 10px);}
.quick-menu-side .quick-sns-group ul{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(8px, 0.6vw, 10px); width: 100%;}
.quick-menu-side .ico-sns-close{display: none;}
.quick-menu-side.sns-open .ico-sns-open{display: none !important;}
.quick-menu-side.sns-open .ico-sns-close{display: block !important;}
.quick-menu-side .quick-toggle{display: none;}


/* ========== Phone Modal ========== */
.phone-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.phone-modal-overlay .phone-modal-content {
    background: #fff;
    border-radius: 20px;
    padding: 40px 30px;
    width: 380px;
    text-align: center;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}
.phone-modal-overlay .phone-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 28px;
    color: #999;
    cursor: pointer;
    line-height: 1;
}
.phone-modal-overlay .phone-modal-close:hover {
    color: #333;
}
.phone-modal-overlay .phone-modal-title {
    font-size: 22px;
    font-weight: 700;
    color: #141414;
    margin-bottom: 8px;
    font-family: var(--ff-suit);
}
.phone-modal-overlay .phone-modal-desc {
    font-size: 15px;
    color: #666;
    margin-bottom: 24px;
}
.phone-modal-overlay .phone-number-box {
    background: #f7f6f3;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 0;
}
.phone-modal-overlay .phone-num {
    font-size: 24px;
    font-weight: 700;
    color: #4C4334;
    letter-spacing: 0.5px;
}


/* ========== Footer ========== */
.footer-container {
    background: url(../img/ft_bg.webp) no-repeat bottom center;
    background-size: cover;
    color: #bcaea3;
    font-family: var(--ff-body);
    border-top: 1px solid rgba(255,255,255,0.3);
    overflow: hidden;
}
.footer-container .ft-inner {
    max-width: 1920px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.footer-container .ft-col {
    max-width: 640px;
    width: 33.33%;
    padding: 60px 60px;
    box-sizing: border-box;
    flex: none;
}
.footer-container .ft-col.info-col {
    padding: 60px 60px;
    display: flex;
    justify-content: center;
}
.footer-container .ft-col.info-col .info-wrap {
    width: fit-content;
}
.footer-container .ft-col.map-col {
    border-left: 1px solid rgba(255,255,255,0.3);
    border-right: 1px solid rgba(255,255,255,0.3);
}
.footer-container .star-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 25px;
    background-color: #FFFFFF;
    mask: no-repeat url(../img/lmr_symbol.svg) center center / contain;
    vertical-align: middle;
}
/* .footer-container .star-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
} */
.footer-container .ft-section-title {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
    gap: 8px;
}
.footer-container .ft-section-title h4 {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    font-family: var(--ff-suit);
}
.footer-container .ft-phone {
    margin-bottom: 41px;
}
.footer-container .ft-phone a {
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    font-family: var(--ff-suit);
    letter-spacing: 0.5px;
    transition: color 0.2s;
}
.footer-container .ft-phone a:hover {
    color: #eae7e0;
}
.footer-container .ft-hours-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.footer-container .ft-hours-list li {
    display: flex;
    align-items: center;
    font-size: 18px;
    color: #fff;
    line-height: 1;
    white-space: nowrap;
    justify-content: space-between;
    gap: 17px;
}
.footer-container .ft-hours-list li .day-label {
    display: inline-block;
    color: #fff;
    font-weight: 600;
    flex-shrink: 0;
    width: 80px;
    display: flex;
    justify-content: space-between;
}
.footer-container .ft-hours-list li .time-value {
    font-size: 18px;
    color: #fff;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.footer-container .ft-hours-list li .time-value-wrap {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-wrap: nowrap;
}
.footer-container .ft-hours-list li .time-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
    white-space: nowrap;
    flex-shrink: 0;
}
.footer-container .ft-hours-note {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 18px;
    margin-bottom: 0;
    line-height: 1.6;
}
.footer-container .ft-address-txt {
    font-size: 18px;
    color: #fff;
    margin-bottom: 0;
    font-weight: 400;
    line-height: 1.55;
}
.footer-container .ft-sub-txt {
    font-size: 18px;
    color: #fff;
    line-height: 1.55;
    margin-top: 0;
    margin-bottom: 24px;
    font-weight: 400;
}
.footer-container .ft-map-box {
    width: 100%;
    height: 265px;
    background: #d9d9d9;
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 40px;
}
.footer-container .ft-map-box .root_daum_roughmap {
    width: 100%;
    height: 100%;
}
.footer-container .ft-map-box .root_daum_roughmap .wrap_map {
    height: 100%;
}
.footer-container .ft-map-btns {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.footer-container .btn-map-find {
    flex: 1;
    height: 60px;
    max-width: 180px;
    border: 1px solid #fff;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    transition: background 0.3s;
    gap: 14px;
    padding: 8px 10px;
    box-sizing: border-box;
}
.footer-container .btn-map-find:hover {
    background: rgba(255,255,255,0.1);
}
.footer-container .map-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.footer-container .kakao-ico {
    width: 17px;
    height: 25px;
}
.footer-container .naver-ico {
    width: 19px;
    height: 25px;
}
.footer-container .map-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.footer-container .ft-col.brand-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    text-align: left;
}
.footer-container .ft-brand-logo {
    margin-bottom: 48px;
}
.footer-container .ft-brand-logo img {
    width: 207px;
    height: 50px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
.footer-container .ft-policy-links {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
}
.footer-container .ft-policy-links a {
    font-size: 17px;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s;
}
.footer-container .ft-policy-links a:hover {
    opacity: 0.8;
}
.footer-container .ft-policy-links .bar {
    display: none;
}
.footer-container .ft-company-info {
    font-size: 17px;
    color: #fff;
    opacity: 0.6;
    line-height: 1.4;
}
.footer-container .ft-company-info p {
    margin: 0 0 6px 0;
}
.footer-container .ft-company-info p:last-child {
    margin-bottom: 0;
}
.footer-container .ft-company-info .bar {
    margin: 0 6px;
}
.footer-container .ft-copyright {
    height: 70px;
    border-top: 1px solid rgba(255,255,255,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    opacity: 0.6;
}
.footer-container .ft-copyright p {
    margin: 0;
    line-height: 1.6;
}

/* iOS Safari 자동 링크 감지(전화번호/주소 등)에 대한 색상 강제 오버라이드 */
.footer-container a[href^="tel"] {
    color: #ffffff !important;
    text-decoration: none !important;
}
.footer-container .ft-company-info a,
.footer-container .ft-copyright a,
.footer-container .ft-company-info span,
.footer-container .ft-company-info p {
    color: #ffffff !important;
    text-decoration: none !important;
}


@media (max-width: 1440px) {
    .footer-container .ft-inner {
        flex-wrap: wrap;
    }
    .footer-container .ft-col.info-col,
    .footer-container .ft-col.map-col {
        width: 50%;
        flex: 1 1 50%;
        padding: 50px 30px;
    }
    .footer-container .ft-col.brand-col {
        max-width: unset;
        width: 100%;
        flex: 1 1 100%;
        padding: 40px 30px 60px;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }
    .footer-container .ft-col.map-col {
        border-right: none;
    }
    .footer-container .ft-phone a {
        font-size: 28px;
    }
    .footer-container .ft-hours-list li {
        font-size: 16px;
        gap: 10px;
        justify-content: flex-start;
    }
    .footer-container .ft-hours-list li .time-value {
        font-size: 16px;
    }
    .footer-container .ft-address-txt,
    .footer-container .ft-sub-txt {
        font-size: 16px;
    }
    .footer-container .ft-brand-logo {
        margin-bottom: 30px;
    }
    .footer-container .ft-brand-logo img {
        width: 160px;
        height: auto;
    }
    .footer-container .ft-policy-links {
        gap: 15px;
    }
    .footer-container .ft-policy-links a {
        font-size: 15px;
    }
    .footer-container .ft-company-info {
        font-size: 15px;
    }
    .footer-container .ft-map-btns {
        gap: 12px;
    }
    .footer-container .btn-map-find {
        height: 52px;
        font-size: 16px;
        gap: 8px;
    }
}

@media (max-width: 1280px) {
    /* .header-container .menu-item,
    .header-container.is-open .menu-item {
        width: clamp(120px, 8.5vw, 150px);
    }
    .header-container.is-open .logo-area,
    .header-container.is-open .hd-btn-wrap {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    } */

    
    /* Mobile Quick Menu Floating Circular Button */
    .quick-menu-side{right: 15px; bottom: 25px; top: auto; transform: none;}
    .quick-menu-side .quick-menu-list{gap: 8px; align-items: center;}
    .quick-menu-side .quick-menu-list > li{width: 50px; display: none;}
    .quick-menu-side .quick-menu-list > li.pc{display: none !important;}
    .quick-menu-side:not(.active) .quick-menu-list > li:not(.quick-top-btn):not(.quick-toggle){display: none !important;}
    .quick-menu-side .quick-menu-list > li.quick-top-btn,
    .quick-menu-side .quick-menu-list > li.quick-toggle{display: block !important; width: 50px;}
    .quick-menu-side .quick-menu-list > li a{width: 50px; height: 50px; border-radius: 50%; background: #ffffff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}
    .quick-menu-side .quick-menu-list > li.quick-top-btn a{background: #d9ccba !important;}
    .quick-menu-side .quick-menu-list > li.quick-toggle a{width: 50px; height: 50px; background: #998f7f !important; border-radius: 50%; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); border: none;}
    .quick-menu-side .quick-toggle .quick-ico img{width: 55%; height: 55%; object-fit: contain;}
    .quick-menu-side .quick-toggle .ico-toggle-close{display: none;}
    .quick-menu-side.active .quick-toggle .ico-toggle-open{display: none !important;}
    .quick-menu-side.active .quick-toggle .ico-toggle-close{display: block !important; width: 18px !important; height: 18px !important; filter: brightness(0) invert(1);}
    .quick-menu-side.active .quick-menu-list > li:not(.pc):not(.quick-sns-group){display: flex !important; justify-content: center; align-items: center;}
    .quick-menu-side .quick-sns-group{margin-bottom: 0;}
    .quick-menu-side .quick-sns-group ul{gap: 8px; align-items: center;}

    /* Mobile GNB & Hamburger Toggle */
    #gnb_nav {
        display: none !important;
    }
    .header-container .hd-cont {
        height: 80px;
        padding: 0 min(5vw, 40px);
    }
    .header-container .logo-area img {
        height: 24px;
        width: auto;
    }
    .header-container .hamburger-button {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 16px;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        outline: none;
    }
    .header-container .hamburger-button .bar {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 1px;
        transition: all 0.3s ease;
    }
    .header-container.is-open .hamburger-button .bar,
    .header-container.scrolled .hamburger-button .bar {
        background-color: #141414;
    }

    /* Mobile Navigation Drawer */
    #side_menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: 10000;
        transform: translateY(-100%);
        transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }
    #side_menu.open {
        transform: translateY(0);
    }
    #side_menu .nav-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 80px;
        padding: 0 min(5vw, 40px);
        border-bottom: 1px solid #efefef;
        flex-shrink: 0;
    }
    #side_menu .side-close {
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #side_menu .nav-logo {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #side_menu .nav-logo img {
        height: 24px;
        width: auto;
        filter: brightness(1) invert(1);
    }
    #side_menu .nav-tel {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }
    #side_menu .nav-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: 
            linear-gradient(rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)), 
            url(../img/logo_cl.svg) no-repeat center bottom 50px;
        background-size: cover, 160px auto;
    }
    #moNav {
        position: relative;
        z-index: 2;
        padding: 10px 0 160px 0;
    }
    #moNav ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #moNav .gnb-menu-depth1 {
        border-bottom: 1px solid #f5f4f0;
    }
    #moNav .gnb-menu-depth1 > a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 24px;
        font-size: 17px;
        font-weight: 600;
        color: #403627;
        text-decoration: none;
        transition: color 0.3s;
    }
    #moNav .gnb-menu-depth1 > a.mo-signature-link{font-family: var(--ff-cormorant); font-style: italic; font-size: 18px;}
    #moNav .gnb-menu-depth1 > a.mo-signature-link > span {display: flex; gap: 5px; justify-content: flex-start; align-items: center;}
    #moNav .gnb-menu-depth1 > a::after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        border-right: 2px solid #bcaea3;
        border-bottom: 2px solid #bcaea3;
        transform: rotate(45deg);
        transition: transform 0.3s ease;
    }
    #moNav .gnb-menu-depth1.active > a {
        color: #998f7f;
    }
    #moNav .gnb-menu-depth1.active > a::after {
        transform: rotate(-135deg);
        border-color: #998f7f;
    }
    #moNav .gnb-menu-depth2 {
        list-style: none;
        margin: 0;
        padding: 14px 24px 20px 24px;
        background-color: #fbfaf8;
        border-top: 1px solid #f5f4f0;
    }
    #moNav .gnb-menu-depth2 li {
        margin-bottom: 14px;
    }
    #moNav .gnb-menu-depth2 li:last-child {
        margin-bottom: 0;
    }
    #moNav .gnb-menu-depth2 li a {
        font-size: 15px;
        color: #666;
        text-decoration: none;
        font-weight: 400;
        display: block;
        transition: color 0.2s;
    }
    #moNav .gnb-menu-depth2 li a:hover {
        color: #998f7f;
    }
}


@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);
    }

    .pc{display: none !important;}
    .header-container .gnb-bg {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;}

    /* Footer Responsive */
    .footer-container .ft-inner {
        flex-direction: column;
        max-width: 100%;
    }
    .footer-container .ft-col {
        width: 100%;
        padding: 40px 20px;
        box-sizing: border-box;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }
    .footer-container .ft-col.info-col, .footer-container .ft-col.map-col {
        width: 100%;
        max-width: unset;
    }
    .footer-container .ft-col.map-col {
        border-left: none;
        border-right: none;
    }
    .footer-container .ft-col.brand-col {
        border-bottom: none;
    }
    .footer-container .ft-col.info-col {
        display: block;
        padding: 40px 20px;
    }
    .footer-container .ft-col.info-col .info-wrap {
        width: 100%;
    }
    .footer-container .ft-section-title {
        margin-bottom: 18px;
    }
    .footer-container .ft-section-title h4 {
        font-size: var(--fz-20);
    }
    .footer-container .ft-phone {
        margin-bottom: 25px;
    }
    .footer-container .ft-phone a {
        font-size: var(--fz-26);
    }
    .footer-container .ft-hours-list {
        gap: 8px;
    }
    .footer-container .ft-hours-list li {
        font-size: var(--fz-15);
    }
    .footer-container .ft-hours-list li .day-label {
        width: 75px;
        margin-right: 12px;
    }
    .footer-container .ft-hours-list li .time-value {
        font-size: var(--fz-15);
    }
    .footer-container .ft-hours-list li .time-desc {
        font-size: var(--fz-12);
    }
    .footer-container .ft-hours-note {
        font-size: var(--fz-13);
        margin-top: 12px;
    }
    .footer-container .ft-address-txt {
        font-size: var(--fz-15);
        line-height: 1.4;
    }
    .footer-container .ft-sub-txt {
        font-size: var(--fz-15);
        line-height: 1.4;
        margin-bottom: 15px;
    }
    .footer-container .ft-map-box {
        height: 200px;
        margin-bottom: 25px;
    }
    .footer-container .ft-map-btns {
        gap: 10px;
    }
    .footer-container .btn-map-find {
        height: 48px;
        font-size: var(--fz-15);
        gap: 8px;
        padding: 0 15px;
    }
    .footer-container .kakao-ico {
        width: 14px;
        height: 20px;
    }
    .footer-container .naver-ico {
        width: 15px;
        height: 20px;
    }
    .footer-container .ft-col.brand-col {
        align-items: flex-start;
        text-align: left;
    }
    .footer-container .ft-brand-logo {
        margin-bottom: 25px;
    }
    .footer-container .ft-brand-logo img {
        width: 150px;
        height: auto;
    }
    .footer-container .ft-policy-links {
        gap: 15px;
        margin-bottom: 15px;
    }
    .footer-container .ft-policy-links a {
        font-size: var(--fz-14);
    }
    .footer-container .ft-company-info {
        font-size: var(--fz-14);
        line-height: 2;
    }
    .footer-container .ft-company-info p {
        margin: 0;
    }
    .footer-container .ft-copyright {
        height: auto;
        padding: 25px 20px;
        font-size: var(--fz-13);
        text-align: center;
        box-sizing: border-box;
    }
}