@charset "utf-8";

/* ==============================
   Design System / Root
============================== */
:root {
  --primary: #A48953;
  --text-dark: #2c2c2c;
  --text-muted: #6a7282;
  --text-sub: #4a5565;

  --fs-64: clamp(36px, 5.6vw, 64px);
  --fs-56: clamp(32px, 4.9vw, 56px);
  --fs-48: clamp(30px, 4.2vw, 48px);
  --fs-44: clamp(29px, 3.85vw, 44px);
  --fs-40: clamp(28px, 3.5vw, 40px);
  --fs-36: clamp(27px, 3.15vw, 36px);
  --fs-32: clamp(25px, 2.8vw, 32px);
  --fs-28: clamp(23px, 2.45vw, 28px);
  --fs-24: clamp(20px, 2.1vw, 24px);
  --fs-20: clamp(18px, 1.75vw, 20px);
  --fs-18: clamp(15px, 1.575vw, 18px);
  --fs-16: clamp(13px, 1.4vw, 16px);
  --fs-14: clamp(12px, 1.2vw, 14px);
}

/* =========================
           main
========================= */
.popup-m{display:none}
@media (max-width:1024px){
	.popup-m{display:flex; align-items:center; justify-content:space-between; background:var(--primary);color:#fff;padding:12px 4%;}
	.popup-m h3{font-size:var(--fs-18);}
	.popup-m p{font-size:var(--fs-16);}
}

/* ==============================
   Typography Utility
============================== */
.label-en {font-family: 'Aboreto', serif; letter-spacing: 0.15em; text-transform: uppercase; font-size: var(--fs-14); color: var(--text-muted);}
body{word-break:keep-all;}

/* ==============================
   Header & GNB
============================== */
.site-header {position: fixed; top: 0; left: 0; width: 100%; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 4%; height: 80px; transition: background 0.4s, backdrop-filter 0.4s;}
.site-header.scrolled { background: rgba(255,255,255,0.75); backdrop-filter: blur(8px); box-shadow:0 0 10px rgba(0,0,0,0.05);}
.site-header.scrolled .gnb-nav a {color: var(--text-dark);}
.site-header.scrolled .header-btn {background: var(--primary); color: #fff;}
.header-logo img {height: 34px; width: auto;}
.header-right {display: flex; align-items: center; gap: 42px;}
.gnb-nav {display: flex; align-items: center; gap: 48px;}
.gnb-nav a {font-size: var(--fs-16); font-weight: 600; color: rgba(255,255,255,0.85); letter-spacing: 0.02em; transition: opacity 0.2s;}
.gnb-nav a:hover {opacity: 0.7;}
.header-btn {display: inline-flex; align-items: center; justify-content: center; padding: 6px 18px; background: var(--primary); color: #fff; font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0; transition: opacity 0.2s;}
.header-btn:hover {opacity: 0.85;}
.ham-btn {display: none; flex-direction: column; justify-content: center; gap: 7px; cursor: pointer; padding: 8px; width: 40px; height: 40px; background: none; border: none;}
.ham-btn span {display: block; height: 1px; background: #fff; transition: transform 0.35s ease, opacity 0.25s ease, width 0.35s ease, background 0.3s;}
.ham-btn span:nth-child(1) {width: 24px;}
.ham-btn span:nth-child(2) {width: 14px; margin-left: auto;}
.ham-btn span:nth-child(3) {width: 24px;}
.ham-btn.open span:nth-child(1) {transform: translateY(8px) rotate(45deg); width: 22px;}
.ham-btn.open span:nth-child(2) {opacity: 0; transform: translateX(-6px);}
.ham-btn.open span:nth-child(3) {transform: translateY(-8px) rotate(-45deg); width: 22px;}
.site-header.scrolled .ham-btn span {background: var(--text-dark);}
.site-header.scrolled .header-logo img {filter: brightness(0);}
/* 임시 모바일 팝업 사용시
@media (max-width:1024px) {
	.site-header{top:75px;}
	.site-header.scrolled{top: 0px;}
}
*/
@media (max-width:768px) {
	.site-header{height:70px;}
	.header-logo img{height:26px;}
	.header-btn{padding:6px 8px;}
	.gnb-nav {display: none;}
	.ham-btn {display: flex;}
	.header-right{gap:8px;}
}

/* Mobile Nav Overlay */
.mobile-nav {position: fixed; inset: 0; z-index: 99; background: rgba(38,30,24,0.97); display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.4s ease;}
.mobile-nav.open {opacity: 1; pointer-events: all;}
.mobile-nav-deco {width: 1px; height: 60px; background: rgba(201,168,104,0.4); margin-bottom: 48px;}
.mobile-gnb {display: flex; flex-direction: column; align-items: center; gap: 0;}
.mobile-gnb a {font-size: var(--fs-36); font-weight: 300; color: rgba(255,255,255,0.75); letter-spacing: 0.06em; padding: 14px 0; transition: color 0.2s;}
.mobile-gnb a:hover {color: var(--primary);}
.mobile-nav-reserve {margin-top: 48px; font-family: 'Aboreto', serif; font-size: var(--fs-14); letter-spacing: 0.2em; color: var(--primary); border: 1px solid rgba(201,168,104,0.5); padding: 12px 36px; text-transform: uppercase; transition: background 0.2s, color 0.2s;}
.mobile-nav-reserve:hover {background: var(--primary); color: #fff;}

/* ==============================
   Hero Section
============================== */
.section-hero {position: relative; width: 100%; height: 100vh; min-height: 600px; overflow: hidden;}
.section-hero .hero-bg {position: absolute; inset: 0;}
.section-hero .hero-swiper,.section-hero .hero-swiper .swiper-wrapper,.section-hero .hero-swiper .swiper-slide {height: 100%;}
.section-hero .hero-slide-bg {position: absolute; inset: -8%; background: center/cover no-repeat; transform-origin: center; will-change: transform;}
.section-hero::after {content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to right, rgba(0,0,0,0.45) 10%, rgba(0,0,0,0) 65%); pointer-events: none;}
.section-hero .hero-content {position: absolute; top: 50%; left: 50%; z-index: 2; transform: translate(-50%, -50%); text-align: center;}
.section-hero .hero-content p{font-size:var(--fs-20);color:rgba(255,255,255,0.7)}
.section-hero .fade-up {opacity: 0;}
.section-hero .hero-title {font-size: var(--fs-64); font-family: 'Aboreto', serif; font-weight: 300; color: #fff; line-height: 1.25; letter-spacing: -0.03em;}
.section-hero .hero-title strong {font-weight: 400;}
.section-hero .hero-progress {position: absolute; left: 50%; bottom: 22%; z-index: 2; display: flex; align-items: center; gap: 12px; transform: translateX(-50%);}
.section-hero .prog-current {font-size: var(--fs-16); font-weight: 600; color: #fff;}
.section-hero .prog-total {font-size: var(--fs-16); font-weight: 600; color: rgba(255,255,255,0.5);}
.section-hero .prog-bar {position: relative; width: 180px; height: 1px; background: rgba(255,255,255,0.35);}
.section-hero .prog-fill {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #fff; transform-origin: left center;}
.section-hero .swiper-button-prev,.section-hero .swiper-button-next {position: static; width: 28px; height: 28px; margin: 0; color: transparent; opacity: 0.7; transition: opacity 0.2s; flex-shrink: 0;}
.section-hero .swiper-button-prev:hover,.section-hero .swiper-button-next:hover {opacity: 1;}
.section-hero .swiper-button-prev::after,.section-hero .swiper-button-next::after {content: ''; display: block; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff;}
.section-hero .swiper-button-prev::after {transform: rotate(-135deg);}
.section-hero .swiper-button-next::after {transform: rotate(45deg);}
.section-hero .hero-indicator {position: absolute; right: 5%; bottom: 8%; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px;}
.section-hero .hero-indicator .line {width: 1px; height: 80px; background: rgba(255,255,255,0.15); overflow: hidden;}
.section-hero .hero-indicator .line::after {content: ''; display: block; width: 100%; height: 100%; background: rgba(255,255,255,0.6); animation: scroll-bar 2s ease infinite;}
@keyframes scroll-bar {0% {transform: translateY(-100%);} 100% {transform: translateY(100%);}}
.section-hero .hero-indicator span {font-size: 12px; text-transform: uppercase; color: rgba(255,255,255,0.3);}
@media (max-width:768px) {
	.section-hero .hero-content {width: 90%;}
	.section-hero .hero-progress {bottom: 18%;}
	.section-hero .prog-bar {width: 120px;}
	.section-hero .hero-indicator {display:none}
}


/* ==============================
   Brand Story Section
============================== */
.section-brand-story {background: #faf9f8 url(../img/content/main/brand-sky.jpg) no-repeat center top / cover;position:relative;overflow:hidden}
.section-brand-story .brand-text-wrap {padding: 20vmin 0 8vmin;position:relative;z-index:1;max-width: 1400px;margin: 0 auto;}
.section-brand-story .brand-cols {display: flex;justify-content: space-between;gap: 60px;align-items: start;}
.section-brand-story .brand-title {font-size: var(--fs-56); font-weight: 400; line-height: 1.3; letter-spacing: -0.025em; color:#17192cbf;}
.section-brand-story .brand-right {padding-top: 28px;}
.section-brand-story .brand-label {font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0.15em; color: var(--text-muted); margin-bottom: 28px;}
.section-brand-story .brand-body {font-size: var(--fs-18); color: var(--text-sub); line-height:1.6; font-weight: 300;}
.section-brand-story .brand-body p {margin-bottom: 12px;}
.section-brand-story .brand-body p:last-child {margin-bottom: 0;}
.section-brand-story .stats-wrap {border-top: 1px solid #ffffff75;margin: 0 auto;padding: 6vmin 0;position: relative;z-index: 1;max-width: 1400px;}
.section-brand-story .stats-grid {display: flex;justify-content: space-between;}
.section-brand-story .stat-item {padding: 4vmin 0 4vmin; }
.section-brand-story .stat-item:last-child {border-right: none;}
.section-brand-story .stat-num {font-size: var(--fs-48); font-weight: 400; color:#303a49bf; line-height: 1.2; margin-bottom:16px;}
.section-brand-story .stat-num span{font-size:var(--fs-32);}
.section-brand-story .stat-en {font-family: 'Aboreto', serif; font-size: var(--fs-18); letter-spacing: 0.1em; color: var(--text-muted); margin-bottom:10px; display: block;}
.section-brand-story .stat-ko {font-size: var(--fs-18); color: var(--text-muted); font-weight: 300; line-height: 1.6;}
.section-brand-story .brand-img-wrap {height:600px;overflow: hidden;position: relative;margin-top: 10vh;/* position: absolute; *//* margin-top: 4vmin; */z-index: 0;}
.section-brand-story .brand-img-wrap img {width: 100%;height: 800px;object-fit: cover;object-position: center top;/* position: absolute; *//* top: -47%; */}

@media (max-width:1200px) {
	.section-brand-story .brand-cols {gap: 40px;}
}
@media (max-width:768px) {
	.br-hide{display:none}
	.section-brand-story .brand-body p{margin-bottom:0}
	.section-brand-story .brand-cols, 
	.section-brand-story .stats-grid{flex-direction:column; text-align:center;}
	.section-brand-story .brand-cols{align-items:center;}
	.section-brand-story .brand-right {padding-top: 0;}
	.section-brand-story .stat-item {border-right: none;}
	.section-brand-story .stat-item+.stat-item{border-left:none;padding-left:0;margin-left:0}
	.section-brand-story .stat-item:last-child {border-bottom: none;}
	.section-brand-story .stat-num{margin-bottom:0}
	.section-brand-story .brand-img-wrap{height:300px; margin-top:0}
	.section-brand-story .brand-img-wrap img{height:100%;position:static;}
}

/* ==============================
   Essence Section
============================== */
.section-essence {position: relative; height: 100dvh; min-height: 600px; overflow: hidden; display: flex; align-items: center; justify-content: center;}
.section-essence .essence-swiper {position: absolute; inset: 0;}
.section-essence .essence-swiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover; transform-origin: center; animation: none;}
.section-essence .essence-swiper .swiper-slide-active img {animation: kenburns 6s ease-out forwards;}
@keyframes kenburns {from {transform: scale(1.08);} to {transform: scale(1);}}
.section-essence .essence-overlay {position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.42) 10%, rgba(0,0,0,0.15) 50%); pointer-events: none; z-index: 1;}
.section-essence .essence-content {position: relative; z-index: 2; text-align: center;  padding: 0 5%;}
.section-essence .essence-label {font-family: 'Aboreto', serif; font-size: var(--fs-16); font-weight:600; letter-spacing: 0.22em; color:#8b613d;; margin-bottom: 32px; display: block;}
.section-essence .essence-main-title {font-family: 'Aboreto', serif; font-size: clamp(40px, 7vw, 100px); font-weight:500; letter-spacing: 0.1em; color:transparent; background:linear-gradient(45deg, #795333, #e6ac51); background-clip:text;  line-height: 1; margin-bottom: 40px; text-transform: uppercase;}
.section-essence .essence-sub-title {display:none; font-size: var(--fs-20); font-weight: 500; color: var(--primary); line-height: 1.5; margin-bottom: 16px;}
.section-essence .essence-body {font-size: var(--fs-18); color:rgba(255,255,255,0.7); line-height: 2; font-weight: 500;}
/* Essence Pagination */
.essence-pagination {position: absolute; bottom: 7%; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; gap: 36px;}
.ep-item {cursor: pointer; min-width: 100px;}
.ep-label {display: block; text-align:center; font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0.08em; color: rgba(255,255,255,0.4); margin-bottom: 10px; white-space: nowrap; transition: color 0.4s;}
.ep-item.active .ep-label {color: rgba(255,255,255,0.9);}
.ep-bar {height: 2px; background: rgba(255,255,255,0.2); position: relative; overflow: hidden;}
.ep-fill {position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #fff;}
.ep-item.active .ep-fill {animation: ep-progress  5.8s linear forwards;}
@keyframes ep-progress {from {width: 0;} to {width: 100%;}}
@media (max-width:1024px){
	.section-essence .essence-content{top:-7%;}
	.section-essence .essence-label, .section-essence .essence-main-title{margin-bottom:16px;}
	.section-essence .essence-swiper .swiper-slide img{object-position:center right;}
	.essence-pagination{display:grid; grid-template-columns:repeat(3, 1fr);gap:20px 10px;}
	.ep-label{font-size:var(--fs-14);}
}
@media (max-width:768px){
	.section-essence .essence-body{line-height:1.6;}
}

/* ==============================
   Gallery / 수:담 Section
============================== */
.section-gallery {background:url(../img/content/main/gallery-bg.jpg) no-repeat center / cover; position: relative; padding: 12vmin 0;}
.section-gallery .gallery-head {text-align: center; margin-bottom: 10vmin; padding: 0 5%;}
.section-gallery .gallery-label {font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0.22em; color: #929292; margin-bottom: 28px; display: block;}
.section-gallery .gallery-logo {max-width:380px; margin: 0 auto 28px;}
.section-gallery .gallery-sub-title {font-size: var(--fs-20); font-weight: 500; color:var(--primary); line-height: 1.6; margin-bottom: 14px;}
.section-gallery .gallery-body {font-size: var(--fs-18); color: #9d9d9d; line-height: 2.1; font-weight: 300;}
.section-gallery .gallery-imgs {display: flex; gap: 24px; padding: 0 10%; position: relative; z-index: 2; align-items: flex-start;}
.section-gallery .gallery-img-item {flex: 1 1 0; overflow: hidden; transition: flex-grow 0.6s ease; box-shadow: 20px 30px 30px rgba(0,0,0,0.1);}
.section-gallery .gallery-imgs:has(.gallery-img-item:hover) .gallery-img-item {flex-grow: 0.5;}
.section-gallery .gallery-imgs:has(.gallery-img-item:hover) .gallery-img-item:hover {flex-grow: 2.5;}
.section-gallery .gallery-img-item img {width: 100%; height: 600px; object-fit: cover;}
.section-gallery .gallery-img-item:nth-child(2) {margin-top: 40px;}
.section-gallery .gallery-img-item:nth-child(3) {margin-top: 80px;}
@media (max-width:768px) {
	.section-gallery .gallery-logo{max-width:200px; margin:0 auto 10px;}
	.section-gallery .gallery-body{line-height:1.6;}
	.section-gallery .gallery-imgs {flex-direction: column; align-items: stretch;padding:0 5%;}
	.section-gallery .gallery-img-item {flex: none;}
	.section-gallery .gallery-img-item:nth-child(2),
	.section-gallery .gallery-img-item:nth-child(3) {margin-top: 0;}
	.section-gallery .gallery-img-item img {height: 300px;}
}

/* ==============================
   Room Section
============================== */
.section-room {background: #fff; padding-top: 10vmin;}
.section-room .room-head {text-align: center; padding: 0 5% 10vmin;}
.section-room .room-label {font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0.15em; color: var(--text-muted); margin-bottom: 24px; display: block;}
.section-room .room-title {font-size: var(--fs-48); font-weight: 300; line-height: 1.35; color: var(--text-dark);}
.section-room .room-intro {position: relative; height: 100vh; min-height: 400px; overflow: hidden; margin-bottom: 6vmin;}
.section-room .room-intro .room-intro-swiper {position: absolute; inset: 0;}
.section-room .room-intro .room-intro-swiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover;}
.section-room .room-intro .room-intro-swiper .swiper-slide-active img {animation: kenburns 6s ease-out forwards;}
.section-room .room-intro-text {display: block; color:#fff; position: absolute; top: 60%; left: 50%; transform: translate(-50%, -50%); z-index: 10; text-align: center; width: 100%;}
.section-room .room-intro-text .intro-main {font-family: 'Aboreto', serif; font-size: clamp(40px, 4.5vw, 90px); letter-spacing: 0.08em; margin-bottom:10dvh; line-height: 1.1;}
.section-room .room-intro-text .intro-desc {font-size: var(--fs-18); font-weight: 500; line-height: 2.2;}
.section-room .room-item {display: grid; grid-template-columns: 1fr 1.9fr; min-height: 800px; margin-top:10vh}
.section-room .room-item.reverse {grid-template-columns: 1.9fr 1fr; }
.section-room .room-detail {display: flex; flex-direction: column; justify-content: center; padding: 6vmin 8%;}
.section-room .room-item-label {font-family: 'Aboreto', serif; font-size: var(--fs-14); letter-spacing: 0.15em; color: var(--text-muted); margin-bottom: 20px; display: block;}
.section-room .room-item-title {font-size: var(--fs-36); font-weight: 300; color: var(--text-dark); line-height: 1.4; margin-bottom: 40px;}
.section-room .room-room-name {font-size: var(--fs-18); font-weight: 500; color: #8e6b63; margin-bottom: 10px;}
.section-room .room-item-desc {font-size: var(--fs-18); color: #7e7e7e; line-height: 2; font-weight: 300; word-break:keep-all;}
.section-room .room-slide-img {overflow: hidden; position: relative;}
/* Room Slide Swiper */
.room-swiper {position: absolute; inset: 0;}
.room-swiper .swiper-slide {overflow: hidden; position: relative; height: 100%;}
.room-parallax-img {position: absolute; top: 0; bottom: 0; left: -20%; width: 135%; height: 100%;}
.room-parallax-img img {width: 100%; height: 100%; object-fit: cover;}
/* Slide Nav (room / intro 공용) */
.room-slide-nav,
.intro-nav {position: absolute; bottom: 28px; right: 5%; z-index: 10; display: flex; align-items: center; gap: 18px;}
.slide-btn {flex-shrink:0; background: none; border: none; color: rgba(255,255,255,0.6); font-family: 'Aboreto', serif; font-size: 11px; letter-spacing: 0.2em; cursor: pointer; padding: 0; transition: color 0.3s; user-select: none;}
.slide-btn:hover {color: #fff;}
.slide-btn.swiper-button-disabled {opacity: 0.3; pointer-events: none;}
.slide-pagination {display: flex; align-items: center;}
.slide-pagination .swiper-pagination-bullet {width: 28px; height:3px; border-radius: 0; background: rgba(255,255,255,0.3); opacity: 1; margin: 0; transition: background 0.4s, width 0.4s;}
.slide-pagination .swiper-pagination-bullet-active {background: #fff; width: 42px;}
@media (max-width:1200px) {
	.section-room .room-item {grid-template-columns: 1fr 1.6fr;}
	.section-room .room-item.reverse {grid-template-columns: 1.6fr 1fr;}
}
@media (max-width:1024px) {
	.section-room .room-intro{height:70dvh;}
}
@media (max-width:768px) {
	.slide-pagination{justify-content:center}
	.slide-pagination .swiper-pagination-bullet{width:14px}
	.slide-pagination .swiper-pagination-bullet-active{width:30px}
	.section-room .room-intro-text .intro-desc{display:none;}
	.room-slide-nav, .intro-nav{right:0; left:0; margin:0 auto; width:85%}
	.section-room .room-item {grid-template-columns: 1fr; min-height:auto; margin-top:0}
	.section-room .room-item.reverse {grid-template-columns: 1fr;  min-height:auto; margin-top:0}
	.section-room .room-item.reverse .room-slide-img {order: 2;}
	.section-room .room-slide-img {height: 300px; position: relative;}
}

/* ==============================
   Lounge Section
============================== */
.section-lounge {background: #fff;}
.section-lounge .lounge-head {text-align: center; padding: 12vh 5%;}
.section-lounge .lounge-title {font-size: var(--fs-48); font-weight: 400; line-height: 1.35; letter-spacing: -0.025em; color: var(--text-dark); margin-bottom: 24px;}
.section-lounge .lounge-body {font-size: var(--fs-18); color: var(--text-sub); line-height:2; font-weight: 300;}
.section-lounge .lounge-intro {position: relative; height: 100vh; min-height: 400px; overflow: hidden; margin-bottom:6vmin;}
.section-lounge .lounge-intro .lounge-intro-swiper {position: absolute; inset: 0;}
.section-lounge .lounge-intro .lounge-intro-swiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover;}
.section-lounge .lounge-intro .lounge-intro-swiper .swiper-slide-active img {animation: kenburns 6s ease-out forwards;}
.section-lounge .lounge-intro-text {color:#fff; display: block; position: absolute; top: 55%; left: 50%; transform: translate(-50%, -50%); z-index: 10; text-align: center; width: 100%;}
.section-lounge .lounge-intro-title {font-family: 'Aboreto', serif; font-size:clamp(48px, 4.5vw, 90px); letter-spacing: 0.05em; margin-bottom: 10dvh;}
.section-lounge .lounge-intro-desc {font-size: var(--fs-18); font-weight: 400; line-height: 2.2;}
.section-lounge .lounge-cards {overflow: hidden;}
.section-lounge .lounge-card {position: relative; overflow: hidden; min-height: 600px; display: flex; align-items:flex-start; justify-content: center;}
.section-lounge .lounge-card:hover img{transform:scale(1.1);}
.section-lounge .lounge-card img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition:all 0.5s ease;}
.section-lounge .lounge-card::before {content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.35); z-index: 1;}
.section-lounge .lounge-card-body {position: relative; z-index: 2; text-align: center; color: #fff; padding: 32px 20px;margin-top:16vh}
.section-lounge .lounge-card-name {font-size: var(--fs-24); font-weight: 500; margin-bottom: 10px; line-height: 1.4;}
.section-lounge .lounge-card-desc {font-size: var(--fs-18); line-height: 1.6; font-weight: 300; color:rgba(255,255,255,0.8)}
/* Lounge Swiper Pagination */
.lounge-pagination {text-align: center; padding: 24px 0 0;}
.lounge-pagination .swiper-pagination-bullet {width: 28px; height: 2px; border-radius: 0; background: #ffffff50; opacity: 1; margin: 0 4px; transition: background 0.3s, width 0.3s;}
.lounge-pagination .swiper-pagination-bullet-active {background: #fff; width: 42px;}
@media (max-width:1024px) {
	.section-lounge .lounge-intro{height:70dvh;}
}
@media (max-width:768px) {
	.section-lounge .lounge-intro-desc{display:none;}
	.section-lounge .lounge-card{min-height:300px;}
	.section-lounge .lounge-card-body{margin-top:0;}
	.section-lounge .lounge-card-desc{font-size:var(--fs-16);}
}

/* ==============================
   Location Section
============================== */
.section-location {position: relative; padding: 0; overflow: hidden; background:url(../img/content/main/location-bg.jpg) no-repeat center bottom / cover;}
.section-location::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 50%; background: linear-gradient(to bottom, #fff, rgba(255,255,255,0)); pointer-events: none; z-index: 1;}
.section-location .location-content {position: relative; z-index: 2; text-align: center; max-width: 640px; margin: 0 auto ; height:90dvh; align-content:center;}
.section-location .location-label {font-family: 'Aboreto', serif; font-size: var(--fs-16); letter-spacing: 0.15em; color: rgba(191,161,129,0.9); margin-bottom: 24px; display: block;}
.section-location .location-title {font-size: var(--fs-48); font-weight: 400; line-height: 1.35; color: var(--text-dark); margin-bottom: 24px;}
.section-location .location-body {font-size: var(--fs-18); color: #656565; line-height: 1.8; margin-bottom: 36px;}
.section-location .location-btns {display: flex; gap: 20px; justify-content: center; margin-bottom:6vh;}
.section-location .location-btn {flex:1; padding: 14px 48px; border: 1px solid #aeaeae; font-size: var(--fs-18); color: #8e8e8e; font-weight: 300; transition: border-color 0.2s, color 0.2s; min-width: 180px;}
.section-location .location-btn:hover {border-color: var(--primary); color: var(--primary);}
.section-location .location-info {display: flex; flex-flow:column wrap; gap: 24px; justify-content: center; align-items:center; font-size: var(--fs-16);}
.section-location .location-info-item {display: flex;  flex-flow:column wrap; gap: 8px; align-items: center;}
.section-location .location-info-label {color: var(--primary); font-weight: 700;}
.section-location .location-info-value {color:#909090; line-height:1.8;font-weight:300;}
.root_daum_roughmap_landing{height:500px;}
.root_daum_roughmap .wrap_map{height:100%!important;}
.section_address{display:none;}
@media (max-width:768px) {
	.section-location .location-btns {gap:10px;align-items: center; width:90%; margin:0 auto 36px;}
	.section-location .location-btn{min-width:auto;font-size:var(--fs-16); padding:10px 0;}
	.section-location .location-info {flex-direction: column; gap: 10px;}
	.location-map .root_daum_roughmap{height:300px;} 
}

/* ==============================
   Footer
============================== */
.site-footer {background: #3c332d; color: rgba(255,255,255,0.7); padding: 6vmin 5% 0;}
.site-footer .footer-top {display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 6vmin;}
.site-footer .footer-logo {margin-bottom: 10px;}
.site-footer .footer-logo img {height: 38px; width: auto; filter: brightness(1.1);}
.site-footer .footer-brand-name {font-size: var(--fs-14); letter-spacing: 0.1em; color: rgba(255,255,255,0.35); font-family: 'Aboreto', serif;}
.site-footer .footer-nav-group {display: flex; gap: 60px;}
.site-footer .footer-nav-col h3 {font-size: var(--fs-16); color: rgba(255,255,255,0.45); font-weight: 500; margin-bottom: 20px;}
.site-footer .footer-nav-col ul {display: flex; flex-direction: column; gap: 10px;}
.site-footer .footer-nav-col li a {font-size: var(--fs-16); color: rgba(255,255,255,0.65); transition: color 0.2s; font-weight: 300;}
.site-footer .footer-nav-col li a:hover {color: var(--primary);}
.site-footer .footer-bottom {border-top: 1px solid rgba(255,255,255,0.1); padding: 24px 0 28px; display: flex; align-items: flex-end; justify-content: space-between;}
.site-footer .footer-copy {font-size: var(--fs-14); color: rgba(255,255,255,0.35);}
.site-footer .footer-right {display: flex; align-items: center; gap: 8px;}
.site-footer .footer-addr {font-size: 12px; color: rgba(255,255,255,0.35); text-align: right; line-height: 1.8; margin-right: 12px;}
.site-footer .footer-sns {display: flex; gap: 10px;}
.site-footer .footer-sns a {display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;}
.site-footer .footer-sns img {width: 32px; height: 32px; object-fit: contain; filter: brightness(0.7);}
.site-footer .footer-sns a:hover img {filter: brightness(1);}
@media (max-width:768px) {
	.site-footer .footer-top {flex-direction: column; gap: 4vmin;}
	.site-footer .footer-logo img{height:28px;}
	.site-footer .footer-brand{text-align:center; margin:0 auto;}
	.site-footer .footer-nav-group {gap: 20px; width:100%;}
	.site-footer .footer-bottom {flex-direction: column; gap: 16px; align-items: center; }
	.site-footer .footer-addr{text-align:center;margin-right:0}
	.footer-right{flex-direction: column;}
	.footer-nav-col{flex:1;}
	.footer-nav-col:not(:last-child){border-right:1px solid #ffffff20;}
}




/* =========================
            sub
========================= */