
:root{--bg:#121214;--bur:#780016;--gold:#d4af37;--neon:#ff3355;--tx:#efe6d2}
*{margin:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Noto Sans KR',sans-serif;background:var(--bg);color:var(--tx);line-height:1.7;padding-bottom:78px}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 5vw}
/* top bar */
header{position:sticky;top:0;z-index:50;background:rgba(18,18,20,.92);backdrop-filter:blur(10px);border-bottom:1px solid #2a2326}
.bar{display:flex;align-items:center;gap:14px;padding:10px 5vw;max-width:1120px;margin:0 auto}
.logo{font-family:'Noto Serif KR',serif;font-weight:900;color:var(--gold);font-size:18px;white-space:nowrap}
nav{display:flex;gap:18px;margin-left:auto;font-size:13px;letter-spacing:.08em}
nav a{opacity:.8;transition:.2s}nav a:hover{opacity:1;color:var(--gold)}
select{background:#1c1517;color:var(--tx);border:1px solid #4a2c33;border-radius:8px;padding:6px 8px;font:13px 'Noto Sans KR'}
@media(max-width:760px){nav{display:none}.bar{justify-content:space-between}.logo{font-size:15px}.bar select{max-width:42vw}}
/* hero */
.hero{min-height:84vh;display:grid;place-content:center;text-align:center;padding:10vh 6vw;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#4a0a18 0,transparent 62%)}
.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(212,175,55,.05) 79px 80px);pointer-events:none}
.since{font-family:'Cormorant Garamond',serif;font-style:italic;letter-spacing:.4em;color:var(--gold);font-size:17px}
.neon{font-family:'Noto Serif KR',serif;font-weight:900;font-size:clamp(54px,13vw,170px);line-height:1.05;color:#fff;margin:14px 0;text-shadow:0 0 5px #fff,0 0 16px var(--neon),0 0 40px var(--neon),0 0 90px var(--neon);animation:fl 6s infinite}
.neon span{color:var(--gold);text-shadow:0 0 6px #fff3c0,0 0 20px var(--gold),0 0 50px #b8860b}
@keyframes fl{0%,19%,21%,60%,62%,100%{opacity:1}20%,61%{opacity:.4}}
.sub{display:inline-block;color:#7cf3ff;text-shadow:0 0 10px #7cf3ff;letter-spacing:.35em;font-size:12px;border:1px solid #7cf3ff55;padding:5px 14px;border-radius:99px;margin:0 auto;box-shadow:0 0 14px #7cf3ff33 inset}
.slogan{max-width:34ch;margin:26px auto 30px;font-weight:300;font-size:clamp(16px,2.3vw,21px);color:#d9cdb2}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{padding:13px 26px;border-radius:99px;font-weight:700;font-size:15px;border:1.5px solid var(--gold);color:var(--gold);cursor:pointer;background:none;transition:.25s;font-family:inherit;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--gold);color:#121214;box-shadow:0 0 28px #d4af3777}
.btn.fill{background:var(--bur);border-color:var(--neon);color:#fff;box-shadow:0 0 18px #ff335544}
.btn.fill:hover{background:var(--neon);box-shadow:0 0 34px #ff3355aa}
/* sections */
section{padding:10vh 0}
h2{font-family:'Noto Serif KR',serif;font-weight:900;font-size:clamp(28px,5vw,48px);color:var(--gold);text-shadow:0 0 18px #d4af3755;margin-bottom:8px}
.eyebrow{font-size:12px;letter-spacing:.4em;color:var(--neon);text-shadow:0 0 10px var(--neon);margin-bottom:6px}
/* lunch */
.lunch{display:grid;grid-template-columns:1fr 1fr;gap:28px;border:1px solid var(--neon);border-radius:22px;padding:28px;box-shadow:0 0 30px #ff335533,inset 0 0 40px #78001655;background:linear-gradient(135deg,#2a0810,#161012);align-items:center}
.lunch h3{font-family:'Noto Serif KR';font-size:26px}.lunch .pr{font-size:clamp(30px,5vw,46px);font-weight:900;color:var(--gold);margin:8px 0}
.badge{display:inline-block;background:var(--neon);color:#fff;font-size:12px;padding:2px 12px;border-radius:99px;font-weight:700;letter-spacing:.1em}
@media(max-width:760px){.lunch{grid-template-columns:1fr}}
/* photo placeholder */
.ph{aspect-ratio:4/3;border-radius:16px;border:1px dashed #d4af3777;display:grid;place-content:center;text-align:center;color:#d4af37aa;font-size:12px;letter-spacing:.2em;background:repeating-linear-gradient(45deg,#1b1417 0 14px,#201619 14px 28px);position:relative;overflow:hidden}
.ph b{display:block;font-size:34px;filter:grayscale(.3)}
.ph:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,#ff335522,transparent 60%)}
/* menu */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.tabs button{border:1px solid #5a2c36;background:none;color:var(--tx);padding:8px 18px;border-radius:99px;cursor:pointer;font:700 14px 'Noto Sans KR';transition:.2s}
.tabs button.on{background:var(--bur);border-color:var(--neon);box-shadow:0 0 16px #ff335566;color:#fff}
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:#191416;border:1px solid #2f2226;border-radius:18px;padding:12px 12px 16px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 0 26px #d4af3733}
.card h4{font-family:'Noto Serif KR';font-size:17px;margin:12px 4px 2px}
.card small{display:block;color:#9d8d75;margin:0 4px 8px;font-size:12px;min-height:18px}
.pl{margin:0 4px;display:flex;flex-direction:column;gap:2px}
.pl div{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-top:1px dotted #3b2a2f;padding-top:3px}
.pl b{color:var(--gold);white-space:nowrap}
.cur{display:flex;align-items:center;gap:8px;font-size:13px;color:#b9a98c}
/* info */
.ig{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px}
.ic{border:1px solid #3a262b;border-radius:18px;padding:22px;background:#171214}
.ic small{color:var(--neon);letter-spacing:.2em;font-size:11px;text-shadow:0 0 8px var(--neon)}
.ic p{margin-top:6px}
/* map */
.mapbox{margin-top:24px;border:1px solid var(--gold);border-radius:22px;overflow:hidden;box-shadow:0 0 34px #d4af3722}
.mapbox iframe{width:100%;height:380px;border:0;display:block;filter:invert(.92) hue-rotate(180deg) saturate(.7)}
.nmap{height:380px;display:grid;place-content:center;text-align:center;gap:10px;background:radial-gradient(circle at 50% 45%,#2b0c14,#121214 70%),#121214;position:relative;overflow:hidden}
.nmap:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/48px 48px}
.pin{font-size:54px;filter:drop-shadow(0 0 16px var(--neon));animation:bn 1.8s ease-in-out infinite;position:relative}
@keyframes bn{50%{transform:translateY(-10px)}}
.nmap p,.nmap .btn{position:relative}
.mbtns{display:flex;gap:10px;flex-wrap:wrap;padding:16px;background:#171214;border-top:1px solid #3a262b;align-items:center}
.mbtns span{font-size:13px;color:#b9a98c;margin-right:auto}
/* reserve */
.rg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:26px}
.rc{border:1px solid #3a262b;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:6px;cursor:pointer;background:#171214;transition:.3s;text-align:left;color:var(--tx);font-family:inherit}
.rc:hover{transform:translateY(-6px);border-color:var(--c);box-shadow:0 0 30px var(--c)}
.rc i{font-style:normal;font-size:34px}.rc b{font-size:19px;color:var(--c)}.rc span{font-size:13px;color:#a79877}
/* sns + footer */
.sns{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
footer{border-top:1px solid #2a2326;padding:40px 5vw;text-align:center;font-size:13px;color:#8d7f66}
/* fixed mobile bar */
.fix{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);background:#0d0b0c;border-top:1px solid var(--bur);box-shadow:0 -8px 30px #000}
.fix button,.fix a{background:none;border:0;color:var(--tx);padding:9px 2px 7px;font:700 11px 'Noto Sans KR';display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}
.fix i{font-style:normal;font-size:20px}
.fix>*:active{background:var(--bur)}
@media(min-width:900px){.fix{left:auto;right:20px;bottom:20px;width:380px;border:1px solid var(--bur);border-radius:18px;overflow:hidden}body{padding-bottom:0}}
/* modal / toast */
.md{position:fixed;inset:0;z-index:99;background:#000c;display:none;place-items:center;padding:20px}
.md.on{display:grid}
.mb{background:#181214;border:1px solid #07c160;border-radius:22px;padding:30px;max-width:340px;text-align:center;box-shadow:0 0 40px #07c16055}
.mb h3{color:#07c160;font-size:22px}.mb .id{font-size:26px;font-weight:900;margin:14px 0;letter-spacing:.1em;color:var(--gold);user-select:all}
.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(20px);background:var(--gold);color:#121214;padding:10px 20px;border-radius:99px;font-weight:700;opacity:0;pointer-events:none;transition:.3s;z-index:120}
.toast.on{opacity:1;transform:translateX(-50%)}
.rel{border-top:1px solid #2a2326;padding:6vh 0}.rel h3{font-family:'Noto Serif KR';color:var(--gold);margin-bottom:12px}.guides{display:flex;flex-wrap:wrap;gap:10px}.guides a{border:1px solid #5a2c36;padding:9px 16px;border-radius:99px;font-size:14px;transition:.2s}.guides a:hover{border-color:var(--neon);box-shadow:0 0 16px #ff335566;color:#fff}#faq details{border:1px solid #3a262b;border-radius:14px;padding:12px 16px;margin-bottom:8px;background:#171214}#faq summary{cursor:pointer;font-weight:700}#faq p{margin-top:8px;color:#cdbfa3;font-size:14px}

/* additions for the multi-page static site */
header .bar nav{margin-left:auto}
.lsw{position:relative;font-size:13px}.lsw summary{list-style:none;cursor:pointer;border:1px solid #4a2c33;border-radius:8px;padding:6px 10px;background:#1c1517;white-space:nowrap}
.lsw summary::-webkit-details-marker{display:none}
.lsw div{position:absolute;right:0;top:calc(100% + 6px);display:grid;min-width:150px;background:#181214;border:1px solid var(--gold);border-radius:12px;padding:6px;z-index:80;box-shadow:0 12px 30px #000c}
.lsw a{padding:7px 12px;border-radius:8px}.lsw a:hover,.lsw a[aria-current]{background:var(--bur);color:#fff}
.mcat{font-family:'Noto Serif KR',serif;color:var(--gold);margin:34px 0 12px;font-size:20px;border-left:3px solid var(--neon);padding-left:10px}
.cur select{margin-left:4px}
.post{max-width:820px;padding-top:5vh;padding-bottom:8vh}
nav.crumb{display:block;margin:0 0 14px;font-size:13px;color:#a79877}nav.crumb a:hover{color:var(--gold)}
.post h1{font-family:'Noto Serif KR',serif;font-weight:900;font-size:clamp(28px,5vw,44px);line-height:1.3;color:#fff;text-shadow:0 0 6px #fff,0 0 24px #ff335577;margin-bottom:10px}
.post .meta{color:#a79877;font-size:13px;margin-bottom:26px}
.post article h2{font-family:'Noto Serif KR',serif;color:var(--gold);font-size:24px;margin:34px 0 10px}
.post article h3{color:var(--neon);margin:22px 0 8px}
.post article p{margin:0 0 16px;color:#e3d9c4}
.post article ul,.post article ol{margin:0 0 18px 1.4em;color:#e3d9c4}.post article li{margin-bottom:6px}
.post article blockquote{border-left:3px solid var(--gold);padding:6px 16px;margin:18px 0;color:#cdbfa3;background:#171214;border-radius:0 12px 12px 0}
.post article a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.cta{margin:40px 0;border:1px solid var(--neon);border-radius:20px;padding:24px;background:linear-gradient(135deg,#2a0810,#161012);box-shadow:0 0 28px #ff335533}
.cta h3{font-family:'Noto Serif KR';color:var(--gold)}.cta p{margin:6px 0 12px;color:#cdbfa3}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.pc{display:flex;flex-direction:column;gap:6px;background:#191416;border:1px solid #2f2226;border-radius:16px;padding:18px;transition:.3s}
.pc:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 0 24px #d4af3733}
.pc small{color:var(--neon);font-size:12px}.pc b{font-family:'Noto Serif KR';font-size:17px;line-height:1.4}.pc span{font-size:13px;color:#a79877}
.relp h3{color:var(--gold);font-family:'Noto Serif KR';margin-top:30px}
.tabs a{display:inline-block;margin:0 8px 8px 0;border:1px solid #5a2c36;padding:7px 16px;border-radius:99px;font-size:14px}
.tabs a.on{background:var(--bur);border-color:var(--neon);color:#fff}
body.col,body.home{padding-bottom:78px}
@media(max-width:760px){header .bar nav{display:none}.lsw{margin-left:auto}}

/* reviews */
.rvlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}
.rv{background:#191416;border:1px solid #2f2226;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.rv header{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.rv header time{color:#8d7f66;font-size:12px;margin-left:auto}
.stars{color:var(--gold);letter-spacing:1px}.rv p{color:#e3d9c4;font-size:15px;margin:0}
.rv footer{font-size:12px;color:#a79877;margin-top:auto}.rv details{font-size:13px;color:#cdbfa3}.rv summary{cursor:pointer;color:var(--gold)}
.trn{color:#8d7f66;font-size:12px}.badge{display:inline-block;background:var(--neon);color:#fff;font-size:11px;padding:1px 10px;border-radius:99px;font-weight:700}
.rvsec{margin-top:34px}.rvsec h2{font-family:'Noto Serif KR',serif;color:var(--gold);font-size:22px}.note{color:#a79877;font-size:13px;margin:4px 0}
.gsum{margin:8px 0;color:#e3d9c4}.btn.sm{padding:4px 12px;font-size:12px}
.rvform{display:grid;gap:14px;max-width:520px}.rvform label{display:grid;gap:6px;font-size:14px;color:#cdbfa3}
.rvform input,.rvform select,.rvform textarea{background:#1c1517;color:var(--tx);border:1px solid #4a2c33;border-radius:10px;padding:10px;font:15px 'Noto Sans KR',sans-serif}
.rvform .chk{display:flex;gap:8px;align-items:flex-start}.rvform .chk input{margin-top:4px}.hp{position:absolute;left:-9999px;opacity:0}.fmsg{min-height:1.4em;color:var(--gold);font-size:14px}

/* Naver Place Real Food Images */
.card-img-wrap {
  width: 100%;
  height: 180px;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  background: #1a161f;
  margin: -16px -16px 12px -16px;
  width: calc(100% + 32px);
}
.card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.card:hover .card-img-wrap img {
  transform: scale(1.06);
}
.card small {
  display: block;
  color: #a8a0b0;
  font-size: 12px;
  line-height: 1.4;
  margin-top: 4px;
  margin-bottom: 8px;
}
