/* SiteCraft Table — Sheila/Reserve shell · cream / ink / gold (quiet luxury) */
:root{--cream:#f7f2ea;--paper:#fbf8f3;--linen:#efe8dc;--ink:#15171c;--ink-2:#3a3d45;--mute:#7a7468;--gold:#a8895a;--gold-soft:#c9b48a;--hair:#d6c4a0;--ok:#4f6b52;--warn:#9a4b3c;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,'Noto Sans KR',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html,body{margin:0}
body{background:var(--cream);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums tabular-nums}
a{color:inherit}button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}
.demo-bar{background:var(--ink);color:#d9cfbd;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:8px 16px}
.demo-bar a{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid transparent}.demo-bar a:hover{border-color:var(--gold-soft)}
.demo-bar b{color:var(--gold-soft);font-weight:500}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}
.wide{max-width:1180px}

/* Header — Sheila mark + uppercase nav */
header.top{border-bottom:1px solid var(--hair);background:var(--paper);position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;min-height:72px;padding-top:10px;padding-bottom:10px}
.mark,.brand{font:500 22px/1 var(--serif);letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.mark small,.brand small{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.28em;color:var(--gold);margin-top:6px;text-transform:uppercase}
nav.mini{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav.mini a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:4px 0}
nav.mini a.on{color:var(--ink);border-bottom:1px solid var(--gold)}

.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
h1{font:400 44px/1.12 var(--serif);letter-spacing:-.01em;margin:14px 0 12px}
h2{font:400 30px/1.2 var(--serif);margin:28px 0 10px}
h3{font:500 17px/1.3 var(--serif);margin:0 0 4px}
.lede{color:var(--ink-2);max-width:480px;margin:0 auto;font-size:15.5px}
.hero{padding:48px 0 28px;text-align:center}
.hero.simple{padding:36px 0 12px}
.hero.simple h1{font-size:40px;margin-bottom:8px}
.hero.simple .lede{display:none}

/* Subtle dining atmosphere band (no portraits) */
.hero-atmos{margin:18px 0 0;border:1px solid var(--hair);overflow:hidden;aspect-ratio:21/9;background:var(--paper);position:relative}
.hero-atmos:before{content:"";position:absolute;inset:8px;border:1px solid rgba(168,137,90,.4);pointer-events:none;z-index:1}
.hero-atmos img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.02)}
.hero.simple{padding-top:28px}
@media(max-width:700px){.hero-atmos{aspect-ratio:16/9;margin-top:12px}}

.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:22px auto;max-width:120px;border:0}
.cta{display:flex;flex-direction:column;gap:10px;max-width:380px;margin:26px auto 0}

/* Buttons — Sheila ink + letter-spacing */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:14px 28px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;font:500 11.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:.2s}
.btn.primary,.btn:not(.ghost):not(.sm):not(.lnk){}.btn.primary{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn.primary:hover{background:#000}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--hair)}
.btn.ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn.sm{display:inline-flex;padding:9px 16px;font-size:10.5px;letter-spacing:.16em}
.btn[disabled]{opacity:.4;cursor:not-allowed}
a.btn,button.btn{width:100%}
.cta .btn,.home-acts + .cta .btn{width:100%}
.card .acts .btn,.sheet .btn,span > .btn,.item + span .btn{width:auto}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--hair);background:var(--paper);margin:36px 0}
.facts div{padding:18px 16px;font-size:13px;color:var(--ink-2);border-right:1px solid var(--hair)}
.facts div:last-child{border:0}
.facts b{display:block;font:500 10.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}

.cat{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:30px 0 6px;border-bottom:1px solid var(--hair);padding-bottom:8px}
.item{display:flex;gap:14px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--linen)}
.item h3{font:500 20px/1.25 var(--serif)}
.item .note{font:400 12px var(--sans);letter-spacing:.04em;color:var(--mute);text-transform:none}
.item .d{font-size:13.5px;color:var(--mute);margin-top:4px}.item .tags{font-size:11px;color:var(--mute);letter-spacing:.04em;margin-top:4px}
.item .p{font:400 22px var(--serif);white-space:nowrap;padding-top:2px}
.item.out{opacity:.45}.item.out .p:after{content:" · 품절";font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--warn)}
.mode-simple .item .d,.mode-simple .item .tags{display:none}
.mode-simple .item h3{font-size:20px}
.mode-simple .item .p{font-size:20px}
.mode-simple .item{padding:14px 0}
.qty{display:flex;align-items:center;gap:8px;margin-top:10px}.qty button{width:34px;height:34px;border:1px solid var(--hair);background:var(--paper);cursor:pointer}
.left{font-size:11.5px;color:var(--warn)}

.panel{border:1px solid var(--hair);background:var(--paper);padding:22px;margin:18px 0}
label.f{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:18px 0 8px}
input.t,select.t{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--hair);background:transparent;border-radius:0;outline:0;font-size:15px}
textarea.t{width:100%;padding:12px;border:1px solid var(--hair);background:var(--cream);min-height:84px;resize:vertical;outline:0}
input.t:focus,select.t:focus,textarea.t:focus{border-color:var(--gold)}
.consent{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gold-soft);background:var(--linen);padding:14px 16px;margin:16px 0;font-size:13.5px;cursor:pointer;text-transform:none;letter-spacing:0}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink)}
.consent.mk{border-style:dashed;font-size:13px;color:var(--ink-2)}

.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.slot{padding:11px 4px;line-height:1.3;border:1px solid var(--hair);background:var(--paper);text-align:center;cursor:pointer;font-size:14px}
.slot.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.slot[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.slot small{display:block;font-size:10.5px;color:var(--mute)}.slot.on small{color:var(--gold-soft)}
.seg{display:flex;border:1px solid var(--hair)}.seg button{flex:1;padding:12px;border:0;background:var(--paper);cursor:pointer;font-size:12px;letter-spacing:.08em}.seg button.on{background:var(--ink);color:var(--cream)}
.sum{display:flex;justify-content:space-between;padding:6px 0;font-size:14.5px}.sum.total{border-top:1px solid var(--hair);margin-top:8px;padding-top:12px;font-weight:500}
.depbox{border:1px dashed var(--gold-soft);background:var(--linen);padding:18px 20px;margin:14px 0}
.tag-demo{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--warn);border:1px solid #d9b3a8;padding:2px 8px;margin-bottom:10px}
.status{text-align:center;padding:40px 0}
.big{font:400 72px/1 var(--serif);margin:14px 0}
.steps{display:flex;justify-content:center;gap:0;margin:26px 0;border:1px solid var(--hair);background:var(--paper)}
.steps span{flex:1;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:12px 10px;border-right:1px solid var(--hair)}
.steps span:last-child{border:0}.steps span.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}
.note{font-size:13px;color:var(--mute)}
.cartbar{position:sticky;bottom:0;background:var(--ink);color:var(--cream);padding:14px 22px;display:flex;justify-content:space-between;align-items:center;z-index:4}
.cartbar a{color:var(--cream);text-decoration:none;border:1px solid var(--gold-soft);padding:9px 16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
footer.ft{border-top:1px solid var(--hair);margin-top:64px;padding:28px 0 90px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:center}
footer.ft a{text-transform:none;letter-spacing:0}
.hide{display:none!important}

/* Owner board */
.board{background:var(--cream);min-height:100vh}
.board .bar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--hair);overflow-x:auto}
.tabs button{padding:14px 18px;border:0;background:none;cursor:pointer;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:var(--ink);border-color:var(--gold)}
.tabs .n{display:inline-block;min-width:22px;padding:0 6px;margin-left:6px;background:var(--ink);color:var(--cream);font-size:12px;border-radius:11px;letter-spacing:0;text-transform:none}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.col h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 10px;font-weight:500}
.card{background:var(--paper);border:1px solid var(--hair);padding:16px 16px 14px;margin-bottom:12px}
.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.card .who{font:500 19px var(--serif)}.card .meta{font-size:13px;color:var(--mute)}
.card .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card .acts .btn{padding:11px 14px;font-size:11px;width:auto}
.pill{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--hair);padding:3px 8px;color:var(--ink-2)}.pill.paid{color:var(--ok);border-color:#b9c9b6}.pill.warn{color:var(--warn);border-color:#d9b3a8}
.log{background:var(--ink);color:#e9e2d4;font:12.5px/1.75 ui-monospace,Menlo,monospace;padding:18px 20px;min-height:160px;white-space:pre-wrap;max-height:520px;overflow:auto}
table.t{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper)}table.t td,table.t th{border-bottom:1px solid var(--linen);padding:10px 12px;text-align:left}table.t th{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:500}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.switch input{width:20px;height:20px;accent-color:var(--ink)}
.empty{color:var(--mute);font-size:13px;padding:14px;border:1px dashed var(--hair);text-align:center}
@media(max-width:860px){.cols{grid-template-columns:1fr}}
@media(max-width:560px){.mark small,.brand small{letter-spacing:.18em}h1{font-size:34px}.facts{grid-template-columns:1fr}.facts div{border-right:0;border-bottom:1px solid var(--hair)}.slots{grid-template-columns:repeat(3,1fr)}nav.mini{gap:12px}}

.closed-banner{display:flex;flex-direction:column;gap:2px;border:1px solid #d9b3a8;border-left:3px solid var(--warn);background:#fbf1ee;padding:12px 16px;margin:18px 0 6px;font-size:14px;color:var(--ink-2)}.closed-banner b{color:var(--warn);font-weight:600}
.picked{font-size:13.5px;color:var(--mute);margin:10px 0 0;text-align:center}.picked.on{color:var(--ink)}.picked.on b{border-bottom:2px solid var(--gold)}
.paystat{text-align:center;font-size:13.5px;color:var(--ink-2);min-height:1.4em;margin:10px 0 0}.paystat.on:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--gold);animation:sctp 1s infinite}
@keyframes sctp{50%{opacity:.25}}
.done-banner{display:inline-block;border:1px solid #b9c9b6;background:#f1f5ef;color:var(--ok);padding:8px 16px;font-size:14px;margin-bottom:18px}

.sheet-bg{position:fixed;inset:0;z-index:50;background:rgba(21,23,28,.38);display:flex;align-items:center;justify-content:center;padding:18px}
.sheet{background:var(--paper);border:1px solid var(--hair);border-top:2px solid var(--gold);width:100%;max-width:460px;max-height:calc(100vh - 36px);overflow:auto;padding:24px 24px 20px;box-shadow:0 18px 48px rgba(21,23,28,.18)}
.sheet .seg button{padding:14px 0;font-size:14px}
.sheet input.t{font-size:17px}
@media(max-width:560px){.sheet-bg{align-items:flex-end;padding:0}.sheet{max-width:none;border-left:0;border-right:0}}

.board .topbar{position:sticky;top:0;z-index:6;background:var(--cream);border-bottom:1px solid var(--hair)}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 0 40px;align-items:start}
.home-grid.one{grid-template-columns:minmax(0,560px)}
.hcol{min-width:0}
.hh{font:400 28px var(--serif);margin:0 0 2px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--gold);padding-bottom:6px}
.hh .n{font:600 16px var(--sans);min-width:34px;height:34px;line-height:34px;text-align:center;border-radius:17px;background:var(--ink);color:var(--cream);padding:0 10px;letter-spacing:0}
.sub{font-size:14px;color:var(--mute);margin:6px 0 12px;font-weight:500}
.card.hc{padding:16px 18px 14px;border-left:3px solid var(--hair)}
.card.hc.st-new{border-left-color:var(--warn)}.card.hc.st-cooking{border-left-color:var(--gold)}.card.hc.st-ready{border-left-color:var(--ok)}
.card.hc .who{font:500 24px/1.25 var(--serif)}
.card.hc .items{font-size:16px;color:var(--ink-2);margin-top:4px}
.card.hc .meta{font-size:14px;margin-top:2px}
.card.hc .pill{font-size:11px;padding:2px 10px;white-space:nowrap}
.due{color:var(--warn);font-weight:600}
.card .acts{align-items:center}
.btn.big,.card .acts .btn.big{flex:1;padding:16px 14px;font-size:14px;font-weight:500;letter-spacing:.12em;width:auto}
.lnk{border:0;background:none;color:var(--mute);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 6px}
.clist{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--hair)}.clist li{padding:10px 14px;border-bottom:1px solid var(--linen);font-size:15px}.clist li:last-child{border:0}
.drawer{padding-top:10px}
.sig{text-align:center;font-size:11px;letter-spacing:.22em;color:var(--gold);padding:10px 0 24px;text-transform:uppercase}
@media(max-width:980px){.home-grid{grid-template-columns:1fr 1fr}.home-grid>.hcol:first-child{grid-column:1/-1}}
@media(max-width:640px){.home-grid{grid-template-columns:1fr}.card.hc .who{font-size:22px}}

/* Guest home act tiles */
.home-acts{display:grid;grid-template-columns:1fr;gap:12px;max-width:440px;margin:28px auto 0;text-align:left}
.act{display:block;border:1px solid var(--hair);background:var(--paper);padding:20px 22px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
.act:hover{border-color:var(--gold);background:var(--cream)}
.act.dim{opacity:.45}
.act-k{display:block;font:400 28px/1.15 var(--serif);margin-bottom:2px}
.act-e{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.act-d{display:block;font-size:14px;color:var(--ink-2)}

/* Simple mode — minimal: cream · single gold line · ink · whitespace */
.mode-simple .wrap,
.mode-simple .wrap.wide{max-width:640px}
.mode-simple header.top{background:var(--cream);border-bottom:1px solid transparent}
.mode-simple header.top .wrap{min-height:64px}
.mode-simple header.top .mark{font:400 18px/1 var(--serif);letter-spacing:.04em}
.mode-simple header.top .mark small{font:500 9.5px/1 var(--sans);letter-spacing:.3em;margin-top:10px}
.mode-simple nav.mini a{letter-spacing:.18em;color:var(--mute)}
.mode-simple nav.mini a.on{color:var(--ink);border-bottom-color:var(--gold)}

.mode-simple .hero.simple{padding:56px 0 8px;text-align:center}
.mode-simple .hero.simple .eyebrow{font-size:10.5px;letter-spacing:.32em;color:var(--gold)}
.mode-simple .hero.simple h1{font:400 44px/1.1 var(--serif);letter-spacing:-.015em;margin:18px 0 12px}
.mode-simple .hero.simple .lede{display:block;max-width:none;margin:0 auto;font-size:14px;color:var(--ink-2);letter-spacing:.04em}
.mode-simple .goldline,.mode-simple .rule{
  height:1px;width:100%;max-width:120px;margin:36px auto;background:var(--gold);border:0;opacity:.85;
  background-image:none;
}

.home-acts.simple,.home-acts.simple.row3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:640px;
  margin:48px auto 0;
  background:transparent;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  text-align:center;
}
.home-acts.simple .act{
  padding:20px 8px;
  margin:0;
  border:0;
  background:transparent;
  transition:background .15s;
}
.home-acts.simple .act:hover{background:rgba(168,137,90,.06);border-color:transparent}
.home-acts.simple .act.dim{opacity:.4}
.home-acts.simple .act-k{
  display:block;
  font:400 13px/1.3 var(--serif);
  letter-spacing:.08em;
  margin:0;
  color:var(--ink);
}
.home-acts.simple .act-e{
  display:block;
  margin:6px 0 0;
  font:500 9.5px/1 var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mute);
}
.home-acts.simple .act-d{
  margin-top:8px;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--mute);
  min-height:0;
}
@media(max-width:560px){
  .home-acts.simple,.home-acts.simple.row3{grid-template-columns:1fr;border:0;max-width:420px}
  .home-acts.simple .act{border-top:1px solid var(--gold);padding:16px}
  .home-acts.simple .act:last-child{border-bottom:1px solid var(--gold)}
  .mode-simple .hero.simple{padding-top:40px}
  .mode-simple .hero.simple h1{font-size:34px}
}

/* Simple menu — typographic rows (name · price), not cards */
.mode-simple main > h2{
  font:400 44px/1.1 var(--serif);
  margin:48px 0 10px;
  letter-spacing:-.015em;
  text-align:center;
}
.mode-simple .menu-blurb{
  text-align:center;
  margin:0 0 8px;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--ink-2);
  text-transform:none;
}
.mode-simple .menu-goldline{
  height:1px;width:100%;max-width:120px;margin:28px auto 8px;background:var(--gold);border:0;opacity:.85;
}
.mode-simple .msec{margin:8px 0 12px}
.mode-simple .msec .cat{
  margin:40px 0 6px;
  padding-bottom:0;
  border-bottom:0;
  font-size:10px;
  letter-spacing:.28em;
  font-weight:500;
  color:var(--gold);
}
.mode-simple .mgrid{
  display:block;
}
.mode-simple .mcard{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:12px 20px;
  background:transparent;
  border:0;
  border-radius:0;
  padding:16px 0;
  min-height:0;
  transition:none;
}
.mode-simple .mcard + .mcard{border-top:1px solid transparent}
.mode-simple .mcard:hover{background:transparent;border-color:transparent}
.mode-simple .mcard.out{opacity:.42}
.mode-simple .mcard-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  flex:1 1 auto;
  min-width:0;
}
.mode-simple .mcard h3{
  font:400 24px/1.25 var(--serif);
  margin:0;
  letter-spacing:.005em;
}
.mode-simple .mcard .p{
  font:400 18px/1 var(--serif);
  color:var(--ink);
  white-space:nowrap;
  letter-spacing:.02em;
}
.mode-simple .mcard .left{width:100%;order:3;font-size:11px}
.mode-simple .mcard .qty{
  width:100%;
  order:4;
  margin-top:4px;
  justify-content:flex-end;
}
.mode-simple .mcard .qty button{
  width:28px;height:28px;
  border:1px solid var(--hair);
  background:transparent;
  cursor:pointer;
  font-size:13px;
  transition:background .15s,border-color .15s,color .15s;
}
.mode-simple .mcard .qty button:hover{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.mode-simple footer.ft{
  margin-top:56px;
  padding-top:0;
  border-top:0;
  text-transform:none;
  letter-spacing:0;
}
.mode-simple footer.ft .wrap{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:560px){
  .mode-simple main > h2{font-size:34px;margin-top:36px}
  .mode-simple .mcard h3{font-size:20px}
  .mode-simple .mcard .p{font-size:16px}
  .mode-simple .msec .cat{margin-top:32px}
}

/* Beauty reserve wizard */
.bk .ph{font:400 28px var(--serif);margin:8px 0 6px}
.bk-steps{display:flex;gap:0;border:1px solid var(--hair);background:var(--paper);margin:22px 0 18px}
.bk-steps div{flex:1;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:14px 6px;border-right:1px solid var(--hair);color:var(--mute);cursor:default}
.bk-steps div:last-child{border:0}
.bk-steps div .n{display:inline-flex;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;align-items:center;justify-content:center;font-size:10px;margin-right:4px;letter-spacing:0}
.bk-steps div.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}
.bk-steps div.on .n{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.bk-steps div.done{color:var(--gold);cursor:pointer}
.bk-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;align-items:start}
.bk-sum{border:1px solid var(--hair);background:var(--paper);padding:18px 20px;position:sticky;top:88px}
.bk-sum .sumlist{list-style:none;margin:10px 0 0;padding:0}
.bk-sum .sumlist li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--linen);font-size:14.5px}
.back{background:none;border:0;padding:8px 0;font:500 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;margin-bottom:6px}
.back:hover{color:var(--gold)}
.party-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.pick{display:flex;gap:14px;align-items:center;border:1px solid var(--hair);background:var(--cream);padding:16px 18px;cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit}
.pick.sel{border-color:var(--gold);background:var(--paper);box-shadow:inset 0 0 0 1px var(--gold)}
.pick .dot{width:20px;height:20px;border-radius:50%;border:1px solid var(--hair);flex:none}
.pick.sel .dot{border:6px solid var(--ink)}
.pick b{display:block;font:500 18px/1.25 var(--serif)}
.pick small{font-size:12.5px;color:var(--mute)}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:8px}
.day{min-height:72px;padding:12px 6px;border:1px solid var(--hair);background:var(--paper);cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.day span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.day b{font:400 22px var(--serif)}
.day.sel{background:var(--ink);color:var(--cream);border-color:var(--ink)}.day.sel span{color:var(--gold-soft)}
.day.closed,.day[disabled]{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tgrid .slot{min-height:56px;font-size:17px}
@media(max-width:860px){
  .bk-grid{grid-template-columns:1fr}
  .bk-sum{position:static}
  .days{grid-template-columns:repeat(4,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .bk-steps div{font-size:10px;padding:10px 2px;letter-spacing:.06em}
  .bk-steps .n{display:flex;margin:0 auto 4px}
  .party-grid{grid-template-columns:1fr}
  .days{grid-template-columns:repeat(3,1fr)}
  a.btn,button.btn{width:auto}
  .cta .btn{width:100%}
}

/* Hub index cards */
.hub-modes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}
.hub-card{display:block;border:1px solid var(--hair);background:var(--paper);padding:28px 24px;text-decoration:none;color:inherit;transition:.2s}
.hub-card:hover{border-color:var(--gold);background:var(--cream)}
.hub-card .no{font:400 12px var(--serif);color:var(--gold);letter-spacing:.22em;text-transform:uppercase}
.hub-card h3{font:400 26px var(--serif);margin:10px 0 8px}
.hub-card p{font-size:14px;color:var(--ink-2);margin:0 0 16px}
.hub-card .go{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
@media(max-width:700px){.hub-modes{grid-template-columns:1fr}}

/* SiteCraft ◇ LV signature — lock to logo mark (ink SiteCraft · thin gold ◇ · gold LV) */
.sc-sig{display:inline-flex;align-items:baseline;gap:.42em;font:400 15px/1 var(--serif);letter-spacing:.02em;text-decoration:none;color:var(--ink);white-space:nowrap}
.sc-sig .sc-name{color:var(--ink);font-weight:400}
.sc-sig .sc-dia{color:var(--gold);font-size:.78em;font-weight:300;transform:translateY(-.08em);display:inline-block;line-height:1;/* hollow outline ◇ — never filled ◇ */}
.sc-sig .sc-lv{color:var(--gold);font-weight:400;letter-spacing:.08em}
.sc-sig.lg{font-size:22px;gap:.5em}
.sc-sig.sm{font-size:13px;gap:.38em}
.sc-sig img{height:1.15em;width:auto;display:block}
footer.ft .sc-sig{margin-top:14px}
.demo-bar .sc-sig{font-size:12px;gap:.32em;text-transform:none;letter-spacing:.02em;vertical-align:middle}
.demo-bar .sc-sig .sc-name{color:#e9e2d4}
.demo-bar .sc-sig .sc-dia,.demo-bar .sc-sig .sc-lv{color:var(--gold-soft)}

.mode-simple .mcard-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px;border:1px solid rgba(184,150,90,.35)}


/* Simple · menu → packaging order CTA */
.mode-simple .menu-order-cta{text-align:center;margin:40px 0 24px;padding-top:28px;border-top:1px solid var(--gold)}
.mode-simple .menu-order-cta .btn{min-width:220px}
.mode-simple .menu-order-cta .note{margin-top:12px;letter-spacing:.04em;text-transform:none}
.mode-simple .menu-order-cta.empty-cart{border-top-color:rgba(168,137,90,.35)}
.mode-simple .cartbar.menu-to-order a{letter-spacing:.08em}


/* Simple · 4 large actions + gear settings */
.mode-simple header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mode-simple .gear-btn{
  appearance:none;background:transparent;border:1px solid transparent;color:var(--ink);
  width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;transition:border-color .15s,background .15s;
}
.mode-simple .gear-btn:hover{border-color:var(--gold);background:rgba(168,137,90,.06)}
.mode-simple .gear-btn svg{display:block}

.home-acts.simple.row4{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  max-width:560px;margin:48px auto 0;border:1px solid var(--gold);text-align:center;background:transparent;
}
.home-acts.simple.row4 .act{
  padding:36px 16px;margin:0;border:0;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);
  background:transparent;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.home-acts.simple.row4 .act:nth-child(2n){border-right:0}
.home-acts.simple.row4 .act:nth-last-child(-n+2){border-bottom:0}
.home-acts.simple.row4 .act-k{font:400 28px/1.15 var(--serif);letter-spacing:.02em;margin:0;color:var(--ink)}
.home-acts.simple.row4 .act-e{margin-top:10px;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.home-acts.simple.row4 .act-d{margin-top:10px;font-size:12px;color:var(--mute)}
.home-acts.simple.row4 .act:hover{background:rgba(168,137,90,.06)}
@media(max-width:560px){
  .home-acts.simple.row4{grid-template-columns:1fr;max-width:420px;border:0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
  .home-acts.simple.row4 .act{border:0;border-bottom:1px solid var(--gold);padding:28px 12px;min-height:0}
  .home-acts.simple.row4 .act:last-child{border-bottom:0}
  .home-acts.simple.row4 .act-k{font-size:24px}
}

.mode-simple .settings-page .settings-login{max-width:360px;margin:0 auto;text-align:left}
.mode-simple .settings-toolbar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:8px 0 4px}
.mode-simple .settings-sw{display:flex;margin:10px 0}
.mode-simple .sedit-list{display:flex;flex-direction:column;gap:18px;margin-top:14px}
.mode-simple .sedit{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(168,137,90,.28)}
.mode-simple .sedit-img img,.mode-simple .sedit-ph{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(168,137,90,.35);background:var(--paper)}
.mode-simple .sedit-ph{display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.mode-simple .sedit-img input[type=file]{display:block;margin-top:8px;font-size:12px;max-width:100%}
.mode-simple .sedit-img .t{margin-top:6px;font-size:12px;padding:6px 8px}
.mode-simple .sedit-img .btn{margin-top:6px}
.mode-simple .sedit-fields .f{margin-top:8px}
@media(max-width:560px){
  .mode-simple .sedit{grid-template-columns:1fr}
}

.mode-simple .settings-page .panel h3.sh{font:400 18px/1.2 var(--serif);margin:0 0 12px;letter-spacing:.02em}
.mode-simple .settings-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:560px){.mode-simple .settings-grid2{grid-template-columns:1fr}}


/* Simple · reserve as secondary adjacent row under 3-col grid */
.mode-simple .home-reserve-row{
  max-width:640px;margin:0 auto;text-align:center;
  border-bottom:1px solid var(--gold);
}
.mode-simple .home-reserve-row .reserve-link{
  display:flex;align-items:baseline;justify-content:center;gap:14px;
  padding:16px 12px;text-decoration:none;color:var(--ink);
  transition:background .15s;
}
.mode-simple .home-reserve-row .reserve-link:hover{background:rgba(168,137,90,.06)}
.mode-simple .home-reserve-row .reserve-link.dim{opacity:.4}
.mode-simple .home-reserve-row .rk{font:400 15px/1.3 var(--serif);letter-spacing:.1em}
.mode-simple .home-reserve-row .re{font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
@media(max-width:560px){
  .mode-simple .home-reserve-row{max-width:420px;border-bottom:1px solid var(--gold)}
}


/* Simple settings · tab nav (one pane at a time) */
.mode-simple .settings-tabs{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  margin:18px 0 8px;padding-bottom:14px;border-bottom:1px solid rgba(168,137,90,.35);
}
.mode-simple .settings-tabs .stab{
  appearance:none;background:transparent;border:1px solid transparent;
  color:var(--mute);font:500 11px/1 var(--sans);letter-spacing:.08em;
  padding:8px 10px;cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s,color .15s;
}
.mode-simple .settings-tabs .stab:hover{color:var(--ink);border-color:rgba(168,137,90,.45)}
.mode-simple .settings-tabs .stab.on{color:var(--ink);border-color:var(--gold);background:rgba(168,137,90,.08)}
.mode-simple .settings-stage{margin-top:8px;min-height:280px}
.mode-simple .settings-stage .sh{font:400 22px/1.2 var(--serif);margin:8px 0 14px;text-align:center}

.mode-simple .sedit-add{margin:8px 0 22px;padding:18px 16px;text-align:left}
.mode-simple .sedit-del{margin-top:12px;color:var(--warn);border-color:rgba(168,80,60,.35)}
.mode-simple .sedit-del:hover{background:rgba(168,80,60,.08)}


/* Simple home · live wait status */
.mode-simple .wait-live{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  max-width:420px;margin:8px auto 0;padding:28px 20px 24px;
  text-decoration:none;color:var(--ink);text-align:center;
  border:1px solid var(--gold);background:transparent;
  transition:background .15s,border-color .15s;
}
.mode-simple .wait-live:hover{background:rgba(168,137,90,.06)}
.mode-simple .wait-live.dim{opacity:.55}
.mode-simple .wait-live-eyebrow{
  font:500 10px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;
}
.mode-simple .wait-live-main{
  font:400 28px/1.25 var(--serif);letter-spacing:.01em;color:var(--ink);
}
.mode-simple .wait-live-main b{font-weight:500;color:var(--ink)}
.mode-simple .wait-live-rule{
  display:block;width:48px;height:1px;background:var(--gold);opacity:.85;margin:16px auto;
}
.mode-simple .wait-live-sub{
  font:400 15px/1.4 var(--serif);letter-spacing:.04em;color:var(--ink-2);
}
.mode-simple .wait-live-sub b{font-weight:500;color:var(--ink)}
@media(max-width:560px){
  .mode-simple .wait-live{max-width:420px;padding:24px 16px 20px;margin-top:4px}
  .mode-simple .wait-live-main{font-size:24px}
}

.mode-simple header.top .mark.sc-only{display:inline-flex;align-items:center;text-decoration:none}
.mode-simple header.top .mark.sc-only small{display:none}
.mode-simple header.top .mark.sc-only .sc-sig{font:400 18px/1 var(--serif);gap:.42em}
.mode-simple header.top .mark.sc-only .sc-name{color:var(--ink)}
.mode-simple header.top .mark.sc-only .sc-dia,.mode-simple header.top .mark.sc-only .sc-lv{color:var(--gold)}

.mode-simple header.top .mark.sc-sig{
  display:inline-flex;align-items:baseline;gap:.42em;text-decoration:none;
  font:400 18px/1 var(--serif);letter-spacing:.02em;
}
.mode-simple header.top .mark.sc-sig .sc-name{color:var(--ink)}
.mode-simple header.top .mark.sc-sig .sc-dia,
.mode-simple header.top .mark.sc-sig .sc-lv{color:var(--gold)}
.mode-simple header.top .mark.sc-sig .sc-dia{font-size:.78em;font-weight:300;transform:translateY(-.08em);display:inline-block}
.mode-simple .hdr-controls{display:inline-flex;align-items:center;gap:6px}
.mode-simple .hdr-chip{
  appearance:none;background:transparent;border:1px solid transparent;color:var(--ink);
  min-width:36px;height:36px;padding:0 8px;border-radius:999px;cursor:pointer;
  font:500 11px/1 var(--sans);letter-spacing:.08em;
  transition:border-color .15s,background .15s;
}
.mode-simple .hdr-chip:hover{border-color:var(--gold);background:rgba(168,137,90,.06)}
body.text-lg{font-size:17px}
body.text-lg .mode-simple .hero.simple h1{font-size:48px}
body.text-lg .mode-simple .wait-live-main{font-size:32px}
body.text-lg .home-acts.simple .act-k{font-size:15px}
body.text-xl{font-size:18.5px}
body.text-xl .mode-simple .hero.simple h1{font-size:52px}
body.text-xl .mode-simple .wait-live-main{font-size:34px}
body.text-xl .home-acts.simple .act-k{font-size:16px}

body.mode-simple.text-lg #app{zoom:1.15}
body.mode-simple.text-xl #app{zoom:1.25}


/* Today stats — quiet luxury */
.stats-grid, .stats-strip{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  margin:8px 0 22px;
}
.stat-card{
  background:var(--paper, #f7f1e6);
  border:1px solid rgba(168,137,90,.45);
  padding:18px 16px 16px;
  text-align:center;
}
.stat-lab{
  font:500 10px/1 var(--sans);
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold, #a8895a); margin-bottom:10px;
}
.stat-val{
  font:400 28px/1.15 var(--serif);
  color:var(--ink, #1a1714);
  letter-spacing:.01em;
}
.stat-sub{
  margin-top:8px;
  font:400 12px/1.35 var(--sans);
  color:var(--mute, #7a7368);
}
.board .stats-strip{ margin:0 0 18px; }
@media(max-width:720px){
  .stats-grid, .stats-strip{ grid-template-columns:1fr 1fr; }
  .stat-val{ font-size:24px; }
}
@media(max-width:420px){
  .stats-grid, .stats-strip{ grid-template-columns:1fr; }
}


/* Hub i18n + beauty SOURCE-OF-TRUTH header (sitecraft-reserve style.css) */
html[lang=en] .ko,html[lang=ko] .en{display:none!important}
body.hub-site header.top{background:var(--paper);border-bottom:1px solid var(--hair);position:sticky;top:0;z-index:20}
/* Beauty: .wrap{max-width:1180px;padding:0 32px} + header.top .wrap{height:76px;gap:24px} */
body.hub-site header.top .hub-bar{
  max-width:1320px;width:100%;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  height:76px;gap:24px;
  padding:0 32px;box-sizing:border-box;
  flex-wrap:nowrap
}
/* Beauty: .mark{font:500 24px/1 var(--serif);letter-spacing:.04em} — ink on cream paper (not white) */
body.hub-site header.top .mark{font:500 24px/1 var(--serif);letter-spacing:.04em;color:var(--ink);text-decoration:none;white-space:nowrap}
body.hub-site header.top .mark small{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.34em;color:var(--gold);margin-top:7px;text-transform:uppercase;white-space:nowrap}
/* Beauty: nav{gap:26px} nav a{font-size:11.5px;letter-spacing:.2em} */
nav.hub-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-left:auto}
nav.hub-nav a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:4px 0;font-weight:500}
nav.hub-nav a.on{color:var(--ink);border-bottom:1px solid var(--gold)}
.lang{display:flex;border:1px solid var(--hair)}
.lang button{background:0;border:0;padding:6px 10px;font-size:11px;letter-spacing:.14em;cursor:pointer;color:var(--mute);font-family:inherit}
.lang button.on{background:var(--ink);color:var(--cream)}
html[lang=ko] body.hub-site .eyebrow,html[lang=ko] body.hub-site nav.hub-nav a,html[lang=ko] body.hub-site .btn,html[lang=ko] body.hub-site .demo-bar,html[lang=ko] body.hub-site .mark small,html[lang=ko] body.hub-site .pillar .go{letter-spacing:.06em}
@media(max-width:980px){
  body.hub-site header.top{position:static}
  body.hub-site header.top .hub-bar{height:auto;padding:14px 20px;flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:14px}
  nav.hub-nav{gap:14px;margin-left:0}
}

/* Hub door — beauty-style (Reserve) layout; content width = beauty .wrap 1180 */
.hub.wide{max-width:1180px;padding:0 32px;box-sizing:border-box}
.door-hero{display:grid;grid-template-columns:1.2fr .9fr;gap:36px;align-items:start;padding:48px 0 12px;text-align:left}
.door-hero h1{font-size:42px;margin:12px 0 14px}
.door-lede{margin:0;max-width:520px;font-size:15.5px;line-height:1.7}
.door-cta{flex-direction:row;flex-wrap:wrap;max-width:none;margin:22px 0 0}
.door-cta .btn{width:auto}
.btn.xl{padding:16px 28px;font-size:12px}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--cream)}
.btn.gold:hover{background:#947447;border-color:#947447;color:var(--cream)}
.hero-panel{background:var(--paper);border:1px solid var(--hair);padding:28px 26px;position:relative}
.hero-panel:before{content:"";position:absolute;inset:10px;border:1px solid var(--linen);pointer-events:none}
.hero-panel ul{list-style:none;padding:0;margin:0;position:relative}
.hero-panel li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--linen);font-size:14px}
.hero-panel li:last-child{border:0}
.hero-panel .note{color:var(--mute);font-size:12.5px;text-align:right}
.door-section{margin-top:48px}
.door-section h2{margin-top:10px}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hair);margin-top:22px}
.feat div{padding:24px 22px 24px 0;border-bottom:1px solid var(--hair)}
.feat b{font:500 18px var(--serif);display:block;margin-bottom:6px}
.feat span{font-size:13.5px;color:var(--ink-2);line-height:1.55}
.band.door-band{background:var(--ink);color:var(--cream);padding:48px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:56px}
.band.door-band h2{color:var(--cream);margin:8px 0 0;font-size:28px}
.band.door-band .btn{width:auto;background:var(--gold);border-color:var(--gold);color:var(--cream)}
@media(max-width:900px){
  .door-hero{grid-template-columns:1fr}
  .feat{grid-template-columns:1fr}
  .band.door-band{flex-direction:column;align-items:flex-start;padding:36px 28px}
  .door-hero h1{font-size:34px}
}


/* Hub verticals grid — mirror Reserve pillars, F&B only */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair);background:var(--paper)}
.pillar{padding:26px 22px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);text-decoration:none;color:inherit;transition:.25s;display:flex;flex-direction:column;gap:8px;min-height:210px}
.pillar:nth-child(4n){border-right:0}
.pillar:nth-last-child(-n+4){border-bottom:0}
.pillar:hover{background:var(--cream)}
.pillar .no{font:400 12px var(--serif);color:var(--gold);letter-spacing:.22em}
.pillar h3{font:400 22px/1.2 var(--serif);margin:0}
.pillar p{font-size:13px;color:var(--mute);flex:1;margin:0;line-height:1.55}
.pillar .note{font-size:11px;letter-spacing:.08em;color:var(--gold);text-transform:none}
.pillar .go{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
@media(max-width:900px){
  .pillars{grid-template-columns:1fr 1fr}
  .pillar:nth-child(4n){border-right:1px solid var(--hair)}
  .pillar:nth-child(2n){border-right:0}
  .pillar:nth-last-child(-n+4){border-bottom:1px solid var(--hair)}
  .pillar:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:520px){
  .pillars{grid-template-columns:1fr}
  .pillar{border-right:0;min-height:0}
  .pillar:nth-last-child(-n+2){border-bottom:1px solid var(--hair)}
  .pillar:last-child{border-bottom:0}
}
