.sd-hero,.sd-hero *{box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word;}
/* 테마(WPBakery) 기본 여백 제거 — 아래 섹션과의 간격 없애기 */
.wpb_row:has(.sd-hero),.wpb_text_column:has(.sd-hero){margin-bottom:0!important;}
.sd-hero{position:relative;width:100vw;max-width:100vw;height:100vh;overflow:hidden;background:#000;font-family:var(--sd-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',serif;font-weight:var(--sd-font-weight,400);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0;left:0;right:0;}
.sd-hero__slides{position:absolute;inset:0;}
.sd-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity var(--sd-trans,1200ms) ease;}
.sd-hero__slide.is-active{opacity:1;z-index:1;}
.sd-hero__slide.is-prev{opacity:0;z-index:0;}
.sd-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;translate:0 var(--sd-bg-y,0px);scale:1.2;will-change:translate,scale,background-position;}
/* 등장 모션 keyframes */
@keyframes sd-kb-in{from{scale:1.15;}to{scale:1.4;}}
@keyframes sd-kb-out{from{scale:1.4;}to{scale:1.15;}}
@keyframes sd-zoom-in{from{scale:1.35;}to{scale:1.05;}}
@keyframes sd-pan-lr{from{background-position:35% center;scale:1.25;}to{background-position:65% center;scale:1.25;}}
@keyframes sd-pan-tb{from{background-position:center 35%;scale:1.25;}to{background-position:center 65%;scale:1.25;}}
@keyframes sd-blur-in{from{filter:blur(22px);scale:1.25;}to{filter:blur(0);scale:1.12;}}
@keyframes sd-clip-reveal{from{clip-path:inset(36% 36%);scale:1.16;}to{clip-path:inset(0);scale:1.1;}}
@keyframes sd-duotone{from{filter:grayscale(1) contrast(1.05);}to{filter:grayscale(0) contrast(1);}}
@keyframes sd-zoom-pan{from{scale:1.15;background-position:40% center;}to{scale:1.35;background-position:60% center;}}
/* data-intro 기준 적용 (슬라이더 공통). 기본 = kenburns_in */
.sd-hero .sd-hero__slide.is-active .sd-hero__bg,
.sd-hero[data-intro="kenburns_in"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-kb-in 7s ease-out forwards;}
.sd-hero[data-intro="kenburns_out"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-kb-out 7s ease-out forwards;}
.sd-hero[data-intro="zoom_in"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-zoom-in 1.6s cubic-bezier(.16,1,.3,1) forwards;}
.sd-hero[data-intro="pan_lr"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-pan-lr 9s ease-in-out forwards;}
.sd-hero[data-intro="pan_tb"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-pan-tb 9s ease-in-out forwards;}
.sd-hero[data-intro="blur_in"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-blur-in 1.8s ease-out forwards;}
.sd-hero[data-intro="clip_reveal"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-clip-reveal 1.6s cubic-bezier(.16,1,.3,1) forwards;}
.sd-hero[data-intro="duotone"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-duotone 2.6s ease forwards;}
.sd-hero[data-intro="zoom_pan"] .sd-hero__slide.is-active .sd-hero__bg{animation:sd-zoom-pan 9s ease-out forwards;}
.sd-hero[data-intro="fade"] .sd-hero__bg{scale:1.05;animation:none!important;}
.sd-hero[data-intro="none"] .sd-hero__bg{scale:1.0;animation:none!important;}
.sd-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);}
/* .sd-hero__video = 플레이어 컨테이너(오버스캔 크기). API가 만든 iframe이 이 안을 채운다.
   재생 전까지 opacity:0으로 숨김(플레이 버튼이 달린 유튜브 UI 노출 방지). */
/* 영상과 포스터는 '동일한' 16:9 오버스캔 박스를 공유 → 크롭/확대가 똑같아 전환 시 끊김 없음. */
.sd-hero__video,.sd-hero__video-cover{position:absolute;top:50%;left:50%;width:130vw;height:73.125vw;min-width:231vh;min-height:130vh;transform:translate(-50%,-50%);pointer-events:none;}
/* 패럴랙스 오프셋 제거 → 포스터(커버)와 정확히 동일한 MIDDLE+CENTER 위치 */
.sd-hero__video{border:0;opacity:0;}
.sd-hero__slide.is-playing .sd-hero__video{opacity:1;}
.sd-hero__video iframe,.sd-hero__ytmount{position:absolute;top:0;left:0;width:100%;height:100%;border:0;pointer-events:none;}
/* 검은 배경(+선택 포스터 이미지): 영상과 같은 박스라 동일 비율로 표시된다. */
.sd-hero__video-cover{background-color:#000;background-size:cover;background-position:center;}
.sd-hero__video-cover.is-blur{filter:blur(24px);}
/* 투명 차단막: 영상 위(z-index 3, 텍스트 레이어 5보다 아래)에서 마우스를 가로채
   유튜브 hover 컨트롤(이전/일시정지/다음)이 뜨지 못하게 한다. */
.sd-hero__video-shield{position:absolute;inset:0;z-index:3;background:transparent;}
.sd-hero__bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0;}

.sd-hero__content{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.sd-hero__typo{text-align:center;line-height:var(--sd-line-height,1.2);}
.sd-hero__typo--mo{display:none;}
.sd-hero__line-wrap{overflow:hidden;padding:.05em 0;}
.sd-hero__line{display:block;font-size:var(--sd-font-size,120px);font-weight:400;color:#fff;letter-spacing:.04em;text-transform:uppercase;transform:translateY(110%);opacity:0;font-family:var(--sd-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',serif;font-weight:var(--sd-font-weight,400);}
.sd-hero__line.is-animated{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity 1s ease;}
.sd-hero__line.is-visible,.sd-hero__line.is-fixed{transform:translateY(0);opacity:1;}
.sd-hero__line.is-fixed{transition:none;}

.sd-hero__counter{position:absolute;bottom:42px;left:48px;z-index:3;display:inline-flex;align-items:baseline;color:#fff;font-family:var(--sd-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',serif;font-weight:var(--sd-font-weight,400);font-style:italic;font-size:clamp(11px,1.08vw,17px);font-weight:600;letter-spacing:.02em;line-height:1;user-select:none;}
.sd-hero__counter-current{color:#fff;}
.sd-hero__counter-sep,.sd-hero__counter-total{color:rgba(255,255,255,.5);}

.sd-hero__arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:20px;opacity:.7;transition:opacity .3s;}
.sd-hero__arrow:hover{opacity:1;}
.sd-hero__arrow--prev{left:40px;}
.sd-hero__arrow--next{right:40px;}
.sd-hero__arrow svg{display:block;}

@keyframes sd-resv-fade-in{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}
.sd-hero__resv{position:absolute;bottom:0;right:0;z-index:3;display:flex;align-items:stretch;}
.sd-hero__resv-btn,.sd-hero__resv-inner>.sd-hero__resv-field{opacity:0;}
.sd-hero__resv.is-in .sd-hero__resv-btn{animation:sd-resv-fade-in 1.4s cubic-bezier(.22,.61,.36,1) 0ms forwards;}
.sd-hero__resv.is-in .sd-hero__resv-inner>.sd-hero__resv-field:nth-child(2){animation:sd-resv-fade-in 1.4s cubic-bezier(.22,.61,.36,1) 280ms forwards;}
.sd-hero__resv.is-in .sd-hero__resv-inner>.sd-hero__resv-field:nth-child(1){animation:sd-resv-fade-in 1.4s cubic-bezier(.22,.61,.36,1) 560ms forwards;}
.sd-hero__resv-inner{display:flex;align-items:stretch;}
.sd-hero__resv-field{display:flex;flex-direction:column;justify-content:center;padding:20px 20px;background:rgba(240,235,228,.96);border-right:1px solid #e5e5e5;}
.sd-hero__resv-inner>.sd-hero__resv-field:first-child{padding:20px 40px 20px 40px;}
.sd-hero__resv-inner>.sd-hero__resv-field:last-child{padding:20px 60px 20px 20px;border-right:none;}
.sd-hero__resv-label{font-size:10px;font-weight:600;letter-spacing:.14em;color:#888;text-transform:uppercase;margin-bottom:8px;font-family:'Helvetica Neue','Apple SD Gothic Neo',sans-serif;}
.sd-hero__resv-val{font-size:15px;font-weight:500;color:#111;font-family:'Helvetica Neue','Apple SD Gothic Neo',sans-serif;white-space:nowrap;}
.sd-hero__resv-val a{color:inherit;text-decoration:none;}
.sd-hero__resv-val a:hover{text-decoration:underline;}
.sd-hero__addr-short,.sd-hero__tel-mo{display:none;}
.sd-hero__tel-pc{pointer-events:none;}
.sd-hero__resv-btn{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border:none;cursor:pointer;padding:0 60px;font-size:16px;font-weight:600;letter-spacing:.1em;font-family:'Apple SD Gothic Neo',sans-serif;white-space:nowrap;transition:filter .3s;text-decoration:none;}
.sd-hero__resv-btn:hover{filter:brightness(1.15);}

@media(max-width:768px){
	/* 전체 hero = 100dvh (iOS 주소창 대응) : 이미지 80% / 블러 10% / 버튼 10% */
	.sd-hero{height:100dvh;height:100vh;}
	@supports(height:100dvh){
		.sd-hero{height:100dvh;}
	}
	.sd-hero__typo{margin-top:-50px;}
	.sd-hero__typo--pc{display:none;}
	.sd-hero__typo--mo{display:block;}
	.sd-hero__line{font-size:var(--sd-font-size-mo,60px);}
	.sd-hero__arrow{display:none;}
	.sd-hero__counter{display:none;}

	/* 블러 + 버튼 컨테이너: 하단 20% 고정 (hero 기준) */
	.sd-hero__resv{
		left:0;right:0;bottom:0;
		flex-direction:column;
		height:20%;
		box-sizing:border-box;
	}
	.sd-hero__resv-btn,.sd-hero__resv-inner>.sd-hero__resv-field{opacity:1;animation:none!important;}
	.sd-hero__resv.is-in .sd-hero__resv-btn,.sd-hero__resv.is-in .sd-hero__resv-inner>.sd-hero__resv-field{animation:none!important;}

	/* 블러 영역 + 버튼: 각 50% 균등 분할 (resv 20% 안에서 → 각 10% = 10vh 등가) */
	.sd-hero__resv-inner{
		background:rgba(0,0,0,.25);
		backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
		flex-direction:row;
		flex:1 1 50%;
		height:50%;
		padding:0;
		box-sizing:border-box;
	}
	.sd-hero__resv-inner>.sd-hero__resv-field{padding:0 20px;border-right:1px solid rgba(255,255,255,.2);flex:1;background:transparent;justify-content:center;box-sizing:border-box;}
	.sd-hero__resv-inner>.sd-hero__resv-field:first-child{padding:0 20px;}
	.sd-hero__resv-inner>.sd-hero__resv-field:last-child{padding:0 20px;border-right:none;}
	.sd-hero__resv-label{font-size:9px;font-weight:300;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:2px;}
	.sd-hero__resv-val{font-size:12px;font-weight:400;color:rgba(255,255,255,.9);}
	.sd-hero__addr-full{display:none;}
	.sd-hero__addr-short{display:inline;}
	.sd-hero__tel-pc{display:none;}
	.sd-hero__tel-mo{display:inline;pointer-events:auto;}

	/* 예약 버튼: resv 20% 중 50% (= 10vh 등가) */
	.sd-hero__resv-btn{
		width:100%;
		flex:1 1 50%;
		height:50%;
		padding:0;
		font-size:15px;font-weight:700;letter-spacing:.15em;
		box-sizing:border-box;
	}
}

/* ===== 레이어 모션 (editor 모션 탭) ===== */
#sd-hero.sd-anim-ready .sd-layer[data-anim-in]{opacity:0;}
.sd-layer .sd-l-i{display:inline-block;white-space:inherit;will-change:transform,opacity,filter;}
@keyframes sd-in-fade{from{opacity:0}to{opacity:1}}
@keyframes sd-in-slide_up{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:translateY(0)}}
@keyframes sd-in-slide_down{from{opacity:0;transform:translateY(-46px)}to{opacity:1;transform:translateY(0)}}
@keyframes sd-in-slide_left{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:translateX(0)}}
@keyframes sd-in-slide_right{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:translateX(0)}}
@keyframes sd-in-zoom_in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes sd-in-zoom_out{from{opacity:0;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}
@keyframes sd-in-rotate{from{opacity:0;transform:rotate(-8deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes sd-in-flip{from{opacity:0;transform:perspective(600px) rotateX(85deg)}to{opacity:1;transform:perspective(600px) rotateX(0)}}
@keyframes sd-in-blur{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}
@keyframes sd-loop-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes sd-loop-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ===== 스크롤 다운 인디케이터 (프론트 + 캔버스 미리보기 공용) ===== */
.ah-scroll-ind{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;color:#fff}
/* mouse */
.ah-scroll-ind--mouse .si{width:24px;height:40px;border:1px solid currentColor;border-radius:13px;position:relative;display:block}
.ah-scroll-ind--mouse .si::before{content:'';position:absolute;left:50%;top:7px;transform:translateX(-50%);width:2px;height:6px;background:currentColor;border-radius:2px;animation:ahsi-mouse 1.6s ease-in-out infinite}
@keyframes ahsi-mouse{0%{opacity:0;top:7px}30%{opacity:1}70%{opacity:1}100%{opacity:0;top:22px}}
/* chevron */
.ah-scroll-ind--chevron .si{display:flex;flex-direction:column;align-items:center}
.ah-scroll-ind--chevron .si i{width:12px;height:12px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-5px;animation:ahsi-chev 1.6s ease-in-out infinite}
.ah-scroll-ind--chevron .si i:nth-child(2){animation-delay:.15s}
.ah-scroll-ind--chevron .si i:nth-child(3){animation-delay:.3s}
@keyframes ahsi-chev{0%{opacity:0;transform:rotate(45deg) translate(-4px,-4px)}50%{opacity:1}100%{opacity:0;transform:rotate(45deg) translate(4px,4px)}}
/* line */
.ah-scroll-ind--line .si{width:1px;height:50px;position:relative;overflow:hidden}
.ah-scroll-ind--line .si::before{content:'';position:absolute;inset:0;background:currentColor;opacity:.15}
.ah-scroll-ind--line .si::after{content:'';position:absolute;left:0;width:100%;height:45%;background:currentColor;animation:ahsi-line 1.7s cubic-bezier(.6,.1,.3,1) infinite}
@keyframes ahsi-line{0%{top:-45%}100%{top:100%}}
/* text (SCROLL 가로) */
.ah-scroll-ind--text .si{display:flex;flex-direction:column;align-items:center;gap:8px}
.ah-scroll-ind--text .si b{font:100 7px/1 Inter,system-ui,sans-serif;letter-spacing:3px}
.ah-scroll-ind--text .si i{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;animation:ahsi-text 1.5s ease-in-out infinite}
@keyframes ahsi-text{0%,100%{opacity:.2;transform:translateY(-3px) rotate(45deg)}50%{opacity:1;transform:translateY(3px) rotate(45deg)}}
/* arrow (큰 화살표) */
.ah-scroll-ind--arrow .si{width:28px;height:28px;position:relative;animation:ahsi-arrow 1.7s ease-in-out infinite}
.ah-scroll-ind--arrow .si::after{content:'';position:absolute;left:50%;top:50%;width:28px;height:28px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translate(-50%,-60%) rotate(45deg)}
@keyframes ahsi-arrow{0%{opacity:0;transform:translateY(-8px)}40%{opacity:1}60%{opacity:1}100%{opacity:0;transform:translateY(8px)}}
/* dots (점 트레일) */
.ah-scroll-ind--dots .si{display:flex;flex-direction:column;gap:8px}
.ah-scroll-ind--dots .si i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.18;animation:ahsi-dots 1.5s ease-in-out infinite}
.ah-scroll-ind--dots .si i:nth-child(2){animation-delay:.2s}
.ah-scroll-ind--dots .si i:nth-child(3){animation-delay:.4s}
@keyframes ahsi-dots{0%,100%{opacity:.18}40%{opacity:1}}
/* circle (원형 화살표) */
.ah-scroll-ind--circle .si{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.9}
.ah-scroll-ind--circle .si i{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;margin-top:-3px;animation:ahsi-circle 1.5s ease-in-out infinite}
@keyframes ahsi-circle{0%,100%{opacity:.3;transform:translateY(-2px) rotate(45deg)}50%{opacity:1;transform:translateY(2px) rotate(45deg)}}
/* vtext (세로 SCROLL) */
.ah-scroll-ind--vtext .si{display:flex;flex-direction:column;align-items:center;gap:8px}
.ah-scroll-ind--vtext .si b{writing-mode:vertical-rl;font:100 7px/1 Inter,system-ui,sans-serif;letter-spacing:3px}
.ah-scroll-ind--vtext .si u{width:1px;height:22px;position:relative;overflow:hidden;text-decoration:none}
.ah-scroll-ind--vtext .si u::before{content:'';position:absolute;inset:0;background:currentColor;opacity:.18}
.ah-scroll-ind--vtext .si u::after{content:'';position:absolute;left:0;width:100%;height:50%;background:currentColor;animation:ahsi-vtext 1.6s cubic-bezier(.6,.1,.3,1) infinite}
@keyframes ahsi-vtext{0%{top:-50%}100%{top:100%}}
/* 프론트: 히어로 하단 중앙 고정 위치 */
.sd-hero__scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:8;pointer-events:auto}
