/* Ember & Oak: catalogue grid, nightlife indigo */
:root{--ground:#0D0B1E;--surface:#17142F;--surface2:#211D42;--line:#2E2958;--ink:#F3EEE6;--muted:#ABA5CE;--primary:#8E7DFF;--accent:#FF8A4C;--glow:0 0 6px rgba(142,125,255,.85),0 0 22px rgba(142,125,255,.45);--r:6px;--wrap:1280px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.6 Karla,system-ui,sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(60vw 40vw at 85% -10%,rgba(142,125,255,.16),transparent 60%),radial-gradient(50vw 40vw at -10% 110%,rgba(255,138,76,.10),transparent 60%)}
img{max-width:100%;display:block}
a{color:var(--ink)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800}
p{margin:0 0 1em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--ground);padding:10px 16px;border-radius:4px;font-weight:700}
.skip:focus{top:60px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media(min-width:900px){.wrap{padding:0 32px}}
.kick{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.6em}
.kick a{color:inherit}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.sm{font-size:.88rem;color:var(--muted)}
.neon,.neon-s,.logo-t,.ftr-logo{font-family:Monoton,Karla,sans-serif;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#F6F3FF;text-shadow:var(--glow)}
.neon{font-size:clamp(2.2rem,7vw,4.4rem);line-height:1.08}
.neon.big{font-size:clamp(3rem,13vw,8.5rem);line-height:.98}
.neon.big span{color:var(--accent);text-shadow:0 0 8px rgba(255,138,76,.9),0 0 26px rgba(255,138,76,.5);margin:0 .08em}
.neon-s{font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.15}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:999px;border:2px solid transparent;font:700 1rem Karla,sans-serif;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn-ember{background:var(--accent);color:var(--ground)}
.btn-ember:hover{color:var(--ground);box-shadow:0 0 0 4px rgba(255,138,76,.25),0 0 24px rgba(255,138,76,.45);transform:translateY(-1px)}
.btn-line{border-color:var(--primary);color:var(--ink);background:transparent}
.btn-line:hover{background:rgba(142,125,255,.14);color:var(--ink);box-shadow:var(--glow)}
.btn-sm{min-height:40px;padding:0 16px;font-size:.92rem}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.2em}
/* header: compact */
.hdr{position:sticky;top:0;z-index:50;background:rgba(13,11,30,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .25s}
.hdr-in{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:18px;height:60px;padding:0 16px;transition:height .25s}
.hdr.cond .hdr-in{height:50px}
.hdr.cond{background:rgba(13,11,30,.98)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.mk{width:34px;height:34px}
.logo-t{font-size:1.15rem;text-shadow:0 0 6px rgba(142,125,255,.7)}
.logo-t i,.ftr-logo i{font-style:normal;color:var(--accent);text-shadow:0 0 8px rgba(255,138,76,.8);margin:0 .1em}
.nav{flex:1;display:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;justify-content:center}
.nav a{display:block;padding:8px 10px;font-size:.92rem;font-weight:500;text-decoration:none;color:var(--muted);border-radius:4px}
.nav a:hover,.nav a[aria-current]{color:var(--ink);background:var(--surface2)}
.nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}
.hdr-act{margin-left:auto;display:flex;align-items:center;gap:10px}
.open-now{display:none;font-size:.8rem;color:var(--muted);white-space:nowrap}
.open-now::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#5EE0A0;margin-right:6px;box-shadow:0 0 8px #5EE0A0}
.cart-btn{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.cart-btn .ic{width:22px;height:22px}
.cart-n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:var(--ground);font-size:.75rem;font-weight:800;display:grid;place-items:center;padding:0 5px}
.menu-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center}
.menu-btn span[aria-hidden]{display:block;width:18px;height:2px;background:var(--ink)}
.hide-s{display:none}
@media(min-width:720px){.hide-s{display:inline-flex}}
@media(min-width:1180px){.nav{display:block}.menu-btn{display:none}.open-now{display:inline}}
.mmenu{position:fixed;inset:0;z-index:2147483646;background:rgba(13,11,30,.98);overflow:auto}
.mmenu-in{padding:64px 20px 32px;max-width:520px;margin:0 auto}
.mmenu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.mclose{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--primary);background:none;color:var(--ink);font:700 1rem Karla,sans-serif;cursor:pointer}
.mmenu ul{list-style:none;padding:0;margin:0 0 24px}
.mmenu li a{display:block;padding:12px 0;font-size:1.35rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
.mmenu li a[aria-current]{color:var(--accent)}
/* bottom bar on phones */
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(23,20,47,.97);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.bbar a,.bbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;color:var(--muted);text-decoration:none;font:600 .72rem Karla,sans-serif;background:none;border:0;cursor:pointer}
.bbar .ic{width:22px;height:22px}
.bbar .bb-main{color:var(--accent)}
.bbar b{color:var(--accent)}
body{padding-bottom:58px}
.wa{display:none}
@media(min-width:900px){.bbar{display:none}body{padding-bottom:0}.wa{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;border-radius:999px;background:#1FAF62;color:#062814;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.4)}.wa svg{width:22px;height:22px}.wa:hover{color:#062814}}
/* photos */
.ph{margin:0;background:linear-gradient(135deg,#2A2452,#3B2238);border-radius:var(--r);overflow:hidden;position:relative}
.ph img{width:100%;height:100%;object-fit:cover}
.ph[data-lb]{cursor:zoom-in}
.cap{font-size:.85rem;color:var(--muted);margin-top:.6em}
/* hero */
.hero{position:relative;min-height:clamp(520px,78vh,760px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-ph{position:absolute;inset:0}
.hero-ph .ph{border-radius:0;height:100%}
.hero-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,30,.55) 0%,rgba(13,11,30,.6) 40%,rgba(13,11,30,.96) 100%),linear-gradient(90deg,rgba(13,11,30,.85),transparent 70%)}
.hero-in{position:relative;padding-top:60px;padding-bottom:40px;width:100%}
.hero .lead{color:#D8D3EE}
.qbook{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin-top:22px;padding:12px;border:1px solid var(--line);background:rgba(23,20,47,.85);border-radius:14px;backdrop-filter:blur(6px)}
.qbook label{display:flex;flex-direction:column;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;gap:4px;min-width:0}
.qbook .btn{grid-column:1/-1}
@media(min-width:640px){.qbook{grid-template-columns:1fr 1fr auto;align-items:end}.qbook .btn{grid-column:auto}}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:8px;min-height:46px;padding:10px 12px;width:100%;max-width:100%}
textarea{min-height:110px}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid var(--primary);outline-offset:0}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none}
input[type=range]{padding:0;min-height:44px;background:none;border:0;accent-color:var(--accent)}
::placeholder{color:#8580A8}
/* flicker */
@keyframes flick{0%,19%,21%,23%,25%,54%,56%,100%{opacity:1}20%,24%,55%{opacity:.35}}
.js [data-flicker]{animation:flick 2.4s linear 1 .3s}
@media(prefers-reduced-motion:reduce){.js [data-flicker]{animation:none}}
/* catalogue */
.cat-sec{padding:40px 0 56px}
.cat-top{display:flex;flex-direction:column;gap:14px}
.cat-tools{display:flex;flex-direction:column;gap:12px}
@media(min-width:1000px){.cat-top{flex-direction:row;align-items:flex-end;justify-content:space-between}.cat-tools{flex-direction:row;align-items:center}}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.chip{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:700 .9rem Karla,sans-serif;cursor:pointer;white-space:nowrap}
.chip:hover{color:var(--ink);border-color:var(--primary)}
.chip.on{background:var(--primary);color:var(--ground);border-color:var(--primary);box-shadow:var(--glow)}
.search input{min-width:0;width:100%;padding-left:40px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ABA5CE' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") no-repeat 12px center/18px;border-radius:999px}
@media(min-width:1000px){.search input{width:260px}}
.count{font-size:.85rem;color:var(--muted);margin:14px 0 12px}
.empty{padding:30px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-auto-flow:dense}
@media(min-width:760px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px}}
@media(min-width:1180px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.tl a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:200px;border-radius:var(--r);overflow:hidden;text-decoration:none;border:1px solid var(--line);background:var(--surface);transition:border-color .2s,box-shadow .25s}
.tl a:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 26px rgba(255,138,76,.28);color:var(--ink)}
.tl-ph{position:absolute;inset:0;border-radius:0}
.tl-ph img{transition:transform .6s}
.tl a:hover .tl-ph img{transform:scale(1.06)}
.has-ph a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(13,11,30,.92) 88%)}
.tl-b{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:14px}
.tl-c{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.tl-t{font-weight:800;font-size:1.05rem;line-height:1.2}
.tl-l{font-size:.85rem;color:#D8D3EE;line-height:1.35}
.tl-art{position:absolute;top:14px;right:14px;color:var(--primary);filter:drop-shadow(0 0 6px rgba(142,125,255,.8))}
.no-ph a{background:linear-gradient(160deg,var(--surface2),var(--surface))}
.ic-big{width:56px;height:56px}
@media(min-width:760px){.tl.w2{grid-column:span 2}.tl.h2{grid-row:span 2}.tl.h2 .tl-t{font-size:1.6rem}}
/* cut guide */
.cg-teaser{padding:56px 0;background:var(--surface);border-block:1px solid var(--line)}
.cg-grid,.cg-big{display:grid;gap:28px;align-items:center}
@media(min-width:960px){.cg-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.cg-big{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.steer{width:100%;height:auto;overflow:visible}
.steer .body-x path,.steer .body-x rect{fill:#2B2650;stroke:#2B2650}
.steer .body-x path[fill=none]{fill:none}
.steer .rg path{fill:#221E44;stroke:var(--primary);stroke-width:1.6;transition:fill .25s,filter .25s}
.steer .rg text{font:700 11.5px Karla,sans-serif;fill:var(--muted);text-anchor:middle;pointer-events:none;letter-spacing:.04em}
.steer .rg{cursor:pointer;outline:none}
.steer .rg:hover path,.steer .rg:focus-visible path{fill:#3A3270}
.steer .rg.on path{fill:var(--accent);filter:drop-shadow(0 0 8px rgba(255,138,76,.8))}
.steer .rg.on text{fill:var(--ground)}
.steer.static .rg{cursor:default}
.cg-out{margin:18px 0;padding:16px;border-left:3px solid var(--accent);background:var(--surface2);border-radius:0 var(--r) var(--r) 0}
.cg-out dt{font-weight:800;font-size:1.1rem}
.cg-out dd{margin:4px 0 0;color:var(--muted)}
.cg-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.cg-panel h2{font-size:1.8rem}
.cg-meters{display:grid;gap:10px;margin:16px 0}
.cg-meters div{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}
.cg-meters dt{font-size:.9rem;color:var(--muted)}
.cg-meters dd{margin:0}
.meter{display:block;height:8px;border-radius:4px;background:var(--surface2);overflow:hidden}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:4px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.cg-on{font-size:.95rem}
.cg-on b{color:var(--accent)}
/* doneness */
.done{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.done{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rng{display:flex;flex-direction:column;gap:6px;font-weight:700;margin-top:10px}
.done-scale{list-style:none;padding:0;margin:0;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}
.done-scale li{flex:1;text-align:center}
.done-scale li:first-child{text-align:left}.done-scale li:last-child{text-align:right}
.steak-x{width:100%;max-width:440px;height:auto;display:block;margin:0 auto}
.steak-x .sx-core{transform-origin:150px 98px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.steak-x .sx-core ellipse,.steak-x .sx-band{transition:fill .5s}
.done-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}
.done-out div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.done-out .w{grid-column:1/-1}
.done-out dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.done-out dd{margin:2px 0 0;font-weight:700}
/* tables */
.tbl-box{position:relative;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl caption{text-align:left;font-weight:800;padding:12px 14px;font-size:1.1rem}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl thead th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface)}
.cmp{min-width:680px}
.pips{display:inline-flex;gap:3px}
.pips i{width:14px;height:8px;border-radius:2px;background:var(--surface2)}
.pips i.on{background:var(--accent)}
/* sections */
.sec{padding:56px 0}
.sec.tight{padding-top:28px}
.sec.alt{background:var(--surface);border-block:1px solid var(--line)}
.sec-h{margin-bottom:24px}
.phead{padding:44px 0 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface),transparent)}
.two{display:grid;gap:32px}
@media(min-width:900px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.two>div>.ph+.ph{margin-top:12px}
.cards3{display:grid;gap:12px}
@media(min-width:760px){.cards3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cards1{display:grid;gap:12px}
@media(min-width:600px){.cards1{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.sec.alt .card{background:var(--ground)}
.card .ic{width:30px;height:30px;color:var(--accent);margin-bottom:8px}
.card h3{font-size:1.1rem}
.card p:last-child{margin:0}
.card.lnk{text-decoration:none;display:block;transition:border-color .2s}
.card.lnk:hover{border-color:var(--accent)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media(min-width:760px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.sec>.wrap>.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
.steps li{border-top:2px solid var(--primary);padding:16px 4px 4px}
.steps b{font-family:Monoton,sans-serif;font-weight:400;font-size:1.6rem;color:var(--accent);display:block;margin-bottom:6px}
.steps h3{font-size:1.1rem}
.steps p{color:var(--muted);margin:0}
.stats{padding:44px 0;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(142,125,255,.08),rgba(255,138,76,.06))}
.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media(min-width:900px){.stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat-row b{display:block;font-family:Monoton,sans-serif;font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);color:#F6F3FF;text-shadow:var(--glow);line-height:1.1}
.stat-row span{font-size:.92rem;color:var(--muted)}
.marq{overflow:hidden;border-bottom:1px solid var(--line);background:var(--accent);color:var(--ground)}
.marq-in{display:flex;gap:48px;width:max-content;padding:14px 0;font-weight:800;white-space:nowrap;animation:marq 48s linear infinite}
.marq-in span::before{content:"\2726";margin-right:48px}
@keyframes marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marq-in{animation:none;flex-wrap:wrap;width:auto;white-space:normal;padding:14px 16px}}
.revs{display:grid;gap:12px}
@media(min-width:900px){.revs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rev{margin:0;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface2);display:flex;flex-direction:column}
.sec>.wrap+.revs,main>.revs{max-width:var(--wrap);margin:0 auto;padding:40px 16px}
.stars{color:var(--accent);letter-spacing:3px;margin-bottom:8px}
.rev footer{margin-top:auto;font-size:.88rem;color:var(--muted);font-weight:700}
.visit-strip{padding:56px 0;border-top:1px solid var(--line)}
.vs-grid{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.vs-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.map{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);display:block}
.hrs{list-style:none;padding:0;margin:0 0 1em}
.hrs li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.hrs.big li{font-size:1rem;padding:10px 0}
.cta{padding:56px 0;background:radial-gradient(80% 140% at 100% 0%,rgba(255,138,76,.18),transparent 60%),var(--surface);border-top:1px solid var(--line)}
.cta-in{display:grid;gap:18px;align-items:center}
@media(min-width:900px){.cta-in{grid-template-columns:minmax(0,1fr) auto}}
.cta p{color:var(--muted);margin:0}
/* menu */
.mtools{display:flex;flex-direction:column;gap:12px;position:static;top:60px;z-index:20;background:rgba(13,11,30,.96);padding:10px 0;border-bottom:1px solid var(--line)}
.mtools-r{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.togs{border:0;margin:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:6px}
.tog{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;cursor:pointer;background:var(--surface)}
.tog:has(input:checked){border-color:var(--accent);color:var(--accent)}
.tog input{width:16px;height:16px}
.sort select{min-height:44px;border-radius:999px;width:auto}
.mtools .search{flex:1;min-width:200px}
@media(min-width:900px){.mtools{position:sticky}}
@media(min-width:1100px){.mtools{flex-direction:row;justify-content:space-between;align-items:center}.mtools .search{flex:none}}
.mgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(min-width:760px){.mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.mgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mc{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.mc:hover{border-color:var(--primary)}
.mc-ph{border-radius:0}
.mc-art{aspect-ratio:4/3;display:grid;place-items:center;color:var(--primary);background:repeating-linear-gradient(135deg,var(--surface2) 0 12px,var(--surface) 12px 24px);filter:drop-shadow(0 0 6px rgba(142,125,255,.5))}
.mc-b{padding:12px;display:flex;flex-direction:column;flex:1}
.mc h3{font-size:1rem;margin-bottom:4px}
.mc p{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.mc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.tg{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:3px;background:var(--surface2);color:var(--muted)}
.tg-chef{color:var(--accent)}.tg-spicy{color:#FF9C9C}.tg-adult{color:#FFD27A}
.mc-f{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.price{font-weight:800;color:var(--ink)}
.add{min-height:44px;min-width:64px;padding:0 14px;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--accent);font:800 .9rem Karla,sans-serif;cursor:pointer}
.add:hover,.add.done{background:var(--accent);color:var(--ground)}
@media(max-width:480px){.mc p{display:none}.mc-tags{display:none}.mc h3{font-size:.92rem}}
/* cart */
.scrim{position:fixed;inset:0;background:rgba(5,4,14,.7);z-index:2147483640}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:2147483645;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:60px 18px 12px;border-bottom:1px solid var(--line)}
.cart-head h2{margin:0}
.cart-x{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink);font:700 .95rem Karla,sans-serif;cursor:pointer}
.cart-body{padding:12px 18px}
.cart-list{list-style:none;margin:0;padding:0}
.cart-list li{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface2);color:var(--ink);cursor:pointer;font-size:1.1rem}
.cart-foot{padding:12px 18px 24px;border-top:1px solid var(--line);display:grid;gap:12px;margin-top:auto}
.cart-foot label,.form label,.wiz label:not(.opt):not(.area):not(.chk),.calc label:not(.opt){display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.92rem}
.cart-sum{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0}
.cart-sum dd{margin:0;text-align:right}
.cart-sum .tot{font-weight:800;font-size:1.1rem;color:var(--accent)}
.cart-empty{color:var(--muted)}
/* forms */
.form{display:grid;gap:14px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:22px}
.sec.alt .form{background:var(--ground)}
.row2{display:grid;gap:12px}
@media(min-width:560px){.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}
.form.inline{max-width:760px}
.thanks{padding:16px;border:1px solid #5EE0A0;border-radius:var(--r);background:rgba(94,224,160,.08)}
.thanks h3{color:#5EE0A0}
.err-msg{color:#FF9C9C;font-size:.85rem;font-weight:600}
.invalid{border-color:#FF9C9C!important}
.err{color:#FF9C9C;font-weight:700}
fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}
legend{font-weight:800;font-size:1.05rem;margin-bottom:10px;padding:0}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;margin:0 6px 6px 0;border:1px solid var(--line);border-radius:999px;cursor:pointer;background:var(--surface2);font-weight:600}
.opt:has(input:checked){border-color:var(--accent);color:var(--accent)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
/* booking */
.bk-wrap{display:grid;gap:24px}
@media(min-width:1000px){.bk-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.bk-side{position:sticky;top:80px}}
.bk-side{display:grid;gap:12px}
.bk-side h2{font-size:1.1rem}
.bk-sum{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
.bk-sum dt{color:var(--muted)}
.bk-sum dd{margin:0;font-weight:700;text-align:right}
.wiz{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:16px}
.wiz-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:s}
.wiz-steps li{counter-increment:s;font-size:.78rem;font-weight:700;color:var(--muted);border-top:3px solid var(--line);padding-top:8px}
.wiz-steps li::before{content:counter(s) ". "}
.wiz-steps li.on{color:var(--ink);border-color:var(--accent)}
.wiz-steps li.done{border-color:var(--primary)}
.inl{flex-direction:row!important;align-items:center;gap:12px!important;margin-bottom:12px}
.inl select{width:auto}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:800}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-g .dow{font-size:.7rem;text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 0}
.day{min-height:52px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);font:700 .95rem Karla,sans-serif;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px}
.day small{font-size:.62rem;font-weight:600;color:var(--muted)}
.day.open{border-color:rgba(94,224,160,.5)}
.day.few{border-color:rgba(255,210,122,.7)}
.day.few small{color:#FFD27A}
.day.full,.day.shut{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.day.sel{background:var(--accent);color:var(--ground);border-color:var(--accent)}
.day.sel small{color:var(--ground)}
.key{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:10px}
.k{display:inline-block;width:12px;height:12px;border-radius:3px;border:2px solid;margin-right:-8px}
.k.open{border-color:#5EE0A0}.k.few{border-color:#FFD27A}.k.full{border-color:var(--line);background:var(--line)}.k.shut{border-color:var(--line)}
.sel{font-weight:800;color:var(--accent)}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}
@media(min-width:640px){.slots{grid-template-columns:repeat(6,minmax(0,1fr))}}
.slot{min-height:46px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);font:700 .92rem Karla,sans-serif;cursor:pointer}
.slot[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.slot.sel{background:var(--accent);color:var(--ground);border-color:var(--accent)}
.areas{display:grid;gap:8px}
@media(min-width:640px){.areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.area{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface2)}
.area input{grid-row:span 2;margin-top:3px}
.area span{font-size:.85rem;color:var(--muted)}
.area:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.occ{margin-bottom:10px}
.wstep>label{margin-bottom:12px}
.deposit{padding:14px;border:1px solid #FFD27A;border-radius:10px;background:rgba(255,210,122,.07);margin-bottom:12px}
.deposit h3{color:#FFD27A;font-size:1rem}
.wiz-nav{display:flex;gap:10px;justify-content:flex-end}
/* details */
.dhero{position:relative;min-height:clamp(440px,64vh,620px);display:flex;align-items:flex-end;border-bottom:1px solid var(--line);overflow:hidden}
.dh-ph{position:absolute;inset:0}
.dh-ph .ph{height:100%;border-radius:0}
.dh-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,30,.45),rgba(13,11,30,.95) 85%)}
.dh-in{position:relative;padding-bottom:36px;padding-top:40px;width:100%}
.dh-in .lead{color:#D8D3EE}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(min-width:900px){.specs{grid-template-columns:repeat(6,minmax(0,1fr))}}
.specs div{background:var(--surface);padding:14px}
.specs span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.specs b{font-size:1rem}
.steer-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.pair{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:8px}
.pair li{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.pair .ic{width:22px;height:22px;color:var(--accent)}
.rels{display:grid;gap:12px}
.rel{display:flex;flex-direction:column;gap:2px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--ground);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.rel:hover{border-color:var(--accent);box-shadow:0 0 22px rgba(255,138,76,.2)}
.rel b{font-size:1.3rem}
.rel span:last-child{color:var(--muted)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:700;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.4rem;color:var(--accent)}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--muted)}
/* private */
.rooms{display:grid;gap:12px}
@media(min-width:900px){.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}}
.room{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.room .ph{border-radius:0}
.room>div:last-child{padding:18px}
.room h2{font-size:1.4rem}
.room-art{aspect-ratio:4/3;display:grid;place-items:center;color:var(--accent);background:radial-gradient(circle,rgba(255,138,76,.25),transparent 60%),var(--surface2)}
.calc{display:grid;gap:14px;background:var(--ground);border:1px solid var(--line);border-radius:12px;padding:22px}
.calc output{color:var(--accent);font-weight:800}
.calc-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.calc-out div{background:var(--surface2);border-radius:var(--r);padding:10px 12px}
.calc-out div:nth-last-child(-n+2){border:1px solid var(--accent)}
.calc-out div:last-child{grid-column:1/-1}
.calc-out dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.calc-out dd{margin:2px 0 0;font-weight:800;font-size:1.1rem}
.menus{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.menus li{padding:16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);background:var(--ground)}
.menus h3{font-size:1.05rem}
.menus p{margin:0;color:var(--muted)}
.tline{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.tline li{position:relative;padding:0 0 22px 32px;border-left:2px solid var(--line);margin-left:8px}
.tline li::before{content:"";position:absolute;left:-8px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(255,138,76,.7)}
.tline b{font-family:Monoton,sans-serif;font-weight:400;color:#F6F3FF;font-size:1.2rem}
.tline p{color:var(--muted);margin:4px 0 0}
@media(min-width:1000px){.tline{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:16px}.tline li{border-left:0;border-top:2px solid var(--line);padding:22px 0 0;margin:0}.tline li::before{top:-8px;left:0}}
/* people */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
@media(min-width:900px){.people{grid-template-columns:repeat(4,minmax(0,1fr))}}
.person{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.mono{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-family:Monoton,sans-serif;font-size:1.3rem;color:var(--ground);background:linear-gradient(135deg,var(--primary),var(--accent));margin-bottom:12px}
.person h3{font-size:1.05rem;margin-bottom:2px}
.person p:last-child{color:var(--muted);font-size:.9rem;margin:0}
/* gallery */
.gal{list-style:none;margin:16px 0 0;padding:0;columns:2 160px;column-gap:8px}
@media(min-width:900px){.gal{columns:4}}
.gal li{break-inside:avoid;margin-bottom:8px}
.gal .ph{aspect-ratio:4/5}
.gal .gi-1 .ph,.gal .gi-3 .ph{aspect-ratio:1/1}
.gal .gi-4 .ph{aspect-ratio:3/4}
.lb{position:fixed;inset:0;z-index:2147483646;background:rgba(5,4,14,.95);display:flex;align-items:center;justify-content:center;padding:60px 16px}
.lb img{max-height:80vh;max-width:min(1100px,100%);border-radius:var(--r);background:var(--surface2);min-width:200px;min-height:160px}
.lb button{position:absolute;min-width:48px;min-height:48px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 1.3rem Karla,sans-serif;cursor:pointer}
.lb-x{top:60px;right:16px;font-size:1rem!important;padding:0 16px}
.lb-p{left:12px;top:50%}.lb-n{right:12px;top:50%}
.lb-c{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:var(--muted)}
/* journal */
.jgrid{display:grid;gap:16px}
@media(min-width:900px){.jgrid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.jpost a{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%}
.jpost a:hover{border-color:var(--accent);color:var(--ink)}
.jpost .ph{border-radius:0}
.jpost .kick,.jpost h2,.jpost p{padding:0 18px}
.jpost .kick{display:block;margin-top:16px}
.jpost h2{font-size:1.4rem}
.jpost.big h2{font-size:1.8rem}
.jpost p{color:var(--muted);padding-bottom:18px}
.art-h{padding:44px 0 28px;border-bottom:1px solid var(--line)}
.art-h .neon{font-size:clamp(1.8rem,5vw,3.2rem)}
.by{font-size:.88rem;color:var(--muted)}
.art-grid{display:grid;gap:32px;padding-top:36px;padding-bottom:48px}
@media(min-width:960px){.art-grid{grid-template-columns:minmax(0,1fr) 320px}.art-side{position:sticky;top:80px;align-self:start}}
.art-body{max-width:70ch}
.art-s{margin-bottom:28px}
.art-s h2{font-size:1.45rem;color:var(--accent)}
.art-s p{font-size:1.06rem;line-height:1.75}
.art-side{display:grid;gap:12px}
.nums{list-style:none;padding:0;margin:0}
.nums li{padding:6px 0;border-bottom:1px dashed var(--line)}
.nums b{font-family:Monoton,sans-serif;font-weight:400;color:var(--accent);margin-right:6px}
.dirs{padding-left:18px}
.dirs li{margin-bottom:10px}
.dirs b{display:block}
/* footer */
.ftr{background:#08071A;border-top:1px solid var(--line);padding:48px 0 24px}
.ftr-grid{display:grid;gap:28px}
@media(min-width:900px){.ftr-grid{grid-template-columns:2fr 1fr 1fr 1.3fr}}
.ftr-logo{font-size:1.8rem;margin-bottom:12px}
.ftr h2{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr ul:not(.hrs) li a{display:inline-block;padding:6px 0;color:var(--muted);text-decoration:none}
.ftr ul:not(.hrs) li a:hover{color:var(--ink)}
.ftr-base{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.82rem;color:var(--muted)}
.ftr-base p{margin:0}
@media(min-width:900px){.ftr{padding-bottom:90px}}
/* reveal */
.js .rv{opacity:0;transform:translateY(18px)}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
