@import url('https://fonts.googleapis.com/css2?family=Rubik+Wet+Paint&display=swap');
@font-face{font-family:'KS Roam';src:local('KS Roam'),local('KSRoam');font-display:swap}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ─── ROOT VARS ─── */
:root{
  --container-max: 1440px;

  /* Primary palette */
  --black:    #050505;
  --cream:    #F3EADC;
  --amber:    #F29A12;
  --amber-l:  #FFB830;
  --amber-d:  #C97A00;
  --teal:     #0B8F86;
  --teal-l:   #12B5AA;
  --line:     rgba(243,234,220,.10);
  --nav-h:    108px;

  /* Legacy aliases */
  --orange:   #F29A12;
  --orange-2: #FFB830;
  --fire:     #CC2200;
  --fire-l:   #E03A00;

  /* Surface scale — pure charcoal, no red bias */
  --dark:     #080808;
  --dark-2:   #0D0D0D;
  --dark-3:   #121212;
  --dark-4:   #181818;

  /* Text scale */
  --white:    #F3EADC;
  --muted:    #A89888;
  --gray:     #6E6258;
}

html{scroll-behavior:smooth;font-size:16px;background:var(--black)}
body{background:var(--dark);color:var(--cream);font-family:'Lato',sans-serif;line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;outline:none;background:none}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:rgba(242,154,18,.4);border-radius:2px}

/* ─── CONTAINER BREAKPOINTS ─── */
@media(max-width:1599px){:root{--container-max:1380px}}
@media(max-width:1439px){:root{--container-max:1280px}}
@media(max-width:1199px){:root{--container-max:1040px}}
@media(max-width:991px) {:root{--container-max:720px}}
@media(max-width:767px) {:root{--container-max:100%}}

/* ─── UTILS ─── */
.wrap,.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 clamp(24px,3vw,40px)}
/* Primary section padding — shared across About, Menu, Catering, Stats */
.sec{padding:clamp(88px,9vw,120px) 0}
/* Section header block — tag + h1 + bar — consistent top rhythm */
.sec-hd{text-align:center;margin-bottom:clamp(44px,5vw,64px)}
.sec-hd .bar{margin:var(--sp-s) auto var(--sp-l)}

/* Spacing scale */
:root{
  --sp-xs: 8px;
  --sp-s:  16px;
  --sp-m:  24px;
  --sp-l:  40px;
  --sp-xl: 64px;
  --sp-xxl:96px;
}

/* ─── TYPOGRAPHY SYSTEM ─── */
/* SMALL LABEL (eyebrow) */
.tag{display:inline-block;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--amber);margin-bottom:var(--sp-s)}
/* SECTION DISPLAY (all major content sections share this scale) */
.h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4.6vw,3.6rem);font-weight:900;line-height:1.06;letter-spacing:-.025em}
.h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1.12;letter-spacing:-.01em}
/* ACCENT RULE — consistent below all section headings */
.bar{display:block;width:40px;height:1.5px;background:var(--amber);border-radius:1px;margin:var(--sp-s) 0 var(--sp-l)}
/* BODY COPY */
.body{color:var(--muted);line-height:1.82;font-family:'Lato',sans-serif;font-size:clamp(.93rem,1.05vw,1.05rem)}

/* ─── SMALL BUTTONS (non-hero sections) ─── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:15px 36px;border-radius:2px;cursor:pointer;transition:all .3s}
.btn-red{background:var(--fire);color:var(--cream);box-shadow:0 4px 18px rgba(204,34,0,.28)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(204,34,0,.48);filter:brightness(1.1)}
.btn-out{background:transparent;color:var(--cream);border:1px solid rgba(243,234,220,.22)}
.btn-out:hover{background:rgba(243,234,220,.04);border-color:rgba(243,234,220,.4);transform:translateY(-2px)}

@keyframes btn-shimmer{0%{background-position:200% center}100%{background-position:-200% center}}

/* ══════════════════════════
   SITE HEADER
══════════════════════════ */
.site-header{
  position:fixed;
  z-index:200;
  top:0;left:0;right:0;
  height:var(--nav-h);
  display:grid;
  grid-template-columns:220px 1fr 220px;
  align-items:center;
  padding:0 calc(max(0px,(100% - var(--container-max)) / 2) + clamp(24px,3vw,40px));
  pointer-events:none;
  transition:background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;
}
.site-header.on{
  background:rgba(3,3,4,.9);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 1px 0 rgba(242,154,18,.12),0 4px 28px rgba(0,0,0,.55);
}
.brand,.desktop-nav,.nav-cta,.mobile-menu{pointer-events:auto}

.brand{position:relative;display:flex;align-items:center;gap:10px}
.brand-wm{display:flex;flex-direction:column;gap:4px;line-height:1}
.brand-wm-top{
  font-family:'Yellowtail',cursive;
  font-size:28px;
  color:var(--cream);
  line-height:1.05;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
  transition:color .25s;
}
.brand-wm-btm{
  font-family:'Oswald',sans-serif;
  font-size:11px;font-weight:400;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--amber);
  line-height:1;
  transition:color .25s;
}
.brand:hover .brand-wm-top{color:var(--amber-l)}
.brand:hover .brand-wm-btm{color:var(--amber-l)}
.brand::before{
  content:'';
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,154,18,.13),transparent 68%);
  pointer-events:none;z-index:0;
}
.brand img{
  width:88px;height:88px;
  object-fit:contain;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(242,154,18,.22));
  transition:filter .25s;
  position:relative;z-index:1;
}
.brand:hover img{filter:drop-shadow(0 8px 28px rgba(242,154,18,.35)) drop-shadow(0 0 32px rgba(242,154,18,.32))}

.desktop-nav{
  justify-self:center;
  display:flex;align-items:center;gap:36px;
  font-family:'Oswald',sans-serif;
  font-size:11px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(243,234,220,.52);
}
.desktop-nav a{
  position:relative;
  padding-bottom:3px;
  transition:color .22s ease;
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}
.desktop-nav a::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:1px;
  background:var(--amber);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.desktop-nav a:hover{color:var(--cream)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.desktop-nav a.active{color:rgba(243,234,220,.88)}
.desktop-nav a.active::after{transform:scaleX(1)}

.nav-cta{
  justify-self:end;align-self:center;
  display:inline-flex;align-items:center;gap:11px;
  font-family:'Oswald',sans-serif;
  font-size:10px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;
  padding:13px 26px;
  color:var(--cream);
  background:linear-gradient(135deg,#cf2d10,#e65412);
  border-radius:2px;
  box-shadow:0 4px 18px rgba(204,34,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
  transition:filter .22s ease,transform .22s ease,box-shadow .22s ease;
  white-space:nowrap;
}
.nav-cta:hover{
  filter:brightness(1.1);
  transform:translateY(-1px);
  box-shadow:0 10px 30px rgba(204,34,0,.46);
}
.nav-cta span{font-size:1em;line-height:1;opacity:.82}

.mobile-menu{
  display:none;justify-self:end;
  flex-direction:column;gap:7px;
  width:44px;padding:4px;
}
.mobile-menu span{
  height:3px;width:100%;
  background:#fff;border-radius:99px;
  transition:all .3s ease;
}
.mobile-menu.x span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.mobile-menu.x span:nth-child(2){opacity:0;transform:scaleX(0)}
.mobile-menu.x span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}

/* ── MOBILE OVERLAY ── */
.mob{
  display:none;position:fixed;inset:0;z-index:199;
  padding-top:var(--nav-h);
  background:rgba(3,3,4,.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  flex-direction:column;align-items:center;justify-content:center;gap:4px;
}
.mob.open{display:flex}
.mob a{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,7vw,3.2rem);
  letter-spacing:-.01em;text-transform:none;
  font-weight:700;
  color:rgba(243,234,220,.9);padding:10px;
  transition:color .2s;
}
.mob a:hover{color:var(--amber)}
.mob-line{width:36px;height:1px;background:rgba(242,154,18,.2);margin:14px 0}
.mob-t{font-family:'Oswald',sans-serif;font-size:.95rem;letter-spacing:3px;color:var(--amber)}

/* ══════════════════════════
   HERO SECTION
══════════════════════════ */

.hero{
  position:relative;
  height:100vh;
  height:100dvh;
  min-height:760px;
  overflow:hidden;
  isolation:isolate;
  background:#050404;
}

.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url('hero-bg.jpeg');
  background-size:cover;
  background-position:63% center;
  background-repeat:no-repeat;
  filter:brightness(.96) contrast(1.04) saturate(1.02);
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.82) 21%,
      rgba(0,0,0,.46) 42%,
      rgba(0,0,0,.15) 62%,
      rgba(0,0,0,.18) 100%
    ),
    linear-gradient(180deg,
      rgba(0,0,0,.36) 0%,
      rgba(0,0,0,.02) 44%,
      rgba(0,0,0,.72) 100%
    );
}

.hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:230px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    transparent 0%,
    rgba(5,3,3,.35) 45%,
    rgba(5,3,3,.92) 100%
  );
}

.hero-embers{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}

.hero-embers span{
  position:absolute;
  width:2px;
  height:2px;
  border-radius:50%;
  background:rgba(255,110,0,.72);
  filter:blur(.4px);
  animation:hero-ember-rise var(--dur,18s) ease-in infinite;
}

.hero-embers span:nth-child(1){left:47%;top:48%;--dur:17s;animation-delay:0s;--dx:12px}
.hero-embers span:nth-child(2){left:52%;top:41%;--dur:21s;animation-delay:3s;--dx:-14px}
.hero-embers span:nth-child(3){left:58%;top:58%;--dur:19s;animation-delay:7s;--dx:16px}
.hero-embers span:nth-child(4){left:64%;top:38%;--dur:24s;animation-delay:5s;--dx:-10px}
.hero-embers span:nth-child(5){left:71%;top:68%;--dur:18s;animation-delay:10s;--dx:18px}
.hero-embers span:nth-child(6){left:38%;top:65%;--dur:22s;animation-delay:12s;--dx:-16px}

@keyframes hero-ember-rise{
  0%{transform:translateY(0) translateX(0) scale(1);opacity:0}
  8%{opacity:.9}
  60%{opacity:.45}
  100%{transform:translateY(-34vh) translateX(var(--dx)) scale(.45);opacity:0}
}

.hero-inner{
  position:relative;
  z-index:5;
  width:100%;
  max-width:var(--container-max);
  height:100%;
  margin:0 auto;
  padding:0 clamp(24px,3vw,40px);
  display:flex;
  align-items:center;
}

.hero-content{
  position:relative;
  width:min(590px,46vw);
}
.hero-content::before{
  content:'';
  position:absolute;
  top:38%;left:15%;
  width:580px;height:420px;
  background:radial-gradient(ellipse,rgba(242,154,18,.06) 0%,transparent 65%);
  filter:blur(60px);
  pointer-events:none;
  z-index:-1;
  transform:translate(-50%,-50%);
}

.hero-meta{
  display:block;
  margin-bottom:0;
}

.meta-services{
  font-family:'Oswald',sans-serif;
  font-size:clamp(10px,.82vw,12px);
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:400;
  color:var(--amber);
  text-shadow:0 4px 18px rgba(0,0,0,.85);
}

.hero-script-top{
  font-family:'Yellowtail',cursive;
  font-size:clamp(22px,2vw,36px);
  line-height:1;
  color:var(--teal-l);
  margin-left:0;
  margin-bottom:20px;
  position:relative;
  z-index:1;
  transform:rotate(-2deg) translateY(-3px);
  text-shadow:
    0 4px 18px rgba(0,0,0,.9),
    0 0 18px rgba(18,181,170,.18);
}

.hero-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-transform:uppercase;
  line-height:1;
  text-shadow:0 7px 24px rgba(0,0,0,.82);
}

.title-caribbean{
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(62px,6.4vw,108px);
  line-height:.78;
  letter-spacing:.012em;
  color:var(--cream);
  transform:scaleX(.91);
  transform-origin:left center;
  filter:
    drop-shadow(0 3px 0 rgba(0,0,0,.25))
    drop-shadow(0 0 14px rgba(243,234,220,.08));
}

.title-hibachi{
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(72px,7.8vw,130px);
  line-height:.80;
  letter-spacing:.012em;
  color:#F06522;
  margin-top:2px;
  transform:skewX(-7deg) scaleX(.96);
  transform-origin:left center;
  filter:drop-shadow(0 3px 0 rgba(0,0,0,.28));
}

.title-experience{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:7px;
  margin-left:6px;
  font-family:'Bebas Neue','Oswald',sans-serif;
  font-size:clamp(30px,3.2vw,54px);
  line-height:.9;
  letter-spacing:.26em;
  color:var(--cream);
  font-weight:400;
}

.title-experience i{
  display:block;
  width:38px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--fire-l));
  flex-shrink:0;
}

.title-experience i:last-child{
  background:linear-gradient(90deg,var(--fire-l),transparent);
}

.title-backyard{
  position:relative;
  margin-top:6px;
  margin-left:8px;
  font-family:'Yellowtail',cursive;
  text-transform:none;
  font-size:clamp(26px,2.6vw,44px);
  line-height:1;
  color:var(--teal-l);
  transform:rotate(-2deg);
  text-shadow:
    0 4px 18px rgba(0,0,0,.85),
    0 0 18px rgba(18,181,170,.18);
}

.title-backyard::after{
  content:"";
  position:absolute;
  left:6%;right:22%;bottom:-9px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--teal-l),transparent);
  opacity:.72;
  transform:rotate(-2deg);
}

.hero-copy{
  margin-top:40px;
  max-width:420px;
  font-family:'Lato',sans-serif;
  font-size:clamp(15px,1.1vw,17px);
  line-height:1.7;
  font-weight:400;
  letter-spacing:.01em;
  color:rgba(243,234,220,.92);
  text-shadow:0 4px 18px rgba(0,0,0,.9);
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:36px;
}

.hcta-primary,
.hcta-secondary{
  height:60px;
  min-width:220px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 28px;
  border-radius:3px;
  font-family:'Oswald',sans-serif;
  font-size:clamp(12px,.9vw,15px);
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .25s ease,filter .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.hcta-primary{
  color:var(--cream);
  background:linear-gradient(135deg,#cf2d10 0%,#e65412 52%,#f28a12 100%);
  box-shadow:
    0 12px 30px rgba(204,34,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.hcta-secondary{
  color:rgba(243,234,220,.86);
  background:rgba(0,0,0,.42);
  border:1px solid rgba(242,154,18,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.hcta-primary:hover,
.hcta-secondary:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}

.hcta-secondary:hover{
  border-color:var(--amber);
  box-shadow:0 0 24px rgba(242,154,18,.14);
}

.hero-location-bar{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:8;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top:1px solid rgba(243,234,220,.10);
  background:linear-gradient(180deg,rgba(5,5,5,.44),rgba(5,5,5,.86));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.hero-location-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  overflow:hidden;
  white-space:nowrap;
  font-family:'Oswald',sans-serif;
  font-size:clamp(12px,.95vw,16px);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(243,234,220,.72);
}

.hero-location-inner .pin{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fire-l);
  flex-shrink:0;
}
.hero-location-inner .pin svg{
  width:22px;
  height:22px;
  display:block;
}

.hero-location-inner strong{
  color:var(--fire-l);
  font-weight:600;
}

.hero-location-inner i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(224,58,0,.8);
  flex:0 0 auto;
}


.hero-loc-addr-link{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.3);
  text-underline-offset:3px;
  transition:text-decoration-color .18s;
}
.hero-loc-addr-link:hover{
  text-decoration-color:rgba(255,255,255,.8);
}

/* Suppress removed hero elements */
.hero-left-gradient,
.hero-depth-layer,
.palm-shadow,
.hero-trust,
.hero-badges,
.hcta-note,
.hcta-pip,
.hero-kicker,
.badge,
.badge-line{
  display:none !important;
}

@media(max-width:1200px){
  .hero-content{width:min(560px,48vw)}
  .title-caribbean{font-size:clamp(56px,6vw,92px)}
  .title-hibachi{font-size:clamp(66px,7.2vw,112px)}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}
}


@media(max-width:780px){
  .hero{min-height:760px}
  .hero-bg{background-position:56% top;filter:brightness(.93) contrast(1.04) saturate(1.02)}
  .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.18) 0%,
        rgba(0,0,0,.08) 28%,
        rgba(0,0,0,.52) 58%,
        rgba(0,0,0,.90) 76%,
        rgba(0,0,0,.97) 100%
      );
  }
  .hero-inner{padding:var(--nav-h) 22px 70px;align-items:center}
  .hero-content{width:100%;padding-top:0;transform:none}
  .hero-meta{gap:4px;margin-bottom:14px}
  .hero-script-top{margin-left:20px;font-size:28px}
  .title-caribbean{font-size:clamp(58px,16vw,78px);transform:scaleX(.92)}
  .title-hibachi{font-size:clamp(72px,19vw,96px);letter-spacing:-.05em}
  .title-experience{font-size:clamp(34px,9vw,48px);letter-spacing:.24em;gap:10px;margin-top:8px}
  .title-experience i{width:24px}
  .title-backyard{margin-left:12px;font-size:clamp(26px,7vw,38px)}
  .hero-copy{margin-top:20px;max-width:360px;font-size:16px}
  .hero-copy br{display:none}
  .hero-actions{margin-top:26px;width:100%;flex-direction:column;align-items:flex-start;gap:12px}
  .hcta-primary,.hcta-secondary{width:min(100%,330px);min-width:0;height:54px;font-size:12px;padding:0 20px}
  .hero-location-bar{height:60px}
  .hero-location-inner{gap:12px;font-size:10px;letter-spacing:.22em;overflow-x:auto;scrollbar-width:none;padding:0 22px}
  .hero-location-inner::-webkit-scrollbar{display:none}
}

@media(max-width:430px){
  .hero{min-height:720px}
  .hero-script-top{font-size:24px;margin-left:16px}
  .hero-copy{margin-top:20px}
  .title-caribbean{font-size:54px}
  .title-hibachi{font-size:72px}
  .title-experience{font-size:31px;letter-spacing:.20em}
  .title-backyard{margin-left:8px;font-size:32px}
}

/* ══════════════════════════
   ABOUT
══════════════════════════ */
#about{background:var(--dark-2)}
.about-g{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(48px,7vw,96px);align-items:center}
.about-vis{position:relative}
.about-frame{
  aspect-ratio:4/5;border-radius:4px;overflow:hidden;
  background:var(--dark-3);
  border:1px solid rgba(243,234,220,.06);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;
  color:rgba(242,154,18,.15);
}
.about-frame svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:1;opacity:.4}
.about-frame span{font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:4px;text-transform:uppercase;opacity:.3}
.about-frame-img{padding:0}
.about-frame-img img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
.about-corner{
  position:absolute;top:-16px;left:-16px;width:56px;height:56px;
  border-top:1.5px solid var(--amber);border-left:1.5px solid var(--amber);
}
.about-float{
  position:absolute;bottom:-20px;right:-20px;
  background:var(--dark-4);
  padding:18px 24px;border-radius:3px;text-align:center;
  border:1px solid rgba(242,154,18,.18);
  box-shadow:0 12px 40px rgba(0,0,0,.55);
}
.float-n{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;color:var(--amber);line-height:1}
.float-l{font-family:'Oswald',sans-serif;font-size:8.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gray);margin-top:6px}
.about-perks{margin-top:var(--sp-l);display:flex;flex-direction:column;gap:var(--sp-m)}
.pk{display:flex;gap:16px;align-items:flex-start}
.pk-ic{
  width:32px;height:32px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-bottom:1.5px solid rgba(242,154,18,.35);
  transition:border-color .3s;
}
.pk:hover .pk-ic{border-color:var(--amber)}
.pk-ic svg{width:16px;height:16px;stroke:var(--amber);fill:none;stroke-width:1.5}
.pk strong{display:block;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin-bottom:4px}
.pk span{font-size:13px;color:var(--gray);line-height:1.7;font-family:'Lato',sans-serif}

/* ── ABOUT: ATMOSPHERE + CHEF NARRATIVE CARD ── */
#about{position:relative;isolation:isolate}
#about::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 50% 40% at 18% 60%,rgba(242,154,18,.05),transparent 62%),
    radial-gradient(ellipse 35% 30% at 85% 30%,rgba(11,143,134,.03),transparent 58%);
}
#about .wrap{position:relative;z-index:1}
.about-chef-card{
  aspect-ratio:4/5;border-radius:4px;overflow:hidden;
  background:linear-gradient(175deg,#0d0504 0%,#080202 55%,#0e0404 100%);
  border:1px solid rgba(242,154,18,.16);
  position:relative;
  display:flex;flex-direction:column;
  align-items:center;justify-content:space-between;
  padding:clamp(28px,4vw,44px) clamp(24px,3vw,36px);
  box-shadow:0 32px 80px rgba(0,0,0,.65),inset 0 0 60px rgba(242,154,18,.03);
}
.acc-texture{
  position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,rgba(245,158,11,.018) 0,rgba(245,158,11,.018) 1px,transparent 1px,transparent 68px),
    repeating-linear-gradient(90deg,rgba(245,158,11,.018) 0,rgba(245,158,11,.018) 1px,transparent 1px,transparent 68px);
}
.acc-glow{
  position:absolute;bottom:-25%;left:50%;transform:translateX(-50%);
  width:220%;height:70%;
  background:radial-gradient(ellipse at 50% 95%,rgba(242,154,18,.14) 0%,rgba(204,34,0,.05) 38%,transparent 65%);
  pointer-events:none;
}
.acc-header{
  display:flex;align-items:center;gap:14px;width:100%;
  font-family:'Oswald',sans-serif;font-size:8px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(242,154,18,.4);position:relative;z-index:2;
}
.acc-header::before,.acc-header::after{content:'';flex:1;height:1px;background:rgba(242,154,18,.13)}
.acc-body{
  display:flex;flex-direction:column;align-items:center;
  position:relative;z-index:2;gap:6px;
}
.acc-flame{
  font-size:2.6rem;text-align:center;
  filter:drop-shadow(0 0 16px rgba(255,110,0,.52));
  animation:acc-flame-pulse 3.5s ease-in-out infinite;
  margin-bottom:8px;
}
@keyframes acc-flame-pulse{
  0%,100%{filter:drop-shadow(0 0 16px rgba(255,110,0,.52));transform:scale(1)}
  50%{filter:drop-shadow(0 0 30px rgba(255,130,0,.78));transform:scale(1.06) translateY(-2px)}
}
.acc-quote{
  font-family:'Playfair Display',serif;
  font-size:clamp(.92rem,1.25vw,1.06rem);
  font-style:italic;
  color:rgba(243,234,220,.8);
  text-align:center;
  line-height:1.72;letter-spacing:.01em;
  position:relative;
}
.acc-quote::before{
  content:'\201C';
  display:block;font-family:'Playfair Display',serif;
  font-size:4rem;line-height:.55;
  color:rgba(242,154,18,.18);
  margin-bottom:8px;text-align:left;margin-left:-4px;
}
.acc-footer{
  width:100%;text-align:center;
  padding-top:18px;
  border-top:1px solid rgba(242,154,18,.12);
  position:relative;z-index:2;
}
.acc-sig{
  font-family:'Yellowtail',cursive;
  font-size:clamp(1.15rem,1.7vw,1.45rem);
  color:var(--amber);line-height:1.2;margin-bottom:4px;
}
.acc-brand{
  font-family:'Oswald',sans-serif;font-size:8px;
  letter-spacing:4px;text-transform:uppercase;
  color:rgba(110,98,88,.6);
}
.float-stars{
  font-size:clamp(.65rem,.9vw,.82rem);letter-spacing:3px;
  color:var(--amber);line-height:1;margin-top:3px;
}

/* ══════════════════════════
   SERVICES STRIP
══════════════════════════ */
#svcs{
  background:var(--dark);
  padding:clamp(56px,6vw,84px) 0;
  border-top:1px solid rgba(242,154,18,.07);
  border-bottom:1px solid rgba(242,154,18,.07);
  position:relative;isolation:isolate;
}
#svcs::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%,rgba(242,154,18,.04),transparent 60%),
    radial-gradient(ellipse 28% 50% at 0% 55%,rgba(11,143,134,.025),transparent 55%),
    radial-gradient(ellipse 28% 50% at 100% 55%,rgba(11,143,134,.025),transparent 55%);
}
#svcs .wrap{position:relative;z-index:1}
.svcs-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(243,234,220,.04)}
.svc{
  padding:clamp(52px,5.5vw,80px) clamp(32px,3.5vw,52px);
  background:var(--dark);text-align:center;
  position:relative;overflow:hidden;
  transition:background .35s;cursor:default;
}
.svc::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--amber),transparent);
  transform:scaleX(0);transition:transform .5s ease;
}
.svc:hover{background:rgba(243,234,220,.018)}
.svc:hover::after{transform:scaleX(1)}
.svc-ic{
  width:52px;height:52px;margin:0 auto var(--sp-m);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(242,154,18,.22);
  border-radius:3px;
}
.svc-ic svg{width:22px;height:22px;stroke:var(--amber);fill:none;stroke-width:1.4}
.svc-t{font-family:'Playfair Display',serif;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:700;margin-bottom:var(--sp-s);letter-spacing:-.01em}
.svc-d{font-size:13.5px;color:var(--gray);line-height:1.78;font-family:'Lato',sans-serif;max-width:280px;margin:0 auto}
.svc-num{
  font-family:'Playfair Display',serif;font-size:5rem;font-weight:900;
  color:rgba(242,154,18,.045);line-height:1;
  position:absolute;top:24px;right:24px;
  pointer-events:none;user-select:none;letter-spacing:-.02em;
}

/* ══════════════════════════
   STATEMENT STRIP (unused)
══════════════════════════ */
#statement{
  padding:0;overflow:hidden;
  background:var(--teal);
  border-top:1px solid rgba(11,143,134,.25);
  border-bottom:1px solid rgba(11,143,134,.25);
  position:relative;
}
#statement::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0,transparent 1px,transparent 60px,rgba(0,0,0,.08) 61px);pointer-events:none}
.stmt-track{display:flex;gap:0;width:max-content;animation:stmt-scroll 22s linear infinite;padding:18px 0}
.stmt-track:hover{animation-play-state:paused}
@keyframes stmt-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.stmt-item{display:inline-flex;align-items:center;gap:20px;font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(.85rem,2vw,1.1rem);letter-spacing:4px;text-transform:uppercase;white-space:nowrap;padding:0 28px}
.stmt-item.white{color:#fff}
.stmt-item.amber{color:var(--amber-l)}
.stmt-item.fire{color:#FF7A35}
.stmt-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0}

/* ══════════════════════════
   SOCIAL PROOF
══════════════════════════ */
#proof{background:var(--dark-2);padding:80px 0;position:relative;overflow:hidden}
#proof::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 0% 100%,rgba(11,143,134,.10),transparent 60%),radial-gradient(ellipse 60% 50% at 100% 0%,rgba(204,34,0,.08),transparent 60%);pointer-events:none}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:1}
.proof-card{background:var(--dark-3);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:28px;position:relative;transition:border-color .3s,transform .3s}
.proof-card:hover{border-color:rgba(245,158,11,.2);transform:translateY(-4px)}
.proof-card::before{content:'\201C';position:absolute;top:16px;right:22px;font-family:'Playfair Display',serif;font-size:4rem;color:rgba(204,34,0,.18);line-height:1}
.stars{color:var(--amber);font-size:14px;letter-spacing:2px;margin-bottom:14px}
.proof-card p{font-size:14px;color:var(--muted);line-height:1.75;font-style:italic;margin-bottom:20px}
.proof-author{display:flex;align-items:center;gap:12px}
.proof-author>div{display:flex;flex-direction:column;gap:2px}
.proof-author strong{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;color:var(--white)}
.proof-author span{font-size:11px;color:var(--gray);letter-spacing:.5px}
.proof-av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--fire),var(--amber-d));display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px;box-shadow:0 0 14px rgba(204,34,0,.28)}

/* ══════════════════════════
   MENU
══════════════════════════ */

/* ── Base: pure charcoal */
#menu{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--dark);
}


/* ── Background image layer — repeats to cover any menu length */
.menu-bg{
  position:absolute;inset:0;z-index:-1;
  background-image:url('menu-bg.png');
  background-repeat:repeat;
  background-size:auto;
  opacity:.28;
  pointer-events:none;
}

/* All menu content sits above atmosphere */
#menu .wrap{position:relative;z-index:2}

.menu-hd{text-align:center;margin-bottom:clamp(40px,5vw,64px)}
.menu-hd .bar{margin:var(--sp-s) auto var(--sp-l)}
.tabs{
  display:flex;gap:0;justify-content:center;flex-wrap:wrap;
  margin-bottom:clamp(40px,5vw,64px);
  border-bottom:1px solid rgba(243,234,220,.06);
}
.tab{
  font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;
  text-transform:uppercase;padding:14px 22px;
  cursor:pointer;transition:all .22s;
  background:transparent;border:none;border-bottom:2px solid transparent;
  color:rgba(168,152,136,.55);
  margin-bottom:-1px;
}
.tab:hover{color:rgba(243,234,220,.75);border-bottom-color:rgba(243,234,220,.15)}
.tab.on{color:var(--cream);border-bottom-color:var(--amber)}

/* ── Category blocks: editorial, spacious */
.mcat{
  position:relative;
  padding:clamp(32px,4vw,52px) clamp(24px,3vw,40px) clamp(28px,3.5vw,44px);
  margin-bottom:clamp(32px,4vw,56px);
  border:none;
  border-top:1px solid rgba(243,234,220,.06);
  border-radius:0;
  background:none;
  box-shadow:none;
}

.mcat::before{display:none}

.mcat-ttl{
  font-family:'Playfair Display',serif;
  font-size:clamp(1rem,1.8vw,1.3rem);
  font-weight:700;font-style:italic;
  letter-spacing:-.01em;text-transform:none;
  color:var(--cream);
  padding-bottom:var(--sp-m);
  margin-bottom:var(--sp-m);
  border-bottom:1px solid rgba(243,234,220,.06);
  display:flex;align-items:center;gap:16px;
}
.mcat-ttl::before{
  content:'';display:block;width:24px;height:1px;
  background:var(--amber);flex-shrink:0;
}
.mcat-ttl::after{
  content:'';flex:1;height:1px;
  background:rgba(243,234,220,.05);
}

.mrows{display:flex;flex-direction:column}
.mrow{
  display:flex;align-items:center;
  justify-content:space-between;gap:var(--sp-l);
  padding:var(--sp-m) 0;
  border-bottom:1px solid rgba(243,234,220,.045);
  transition:padding .2s ease;
  cursor:default;
}
.mrow:hover{padding-left:10px;padding-right:10px;margin:0 -10px}
.mrow:last-child{border-bottom:none}
.mrow-l{flex:1;min-width:0}
.mn{
  font-family:'Lato',sans-serif;
  font-size:clamp(14px,1.05vw,15.5px);
  font-weight:400;
  color:var(--cream);
  letter-spacing:.015em;
}
.mp{
  font-family:'Oswald',sans-serif;
  font-size:11.5px;letter-spacing:2px;
  font-weight:400;
  color:var(--muted);
  flex-shrink:0;
}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,4vw,64px)}
.mnote{
  margin-top:var(--sp-m);padding:14px var(--sp-m);
  background:rgba(242,154,18,.04);
  border-left:2px solid rgba(242,154,18,.4);
  border-radius:0 2px 2px 0;
  font-size:12.5px;color:var(--muted);font-family:'Lato',sans-serif;
}
.mnote strong{color:rgba(242,154,18,.8)}

/* ══════════════════════════
   CATERING — FIRE BOOKING
══════════════════════════ */
@keyframes bk2-shimmer{
  0%{background-position:200% center}
  100%{background-position:-200% center}
}
@keyframes bk2-flame{
  0%,100%{filter:drop-shadow(0 0 8px rgba(255,115,0,.6));transform:scale(1)}
  50%{filter:drop-shadow(0 0 18px rgba(255,150,0,.9));transform:scale(1.1) translateY(-1px)}
}

#catering{
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(60px,7vw,96px) 24px clamp(64px,7.5vw,96px);
  background:var(--dark-2);
}

/* Cinematic atmosphere bridge — fire from Menu bleeds in, fades to dark booking canvas */
#catering::before{
  content:'';
  position:absolute;inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(224,58,0,.03) 0%,
    rgba(0,0,0,.88) 20%,
    rgba(0,0,0,.96) 100%
  );
}

.bk2-bg{
  display:block;
  position:absolute;inset:0;
  z-index:-3;
  pointer-events:none;
  background-image:url('menu-bg.png');
  background-repeat:repeat;
  background-size:auto;
  opacity:.16;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) 22%,rgba(0,0,0,.22) 46%,transparent 68%);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) 22%,rgba(0,0,0,.22) 46%,transparent 68%);
}
.bk2-vignette{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 45% at 50% 100%,rgba(204,34,0,.07),transparent 62%),
    radial-gradient(ellipse 60% 38% at 50% 0%,rgba(242,154,18,.04),transparent 58%),
    radial-gradient(ellipse 55% 35% at 50% 50%,rgba(242,154,18,.025),transparent 65%);
}

@keyframes bk2-atm-rise{
  0%{transform:translateY(0) translateX(0);opacity:0}
  10%{opacity:1}
  82%{opacity:.7}
  100%{transform:translateY(-26vh) translateX(var(--dx,10px));opacity:0}
}

/* Embers seeded at the top of the catering section — continuation from Menu fire */
@keyframes bk2-atm-top{
  0%{transform:translateY(0) translateX(0);opacity:0}
  14%{opacity:.85}
  68%{opacity:.42}
  100%{transform:translateY(-210px) translateX(var(--dx,8px));opacity:0}
}
.bk2-atmosphere{
  position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(ellipse 72% 55% at 50% 58%,rgba(175,55,0,.038) 0%,transparent 65%),
    radial-gradient(ellipse 45% 30% at 50% 72%,rgba(200,65,0,.022) 0%,transparent 68%),
    radial-gradient(ellipse 32% 32% at 20% 88%,rgba(220,100,0,.025) 0%,transparent 54%),
    radial-gradient(ellipse 28% 28% at 80% 14%,rgba(220,90,0,.018) 0%,transparent 52%);
}
.bk2-atmosphere span{
  position:absolute;
  width:1.5px;height:1.5px;
  border-radius:50%;
  background:rgba(255,140,0,.030);
  animation:bk2-atm-rise var(--dur,36s) ease-in infinite;
}
.bk2-atmosphere span:nth-child(1){left:18%;bottom:12%;--dur:38s;--dx:12px;animation-delay:0s}
.bk2-atmosphere span:nth-child(2){left:42%;bottom:8%;--dur:32s;--dx:-14px;animation-delay:8s;background:rgba(255,100,0,.026)}
.bk2-atmosphere span:nth-child(3){left:66%;bottom:18%;--dur:44s;--dx:10px;animation-delay:16s}
.bk2-atmosphere span:nth-child(4){left:30%;bottom:5%;--dur:29s;--dx:-9px;animation-delay:4s;background:rgba(200,60,0,.022)}
.bk2-atmosphere span:nth-child(5){left:78%;bottom:10%;--dur:40s;--dx:16px;animation-delay:22s;background:rgba(255,150,0,.026)}
.bk2-atmosphere span:nth-child(6){left:54%;bottom:15%;--dur:36s;--dx:-11px;animation-delay:12s;background:rgba(255,120,0,.022)}
/* Spans 7–9 seeded at the section top to simulate ember continuation from Menu */
.bk2-atmosphere span:nth-child(7){left:21%;top:2%;bottom:auto;width:2px;height:2px;--dur:20s;--dx:10px;animation-delay:1s;animation-name:bk2-atm-top;background:rgba(255,120,0,.052)}
.bk2-atmosphere span:nth-child(8){left:57%;top:8%;bottom:auto;width:2px;height:2px;--dur:17s;--dx:-12px;animation-delay:6s;animation-name:bk2-atm-top;background:rgba(255,100,0,.044)}
.bk2-atmosphere span:nth-child(9){left:81%;top:4%;bottom:auto;width:2px;height:2px;--dur:23s;--dx:8px;animation-delay:12s;animation-name:bk2-atm-top;background:rgba(220,85,0,.040)}

.bk2-shell{max-width:1260px;margin:0 auto;position:relative}
.bk2-eyebrow{
  display:flex;align-items:center;justify-content:center;
  gap:18px;margin-bottom:12px;
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;letter-spacing:.46em;
  color:var(--amber);font-size:12.5px;line-height:1;
}
.bk2-eyebrow span{width:110px;height:1px;background:linear-gradient(90deg,transparent,rgba(242,154,18,.65))}
.bk2-eyebrow span:last-child{background:linear-gradient(90deg,rgba(242,154,18,.65),transparent)}
.bk2-flame-sep{
  text-align:center;color:var(--amber);font-size:17px;
  line-height:1;margin-bottom:6px;
  animation:bk2-flame 3s ease-in-out infinite;
}
.bk2-header{text-align:center;margin-bottom:clamp(24px,3vw,36px)}
.bk2-header h2{
  font-family:'Playfair Display',serif;
  line-height:.84;letter-spacing:-.01em;font-weight:900;
  text-shadow:0 8px 36px rgba(0,0,0,.85),0 2px 8px rgba(0,0,0,.6);
}
.bk2-header h2 span{
  display:block;font-size:clamp(36px,4.5vw,70px);
  color:var(--cream);
}
.bk2-header h2 strong{
  display:block;font-size:clamp(32px,4.1vw,63px);
  color:var(--fire-l);font-weight:900;
  text-shadow:0 0 60px rgba(224,58,0,.18),0 8px 36px rgba(0,0,0,.82);
}
.bk2-subtitle{
  margin-top:18px;font-family:'Lato',sans-serif;
  letter-spacing:.04em;text-transform:none;
  font-size:clamp(14px,1.05vw,16px);color:rgba(243,234,220,.62);
  text-shadow:0 2px 14px rgba(0,0,0,.8);
  font-weight:300;
}
.bk2-script{
  font-family:'Yellowtail',cursive;
  color:var(--amber);font-size:clamp(26px,2.2vw,32px);
  line-height:1.1;margin-top:1px;
  text-shadow:0 0 22px rgba(242,154,18,.2),0 4px 16px rgba(0,0,0,.7);
}

.bk2-card{
  max-width:1240px;margin:0 auto;
  border:1px solid rgba(223,125,12,.55);border-radius:12px;
  background:linear-gradient(165deg,rgba(28,21,14,.95) 0%,rgba(14,10,6,.97) 38%,rgba(6,4,3,.99) 100%);
  box-shadow:
    0 40px 120px rgba(0,0,0,.88),
    0 0 0 1px rgba(255,160,0,.07),
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 120px rgba(242,154,18,.07),
    inset 0 -1px 0 rgba(0,0,0,.55);
  padding:clamp(28px,3.5vw,44px) clamp(28px,3.5vw,44px) clamp(32px,4vw,52px);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.bk2-cols{display:grid;grid-template-columns:1fr 1fr 1.18fr;gap:clamp(20px,3.5vw,44px)}
.bk2-col{border:0;display:flex;flex-direction:column;gap:clamp(20px,2.2vw,26px);padding:0;min-width:0}
.bk2-col--mid{
  border-left:1px solid rgba(242,154,18,.1);
  border-right:1px solid rgba(242,154,18,.1);
  padding:0 clamp(18px,3vw,36px);
}
.bk2-col legend{
  font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.24em;color:var(--cream);font-size:13px;
  margin-bottom:20px;padding:0 0 12px;
  display:flex;align-items:center;gap:10px;width:100%;
  border-bottom:1px solid rgba(242,154,18,.14);
}
.bk2-col legend svg{color:var(--amber);flex-shrink:0;opacity:.82}
.bk2-col label{
  display:flex;flex-direction:column;gap:8px;
  font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.24em;color:rgba(243,234,220,.58);font-size:9.5px;
  margin:0;cursor:default;
}
.bk2-col label b{color:var(--fire-l);font-style:normal}
.bk2-iw{position:relative;display:block}
.bk2-iw input{
  width:100%;height:52px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.052);
  border-radius:2px;color:var(--cream);padding:0 40px 0 16px;
  font-size:14px;font-family:'Lato',sans-serif;letter-spacing:.01em;
  outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;-webkit-appearance:none;appearance:none;
}
.bk2-iw input:hover{border-color:rgba(242,154,18,.3)}
.bk2-iw input:focus{
  border-color:rgba(242,154,18,.6);
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 3px rgba(242,154,18,.1),inset 0 1px 0 rgba(255,255,255,.04);
}
.bk2-iw input::placeholder{color:rgba(243,234,220,.45)}
.bk2-ico{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:rgba(242,154,18,.26);pointer-events:none;display:flex;align-items:center;
}
.bk2-sw{position:relative;display:block}
.bk2-sw select{
  width:100%;height:52px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.052);
  border-radius:2px;color:var(--cream);padding:0 38px 0 16px;
  font-size:14px;font-family:'Lato',sans-serif;letter-spacing:.01em;
  outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.bk2-sw select:hover{border-color:rgba(242,154,18,.3)}
.bk2-sw select:focus{
  border-color:rgba(242,154,18,.6);
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 3px rgba(242,154,18,.1);
}
.bk2-sw select option{background:var(--dark-3);color:var(--cream)}
.bk2-sw::after{
  content:'';position:absolute;right:14px;top:50%;
  width:7px;height:7px;pointer-events:none;
  border-right:1.5px solid rgba(243,234,220,.3);
  border-bottom:1.5px solid rgba(243,234,220,.3);
  transform:translateY(-68%) rotate(45deg);
}
.bk2-col:last-child textarea{height:clamp(320px,26vw,385px)}
.bk2-label-grow{flex:1;display:flex;flex-direction:column}
.bk2-label-grow textarea{flex:1}
.bk2-col textarea{
  width:100%;height:218px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.052);
  border-radius:2px;color:var(--cream);padding:14px 16px;
  font-size:14px;font-family:'Lato',sans-serif;line-height:1.75;letter-spacing:.01em;
  resize:none;outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;-webkit-appearance:none;appearance:none;
}
.bk2-col textarea:hover{border-color:rgba(242,154,18,.3)}
.bk2-col textarea:focus{
  border-color:rgba(242,154,18,.6);
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 3px rgba(242,154,18,.1);
}
.bk2-col textarea::placeholder{color:rgba(243,234,220,.45)}
.bk2-msg-helper{
  margin-top:10px;
  font-family:'Lato',sans-serif;font-size:11.5px;font-weight:300;
  color:rgba(243,234,220,.30);letter-spacing:.015em;
  line-height:1.65;font-style:italic;
}
.bk2-phone-inline{
  padding-top:clamp(16px,2.2vw,24px);
  margin-top:auto;
  border-top:1px solid rgba(242,154,18,.1);
}
.bk2-pi-prompt{
  font-family:'Lato',sans-serif;
  font-size:12.5px;font-weight:300;
  color:rgba(243,234,220,.40);
  letter-spacing:.015em;
  margin-bottom:10px;
  line-height:1.4;
}
.bk2-pi-number{
  display:block;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.35rem,1.9vw,1.7rem);
  color:var(--amber);
  font-weight:700;font-style:italic;
  letter-spacing:.015em;
  line-height:1;
  margin-bottom:10px;
  text-decoration:none;
  transition:color .22s;
}
.bk2-pi-number:hover{color:var(--amber-l)}
.bk2-pi-note{
  font-family:'Lato',sans-serif;
  font-size:11.5px;font-weight:300;
  color:rgba(243,234,220,.30);
  letter-spacing:.01em;
  line-height:1.55;
}
.bk2-btn{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
  width:min(520px,90%);height:64px;
  border:0;cursor:pointer;
  background:var(--fire);
  color:var(--cream);
  font-family:'Oswald',sans-serif;
  font-size:clamp(12px,1vw,14px);
  text-transform:uppercase;
  letter-spacing:.46em;
  font-weight:400;
  border-radius:1px;
  box-shadow:0 8px 32px rgba(204,34,0,.30),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .28s ease,box-shadow .30s ease,letter-spacing .38s ease;
}
.bk2-btn::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.07) 50%,transparent 62%);
  transform:translateX(-120%);
  transition:transform .7s ease;
}
.bk2-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 48px rgba(204,34,0,.46),inset 0 1px 0 rgba(255,255,255,.1);
  letter-spacing:.52em;
}
.bk2-btn:active{transform:translateY(0);box-shadow:0 6px 20px rgba(204,34,0,.24);transition-duration:.1s}
.bk2-btn:hover::before{transform:translateX(120%)}
.bk2-btn b{font-size:inherit;font-weight:400;letter-spacing:inherit}
.bk2-proof{
  max-width:720px;margin:clamp(24px,3vw,36px) auto 0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid rgba(242,154,18,.14);
  border-radius:2px;
  background:rgba(242,154,18,.022);
  overflow:hidden;
}
.bk2-proof>div{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
  padding:clamp(14px,1.8vw,20px) clamp(10px,1.4vw,18px);
  border-right:1px solid rgba(242,154,18,.1);
}
.bk2-proof>div:last-child{border-right:0}
.bk2-proof i{display:none}
.bk2-proof strong{
  font-family:'Playfair Display',serif;font-weight:900;
  font-size:clamp(1.35rem,1.9vw,1.8rem);
  color:var(--cream);line-height:1;
  letter-spacing:-.02em;
  margin-bottom:7px;
  text-shadow:0 0 28px rgba(242,154,18,.1);
}
.bk2-proof span{
  font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.3em;font-size:7.5px;color:rgba(243,234,220,.38);line-height:1.6;
}
.bk2-form-footer{
  margin-top:clamp(24px,3vw,36px);
  padding-top:clamp(18px,2.2vw,24px);
  border-top:1px solid rgba(242,154,18,.1);
}
.bk2-footer-contact{
  display:flex;align-items:center;justify-content:center;
  gap:10px;margin-top:14px;flex-wrap:wrap;
}
.bk2-footer-or{
  font-family:'Lato',sans-serif;font-size:11.5px;
  color:rgba(243,234,220,.38);font-weight:300;
  letter-spacing:.02em;
}
.bk2-footer-phone{
  display:inline-flex;flex-direction:column;align-items:center;gap:3px;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.15rem,1.55vw,1.38rem);
  color:var(--amber);font-weight:700;font-style:italic;
  letter-spacing:.01em;line-height:1;
  text-decoration:none;
  transition:color .22s;
}
.bk2-footer-phone:hover{color:var(--amber-l)}
.bk2-footer-call-tag{
  font-family:'Oswald',sans-serif;
  font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(243,234,220,.34);font-style:normal;font-weight:400;line-height:1;
}
.bk2-trust-statement{
  text-align:center;
  margin-top:18px;
  font-family:'Oswald',sans-serif;
  font-size:10px;letter-spacing:.36em;text-transform:uppercase;
  color:rgba(243,234,220,.38);
  line-height:1;
}
.bk2-trust-stars{
  color:var(--amber);letter-spacing:3px;font-size:11px;
  margin-right:6px;
}

/* ── HEADLINE ── */
.booking-head h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,4.6vw,3.6rem);
  line-height:1.02;font-weight:900;letter-spacing:-.025em;
  color:var(--cream);margin-bottom:22px;
  text-shadow:0 6px 32px rgba(0,0,0,.55);
}
.booking-head h2 span{
  display:block;color:var(--amber);
  text-shadow:0 0 44px rgba(242,154,18,.14);
}
.booking-script{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:clamp(1.1rem,2vw,1.6rem);
  color:rgba(242,154,18,.75);
  margin-bottom:20px;line-height:1.2;
}
.booking-copy{
  color:var(--muted);font-size:clamp(.93rem,1.1vw,1.03rem);
  line-height:1.78;max-width:480px;margin-bottom:48px;
}

/* ── EVENT TYPE HEAD ── */
.event-type-head{
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
  font-family:'Oswald',sans-serif;font-size:10.5px;
  letter-spacing:3.5px;text-transform:uppercase;
  color:rgba(244,238,228,.7);
}
.event-type-head i{
  display:block;flex:1;height:1px;
  background:linear-gradient(90deg,rgba(245,158,11,.3),transparent);
}

/* ── EVENT CARDS ── */
.event-cards{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:18px;
}
.event-card{
  padding:20px 16px;
  border:1px solid rgba(245,158,11,.44);border-radius:8px;
  background:linear-gradient(180deg,rgba(10,4,3,.72),rgba(6,2,2,.92));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 26px rgba(0,0,0,.32);
  position:relative;overflow:hidden;
  transition:transform .26s,border-color .26s,box-shadow .26s;
}
.event-card::after{
  content:'';position:absolute;inset:auto 0 0;height:42%;
  background:linear-gradient(180deg,transparent,rgba(215,65,0,.1));
  pointer-events:none;
}
.event-card:hover{
  transform:translateY(-5px);border-color:rgba(255,150,0,.88);
  box-shadow:0 16px 38px rgba(0,0,0,.48),0 0 24px rgba(255,100,0,.1);
}
.event-icon{
  font-size:26px;line-height:1;margin-bottom:10px;
  filter:drop-shadow(0 0 10px rgba(245,158,11,.28));
}
.event-card h3{
  font-family:'Oswald',sans-serif;font-size:clamp(.92rem,1.35vw,1.12rem);
  letter-spacing:1.5px;text-transform:uppercase;color:#fff;margin-bottom:5px;
}
.event-card p{color:rgba(196,176,176,.8);font-size:.84rem;line-height:1.45}

/* ── EXPERIENCE (PACKAGE) CARD ── */
.experience-card{
  border:1px solid rgba(245,158,11,.5);border-radius:10px;
  background:linear-gradient(135deg,rgba(10,4,3,.97),rgba(16,6,4,.92));
  overflow:hidden;margin-bottom:28px;
  box-shadow:0 18px 52px rgba(0,0,0,.42),0 0 28px rgba(255,100,0,.06);
}
.experience-top{
  position:relative;
  padding:22px 28px 20px;border-bottom:1px solid rgba(245,158,11,.15);
  overflow:hidden;
}
.brush-label{
  display:inline-flex;align-items:center;
  position:relative;z-index:1;
  padding:7px 28px 7px 14px;
  font-family:'Oswald',sans-serif;font-size:13px;
  letter-spacing:1.5px;font-weight:700;text-transform:uppercase;
  color:#140503;
  background:linear-gradient(90deg,var(--amber-l),var(--amber));
  clip-path:polygon(0 8%,82% 5%,100% 24%,87% 48%,100% 68%,78% 92%,0 95%);
  box-shadow:0 0 18px rgba(245,158,11,.42);
}
.experience-main{
  position:relative;z-index:2;padding:20px 28px 26px;
}
.experience-main h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.35rem,2.1vw,1.85rem);
  line-height:1;color:#fff7ed;margin-bottom:8px;
}
.price-row{display:flex;align-items:center;gap:18px;margin-top:6px}
.price-row strong{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.6rem,4.2vw,3.8rem);
  line-height:.9;color:#ff8a00;
  text-shadow:0 0 20px rgba(255,90,0,.22);
}
.price-row span{
  padding-left:18px;border-left:1px solid rgba(245,158,11,.4);
  font-family:'Oswald',sans-serif;font-size:.9rem;
  letter-spacing:1.2px;text-transform:uppercase;color:#ffae35;
}
.price-row em{
  display:block;margin-top:4px;
  font-family:'Lato',sans-serif;font-style:normal;
  font-size:.82rem;text-transform:none;letter-spacing:0;color:var(--muted);
}

/* ── INCLUSIONS ── */
.experience-includes{
  display:grid;grid-template-columns:repeat(6,1fr);
  border-top:1px solid rgba(245,158,11,.14);
  list-style:none;
}
.experience-includes li{
  padding:16px 9px;color:var(--muted);
  font-size:.8rem;line-height:1.25;text-align:center;
  border-right:1px solid rgba(245,158,11,.12);
}
.experience-includes li:last-child{border-right:0}
.experience-includes span{display:block;margin-bottom:5px;font-size:1.05rem}

/* ── UPGRADE BAR ── */
.upgrade-bar{
  display:grid;grid-template-columns:1.45fr repeat(3,1fr);
  gap:10px;padding:13px 18px;
  align-items:center;
  border-top:1px solid rgba(245,158,11,.12);
}
.upgrade-title{
  font-family:'Oswald',sans-serif;font-size:.88rem;
  letter-spacing:1.8px;text-transform:uppercase;
  color:#ff8a00;white-space:nowrap;
}
.upgrade-chip{
  display:flex;justify-content:center;gap:5px;align-items:center;
  min-height:36px;padding:6px 9px;
  border:1px solid rgba(245,158,11,.28);border-radius:5px;
  background:rgba(255,255,255,.03);
  color:var(--muted);font-size:.8rem;
  flex-direction:column;gap:2px;
}
.upgrade-chip strong{color:var(--amber-l);font-size:.85rem}

/* ── TRUST STRIP ── */
.trust-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(245,158,11,.2);border-radius:8px;
  background:rgba(6,2,2,.72);overflow:hidden;
}
.trust-strip>div{
  padding:16px 18px;
  display:grid;grid-template-columns:auto 1fr;
  gap:2px 11px;align-items:center;
  border-right:1px solid rgba(245,158,11,.14);
}
.trust-strip>div:last-child{border-right:0}
.trust-icon{grid-row:span 2;font-size:24px;color:#ff9a00}
.trust-strip strong{
  font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:1.2px;color:#fff;font-size:.88rem;
}
.trust-strip small{color:var(--muted);line-height:1.4;font-size:.78rem}

/* ── BOOKING PANEL (right column form) ── */
.booking-panel-wrap{position:sticky;top:104px}
.booking-panel{
  position:relative;
  padding:30px clamp(18px,2.4vw,34px);
  border:1px solid rgba(245,158,11,.32);border-radius:10px;
  background:
    linear-gradient(180deg,rgba(8,4,3,.97),rgba(4,2,2,.99)),
    radial-gradient(ellipse at top left,rgba(245,158,11,.08),transparent 52%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 18px 52px rgba(0,0,0,.48),
    0 0 22px rgba(255,100,0,.08);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.panel-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.panel-palm{font-size:40px;color:#ff9a00;filter:drop-shadow(0 0 16px rgba(255,100,0,.26))}
.panel-head p{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:clamp(1.35rem,2vw,1.95rem);color:#ff8a00;line-height:.9;
}
.panel-head h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.1rem,3.4vw,3.8rem);line-height:.92;color:#fff4eb;
}
.panel-copy{color:var(--muted);line-height:1.65;margin-bottom:28px;font-size:.93rem}

/* ── FORM FIELDS ── */
.bk-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-field{margin-bottom:13px}
.booking-panel label{
  display:flex;align-items:center;gap:4px;
  font-family:'Oswald',sans-serif;font-size:10px;
  letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(244,233,222,.72);margin-bottom:6px;
}
.booking-panel label b{color:#ff3b1c}
.booking-panel input,
.booking-panel select,
.booking-panel textarea{
  min-height:46px;border-radius:4px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  border:1px solid rgba(255,255,255,.14);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.booking-panel textarea{min-height:76px}
.booking-panel input:focus,
.booking-panel select:focus,
.booking-panel textarea:focus{
  border-color:rgba(204,34,0,.6);
  box-shadow:0 0 0 3px rgba(204,34,0,.10);
}

/* global form elements (used by booking panel) */
label{display:block;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
input,select,textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:4px;padding:12px 14px;color:var(--white);font-family:'Lato',sans-serif;font-size:14px;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .25s,box-shadow .25s}
input:focus,select:focus,textarea:focus{border-color:rgba(204,34,0,.55);box-shadow:0 0 0 3px rgba(204,34,0,.12)}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.2)}
select option{background:var(--dark-3)}
textarea{resize:vertical;min-height:88px}

/* ── SUBMIT BUTTON ── */
.brush-submit{
  width:100%;min-height:54px;
  margin:var(--sp-m) 0 0;
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:12px;
  font-family:'Oswald',sans-serif;
  font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  color:var(--cream);cursor:pointer;
  background:var(--fire);
  border-radius:2px;
  box-shadow:0 4px 18px rgba(204,34,0,.28);
  transition:transform .26s ease,filter .26s ease,box-shadow .26s ease;
  border:none;outline:none;
}
.brush-submit:hover{
  transform:translateY(-2px);
  filter:brightness(1.1);
  box-shadow:0 10px 30px rgba(204,34,0,.48);
}
.brush-submit span{font-size:.95rem;line-height:1;color:var(--cream);opacity:.7}

/* ── PANEL MINI TRUST ── */
.panel-trust{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  padding-top:16px;border-top:1px solid rgba(245,158,11,.16);
}
.panel-trust div{text-align:left}
.panel-trust>div>span{display:block;font-size:21px;color:#ff9a00;margin-bottom:6px}
.panel-trust strong{
  display:block;font-family:'Oswald',sans-serif;
  font-size:.8rem;letter-spacing:1.2px;text-transform:uppercase;color:#fff;
}
.panel-trust small{
  display:block;margin-top:3px;
  color:var(--muted);line-height:1.4;font-size:.75rem;
}
.booking-phone{
  margin-top:18px;color:var(--muted);text-align:center;font-size:.88rem;
}
.booking-phone a{color:#ff9a00;font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:.8px}

/* ── BOOKING TRUST LINE (replaces trust-strip) ── */
.booking-trust-line{
  margin-top:6px;
  font-family:'Oswald',sans-serif;font-size:10.5px;
  letter-spacing:3.5px;text-transform:uppercase;
  color:rgba(244,238,228,.44);
}
.booking-trust-stars{color:var(--amber);letter-spacing:2px}

/* ── FORM FIELD GROUPS ── */
.bk-group{margin-bottom:0}
.bk-group+.bk-group{margin-top:20px}
.bk-group .bk-field{margin-bottom:0}

/* ── FORM TRUST LINE (replaces panel-trust) ── */
.form-trust-line{
  text-align:center;
  padding-top:22px;margin-top:6px;
  border-top:1px solid rgba(245,158,11,.14);
}
.form-trust-rating{
  font-family:'Oswald',sans-serif;font-size:11px;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--cream);margin-bottom:8px;
}
.form-trust-stars{
  color:var(--amber);letter-spacing:2px;margin-right:4px;
}
.form-trust-copy{
  color:var(--muted);font-size:.82rem;line-height:1.6;
}

/* ══════════════════════════
   LOCATION — FOLLOW THE FIRE
══════════════════════════ */
@keyframes live-pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes loc2-float{0%{transform:translateY(0) translateX(0);opacity:0}8%{opacity:.5}85%{opacity:.18}100%{transform:translateY(-90px) translateX(10px);opacity:0}}
.loc2{position:relative;isolation:isolate;overflow:hidden;background:var(--dark);padding:clamp(88px,9vw,120px) 0}
.loc2-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.loc2-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 38% 32% at 0% 52%,rgba(224,58,0,.14),transparent 65%),
    radial-gradient(ellipse 34% 28% at 100% 52%,rgba(224,58,0,.10),transparent 62%),
    radial-gradient(ellipse 55% 30% at 50% 100%,rgba(242,154,18,.07),transparent 70%),
    radial-gradient(circle at 5% 10%,rgba(224,58,0,.28),transparent 3px),
    radial-gradient(circle at 96% 14%,rgba(224,58,0,.2),transparent 2px);
}
.loc2-bg::after{
  content:'';position:absolute;inset:0;
  background-image:url('menu-bg.png');
  background-repeat:repeat;background-size:auto;
  opacity:.2;
}
.loc2 .wrap{position:relative;z-index:1}
.loc2-embers{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.loc2-embers span{position:absolute;bottom:0;width:1.5px;height:1.5px;border-radius:50%;background:rgba(242,154,18,.28);filter:blur(.4px);animation:loc2-float var(--d,22s) var(--del,0s) ease-in infinite;opacity:0}
.loc2-embers span:nth-child(1){left:14%;--d:25s;--del:0s;width:2px;height:2px}
.loc2-embers span:nth-child(2){left:42%;--d:19s;--del:5s;background:rgba(224,58,0,.22)}
.loc2-embers span:nth-child(3){left:74%;--d:23s;--del:9s}
/* Section Header */
.loc2-head{text-align:center;padding-bottom:clamp(44px,5vw,64px)}
.loc2-kicker{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:4px;text-transform:uppercase;color:rgba(242,154,18,.82);margin-bottom:16px}
.loc2-kdot{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:var(--fire-l);box-shadow:0 0 6px rgba(224,58,0,.6),0 0 12px rgba(224,58,0,.25);animation:live-pulse-dot 1.8s ease-in-out infinite}
.loc2-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.2vw,4.6rem);font-weight:900;line-height:1.02;letter-spacing:-.03em;color:var(--cream);margin-bottom:clamp(10px,1vw,16px)}
.loc2-title-em{font-style:italic;color:var(--amber);text-shadow:0 0 48px rgba(242,154,18,.2)}
.loc2-sub{font-family:'Lato',sans-serif;font-size:clamp(.88rem,1vw,1rem);font-weight:300;color:var(--gray);line-height:1.65}
/* Layout */
.loc2-grid{display:grid;grid-template-columns:1fr .7fr;gap:clamp(14px,2vw,22px);align-items:stretch}
/* Schedule Card */
.loc2-card{background:rgba(7,5,4,.90);border:1px solid rgba(243,234,220,.14);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.loc2-card-hd{padding:14px 24px 12px;border-bottom:1px solid rgba(243,234,220,.05);display:flex;align-items:center;justify-content:space-between}
.loc2-card-label{font-family:'Oswald',sans-serif;font-size:8.5px;letter-spacing:3.5px;text-transform:uppercase;color:rgba(243,234,220,.52)}
/* Schedule Rows */
.loc2-rows{display:flex;flex-direction:column;flex:1;justify-content:space-between}
.loc2-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:8px 18px;padding:clamp(16px,1.6vw,22px) 24px;border-bottom:1px solid rgba(243,234,220,.07);transition:background .2s ease;flex:1;min-height:68px}
.loc2-row:last-child{border-bottom:none}
.loc2-row:hover{background:rgba(243,234,220,.03)}
.loc2-col-day{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
.loc2-dayname{font-family:'Oswald',sans-serif;font-size:clamp(12.5px,.95vw,14px);letter-spacing:2.5px;text-transform:uppercase;color:rgba(243,234,220,.90);line-height:1;font-weight:600}
.loc2-daynum{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:1px;color:rgba(243,234,220,.30);line-height:1;margin-top:3px}
.loc2-col-evt{display:flex;flex-direction:column;gap:3px;min-width:0}
.loc2-evt-name{font-family:'Lato',sans-serif;font-size:clamp(13px,.96vw,15px);font-weight:600;color:rgba(243,234,220,.90);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc2-evt-city{font-family:'Lato',sans-serif;font-size:11px;color:rgba(243,234,220,.56);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc2-col-hrs{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1.5px;color:rgba(243,234,220,.66);white-space:nowrap;flex-shrink:0;text-align:right}

.loc2-footnote{padding:12px 24px;border-top:1px solid rgba(243,234,220,.05);font-family:'Lato',sans-serif;font-size:10.5px;color:rgba(243,234,220,.32);line-height:1.6}
.loc2-footnote a{color:rgba(242,154,18,.62);transition:color .2s ease;text-decoration:none}
.loc2-footnote a:hover{color:rgba(242,154,18,.88)}
/* Current Location Card */
.loc2-cur{background:rgba(7,5,4,.93);border:1px solid rgba(243,234,220,.10);border-top:2px solid rgba(242,154,18,.42);border-radius:3px;overflow:hidden;position:sticky;top:calc(var(--nav-h) + 24px);display:flex;flex-direction:column}
.loc2-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--teal-l);box-shadow:0 0 6px rgba(18,181,170,.7),0 0 12px rgba(18,181,170,.35);animation:live-pulse-dot 1.8s ease-in-out infinite}
/* Atmospheric branded panel — no photo placeholder */
.loc2-cur-panel{position:relative;aspect-ratio:4/2.8;overflow:hidden;background:linear-gradient(175deg,#0e0605 0%,#080202 55%,#110404 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(14px,2vw,20px) clamp(16px,2.2vw,22px)}
.loc2-cur-panel-grid{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(242,154,18,.007) 0,rgba(242,154,18,.007) 1px,transparent 1px,transparent 50px),repeating-linear-gradient(90deg,rgba(242,154,18,.007) 0,rgba(242,154,18,.007) 1px,transparent 1px,transparent 50px)}
.loc2-cur-panel-glow{position:absolute;bottom:-15%;left:50%;transform:translateX(-50%);width:130%;height:65%;background:radial-gradient(ellipse at 50% 88%,rgba(224,58,0,.13) 0%,rgba(242,154,18,.04) 38%,transparent 64%);pointer-events:none}
.loc2-cur-panel-coords{position:absolute;top:14px;right:16px;z-index:2;font-family:'Oswald',sans-serif;font-size:7.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(242,154,18,.11);pointer-events:none}
.loc2-cur-panel-inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}
.loc2-cur-panel-label{display:flex;align-items:center;gap:8px;font-family:'Oswald',sans-serif;font-size:8.5px;letter-spacing:4px;text-transform:uppercase;color:rgba(243,234,220,.50);font-weight:500}
.loc2-cur-panel-name{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,2.9vw,2.8rem);font-weight:900;line-height:.98;letter-spacing:-.025em;color:var(--cream);text-shadow:0 2px 10px rgba(0,0,0,.65);margin:0}
/* Body under panel */
.loc2-cur-body{padding:clamp(16px,2vw,22px) clamp(16px,2vw,22px) clamp(10px,1.2vw,14px);flex:1}
.loc2-cur-time-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.loc2-cur-hrs{font-family:'Oswald',sans-serif;font-size:clamp(13px,1.1vw,16px);letter-spacing:2px;color:var(--amber);font-weight:600}
.loc2-cur-day-ref{font-family:'Oswald',sans-serif;font-size:8.5px;letter-spacing:3px;text-transform:uppercase;color:rgba(243,234,220,.42)}
.loc2-cur-addr{font-family:'Lato',sans-serif;font-size:12px;font-style:normal;color:rgba(243,234,220,.46);line-height:1.5}
/* CTAs */
.loc2-cur-btns{display:flex;flex-direction:column;gap:10px;padding:4px clamp(16px,2vw,22px) clamp(14px,1.8vw,20px)}
.loc2-btn-dir,.loc2-btn-book{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;height:46px;font-family:'Oswald',sans-serif;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;border-radius:2px;white-space:nowrap;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;width:100%;padding:0 18px}
.loc2-btn-arrow{font-size:13px;line-height:1;opacity:.65;flex-shrink:0}
.loc2-btn-dir{background:var(--fire-l);color:var(--cream);box-shadow:0 4px 16px rgba(224,58,0,.3)}
.loc2-btn-dir:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 9px 24px rgba(224,58,0,.46)}
.loc2-btn-dir svg{stroke:currentColor;flex-shrink:0}
.loc2-btn-book{background:transparent;color:rgba(243,234,220,.5);border:1px solid rgba(243,234,220,.11)}
.loc2-btn-book:hover{background:rgba(242,154,18,.05);border-color:rgba(242,154,18,.26);color:rgba(243,234,220,.88);transform:translateY(-2px)}
/* Footer */
.loc2-cur-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,2vw,22px) 13px;border-top:1px solid rgba(243,234,220,.05)}
.loc2-cur-footer>span{font-family:'Lato',sans-serif;font-size:10px;color:rgba(243,234,220,.30)}
.loc2-ig-handle{display:inline-flex;align-items:center;gap:5px;font-family:'Oswald',sans-serif;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(243,234,220,.40);transition:color .2s ease}
.loc2-ig-handle svg{fill:currentColor;flex-shrink:0}
.loc2-ig-handle:hover{color:rgba(242,154,18,.65)}
#location{background:var(--dark)}
.loc-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
.sch{margin-top:var(--sp-l)}
.sch-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:13px 0;margin-bottom:0;
  border-bottom:1px solid rgba(243,234,220,.05);
  transition:padding .2s ease;
}
.sch-row:hover{padding-left:8px;padding-right:8px}
.sch-row.live{
  background:rgba(11,143,134,.06);
  border:1px solid rgba(11,143,134,.22);
  border-radius:3px;padding:13px var(--sp-s);
  margin:2px 0;
}
.sch-row.live .sch-i{color:rgba(243,234,220,.75)}
.sch-d{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cream);display:flex;align-items:center;gap:10px;opacity:.8}
.sch-row.live .sch-d{color:var(--amber);opacity:1}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--teal-l);box-shadow:0 0 6px rgba(11,143,134,.7),0 0 12px rgba(11,143,134,.4);animation:live-pulse-dot 1.8s ease-in-out infinite}
@keyframes live-pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
.sch-i{font-size:12.5px;color:var(--gray);font-family:'Lato',sans-serif}
.map-box{
  aspect-ratio:1;border-radius:3px;overflow:hidden;
  background:var(--dark-3);
  border:1px solid rgba(243,234,220,.05);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;
}
.map-ring{position:absolute;width:80px;height:80px;border-radius:50%;border:1px solid rgba(11,143,134,.15);animation:ring-out 3s ease-out infinite}
.map-ring:nth-child(2){animation-delay:1.5s;opacity:.4}
@keyframes ring-out{0%{transform:scale(.8);opacity:.8}100%{transform:scale(2.6);opacity:0}}
.map-box svg{position:relative;z-index:1;width:36px;height:36px;stroke:rgba(11,143,134,.55);fill:none;stroke-width:1.4}
.map-box p{position:relative;z-index:1;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gray);text-align:center;max-width:160px;line-height:1.8}
.loc-info{
  margin-top:var(--sp-m);padding:20px 22px;
  background:rgba(11,143,134,.04);
  border:1px solid rgba(11,143,134,.18);
  border-left:2px solid rgba(11,143,134,.45);
  border-radius:3px;display:flex;flex-direction:column;gap:6px;
  position:relative;overflow:hidden;
}
.loc-info::before{
  content:'';position:absolute;right:-16px;top:-16px;
  width:72px;height:72px;
  background:radial-gradient(circle,rgba(11,143,134,.14),transparent 65%);
  pointer-events:none;
}
.loc-info-label{font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--amber)}
.loc-info-val{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--cream)}
.loc-info-sub{font-size:12.5px;color:var(--gray);font-family:'Lato',sans-serif;line-height:1.65}
.map-live-badge{
  position:absolute;top:18px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;
  font-family:'Oswald',sans-serif;font-size:8px;
  letter-spacing:3.5px;text-transform:uppercase;
  color:var(--amber);white-space:nowrap;
  padding:6px 14px;
  border:1px solid rgba(242,154,18,.2);border-radius:2px;
  background:rgba(8,4,2,.92);
  z-index:2;
}
.map-live-badge .live-dot{display:inline-block;flex-shrink:0}
.soc-row{margin-top:var(--sp-l);display:flex;gap:var(--sp-s);flex-wrap:wrap}
.soc{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:2px;
  background:transparent;border:1px solid rgba(243,234,220,.08);
  font-family:'Oswald',sans-serif;font-size:9.5px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gray);transition:all .25s;
}
.soc:hover{background:rgba(11,143,134,.08);border-color:rgba(11,143,134,.35);color:var(--cream)}
.soc svg{width:14px;height:14px;fill:currentColor}

/* ══════════════════════════
   GALLERY
══════════════════════════ */
#gallery{background:var(--dark);padding:80px 0;overflow:hidden}
.gal-hd{text-align:center;margin-bottom:40px}
.track-wrap{position:relative;overflow:hidden}
.track-wrap::before,.track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.track-wrap::before{left:0;background:linear-gradient(90deg,var(--dark),transparent)}
.track-wrap::after{right:0;background:linear-gradient(-90deg,var(--dark),transparent)}
.track{display:flex;gap:16px;width:max-content;animation:scroll-l 30s linear infinite}
.track:hover{animation-play-state:paused}
@keyframes scroll-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gal-it{width:240px;height:186px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:transform .3s;position:relative}
.gal-it img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s;display:block}
.gal-it:hover{transform:scale(1.04)}
.gal-it:hover img{transform:scale(1.08)}
.gal-foot{text-align:center;margin-top:34px}
.gal-foot p{display:none}

/* ══════════════════════════
   HIBACHI SHOW SECTION
══════════════════════════ */
#hibachi-show{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(96px,10vw,140px) 0;
  background:var(--dark);
}
#hibachi-show::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 30% at 50% 108%,rgba(242,154,18,.08),transparent 65%),
    radial-gradient(ellipse 30% 20% at 6% 0%,rgba(11,143,134,.04),transparent 58%),
    radial-gradient(ellipse 30% 20% at 94% 0%,rgba(11,143,134,.03),transparent 58%);
}
#hibachi-show .wrap{position:relative;z-index:1}
.hs-head{text-align:center;margin-bottom:clamp(48px,6vw,80px)}
.hs-head .h1 span{color:var(--amber);font-style:italic}
.hs-head .bar{margin:var(--sp-s) auto var(--sp-l)}
/* ── EXPERIENCE CAROUSEL ── */
.exp-carousel{
  position:relative;
  height:clamp(340px,55vw,660px);
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(243,234,220,.07),0 32px 80px rgba(0,0,0,.7);
  user-select:none;-webkit-user-select:none;
}
.exp-track{
  display:flex;height:100%;
  transition:transform .72s cubic-bezier(.77,0,.175,1);
  will-change:transform;
}
.exp-slide{
  position:relative;flex-shrink:0;
  width:100%;height:100%;overflow:hidden;
}
.exp-slide img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;transform:scale(1.06);
}
@keyframes exp-ken{from{transform:scale(1.06)}to{transform:scale(1)}}
.exp-slide.active img{animation:exp-ken 7s ease forwards}
.exp-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.04) 40%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.9) 100%),
    linear-gradient(90deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,.1) 52%,transparent 100%);
}
.exp-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:clamp(18px,2.5vw,34px) clamp(22px,3.2vw,48px) clamp(54px,5.5vw,70px);
  opacity:0;transform:translateY(14px);
  transition:opacity .52s .24s ease,transform .52s .24s ease;
}
.exp-slide.active .exp-caption{opacity:1;transform:none}
.exp-cnt{
  display:inline-flex;align-items:center;gap:11px;
  font-family:'Oswald',sans-serif;font-size:10px;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--amber);margin-bottom:9px;line-height:1;
}
.exp-cnt::after{content:'';display:block;width:30px;height:1px;background:currentColor;opacity:.5}
.exp-ctitle{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.7rem,3.5vw,3.2rem);
  font-weight:900;color:var(--cream);
  line-height:1.02;margin-bottom:10px;
  text-shadow:0 4px 32px rgba(0,0,0,.82);
  letter-spacing:-.02em;
}
.exp-cdesc{
  font-family:'Lato',sans-serif;
  font-size:clamp(.88rem,1.05vw,1rem);
  color:rgba(243,234,220,.62);
  font-style:normal;line-height:1.65;max-width:480px;
  font-weight:300;
}
.exp-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:10;width:50px;height:50px;border-radius:50%;
  background:rgba(5,2,2,.6);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:rgba(255,255,255,.85);
  opacity:0;transition:opacity .28s,background .28s,border-color .28s,color .28s;
}
.exp-carousel:hover .exp-arrow{opacity:1}
.exp-arrow:hover{background:rgba(10,4,3,.92);border-color:rgba(245,158,11,.55);color:var(--amber)}
.exp-prev{left:20px}
.exp-next{right:20px}
.exp-controls{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;
}
.exp-dots{display:flex;gap:7px;align-items:center}
.exp-dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.28);
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;padding:0;
  transition:all .38s cubic-bezier(.34,1.56,.64,1);
}
.exp-dot.active{
  width:28px;border-radius:4px;
  background:var(--amber);border-color:transparent;
  box-shadow:0 0 10px rgba(245,158,11,.35);
}
.exp-progress{
  position:absolute;bottom:0;left:0;
  height:2px;width:0;
  background:linear-gradient(90deg,var(--amber),var(--orange));
  opacity:.82;z-index:11;pointer-events:none;
}
@keyframes exp-prog{from{width:0}to{width:100%}}
.exp-progress.play{animation:exp-prog 5s linear forwards}
.exp-ph{
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;
  background:
    repeating-linear-gradient(0deg,rgba(245,158,11,.022) 0,rgba(245,158,11,.022) 1px,transparent 1px,transparent 72px),
    repeating-linear-gradient(90deg,rgba(245,158,11,.022) 0,rgba(245,158,11,.022) 1px,transparent 1px,transparent 72px),
    linear-gradient(160deg,#120505 0%,#0a0202 52%,#0e0303 100%);
  padding-bottom:80px;
}
.exp-ph-icon{width:48px;height:48px;color:rgba(245,158,11,.3)}
.exp-ph-label{
  font-family:'Oswald',sans-serif;font-size:9px;
  letter-spacing:4px;text-transform:uppercase;
  color:rgba(245,158,11,.25);
}
.hs-cta{text-align:center;margin-top:clamp(48px,6vw,72px)}
.hs-cta p{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:clamp(1.1rem,2vw,1.55rem);
  color:rgba(243,234,220,.55);
  margin-bottom:var(--sp-l);
  letter-spacing:.01em;
}

/* ══════════════════════════
   STATS STRIP (SOCIAL PROOF)
══════════════════════════ */
#stats{
  background:var(--dark-2);
  border-top:1px solid rgba(243,234,220,.05);
  border-bottom:1px solid rgba(243,234,220,.05);
  padding:0;overflow:hidden;position:relative;
  /* Consistent strip — no extra vertical weight */
}
#stats::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%,rgba(245,158,11,.04),transparent 65%),
    radial-gradient(ellipse 25% 55% at 5% 50%,rgba(11,143,134,.04),transparent 55%),
    radial-gradient(ellipse 25% 55% at 95% 50%,rgba(11,143,134,.04),transparent 55%);
}
.stats-grid{
  display:grid;
  grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;
  align-items:center;
  position:relative;z-index:1;
}
.stat{padding:46px 28px;text-align:center}
.stat-n{
  display:block;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3.4vw,3rem);
  font-weight:900;color:var(--amber);
  line-height:1;margin-bottom:10px;
  letter-spacing:-.02em;
}
.stat-n.stars-n{font-size:clamp(1rem,1.6vw,1.25rem);letter-spacing:4px;color:var(--amber)}
.stat-t{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);margin-bottom:5px;opacity:.8}
.stat-s{font-size:.74rem;color:var(--gray);line-height:1.55;font-family:'Lato',sans-serif}
.stat-div{height:56px;width:1px;background:linear-gradient(180deg,transparent,rgba(243,234,220,.1),transparent)}

/* ══════════════════════════
   FINAL CTA SECTION
══════════════════════════ */
#final-cta{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(72px,7.4vw,106px) 0 clamp(64px,7vw,100px);
  background:var(--black);
}
.fcta-bg{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
}
.fcta-bg::before{
  content:'';position:absolute;inset:0;
  background:url('catering-bg.png');
  background-size:cover;background-position:center 30%;background-repeat:no-repeat;
}
.fcta-bg::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(4,3,2,.80) 0%,rgba(4,3,2,.60) 42%,rgba(4,3,2,.84) 100%),
    radial-gradient(ellipse 80% 50% at 50% 100%,rgba(180,30,0,.22),transparent 65%),
    radial-gradient(ellipse 68% 38% at 50% 0%,rgba(204,34,0,.06),transparent 56%);
}
/* CSS ember particles */
.fcta-embers{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fcta-embers span{
  position:absolute;bottom:-8px;
  width:3px;height:3px;border-radius:50%;
  background:rgba(255,130,0,.85);
  animation:ember-float 9s ease-in infinite;
}
.fcta-embers span:nth-child(1){left:12%;animation-duration:8s;animation-delay:0s;width:2px;height:2px}
.fcta-embers span:nth-child(2){left:28%;animation-duration:11s;animation-delay:2.5s;background:rgba(255,80,0,.7)}
.fcta-embers span:nth-child(3){left:46%;animation-duration:9.5s;animation-delay:1s;width:2px;height:2px}
.fcta-embers span:nth-child(4){left:63%;animation-duration:12s;animation-delay:3.5s;background:rgba(245,158,11,.75)}
.fcta-embers span:nth-child(5){left:78%;animation-duration:8.5s;animation-delay:.8s;width:2px;height:2px}
.fcta-embers span:nth-child(6){left:90%;animation-duration:10s;animation-delay:4s}
.fcta-embers span:nth-child(7){left:5%;animation-duration:13s;animation-delay:6s;background:rgba(255,160,0,.6)}
.fcta-embers span:nth-child(8){left:55%;animation-duration:7.5s;animation-delay:5s;width:2px;height:2px}
@keyframes ember-float{
  0%{transform:translateY(0) translateX(0);opacity:0}
  8%{opacity:1}
  80%{opacity:.6}
  100%{transform:translateY(-55vh) translateX(calc(var(--dx,18px)));opacity:0}
}
.fcta-embers span:nth-child(1){--dx:14px}
.fcta-embers span:nth-child(2){--dx:-20px}
.fcta-embers span:nth-child(3){--dx:24px}
.fcta-embers span:nth-child(4){--dx:-16px}
.fcta-embers span:nth-child(5){--dx:20px}
.fcta-embers span:nth-child(6){--dx:-12px}
.fcta-embers span:nth-child(7){--dx:18px}
.fcta-embers span:nth-child(8){--dx:-22px}
/* decorative palms */
.fcta-palm{
  position:absolute;top:50%;transform:translateY(-52%);
  font-size:clamp(7rem,12vw,14rem);line-height:1;
  opacity:.055;pointer-events:none;
  filter:saturate(0) contrast(2);
  z-index:0;
  user-select:none;
}
.fcta-palm-l{left:-1%}
.fcta-palm-r{right:-1%;transform:translateY(-52%) scaleX(-1)}
/* horizontal amber rule above section */
#final-cta::before{
  content:'';
  position:absolute;top:0;left:5%;right:5%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,158,11,.35),rgba(204,34,0,.3),rgba(245,158,11,.35),transparent);
}
.fcta-inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}
.fcta-headline{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,5.8vw,5.4rem);
  font-weight:900;line-height:.92;
  color:var(--cream);
  margin:var(--sp-s) 0 0;
  letter-spacing:-.03em;
}
.fcta-headline span{
  display:block;color:var(--amber);font-style:italic;
  font-size:.78em;
  letter-spacing:.005em;
  margin-top:6px;
}
.fcta-sub{
  font-family:'Lato',sans-serif;
  font-size:clamp(.92rem,1.1vw,1rem);
  font-weight:300;
  color:rgba(243,234,220,.48);
  max-width:400px;margin:var(--sp-l) auto 0;
  line-height:1.85;
}
.fcta-phone{
  margin:28px 0 0;
}
.fcta-phone a{
  font-family:'Oswald',sans-serif;
  font-size:clamp(1.65rem,3.2vw,2.6rem);
  letter-spacing:.08em;
  color:var(--amber);
  text-shadow:0 0 28px rgba(245,158,11,.22);
  transition:color .2s ease;
}
.fcta-phone a:hover{color:var(--orange-2)}
.fcta-btns{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin:26px 0 0;
}
.fcta-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Oswald',sans-serif;
  font-size:13.5px;letter-spacing:3px;text-transform:uppercase;
  padding:16px 40px;border-radius:3px;font-weight:700;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.fcta-btn:hover{transform:translateY(-3px)}
.fcta-btn-primary{
  background:var(--fire);
  color:var(--cream);
  box-shadow:0 6px 24px rgba(204,34,0,.32);
}
.fcta-btn-primary:hover{box-shadow:0 12px 38px rgba(204,34,0,.52);filter:brightness(1.1)}
.fcta-btn-secondary{
  background:transparent;
  border:2px solid rgba(242,154,18,.6);
  color:var(--cream);
}
.fcta-btn-secondary:hover{background:rgba(242,154,18,.07);border-color:var(--orange)}
.fcta-social{margin-top:22px}
.fcta-ig{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Oswald',sans-serif;font-size:10.5px;
  letter-spacing:2px;text-transform:uppercase;
  color:rgba(138,114,114,.7);
  padding:8px 16px;border-radius:3px;
  border:1px solid rgba(255,255,255,.06);
  transition:color .2s,border-color .2s;
}
.fcta-ig:hover{color:var(--white);border-color:rgba(242,154,18,.28)}
.fcta-ig svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}


/* ══════════════════════════
   FOOTER
══════════════════════════ */
.site-footer{
  position:relative;
  background:#050505;
  overflow:hidden;
  isolation:isolate;
}
.site-footer::before{
  content:'';
  position:absolute;inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,154,18,.10) 28%,rgba(242,154,18,.10) 72%,transparent);
  pointer-events:none;z-index:2;
}
.site-footer::after{
  content:'';
  position:absolute;inset:0;
  pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 70% 38% at 50% 0%,rgba(242,154,18,.048),transparent 58%),
    repeating-linear-gradient(0deg,rgba(242,154,18,.011) 0,rgba(242,154,18,.011) 1px,transparent 1px,transparent 64px),
    repeating-linear-gradient(90deg,rgba(242,154,18,.011) 0,rgba(242,154,18,.011) 1px,transparent 1px,transparent 64px);
}
.ft-embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ft-embers span{
  position:absolute;
  width:2px;height:2px;border-radius:50%;
  background:rgba(255,110,0,.5);filter:blur(.3px);
  animation:ft-ember var(--dur,16s) ease-in infinite;
}
.ft-embers span:nth-child(1){left:18%;bottom:0;--dur:16s;animation-delay:0s;--dx:8px}
.ft-embers span:nth-child(2){left:38%;bottom:0;--dur:20s;animation-delay:3s;--dx:-10px}
.ft-embers span:nth-child(3){left:62%;bottom:0;--dur:17s;animation-delay:6s;--dx:12px}
.ft-embers span:nth-child(4){left:80%;bottom:0;--dur:22s;animation-delay:9s;--dx:-8px}
.ft-embers span:nth-child(5){left:8%;bottom:0;--dur:19s;animation-delay:13s;--dx:14px}
@keyframes ft-ember{
  0%{transform:translateY(0) translateX(0) scale(1);opacity:0}
  7%{opacity:.65}
  65%{opacity:.25}
  100%{transform:translateY(-260px) translateX(var(--dx)) scale(.28);opacity:0}
}
.ft-main{
  position:relative;z-index:2;
  padding:clamp(64px,7vw,96px) 0 clamp(52px,6vw,80px);
}
.ft-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:clamp(28px,3.5vw,60px);
  align-items:start;
}
.ft-col-hd{
  font-family:'Oswald',sans-serif;
  font-size:10px;font-weight:600;
  letter-spacing:.44em;text-transform:uppercase;
  color:var(--amber);
  margin-bottom:20px;padding-bottom:11px;
  border-bottom:1px solid rgba(242,154,18,.15);
  line-height:1;
}
.ft-logo-wrap{display:inline-block;margin-bottom:12px}
.ft-logo-wrap img{
  width:65px;height:65px;object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(242,154,18,.15));
  transition:filter .25s;
}
.ft-logo-wrap:hover img{filter:drop-shadow(0 0 22px rgba(242,154,18,.28))}
.ft-brand-name{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.ft-brand-wh{
  font-family:'Oswald',sans-serif;
  font-size:15px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--cream);line-height:1;
}
.ft-brand-ow{
  font-family:'Oswald',sans-serif;
  font-size:9.5px;font-weight:300;
  letter-spacing:.4em;text-transform:uppercase;
  color:rgba(242,154,18,.48);line-height:1;
}
.ft-brand-desc{
  font-family:'Lato',sans-serif;
  font-size:13.5px;line-height:1.78;
  color:var(--muted);
  max-width:260px;margin-bottom:22px;
}
.ft-socials{display:flex;gap:8px}
.ft-social-ic{
  width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(243,234,220,.15);border-radius:2px;
  color:rgba(243,234,220,.58);
  transition:color .22s,border-color .22s,background .22s,transform .22s;
}
.ft-social-ic:hover{
  color:var(--amber);border-color:rgba(242,154,18,.3);
  background:rgba(242,154,18,.05);transform:translateY(-2px);
}
.ft-social-ic svg{width:15px;height:15px;fill:currentColor;display:block}
.ft-list{list-style:none;display:flex;flex-direction:column}
.ft-list li{
  padding:9px 0;
  border-bottom:1px solid rgba(243,234,220,.05);
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  color:rgba(243,234,220,.68);
  line-height:1.4;
}
.ft-list li:last-child{border-bottom:none}
.ft-list a{
  color:inherit;text-decoration:none;
  display:inline-block;
  transition:color .2s,transform .2s;
}
.ft-list a:hover{
  color:rgba(243,234,220,.88);
  transform:translateX(4px);
}
.ft-contact-list{list-style:none;display:flex;flex-direction:column}
.ft-contact-list li{
  padding:10px 0;
  border-bottom:1px solid rgba(243,234,220,.05);
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  color:rgba(243,234,220,.68);
  line-height:1.5;
}
.ft-contact-list li:last-child{border-bottom:none}
.ft-contact-list a{color:inherit;text-decoration:none;transition:color .2s}
.ft-contact-list a:hover{color:var(--amber)}
.ft-contact-phone a{
  font-family:'Oswald',sans-serif;
  font-size:17px;letter-spacing:.06em;
  color:rgba(243,234,220,.78);font-weight:400;
}
.ft-book-cta a{
  font-family:'Oswald',sans-serif;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(242,154,18,.6);
  text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;
  transition:color .22s,gap .22s;
}
.ft-book-cta a:hover{color:var(--amber);gap:11px}
.ft-book-cta a span{display:inline-block;transition:transform .22s}
.ft-book-cta a:hover span{transform:translateX(3px)}
.ft-bottom{
  position:relative;z-index:2;
  border-top:1px solid rgba(243,234,220,.05);
  padding:clamp(15px,1.8vw,20px) 0;
}
.ft-bottom-inner{
  display:flex;align-items:center;
  justify-content:space-between;gap:16px;
}
.ft-copy{
  font-family:'Lato',sans-serif;font-size:10px;
  font-weight:300;letter-spacing:.13em;
  color:rgba(243,234,220,.48);
}
.ft-tagline{
  font-family:'Playfair Display',serif;
  font-size:10.5px;font-style:italic;
  color:rgba(242,154,18,.55);letter-spacing:.02em;
}
.ft-credit{
  font-family:'Lato',sans-serif;
  font-size:10px;font-weight:300;
  letter-spacing:.13em;
  color:rgba(255,255,255,.55);
  display:flex;align-items:center;
}
.ft-credit-link{
  display:flex;align-items:center;gap:6px;
  color:inherit;text-decoration:none;
  transition:opacity .2s ease;
}
.ft-credit-link:hover{opacity:.8;}
.ft-credit-name{
  font-family:'Playfair Display',serif;
  font-style:italic;
  color:rgba(255,255,255,.75);
  font-size:10.5px;
}
.ft-neutron-logo{
  height:14px;width:auto;
  opacity:.5;
}

/* ══════════════════════════
   REVEAL
══════════════════════════ */
.r{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
.r.rl{transform:translateX(-34px)}
.r.rr{transform:translateX(34px)}
.r.vis{opacity:1;transform:none}

/* ══════════════════════════
   SCROLL PROGRESS BAR
══════════════════════════ */
.progress-bar{
  position:fixed;top:0;left:0;z-index:9999;
  height:1.5px;width:0%;
  background:var(--amber);
  opacity:.7;
  transition:width .1s linear;
  pointer-events:none;
}

/* ══════════════════════════
   BACK TO TOP BUTTON
══════════════════════════ */
.btt{
  position:fixed;bottom:30px;right:30px;z-index:500;
  width:36px;height:36px;border-radius:2px;
  background:var(--dark-3);
  border:1px solid rgba(242,154,18,.22);
  box-shadow:0 4px 20px rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(14px) scale(.88);
  transition:opacity .35s,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
  pointer-events:none;
}
.btt.show{opacity:1;transform:none;pointer-events:auto}
.btt:hover{box-shadow:0 8px 24px rgba(0,0,0,.6);border-color:rgba(242,154,18,.5);transform:translateY(-2px)}
.btt svg{width:13px;height:13px;stroke:var(--amber)}


/* ══════════════════════════
   RESPONSIVE
══════════════════════════ */

@media(max-width:1024px){
  .ft-grid{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px)}
  .ft-col--brand{grid-column:1/-1}
  .ft-brand-desc{max-width:480px}
}
@media(max-width:900px){
  .bk2-cols{grid-template-columns:1fr}
  .bk2-col--mid{border:0;padding:0}
  .bk2-col:last-child textarea{height:clamp(180px,40vw,260px)}
  .bk2-proof{grid-template-columns:1fr 1fr;max-width:100%}
  .bk2-proof>div{border-bottom:1px solid rgba(242,154,18,.1);padding:clamp(12px,2vw,16px) clamp(10px,2vw,16px)}
  .bk2-proof>div:nth-child(2n){border-right:0}
  .bk2-proof>div:nth-child(3){border-bottom:0}
  .bk2-proof>div:last-child{border-bottom:0}
  .bk2-btn{width:100%}
  .bk2-footer-contact{gap:8px}
}
@media(max-width:640px){
  .ft-grid{grid-template-columns:1fr 1fr;gap:24px}
  .ft-col--brand{grid-column:1/-1}
  .ft-bottom-inner{flex-direction:column;gap:8px;text-align:center}
}
@media(max-width:520px){
  #catering{padding:60px 16px 64px}
  .bk2-card{padding:22px 18px 28px}
  .bk2-eyebrow span{display:none}
  .bk2-proof{grid-template-columns:1fr 1fr}
  .bk2-proof>div{border-right:0}
  .bk2-proof>div:nth-child(odd){border-right:1px solid rgba(242,154,18,.1)}
  .bk2-subtitle{font-size:13px;letter-spacing:.01em}
  .bk2-btn{height:58px;font-size:11px;letter-spacing:.34em}
}
@media(max-width:480px){
  .ft-grid{grid-template-columns:1fr}
}

@media(max-width:1200px){
  .site-header{grid-template-columns:180px 1fr auto}
  .brand img{width:80px;height:80px}
  .desktop-nav{gap:30px;font-size:19px}
  .nav-cta{font-size:13px;padding:10px 20px 10px 15px}
}

@media(max-width:1024px){
  .site-header{grid-template-columns:150px 1fr 50px}
  .brand img{width:74px;height:74px}
  .brand-wm-top{font-size:24px}
  .desktop-nav{gap:22px;font-size:17px}
  .nav-cta{display:none}
  .mobile-menu{display:flex}
  /* Remove sticky on the current-location card — prevents scroll lock on tablets and landscape phones */
  .loc2-cur{position:static}
}

@media(max-width:780px){
  :root{--nav-h:88px}
  .site-header{grid-template-columns:1fr auto;padding:14px 22px;align-items:center}
  .brand img{width:62px;height:62px}
  .brand-wm{gap:3px}
  .brand-wm-top{font-size:22px}
  .brand-wm-btm{font-size:10px;letter-spacing:.28em}
  .desktop-nav,.nav-cta{display:none}
  .mobile-menu{display:flex}

  .about-g{grid-template-columns:1fr;gap:clamp(40px,6vw,56px)}

  /* Location loc2 responsive */
  .loc2-grid{grid-template-columns:1fr}
  .loc2-cur{position:static}
  .loc2-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 10px;padding:14px 18px}
  .loc2-col-day{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:8px}
  .loc2-dayname{font-size:12px;letter-spacing:2px}
  .loc2-col-hrs{grid-column:2;grid-row:1;text-align:right;font-size:9px;align-self:center}
  .loc2-col-evt{grid-column:1/3;grid-row:2}
  .loc2-row--today{padding-left:16px}
  .loc2-cur-panel{aspect-ratio:16/9}
  .svcs-g{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr}

  /* Hibachi show */
  /* Experience carousel mobile */
  .exp-arrow{opacity:.75;width:42px;height:42px}
  .exp-prev{left:12px}
  .exp-next{right:12px}

  /* Stats */
  .stats-grid{grid-template-columns:1fr 1fr;gap:0}
  .stat-div{display:none}
  .stat{border-bottom:1px solid rgba(245,158,11,.08);padding:32px 18px}

  /* Final CTA */
  .fcta-palm{display:none}
  .fcta-btns{flex-direction:column;align-items:center}
  .fcta-btn{width:min(320px,100%);justify-content:center}
  .mgrid{grid-template-columns:1fr;gap:0}
  .about-float{right:0}
  .btt{display:none !important}

}

@media(max-width:430px){
  :root{--nav-h:80px}

  /* Stats mobile */
  .stats-grid{grid-template-columns:1fr}
  .stat{padding:26px 18px;border-bottom:1px solid rgba(245,158,11,.08)}

  .btt{display:none !important}


  /* Location loc2 small mobile */
  .loc2-title{font-size:clamp(2.2rem,10vw,3rem)}
}

@media(max-width:600px){
  /* Location: schedule row tighter */
  .loc2-row{padding:13px 16px}
  .loc2-row--today{padding-left:14px}
  .loc2-card-hd{padding:12px 16px 10px}
  .loc2-footnote{padding:11px 16px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ══════════════════════════
   FOOD TRUCK MENU (ftm)
══════════════════════════ */

/* Atmospheric bottom fire glow — bleeds warmth into the catering section above */
#menu.ftm::before{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:340px;
  z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(224,58,0,.20) 0%,rgba(224,58,0,.07) 55%,transparent);
}

/* Top edge warmth — ties into the dark header above */
#menu.ftm::after{
  content:'';
  position:absolute;
  left:0;right:0;top:0;
  height:140px;
  z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.22),transparent);
}

#menu.ftm{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(88px,9vw,120px) 0 clamp(72px,8vw,104px);
  background:var(--dark);
}

.ftm-bg{position:absolute;inset:0;z-index:-2;pointer-events:none}

.ftm-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 38% 32% at 0% 52%,rgba(224,58,0,.14),transparent 65%),
    radial-gradient(ellipse 34% 28% at 100% 52%,rgba(224,58,0,.10),transparent 62%),
    radial-gradient(ellipse 55% 30% at 50% 100%,rgba(242,154,18,.07),transparent 70%),
    radial-gradient(circle at 5% 10%,rgba(224,58,0,.28),transparent 3px),
    radial-gradient(circle at 96% 14%,rgba(224,58,0,.2),transparent 2px);
}

.ftm-bg::after{
  content:'';position:absolute;inset:0;
  background-image:url('menu-bg.png');
  background-repeat:repeat;background-size:auto;
  opacity:.2;
}

.ftm-inner{max-width:1120px}
#menu.ftm .wrap{position:relative;z-index:2}

.ftm-hd{text-align:center;margin-bottom:clamp(44px,5vw,62px)}
.ftm-hd .h1{letter-spacing:-.025em}
.ftm-hd .bar{display:block;margin:var(--sp-s) auto var(--sp-l)}

.ftm-eyebrow{
  display:inline-flex;align-items:center;gap:16px;
  font-family:'Oswald',sans-serif;
  font-size:11px;letter-spacing:.52em;text-transform:uppercase;
  color:var(--fire-l);margin-bottom:16px;
}

.ftm-eyebrow::before,.ftm-eyebrow::after{
  content:'';width:80px;height:1px;
  background:linear-gradient(90deg,transparent,var(--fire-l));
  opacity:.45;
}

.ftm-eyebrow::after{background:linear-gradient(90deg,var(--fire-l),transparent)}

.ftm-hd-flame{
  font-size:20px;display:block;margin-bottom:12px;
  filter:drop-shadow(0 0 12px rgba(224,58,0,.65));
}

.ftm-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.6rem,8vw,8.5rem);
  line-height:.88;font-weight:900;
  text-transform:uppercase;letter-spacing:.055em;
  color:var(--cream);
  text-shadow:0 8px 44px rgba(0,0,0,.9);
}

.ftm-script{
  display:block;margin-top:22px;
  font-family:'Yellowtail',cursive;
  font-size:clamp(1.7rem,3vw,3rem);
  line-height:1;color:var(--fire-l);
  transform:rotate(-1.5deg);
}

.ftm-tagline{
  margin-top:14px;
  font-family:'Oswald',sans-serif;
  font-size:clamp(11px,1.15vw,16px);
  letter-spacing:.4em;text-transform:uppercase;
  color:rgba(243,234,220,.7);
}

.ftm-ch{
  display:flex;align-items:center;gap:16px;
  font-family:'Oswald',sans-serif;
  font-size:clamp(1.35rem,2vw,2.1rem);
  font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fire-l);margin-bottom:24px;
}

.ftm-ch::before,.ftm-ch::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--fire-l));
  opacity:.45;
}

.ftm-ch::after{background:linear-gradient(90deg,var(--fire-l),transparent)}

.ftm-ch-note{
  margin:-14px 0 22px;
  font-family:'Oswald',sans-serif;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(243,234,220,.38);
}

.ftm-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,80px);
  align-items:start;
  margin-bottom:clamp(44px,5vw,64px);
}

.ftm-vdiv{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  height:100%;padding-top:56px;
}

.ftm-vdiv::before{
  content:'';position:absolute;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(224,58,0,.48) 25%,rgba(224,58,0,.48) 75%,transparent);
}

.ftm-vdiv span{
  position:relative;z-index:1;
  display:grid;place-items:center;
  width:40px;height:40px;border-radius:50%;
  background:#050505;font-size:16px;
  box-shadow:0 0 22px rgba(224,58,0,.3);
  border:1px solid rgba(224,58,0,.24);
}

.ftm-ul{list-style:none;display:flex;flex-direction:column}

.ftm-li{padding:11px 0;border-bottom:1px solid rgba(243,234,220,.07)}
.ftm-li:last-child{border-bottom:none}
.ftm-li-top{display:flex;align-items:center}

.ftm-li-top strong,.ftm-li--sm strong{
  font-family:'Oswald',sans-serif;
  font-size:clamp(16px,1.35vw,21px);
  font-weight:400;letter-spacing:.02em;
  color:rgba(243,234,220,.92);flex:0 0 auto;line-height:1.1;
}

.ftm-li-desc{
  display:block;margin-top:4px;
  font-family:'Lato',sans-serif;
  font-size:13px;color:rgba(243,234,220,.42);line-height:1.35;
}

.ftm-li--sm{display:flex;align-items:center}

.ftm-dot-line{
  flex:1;min-width:14px;height:1px;
  background:repeating-linear-gradient(
    90deg,
    rgba(243,234,220,.38) 0 2px,
    transparent 2px 8px
  );
  margin:0 10px;align-self:center;
}

.ftm-pr{
  font-family:'Oswald',sans-serif;
  font-size:clamp(16px,1.35vw,21px);
  letter-spacing:.06em;color:var(--fire-l);
  flex:0 0 auto;line-height:1;
  text-shadow:0 0 18px rgba(224,58,0,.24);
}

.ftm-combos{
  position:relative;
  margin-bottom:clamp(40px,5vw,56px);
  padding:36px 0;
  border-top:1px solid rgba(243,234,220,.06);
}

.ftm-combo-ul{list-style:none;display:flex;flex-direction:column}

.ftm-combo-li{
  display:flex;align-items:center;gap:12px;
  padding:12px 0;border-bottom:1px solid rgba(243,234,220,.07);flex-wrap:nowrap;
}

.ftm-combo-li:last-child{border-bottom:none}

.ftm-combo-name{
  flex:0 0 auto;min-width:clamp(130px,14%,200px);
  font-family:'Oswald',sans-serif;
  font-size:clamp(17px,1.4vw,22px);font-weight:400;
  color:rgba(243,234,220,.92);white-space:nowrap;
}

.ftm-combo-desc{
  flex:0 1 auto;font-style:normal;
  font-family:'Lato',sans-serif;
  font-size:14px;color:rgba(243,234,220,.5);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.ftm-sides{margin-bottom:clamp(36px,5vw,52px)}

.ftm-sides-g{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(224,58,0,.22);
  border-bottom:1px solid rgba(224,58,0,.22);
}

.ftm-side{
  display:flex;align-items:center;
  padding:14px 0;border-bottom:1px solid rgba(224,58,0,.14);
}

.ftm-sides-g .ftm-side:nth-child(3),
.ftm-sides-g .ftm-side:nth-child(4){border-bottom:none}

.ftm-sides-g .ftm-side:nth-child(odd){
  padding-right:clamp(16px,3vw,44px);
  border-right:1px solid rgba(224,58,0,.18);
}

.ftm-sides-g .ftm-side:nth-child(even){padding-left:clamp(16px,3vw,44px)}

.ftm-side strong{
  font-family:'Oswald',sans-serif;
  font-size:clamp(15px,1.25vw,20px);font-weight:400;
  color:rgba(243,234,220,.9);flex:0 0 auto;
}

.ftm-sauce{
  margin:0 auto clamp(28px,4vw,40px);
  max-width:600px;
  text-align:center;
  padding:18px 0;
  border-top:1px solid rgba(243,234,220,.055);
  border-bottom:1px solid rgba(243,234,220,.055);
}

.ftm-sauce-body{
  display:flex;align-items:center;justify-content:center;
  gap:14px;flex-wrap:wrap;
}

.ftm-sauce-pr{
  font-family:'Oswald',sans-serif;
  font-size:15px;letter-spacing:.06em;color:var(--fire-l);
  text-shadow:0 0 18px rgba(224,58,0,.24);
}

.ftm-sauce-body strong{
  font-family:'Oswald',sans-serif;
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;
  color:rgba(243,234,220,.36);font-weight:400;
}

.ftm-foot{
  padding-top:28px;
  border-top:1px solid rgba(224,58,0,.3);
  display:grid;
  grid-template-columns:1.2fr .85fr .9fr;
  gap:28px;align-items:start;
}

.ftm-foot-col{padding-right:28px;border-right:1px solid rgba(243,234,220,.1)}
.ftm-foot-col:last-child{border-right:none;padding-right:0}

.ftm-foot-fire{
  display:block;font-size:22px;margin-bottom:10px;
  filter:drop-shadow(0 0 10px rgba(224,58,0,.5));
}

.ftm-foot-col strong{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:16px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fire-l);margin-bottom:8px;
}

.ftm-foot-col>span,.ftm-foot-col>a{
  display:block;font-family:'Lato',sans-serif;
  font-size:14px;color:rgba(243,234,220,.6);line-height:1.5;
}

.ftm-foot-col>a:hover{color:var(--cream)}

.ftm-foot-soc{display:flex;gap:14px;margin:10px 0 8px}

.ftm-foot-soc a{
  color:rgba(243,234,220,.65);display:inline-flex;transition:color .2s;
}

.ftm-foot-soc a:hover{color:var(--fire-l)}

.ftm-foot-phone{
  font-family:'Oswald',sans-serif !important;
  font-size:clamp(18px,1.6vw,24px) !important;
  letter-spacing:.05em !important;
  color:rgba(243,234,220,.88) !important;
  margin-top:4px;transition:color .2s;
}

.ftm-foot-phone:hover{color:var(--fire-l) !important}

@media(max-width:900px){
  .ftm-cols{grid-template-columns:1fr}
  .ftm-vdiv{display:none}
  .ftm-col:first-child{padding-bottom:36px;border-bottom:1px solid rgba(224,58,0,.2)}
  .ftm-foot{grid-template-columns:1fr 1fr}
  .ftm-foot-col:nth-child(2){border-right:none;padding-right:0}
  .ftm-foot-col:last-child{grid-column:1/-1;padding-top:20px;border-top:1px solid rgba(243,234,220,.09)}
}

@media(max-width:640px){
  .ftm-combo-li{flex-wrap:wrap;row-gap:2px}
  .ftm-combo-desc{order:4;flex:0 0 100%;white-space:normal;overflow:visible;font-size:12px}
  .ftm-combo-name{min-width:0}
  .ftm-sides-g{grid-template-columns:1fr}
  .ftm-sides-g .ftm-side:nth-child(odd){padding-right:0;border-right:none}
  .ftm-sides-g .ftm-side:nth-child(even){padding-left:0}
  .ftm-sides-g .ftm-side:nth-child(3){border-bottom:1px solid rgba(224,58,0,.14)}
  .ftm-sides-g .ftm-side:last-child{border-bottom:none}
  .ftm-sauce{text-align:center;padding:22px 16px}
  .ftm-sauce-body{gap:10px}
  .ftm-sauce-body small{letter-spacing:.22em}
  .ftm-foot{grid-template-columns:1fr}
  .ftm-foot-col{border-right:none;padding-right:0;border-bottom:1px solid rgba(243,234,220,.09);padding-bottom:20px}
  .ftm-foot-col:last-child{grid-column:auto;border-bottom:none;border-top:none;padding-top:0;padding-bottom:0}
}

@media(max-width:480px){
  .ftm-title{font-size:clamp(3rem,16vw,4.8rem);letter-spacing:.03em}
  .ftm-script{font-size:1.9rem}
  .ftm-eyebrow{font-size:9px;letter-spacing:.32em}
  .ftm-eyebrow::before,.ftm-eyebrow::after{width:38px}
  .ftm-combos{padding:26px 0}
  .ftm-ch{font-size:1.5rem;letter-spacing:.14em}
  .ftm-ch::before,.ftm-ch::after{flex:0 0 28px}
}

/* ══════════════════════════
   FOOTER — PREMIUM MINIMAL
══════════════════════════ */
.ft-core{
  position:relative;z-index:2;
  padding:clamp(72px,8vw,104px) clamp(24px,3vw,40px) clamp(52px,6vw,72px);
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
}
.ft-logo{display:inline-block;margin-bottom:28px}
.ft-logo img{
  width:56px;height:56px;object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(242,154,18,.13));
  transition:filter .25s;
}
.ft-logo:hover img{filter:drop-shadow(0 0 22px rgba(242,154,18,.3))}
.ft-statement{
  font-family:'Oswald',sans-serif;font-size:10px;
  letter-spacing:.52em;text-transform:uppercase;
  color:rgba(243,234,220,.32);margin-bottom:32px;line-height:1;
}
.ft-num{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:clamp(1.55rem,2.8vw,2.2rem);
  letter-spacing:.08em;color:var(--cream);
  transition:color .2s;margin-bottom:16px;
}
.ft-num:hover{color:var(--amber)}
.ft-ig-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Oswald',sans-serif;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;
  color:rgba(243,234,220,.32);transition:color .2s;
  margin-bottom:36px;
}
.ft-ig-link svg{flex-shrink:0}
.ft-ig-link:hover{color:rgba(243,234,220,.65)}
.ft-book-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Oswald',sans-serif;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;
  padding:15px 38px;border-radius:2px;
  background:var(--fire);color:var(--cream);
  box-shadow:0 4px 18px rgba(204,34,0,.28);
  transition:filter .22s,transform .22s,box-shadow .22s;
  margin-bottom:48px;white-space:nowrap;
}
.ft-book-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 28px rgba(204,34,0,.45)}
.ft-copyright{
  font-family:'Lato',sans-serif;font-size:10px;font-weight:300;
  letter-spacing:.13em;color:rgba(243,234,220,.14);
  border-top:1px solid rgba(243,234,220,.06);
  padding-top:20px;width:100%;max-width:360px;
}

/* ══════════════════════════
   SCHEDULE.JS — DYNAMIC UI
   Status system: Green / Amber / Burgundy / Gray / Copper
══════════════════════════ */

/* ── STATUS PILLS ── */
.loc2-status-pill{
  display:inline-flex;align-items:center;
  font-family:'Oswald',sans-serif;font-size:7.5px;
  letter-spacing:2.5px;text-transform:uppercase;font-weight:700;
  padding:3px 8px;border-radius:1px;line-height:1.6;width:fit-content;
}
/* OPEN — Caribbean Green: fire is live */
.loc2-status-pill--open{
  background:rgba(34,211,111,.10);
  color:#22D36F;
  border:1px solid rgba(34,211,111,.32);
}
/* AVAILABLE — Caribbean Turquoise: available for private bookings */
.loc2-status-pill--avail{
  background:rgba(0,207,200,.10);
  color:#00CFC8;
  border:1px solid rgba(0,207,200,.32);
}
/* PRIVATE — Coral Fire: hibachi heat, exclusive event */
.loc2-status-pill--private{
  background:rgba(255,90,60,.12);
  color:#FF5A3C;
  border:1px solid rgba(255,90,60,.36);
}
/* CLOSED — Warm stone: informative, quieter than active days */
.loc2-status-pill--closed{
  background:rgba(143,126,106,.12);
  color:#8F7E6A;
  border:1px solid rgba(143,126,106,.30);
}
/* TBD — Luxury Gold: pending announcement */
.loc2-status-pill--tbd{
  background:rgba(217,164,65,.10);
  color:#D9A441;
  /* Dashed everywhere TBD appears — a second channel besides colour, so the
     meaning survives a 7px pill and a colour-blind reader */
  border:1px dashed rgba(217,164,65,.45);
}

/* ── TODAY PILL — removed in favor of row accent border ── */
.loc2-today-pill{
  display:none !important;
}

/* ── SCHEDULE ROWS — status color system ── */

/* Today — structural only; border + background come from status below */
.loc2-row--today{
  border-left:4px solid transparent !important;
  padding-left:20px;
}
.loc2-row--today .loc2-dayname{color:rgba(243,234,220,.95);font-weight:600}

/* Today + OPEN — Caribbean Green */
.loc2-row--today.loc2-row--open{
  background:linear-gradient(90deg,rgba(34,211,111,.10) 0%,transparent 75%) !important;
  border-left-color:#22D36F !important;
}
.loc2-row--today.loc2-row--open .loc2-evt-name,
.loc2-row--today.loc2-row--open .loc2-col-hrs{color:#22D36F !important}

/* Today + AVAILABLE — Caribbean Turquoise */
.loc2-row--today.loc2-row--avail{
  background:linear-gradient(90deg,rgba(0,207,200,.10) 0%,transparent 75%) !important;
  border-left-color:#00CFC8 !important;
}
.loc2-row--today.loc2-row--avail .loc2-col-hrs{color:#00CFC8 !important}

/* Today + PRIVATE — Coral Fire */
.loc2-row--today.loc2-row--private{
  background:linear-gradient(90deg,rgba(255,90,60,.09) 0%,transparent 75%) !important;
  border-left-color:#FF5A3C !important;
}
.loc2-row--today.loc2-row--private .loc2-col-hrs{color:#FF5A3C !important}

/* Today + CLOSED — Warm Stone */
.loc2-row--today.loc2-row--closed{
  background:linear-gradient(90deg,rgba(143,126,106,.09) 0%,transparent 75%) !important;
  border-left-color:#8F7E6A !important;
}
.loc2-row--today.loc2-row--closed .loc2-col-hrs{color:#8F7E6A !important}

/* Today + TBD — Luxury Gold */
.loc2-row--today.loc2-row--tbd{
  background:linear-gradient(90deg,rgba(217,164,65,.10) 0%,transparent 75%) !important;
  border-left-color:#D9A441 !important;
}
.loc2-row--today.loc2-row--tbd .loc2-col-hrs{color:#D9A441 !important}

/* OPEN — Caribbean Green */
.loc2-row--open{background:rgba(34,211,111,.04)}
.loc2-row--open .loc2-dayname{color:rgba(243,234,220,.90)}
.loc2-row--open .loc2-evt-name{color:#22D36F;font-weight:600}
.loc2-row--open .loc2-col-hrs{color:rgba(34,211,111,.82)}

/* AVAILABLE — Caribbean Turquoise */
.loc2-row--avail{
  background:rgba(0,207,200,.05) !important;
  border-left:2px solid rgba(0,207,200,.28) !important;
}
.loc2-row--avail .loc2-dayname{color:rgba(243,234,220,.90) !important}
.loc2-row--avail .loc2-evt-name{color:#00CFC8 !important;font-style:normal !important;font-weight:600 !important}
.loc2-row--avail .loc2-col-hrs{color:rgba(0,207,200,.78) !important}

/* PRIVATE — Coral Fire: hibachi heat, sunset, unmistakably reserved */
.loc2-row--private{
  background:rgba(255,90,60,.05);
  border-left:2px solid rgba(255,90,60,.32);
}
.loc2-row--private .loc2-dayname{color:rgba(243,234,220,.82)}
.loc2-row--private .loc2-evt-name{color:#FF5A3C;font-style:normal}
.loc2-row--private .loc2-col-hrs{color:rgba(255,90,60,.78)}

/* CLOSED — Warm stone: informative, never invisible, quieter than active days */
.loc2-row--closed{background:rgba(143,126,106,.022)}
.loc2-row--closed .loc2-dayname{color:rgba(143,126,106,.75)}
.loc2-row--closed .loc2-evt-name{color:#8F7E6A}
.loc2-row--closed .loc2-col-hrs{color:rgba(143,126,106,.65)}

/* TBD — Luxury Gold: pending, location coming soon */
.loc2-row--tbd{background:rgba(217,164,65,.04)}
.loc2-row--tbd .loc2-dayname{color:rgba(217,164,65,.78)}
.loc2-row--tbd .loc2-evt-name{color:#D9A441;font-style:italic}
.loc2-row--tbd .loc2-col-hrs{color:rgba(217,164,65,.65)}

/* ── PANEL BOTTOM FADE — sits above photo, under inner content ── */
.loc2-cur-panel::after{
  content:'';
  position:absolute;left:0;right:0;bottom:0;
  height:72%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(4,2,2,.92) 0%,
    rgba(4,2,2,.72) 22%,
    rgba(4,2,2,.38) 46%,
    rgba(4,2,2,.10) 68%,
    transparent 88%
  );
}

/* ── PANEL PHOTO ── */
.loc2-cur-panel-photo{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:38% 54%;
  opacity:.82;pointer-events:none;z-index:1;
}
.loc2-cur-panel-glow{
  width:150%;height:92%;bottom:-10%;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 30%,rgba(0,0,0,.12) 65%,transparent 82%),
    radial-gradient(ellipse at 50% 85%,rgba(224,58,0,.09) 0%,rgba(242,154,18,.04) 42%,transparent 66%);
}

/* ── LOADING / ERROR ── */
.loc2-loading{padding:clamp(28px,4vw,44px) 24px;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}
.loc2-loading span{font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(243,234,220,.16);animation:loc2-loading-pulse 1.8s ease-in-out infinite}
@keyframes loc2-loading-pulse{0%,100%{opacity:.5}50%{opacity:1}}
.loc2-error{padding:clamp(28px,4vw,44px) 24px;text-align:center}
.loc2-error p{font-family:'Lato',sans-serif;font-size:13px;line-height:1.75;color:rgba(243,234,220,.3)}
.loc2-error p+p{margin-top:6px}
.loc2-error a{color:var(--amber);text-decoration:none;font-family:'Oswald',sans-serif;letter-spacing:1px}
.loc2-error a:hover{color:var(--amber-l)}

/* ── WEEK TABS ── */
.loc2-week-tabs{
  position:relative;
  display:flex;
  overflow-x:auto;
  scrollbar-width:none;
  border-bottom:1px solid rgba(243,234,220,.07);
  flex-shrink:0;
  /* Without this the horizontal swipe chains to the page and to iOS's
     back-gesture — the strip stole a gesture that was never meant for it. */
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  /* Edge fades are the only signal that more weeks exist; JS sets data-edge */
  --edge-l:transparent;
  --edge-r:transparent;
  mask-image:linear-gradient(to right,var(--edge-l) 0,#000 28px,#000 calc(100% - 28px),var(--edge-r) 100%);
  -webkit-mask-image:linear-gradient(to right,var(--edge-l) 0,#000 28px,#000 calc(100% - 28px),var(--edge-r) 100%);
}
.loc2-week-tabs[data-edge~="start"]{--edge-l:transparent}
.loc2-week-tabs[data-edge~="nostart"]{--edge-l:#000}
.loc2-week-tabs[data-edge~="end"]{--edge-r:transparent}
.loc2-week-tabs[data-edge~="noend"]{--edge-r:#000}

/* Sliding indicator. A border-color swap cannot show which way you moved;
   one bar that travels can. transform only, so it stays on the GPU. */
.loc2-week-ind{
  position:absolute;left:0;bottom:-1px;
  width:1px;height:2px;
  background:var(--amber);
  transform-origin:left center;
  transform:translateX(0) scaleX(0);
  transition:transform .28s cubic-bezier(.23,1,.32,1);
  pointer-events:none;
}
.loc2-week-tabs::-webkit-scrollbar{display:none}
.loc2-week-tab{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;                       /* was ~30px — under the touch minimum */
  font-family:'Oswald',sans-serif;
  font-size:9.5px;letter-spacing:2.2px;text-transform:uppercase;
  padding:0 18px;
  color:rgba(243,234,220,.35);
  background:transparent;border:none;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  scroll-snap-align:start;
  transition:color .2s ease;
  line-height:1;
}
@media(hover:hover) and (pointer:fine){
  .loc2-week-tab:hover{color:rgba(243,234,220,.7)}
}
.loc2-week-tab:active{color:var(--cream)}
.loc2-week-tab:hover{color:rgba(243,234,220,.65)}
.loc2-week-tab--active{color:var(--cream)}

/* ══════════════════════════
   LOCATION — PREMIUM PANEL SYSTEM
   Now Serving panel: status-driven accent colors
══════════════════════════ */

/* ── NOW SERVING EYEBROW ── */
.loc2-cur-eyebrow{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:15px clamp(16px,2vw,22px) 12px;
  font-family:'Oswald',sans-serif;font-size:9.5px;
  letter-spacing:5.5px;text-transform:uppercase;
  color:rgba(243,234,220,.96);
  font-weight:700;
  border-bottom:1px solid rgba(243,234,220,.11);
  transition:color .3s ease;
}
.loc2-cur-eyebrow-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:rgba(243,234,220,.55);
  transition:background .3s ease,box-shadow .3s ease;
}
.loc2-cur-eyebrow-title{
  display:inline-block;
  font-size:9px;letter-spacing:4px;
  color:rgba(243,234,220,.60);font-weight:600;
}

/* ── PANEL HOURS — base ── */
.loc2-cur-hrs{
  font-family:'Oswald',sans-serif;
  font-size:clamp(16px,1.5vw,21px);
  letter-spacing:2px;font-weight:600;
  color:var(--amber);
  transition:color .3s ease;
}
.loc2-cur-time-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.loc2-cur-day-ref{
  font-family:'Oswald',sans-serif;font-size:9px;
  letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(243,234,220,.52);
}

/* ── PANEL BODY TEXT ── */
.loc2-cur-addr{
  font-family:'Lato',sans-serif;font-size:14px;
  font-style:normal;color:rgba(243,234,220,.84);line-height:1.6;
}

/* ── PANEL STATUS THEMING — data-status attribute ── */

/* OPEN — Caribbean Green */
.loc2-cur[data-status="open"]{border-top-color:rgba(34,211,111,.48) !important}
.loc2-cur[data-status="open"] .loc2-cur-eyebrow-dot{
  background:#22D36F;
  box-shadow:0 0 6px rgba(34,211,111,.7),0 0 12px rgba(34,211,111,.35);
  animation:live-pulse-dot 1.8s ease-in-out infinite;
}
.loc2-cur[data-status="open"] .loc2-cur-hrs{color:#22D36F}
.loc2-cur[data-status="open"] .loc2-cur-panel-glow{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 30%,rgba(0,0,0,.12) 65%,transparent 82%),
    radial-gradient(ellipse at 50% 85%,rgba(34,211,111,.08) 0%,rgba(34,211,111,.03) 42%,transparent 66%);
}

/* AVAILABLE — Caribbean Turquoise */
.loc2-cur[data-status="available"]{border-top-color:rgba(0,207,200,.48) !important}
.loc2-cur[data-status="available"] .loc2-cur-eyebrow-dot{
  background:#00CFC8;
  box-shadow:0 0 6px rgba(0,207,200,.7),0 0 12px rgba(0,207,200,.35);
  animation:live-pulse-dot 1.8s ease-in-out infinite;
}
.loc2-cur[data-status="available"] .loc2-cur-hrs{color:#00CFC8}
.loc2-cur[data-status="available"] .loc2-cur-panel-glow{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 30%,rgba(0,0,0,.12) 65%,transparent 82%),
    radial-gradient(ellipse at 50% 85%,rgba(0,207,200,.10) 0%,rgba(0,207,200,.04) 42%,transparent 66%);
}

/* PRIVATE / BOOKED — Coral Fire */
.loc2-cur[data-status="private"],
.loc2-cur[data-status="booked"]{border-top-color:rgba(255,90,60,.52) !important}
.loc2-cur[data-status="private"] .loc2-cur-eyebrow-dot,
.loc2-cur[data-status="booked"] .loc2-cur-eyebrow-dot{
  background:#FF5A3C;
  box-shadow:0 0 6px rgba(255,90,60,.60),0 0 12px rgba(255,90,60,.28);
  animation:live-pulse-dot 2.4s ease-in-out infinite;
}
.loc2-cur[data-status="private"] .loc2-cur-hrs,
.loc2-cur[data-status="booked"] .loc2-cur-hrs{color:#FF5A3C}
.loc2-cur[data-status="private"] .loc2-cur-panel-glow,
.loc2-cur[data-status="booked"] .loc2-cur-panel-glow{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 30%,rgba(0,0,0,.12) 65%,transparent 82%),
    radial-gradient(ellipse at 50% 85%,rgba(255,90,60,.10) 0%,rgba(255,90,60,.04) 42%,transparent 66%);
}

/* CLOSED — Warm stone: readable, present, quieter than active states */
.loc2-cur[data-status="closed"]{border-top-color:rgba(143,126,106,.28) !important}
.loc2-cur[data-status="closed"] .loc2-cur-eyebrow-dot{
  background:#8F7E6A;
  box-shadow:none;
  animation:none;
}
.loc2-cur[data-status="closed"] .loc2-cur-hrs{color:#8F7E6A}

/* TBD — Luxury Gold */
.loc2-cur[data-status="tbd"]{border-top-color:rgba(217,164,65,.40) !important}
.loc2-cur[data-status="tbd"] .loc2-cur-eyebrow-dot{
  background:#D9A441;
  box-shadow:0 0 6px rgba(217,164,65,.50),0 0 12px rgba(217,164,65,.22);
  animation:none;
}
.loc2-cur[data-status="tbd"] .loc2-cur-hrs{color:#D9A441}

/* ── MISC READABILITY ── */
.loc2-evt-city{color:rgba(243,234,220,.78)}
.loc2-card-label{color:rgba(243,234,220,.70)}
.loc2-footnote{color:rgba(243,234,220,.50)}
.loc2-footnote a{color:rgba(242,154,18,.78);transition:color .2s ease}
.loc2-footnote a:hover{color:rgba(242,154,18,.96)}
.loc2-sub{color:rgba(168,152,136,.88)}
.loc2-col-hrs{font-weight:600;font-size:12px;letter-spacing:1.8px}

/* ── DIRECTIONS BUTTON ── */
.loc2-btn-dir{
  height:52px;font-size:10px;
  letter-spacing:.28em;
  box-shadow:0 6px 22px rgba(224,58,0,.38);
}
.loc2-btn-dir:hover{box-shadow:0 12px 32px rgba(224,58,0,.52)}

/* ── BOOK BUTTON ── */
.loc2-btn-book{
  height:52px;
  color:rgba(243,234,220,.72);
  border-color:rgba(243,234,220,.14);
  font-size:10px;letter-spacing:.24em;
}
.loc2-btn-book:hover{
  color:rgba(243,234,220,.96);
  border-color:rgba(242,154,18,.36);
  background:rgba(242,154,18,.06);
}

/* ── PANEL NAME — editorial scale ── */
.loc2-cur-panel-name{
  font-size:clamp(2.1rem,3.5vw,3.5rem) !important;
  font-weight:900 !important;
  text-shadow:
    0 1px 4px rgba(0,0,0,.95),
    0 4px 16px rgba(0,0,0,.80),
    0 12px 40px rgba(0,0,0,.55) !important;
  line-height:.93 !important;
  letter-spacing:-.03em !important;
}

/* ── FRESHNESS SIGNAL ── */
.loc2-freshness{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:13px;
  font-family:'Oswald',sans-serif;font-size:8px;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(243,234,220,.54);
}
.loc2-freshness-cal{color:rgba(242,154,18,.72);font-size:11px;line-height:1}

/* ── NEXT STOP (shown when CLOSED or TBD) ── */
.loc2-next-stop{
  display:flex;flex-direction:column;gap:4px;
  margin-top:10px;padding:9px 12px;
  background:rgba(242,154,18,.04);
  border-left:2px solid rgba(242,154,18,.22);
  border-radius:0 2px 2px 0;
}
.loc2-next-stop-label{
  font-family:'Oswald',sans-serif;font-size:7px;
  letter-spacing:4px;text-transform:uppercase;
  color:rgba(242,154,18,.48);line-height:1;
}
.loc2-next-stop-val{
  font-family:'Lato',sans-serif;font-size:13px;
  font-weight:600;color:rgba(243,234,220,.80);line-height:1.3;
}

/* ── FOOTER ── */
.loc2-cur-footer>span{color:rgba(243,234,220,.50)}
.loc2-ig-handle{color:rgba(243,234,220,.58)}
.loc2-ig-handle:hover{color:var(--amber)}

/* ── CONVERSION BRIDGE ── */
.loc2-bridge{
  margin-top:clamp(52px,6vw,80px);
  padding:clamp(26px,3.2vw,42px) clamp(28px,4vw,52px);
  background:rgba(8,5,3,.82);
  border:1px solid rgba(242,154,18,.13);
  border-top:2px solid rgba(242,154,18,.28);
  border-radius:2px;
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(20px,4vw,52px);
  position:relative;overflow:hidden;
}
.loc2-bridge::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 80% at 0% 50%,rgba(242,154,18,.042),transparent 65%),
    radial-gradient(ellipse 32% 60% at 100% 50%,rgba(11,143,134,.022),transparent 58%);
}
.loc2-bridge-text{flex:1;min-width:0;position:relative;z-index:1}
.loc2-bridge-eyebrow{
  font-family:'Oswald',sans-serif;font-size:8px;
  letter-spacing:4px;text-transform:uppercase;
  color:var(--amber);margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.loc2-bridge-eyebrow::before{
  content:'';display:block;width:26px;height:1px;
  background:var(--amber);opacity:.5;flex-shrink:0;
}
.loc2-bridge-headline{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.1rem,1.7vw,1.42rem);
  font-weight:700;color:var(--cream);
  letter-spacing:-.01em;line-height:1.2;margin-bottom:8px;
}
.loc2-bridge-sub{
  font-family:'Lato',sans-serif;
  font-size:13.5px;color:var(--muted);
  line-height:1.65;font-weight:300;
}
.loc2-bridge-cta{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:14px;
  height:52px;padding:0 30px;
  font-family:'Oswald',sans-serif;font-size:9.5px;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--cream);background:transparent;
  border:1px solid rgba(242,154,18,.42);border-radius:2px;
  white-space:nowrap;flex-shrink:0;
  transition:background .25s,border-color .25s,transform .25s ease,box-shadow .25s;
}
.loc2-bridge-cta:hover{
  background:rgba(242,154,18,.07);
  border-color:rgba(242,154,18,.78);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.36);
}

@media(max-width:780px){
  .loc2-bridge{flex-direction:column;align-items:flex-start;gap:22px}
  .loc2-bridge-cta{width:100%;justify-content:space-between}
}

/* ══════════════════════════
   SCHEDULE → FINAL CTA: ATMOSPHERIC CONTINUITY
   Subtle, invisible, intentional.
══════════════════════════ */

/* Additional embers at the bottom of the schedule section — very quiet */
.loc2-embers span:nth-child(4){left:55%;--d:21s;--del:7s;background:rgba(224,58,0,.15);width:2px;height:2px}
.loc2-embers span:nth-child(5){left:28%;--d:26s;--del:11s;background:rgba(242,154,18,.13)}
.loc2-embers span:nth-child(6){left:82%;--d:17s;--del:4s;background:rgba(224,58,0,.12)}
.loc2-embers span:nth-child(7){left:64%;--d:24s;--del:14s;width:2px;height:2px}

/* Schedule section bottom: a clean, natural dark fade — no glow, no gap */
.loc2::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:96px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,rgba(5,2,2,1) 100%);
}

/* fcta-bg pseudo-elements handle the image and overlays — no override needed here */

/* Top of Final CTA: replace the 1px amber rule with a very low warmth — no drama */
#final-cta::before{
  left:0;right:0;
  height:120px;
  background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(160,38,0,.09),transparent 58%);
}

/* Headline: quiet depth — warmth implied, not announced */
.fcta-headline{
  text-shadow:0 0 44px rgba(160,38,0,.09),0 4px 18px rgba(0,0,0,.82);
}
.fcta-headline span{
  text-shadow:0 0 32px rgba(204,110,0,.09),0 4px 14px rgba(0,0,0,.72);
}

/* ══════════════════════════════════════════════
   NOW SERVING CARD — MOBILE ART DIRECTION
   Truck as hero · tighter rhythm · premium scan
══════════════════════════════════════════════ */
@media(max-width:780px){

  /* HERO BAR: hide "Book your event →" and its dot separator when available — too long on mobile */
  .hero-location-inner[data-status="available"] > :nth-last-child(1),
  .hero-location-inner[data-status="available"] > :nth-last-child(2){
    display:none;
  }

  /* 1 — REFRAME: center on truck body/logo, less sky and less lower body */
  .loc2-cur-panel-photo{
    object-position:38% 42%;
  }

  /* 4 — OVERLAY: heavier bottom gradient behind the title without darkening the overall image */
  .loc2-cur-panel::after{
    height:80%;
    background:linear-gradient(
      to top,
      rgba(4,2,2,.98) 0%,
      rgba(4,2,2,.92) 20%,
      rgba(4,2,2,.72) 42%,
      rgba(4,2,2,.30) 62%,
      rgba(4,2,2,.08) 78%,
      transparent 90%
    );
  }

  /* 2 — TITLE: ~12% reduction in font size, same typographic voice */
  .loc2-cur-panel-name{
    font-size:clamp(1.85rem,5.8vw,2.4rem) !important;
    line-height:.95 !important;
  }

  /* 3 — HIERARCHY: "Current Location" label — elevated contrast and presence */
  .loc2-cur-panel-label{
    font-size:9.5px;
    letter-spacing:3.5px;
    color:rgba(243,234,220,.88);
  }

  /* 3 — HIERARCHY: panel inner — tighter gap between label and name */
  .loc2-cur-panel-inner{
    gap:6px;
  }

  /* 5 — TIGHTER CARD: recover vertical space below the image */
  .loc2-cur-body{
    padding:11px 18px 5px;
  }
  .loc2-cur-time-row{
    margin-bottom:4px;
  }
  .loc2-cur-btns{
    padding:0 18px 12px;
    gap:8px;
  }
  .loc2-cur-footer{
    padding:7px 18px 10px;
  }

}

/* ══════════════════════════
   DATE PICKER CALENDAR
══════════════════════════ */
.bk2-date-wrap{position:relative}
#eventDateInput{cursor:pointer;user-select:none}

.bk2-cal{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  z-index:400;
  width:288px;
  max-width:calc(100vw - 48px);
  background:linear-gradient(165deg,rgba(22,16,8,.99) 0%,rgba(10,7,3,1) 100%);
  border:1px solid rgba(242,154,18,.38);
  border-radius:8px;
  box-shadow:0 24px 64px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);
  padding:16px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px) scale(.98);
  transform-origin:top left;
  transition:opacity .2s ease,transform .2s ease;
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}
.bk2-cal.open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.bk2-cal-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;padding-bottom:12px;
  border-bottom:1px solid rgba(242,154,18,.1);
}
.bk2-cal-nav{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(242,154,18,.06);
  border:1px solid rgba(242,154,18,.18);
  border-radius:3px;
  color:rgba(243,234,220,.65);
  font-size:18px;line-height:1;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s;
  font-family:inherit;padding:0;
}
.bk2-cal-nav:hover{
  background:rgba(242,154,18,.14);
  border-color:rgba(242,154,18,.4);
  color:var(--amber);
}
.bk2-cal-month{
  font-family:'Oswald',sans-serif;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--cream);line-height:1;
}

.bk2-cal-dow{
  display:grid;grid-template-columns:repeat(7,1fr);
  margin-bottom:4px;
}
.bk2-cal-dow span{
  text-align:center;
  font-family:'Oswald',sans-serif;
  font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(243,234,220,.28);
  padding:3px 0 7px;
}

.bk2-cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:1px;
}
.bk2-cal-day{
  aspect-ratio:1;width:100%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Lato',sans-serif;font-size:12px;font-weight:400;
  color:rgba(243,234,220,.75);
  border-radius:3px;
  cursor:pointer;
  background:transparent;
  border:1px solid transparent;
  transition:background .14s,color .14s,border-color .14s;
  line-height:1;padding:0;
}
.bk2-cal-day:not(.past):not(.empty):hover{
  background:rgba(242,154,18,.12);
  color:var(--cream);
  border-color:rgba(242,154,18,.22);
}
.bk2-cal-day.today{
  border-color:rgba(242,154,18,.45);
  color:var(--amber);
  font-weight:700;
}
.bk2-cal-day.selected{
  background:var(--amber);
  color:var(--dark);
  font-weight:700;
  border-color:transparent;
}
.bk2-cal-day.selected:hover{background:var(--amber-l);color:var(--dark)}
.bk2-cal-day.past{
  color:rgba(243,234,220,.17);
  cursor:default;
}
.bk2-cal-day.empty{cursor:default;background:transparent;border-color:transparent}

@media(max-width:480px){
  .bk2-cal{
    width:calc(100vw - 48px);
    left:50%;
    transform:translateX(-50%) translateY(-8px) scale(.98);
  }
  .bk2-cal.open{
    transform:translateX(-50%) translateY(0) scale(1);
  }
}

/* ══════════════════════════
   LIVE SCHEDULE SWAPS
   The schedule updates while the page is open. Blurring through the change
   reads as one element transforming, instead of two strings overlapping.
══════════════════════════ */
.hero-location-inner,
.loc2-cur-panel-name,
.loc2-cur-hrs,
.loc2-cur-day-ref,
.loc2-cur-addr{transition:filter .2s ease,opacity .2s ease}

.hero-location-inner.is-swapping,
.loc2-cur-panel-name.is-swapping,
.loc2-cur-hrs.is-swapping,
.loc2-cur-day-ref.is-swapping,
.loc2-cur-addr.is-swapping{filter:blur(2.5px);opacity:.45}

@media(prefers-reduced-motion:reduce){
  .hero-location-inner.is-swapping,
  .loc2-cur-panel-name.is-swapping,
  .loc2-cur-hrs.is-swapping,
  .loc2-cur-day-ref.is-swapping,
  .loc2-cur-addr.is-swapping{filter:none;opacity:.6}
}


/* ══════════════════════════
   SCHEDULE ROWS — WEEK SWAP
   Which direction the week moved is the only thing this carries. 6px is
   enough to orient and too small to feel like waiting.
══════════════════════════ */
.loc2-rows{transition:opacity .18s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1)}
.loc2-rows[data-shift="next"]{opacity:0;transform:translateX(-6px)}
.loc2-rows[data-shift="prev"]{opacity:0;transform:translateX(6px)}

@media(prefers-reduced-motion:reduce){
  .loc2-rows[data-shift]{transform:none}
  .loc2-week-ind{transition-duration:120ms}
}
