/* 레이디 텐프로 — 청담동 도산대로 535, 네이비 패널 벽과 황동 펜던트 아래의 바.
   토큰 이름은 Tailwind theme.extend(colors.ld.*, fontFamily.ld*, fontSize.ld-*)로 그대로 옮긴다. */
/* T107 self-hosted fonts (OFL, subset to this page's glyphs) */
@font-face{font-family:"Gowun Batang";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/gowun-batang-400.woff2") format("woff2")}
@font-face{font-family:"Gowun Batang";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/gowun-batang-700.woff2") format("woff2")}
@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/noto-sans-kr-vf.woff2") format("woff2")}
:root {
  --ld-bg: #060a16;
  --ld-surface: #0b1430;
  --ld-surface-2: #13204a;
  --ld-gold: #e2c58e;          /* 간판 글자·주 버튼 면 */
  --ld-gold-hi: #f6e7c3;
  --ld-ink: #eef0f7;
  --ld-ink-2: #b4bcd3;
  --ld-on-gold: #1a1405;
  --ld-f-sign: "Gowun Batang", "AppleMyungjo", "Noto Serif KR", serif;
  --ld-f-body: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  --ld-s1: 16px;
  --ld-s2: 20px;
  --ld-s3: 30px;
  --ld-s4: 60px;
  --ld-s5: clamp(108px, 15vw, 236px);
  --ld-r: 14px;
  --ld-pill: 999px;
  --ld-pad: clamp(20px, 6vw, 104px);
  --ld-ease: cubic-bezier(.2, .7, .2, 1);
  /* 실사진 교체: img/hero-wide.webp·hero-tall.webp를 덮어쓰고 초점만 이 두 줄로 맞춘다 */
  --hero-pos: 64% 50%;
  --hero-pos-tall: 40% 0%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; background: var(--ld-bg); color: var(--ld-ink); font-family: var(--ld-f-body); font-size: var(--ld-s1); line-height: 1.75; word-break: keep-all; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
h1, h2, h3, p, dl, dd, ol, ul { margin: 0; }
.ld-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ld-skip { position: absolute; left: 12px; top: -60px; z-index: 90; padding: 12px 18px; border-radius: var(--ld-pill); background: var(--ld-gold); color: var(--ld-on-gold); text-decoration: none; }
.ld-skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--ld-gold-hi); outline-offset: 3px; }

/* 상단 바: 큰 로고 + 「메뉴」 버튼(데스크톱도 펼침 판) + 큰 전화 버튼. 붙는 바, 내려가면 네이비 면이 깔린다 */
.ld-bar { position: fixed; z-index: 30; inset: 0 0 auto 0; padding: 18px var(--ld-pad); background: linear-gradient(180deg, rgba(6, 10, 22, .88), rgba(6, 10, 22, 0)); transition: background-color .3s, padding .3s; }
.ld-bar.is-solid { background: rgba(6, 10, 22, .96); padding-top: 10px; padding-bottom: 10px; }
.ld-bar-row { display: flex; align-items: center; gap: 12px; }
.ld-logo { margin-right: auto; display: inline-flex; align-items: baseline; gap: 12px; min-height: 48px; text-decoration: none; font-family: var(--ld-f-sign); font-weight: 700; font-size: 40px; line-height: 1; color: var(--ld-gold); }
.ld-logo small { font-family: var(--ld-f-body); font-size: var(--ld-s1); font-weight: 500; color: var(--ld-ink-2); }
.ld-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 30px; border-radius: var(--ld-pill); font-weight: 700; font-size: 17px; text-decoration: none; transition: transform .25s var(--ld-ease), background-color .25s; }
.ld-btn svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
.ld-btn--call { background: var(--ld-gold); color: var(--ld-on-gold); }
.ld-btn--call:hover { background: var(--ld-gold-hi); transform: translateY(-2px); }
.ld-btn--tg { background: var(--ld-surface-2); color: var(--ld-ink); }
.ld-btn--tg:hover { background: #1c2c60; transform: translateY(-2px); }
.ld-links { display: flex; align-items: center; gap: 2px; }
.ld-links a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: var(--ld-pill); font-family: var(--ld-f-sign); font-size: 18px; text-decoration: none; transition: color .2s, background-color .2s; }
.ld-links a:hover { color: var(--ld-gold); background: rgba(19, 32, 74, .85); }
.ld-menu { position: relative; display: none; }
.ld-menu summary { list-style: none; display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 22px; border-radius: var(--ld-pill); background: rgba(19, 32, 74, .85); cursor: pointer; font-weight: 700; }
.ld-menu summary::-webkit-details-marker { display: none; }
.ld-menu summary svg { width: 20px; height: 20px; stroke: var(--ld-gold); stroke-width: 2; fill: none; }
.ld-menu-list { position: absolute; right: 0; top: 66px; width: 300px; padding: 12px 24px 16px; border-radius: var(--ld-r); background: var(--ld-surface); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); display: grid; }
.ld-menu-list a { padding: 12px 0; font-family: var(--ld-f-sign); font-size: 22px; text-decoration: none; }
.ld-menu-list a:hover { color: var(--ld-gold); }

/* 첫 화면: 사진 전면, 글자 쪽(왼쪽)에 어두운 막 */
.ld-hero { position: relative; min-height: max(100svh, 680px); overflow: hidden; display: grid; grid-template-rows: 1fr auto; padding: 128px var(--ld-pad) 40px; isolation: isolate; }
.ld-hero-photo { position: absolute; inset: 0; z-index: -2; margin: 0; }
.ld-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-pos); display: block; }
.ld-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 10, 22, .9) 4%, rgba(6, 10, 22, 0) 26%), linear-gradient(90deg, rgba(6, 10, 22, .94) 34%, rgba(6, 10, 22, 0) 68%); }
.ld-hero-caption { position: absolute; right: var(--ld-pad); top: 112px; font-size: 13px; color: var(--ld-ink-2); }
.ld-word { align-self: center; }
.ld-kick { font-family: var(--ld-f-sign); font-size: var(--ld-s2); color: var(--ld-gold); }
.ld-h1 { margin-top: 10px; font-family: var(--ld-f-sign); font-weight: 700; line-height: 1; }
.ld-sign { display: block; font-size: var(--ld-s5); letter-spacing: -.03em; color: var(--ld-gold); }
.ld-cat { display: block; margin-top: 4px; font-size: clamp(64px, 9vw, 140px); letter-spacing: -.02em; color: #fff;
  text-shadow: 0 0 12px rgba(255, 214, 150, .8), 0 0 44px rgba(233, 160, 90, .55); }
.ld-full { display: block; margin-top: 20px; font-family: var(--ld-f-body); font-weight: 500; font-size: clamp(20px, 2vw, 28px); line-height: 1.3; color: var(--ld-ink); }

/* 첫 화면 아래 한 줄: 주소 · 영업 · 룸 · 연락 */
.ld-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 44px; padding-top: 28px; }
.ld-strip dl { display: flex; flex-wrap: wrap; gap: 14px 44px; margin-right: auto; }
.ld-strip dt { font-size: 14px; color: var(--ld-ink-2); line-height: 1.4; }
.ld-strip dd { font-family: var(--ld-f-sign); font-size: var(--ld-s3); line-height: 1.25; white-space: nowrap; }
.ld-strip .ld-ctas { display: flex; gap: 12px; }

/* 절 */
.ld-sec { padding: clamp(96px, 12vw, 176px) var(--ld-pad); }
.ld-sec--tone { background: var(--ld-surface); }
.ld-lab { font-family: var(--ld-f-sign); font-size: var(--ld-s2); color: var(--ld-gold); }
.ld-h2 { margin-top: 10px; font-family: var(--ld-f-sign); font-weight: 700; font-size: clamp(36px, 5vw, 72px); line-height: 1.2; letter-spacing: -.02em; }
.ld-h2 em { font-style: normal; color: var(--ld-gold); }
.ld-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2.4vw, 40px); align-items: end; }
.ld-col-a { grid-column: 1 / 7; }
.ld-col-b { grid-column: 7 / 13; }
.ld-big { font-family: var(--ld-f-sign); font-weight: 700; font-size: clamp(120px, 20vw, 320px); line-height: .9; color: var(--ld-gold); letter-spacing: -.04em; }
.ld-big small { font-size: .2em; margin-left: .2em; letter-spacing: 0; color: var(--ld-ink); }
.ld-rows { display: grid; gap: 10px; margin-top: 28px; }
.ld-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 24px; border-radius: var(--ld-r); background: var(--ld-surface-2); }
.ld-row dt { color: var(--ld-ink-2); }
.ld-row dd { font-family: var(--ld-f-sign); font-size: clamp(22px, 2.4vw, 36px); color: var(--ld-gold-hi); white-space: nowrap; }
.ld-addr { margin-top: 24px; font-family: var(--ld-f-sign); font-size: clamp(28px, 3.4vw, 52px); line-height: 1.35; }
.ld-loc-card { margin-top: 24px; padding: 28px 30px; border-radius: var(--ld-r); background: var(--ld-surface); }
.ld-loc-h { font-family: var(--ld-f-body); font-size: var(--ld-s1); font-weight: 500; color: var(--ld-gold); }
.ld-loc-card .ld-addr { margin-top: 6px; }
.ld-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; color: var(--ld-gold); text-decoration: underline; text-underline-offset: 6px; }
.ld-map-btn { margin-top: 28px; }
.ld-prose { display: grid; gap: 16px; margin-top: 28px; max-width: 760px; }
.ld-prose p { font-size: 18px; color: var(--ld-ink-2); }
.ld-room-p { max-width: 38em; font-size: 18px; color: var(--ld-ink-2); }
.ld-room-p + .ld-room-p { margin-top: 16px; }
.ld-st { display: block; font-family: var(--ld-f-sign); font-size: 22px; line-height: 1.35; color: var(--ld-ink); }
.ld-steps li p { margin-top: 10px; color: var(--ld-ink-2); }
.ld-steps { counter-reset: lds; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 32px); margin-top: 44px; padding: 0; list-style: none; }
.ld-steps li { counter-increment: lds; padding: 28px 26px; border-radius: var(--ld-r); background: var(--ld-surface-2); }
.ld-steps li::before { content: counter(lds) / ""; display: block; font-family: var(--ld-f-sign); font-weight: 700; font-size: 72px; line-height: 1; color: var(--ld-gold); margin-bottom: 14px; }
.ld-faq { display: grid; gap: 12px; margin-top: 40px; max-width: 980px; }
.ld-faq details { border-radius: var(--ld-r); background: var(--ld-surface); }
.ld-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 24px 28px; font-family: var(--ld-f-sign); font-size: clamp(18px, 1.8vw, 24px); }
.ld-faq summary::-webkit-details-marker { display: none; }
.ld-faq summary::after { content: "+" / ""; color: var(--ld-gold); }
.ld-faq details[open] summary::after { content: "\2013" / ""; }
.ld-faq details p { padding: 0 28px 26px; color: var(--ld-ink-2); }
.ld-say { margin-top: 24px; max-width: 20em; font-family: var(--ld-f-sign); font-size: clamp(26px, 3.4vw, 50px); line-height: 1.45; }
.ld-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.ld-contact .ld-ctas { margin-top: 36px; }
.ld-foot { padding: 48px var(--ld-pad) 120px; display: grid; gap: 12px; color: var(--ld-ink-2); }
.ld-foot b { font-family: var(--ld-f-sign); color: var(--ld-ink); font-size: var(--ld-s2); font-weight: 700; }

.ld-dock { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: 12px; display: none; gap: 8px; padding: 8px; border-radius: var(--ld-pill); background: var(--ld-surface); box-shadow: 0 16px 40px rgba(0, 0, 0, .6); transform: translateY(140%); transition: transform .35s var(--ld-ease); }
.ld-dock.is-on { transform: none; }
.ld-dock .ld-btn { flex: 1; min-height: 50px; padding: 0 12px; }

@media (max-width: 1023px) {
  .ld-links { display: none; }
  .ld-menu { display: block; }
}
@media (max-width: 1100px) {
  .ld-links a { padding: 0 10px; font-size: 17px; }
  .ld-strip dl { gap: 12px 28px; }
  .ld-strip dd { font-size: 24px; }
}
@media (max-width: 900px) {
  .ld-grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .ld-col-a, .ld-col-b { grid-column: 1; }
  .ld-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ld-bar { padding: 10px 14px; }
  .ld-logo { font-size: 32px; gap: 8px; }
  .ld-logo small { display: none; }
  .ld-menu summary { min-height: 48px; padding: 0 14px; }
  .ld-menu summary span { display: none; }
  .ld-bar .ld-btn--call { min-height: 48px; padding: 0 16px; }
  .ld-bar .ld-btn--call span { display: none; }
  /* 390 첫 화면: 사진 피사체 위 55%, 글자는 아래 45% */
  .ld-hero { display: flex; flex-direction: column; justify-content: flex-end; min-height: 100svh; padding: 0 20px 24px; }
  .ld-hero-photo img { object-position: var(--hero-pos-tall); }
  .ld-hero::before { background: linear-gradient(0deg, rgba(6, 10, 22, .95) 44%, rgba(6, 10, 22, 0) 64%); }
  .ld-hero-caption { top: 76px; right: 16px; }
  .ld-word { align-self: auto; }
  .ld-kick { font-size: var(--ld-s1); }
  .ld-sign { font-size: 88px; }
  .ld-cat { font-size: 56px; }
  .ld-full { margin-top: 10px; font-size: 19px; }
  .ld-strip { padding-top: 14px; gap: 14px; }
  .ld-strip dl { gap: 4px 18px; }
  .ld-strip dt { display: none; }
  .ld-strip dd { font-size: 17px; font-family: var(--ld-f-body); font-weight: 500; }
  .ld-strip .ld-ctas { width: 100%; display: grid; grid-template-columns: 1.4fr 1fr; }
  .ld-strip .ld-btn { min-height: 52px; padding: 0 12px; }
  .ld-steps { grid-template-columns: minmax(0, 1fr); }
  .ld-dock { display: flex; }
  .ld-row { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* 404 */
.ld-nf{min-height:100vh;min-height:100svh;display:grid;align-content:center;justify-items:start;gap:24px;padding:56px var(--ld-pad)}
.ld-nf-mark{margin:0;font-family:var(--ld-f-sign);font-weight:700;color:var(--ld-gold);font-size:clamp(64px,15vw,232px);line-height:.9;white-space:nowrap}
.ld-nf-h1{margin:0;font-family:var(--ld-f-body);font-weight:600;font-size:clamp(22px,2.6vw,36px);line-height:1.3;color:var(--ld-ink)}
.ld-nf-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.ld-nf-home{display:inline-flex;align-items:center;min-height:44px;color:var(--ld-ink-2);text-underline-offset:6px}
.ld-nf-home:hover{color:var(--ld-ink)}

/* provenance (원본 검증 블록) */
.ld-prov{margin:28px 0 0;padding-top:24px;background:linear-gradient(var(--ld-ink-2),var(--ld-ink-2)) top/100% 1px no-repeat;font-family:-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.6}
.ld-prov-line{margin:0 0 12px;font-size:16px;color:var(--ld-ink)}
.ld-prov-btns{display:flex;flex-wrap:wrap;gap:8px 14px}
.ld-prov-b{display:inline-flex;align-items:center;min-height:44px;margin-block:-6px;padding:0 4px;color:var(--ld-gold);font-weight:700;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.ld-prov-d summary{cursor:pointer;color:var(--ld-ink-2);font-size:16px;padding:8px 0;min-height:44px;display:flex;align-items:center}
.ld-prov-hash,.ld-prov-lh{margin:8px 0 0;font-size:16px;color:var(--ld-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ld-prov-log{margin:4px 0 0;padding-left:20px;font-size:16px;color:var(--ld-ink);overflow-wrap:anywhere}

/* ── T110 다국어(design M002.P024.T110): 언어 전환 · 자매 공식 사이트 · ja/zh 시스템 서체 ── */
html[lang="ja"]{--ld-f-sign:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;--ld-f-body:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang="zh-Hans"]{--ld-f-sign:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--ld-f-body:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
html[lang="ja"] :is([lang="ko"],[lang="en"]),html[lang="zh-Hans"] :is([lang="ko"],[lang="en"]){--ld-f-sign:"Gowun Batang", "AppleMyungjo", "Noto Serif KR", serif;--ld-f-body:"Noto Sans KR", "Apple SD Gothic Neo", sans-serif}
html[lang="ja"] body,html[lang="zh-Hans"] body{word-break:normal;line-break:strict}
html[lang="en"] .ld-prov{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
html[lang="ja"] .ld-prov{font-family:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang="zh-Hans"] .ld-prov{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
/* 언어 전환: 넓은 화면은 바 안 글자 링크, 700px 이하는 작은 메뉴 */
.ld-lang{display:flex;align-items:center;gap:2px;flex:none;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.ld-lang a{display:inline-flex;align-items:center;min-height:44px;padding:0 9px;border-radius:999px;text-decoration:none;font-size:16px;font-weight:600;color:var(--ld-ink-2);white-space:nowrap}
.ld-lang a:hover{color:var(--ld-ink)}
.ld-lang a[aria-current="page"]{color:var(--ld-gold);font-weight:800;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.ld-lang-m{display:none;position:relative;flex:none;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.ld-lang-m summary{display:flex;align-items:center;gap:2px;min-height:44px;padding:0 6px 0 10px;border-radius:999px;cursor:pointer;list-style:none;font-size:16px;font-weight:800;color:var(--ld-gold)}
.ld-lang-m summary::-webkit-details-marker{display:none}
.ld-lang-m[open] summary{background:var(--ld-surface-2)}
.ld-lang-m[open] svg{transform:rotate(180deg)}
.ld-lang-m ul{position:absolute;right:0;top:calc(100% + 6px);z-index:70;min-width:150px;margin:0;padding:6px;list-style:none;background:var(--ld-surface-2);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.ld-lang-m ul a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;text-decoration:none;font-size:16px;color:var(--ld-ink)}
.ld-lang-m ul a[aria-current="page"]{color:var(--ld-gold);font-weight:800}
.ld-lang [lang="ko"],.ld-lang-m [lang="ko"]{font-family:-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
.ld-lang [lang="ja"],.ld-lang-m [lang="ja"]{font-family:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
.ld-lang [lang="zh-Hans"],.ld-lang-m [lang="zh-Hans"]{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
@media (max-width:700px){.ld-lang{display:none}.ld-lang-m{display:block}}
/* 자매 공식 사이트(게시 때 googlerank가 목록을 채운다): 판 언어의 시스템 서체, 상자 없음 */
.ld-sites{background:var(--ld-bg);padding:56px var(--ld-pad) 0;font-family:-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
html[lang="en"] .ld-sites{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
html[lang="ja"] .ld-sites{font-family:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang="zh-Hans"] .ld-sites{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.ld-sites-in{max-width:none;margin:0 auto}
.ld-sites-h{font-family:inherit;font-size:19px;font-weight:700;line-height:1.4;letter-spacing:0;color:var(--ld-ink);margin:0 0 10px}
.ld-sites-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px}
.ld-sites-list a{display:inline-block;padding:10px 0;line-height:1.5;font-size:16px;color:var(--ld-gold);font-weight:600;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.ld-addr-ko{display:block;margin-top:10px;font-family:var(--ld-f-body);font-size:var(--ld-s2);line-height:1.5;color:var(--ld-ink-2)}
:where(html[lang="ja"],html[lang="zh-Hans"]) :where(span[lang="ko"],small[lang="ko"]){font-family:var(--ld-f-body)}
:where(html[lang="ja"],html[lang="zh-Hans"]) .ld-sign{font-family:var(--ld-f-sign)}
@media (max-width:1279px){html:not([lang="ko"]) .ld-links{display:none}html:not([lang="ko"]) .ld-menu{display:block}}
/* 좁은 화면에서 메뉴 목록이 뷰포트 왼쪽 밖으로 나가던 결함(4판 공통, 설 지시): 화면 오른쪽에 붙이고 폭을 뷰포트 안으로 */
@media (max-width:700px){.ld-menu-list{position:fixed;top:66px;right:14px;width:min(300px,calc(100vw - 28px))}}
