@charset "utf-8";
:root{
  --white:#ffffff;
  --off-white:#f5f3ef;
  --cream:#ede9e2;
  --warm-tan:#c4a882;
  --warm-brown:#8b6f4e;
  --dark-brown:#3d2e1e;
  --dark:#1a1a1a;
  --mid-gray:#888;
  --nav-h:127px;
}
/* body{overflow-x:hidden;cursor:none} */
sup{vertical-align: super;font-size:12px}
/* CUSTOM CURSOR */
.cursor{position:fixed;width:8px;height:8px;background:var(--dark);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s;mix-blend-mode:difference}
.cursor-follower{position:fixed;width:36px;height:36px;border:1px solid rgba(0,0,0,0.3);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s ease;mix-blend-mode:difference}
 
/* ── NAV ── */
nav.scrolld{background:#fff}
nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;
    padding:0 108px;z-index:200;transition: .3s;}

.nav-left { display: flex; align-items: center; gap: 40px; flex: 1; }
.logo{display:flex;line-height:1;text-decoration:none;width:114px;}
.branch-select { position: relative; }
.branch-btn { display: flex; align-items: center; gap: 10px; padding: 14px 21px; border: 1px solid #22252D; border-radius: 100px; color: #22252D; 
    font-size: 16px; font-weight: 500; cursor: pointer; transition: all 0.3s;background: transparent; }
.branch-btn:hover { border-color: #927E6A; }
.branch-list, .lang-list { position: absolute; top: 100%; left: 0; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-radius: 12px; list-style: none; padding: 10px 0; min-width: 140px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.3s; z-index: 10; margin-top: 10px; }
.branch-select:hover .branch-list, .lang-select:hover .lang-list { opacity: 1; visibility: visible; transform: translateY(0); }
.branch-list li a, .lang-list li a { display: block; padding: 10px 20px; color: #666; font-size: 14px; text-decoration: none; transition: 0.2s;display: flex;
    align-items: center;
    gap: 10px; }
.branch-list li a:hover, .lang-list li a:hover { background: #f9f7f4; color: #927E6A; }

.nav-links{display:flex;gap:45px;list-style:none; flex: 2; justify-content: center; }
.nav-links li a{display: flex;
    align-items: flex-start;color:#171717;text-align:center;font-size:16px;font-style:normal;font-weight:500;line-height:normal; text-decoration: none; position: relative; padding: 10px 0; transition: color 0.3s; }
.nav-links li a::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 1px; background: #927E6A; transition: 0.3s; transform: translateX(-50%); }
.nav-links li a:hover { color: #927E6A; }
.nav-links li a:hover::after { width: 100%; }
.nav-links li a sup{line-height: 1;font-size: 12px;}

.nav-right{display:flex;align-items:center;gap:35px; flex: 1; justify-content: flex-end; }
.lang-select { position: relative; }
.lang-btn { display: flex; align-items: center; gap: 8px; background: none; border: none; color: #000; font-size: 14px; font-weight: 500; cursor: pointer; padding: 10px 0; }
.lang-btn svg { transition: transform 0.3s; }
.lang-select:hover .lang-btn svg:last-child { transform: rotate(180deg); }
.lang-list { left: auto; right: 0; } 

.auth-links { display: flex; align-items: center; gap: 20px; }
.auth-links a { color: #000; font-size: 14px; font-weight: 500; text-decoration: none; transition: color 0.2s; }
.auth-links a:hover { color: #927E6A; }

.menu-btn{display:flex;align-items:center;gap:15px;background:none;border:none;padding:0}
.menu-lines{display:flex;flex-direction:column;gap:6px}
.menu-line{display:block;height:1px;background:#171717;transition:width .25s}
.menu-line:nth-child(1){width:24px}
.menu-line:nth-child(2){width:24px}
.menu-line:nth-child(3){width:24px}
.menu-btn.m_cont_768{display:none}

.nav-links li.has-sub{position:relative}
.nav-links li.has-sub .nav-sub{display:block;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;min-width:160px;list-style:none;padding:8px 0;margin:0;box-shadow:0 4px 16px rgba(0,0,0,.1);
   margin-top:10px; z-index:100;white-space:nowrap;opacity:0;border-radius:10px;visibility:hidden;
    transform:translateX(-50%) translateY(-6px);transition:opacity .25s 50ms,visibility .25s 50ms,transform .25s 50ms}
.nav-links li.has-sub:hover .nav-sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:0s;display:block}
.nav-links li.has-sub .nav-sub li a{display:block;padding:10px 20px;color:#666;text-decoration:none;font-size:14px;display: flex;
    justify-content: center;
    align-items: flex-start;}
.nav-links li.has-sub .nav-sub li a:hover{background:#f9f7f4;color:#927e6a}


@media(max-width:1580px){
    /* ── NAV ── */
    nav.scrolld{background:#fff}
    nav{top:0;left:0;right:0;height:var(--nav-h);align-items:center;
        padding:0 6.8354vw;transition: .3s;}

    .nav-left {  align-items: center; gap: 2.5316vw; flex: 1; }
    .logo{line-height:1;text-decoration:none;width:7.2152vw;}
    .branch-select {  }
    .branch-btn {  align-items: center; gap: 0.6329vw; padding: 0.8861vw 1.3291vw; border: 0.0633vw solid #22252D; border-radius: 6.3291vw;  
        font-size: 1.0127vw;  cursor: pointer; transition: all 0.3s;background: transparent; }
    .branch-btn:hover { border- }
    .branch-list, .lang-list {  top: 100%; left: 0; background: #fff; box-shadow: 0 0.6329vw 1.8987vw rgba(0,0,0,0.1); border-radius: 0.7595vw; list-style: none; padding: 0.6329vw 0; min-width: 8.8608vw; opacity: 0; visibility: hidden; transform: translateY(0.6329vw); transition: all 0.3s;  margin-top: 0.6329vw; }
    .branch-select:hover .branch-list, .lang-select:hover .lang-list { opacity: 1; visibility: visible; transform: translateY(0); }
    .branch-list li a, .lang-list li a {  padding: 0.6329vw 1.2658vw;  font-size: 0.8861vw; text-decoration: none; transition: 0.2s; }
    .branch-list li a:hover, .lang-list li a:hover { background: #f9f7f4;  }

    .nav-links{gap:2.8481vw;list-style:none; flex: 2; justify- }
    .nav-links li a{font-size:1.0127vw;font-style:normal;line-height:normal; text-decoration: none;  padding: 0.6329vw 0; transition: color 0.3s; }
    .nav-links li a::after {   bottom: 0; left: 50%; width: 0; height: 0.0633vw; background: #927E6A; transition: 0.3s; transform: translateX(-50%); }
    .nav-links li a:hover {  }
    .nav-links li a:hover::after { width: 100%; }

    .nav-right{align-items:center;gap:2.2152vw; flex: 1; justify- }
    .lang-select {  }
    .lang-btn {  align-items: center; gap: 0.5063vw; background: none; border: none;  font-size: 0.8861vw;  cursor: pointer; padding: 0.6329vw 0; }
    .lang-btn svg { transition: transform 0.3s; }
    .lang-select:hover .lang-btn svg:last-child { transform: rotate(180deg); }
    .lang-list { left: auto; right: 0; } 

    .auth-links {  align-items: center; gap: 1.2658vw; }
    .auth-links a {  font-size: 0.8861vw;  text-decoration: none; transition: color 0.2s; }
    .auth-links a:hover {  }

    .menu-btn{align-items:center;gap:0.9494vw;background:none;border:none;padding:0}
    .menu-lines{flex-direction:column;gap:0.3797vw}
    .menu-line{height:0.0633vw;background:#171717;transition:width .25s}
    .menu-line:nth-child(1){width:1.5190vw}
    .menu-line:nth-child(2){width:1.5190vw}
    .menu-line:nth-child(3){width:1.5190vw}
    .menu-btn.m_cont_768{display:none}

    .nav-links li.has-sub{position:relative}
    .nav-links li.has-sub .nav-sub{top:100%;left:50%;transform:translateX(-50%);background:#fff;min-width:10.1266vw;list-style:none;padding:0.5063vw 0;margin:0;box-shadow:0 0.2532vw 1.0127vw rgba(0,0,0,.1);
        white-space:nowrap;opacity:0;border-radius:0.6329vw;visibility:hidden;
        transform:translateX(-50%) translateY(-0.3797vw);transition:opacity .25s 50ms,visibility .25s 50ms,transform .25s 50ms}
    .nav-links li.has-sub:hover .nav-sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:0s;display:block}
    .nav-links li.has-sub .nav-sub li a{padding:0.6329vw 1.2658vw;text-decoration:none;font-size:0.8861vw}
    .nav-links li.has-sub .nav-sub li a:hover{background:#f9f7f4;color:#927e6a}

}
@media(max-width:768px){

    .menu-btn.m_cont_768{display:block}
    .nav-links{display:none}
    .menu-label{display:none}

    .logo{width: 15.2152vw;}
    .nav-left {  align-items: center; gap: 5.2083vw; flex: 1; }
    .branch-btn {  align-items: center; gap: 1.3021vw; padding: 1.8229vw 2.7344vw; border: 0.1302vw solid #22252D; border-radius: 13.0208vw;  
        font-size: 2.0833vw;  cursor: pointer; transition: all 0.3s;background: transparent; }
    .branch-btn:hover { border- }
    .branch-list, .lang-list {  top: 100%; left: 0; background: #fff; box-shadow: 0 1.3021vw 3.9063vw rgba(0,0,0,0.1); border-radius: 1.5625vw; list-style: none; padding: 1.3021vw 0; min-width: 18.2292vw; opacity: 0; visibility: hidden; transform: translateY(1.3021vw); transition: all 0.3s;  margin-top: 1.3021vw; }
    .branch-select:hover .branch-list, .lang-select:hover .lang-list { opacity: 1; visibility: visible; transform: translateY(0); }
    .branch-list li a, .lang-list li a {  padding: 1.3021vw 2.6042vw;  font-size: 1.8229vw; text-decoration: none; transition: 0.2s; }
    .branch-list li a:hover, .lang-list li a:hover { background: #f9f7f4;  }

    .nav-right{align-items:center;gap:4.5573vw; flex: 1; justify- }
    .lang-select {  }
    .lang-btn {  align-items: center; gap: 1.0417vw; background: none; border: none;  font-size: 1.8229vw;  cursor: pointer; padding: 1.3021vw 0; }
    .lang-btn svg { transition: transform 0.3s; }
    .lang-select:hover .lang-btn svg:last-child { transform: rotate(180deg); }
    .lang-list { left: auto; right: 0; } 

    .auth-links {  display:none; }




    /* nav 높이/패딩 조정 */
    nav{height:14vw;padding:0 3vw}

    /* 햄버거 라인 모바일 사이즈 */
    .menu-lines{gap:6px}
    .menu-line:nth-child(1){width:24px}
    .menu-line:nth-child(2){width:24px}

    /* 열렸을 때 X 변환 */
    .menu-btn.is-open .menu-line:nth-child(1){width:24px;transform:translateY(7px) rotate(45deg)}
    .menu-btn.is-open .menu-line:nth-child(2){width:24px;transform:translateY(0px) rotate(-45deg)}
	.menu-btn.is-open .menu-line:nth-child(3){display:none}
    .menu-line{transition:transform 0.35s ease, opacity 0.3s ease, width 0.3s ease}

    /* ── 모바일 메뉴 패널 ── */
    .mob-nav{
        position:fixed;top:0;left:0;right:0;bottom:0;
        background:#f5f2ec;
        z-index:201;
        transform:translateX(100%);
        transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
        overflow-y:auto;
        display:flex;flex-direction:column
    }
    .mob-nav.is-open{transform:translateX(0)}

    /* 패널 상단 */
    .mob-nav__head{
        display:flex;align-items:center;justify-content:space-between;
        padding:0 20px;height:60px;flex-direction: row-reverse;
        border-bottom:1px solid #e8e3dc;flex-shrink:0
    }
    .mob-nav__close{
        background:none;border:none;cursor:pointer;
        padding:6px;display:flex;align-items:center
    }
    .mob-nav__close svg{width:18px;height:18px}
    .mob-nav__auth{
        display:flex;align-items:center;gap:0;
        font-size:13px;color:#7a6a62;letter-spacing:0.02em
    }
    .mob-nav__auth a{color:#7a6a62;text-decoration:none}
    .mob-nav__auth span{margin:0 8px;color:#ccc}

    /* GNB */
    .mob-gnb{list-style:none;margin:0;padding:0}
    .mob-gnb__item{border-bottom:1px solid #e8e3dc}

    .mob-gnb__btn{
        width:100%;display:flex;align-items:center;justify-content:space-between;
        padding:20px 24px;
        background:none;border:none;cursor:pointer;
        font-size:15px;font-weight:600;color:#9f8782;
        letter-spacing:0.02em;text-align:left
    }
     .mob-gnb__btn p{display: flex;align-items: flex-start;}
     .mob-gnb__btn p sup{line-height: 1;font-size: 10px;}
    .mob-gnb__arrow{
        flex-shrink:0;color:#9a8880;
        transition:transform 0.3s ease
    }
    .mob-gnb__arrow svg{width:14px;height:14px;display:block}
    .mob-gnb__item.is-open .mob-gnb__arrow{transform:rotate(180deg)}

    /* 서브메뉴 */
    .mob-gnb__sub{
        list-style:none;margin:0;padding:0;
        max-height:0;overflow:hidden;
        background:#edeae4;
        transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)
    }
    .mob-gnb__item.is-open .mob-gnb__sub{max-height:600px}

    .mob-gnb__sub-link{
        display:block;padding:14px 24px 14px 36px;
        font-size:14px;font-weight:300;color:#9f8782 !important;
        letter-spacing:0.02em;text-decoration:none;
        border-bottom:1px solid #e0dbd4;font-weight: 600;
    }
    .mob-gnb__sub-link sup{line-height: 1;font-size: 10px;}
    .mob-gnb__sub li:last-child .mob-gnb__sub-link{border-bottom:none}
}
@media(max-width:480px){
	.logo{width:21vw}
    nav{height:19vw;padding:0 4vw;}
    .branch-btn{font-size: 2.4833vw;}
    .branch-list li a, .lang-list li a{font-size: 2.4229vw;}
    .menu-line:nth-child(3) { width: 4.519vw;}
}
@media(min-width:769px){
    .mob-nav{display:none !important}
}