/* Components retained from the provided template. */
:root{--bg:#080806;--panel:#11110e;--gold:#c9a45b;--gold2:#f0d795;--txt:#f4f0e7;--muted:#a9a49a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
.brand{font-family:Georgia,serif;letter-spacing:.13em;color:var(--gold2);font-size:18px}
.nav{display:flex;gap:24px;font-size:13px}
.eyebrow{color:var(--gold);letter-spacing:.28em;font-size:12px}
.btns{display:flex;gap:12px;margin-top:30px}
.btn{border:1px solid #b99551;padding:13px 23px;font-size:14px}
.btn.fill{background:var(--gold);color:#080806;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3b3426;border-bottom:1px solid #3b3426}
.stat{padding:38px 20px;text-align:center;border-right:1px solid #302b20}
.stat:last-child{border:0}
.num{font:42px Georgia;color:var(--gold2)}
.label{color:var(--muted);font-size:12px;letter-spacing:.12em}
.section-head{max-width:760px;margin-bottom:50px}
.section-head h2{font:clamp(30px,4vw,52px) Georgia,"Noto Serif KR",serif;margin:8px 0}
.section-head p{color:var(--muted)}
.card{background:linear-gradient(145deg,#15140f,#0d0d0b);border:1px solid #29251c;padding:30px;min-height:190px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#29251c}
.fact{background:#0c0c0a;padding:22px}
.fact small{color:var(--muted);display:block}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:850px}
.faq details{border-top:1px solid #29251c;padding:20px 0}
.faq summary{cursor:pointer;font-size:17px}
.faq p{color:var(--muted)}
footer{padding:55px 7vw 100px;background:#050504;color:#8f8b82;font-size:12px;border-top:1px solid #29251c}
/* Floating CTA — premium black & gold */
.floating{padding:8px;background:linear-gradient(180deg,rgba(27,27,24,.94),rgba(8,8,7,.97));border:1px solid rgba(201,164,91,.22);border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(10px)}
.floatbtn{position:relative;overflow:hidden;isolation:isolate;min-width:154px;text-align:center;background:linear-gradient(180deg,#181815,#0d0d0b);color:#ead9ad;border:1px solid rgba(201,164,91,.42);border-radius:7px;padding:13px 18px;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 6px 18px rgba(0,0,0,.3);transition:transform .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}
.floatbtn::before{content:"";position:absolute;inset:-1px;z-index:-2;border-radius:8px;background:conic-gradient(from 0deg,transparent 0 72%,rgba(83,83,79,.1) 77%,rgba(139,136,127,.5) 81%,rgba(214,181,110,.76) 84%,rgba(139,136,127,.46) 87%,transparent 93%);animation:premiumTrace 5.6s linear infinite}
.floatbtn::after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:6px;background:linear-gradient(180deg,#181815,#0d0d0b)}
.floatbtn:nth-child(2){background:linear-gradient(180deg,#242017,#15130f);color:#f1da99;border-color:rgba(201,164,91,.64)}
.floatbtn:nth-child(2)::after{background:linear-gradient(180deg,#242017,#15130f)}
.floatbtn:nth-child(2)::before{animation-delay:-2.8s}
.floatbtn:hover{transform:translateY(-2px);color:#f7e8bf;border-color:rgba(240,215,149,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(0,0,0,.4),0 0 18px rgba(201,164,91,.09)}
@keyframes premiumTrace{to{transform:rotate(360deg)}}
/* V23 unified category navigation */
.category-strip{position:sticky;top:0;z-index:45;background:rgba(10,10,8,.96);border-top:1px solid rgba(201,164,91,.28);border-bottom:1px solid #2b261d;backdrop-filter:blur(10px)}
.category-strip-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:center;align-items:stretch;padding:0 18px;overflow-x:auto;scrollbar-width:none}.category-strip-inner::-webkit-scrollbar{display:none}
.category-link{flex:0 0 auto;min-width:96px;padding:15px 13px;text-align:center;color:#c8c0ae;font-size:13px;border-bottom:2px solid transparent;transition:.2s ease;white-space:nowrap}.category-link:hover,.category-link.active{color:#efd68f;border-bottom-color:#c9a45b;background:linear-gradient(180deg,transparent,rgba(201,164,91,.06))}

/* Ivory body, dark navigation and the original gold accents. */
:root {
  --paper:#f5f3ee; --ink:#25231f; --sub:#655e52; --bronze:#795d33; --line:#dfd8c9;
  --header-height:74px;
  color-scheme:light;
}
body {background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;}
[hidden] {display:none!important;}
h1,h2,h3,p,dd {word-break:keep-all;overflow-wrap:break-word;}
h1,h2,h3,p {margin-top:0;}
img {display:block;max-width:100%;height:auto;}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {outline:2px solid #ad7733;outline-offset:4px;}
button,input {font:inherit;}
.skip-link {position:fixed;z-index:150;left:16px;top:12px;background:var(--gold2);color:var(--bg);padding:10px 16px;transform:translateY(-180%);}
.skip-link:focus {transform:none;}
.visually-hidden {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.wrap {width:min(1180px,86vw);margin-inline:auto;}
.header {height:var(--header-height);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4vw;background:#080806;border-bottom:1px solid #30291d;color:#e1dacb;}
.brand {display:flex;align-items:baseline;gap:6px;white-space:nowrap;line-height:1.25;}
.brand small {font:11px system-ui,sans-serif;letter-spacing:0;color:#b7af9d;margin-left:8px;}
.nav a {display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;}
.nav a:hover,.nav a[aria-current] {color:var(--gold2);}
.mobile-menu-btn,.mobile-menu {display:none;}

.hero {position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:54px 7vw;background:#11100c;color:var(--txt);}
.hero-home {min-height:min(770px,calc(100svh - var(--header-height)));min-height:clamp(610px,calc(100svh - var(--header-height)),920px);}
.hero-art,.hero-art img {position:absolute;inset:0;width:100%;height:100%;z-index:-2;}
.hero-art img {object-fit:cover;object-position:55% 57%;}
.hero-home::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080806ed 0%,#0b0a06a5 32%,#0808060a 76%),linear-gradient(0deg,#080806dc,transparent 38%);}
.hero-inner {min-height:305px;background:radial-gradient(ellipse at 85% 15%,#3b3020,transparent 65%),linear-gradient(110deg,#080806,#16130e);padding-block:55px;}
.hero-copy {position:relative;width:min(1180px,100%);margin-inline:auto;animation:heroEntrance .65s ease both;}
@keyframes heroEntrance {from {opacity:.45;transform:translateY(9px);} to {opacity:1;transform:translateY(0);}}
.hero h1 {font-family:Georgia,"Noto Serif KR","Noto Serif CJK KR",serif;font-weight:500;line-height:1.16;letter-spacing:-.055em;margin:14px 0 19px;}
.hero-home h1 {font-size:clamp(45px,6vw,86px);}
.hero-inner h1 {font-size:clamp(31px,4.3vw,58px);}
.hero p {color:#eee5d4;margin-bottom:0;font-size:clamp(15px,1.55vw,21px);}
.hero .hero-subline {color:var(--gold2);font-size:clamp(17px,2vw,24px);margin-bottom:8px;}
.hero .hero-spec {font-size:clamp(14px,1.6vw,19px);line-height:1.65;}
.hero-caption {position:absolute;right:7vw;bottom:20px;color:#f2e5d0;background:#080806b5;padding:3px 9px;font-size:11px;}
.btns {flex-wrap:wrap;margin-top:26px;}
.btn {display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;line-height:1.5;color:var(--bronze);border-color:#9d855b;background:transparent;transition:background .2s,color .2s;}
.btn.fill {background:#806237;color:white;border-color:#806237;}
.btn:hover {background:#efe9dc;}
.btn.fill:hover {background:#684c25;}
.hero .btn {color:var(--gold2);background:#08080666;border-color:#d4b77e;}
.hero .btn:hover {background:#211b0d;}
.hero .btn.fill {color:var(--bg);background:var(--gold);}
.hero .btn.fill:hover {background:var(--gold2);}
.category-strip {top:var(--header-height);}
.category-strip-inner {padding:0 16px;justify-content:center;}
.category-link[aria-current] {border-bottom-color:var(--gold);color:var(--gold2);}
.stats {background:var(--bg);}
.num {font-size:clamp(27px,3.5vw,42px);}
.crumb {display:flex;gap:10px;padding-top:24px;font-size:13px;color:var(--sub);}
.crumb a,.text-link,.sources a,.privacy-details a,.prose a {color:var(--bronze);text-decoration:underline;text-underline-offset:3px;}
.section {padding-block:clamp(52px,7.5vw,105px);scroll-margin-top:calc(var(--header-height) + 70px);}
.section + .section {border-top:1px solid var(--line);}
.section-head {margin-bottom:32px;}
.section-head.centered {max-width:none;text-align:center;}
.section-head h2 {font-family:Georgia,"Noto Serif KR","Noto Serif CJK KR",serif;font-size:clamp(27px,3.5vw,49px);letter-spacing:-.045em;line-height:1.22;}
.section .eyebrow {color:var(--bronze);font-size:11px;}
.section p {color:var(--sub);}
.note {font-size:13px;margin:14px 0 0;}
.sources {font-size:12px;}
.facts {grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--line);margin:0;}
.fact {background:#fff;padding:19px 23px;}
.fact dt {font-size:12px;color:var(--sub);margin-bottom:5px;}
.fact dd {margin:0;font-weight:600;}
.fact a {text-decoration:underline;text-underline-offset:3px;}
.grid2,.grid3 {display:grid;gap:17px;}
.grid2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.grid3 {grid-template-columns:repeat(3,minmax(0,1fr));}
.card {background:#fff;border-color:var(--line);padding:27px;min-height:0;}
.card h3 {font-size:19px;color:var(--bronze);margin-bottom:10px;}
.card p {font-size:15px;margin:0;}
.card .text-link {display:block;margin-top:13px;font-weight:650;}
.showcase {display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:26px;}
.location-photo {margin:0;background:#11100d;}
.location-photo img {width:100%;aspect-ratio:900/560;object-fit:cover;}
.location-photo figcaption {padding:7px 12px;color:#dcd0bc;font-size:11px;}
.showcase-copy {display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,42px);background:#fff;border:1px solid var(--line);}
.showcase-copy h3 {font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(24px,3vw,35px);margin:7px 0 13px;line-height:1.35;}
.showcase-copy p {margin-bottom:0;}
.js .reveal {opacity:.25;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease;}
.js .reveal.on {opacity:1;transform:none;}

.status {background:#fff;border:1px solid var(--line);border-left:4px solid #a38653;padding:19px 23px;margin-bottom:23px;}
.status strong {color:var(--bronze);}
.status p {margin:6px 0 0;}
.table-wrap {border:1px solid var(--line);overflow:auto;}
table {width:100%;border-collapse:collapse;font-size:15px;}
th,td {padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);}
thead th {color:var(--bronze);background:#eee8dc;}
tbody th,td {background:white;}
tbody tr:last-child > * {border-bottom:0;}
.plan-tablist {display:none;gap:9px;}
.js .plan-tablist {display:flex;flex-wrap:wrap;}
.plan-tablist button {padding:10px 21px;min-height:48px;border:1px solid #9d855b;background:#fff;color:var(--bronze);cursor:pointer;}
.plan-tablist button[aria-selected=true] {background:#806237;color:white;}
.plan-panel {background:#fff;border:1px solid var(--line);padding:clamp(18px,4vw,30px);margin-top:16px;}
.plan-panel-title {display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:12px;}
.plan-panel-title h3 {font:clamp(22px,4vw,37px) Georgia,"Noto Serif KR",serif;margin:0;}
.plan-panel-title span {color:var(--bronze);font:11px Georgia,serif;letter-spacing:.11em;text-align:right;}
.plan-panel p {margin:0;}
.faq details {border-color:var(--line);}
.faq details:last-child {border-bottom:1px solid var(--line);}
.faq p {margin:12px 0 0;}
.prose {max-width:850px;}

.form-intro {text-align:center;margin:-10px auto 24px;}
.form-intro p {margin:0;}
.reserve-form {margin:auto;padding:clamp(18px,4vw,40px);background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px #5543210b;gap:17px;grid-template-columns:repeat(2,minmax(0,1fr));}
.form-field {display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:650;min-width:0;}
.form-field span small {margin-left:5px;font-size:11px;color:var(--bronze);font-weight:600;}
.form-field input {width:100%;min-width:0;min-height:49px;padding:10px 12px;border:1px solid #b8aa91;background:#fbfaf7;color:var(--ink);border-radius:0;font-size:16px;}
.form-field input::placeholder {color:var(--sub);opacity:1;}
.full {grid-column:1/-1;}
.privacy-details {color:var(--sub);font-size:13px;border-block:1px solid var(--line);padding:10px 0;}
.privacy-details p {margin:8px 0;}
.privacy-details summary {cursor:pointer;font-weight:650;color:var(--ink);}
.consent {display:flex;align-items:center;gap:9px;font-size:14px;min-height:44px;}
.consent input {width:18px;height:18px;flex:none;accent-color:#806237;}
.form-help {margin:0;font-size:12px;}
.lead-form-message {margin:0;background:#faf7ef;border:1px solid #ab966d;padding:12px;}
.lead-form-message.error {background:#fff6f3;border-color:#a55c52;color:#713c35;}
.reserve-form button {cursor:pointer;}
.reserve-form button:disabled {opacity:.66;cursor:wait;}

footer {padding:54px 0 100px;}
.foot {overflow-wrap:anywhere;}
.foot p {margin:0 0 7px;}
.foot-name,.footlinks {color:var(--gold2);}
.foot-name {font-size:16px;font-weight:650;}
.foot-dot {margin:0 4px;}
.footlinks {display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;}
.foot a:hover {text-decoration:underline;}
.floating {position:fixed;right:18px;bottom:18px;z-index:70;display:grid;gap:6px;grid-template-columns:minmax(112px,1fr);padding:6px;}
.floating .floatbtn {display:flex;gap:7px;justify-content:center;align-items:center;min-width:0;min-height:46px;padding:10px 15px;font-size:13px;line-height:1.25;}
body.menu-open {overflow:hidden;}

@media(min-width:801px) and (max-width:1100px) {
  .nav {gap:14px;}
  .brand {font-size:15px;}
  .brand small {display:none;}
}
@media(min-width:801px) {
  main .wrap,footer .wrap {width:min(1180px,calc(100vw - 300px));}
}
@media(max-width:800px) {
  :root {--header-height:60px;}
  .header {padding-inline:16px;}
  .brand {font-size:15px;}
  .brand small {margin-left:2px;}
  .nav {display:none;}
  .mobile-menu-btn {display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;width:44px;height:44px;background:#13100b;border:1px solid #8f764b;border-radius:4px;cursor:pointer;}
  .mobile-menu-btn span {display:block;width:18px;height:1px;background:var(--gold2);transition:transform .2s,opacity .2s;}
  .mobile-menu-btn[aria-expanded=true] span:first-child {transform:translateY(6px) rotate(45deg);}
  .mobile-menu-btn[aria-expanded=true] span:nth-child(2) {opacity:0;}
  .mobile-menu-btn[aria-expanded=true] span:last-child {transform:translateY(-6px) rotate(-45deg);}
  .mobile-menu {display:flex;position:fixed;z-index:80;inset:var(--header-height) 0 0;background:#000a;justify-content:flex-end;}
  .mobile-menu-panel {width:min(340px,86vw);height:100%;overflow:auto;background:#100e0a;color:var(--txt);padding:21px;box-shadow:-16px 0 40px #0008;}
  .mobile-menu-title {font:14px Georgia,serif;letter-spacing:.1em;color:var(--gold2);margin-bottom:16px;}
  .mobile-menu-panel a {display:block;min-height:44px;padding:9px 7px;border-bottom:1px solid #30291d;}
  .mobile-menu-panel a[aria-current] {color:var(--gold2);}
  .wrap {width:min(680px,calc(100% - 34px));}
  .hero {padding-inline:17px;}
  .hero-home {min-height:clamp(525px,78svh,690px);}
  .hero-home::before {background:linear-gradient(90deg,#080806a1,#08080627),linear-gradient(0deg,#080806ed,transparent 78%);}
  .hero-art img {object-position:center 56%;}
  .hero-home h1 {font-size:clamp(36px,9.8vw,65px);}
  .hero-inner {min-height:248px;padding-block:37px;}
  .hero-caption {right:17px;bottom:13px;}
  .category-strip {position:static;}
  .category-strip-inner {justify-content:flex-start;padding-inline:10px;}
  .category-link {min-width:0;padding:11px 14px;}
  .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat {padding:18px 8px;}
  .stat:nth-child(-n+2) {border-bottom:1px solid #302b20;}
  .stat:nth-child(2) {border-right:0;}
  .section {scroll-margin-top:calc(var(--header-height) + 9px);}
  .grid2,.grid3,.showcase {grid-template-columns:1fr;}
  .floating {left:0;right:0;bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-radius:0;}
  .floating .floatbtn {min-height:48px;}
  footer {padding-bottom:calc(90px + env(safe-area-inset-bottom));}
}
@media(max-width:540px) {
  .reserve-form {grid-template-columns:minmax(0,1fr);}
  .section-head {margin-bottom:23px;}
  .facts {grid-template-columns:minmax(0,1fr);}
  .fact,.card {padding:17px;}
  .btn {padding-inline:14px;font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;scroll-behavior:auto!important;transition:none!important;}
  .js .reveal {opacity:1;transform:none;}
}

@media(min-width:801px) {
  .hero-caption {right:max(7vw,158px);}
}
