/* =========================================================
   JULI'S — Bar & Hookah   ·   "Warm Lounge" design system
   Espresso + cream + amber · Bricolage Grotesque + DM Sans · rounded, image-forward
   ========================================================= */

:root{
  /* dark surfaces (cool, neon-friendly) */
  --bg:        #09080f;
  --bg-2:      #0d0c16;
  --panel:     #13111e;
  --panel-hi:  #1b1832;

  /* elevated dark band (legacy name "cream") */
  --cream:     #0f0e1a;
  --cream-2:   #14121f;

  /* ink */
  --ink:       #eef0f8;
  --ink-soft:  #b7bbcf;
  --muted:     #888da6;
  --faint:     #5e6178;
  --ink-dk:    #eef0f8;
  --muted-dk:  #b7bbcf;

  /* NEON accents */
  --neon:      #2ff4dd;   /* electric cyan / turquoise */
  --neon-2:    #ff3d9a;   /* hot magenta-pink */
  --neon-3:    #8b5cff;   /* violet */
  --amber:     #2ff4dd;   /* alias → neon cyan */
  --amber-2:   #67ffe9;
  --amber-deep:#16b9a6;
  --gold:      #2ff4dd;   /* legacy alias → neon */

  /* neon glow */
  --glow:      0 0 14px rgba(47,244,221,0.55), 0 0 34px rgba(47,244,221,0.22);
  --glow-sm:   0 0 9px rgba(47,244,221,0.55);
  --tglow:     0 0 11px rgba(47,244,221,0.6), 0 0 26px rgba(47,244,221,0.3);
  --glow-pink: 0 0 14px rgba(255,61,154,0.5), 0 0 34px rgba(255,61,154,0.2);
  --tglow-pink:0 0 11px rgba(255,61,154,0.6), 0 0 26px rgba(255,61,154,0.3);

  /* lines */
  --line:      rgba(47,244,221,0.30);
  --line-soft: rgba(238,240,248,0.09);
  --line-dk:   rgba(238,240,248,0.10);

  /* type */
  --display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  --sans:    "DM Sans", "Helvetica Neue", Arial, sans-serif;

  /* shape */
  --r:    24px;
  --r-lg: 36px;
  --r-sm: 14px;
  --pill: 999px;

  --maxw: 1240px;
  --pad:  clamp(20px, 5vw, 60px);
  --shadow: 0 30px 70px -28px rgba(0,0,0,0.85);
  --shadow-amber: 0 0 22px rgba(47,244,221,0.45), 0 14px 40px -14px rgba(47,244,221,0.4);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--neon); color:#05121a; }

/* neon glow backdrop */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(48% 38% at 84% 4%, rgba(47,244,221,0.13), transparent 60%),
    radial-gradient(52% 42% at 4% 92%, rgba(255,61,154,0.11), transparent 60%),
    radial-gradient(42% 38% at 72% 98%, rgba(139,92,255,0.09), transparent 60%);
}

/* =========================================================
   Layout helpers
   ========================================================= */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }

.eyebrow{
  font-family:var(--sans); font-weight:600;
  font-size:.74rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--neon); text-shadow:var(--tglow); display:inline-flex; align-items:center; gap:.7em;
}
.eyebrow::before{ content:"✦"; font-size:.7em; color:var(--neon); text-shadow:var(--tglow); }
.eyebrow.center{ justify-content:center; }

h1,h2,h3,h4{ font-family:var(--display); font-weight:700; line-height:1.05; letter-spacing:-0.02em; }
.display{ font-size:clamp(2.7rem, 7vw, 5.6rem); font-weight:800; letter-spacing:-0.03em; }
.h2{ font-size:clamp(2rem, 4.6vw, 3.6rem); font-weight:700; }
.lede{ font-size:clamp(1.05rem,1.5vw,1.22rem); color:var(--ink-soft); font-weight:400; max-width:50ch; }
.gold{ color:var(--neon); text-shadow:var(--tglow); }
.it{ font-style:normal; }

/* =========================================================
   Buttons (pill)
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--sans); font-weight:600;
  font-size:.84rem; letter-spacing:.04em;
  padding:1.02em 1.9em; border-radius:var(--pill);
  border:1.5px solid var(--amber); color:var(--amber); background:transparent;
  cursor:pointer; transition:transform .25s ease, background .3s ease, color .3s ease, box-shadow .3s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn--solid{ background:var(--neon); color:#04141a; font-weight:700; box-shadow:var(--shadow-amber); }
.btn--solid:hover{ background:var(--amber-2); border-color:var(--amber-2); }
.btn:hover:not(.btn--solid){ background:var(--neon); color:#04141a; box-shadow:var(--glow); }
.btn--ghost{ border-color:var(--line-soft); color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:#16120c; border-color:var(--ink); }
.btn--lg{ padding:1.15em 2.3em; font-size:.9rem; }

/* =========================================================
   Navigation
   ========================================================= */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.3rem var(--pad);
  transition:background .4s ease, padding .4s ease, border-color .4s ease, box-shadow .4s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(9,8,15,0.86); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line-soft); padding-top:.95rem; padding-bottom:.95rem;
  box-shadow:0 10px 34px -20px rgba(47,244,221,0.4);
}
.brand{ display:flex; flex-direction:column; line-height:1; }
.brand .mark{ font-family:var(--display); font-weight:800; font-size:1.65rem; letter-spacing:-0.02em; color:var(--ink); }
.brand .mark b{ color:var(--neon-2); text-shadow:var(--tglow-pink); }
.brand .logo{ height:40px; width:auto; filter:drop-shadow(0 0 6px rgba(47,244,221,0.85)) drop-shadow(0 0 18px rgba(47,244,221,0.4)); transition:filter .3s ease; }
.brand:hover .logo{ filter:drop-shadow(0 0 8px rgba(255,61,154,0.85)) drop-shadow(0 0 22px rgba(255,61,154,0.4)); }
.brand .sub{ margin-top:.55em; }
.brand .sub{ font-family:var(--sans); font-weight:500; font-size:.54rem; letter-spacing:.36em; text-transform:uppercase; color:var(--muted); margin-top:.4em; white-space:nowrap; }
.nav-links{ display:flex; align-items:center; gap:2.2rem; list-style:none; }
.nav-links a:not(.btn){
  font-family:var(--sans); font-weight:500; font-size:.92rem; letter-spacing:.01em;
  color:var(--ink-soft); position:relative; padding:.3em 0; transition:color .3s ease;
}
.nav-links a:not(.btn)::after{ content:""; position:absolute; left:0; bottom:-3px; height:2px; width:0; background:var(--amber); border-radius:2px; transition:width .35s ease; }
.nav-links a:not(.btn):hover{ color:var(--ink); }
.nav-links a:not(.btn):hover::after, .nav-links a.active::after{ width:100%; }
.nav-links a.active{ color:var(--amber); }
.nav-links .btn{ padding:.7em 1.4em; font-size:.82rem; }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.burger span{ display:block; width:26px; height:2px; border-radius:2px; background:var(--ink); transition:.3s; }
.nav.open .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav.open .burger span:nth-child(2){ opacity:0; }
.nav.open .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:0; z-index:90; background:rgba(7,6,12,0.985);
  backdrop-filter:blur(10px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.4rem;
  opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease;
}
.mobile-menu.open{ opacity:1; visibility:visible; }
.mobile-menu a{ font-family:var(--display); font-weight:700; font-size:2.2rem; color:var(--ink-soft); }
.mobile-menu a:hover{ color:var(--amber); }
@media (max-width:880px){ .nav-links{ display:none; } .burger{ display:flex; } }

/* =========================================================
   Hero
   ========================================================= */
.hero{ position:relative; padding:9.5rem var(--pad) 4rem; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(70% 60% at 82% 2%, rgba(47,244,221,0.16), transparent 55%),
    radial-gradient(58% 55% at 8% 100%, rgba(255,61,154,0.15), transparent 55%),
    linear-gradient(180deg, #0c0b16, #09080f 72%);
}
.hero-grid{ position:relative; z-index:2; max-width:var(--maxw); margin-inline:auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.hero h1{ margin:.3em 0 .5em; }
.hero .lede{ margin-bottom:2.2rem; }
.hero-cta{ display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.hero-stats{ display:flex; gap:2.4rem; margin-top:2.6rem; flex-wrap:wrap; }
.stat .num{ font-family:var(--display); font-weight:800; font-size:2.1rem; color:var(--neon); text-shadow:var(--tglow); line-height:1; letter-spacing:-0.02em; }
.stat .lbl{ font-size:.82rem; color:var(--muted); margin-top:.35em; letter-spacing:.02em; }

.hero-media{ position:relative; }
.hero-media .photo{ aspect-ratio:4/5; border-radius:var(--r-lg); }
.float-card{
  position:absolute; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r); padding:1rem 1.3rem; box-shadow:var(--shadow), 0 0 24px -8px rgba(47,244,221,0.4);
  display:flex; align-items:center; gap:.8rem;
}
.float-card .num{ font-family:var(--display); font-weight:800; font-size:1.7rem; color:var(--neon); text-shadow:var(--tglow); }
.float-card.fc-2{ border-color:rgba(255,61,154,0.4); box-shadow:var(--shadow), 0 0 24px -8px rgba(255,61,154,0.4); }
.float-card.fc-2 .num{ color:var(--neon-2); text-shadow:var(--tglow-pink); }
.float-card .lbl{ font-size:.78rem; color:var(--ink-soft); line-height:1.25; }
.float-card.fc-1{ bottom:8%; left:-6%; }
.float-card.fc-2{ top:9%; right:-5%; }

@media (max-width:880px){
  .hero{ padding-top:7.5rem; }
  .hero-grid{ grid-template-columns:1fr; gap:2.5rem; }
  .hero-media .photo{ aspect-ratio:16/10; border-radius:var(--r); }
  .float-card{ display:none; }
  .hero-stats{ gap:1.6rem; }
  .stat .num{ font-size:1.7rem; }
}
@media (max-width:480px){
  .display{ font-size:clamp(2.3rem,11vw,3rem); }
  .hero-cta .btn{ width:100%; }
}

/* =========================================================
   Sections
   ========================================================= */
.section{ padding:clamp(4.5rem,10vw,8rem) 0; position:relative; }
.section--dk2{ background:var(--bg-2); }
.section--cream{ background:var(--cream); color:var(--ink); border-radius:var(--r-lg) var(--r-lg) 0 0; border-top:1px solid var(--line-soft); }
.section--cream .eyebrow{ color:var(--neon); }
.section--cream h1,.section--cream h2,.section--cream h3{ color:var(--ink); }
.section--cream .lede,.section--cream p{ color:var(--ink-soft); }
.section--cream .gold{ color:var(--neon); text-shadow:var(--tglow); }
.section--cream + .section{ border-radius:var(--r-lg) var(--r-lg) 0 0; margin-top:-1px; }

.section-head{ max-width:680px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head .h2{ margin:.35em 0 .55em; }

/* feature split */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.feature--rev .feature-media{ order:2; }
.feature-text .h2{ margin:.35em 0 .8em; }
.feature-text .lede{ margin-bottom:1.8rem; }
@media (max-width:880px){ .feature{ grid-template-columns:1fr; } .feature--rev .feature-media{ order:0; } }

/* photo placeholder */
.photo{
  position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--r);
  background:
    radial-gradient(72% 58% at 30% 16%, rgba(47,244,221,0.16), transparent 60%),
    radial-gradient(60% 60% at 86% 92%, rgba(255,61,154,0.13), transparent 60%),
    linear-gradient(150deg, #161427, #0b0a14 72%);
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.photo::after{
  content:attr(data-label);
  font-family:var(--sans); font-weight:500; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--faint); padding:.7em 1.1em; border:1px dashed var(--line); border-radius:var(--pill);
}
.photo.has-img{ border-color:var(--line); }
.photo.has-img::after{ display:none; }
.photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.2) contrast(1.1) brightness(.9) hue-rotate(-8deg); transition:transform .6s ease, filter .6s ease; }
.photo.has-img::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; mix-blend-mode:soft-light;
  background:linear-gradient(160deg, rgba(47,244,221,0.55), transparent 45%, rgba(255,61,154,0.5)); }
.photo.has-img:hover img{ transform:scale(1.04); filter:saturate(1.3) contrast(1.1) brightness(.95) hue-rotate(-8deg); }
.photo--wide{ aspect-ratio:16/11; }
.photo--tall{ aspect-ratio:3/4; }
.photo--sq{ aspect-ratio:1/1; }
.section--cream .photo{ border-color:var(--line-dk); }

/* =========================================================
   Flavor cards
   ========================================================= */
.flavor-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media (max-width:900px){ .flavor-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .flavor-grid{ grid-template-columns:1fr; } }
.flavor{
  background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r);
  padding:1.6rem 1.4rem 1.8rem; text-align:center; transition:transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.flavor:hover{ transform:translateY(-6px); border-color:var(--line); background:var(--panel-hi); box-shadow:0 0 34px -12px rgba(47,244,221,0.5); }
.flavor .disc{
  width:130px; height:130px; margin:.2rem auto 1.2rem; border-radius:50%;
  background:radial-gradient(56% 50% at 42% 34%, rgba(47,244,221,0.30), transparent 65%), radial-gradient(60% 60% at 76% 80%, rgba(255,61,154,0.20), transparent 70%), linear-gradient(160deg,#181527,#0c0b15);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--faint); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; overflow:hidden; position:relative;
  box-shadow:0 0 0 4px var(--bg), 0 0 0 5px var(--line), 0 0 24px -4px rgba(47,244,221,0.5);
}
.flavor .disc img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.15) contrast(1.05); transition:transform .5s ease; }
.flavor:hover .disc img{ transform:scale(1.08); }
.flavor .disc::after{ content:""; position:absolute; inset:0; border-radius:50%; box-shadow:inset 0 0 30px rgba(9,8,15,0.7); pointer-events:none; }
.flavor h3{ font-size:1.4rem; margin-bottom:.35rem; }
.flavor p{ color:var(--muted); font-size:.92rem; }
.flavor .price{ display:inline-block; margin-top:.9rem; color:var(--neon); text-shadow:var(--glow-sm); font-weight:600; }

/* =========================================================
   Stat band
   ========================================================= */
.statband{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:680px){ .statband{ grid-template-columns:1fr; } }
.statband .stat-card{
  background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r);
  padding:2.2rem 2rem; text-align:center; transition:border-color .3s ease, box-shadow .3s ease;
}
.statband .stat-card:hover{ border-color:var(--line); box-shadow:0 0 30px -12px rgba(47,244,221,0.45); }
.statband .num{ font-family:var(--display); font-weight:800; font-size:clamp(2.6rem,5vw,3.6rem); color:var(--neon); text-shadow:var(--tglow); line-height:1; }
.statband .lbl{ color:var(--ink-soft); margin-top:.5rem; font-size:.95rem; }

/* =========================================================
   Reserve CTA band
   ========================================================= */
.reserve{
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  background:radial-gradient(80% 120% at 82% 0%, rgba(47,244,221,0.16), transparent 60%), radial-gradient(70% 110% at 8% 100%, rgba(255,61,154,0.15), transparent 60%), linear-gradient(135deg,#15131f,#0b0a13);
  border:1px solid var(--line); padding:clamp(2.8rem,6vw,4.5rem);
  box-shadow:inset 0 0 70px -34px rgba(47,244,221,0.5);
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.reserve h2{ font-size:clamp(2rem,4.5vw,3.2rem); }
.reserve p{ color:var(--ink-soft); margin-top:.6rem; max-width:42ch; }

/* =========================================================
   Menu preview (home)
   ========================================================= */
.preview-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(2.5rem,6vw,5rem); }
@media (max-width:760px){ .preview-grid{ grid-template-columns:1fr; } }

/* =========================================================
   Gallery strip
   ========================================================= */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.gallery .photo{ aspect-ratio:1/1; border-radius:var(--r-sm); }
.gallery .photo:nth-child(1){ aspect-ratio:1/1; }
@media (max-width:760px){ .gallery{ grid-template-columns:repeat(2,1fr); } }

/* =========================================================
   Opening hours
   ========================================================= */
.hours{ display:grid; gap:0; max-width:520px; }
.hours-row{ display:flex; justify-content:space-between; align-items:baseline; padding:1rem 0; border-bottom:1px solid var(--line-soft); font-size:1.02rem; }
.hours-row:last-child{ border-bottom:0; }
.hours-row .day{ color:var(--ink-soft); }
.hours-row .time{ font-variant-numeric:tabular-nums; color:var(--ink); }
.hours-row.today .day, .hours-row.today .time{ color:var(--neon); text-shadow:var(--glow-sm); font-weight:600; }
.section--cream .hours-row{ border-color:var(--line-soft); }
.section--cream .hours-row .day{ color:var(--ink-soft); }
.section--cream .hours-row .time{ color:var(--ink); }

/* =========================================================
   Footer
   ========================================================= */
.footer{ background:#07060d; border-top:1px solid var(--line-soft); padding:clamp(3.5rem,7vw,5.5rem) 0 2rem; }
.footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; }
.footer .mark{ font-family:var(--display); font-weight:800; font-size:2rem; color:var(--ink); }
.footer .mark b{ color:var(--neon-2); text-shadow:var(--glow-pink); }
.footer .logo{ height:56px; width:auto; filter:drop-shadow(0 0 8px rgba(47,244,221,0.8)) drop-shadow(0 0 22px rgba(47,244,221,0.35)); }
.footer .sub{ font-size:.58rem; letter-spacing:.34em; text-transform:uppercase; color:var(--muted); margin-top:.4em; }
.footer p{ color:var(--muted); font-size:.95rem; margin-top:1.2rem; max-width:34ch; }
.footer h4{ font-family:var(--sans); font-weight:600; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--amber); margin-bottom:1.2rem; }
.footer ul{ list-style:none; display:grid; gap:.7rem; }
.footer ul a, .footer address{ color:var(--ink-soft); font-size:.95rem; font-style:normal; transition:color .3s; }
.footer ul a:hover{ color:var(--amber); }
.footer address a:hover{ color:var(--amber); }
.footer-bottom{ margin-top:3.5rem; padding-top:1.6rem; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.82rem; color:var(--faint); }
.footer-bottom a{ color:var(--muted); }
.footer-bottom a:hover{ color:var(--amber); }
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; gap:2rem; } }

/* =========================================================
   Reveal
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity:0; transform:translateY(26px); transition:opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1); }
  .reveal.in{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.07s; }
  .reveal.d2{ transition-delay:.14s; }
  .reveal.d3{ transition-delay:.21s; }
}

/* =========================================================
   Interior page header
   ========================================================= */
.pagehead{
  position:relative; padding:11rem var(--pad) clamp(2.6rem,5vw,4.5rem); text-align:center; overflow:hidden;
  background:radial-gradient(85% 90% at 50% -10%, rgba(47,244,221,0.15), transparent 55%), radial-gradient(60% 70% at 88% 120%, rgba(255,61,154,0.12), transparent 60%);
  border-bottom:1px solid var(--line-soft);
}
.pagehead h1{ font-size:clamp(2.6rem,7vw,5rem); margin:.3em 0; }
@media (max-width:600px){ .pagehead{ padding-top:8rem; } .menu-cat-head .note{ margin-left:0; flex-basis:100%; } .reserve{ padding:2rem 1.4rem; } .reserve .btn{ width:100%; } }
.pagehead .lede{ margin:0 auto; }

/* =========================================================
   MENU page
   ========================================================= */
.cat-nav{ position:sticky; top:0; z-index:50; background:rgba(9,8,15,0.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line-soft); }
.cat-nav-scroll{ display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; max-width:var(--maxw); margin-inline:auto; padding:.85rem var(--pad); }
.cat-nav-scroll::-webkit-scrollbar{ display:none; }
.cat-nav a{
  flex:0 0 auto; font-family:var(--sans); font-weight:500; font-size:.82rem; letter-spacing:.02em;
  color:var(--muted); padding:.55em 1.1em; border:1px solid transparent; border-radius:var(--pill);
  white-space:nowrap; transition:color .3s, border-color .3s, background .3s;
}
.cat-nav a:hover{ color:var(--ink); }
.cat-nav a.active{ color:#04141a; background:var(--neon); border-color:var(--neon); box-shadow:var(--glow-sm); }

.menu-cat{ padding:clamp(3rem,6vw,5rem) 0 0; scroll-margin-top:64px; }
.menu-cat:last-of-type{ padding-bottom:clamp(3.5rem,7vw,6rem); }
.menu-cat-head{ display:flex; align-items:baseline; gap:1.1rem; margin-bottom:2rem; }
.menu-cat-head .num{ font-family:var(--display); font-weight:700; font-size:.85rem; letter-spacing:.08em; color:var(--neon-2); text-shadow:var(--glow-pink); }
.menu-cat-head h2{ font-size:clamp(1.9rem,4.2vw,2.9rem); }
.menu-cat-head{ flex-wrap:wrap; }
.menu-cat-head .note{ margin-left:auto; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }

.menu-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(2.5rem,6vw,5rem); }
@media (max-width:760px){ .menu-grid{ grid-template-columns:1fr; } }
.menu-item{ padding:1rem 0; border-bottom:1px solid var(--line-soft); }
.menu-item-top{ display:flex; align-items:baseline; gap:.8rem; }
.menu-item .name{ font-family:var(--display); font-weight:600; font-size:1.22rem; color:var(--ink); letter-spacing:-0.01em; }
.menu-item .leader{ flex:1; border-bottom:1px dotted rgba(246,239,225,0.2); transform:translateY(-4px); }
.menu-item .price{ font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--neon); text-shadow:var(--glow-sm); font-variant-numeric:tabular-nums; white-space:nowrap; }
.menu-item .desc{ color:var(--muted); font-size:.9rem; margin-top:.2rem; max-width:48ch; }

.menu-cta{ text-align:center; padding:clamp(3rem,7vw,5rem) 0; border-top:1px solid var(--line-soft); }

/* =========================================================
   Prose (legal)
   ========================================================= */
.prose{ max-width:760px; }
.prose h2{ font-family:var(--display); font-weight:700; font-size:1.7rem; margin:2.4rem 0 .8rem; color:var(--ink); }
.prose h3{ font-family:var(--sans); font-weight:600; font-size:1rem; margin:1.6rem 0 .4rem; color:var(--amber); }
.prose p{ color:var(--ink-soft); margin-bottom:1rem; font-size:1.02rem; }
.prose a{ color:var(--amber); border-bottom:1px solid var(--line); }
.prose strong{ color:var(--ink); font-weight:600; }
