/* ==========================================================================
   WOK n PAN — sections.css
   Page sections — hero, marquee, menu, services, reviews, about, gallery, contact
   ========================================================================== */

/* ================================= Hero ================================== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + 40px) 0 90px;overflow:hidden;background:var(--charcoal-2);
}
.hero-bg{position:absolute;inset:-8% 0 -14%;z-index:0;will-change:transform}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:brightness(.62) saturate(1.12)}
.hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 70% 60% at 22% 48%,rgba(12,8,6,.86),transparent 72%),
    linear-gradient(90deg,rgba(12,8,6,.94) 0%,rgba(14,9,7,.74) 45%,rgba(14,9,7,.30) 78%,rgba(20,12,8,.6) 100%),
    linear-gradient(180deg,rgba(12,8,6,.9) 0%,transparent 24%,transparent 58%,rgba(12,8,6,.95) 100%);
}
.hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background:radial-gradient(circle at 78% 42%,rgba(230,126,34,.22),transparent 46%);
}
.hero-in{position:relative;z-index:3;width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}

.badge-open{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(26,26,26,.6);border:1px solid rgba(39,174,96,.5);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  border-radius:var(--r-pill);padding:8px 18px 8px 14px;margin-bottom:22px;
  font-family:var(--f-head);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);font-weight:500;
}
.dot{width:9px;height:9px;border-radius:50%;background:var(--basil);position:relative;flex:none}
.dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--basil);animation:ping 1.9s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.85}80%,100%{transform:scale(3);opacity:0}}

.hero-eyebrow{
  font-family:var(--f-head);font-size:clamp(.68rem,1.5vw,.84rem);letter-spacing:.44em;text-transform:uppercase;
  color:var(--saffron);font-weight:400;margin-bottom:14px;
}
.hero-title{
  font-family:var(--f-hero);font-weight:400;line-height:.92;letter-spacing:-.5px;
  font-size:clamp(3.3rem,10.5vw,7.4rem);color:var(--cream);
  text-shadow:0 6px 40px rgba(0,0,0,.7),0 0 70px rgba(192,57,43,.42);
}
.hero-title .n{font-family:var(--f-quote);font-style:italic;font-weight:600;color:var(--chili-lite);font-size:.62em;padding:0 .1em;text-shadow:0 0 34px rgba(192,57,43,.9)}
.hero-tag{
  font-family:var(--f-quote);font-style:italic;font-weight:500;
  font-size:clamp(1.16rem,3.1vw,1.86rem);color:rgba(255,248,240,.93);
  margin:20px 0 34px;max-width:37ch;text-shadow:0 3px 18px rgba(0,0,0,.7);
}
.hero-btns{display:flex;flex-wrap:wrap;gap:15px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  font-family:var(--f-head);font-size:.82rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  padding:16px 32px;min-height:48px;border-radius:var(--r-pill);position:relative;overflow:hidden;
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .32s,color .32s,border-color .32s;
}
.btn i{transition:transform .32s var(--ease)}
.btn-red{color:#fff;background:linear-gradient(135deg,var(--chili),var(--ember));box-shadow:var(--sh-glow)}
.btn-red::before{
  content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--saffron),var(--chili-lite));
  opacity:0;transition:opacity .35s;z-index:-1;
}
.btn-red:hover{transform:translateY(-3px);box-shadow:var(--sh-glow-lg);animation:pulseGlow 1.5s ease-in-out infinite}
.btn-red:hover::before{opacity:1}
.btn-red:hover i.fa-arrow-right{transform:translateX(5px)}
@keyframes pulseGlow{
  0%,100%{box-shadow:0 18px 44px rgba(192,57,43,.42),0 0 0 0 rgba(192,57,43,.5)}
  50%{box-shadow:0 22px 56px rgba(192,57,43,.55),0 0 0 14px rgba(192,57,43,0)}
}
.btn-gold{color:var(--saffron-lite);border:1.6px solid var(--saffron);background:rgba(26,26,26,.34);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.btn-gold:hover{background:var(--saffron);color:var(--charcoal);transform:translateY(-3px);box-shadow:0 16px 40px rgba(230,126,34,.44)}
.btn-ghost{color:var(--chili);border:1.6px solid rgba(192,57,43,.4)}
.btn-ghost:hover{background:var(--chili);color:#fff;border-color:var(--chili);transform:translateY(-2px);box-shadow:var(--sh-glow)}
.btn-sm{padding:11px 22px;font-size:.72rem;min-height:42px}
.btn:disabled,.btn[aria-busy="true"]{opacity:.6;pointer-events:none}

/* hero art */
.hero-art{position:relative;display:grid;place-items:center;min-height:400px}
.wok-orb{
  position:relative;width:min(400px,80%);aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:2px solid rgba(230,126,34,.4);
  box-shadow:0 0 0 12px rgba(192,57,43,.10),0 0 90px 20px rgba(230,126,34,.32),inset 0 0 70px rgba(0,0,0,.6);
  animation:floaty 6.5s ease-in-out infinite;
}
.wok-orb img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.wok-orb::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 78%,transparent 40%,rgba(20,10,6,.62))}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1.4deg)}}
#lottieWok{position:absolute;width:200px;height:200px;right:-4%;bottom:-4%;pointer-events:none;filter:drop-shadow(0 12px 30px rgba(192,57,43,.6))}

.float-chip{
  position:absolute;display:flex;align-items:center;gap:9px;
  background:rgba(255,248,240,.95);color:var(--charcoal);border-radius:var(--r-pill);
  padding:9px 16px;box-shadow:0 14px 34px rgba(0,0,0,.42);
  font-family:var(--f-head);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
}
.float-chip b{color:var(--chili);font-family:var(--f-logo);font-size:.92rem}
.float-chip.c1{top:6%;left:-4%;animation:floaty 5.2s ease-in-out infinite}
.float-chip.c2{bottom:16%;left:-8%;animation:floaty 6.4s ease-in-out .8s infinite}
.float-chip.c3{top:20%;right:-6%;animation:floaty 5.8s ease-in-out .4s infinite;background:var(--basil);color:#fff}
.float-chip.c3 b{color:#fff}

.scroll-cue{
  position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:9px;
  font-family:var(--f-head);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,248,240,.6);
}
.scroll-cue span{width:1px;height:44px;background:linear-gradient(var(--saffron),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}

/* =============================== Marquee ================================= */
.marquee{
  background:linear-gradient(90deg,var(--ember),var(--chili) 30%,var(--chili) 70%,var(--ember));
  border-top:2px solid var(--saffron);border-bottom:2px solid var(--saffron);
  padding:15px 0;overflow:hidden;position:relative;
}
.marquee-track{display:flex;width:max-content;animation:march 34s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track > div{display:flex;align-items:center;flex:none}
.marquee-track span{
  font-family:var(--f-head);font-size:.83rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:#ffdca8;padding:0 30px;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;
}
.marquee-track i.sep{color:rgba(255,220,168,.5);font-size:.5rem}
@keyframes march{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ================================= Menu ================================== */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;margin-bottom:42px}
.tab{
  font-family:var(--f-head);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  padding:12px 26px;min-height:44px;border-radius:var(--r-pill);
  border:1.5px solid rgba(26,26,26,.14);color:var(--charcoal);background:#fff;
  transition:all .32s var(--ease);
}
.tab:hover{border-color:var(--chili);color:var(--chili);transform:translateY(-2px);box-shadow:0 8px 20px rgba(192,57,43,.16)}
.tab.on{background:linear-gradient(135deg,var(--chili),var(--ember));border-color:transparent;color:#fff;box-shadow:0 10px 26px rgba(192,57,43,.34)}

.dish{
  background:#fff;border-radius:var(--r-lg);overflow:hidden;height:100%;
  display:flex;flex-direction:column;border:1px solid var(--line);
  box-shadow:var(--sh-1);transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .42s;
}
.dish:hover{transform:translateY(-12px);box-shadow:0 26px 60px rgba(192,57,43,.28);border-color:rgba(230,126,34,.5)}
.dish-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:#eadfd4}
.dish-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.dish:hover .dish-media img{transform:scale(1.11)}
.dish-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,12,8,.5));opacity:0;transition:opacity .4s}
.dish:hover .dish-media::after{opacity:1}
.cat-pill{
  position:absolute;top:13px;left:13px;z-index:2;
  background:rgba(18,18,18,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  color:var(--cream);font-family:var(--f-head);font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  padding:7px 13px;border-radius:var(--r-pill);
}
.tag-pill{
  position:absolute;top:13px;right:13px;z-index:2;
  background:linear-gradient(135deg,var(--saffron),var(--chili));color:#fff;
  font-family:var(--f-head);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:7px 13px;border-radius:var(--r-pill);box-shadow:0 6px 16px rgba(192,57,43,.4);
}
.dish-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.dish-name{font-family:var(--f-menu);font-weight:700;font-size:1.62rem;color:var(--chili);line-height:1.2;margin-bottom:6px}
.dish-desc{font-size:.9rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:16px}
.dish-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-height:18px}
.chilli{color:var(--chili);font-size:.68rem;letter-spacing:2px}
.veg{width:15px;height:15px;border:1.6px solid var(--basil);border-radius:3px;display:grid;place-items:center}
.veg::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--basil)}
.dish-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px dashed var(--line)}
.price{font-family:var(--f-logo);font-weight:700;font-size:1.34rem;color:var(--charcoal)}
.price small{font-size:.72em;color:var(--muted);font-weight:600;margin-right:2px}
.order-btn{
  font-family:var(--f-head);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;background:linear-gradient(135deg,var(--chili),var(--ember));
  padding:11px 20px;min-height:42px;border-radius:var(--r-pill);
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;
}
.order-btn:hover{transform:translateY(-2px) scale(1.03);background:linear-gradient(135deg,var(--saffron),var(--chili));box-shadow:0 12px 26px rgba(230,126,34,.44)}
.order-btn.added{background:var(--basil)!important}

.menu-swiper{padding:8px 6px 66px!important}
.menu-swiper .swiper-slide{height:auto}
.swiper-pagination-bullet{background:rgba(26,26,26,.28);opacity:1;width:9px;height:9px;transition:.3s}
.swiper-pagination-bullet-active{background:linear-gradient(90deg,var(--chili),var(--saffron));width:30px;border-radius:5px}
.sec-dark .swiper-pagination-bullet{background:rgba(255,248,240,.3)}
.nav-arrows{display:flex;justify-content:center;gap:14px;margin-top:6px}
.arrow{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid rgba(192,57,43,.34);color:var(--chili);background:#fff;
  transition:.32s var(--ease);
}
.arrow:hover{background:var(--chili);color:#fff;border-color:var(--chili);transform:scale(1.09);box-shadow:var(--sh-glow)}
.sec-dark .arrow{background:transparent;border-color:rgba(230,126,34,.4);color:var(--saffron)}
.sec-dark .arrow:hover{background:var(--saffron);color:var(--charcoal);border-color:var(--saffron)}
.menu-more{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}

/* =============================== Services ================================ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc{
  background:var(--cream);border-radius:var(--r-lg);padding:34px 30px;
  border-top:4px solid var(--chili);position:relative;overflow:hidden;
  box-shadow:0 12px 34px rgba(0,0,0,.20);
  transition:transform .42s var(--ease),box-shadow .42s var(--ease),background .42s,color .42s;
}
.svc::before{
  content:'';position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .42s;
  background:linear-gradient(150deg,#241713,var(--charcoal-2));
}
.svc > *{position:relative;z-index:1}
.svc:hover{transform:translateY(-12px);box-shadow:0 28px 62px rgba(192,57,43,.45);color:var(--cream)}
.svc:hover::before{opacity:1}
.svc-ico{
  width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(135deg,rgba(230,126,34,.16),rgba(192,57,43,.12));
  color:var(--saffron);font-size:1.5rem;transition:.42s var(--ease);
}
.svc:hover .svc-ico{background:linear-gradient(135deg,var(--chili),var(--saffron));color:#fff;transform:rotate(-8deg) scale(1.07);box-shadow:0 12px 28px rgba(230,126,34,.5)}
.svc h3{
  font-family:var(--f-head);font-size:1.06rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--charcoal);margin-bottom:11px;transition:color .42s;
}
.svc:hover h3{color:var(--saffron-lite)}
.svc p{font-size:.92rem;color:var(--muted);line-height:1.72;transition:color .42s}
.svc:hover p{color:rgba(255,248,240,.8)}
.svc-num{
  position:absolute;right:20px;top:14px;font-family:var(--f-logo);font-weight:900;font-size:3.4rem;
  color:rgba(26,26,26,.05);line-height:1;transition:color .42s;
}
.svc:hover .svc-num{color:rgba(230,126,34,.16)}

/* ============================== Testimonials ============================= */
.review{
  background:var(--charcoal-soft);border:1px solid var(--line-dark);border-radius:var(--r-lg);
  padding:30px 28px;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:transform .42s var(--ease),border-color .42s,box-shadow .42s;
}
.review::before{
  content:'\201C';position:absolute;right:20px;top:-14px;font-family:var(--f-logo);font-size:7rem;
  color:rgba(230,126,34,.11);line-height:1;pointer-events:none;
}
.review:hover{transform:translateY(-9px);border-color:rgba(230,126,34,.42);box-shadow:0 22px 54px rgba(192,57,43,.28)}
.rv-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.avatar{
  width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--chili),var(--saffron));color:#fff;
  font-family:var(--f-logo);font-weight:700;font-size:1.16rem;box-shadow:0 6px 18px rgba(192,57,43,.4);
}
.rv-name{font-family:var(--f-head);font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--cream)}
.rv-loc{font-size:.76rem;color:var(--muted-dark);display:flex;align-items:center;gap:6px;margin-top:2px}
.rv-loc i{color:var(--chili-lite);font-size:.7rem}
.stars{color:var(--saffron);font-size:.86rem;letter-spacing:3px;margin-bottom:14px}
.stars .off{color:rgba(255,248,240,.2)}
.rv-text{font-family:var(--f-quote);font-style:italic;font-size:1.12rem;line-height:1.66;color:rgba(255,248,240,.9);flex:1}
.reviews-swiper{padding:8px 4px 62px!important}
.reviews-swiper .swiper-slide{height:auto}

/* ================================= About ================================= */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,70px);align-items:center}
.about-media{position:relative}
.about-frame{border-radius:var(--r-xl);overflow:hidden;box-shadow:0 30px 70px rgba(26,26,26,.22);position:relative}
.about-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s var(--ease)}
.about-media:hover .about-frame img{transform:scale(1.05)}
.about-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(139,37,0,.32))}
.est{
  position:absolute;right:-14px;bottom:-22px;z-index:2;
  background:linear-gradient(140deg,var(--chili),var(--ember));color:#fff;
  border-radius:var(--r-lg);padding:20px 26px;text-align:center;
  box-shadow:0 20px 46px rgba(192,57,43,.5);border:2px solid rgba(230,126,34,.5);
}
.est b{display:block;font-family:var(--f-logo);font-weight:900;font-size:2.1rem;line-height:1}
.est span{font-family:var(--f-head);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;opacity:.94}
.about-copy .eyebrow,.about-copy .sec-title{text-align:left}
.about-copy .sec-title{margin-bottom:20px}
.about-copy p{color:var(--muted);margin-bottom:16px;font-size:1rem;line-height:1.82}
.about-copy p strong{color:var(--chili);font-weight:700}
.about-list{display:grid;gap:11px;margin:22px 0 30px}
.about-list li{display:flex;align-items:flex-start;gap:12px;font-size:.94rem;color:var(--ink)}
.about-list i{color:var(--basil);margin-top:5px;flex:none}

.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(48px,6vw,72px)}
.counter{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 20px;text-align:center;
  box-shadow:var(--sh-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.counter:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(192,57,43,.2);border-color:rgba(230,126,34,.45)}
.counter i{font-size:1.5rem;color:var(--saffron);margin-bottom:12px;display:block}
.counter b{display:block;font-family:var(--f-logo);font-weight:900;font-size:clamp(1.9rem,4.6vw,2.7rem);color:var(--chili);line-height:1;white-space:nowrap}
.counter b .count{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;display:inline;margin:0}
.counter > span{font-family:var(--f-head);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-top:8px}

/* ================================ Gallery ================================ */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:16px;grid-auto-flow:dense}
.gal a{
  position:relative;overflow:hidden;border-radius:var(--r-md);display:block;
  background:#241713;box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.gal a img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}
.gal a::after{
  content:'';position:absolute;inset:0;opacity:0;transition:opacity .45s;
  background:linear-gradient(150deg,rgba(192,57,43,.72),rgba(139,37,0,.66));
}
.gal a::before{
  content:'\f00e';font-family:'Font Awesome 6 Free';font-weight:900;
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;
  color:#fff;font-size:1.5rem;opacity:0;transform:scale(.6);transition:all .45s var(--ease);
}
.gal a:hover img{transform:scale(1.13)}
.gal a:hover::after{opacity:1}
.gal a:hover::before{opacity:1;transform:scale(1)}
.gal .tall{grid-row:span 2}
.gal .wide{grid-column:span 2}

/* ================================ Contact ================================ */
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:start}
.info-card{
  background:linear-gradient(160deg,#211613,var(--charcoal-2));color:var(--cream);
  border-radius:var(--r-xl);padding:clamp(28px,4vw,40px);
  border:1px solid rgba(230,126,34,.2);box-shadow:0 24px 60px rgba(26,26,26,.28);
  position:sticky;top:calc(var(--nav-h) + 16px);
}
.info-card h3{font-family:var(--f-logo);font-weight:700;font-size:1.52rem;color:var(--saffron);margin-bottom:24px}
.info-row{display:flex;gap:16px;padding:15px 0;border-bottom:1px dashed var(--line-dark)}
.info-row:last-of-type{border-bottom:0}
.info-ico{
  width:44px;height:44px;flex:none;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(192,57,43,.28),rgba(230,126,34,.18));
  color:var(--saffron);font-size:1rem;transition:.34s var(--ease);
}
.info-row:hover .info-ico{background:linear-gradient(135deg,var(--chili),var(--saffron));color:#fff;transform:scale(1.08) rotate(-6deg)}
.info-row h4{font-family:var(--f-head);font-size:.66rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--saffron);margin-bottom:4px}
.info-row p,.info-row a{font-size:.96rem;color:rgba(255,248,240,.9);word-break:break-word;transition:color .3s}
.info-row a:hover{color:var(--saffron-lite)}
.map-wrap{margin-top:24px;border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(230,126,34,.24);height:230px;background:#1c1512}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.28) contrast(1.06)}

.form-card{
  background:#fff;border-radius:var(--r-xl);padding:clamp(28px,4vw,40px);
  border:1px solid var(--line);box-shadow:0 24px 60px rgba(26,26,26,.10);
}
.form-card h3{font-family:var(--f-logo);font-weight:700;font-size:1.52rem;color:var(--charcoal);margin-bottom:6px}
.form-card > p.hint{color:var(--muted);font-size:.92rem;margin-bottom:24px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{
  display:block;font-family:var(--f-head);font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;
}
.field label .req{color:var(--chili)}
.field input,.field textarea,.field select{
  width:100%;padding:14px 16px;min-height:48px;border-radius:12px;
  border:1.5px solid rgba(26,26,26,.12);background:var(--cream);font-size:.95rem;font-family:var(--f-body);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.field textarea{min-height:124px;resize:vertical;line-height:1.65}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:0;border-color:var(--chili);background:#fff;box-shadow:0 0 0 4px rgba(192,57,43,.12);
}
.field input::placeholder,.field textarea::placeholder{color:#b3a89f}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-msg{
  display:none;margin-bottom:16px;padding:14px 18px;border-radius:12px;font-size:.92rem;font-weight:700;
  align-items:center;gap:11px;
}
.form-msg.show{display:flex}
.form-msg.ok{background:rgba(39,174,96,.12);color:#1e8449;border:1px solid rgba(39,174,96,.34)}
.form-msg.err{background:rgba(192,57,43,.1);color:var(--chili);border:1px solid rgba(192,57,43,.3)}
.form-card .btn-red{width:100%}

/* ==========================================================================
   FULL MENU PAGE (menu.html)
   ========================================================================== */

/* --- compact page hero --- */
.page-hero{
  position:relative;padding:calc(var(--nav-h) + 62px) 0 56px;
  background:var(--charcoal-2);overflow:hidden;text-align:center;
}
.page-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(1.1)}
.page-hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 60% 70% at 50% 40%,rgba(139,37,0,.42),transparent 70%),
    linear-gradient(180deg,rgba(12,8,6,.94),rgba(14,9,7,.72) 45%,rgba(12,8,6,.96));
}
.page-hero .shell{position:relative;z-index:2}
.page-hero .eyebrow{color:var(--saffron)}
.page-hero h1{
  font-family:var(--f-hero);font-weight:400;line-height:1;
  font-size:clamp(2.4rem,7vw,4.4rem);color:var(--cream);
  text-shadow:0 6px 40px rgba(0,0,0,.7),0 0 60px rgba(192,57,43,.36);
}
.page-hero p.lead{
  font-family:var(--f-quote);font-style:italic;font-size:clamp(1.06rem,2.5vw,1.42rem);
  color:rgba(255,248,240,.86);margin:16px auto 0;max-width:46ch;
}
.crumbs{
  display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;
  font-family:var(--f-head);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,248,240,.62);
}
.crumbs a{color:var(--saffron);transition:color .3s}
.crumbs a:hover{color:var(--cream)}
.crumbs i{font-size:.5rem;opacity:.6}
.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.hero-stats span{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,248,240,.08);border:1px solid rgba(230,126,34,.28);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-radius:var(--r-pill);padding:9px 18px;
  font-family:var(--f-head);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cream);
}
.hero-stats i{color:var(--saffron)}
.hero-stats b{color:var(--saffron-lite);font-family:var(--f-logo);font-size:.95rem}

/* --- sticky filter/search toolbar --- */
.menu-toolbar{
  position:sticky;top:calc(var(--nav-h) - 10px);z-index:120;
  background:rgba(255,248,240,.94);
  -webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  border-bottom:1px solid var(--line);padding:16px 0;
  box-shadow:0 6px 24px rgba(26,26,26,.05);
}
.toolbar-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.toolbar-in .tabs{margin:0;flex:1 1 auto;justify-content:flex-start}
.menu-search{position:relative;flex:0 1 250px}
.menu-search input{
  width:100%;padding:12px 40px 12px 40px;min-height:46px;border-radius:var(--r-pill);
  border:1.5px solid var(--line);background:#fff;font-size:.92rem;
  transition:border-color .3s,box-shadow .3s;
}
.menu-search input:focus{outline:0;border-color:var(--chili);box-shadow:0 0 0 4px rgba(192,57,43,.1)}
.menu-search > i{
  position:absolute;left:16px;top:50%;translate:0 -50%;
  color:var(--muted);font-size:.86rem;pointer-events:none;
}
.menu-search button{
  position:absolute;right:8px;top:50%;translate:0 -50%;
  width:30px;height:30px;border-radius:50%;display:none;place-items:center;
  color:var(--muted);font-size:.76rem;transition:.25s;
}
.menu-search button.on{display:grid}
.menu-search button:hover{background:var(--chili);color:#fff}
.menu-sort{
  padding:12px 16px;min-height:46px;border-radius:var(--r-pill);
  border:1.5px solid var(--line);background:#fff;font-size:.86rem;
  font-family:var(--f-body);cursor:pointer;transition:border-color .3s;
}
.menu-sort:focus{outline:0;border-color:var(--chili)}

/* --- results --- */
.menu-results{padding:36px 0 clamp(70px,9vw,110px);background:var(--cream)}
.result-count{
  font-family:var(--f-head);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:24px;min-height:18px;
}
.menu-group{margin-bottom:52px}
.menu-group:last-child{margin-bottom:0}
.menu-group-head{
  display:flex;align-items:baseline;gap:16px;margin-bottom:22px;
  padding-bottom:12px;border-bottom:2px solid rgba(192,57,43,.14);
}
.menu-group-head h2{
  font-family:var(--f-logo);font-weight:800;font-size:clamp(1.4rem,3.4vw,2rem);
  color:var(--charcoal);
}
.menu-group-head span{
  font-family:var(--f-head);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--chili);margin-left:auto;white-space:nowrap;
}
.dish-grid{
  display:grid;gap:24px;
  grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
}
.dish-grid .dish{animation:cardIn .5s var(--ease) backwards}
@keyframes cardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.dish.is-out{opacity:.66}
.dish.is-out .dish-media img{filter:grayscale(.7)}
.sold-out{
  font-family:var(--f-head);font-size:.66rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
  background:rgba(26,26,26,.07);border-radius:var(--r-pill);padding:11px 18px;
}
.menu-empty{text-align:center;padding:70px 20px;color:var(--muted)}
.menu-empty i{font-size:3rem;color:rgba(192,57,43,.2);display:block;margin-bottom:18px}
.menu-empty h3{font-family:var(--f-logo);font-size:1.5rem;color:var(--charcoal);margin-bottom:8px}
.menu-empty p{margin-bottom:22px}

/* --- closing call to action --- */
.menu-cta{
  background:linear-gradient(150deg,#2a0f08,var(--ember) 52%,#7a1f00);
  color:var(--cream);text-align:center;padding:clamp(54px,7vw,80px) 0;
}
.menu-cta h2{font-family:var(--f-logo);font-weight:800;font-size:clamp(1.7rem,4.4vw,2.6rem);margin-bottom:12px}
.menu-cta p{font-family:var(--f-quote);font-style:italic;font-size:1.16rem;color:rgba(255,248,240,.86);margin-bottom:28px}
.menu-cta .btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
