/* ============================================================
   NIGHT MARKET — design mockup
   Palette: black + neon red (#E8254B from the CRM record), with
   an amber stall-lamp secondary. Real night markets are lit by
   more than one colour, so one neon would read as a nightclub.
   Concept "After the lights come on": a laneway of signage.
   Type: M PLUS 2 (Japanese-capable, from the brand font set) for
   text; Big Shoulders Display for signage-scale display.
   ============================================================ */

:root{
  --void:#08060A;
  --void-rgb:8,6,10;      /* header / bars, follows the theme */
  --shade-rgb:8,6,10;     /* overlays on photos, stays dark */
  --hero-dim:.44;
  --ink-on-accent:#0B0709;
  --slab:#100C13;
  --slab-2:#17111B;
  --edge:#291E2E;
  --edge-hot:#3E2E45;

  --bone:#F4EDF0;
  --smoke:#9A8D97;
  --smoke-dim:#665A6B;

  --neon:#E8254B;
  --neon-hot:#FF4C6D;
  --amber:#F5A524;
  --amber-hot:#FFC55E;
  --jade:#2FBF9E;

  --accent:var(--neon);
  --accent-hot:var(--neon-hot);
  --accent-rgb:232,37,75;

  --ff-display:"Big Shoulders Display","Arial Narrow",Arial,sans-serif;
  --ff-body:"M PLUS 2","Helvetica Neue",Arial,sans-serif;

  --pad:20px;
  --maxw:1280px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);
}
@media(min-width:900px){ :root{ --pad:clamp(28px,5vw,64px); } }

.t-amber{ --accent:var(--amber); --accent-hot:var(--amber-hot); --accent-rgb:245,165,36; }

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;padding-left:var(--safe-l);padding-right:var(--safe-r);
  padding-bottom:calc(64px + var(--safe-b));
  background:var(--void);color:var(--bone);
  font-family:var(--ff-body);font-size:16px;line-height:1.68;font-weight:300;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;
}
@media(min-width:900px){body{padding-bottom:0}}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-hot);outline-offset:3px;border-radius:2px}

/* ---------- type ---------- */
.display{font-family:var(--ff-display);font-weight:800;text-transform:uppercase;line-height:.88;letter-spacing:.005em;text-wrap:balance;margin:0}
.d-xl{font-size:clamp(3.4rem,15vw,11rem)}
.d-lg{font-size:clamp(2.3rem,7.5vw,5rem)}
.d-md{font-size:clamp(1.6rem,4vw,2.5rem)}
.neonword{
  color:var(--accent-hot);
  text-shadow:0 0 6px rgba(var(--accent-rgb),.85),0 0 22px rgba(var(--accent-rgb),.55),0 0 54px rgba(var(--accent-rgb),.3);
}
.eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke);margin:0 0 1.1rem;display:flex;align-items:center;gap:.7rem;font-weight:400}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);flex:none}
.lede{font-size:clamp(1rem,1.3vw,1.14rem);color:var(--smoke);max-width:56ch;margin:1.3rem 0 0}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
section{position:relative;padding-block:clamp(52px,9vh,116px)}

/* marquee — the site already uses these, done properly */
.marquee{overflow:hidden;border-block:1px solid var(--edge);padding-block:.75rem;background:var(--slab)}
.marquee-in{display:flex;gap:2.5rem;width:max-content;animation:slide 26s linear infinite}
@media (prefers-reduced-motion:reduce){.marquee-in{animation:none}}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee span{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;font-size:1.15rem;letter-spacing:.05em;color:var(--smoke-dim);white-space:nowrap}
.marquee span b{color:var(--neon-hot);font-weight:700}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:55;background:rgba(var(--void-rgb),.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--edge)}
.topin{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.brandmark{display:flex;align-items:center;gap:10px;min-height:44px}
.glyph{width:32px;height:32px;flex:none;border-radius:3px;position:relative;border:1.5px solid var(--neon);box-shadow:0 0 12px rgba(232,37,75,.6),inset 0 0 10px rgba(232,37,75,.35)}
.glyph::after{content:"";position:absolute;left:50%;top:18%;bottom:18%;width:1.5px;background:var(--neon);transform:translateX(-50%);box-shadow:0 0 8px rgba(232,37,75,.9)}
.wordmark{font-family:var(--ff-display);font-weight:800;text-transform:uppercase;font-size:1.5rem;letter-spacing:.03em;line-height:1}
.nav-ctas{display:flex;gap:8px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;
  padding:.66rem 1.25rem;border-radius:2px;border:1px solid var(--edge-hot);background:transparent;
  color:var(--bone);cursor:pointer;font-family:var(--ff-body);font-size:.74rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-align:center;
  transition:background .22s,border-color .22s,color .22s,box-shadow .22s,transform .1s;
}
.btn:active{transform:scale(.97)}
@media(hover:hover){.btn:hover{border-color:var(--accent-hot);box-shadow:0 0 22px -6px rgba(var(--accent-rgb),.8)}}
.btn-solid{background:var(--accent);border-color:var(--accent);color:var(--ink-on-accent)}
@media(hover:hover){.btn-solid:hover{background:var(--accent-hot);border-color:var(--accent-hot)}}
.btn-sm{min-height:42px;padding:.5rem 1rem;font-size:.74rem}
.hide-s{display:none}
@media(min-width:760px){.hide-s{display:inline-flex}}

.tabs{border-top:1px solid var(--edge);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabsin{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);display:flex;gap:2px;min-width:max-content}
.tab{appearance:none;border:0;background:transparent;cursor:pointer;font-size:.82rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--smoke-dim);padding:.85rem 1rem;position:relative;white-space:nowrap;min-height:44px;transition:color .2s}
.tab[aria-selected="true"]{color:var(--bone)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:1rem;right:1rem;bottom:0;height:2px;background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.8)}
@media(hover:hover){.tab:hover{color:var(--bone)}}

.page{display:none}
.page.on{display:block;animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.page.on{animation:none}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;min-height:min(84svh,780px);display:grid;align-items:end;padding-block:clamp(56px,9vh,100px) clamp(36px,6vh,68px)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(var(--shade-rgb),.90),rgba(var(--shade-rgb),.42) 18%,rgba(var(--shade-rgb),.26) 40%,rgba(var(--shade-rgb),.74) 72%,rgba(var(--shade-rgb),.99)),
    linear-gradient(90deg,rgba(var(--shade-rgb),.76),rgba(var(--shade-rgb),.24) 50%,transparent 76%);}
.hero .eyebrow{color:var(--bone)}
.hero .eyebrow::before{background:var(--neon-hot)}
.hero .lede{color:#E6DCE0}
.hero h1,.hero .lede,.hero .eyebrow{text-shadow:0 2px 20px rgba(var(--shade-rgb),.85)}
.hero{color:#F4EDF0;--bone:#F4EDF0}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.8rem}
.hero-actions .btn{flex:1 1 auto;min-width:150px}
@media(min-width:560px){.hero-actions .btn{flex:0 0 auto}}

/* ---------- offer cards ---------- */
.offers{display:grid;gap:14px}
@media(min-width:820px){.offers{grid-template-columns:1fr 1fr}}
.offer{
  position:relative;overflow:hidden;border:1px solid var(--edge);border-radius:2px;
  min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(22px,3vw,34px);isolation:isolate;transition:border-color .3s,transform .3s;
}
@media(hover:hover){.offer:hover{border-color:var(--accent);transform:translateY(-3px)}}
.offer canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.offer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 24%,rgba(var(--shade-rgb),.95))}
.offer .day{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-hot);margin:0 0 .6rem;font-weight:500}
.offer h3{margin:0 0 .7rem}
.offer{color:#F4EDF0;--bone:#F4EDF0;--smoke:#B0A3AE;--smoke-dim:#8E8189;--edge:#3E2E45}
.offer p{margin:0 0 1.1rem;color:var(--smoke);font-size:.92rem;max-width:44ch}
.offer .terms{font-size:.76rem;color:var(--smoke-dim);padding-top:.85rem;border-top:1px solid var(--edge);margin-bottom:1.1rem}

/* ---------- section head ---------- */
.shead{display:grid;gap:.9rem;margin-bottom:clamp(24px,4vw,48px)}
@media(min-width:900px){.shead{grid-template-columns:minmax(0,1fr) minmax(0,26ch);align-items:end;gap:clamp(24px,5vw,64px)}}
.shead p{margin:0;color:var(--smoke)}

/* ---------- menu ---------- */
.menu-cols{display:grid;gap:clamp(26px,3.4vw,52px)}
@media(min-width:860px){.menu-cols{grid-template-columns:1fr 1fr}}
.mgroup + .mgroup{margin-top:clamp(24px,3vw,40px)}
.mgroup h3{margin:0 0 .35rem;font-family:var(--ff-display);font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-hot)}
.mgroup .blurb{margin:0 0 1rem;font-size:.85rem;color:var(--smoke-dim);max-width:52ch}
.mlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--edge)}
.mitem{display:grid;grid-template-columns:1fr auto;gap:.3rem 1.2rem;align-items:baseline;padding:.72rem 0;border-bottom:1px solid rgba(41,30,46,.75)}
.mitem .nm{font-size:.97rem;font-weight:400;line-height:1.35}
.mitem .nm em{font-style:normal;color:var(--smoke-dim);font-size:.7rem;letter-spacing:.1em;margin-left:.45rem}
.mitem .nm small{display:block;color:var(--smoke);font-size:.83rem;margin-top:.2rem;font-weight:300}
.mitem .pr{font-size:.92rem;color:var(--accent-hot);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}
.mitem .pr.tbc{color:var(--amber)}

.placeholder{
  border:1px dashed var(--edge-hot);border-radius:2px;padding:clamp(20px,3vw,32px);
  background:var(--slab);text-align:center;
}
.placeholder h4{margin:0 0 .6rem;font-family:var(--ff-display);font-weight:700;font-size:1.3rem;text-transform:uppercase;color:var(--amber)}
.placeholder p{margin:0 auto;max-width:52ch;color:var(--smoke);font-size:.9rem}

/* ---------- packages ---------- */
.pk{display:grid;gap:14px}
@media(min-width:760px){.pk{grid-template-columns:repeat(3,1fr)}}
.pkc{border:1px solid var(--edge);background:linear-gradient(180deg,var(--slab-2),var(--slab));border-radius:2px;padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:.8rem;position:relative;overflow:hidden}
.pkc.feature{border-color:var(--accent)}
.pkc.feature::before{content:"";position:absolute;left:0;right:0;top:-60px;height:120px;background:radial-gradient(50% 100% at 50% 100%,rgba(var(--accent-rgb),.4),transparent 70%)}
.pkc > *{position:relative}
.pkc h3{margin:0;font-family:var(--ff-display);font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em}
.pkc .amt{color:var(--bone);font-size:1.5rem;font-variant-numeric:tabular-nums;margin:0;font-weight:500}
.pkc .amt small{font-size:.7rem;color:var(--smoke);letter-spacing:.1em;font-weight:400}
.pkc ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.pkc li{font-size:.86rem;color:var(--smoke);display:flex;gap:.55rem;align-items:flex-start}
.pkc li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:.55rem;flex:none}
.pkc .btn{margin-top:auto;width:100%}

/* ---------- spaces ---------- */
.fspaces{display:grid;gap:14px}
@media(min-width:680px){.fspaces{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.fspaces{grid-template-columns:repeat(3,1fr)}}
.fsp{border:1px solid var(--edge);background:var(--slab);border-radius:2px;overflow:hidden;display:flex;flex-direction:column}
.fsp-art{aspect-ratio:16/10;position:relative;background:var(--void)}
.fsp-art canvas{width:100%;height:100%;display:block}
.slot{position:absolute;left:10px;bottom:10px;z-index:2;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke-dim);background:rgba(var(--shade-rgb),.78);border:1px solid var(--edge);padding:.22rem .45rem;border-radius:2px}
.fsp-body{padding:1.05rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.fsp-body h3{margin:0;font-family:var(--ff-display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em}
.fsp-body p{margin:0;color:var(--smoke);font-size:.86rem}
.fsp-body .cap{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--edge);font-size:.74rem;color:var(--smoke-dim);display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.fsp-body .cap b{color:var(--bone);font-weight:500}
.fsp-body .cap .tbc{color:var(--amber)}

/* ---------- facts ---------- */
.facts{display:grid;gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:2px;overflow:hidden}
@media(min-width:700px){.facts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.facts{grid-template-columns:repeat(3,1fr)}}
.fact{background:var(--slab);padding:1.15rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}
.fact h4{margin:0;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke-dim)}
.fact p{margin:0;font-size:.9rem;color:var(--bone)}
.fact p small{display:block;color:var(--smoke);font-size:.82rem;margin-top:.28rem}

/* ---------- forms ---------- */
.formcard{border:1px solid var(--edge);background:var(--slab);border-radius:2px;padding:clamp(20px,3vw,36px)}
.field-grid{display:grid;gap:14px}
@media(min-width:620px){.field-grid{grid-template-columns:1fr 1fr}}
.f-full{grid-column:1/-1}
label.fl{display:block;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);margin-bottom:.4rem;font-weight:500}
label.fl .req{color:var(--accent-hot)}
.inp{width:100%;background:var(--void);border:1px solid var(--edge);border-radius:2px;color:var(--bone);padding:.78rem .85rem;font-family:var(--ff-body);font-size:16px;font-weight:300;min-height:48px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.inp::placeholder{color:var(--smoke-dim)}
.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2)}
textarea.inp{min-height:108px;resize:vertical}
select.inp{background-image:linear-gradient(45deg,transparent 50%,var(--smoke) 50%),linear-gradient(135deg,var(--smoke) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
.checkrow{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--smoke);min-height:44px;padding-block:.3rem}
.checkrow input{margin-top:.3rem;accent-color:var(--accent);width:20px;height:20px;flex:none}
.formnote{font-size:.72rem;color:var(--smoke-dim);margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--edge);line-height:1.7}
.hp{position:absolute;left:-9999px;width:0;height:0;overflow:hidden}

/* ---------- instagram ---------- */
.ig-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.ig-handle{display:flex;align-items:center;gap:.7rem;font-size:.88rem}
.ig-handle .av{width:38px;height:38px;border-radius:50%;flex:none;padding:2px;background:conic-gradient(from 200deg,var(--neon-hot),var(--amber),var(--jade),var(--neon-hot))}
.ig-handle .av i{display:block;width:100%;height:100%;border-radius:50%;background:var(--void)}
.ig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:560px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.ig-grid{grid-template-columns:repeat(6,1fr)}}
.ig-cell{aspect-ratio:1;position:relative;overflow:hidden;border:1px solid var(--edge);border-radius:2px;background:var(--void);display:block}
.ig-cell canvas{width:100%;height:100%;display:block}
.ig-cell .ov{position:absolute;inset:0;display:flex;align-items:flex-end;padding:.5rem;background:linear-gradient(180deg,transparent 48%,rgba(var(--shade-rgb),.9));font-size:.6rem;color:var(--smoke);line-height:1.35}
@media(hover:hover){.ig-cell .ov{opacity:0;transition:opacity .25s}.ig-cell:hover .ov{opacity:1}}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--edge);background:var(--slab);padding-block:clamp(40px,6vw,72px) calc(26px + var(--safe-b))}
.fgrid{display:grid;gap:clamp(24px,4vw,52px)}
@media(min-width:640px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.fgrid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.fcol h5{margin:0 0 .85rem;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke-dim)}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.fcol li a,.fcol li span{display:block;padding-block:.42rem;font-size:.87rem;color:var(--smoke)}
@media(hover:hover){.fcol li a:hover{color:var(--bone)}}
.fbottom{margin-top:clamp(28px,4vw,52px);padding-top:20px;border-top:1px solid var(--edge);display:flex;flex-wrap:wrap;gap:.7rem 1rem;justify-content:space-between;font-size:.68rem;color:var(--smoke-dim)}

.mobar{position:fixed;left:var(--safe-l);right:var(--safe-r);bottom:0;z-index:58;display:flex;gap:8px;padding:9px 12px calc(9px + var(--safe-b));background:rgba(var(--void-rgb),.95);backdrop-filter:blur(12px);border-top:1px solid var(--edge)}
.mobar .btn{flex:1}
@media(min-width:900px){.mobar{display:none}}


@media(min-width:900px){}



body.notes-on 

.rv{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.22,.8,.3,1),transform .65s cubic-bezier(.22,.8,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---- real photography ---- */
img.ph{display:block;object-fit:cover;background:#0a0a0f}
.hero img.ph{position:absolute;inset:0;width:100%;height:100%;z-index:0;filter:brightness(var(--hero-dim)) saturate(.94)}
.level img.ph,.sp img.ph,.offer img.ph,.venue img.ph{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.room-art img.ph,.ig-cell img.ph,.panel-art img.ph,.fsp-art img.ph,.space-art img.ph{width:100%;height:100%}
.brandlogo{height:20px;width:auto;display:block;flex:none}
@media(min-width:900px){.brandlogo{height:23px}}
.brandlogo.blend{mix-blend-mode:screen}
.footlogo{height:26px;width:auto;display:block;margin-bottom:1rem}
.footlogo.blend{mix-blend-mode:screen}

/* audit: mobile polish */
@media(max-width:640px){.cd span,.rail-mark,.lbl{font-size:max(11px,1em)}.tab{font-size:max(13px,1em)}}
