/* ============================================= */
/* LUMIERE CUSTOM CSS                            */
/* ============================================= */

/* Mask reveal — GSAP 로드 전 깜빡임 방지 */
[data-reveal="mask"] img { opacity: 0; }

/* Base Fonts */
body { font-family: 'Noto Sans KR', 'Jost', sans-serif; }
h1, h2, h3, h4, h5, h6, .h2-md, .h2-title, .h5-lg, .h5-md { font-family: 'Noto Sans KR', 'Vollkorn', serif; }
.hero-section .caption h2, .hero-section .caption h5 { font-family: 'Cormorant Garamond', 'Noto Sans KR', serif; }
.section-id { color: #C9A96E !important; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1rem; text-transform: none; letter-spacing: 1px; }
.brand-logo img { border-radius: 12px; }

/* Gold accent color */
.btn--tra-black, .btn--black { border-color: #C9A96E !important; color: #C9A96E !important; }
.btn--tra-black:hover, .btn--black:hover, .hover--black:hover { background-color: #C9A96E !important; border-color: #C9A96E !important; color: #fff !important; }
.btn--tra-white { border-color: rgba(201,169,110,0.5) !important; color: #C9A96E !important; }
.btn--tra-white:hover, .hover--white:hover { background-color: #C9A96E !important; border-color: #C9A96E !important; color: #1A1A1A !important; }

/* Floating buttons */
.floating-btns { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 10px; z-index: 999; }
.float-btn { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 18px; color: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.15); transition: transform 0.3s; cursor: pointer; border: none; }
.float-btn:hover { transform: scale(1.1); }
.float-btn--kakao { background: #FEE500; color: #3C1E1E; font-size: 14px; font-weight: 700; }
.float-btn--naver { background: #03C75A; color: #fff; font-size: 11px; font-weight: 700; }
.float-btn--phone { background: #C9A96E; color: #fff; }
.float-btn--top { background: rgba(26,26,26,0.6); color: #fff; font-size: 14px; }

/* Language switcher */
.lang-switch { display: flex; gap: 8px; align-items: center; margin-left: 10px; }

/* Header wider container — logo left, more room on right */
.wsmainwp { max-width: 1320px !important; padding: 0 10px 0 30px !important; }

/* Logo vertical alignment */
.desktoplogo { display: flex; align-items: center; margin-left: 20px; }
.desktoplogo a { padding-top: 5px; padding-bottom: 5px; }
.lang-switch a { font-size: 11px !important; letter-spacing: 1px; opacity: 0.5; }
.lang-switch a.active { opacity: 1; }

/* 서비스 이미지 카드 */
.service-card { position: relative; border-radius: 12px; overflow: hidden; height: 320px; margin-bottom: 30px; }
.service-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; will-change: transform; }
.service-card:hover img { transform: scale(1.05); }
.service-card .service-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px 20px; background: linear-gradient(transparent, rgba(0,0,0,0.55)); color: #fff; }
.service-card .service-overlay h5 { font-size: 20px; font-weight: 600; margin-bottom: 8px; color: #fff; }
.service-card .service-overlay p { font-size: 13px; color: rgba(255,255,255,0.85); margin-bottom: 0; line-height: 1.6; }
.pricing-1-item .price-number p { color: #C9A96E; }
.pricing-1-item .price-txt p { font-size: 13px; }

/* 메뉴 위치 조정 (오른쪽 고정 요소와 겹치지 않도록) */
nav.wsmenu { margin-right: 280px; }

/* 메뉴 폰트 크기 */
.wsmenu-list > li > a.h-link { font-size: 16px; }

/* Review stars gold */
.star-rating span { color: #C9A96E !important; }
.star-rating.color--yellow span { color: #C9A96E !important; }

/* Footer SNS */
.foo-socials li a:hover span { color: #C9A96E !important; }

/* Smooth scroll indicator */
@keyframes scrollPulse { 0%,100%{opacity:0.3} 50%{opacity:1} }
#hero-1 { overflow: hidden; }
.slideshow, .slideshow .slides { height: 100vh !important; min-height: 600px !important; }
.slideshow .slide .image-container video { position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover; }
.slideshow .slide .image-container img.image { object-fit: cover !important; object-position: 80% center !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0; left: 0; }

/* Ken Burns — 초기 상태: 이미지 확대, 캡션 숨김 (FOUC 방지) */
.slideshow .slide .image-container { overflow: hidden !important; }
.slideshow .slide .image-container img.image {
	will-change: transform;
	transform: scale(1.15);
	backface-visibility: hidden;
}
.slideshow .slide .caption .title,
.slideshow .slide .caption .text {
	opacity: 0;
}

/* 슬라이더 네비게이션 스타일 */
.slideshow .arrows { position: absolute; top: 50%; width: 100%; z-index: 50; pointer-events: none; }
.slideshow .arrows .arrow { position: absolute; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; pointer-events: auto; color: #fff; opacity: 0.7; transition: opacity 0.3s; }
.slideshow .arrows .arrow:hover { opacity: 1; }
.slideshow .arrows .arrow.prev { left: 30px; }
.slideshow .arrows .arrow.next { right: 30px; }
.slideshow .pagination { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; z-index: 50; }
.slideshow .pagination .item { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.4); cursor: pointer; transition: background 0.3s; }
.slideshow .pagination .item span { display: none; }
.slideshow .pagination .item.is-active { background: #fff; }

/* 슬라이드 레이아웃 (transition 제거 — GSAP 제어) */
.slideshow .slides { position: relative !important; }
.slideshow .slide {
	position: absolute !important;
	top: 0; left: 0; width: 100%; height: 100%;
	opacity: 0;
	z-index: 0;
	will-change: clip-path;
}
.slideshow .slide.is-active {
	opacity: 1 !important;
	z-index: 1;
}
.slideshow .slide .image-container {
	will-change: transform;
	backface-visibility: hidden;
}

/* GSAP ScrollTrigger 초기 상태 — gsap-init.js가 visibility 관리 */
.wow {
	visibility: hidden;
}

/* 리뷰 별점 숨김 */
.star-rating {
	display: none !important;
}

/* 리뷰 캐러셀 dots 숨김 */
.reviews-section .owl-dots {
	display: none !important;
}

/* 앵커 스크롤 오프셋 (고정 헤더 높이 보정) */
#gangnam, #apgujeong {
	scroll-margin-top: 100px;
}



/* 서브페이지 히어로 배너 */
.sub-hero {
	background-color: #f5f0eb;
	padding: 180px 0 260px;
	text-align: center;
}
.sub-hero .curtain-left,
.sub-hero .curtain-right {
	will-change: transform;
	backface-visibility: hidden;
}
.sub-hero .sub-hero-bg {
	will-change: transform;
	backface-visibility: hidden;
}
.sub-hero .sub-hero-text {
	will-change: transform, opacity;
}

/* 서브페이지 헤더: 메인과 동일하게 투명 → 스크롤 시 흰 배경 전환 */
.sub-hero h2 {
	font-family: 'Noto Sans KR', 'Vollkorn', serif;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 2px;
	color: #1a1a1a;
	margin-bottom: 10px;
}
.sub-hero p {
	color: #999;
	font-size: 0.9rem;
}


/* ============================================= */
/* GSAP 고급 스크롤 애니메이션 힌트               */
/* ============================================= */

/* 이미지 — GPU 가속 (패럴랙스용) */
.img-block img,
.ct-06-img img,
.ct-09-img img {
	will-change: transform;
}

/* 플로팅 버튼 — GPU 가속 */
.float-btn {
	will-change: transform, opacity;
}

/* 좌우 슬라이드 시 가로 스크롤 방지 */
#page {
	overflow-x: hidden;
}

/* 영상 쇼케이스 — 스크롤 shrink */
.video-showcase {
	margin: 0 auto;
	will-change: width, border-radius;
	transition: none;
}

/* 섹션 구분 라인 — 라인 드로잉 효과 */
.section-line {
	width: 50%;
	max-width: 500px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #C9A96E, transparent);
	margin: 0 auto;
	transform-origin: center;
	will-change: transform;
}

/* 패럴랙스 배경 섹션 — 오버플로 숨김 */
.bg--scroll {
	overflow: hidden;
}

/* ============================================= */
/* LENIS SMOOTH SCROLL                           */
/* ============================================= */
html.lenis, html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

/* ============================================= */
/* REDUCED MOTION                                */
/* ============================================= */
@media (prefers-reduced-motion: reduce) {
	.wow {
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
