/* ===== 더힐 v2 공통 틀 : 헤더 · 전체메뉴 · 푸터 ===== */
:root{
	--sand:#f4efe8; --sand2:#ebe3d8; --taupe:#cdbfb5; --peach:#efd6c6;
	--deep:#13294b; --ink2:#2a2a2a;
	--avant:'Jost','Pretendard Variable',sans-serif;
	--ogg:'Cormorant Garamond','Pretendard Variable',serif;
}
.top{position:fixed;left:0;right:0;top:0;z-index:120;height:84px;display:flex;align-items:stretch;color:#fff;transition:background .45s,color .45s,box-shadow .45s}
.admin-bar .top{top:32px}
.top.solid,.is-sub .top.solid{background:#fff;color:var(--ink2);box-shadow:0 1px 0 rgba(0,0,0,.06)}
body.menu-open .top{background:transparent;color:var(--ink2);box-shadow:none}
.top-menu{display:flex;align-items:center;gap:14px;padding:0 34px;font-family:var(--avant);font-size:12px;letter-spacing:.14em;font-weight:500}
.bars{position:relative;width:26px;height:12px}
.bars i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s,top .4s}
.bars i:first-child{top:0}.bars i:last-child{top:10px}
body.menu-open .bars i:first-child{top:5px;transform:rotate(45deg)}
body.menu-open .bars i:last-child{top:5px;transform:rotate(-45deg)}
.top-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;line-height:1}
.top-logo-en{display:block;font-family:var(--ogg);font-size:30px;letter-spacing:.32em;font-weight:500;padding-left:.32em}
.top-logo-sub{display:block;font-family:var(--avant);font-size:9px;letter-spacing:.28em;margin-top:7px;opacity:.85}
.top-right{margin-left:auto;display:flex}
.top-lang{position:relative}
.top-lang-btn{height:100%;width:96px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--avant);font-size:12px;letter-spacing:.1em;background:rgba(205,191,181,.92);color:var(--ink2)}
.top-lang-list{position:absolute;right:0;top:100%;background:#fff;min-width:150px;box-shadow:0 10px 30px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .3s}
.top-lang:hover .top-lang-list,.top-lang.on .top-lang-list{opacity:1;visibility:visible;transform:none}
.top-lang-list a{display:block;padding:13px 18px;font-family:var(--avant);font-size:12.5px;letter-spacing:.06em;color:var(--ink2);border-bottom:1px solid #eee}
.top-lang-list a:hover{background:var(--sand)}
.top-book{width:96px;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--deep);color:#fff;font-family:var(--avant);font-size:12px;letter-spacing:.12em;line-height:1.35;font-weight:500;transition:background .3s}
.top-book:hover{background:#0b1b33}

/* 전체 메뉴 */
.ovl{position:fixed;inset:0;z-index:110;background:var(--sand);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;overflow:auto}
body.menu-open .ovl{opacity:1;visibility:visible}
body.menu-open{overflow:hidden}
.ovl-in{min-height:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:140px 8vw 60px;align-items:center}
.ovl-nav a{display:flex;align-items:baseline;gap:22px;padding:10px 0;color:var(--ink2);transform:translateY(20px);opacity:0;transition:transform .7s,opacity .7s}
body.menu-open .ovl-nav a{transform:none;opacity:1}
body.menu-open .ovl-nav a:nth-child(2){transition-delay:.05s}body.menu-open .ovl-nav a:nth-child(3){transition-delay:.1s}body.menu-open .ovl-nav a:nth-child(4){transition-delay:.15s}body.menu-open .ovl-nav a:nth-child(5){transition-delay:.2s}body.menu-open .ovl-nav a:nth-child(6){transition-delay:.25s}body.menu-open .ovl-nav a:nth-child(7){transition-delay:.3s}
.ovl-nav em{font-style:normal;font-family:var(--avant);font-weight:200;font-size:54px;line-height:1.05;letter-spacing:-.01em;text-transform:lowercase;transition:color .3s}
.ovl-nav span{font-size:13px;color:#8a8178;letter-spacing:.02em}
.ovl-nav a:hover em{color:var(--deep)}
.ovl-img{width:100%;aspect-ratio:4/3;border-radius:999px 999px 24px 24px;overflow:hidden}
.ovl-img img{width:100%;height:100%;object-fit:cover}
.ovl-cap{font-family:var(--ogg);font-style:italic;font-size:22px;color:var(--ink2);margin-top:22px}
.ovl-info{font-size:13.5px;color:#7c746c;margin-top:10px;line-height:1.8}
.ovl-lang{display:flex;gap:8px;margin-top:18px}
.ovl-lang a{font-family:var(--avant);font-size:12px;letter-spacing:.1em;padding:7px 14px;border:1px solid #cbbfb4;border-radius:999px;color:var(--ink2)}
.ovl-lang a.on{background:var(--ink2);border-color:var(--ink2);color:#fff}

/* 푸터 */
.foot{background:var(--deep);color:rgba(255,255,255,.7);padding:100px 6vw 40px;margin:0}
.foot-in{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-logo{font-family:var(--ogg);font-size:30px;letter-spacing:.32em;color:#fff}
.foot-slogan{font-family:var(--avant);font-weight:200;font-size:40px;color:#fff;margin-top:20px;line-height:1.1}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;font-size:14px;line-height:1.9}
.foot-h{font-family:var(--avant);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:12px}
.foot-cols a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;gap:20px;padding-top:28px;font-size:12px;color:rgba(255,255,255,.4)}
.ft{display:none}

/* 모바일 하단 바 */
.mbar{display:none}

@media (max-width:1024px){
	.top{height:62px}
	.top-menu{padding:0 18px}
	.top-menu-t{display:none}
	.top-logo-en{font-size:20px;letter-spacing:.26em}
	.top-logo-sub{font-size:7px;letter-spacing:.2em;margin-top:5px}
	.top-lang{display:none}
	.top-book{width:68px;font-size:10px}
	.ovl-in{grid-template-columns:1fr;gap:30px;padding:100px 28px 40px}
	.ovl-nav em{font-size:34px}
	.ovl-nav span{font-size:12px}
	.ovl-side{display:none}
	.foot{padding:60px 24px 100px}
	.foot-in{grid-template-columns:1fr;gap:34px;padding-bottom:34px}
	.foot-slogan{font-size:28px}
	.foot-cols{grid-template-columns:1fr 1fr;gap:20px;font-size:13px}
	.foot-cols>div:last-child{grid-column:1/3}
	.foot-bot{flex-direction:column;font-size:11px}
	.mbar{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;left:0;right:0;bottom:0;z-index:100;height:54px;gap:0}
	.mbar a{display:flex;align-items:center;justify-content:center;font-family:var(--avant);font-size:12.5px;letter-spacing:.14em;background:var(--taupe);color:var(--ink2);border-radius:0;box-shadow:none;height:auto}
	.mbar a.on{background:var(--deep);color:#fff}
}
@media (max-width:782px){.admin-bar .top{top:46px}}
/* 사진 채도 공통 */
.is-sub main img,.is-sub .sv-bg{filter:saturate(.78) contrast(.97) brightness(1.03)}
.ovl-img{border-radius:0}
.is-sub .rl-img img,.is-sub .rd-slide img,.is-sub .rcard-img img,.is-sub .rd-thumb img{filter:saturate(.7) brightness(1.09) contrast(.94) hue-rotate(5deg)}
