
/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// 웹폰트  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/

/* @font-face {
	font-family: 'Pretendard Variable';
	font-weight: 45 920;
	font-style: normal;
	font-display: swap;
	src: local('Pretendard Variable'), url('font/PretendardVariable.woff2') format('woff2-variations');
} */

@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('font/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-display: swap;
}

/* -----------------------------------------------------------------------------------------------
/////////////////////////////////////////////	RESET & BASE  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:10px; font-family:'Pretendard Variable', 'Pretendard', sans-serif; color:var(--color-text); font-weight:300; }
body { min-width:320px; word-break: keep-all; overflow-x:hidden; letter-spacing:-0.1px; margin:0 auto; font-size:var(--fs-base); line-height:var(--lh-base); }
body,input,textarea,select,button,table,label
{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none; text-size-adjust:none; font-weight:300; font-family:'Pretendard Variable', 'Pretendard', sans-serif; }
a { text-decoration:none; color:inherit; }
span, a, em, button {display:inline-block; }
img,fieldset,iframe{border:0;}
img {max-width:100%;}
ul, ol, li { list-style:none; }
em,address{font-style:normal;}
caption,legend,.blind{overflow:hidden;position:absolute;top:0;left:-9999px;width:0;height:0;font-size:0;line-height:0;text-align:left;}
button { background:none; border:none; cursor:pointer; padding:0; font:inherit; }



/* -----------------------------------------------------------------------------------------------
/////////////////////////////////////////////	common  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
:root{
   --color-gold:#C7B58D;
   --color-dk-gold:#937a42;

   /* 텍스트 색상 */
   --color-text:       #1d1d1d;
   --color-text-dk:    #333;
   --color-text-md:    #555;
   --color-text-lt:    #666;
   --color-text-muted: #999;
   --color-text-dim:   #aaa;
   --color-text-faint: #ccc;

   /* 폰트 사이즈 */
   --fs-xs:       1.2rem;
   --fs-sm:       1.4rem;
   --fs-base:     1.6rem;
   --fs-content:  1.8rem;
   --fs-lg:       2.0rem;
   --fs-card-tit: 2.4rem;
   --fs-hero-sub: 2.6rem;
   --fs-sec-tit:  3.0rem;
   --fs-page-tit: 4.0rem;
   --fs-hero-tit: 5.0rem;

   /* 줄간격 */
   --lh-tight:   1.2;
   --lh-snug:    1.4;
   --lh-base:    1.5;
   --lh-normal:  1.6;
   --lh-relaxed: 1.8;
}

.inner { max-width:1440px; margin:0 auto; padding:0 20px; }

.hidden { position:absolute; font-size:0; line-height:0; left:-10000px; padding:0 !important; margin:0; height:0;}
.f-left {float:left !important;}
.f-right {float:right !important;}
.dis-block {display:block !important;}
.dis-none {display:none !important;}
.text-c {text-align:center !important;}
.text-l {text-align:left !important;}
.text-r {text-align:right !important;}
.vt-t {vertical-align:top !important;}
.vt-m {vertical-align:middle !important;}
.vt-b {vertical-align:bottom !important;}
.bg-none {background:none !important;}
.border-none {border:none !important;}
.clearfix:after {content:"";display:block;clear:both;}

/* 폰트 */
.enText { font-family:'Marcellus', serif !important; }

/* ios */
a[x-apple-data-detectors] {
  color:inherit !important;
  text-decoration:none !important;
  font-size:inherit !important;
  font-family:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  white-space:nowrap;
}

/* 버튼 */

/* 말줄임 */
.line1-text-eps { white-space:nowrap; overflow:hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; display:block; }
.line2-text-eps { display:block; line-height:1.5em; max-height:3em; display:-webkit-box; -webkit-line-clamp:2; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis;-webkit-box-orient:vertical; word-wrap:break-word; }
.line3-text-eps { display:block; line-height:1.5em; max-height:4.5em; display:-webkit-box; -webkit-line-clamp:3; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis;-webkit-box-orient:vertical; word-wrap:break-word; }
.line4-text-eps { display:block; line-height:1.5em; max-height:6em; display:-webkit-box; -webkit-line-clamp:4; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis;-webkit-box-orient:vertical; word-wrap:break-word; }

/* 리스트 */
ul.list_dot > li { padding-left:12px; line-height:1.5; position:relative; }
ul.list_dot > li:before { content:''; width:3px; height:3px; border-radius:50%; background:#555; display:block; position:absolute; left:0; top:1.2rem; }
ul.list_dot > li + li { margin-top:0.5rem; }


/* 테이블 */
table { border-collapse:collapse; }
.table { width:100%; border-collapse:collapse; min-width:600px; }
.table th,
.table td { border:1px solid #e0ddd7; padding:14px 16px; font-size:var(--fs-base); color:var(--color-text-md); line-height:var(--lh-relaxed); vertical-align:middle; }
.table thead th { background:#f5f2ec; font-size:var(--fs-content); font-weight:600; color:var(--color-text-dk); text-align:center; }
.table tbody th { text-align:center; font-weight:500; color:var(--color-text-dk); background:#faf9f6;  }


/* Display 설정 */
.w_only{display:block;}
.m_only{display:none;}


/* ================================== 반응형 ================================== */
@media (max-width: 1279px) {
   :root {
      --fs-hero-tit: 4.0rem;
      --fs-hero-sub: 2.2rem;
      --fs-page-tit: 3.6rem;
      --fs-card-tit: 2.2rem;
      --fs-lg:       1.9rem;
      --fs-content:  1.7rem;
      --fs-sm:       1.5rem;
   }
   *:focus {border:none;}
   /* html { font-size:9.5px; } */
}

@media (max-width: 1024px) {
   :root {
      --fs-hero-tit: 3.4rem;
      --fs-hero-sub: 1.8rem;
      --fs-sec-tit:  2.6rem;
      --fs-page-tit: 3.0rem;
      --fs-card-tit: 2.0rem;
      --fs-lg:       1.8rem;
      --fs-content:  1.6rem;
   }
}

@media (max-width: 767px) {
   :root {
      --fs-hero-tit: 2.6rem;
      --fs-hero-sub: 1.6rem;
      --fs-page-tit: 2.4rem;
      --fs-sec-tit:  2.2rem;
      --fs-card-tit: 1.8rem;
      --fs-lg:       1.6rem;
      --fs-content:  1.5rem;
      --fs-sm:       1.4rem;
   }
   /* html { font-size:9px; } */

   /* 테이블 */
  .table th,
  .table td { padding:10px 12px; }

  
}

@media (max-width: 480px) {
   :root {
      --fs-hero-tit: 2.2rem;
      --fs-hero-sub: 1.4rem;
      --fs-page-tit: 2.0rem;
   }
   /* 리스트 */
   ul.list_dot > li { padding-left:10px; }
   ul.list_dot > li:before { top:1.0rem; }

   /* 테이블 */
  .table th,
  .table td { padding:8px 10px; }

  /* Display 설정 */
  .w_only{display:none;}
  .m_only{display:block;}
}


/* -----------------------------------------------------------------------------------------------
/////////////////////////////////////////////	FULL MENU //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
#fullMenu { position:fixed; top:0; left:0; width:100%; height:100%; z-index:900; background:rgba(255,255,255,0.95); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding-top:120px; opacity:0; visibility:hidden; transition:opacity 0.45s ease, visibility 0.45s ease; overflow-y:auto; }
#fullMenu.isOpen { opacity:1; visibility:visible; }

#fullMenu .menuBody { padding:50px 0 80px; }
#fullMenu .menuBody .inner { max-width:1400px; }
#fullMenu .menuBody .gnb { display:flex; flex-direction:column; gap:52px; }
#fullMenu .menuBody .gnb .menuLine { display:flex; align-items:flex-start; opacity:0; transform:translateY(18px); transition:opacity 0.4s ease, transform 0.4s ease; }
#fullMenu .menuBody .gnb .menuLine .depth1 { font-family:'Marcellus', serif; font-size:2.8rem; color:#111; line-height:1.4; min-width:280px; flex-shrink:0; font-weight:normal; padding-top:2px; }
#fullMenu .menuBody .gnb .menuLine .depth2.row { display:flex; gap:10px 40px; align-items:center; flex-wrap:wrap; padding-top:2px; }
#fullMenu .menuBody .gnb .menuLine .depth2.row li a { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:1.8rem; color:#333; line-height:1.4; white-space:nowrap; transition:color 0.2s; }
#fullMenu .menuBody .gnb .menuLine .depth2.row li a:hover { color:#0e0e0e; }
#fullMenu .menuBody .gnb .menuLine .depth2.cols { display:flex; gap:60px; align-items:flex-start; }
#fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth h3 { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:1.8rem; color:#333; font-weight:normal; margin-bottom:12px; }
#fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth li a { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:1.6rem; color:#787878; line-height:1.8; white-space:nowrap; transition:color 0.2s; }
#fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth li a:hover { color:#333; }

#fullMenu.isOpen .menuBody .gnb .menuLine { opacity:1; transform:translateY(0); }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(1) { transition-delay:0.08s; }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(2) { transition-delay:0.16s; }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(3) { transition-delay:0.24s; }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(4) { transition-delay:0.32s; }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(5) { transition-delay:0.40s; }
#fullMenu.isOpen .menuBody .gnb .menuLine:nth-child(6) { transition-delay:0.48s; }

/* ================================== 반응형 ================================== */
@media (max-width: 1279px) {
  #fullMenu .menuBody .gnb .menuLine { flex-wrap:wrap; gap:32px; }
  #fullMenu .menuBody .gnb .menuLine .depth1 { font-size:26px; width:100%;  min-width:100%;  }
}

@media (max-width: 1024px) {
  #fullMenu .menuBody { padding:30px 0 60px; }
  #fullMenu .menuBody .gnb { gap:0; }
  #fullMenu .menuBody .gnb .menuLine { flex-direction:column; gap:0; border-bottom:1px solid #e8e8e8; }
  #fullMenu .menuBody .gnb .menuLine .depth1 {width:100%; padding:18px 10px; font-size:2.2rem; display:flex; align-items:center; justify-content:space-between; }
  #fullMenu .menuBody .gnb .menuLine .depth1 a { flex:1; }
  #fullMenu .menuBody .gnb .menuLine.hasDepth2 .depth1 .toggleArrow { background:none; border:none; padding:8px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
  #fullMenu .menuBody .gnb .menuLine.hasDepth2 .depth1 .toggleArrow::after { content:''; display:inline-block; width:10px; height:10px; border-right:2px solid #aaa; border-bottom:2px solid #aaa; transform:rotate(45deg); transition:transform 0.3s ease, border-color 0.3s ease; margin-bottom:4px; }
  #fullMenu .menuBody .gnb .menuLine.hasDepth2.isExpanded .depth1 { color:var(--color-dk-gold); background:rgba(199,181,141,0.1); }
  #fullMenu .menuBody .gnb .menuLine.hasDepth2.isExpanded .depth1 .toggleArrow::after { border-color:var(--color-dk-gold); transform:rotate(-135deg); margin-bottom:-4px; }
  /* depth2 기본 숨김 */
  #fullMenu .menuBody .gnb .menuLine .depth2.row,
  #fullMenu .menuBody .gnb .menuLine .depth2.cols { display:none; width:100%; padding:0 10px 10px; }

  /* depth2 row 항목 스타일 (BRAND·EXPERIENCE·SPECIAL OFFERS) */
  #fullMenu .menuBody .gnb .menuLine .depth2.row li {  width:100%}
  #fullMenu .menuBody .gnb .menuLine .depth2.row li:last-child { border-bottom:none; }
  #fullMenu .menuBody .gnb .menuLine .depth2.row li a { display:block; padding:14px 0; font-size:1.6rem; white-space:normal; }

  /* depth2 cols 항목 스타일 (ROOMS) */
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth {  }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth:last-child { border-bottom:none; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth h3 {
    padding:14px 0; margin-bottom:0; font-size:1.5rem; font-weight:600; color:#333; display:flex; align-items:center; justify-content:space-between;
  }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth h3 a { flex:1; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth.hasChildren h3 .toggleArrow { background:none; border:none; padding:8px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth.hasChildren h3 .toggleArrow::after { content:''; display:inline-block; width:8px; height:8px; border-right:2px solid #aaa; border-bottom:2px solid #aaa; transform:rotate(45deg); transition:transform 0.3s ease, border-color 0.3s ease; margin-bottom:3px; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth.hasChildren.isExpanded h3 .toggleArrow::after { transform:rotate(-135deg); margin-bottom:-3px; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth > ul { display:none; padding:4px 0 8px; }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth > ul li a { display:block; padding:10px 0 10px 12px; font-size:1.4rem; white-space:normal; border-bottom:1px solid #f8f8f8;  }
  #fullMenu .menuBody .gnb .menuLine .depth2.cols .subDepth > ul li:last-child a { border-bottom:none; }

}

@media (max-width: 767px) {	
   #fullMenu .menuBody .gnb .menuLine .depth1 { font-size:2rem;}
}
   

/* -----------------------------------------------------------------------------------------------
/////////////////////////////////////////////	HEADER  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
#header { position:fixed; top:0; left:0; width:100%; height:120px; z-index:1000; transition:background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease; }
#header .inner { display:flex; align-items:center; justify-content:space-between; height:100%; max-width:1400px; }
#header .menuBtn { width:30px; display:flex; align-items:center; outline:none; border:none; }
#header .menuBtn .hamIco { display:flex; flex-direction:column; gap:6px; }
#header .menuBtn .hamIco span { display:block; width:25px; height:2px; background:#fff; border-radius:1px; transition:background 0.3s; }
#header.scrolled .menuBtn .hamIco span { background:#1d1d1d; }
#header .menuBtn .closeIco { display:none; position:relative; width:24px; height:24px; flex-shrink:0; }
#header .menuBtn .closeIco::before,
#header .menuBtn .closeIco::after { content:''; position:absolute; top:50%; left:0; width:100%; height:2px; background:#1d1d1d; border-radius:1px; transform-origin:center; }
#header .menuBtn .closeIco::before { transform:translateY(-50%) rotate(45deg); }
#header .menuBtn .closeIco::after { transform:translateY(-50%) rotate(-45deg); }
#header .logo { position:absolute; left:50%; transform:translateX(-50%); }
#header .logo a { display:block; line-height:0; }
#header .logo img { height:80px; width:auto; transition:opacity 0.3s; }
#header .logo .logoDark { display:none; }
#header .utilNav { display:flex; align-items:center; justify-content:flex-end; gap:40px; }
#header .utilNav a { font-family:'Marcellus', serif; font-size:1.6rem; color:#fff; white-space:nowrap; transition:opacity 0.2s; }
#header .utilNav .bookBtn { font-family:'Marcellus', serif; font-size:1.6rem; color:#fff; background:var(--color-gold); padding:15px 50px; display:inline-block; position:relative; overflow:hidden; transition:transform 0.3s ease; text-align:center; }
#header .utilNav .bookBtn::before { content:''; position:absolute; top:0; left:-110%; width:80%; height:100%; background:linear-gradient(120deg, transparent, rgba(255,255,255,0.28), transparent); transform:skewX(-15deg); transition:left 0.55s ease; }
#header .utilNav .bookBtn:hover::before { left:130%; }

/* scrolled */
#header.scrolled { background:rgba(255,255,255,0.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 1px 0 rgba(0,0,0,0.08); }
#header.scrolled .logo .logoWhite { display:none; }
#header.scrolled .logo .logoDark { display:block; }
#header.scrolled .utilNav a { color:#999; }
#header.scrolled .utilNav .bookBtn { color:#fff; }

/* menuOpen : #fullMenu 열릴 때 #header 상태 */
#header.menuOpen {  }
#header.menuOpen .menuBtn .hamIco { display:none; }
#header.menuOpen .menuBtn .closeIco { display:block; }
#header.menuOpen .logo .logoWhite { display:none; }
#header.menuOpen .logo .logoDark { display:block; }
#header.menuOpen .utilNav a { color:#999; }
#header.menuOpen .utilNav .bookBtn { color:#fff; }

/* ================================== 반응형 ================================== */
@media (max-width: 1024px) {
  #header { height:80px; }
  #fullMenu { padding-top:80px; }
  #header .menuBtn { width:auto; min-width:44px; }
  #header .logo img { height:60px; }
  #header .utilNav a:not(.bookBtn) { display:none; }
  #header .utilNav { gap:0; }
  #header .utilNav .bookBtn { padding:12px 28px; font-size:1.4rem; }
}

@media (max-width: 767px) {
  #header { height:60px; }
  #fullMenu { padding-top:60px; }
  #header .logo img { height:36px; }
  /* #header .utilNav { display:none; } */
  /* #header.menuOpen .utilNav { display:none; } */
  #header .utilNav .bookBtn { padding:10px; font-size:1.2rem; margin-right:-10px;}
}

@media (max-width: 480px) {
   #header .utilNav .bookBtn span { display:none; }
}


/* -----------------------------------------------------------------------------------------------
/////////////////////////////////////////////	FOOTER  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.footer { background: #1a1a1a; padding: 60px 0; }
.footer .inner .footerWrap { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
.footer .inner .footerInfo { flex: 1; display: flex; flex-direction: column; gap:30px;}
.footer .inner .footerInfo .footerMenu { display: flex; flex-wrap: wrap; gap:12px 20px;  }
.footer .inner .footerInfo .footerMenu li a { font-size: 1.4rem; color: #fff; }
.footer .inner .footerInfo .infoTxtWrap .infoTxt { font-size: 1.4rem; color: #ccc; line-height: 1.6; margin-top:10px; display:flex; gap:5px 12px; flex-wrap:wrap; max-width:700px; }
.footer .inner .footerInfo .infoTxtWrap .copy { font-size: 1.2rem; color: #999; margin-top:10px;}
.footer .inner .footerInfo .snsIcons { display: flex; gap: 16px; }
.footer .inner .footerInfo .snsIcons a { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; opacity: 0.75; transition: opacity 0.3s; }
.footer .inner .footerInfo .snsIcons a:hover { opacity: 1; }
.footer .inner .footerInfo .snsIcons a img { width: 100%; height: 100%; }
.footer .inner .footerLogo { flex-shrink:0; width:186px;}
.footer .inner .footerLogo img {  width:100%;height: auto; }

/* ================================== 반응형 ================================== */
@media (max-width: 1024px) {
    .footer .inner .footerWrap { gap: 40px; }
    .footer .inner .footerLogo { width: 150px; }
}
@media (max-width: 767px) {
    .footer { padding: 40px 0; }
    .footer .inner .footerWrap { flex-direction: column; gap: 30px; }
    .footer .inner .footerLogo { order: -1; width: 120px; }
    .footer .inner .footerInfo .footerMenu { gap: 3px 16px; }
    .footer .inner .footerInfo .footerMenu li a { font-size: 1.3rem; }
    .footer .inner .footerInfo .infoTxtWrap .infoTxt { font-size: 1.3rem; gap: 4px 10px; }
    .footer .inner .footerInfo .infoTxtWrap .copy { font-size: 1.1rem; }
    .footer .inner .footerInfo .snsIcons a { width: 30px; height: 30px; }
}




/* ============================================================
   SCROLL TOP
============================================================ */
.scroll-top { position:fixed; right:30px; bottom:40px; width:48px; height:48px; background:transparent; border:1px solid #c9a84c; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(20px); transition:opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease, background 0.25s ease; z-index:999; }
.scroll-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { background:#c9a84c; }
.scroll-top > span { display:block; width:11px; height:11px; border-top:2px solid #c9a84c; border-right:2px solid #c9a84c; transform:rotate(-45deg); margin-top:3px; transition:border-color 0.25s ease; font-size:0; line-height:0; color:transparent; }
.scroll-top:hover > span { border-color:#fff; }

@media (max-width: 767px) {
  .scroll-top { right:16px; bottom:24px; width:42px; height:42px; }
}


/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// 공통  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.section .sec_tit { font-family:'Gowun Dodum', sans-serif; font-size:5rem; line-height:1.4; font-weight:400; color:#1d1d1d; margin-bottom:40px; word-break:keep-all;}
 
/* ================================== 반응형 ================================== */
@media (max-width: 1279px) {
  .section .sec_tit { font-size:4.2rem; }
}

@media (max-width: 1023px) { 
  .section .sec_tit { font-size:3.6rem; }
}

@media (max-width: 767px) {	
  .section .sec_tit { font-size:2.2rem; margin-bottom:26px; }
}
   

/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// VISUAL  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.mainVisualWrap { width:100%; position:relative; z-index:1; }
.mainVisualWrap .mainVisual { width:100%; text-align:center; position:relative; overflow:hidden;  height:100vh; }	
.mainVisualWrap .mainVisual .visualItem { position:relative; width:100%; height:100vh; overflow:hidden; }
.mainVisualWrap .mainVisual .visualBg {width:100%; position:relative; height:100vh; transform:scale(1.1); }

.mainVisualWrap .mainVisual .visualText {  position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; padding:0 20px 20px 0; z-index:10; }
.mainVisualWrap .mainVisual .visualText .text_1 { font-family:'Gowun Dodum', sans-serif; font-size:6rem; line-height:1.4; margin-bottom:2rem; opacity:0; color:#fff;}
.mainVisualWrap .mainVisual .visualText .text_2 { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:2rem; line-height:1.8; opacity:0; color:#fff; }

.mainVisualWrap .mainVisual .visualBg .visualImg { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; height:100%; 
	background-size:cover !important; background-position:center !important;  }
.visualItem.slick-slide.slick-current.slick-active .visualBg{  /*animation:visualBg 2.0s forwards; animation-delay:0.4s; */ }
.visualItem.slick-slide.slick-current.slick-active .text_1 {  animation:enterText 0.8s forwards; animation-delay:0.8s; }
.visualItem.slick-slide.slick-current.slick-active .text_2 { animation:enterText 1.0s forwards; animation-delay:1.0s; }

.mainVisualWrap .arrowSlider { position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); z-index:5; display:flex; justify-content:space-between; pointer-events:none; }
.mainVisualWrap .arrowSlider .arrows.prev, 
.mainVisualWrap .arrowSlider .arrows.next  { pointer-events:all; font-family:'Marcellus', serif; font-size:1.6rem; color:rgba(255,255,255,0.75); width:150px; padding:5px 10px;
    border-top:1px solid rgba(255,255,255,0.45); transition:color 0.3s; line-height:1; }
.mainVisualWrap .arrowSlider .arrows.prev { text-align:right; }
.mainVisualWrap .arrowSlider .arrows.next { text-align:left; }
.mainVisualWrap .arrowSlider .arrows.prev:hover, .mainVisualWrap .arrowSlider .arrows.next:hover { color:#fff; }

.mainVisualWrap .slideDots { position:absolute; bottom:224px; left:50%; transform:translateX(-50%); z-index:5; }
.mainVisualWrap .slideDots .slick-dots { display:flex; gap:20px; align-items:center; list-style:none; margin:0; padding:0; }
.mainVisualWrap .slideDots .slick-dots li button { display:block; width:8px; height:8px; background:rgba(255,255,255,0.4); border-radius:0; font-size:0; padding:0; transition:background 0.35s; cursor:pointer; }
.mainVisualWrap .slideDots .slick-dots li.slick-active button { background:#fff; }

.mainVisualWrap .scrollBtn { position:absolute; bottom:83px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; z-index:5; color:#fff; cursor:pointer; }
.mainVisualWrap .scrollBtn span { font-family:'Marcellus', serif; font-size:1.6rem; line-height:1.4; }
.mainVisualWrap .scrollBtn .arrows { display:flex; flex-direction:column; align-items:center; gap:4px; }
.mainVisualWrap .scrollBtn .arrows .arrow { display:block; width:12px; height:8px; position:relative; }
.mainVisualWrap .scrollBtn .arrows .arrow:first-child { animation:scrollBounce 1.5s ease-in-out infinite; }
.mainVisualWrap .scrollBtn .arrows .arrow:last-child  { animation:scrollBounce 1.5s ease-in-out 0.2s infinite; } 


@keyframes visualBg {
	0%{
  	opacity:1;
	transform:scale(1.1);
    }
    100%{
  	  opacity:1;
      transform:scale(1.0);
    }
}

@keyframes enterText {
	0%{
  	opacity:0;
	transform: translateY(80px);
    }
    100%{
  	  opacity:1;
      transform: translateY(0);
    }
}

@keyframes scrollBounce {
  0%, 100% { opacity:0.4; transform:translateY(-2px); }
  50%       { opacity:1;   transform:translateY(2px); }
}

/* ========================================== 반응형 ========================================== */
@media (max-width: 1279px) {
  .mainVisualWrap .mainVisual .visualText .text_1 { font-size:4.8rem; }
  .mainVisualWrap .mainVisual .visualText .text_2 { font-size:1.8rem; }
}

@media (max-width: 1024px) {
  .mainVisualWrap .mainVisual .visualText .text_1 { font-size:3.6rem; }
  .mainVisualWrap .mainVisual .visualText .text_2 { font-size:1.6rem; }
  .mainVisualWrap .arrowSlider .arrows.prev,
  .mainVisualWrap .arrowSlider .arrows.next { width:100px; }
  .mainVisualWrap .slideDots { bottom:150px; }
  .mainVisualWrap .scrollBtn { bottom:56px; }
}
@media (max-width: 767px) {
  .mainVisualWrap .mainVisual,
  .mainVisualWrap .mainVisual .visualItem,
  .mainVisualWrap .mainVisual .visualBg {height:80vh; min-height:600px; }

  .mainVisualWrap .mainVisual .visualText { padding:0 24px; top:45%;}
  .mainVisualWrap .mainVisual .visualText .text_1 { font-size:2.6rem; margin-bottom:1.6rem; }
  .mainVisualWrap .mainVisual .visualText .text_2 { font-size:1.4rem; line-height:1.7; }
  .mainVisualWrap .arrowSlider { display:none; }
  .mainVisualWrap .slideDots { bottom:108px; }
  .mainVisualWrap .scrollBtn { bottom:32px; }
  .mainVisualWrap .scrollBtn span { font-size:1.3rem; }
}

@media (max-width: 480px) {
  .mainVisualWrap .mainVisual,
  .mainVisualWrap .mainVisual .visualItem,
  .mainVisualWrap .mainVisual .visualBg { height:clamp(400px, 80vh, 600px);  min-height:initial; }
  .mainVisualWrap .mainVisual .visualText .text_1 ,
  .mainVisualWrap .mainVisual .visualText .text_2  { word-break:keep-all; }
  .mainVisualWrap .slideDots { bottom:110px; }
  .mainVisualWrap .scrollBtn { bottom:25px; }
}

/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// sec02  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.sec02 { position:relative; overflow:hidden; background:url('../images/main/section2_bg.jpg') no-repeat top center; background-size:100% 70%; padding-top:150px; }
.sec02 .titleArea { position:relative; z-index:1; width:100%; display:flex; justify-content:space-between; margin-bottom:100px; gap:30px; }
.sec02 .sec_tit {  color:#fff;  }
.sec02 .sec_desc { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:1.8rem; font-weight:300; line-height:1.8; color:#fff; word-break:keep-all; }
.sec02 .viewMoreCircle { width:20rem; height:20rem; border-radius:50%; border:1px solid rgba(255,255,255,0.4); display:flex; flex-direction:column; align-items:center; 
  justify-content:center; gap:1rem; color:#fff; overflow:hidden; flex-shrink:0; transition:all 0.4s ease; }
.sec02 .viewMoreCircle span { font-family:'Marcellus', serif; font-size:1.8rem; position:relative; z-index:1; transition:letter-spacing 0.4s ease; }
.sec02 .viewMoreCircle img { width:3.4rem; height:auto; position:relative; z-index:1; transition:transform 0.4s ease; }
.sec02 .viewMoreCircle:hover { border:1px solid rgba(255,255,255,1); }
.sec02 .viewMoreCircle:hover img { transform:translateX(0.7rem); } 

.sec02 .imgArea { margin-left:13.54%; height:844px; overflow:hidden; z-index:10; }
.sec02 .imgArea img { width:100%; height:100%; object-fit:cover; }

/* ========================================== 반응형 ========================================== */
@media (max-width: 1279px) {
  .sec02 { padding-top:120px; }
  .sec02 .imgArea { height:auto; aspect-ratio:16/9; margin-left:0; padding:0 20px; }
  .sec02 .titleArea { margin-bottom:80px; }
}

@media (max-width: 1024px) {
  .sec02 { padding:100px 0; background-size:cover;}
  .sec02 .titleArea { margin-bottom:60px; gap:30px; width:100%; flex-direction:column; align-items:flex-start; }
  .sec02 .sec_desc { font-size:1.6rem; }
  .sec02 .viewMoreCircle { width:auto; height:auto; padding:0; border:0; flex-direction:row; display: inline-flex; align-items: center; gap: 10px;  border-radius:0;}
  .sec02 .viewMoreCircle:hover { border:0; }
  .sec02 .viewMoreCircle span {font-size: 1.6rem; }
}

@media (max-width: 767px) {
  .sec02 { padding:80px 0; padding-bottom:80px;  }
  .sec02 .titleArea { margin-bottom:40px; gap:20px; align-items:flex-start; }
  .sec02 .sec_desc { font-size:1.5rem; }
}

@media (max-width: 480px) {
  .sec02 { padding:60px 0;}
  .sec02 .titleArea { margin-bottom:30px; flex-direction:column;  }
  .sec02 .sec_desc { font-size:1.4rem; }
  .sec02 .imgArea { aspect-ratio:1/1; }  
}



/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// sec03  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.sec03 { position:relative; display:flex; align-items:center; padding:280px 0 280px 100px; background:url('../images/main/sec3_bg.png') no-repeat right bottom; background-size:contain; overflow:hidden;  }
.sec03 .photoArea { width:50%; min-width:0; height:700px; overflow:hidden; position:relative; z-index:1; }
.sec03 .photoArea img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.8s ease; }
.sec03 .photoArea:hover img { transform:scale(1.03); }
.sec03 .textArea {width:50%; min-width:0; padding:0 min(8%, 150px); position:relative; z-index:1; display:flex; flex-direction:column; gap:37px; }
.sec03 .sec_tit {  margin-bottom:0; }
.sec03 .sec_desc { font-family:'Pretendard Variable', 'Pretendard', sans-serif; font-size:1.6rem; font-weight:300; line-height:1.8; color:#555;  }
.sec03 .textArea .viewMoreLink { display:inline-flex; align-items:center; gap:10px; font-family:'Marcellus', serif; font-size:1.6rem; color:var(--color-gold); position:relative; padding-bottom:3px; }
.sec03 .textArea .viewMoreLink img { width:34px; height:auto; transition:transform 0.35s ease; }
.sec03 .textArea .viewMoreLink:hover img { transform:translateX(7px); }

/* ========================================== 반응형 ========================================== */
@media (max-width: 1279px) {
  .sec03 { padding:100px 20px; overflow:hidden; min-height:initial; }
  .sec03 .photoArea { height:auto; aspect-ratio:16/9; }
}

@media (max-width: 1024px) {
  .sec03 { flex-direction:column; padding:80px 20px; min-height:auto; align-items:stretch; gap:60px;}
  .sec03 .photoArea { width:100%; order:2;}
  .sec03 .textArea { width:100%; padding:0; order:1;}
}

@media (max-width: 767px) {
  .sec03 { padding:60px 20px; }
  .sec03 .textArea { padding:36px 0; gap:24px; }
  .sec03 .sec_desc { font-size:1.5rem; }
}

@media (max-width: 480px) {
  .sec03 { padding: 60px  20px; gap:30px; }
  .sec03 .textArea { padding:0; }
  .sec03 .photoArea { height:auto; aspect-ratio:1/1; }
}

/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// sec04  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.sec04 { position:relative; padding:150px 0; background:linear-gradient(90deg, rgba(199,181,141,0.2), rgba(199,181,141,0.2)), #fff; }
.sec04 .sec_tit { font-family:'Marcellus'; }
.sec04 .careSliderWrap { position:relative;  }
.sec04 .cardSlider { margin:0 -20px; }
.sec04 .cardSlider .slick-track { display:flex; }
.sec04 .cardSlider .slick-slide { padding:0 20px; height:auto; }
.sec04 .cardSlider .card a { display:flex !important; flex-direction:column; gap:40px; cursor:pointer; height:100%; }
.sec04 .cardSlider .card .cardThumb { overflow:hidden; background:#f5f5f5; flex-shrink:0; aspect-ratio:440/400; position: relative; }
.sec04 .cardSlider .card .cardThumb img { width:100%; height:100%; object-fit:cover; object-position: center center; transition:transform 0.6s ease; }
.sec04 .cardSlider .card:hover .cardThumb img { transform:scale(1.04); }
.sec04 .cardSlider .card .cardInfo { display:flex; flex-direction:column; gap:15px; }
.sec04 .cardSlider .card .cardInfo .cardTitle { font-size:2.4rem; font-weight:500; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sec04 .cardSlider .card .cardInfo .cardDesc { font-size:1.6rem; color:#555; line-height:1.6; display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 2;  height: calc(16px * 1.6 * 2);  overflow: hidden !important;}
.sec04 .cardSlider .card .cardInfo .cardDate { font-size:1.6rem; color:#aaa; }

.sec04 .slidePrev,
.sec04 .slideNext { position:absolute; top:200px; transform:translateY(-50%); width:70px; height:70px; z-index:10; transition:opacity 0.3s;
  background:var(--color-gold); display:flex; align-items:center; justify-content:center; border-radius:50%; }
.sec04 .slidePrev { left:-130px; }
.sec04 .slideNext { right:-130px; }
.sec04 .slidePrev img, .sec04 .slideNext img { width:min(40%, 26px); }
.sec04 .slidePrev.slick-disabled, .sec04 .slideNext.slick-disabled { opacity:0.3; cursor:default; }

@media (max-width:1660px) {
  .sec04 .slidePrev { left:-20px; }
  .sec04 .slideNext { right:-20px; }
}

/* ========================================== 반응형 ========================================== */
@media (max-width:1279px) {
  .sec04 { padding:100px 0; }
  .sec04 .cardSlider { margin:0 -10px; }
  .sec04 .cardSlider .slick-slide { padding:0 10px; }
  .sec04 .slidePrev { top:30%; }
  .sec04 .slideNext { top:30%; }
}

@media (max-width:1023px) {
  .sec04 { padding:80px 0; }
  .sec04 .cardSlider { margin:0 -10px; }
  .sec04 .cardSlider .slick-slide { padding:0 10px; }
}

@media (max-width:767px) {
  .sec04 { padding:60px 0; }
  .sec04 .cardSlider .card { gap:30px;}
  .sec04 .cardSlider .card .cardInfo .cardTitle { font-size:1.8rem; }
  .sec04 .cardSlider .card .cardInfo .cardDesc { font-size:1.4rem; line-height:1.4; height: calc(14px * 1.4 * 2);}
  .sec04 .cardSlider .card .cardInfo .cardDate { font-size:1.4rem; }
  .sec04 .slidePrev, .sec04 .slideNext { width:40px; height:40px; }
}

@media (max-width:480px) {
  .sec04 { padding:60px 0; }
}

/* -----------------------------------------------------------------------------------------------
///////////////////////////////////////////// sec05  //////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
.sec05 { position:relative;display:flex; align-items:center; justify-content:center; overflow:hidden; padding:100px 0; 
  background:url('../images/main/cta_bg.jpg') no-repeat center center/cover; }
.sec05 .inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:37px; padding:25px 20px; }
.sec05 .sec_tit { font-size:4.8rem; color:#fff; line-height:1.8; text-align:center; margin-bottom:0; }

/* CTA 버튼 hover 애니메이션: shine sweep + lift */
.sec05 .inner .ctaBtn { font-family:'Marcellus', serif; font-size:1.6rem; color:#fff; background:var(--color-gold); padding:15px 50px; display:inline-block; position:relative; overflow:hidden; transition:transform 0.3s ease; }
.sec05 .inner .ctaBtn::before { content:''; position:absolute; top:0; left:-110%; width:80%; height:100%; background:linear-gradient(120deg, transparent, rgba(255,255,255,0.28), transparent); transform:skewX(-15deg); transition:left 0.55s ease; }
.sec05 .inner .ctaBtn:hover::before { left:130%; }

/* ========================================== 반응형 ========================================== */
@media (max-width: 1279px) {
  .sec05 { padding:80px 0; }
  .sec05 .sec_tit { font-size:4rem; }
}

@media (max-width: 1024px) {
  .sec05 { padding:70px 0; }
  .sec05 .inner { gap:28px; }
  .sec05 .sec_tit { font-size:3.4rem; }
}

/* ========================================== 반응형 ========================================== */
@media (max-width: 767px) {
  .sec05 { padding:60px 0; }
  .sec05 .inner { gap:24px; }
  .sec05 .sec_tit { font-size:2.2rem; line-height:1.6; word-break:keep-all; }
  .sec05 .inner .ctaBtn { padding:12px 36px; }
}

/* ========================================== 반응형 ========================================== */
@media (max-width: 480px) {
  .sec05 { padding:60px 0; }
  .sec05 .sec_tit { font-size:2rem; }
}


