
:root{
  --cream:#FDFBF7;--paper:#F7F1E6;--ink:#191917;--green:#1C2D24;
  --gold:#B99B54;--line:rgba(28,45,36,.18)
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
button,a{font:inherit;color:inherit}
button{cursor:pointer}
.serif{font-family:"Playfair Display",serif}
.hairline{border-color:var(--line)}
header{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:rgba(253,251,247,.94);position:relative;z-index:20}
.header-inner{width:min(1480px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{display:flex;flex-direction:column;text-decoration:none;width:max-content}
.brand strong{font:600 21px/1 "Playfair Display",serif}
.brand small{margin-top:5px;font-size:7px;letter-spacing:.25em;text-transform:uppercase;color:#777}
nav{display:flex;gap:34px}
.nav-link{font-size:10px;letter-spacing:.19em;text-transform:uppercase;text-decoration:none;position:relative;padding:10px 0}
.nav-link:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .58s cubic-bezier(.16,1,.3,1);transition-delay:.08s}
.nav-link:hover:after{width:100%;transition-delay:.18s}
.reserve{justify-self:end;background:var(--green);color:white;border:0;padding:14px 25px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;transition:.35s}
.reserve:hover{transform:translateY(-2px);background:#2d4739}

/* Hero */
.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:52% 48%;border-bottom:1px solid var(--line)}
.hero-copy{padding:8vh 7vw 7vh;display:flex;flex-direction:column;justify-content:center;position:relative}
.eyebrow{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#806b3d;display:flex;align-items:center;gap:14px}
.eyebrow:before{content:"";width:48px;height:1px;background:var(--gold)}
.hero h1{font:500 clamp(76px,9.5vw,154px)/.78 "Playfair Display",serif;letter-spacing:-.065em;margin:42px 0 34px}
.hero h1 i{font-weight:500}
.hero-copy>p{max-width:520px;font-size:14px;line-height:1.9;color:#67645f}
.discover{margin-top:34px;width:max-content;text-decoration:none;font-size:10px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:8px}
.hero-art{background:radial-gradient(circle at 55% 48%,#f6ecda 0,#e9dcc3 50%,#dfcfad 100%);display:grid;place-items:center;position:relative;overflow:hidden}
.hero-frame{position:absolute;inset:8%;border:1px solid rgba(185,155,84,.5)}
.plate{width:min(66%,610px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(185,155,84,.6);background:#d9c7a5;display:grid;place-items:center;box-shadow:0 35px 80px rgba(75,57,26,.12)}
.plate-inner{width:82%;height:82%;border-radius:50%;background:#f4ead8;border:1px solid rgba(255,255,255,.8);display:grid;place-items:center;text-align:center}
.plate-inner b{font:500 italic clamp(22px,2vw,34px)/1.2 "Playfair Display",serif}
.plate-inner small{display:block;margin-top:13px;font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:#7e6d48}

/* TRUE scroll-linked reveal */
.scrub{--p:0;--side:1;opacity:calc(.04 + var(--p)*.96);transform:translate3d(calc(var(--side)*min(14vw,160px)*(1 - var(--p))),calc(20px*(1 - var(--p))),0);filter:blur(calc(2.3px*(1 - var(--p))));will-change:transform,opacity,filter}

/* Story */
.story{min-height:80vh;padding:13vh max(6vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;position:relative}
.story h2{font:500 clamp(52px,6vw,92px)/1.02 "Playfair Display",serif;margin:15px 0}
.story h2 i{font-weight:500}
.story-copy{border-left:1px solid var(--line);padding-left:5vw}
.story-copy p:first-child{font:500 clamp(21px,2.2vw,32px)/1.55 "Playfair Display",serif}
.story-copy p:last-child{font-size:13px;line-height:1.9;color:#6c6962}

/* MENU — exactly two autonomous rows */
.menu{padding:9vh 0 10vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf7f0;overflow:hidden}
.menu-head{width:min(1400px,calc(100% - 48px));margin:0 auto 42px}
.menu-head .eyebrow:before{display:none}
.menu h2{font:500 clamp(58px,7vw,102px)/.92 "Playfair Display",serif;letter-spacing:-.045em;margin:13px 0 0}
.menu h2 i{font-weight:500}
.menu-row{width:100%;overflow:hidden;padding:12px 0}
.menu-track{display:flex;width:max-content;gap:20px;will-change:transform}
.row-a .menu-track{animation:toRight 240s linear infinite}
.row-b .menu-track{animation:toLeft 250s linear infinite}
.menu-row:hover .menu-track{animation-play-state:paused}
@keyframes toRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes toLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dish{width:220px;flex:none;text-align:center}
.dish-image{width:196px;height:196px;margin:auto;border-radius:50%;overflow:hidden;border:1px solid rgba(185,155,84,.55);background:#eadfc9;box-shadow:0 14px 34px rgba(60,43,20,.08)}
.dish-image img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.025)}
.dish-name{font:500 15px/1.3 "Playfair Display",serif;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.explore-menu{max-width:820px;margin:34px auto;display:flex;align-items:center;gap:22px;padding:0 24px}
.explore-menu:before,.explore-menu:after{content:"";height:1px;background:rgba(185,155,84,.55);flex:1}
.explore-menu button{border:1px solid var(--gold);background:var(--green);color:white;border-radius:999px;padding:17px 31px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:.35s}
.explore-menu button:hover{transform:translateY(-2px);background:#2d4739}

/* CTA/footer */
.cta{min-height:65vh;background:var(--green);color:white;display:grid;place-items:center;text-align:center;padding:70px 24px}
.cta h2{font:500 clamp(52px,6vw,88px)/1.05 "Playfair Display",serif;margin:18px 0 34px}
.cta button{background:transparent;color:white;border:1px solid rgba(212,175,55,.8);padding:16px 30px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;transition:.35s}
.cta button:hover{background:white;color:var(--green)}
footer{padding:52px max(5vw,24px)}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}
.footer-brand{font:600 26px "Playfair Display",serif}
.footer-brand small{display:block;font:500 8px "DM Sans";letter-spacing:.23em;text-transform:uppercase;color:#777;margin-top:5px}
.footer-text{font-size:13px;line-height:1.8;color:#69665f}
.footer-right{text-align:right}
.footer-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#8a867e}

/* Modals */
.modal{position:fixed;inset:0;background:rgba(10,15,12,.4);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.35s}
.modal.open{opacity:1;visibility:visible}
.modal-card{width:min(560px,100%);background:var(--cream);border:1px solid rgba(185,155,84,.55);padding:36px;transform:translateY(18px);transition:.35s}
.modal.open .modal-card{transform:none}
.modal-head{display:flex;justify-content:space-between;align-items:start}
.modal h3{font:500 42px "Playfair Display",serif;margin:5px 0}
.close{border:0;background:none;font-size:26px}
.form{display:grid;gap:18px;margin-top:26px}
.form label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#777}
.form input,.form select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;font:14px "DM Sans";outline:none}
.submit{background:var(--green);color:white;border:0;padding:15px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.status{text-align:center;font-size:12px;color:#46604f;min-height:18px}

@media(max-width:800px){
 .header-inner{width:calc(100% - 30px);grid-template-columns:1fr auto}.header-inner nav{display:none}.reserve{padding:12px 16px}
 .hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px}.hero-art{min-height:58vh}
 .hero h1{font-size:clamp(72px,22vw,108px)}
 .story{grid-template-columns:1fr;gap:30px;padding:90px 24px}.story-copy{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
 .dish{width:158px}.dish-image{width:140px;height:140px}.dish-name{font-size:13px}.menu-track{gap:12px}
 .row-a .menu-track{animation-duration:190s}.row-b .menu-track{animation-duration:200s}
 .footer-grid{grid-template-columns:1fr}.footer-right{text-align:left}
}


/* V13 repaired — readable scroll-linked typography */
.scrub{
  --p:0;
  --side:1;
  opacity:calc(.04 + var(--p)*.96)!important;
  transform:translate3d(
    calc(var(--side)*min(18vw,210px)*(1 - var(--p))),
    calc(18px*(1 - var(--p))),
    0
  )!important;
  filter:blur(calc(2.4px*(1 - var(--p))))!important;
  visibility:visible!important;
  will-change:transform,opacity,filter;
}

/* Menu showcase is independent from the text reveal. */
.menu-row,
.menu-track,
.dish,
.dish-image,
.dish-image img,
.dish-name{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

/* Preserve the two automatic menu directions. */
.row-a .menu-track{animation:toRight 240s linear infinite!important}
.row-b .menu-track{animation:toLeft 250s linear infinite!important}
.menu-row:hover .menu-track{animation-play-state:paused!important}


/* =========================================================
   MENU-ONLY CLEANUP — do not change hero/story/footer/backend
   ========================================================= */
#menu.menu{
  padding:72px 0 78px!important;
  background:#FDFBF7!important;
  overflow:hidden!important;
}
#menu .menu-head{
  width:min(1400px,calc(100% - 48px))!important;
  margin:0 auto 42px!important;
}
#menu .menu-head h2{
  margin-top:12px!important;
}

/* Clean two-row showcase */
#menu .menu-row{
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;
  padding:12px 0 18px!important;
  opacity:1!important;
  visibility:visible!important;
}
#menu .menu-track{
  display:flex!important;
  align-items:flex-start!important;
  width:max-content!important;
  gap:28px!important;
  opacity:1!important;
  visibility:visible!important;
  will-change:transform!important;
}
#menu .dish{
  flex:0 0 190px!important;
  width:190px!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
}
#menu .dish-image{
  width:166px!important;
  height:166px!important;
  margin:0 auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#F0E7D7!important;
  border:1px solid rgba(185,155,84,.55)!important;
  box-shadow:0 10px 28px rgba(48,35,18,.08)!important;
  opacity:1!important;
  visibility:visible!important;
}
#menu .dish-image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  transform:scale(1.015)!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
#menu .dish-name{
  margin:11px 4px 0!important;
  font:500 15px/1.25 "Playfair Display",serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Row 1 → right, row 2 → left, extremely slow */
#menu .row-a .menu-track{animation:menuCleanRight 260s linear infinite!important}
#menu .row-b .menu-track{animation:menuCleanLeft 270s linear infinite!important}
#menu .menu-row:hover .menu-track{animation-play-state:paused!important}
@keyframes menuCleanRight{
  from{transform:translate3d(-50%,0,0)}
  to{transform:translate3d(0,0,0)}
}
@keyframes menuCleanLeft{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Centered Explore Menu treatment matching the approved direction */
#menu .explore-menu{
  max-width:920px!important;
  margin:28px auto 30px!important;
  padding:0 26px!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
}
#menu .explore-menu:before,
#menu .explore-menu:after{
  content:""!important;
  display:block!important;
  flex:1!important;
  height:1px!important;
  background:rgba(185,155,84,.58)!important;
}
#menu .explore-menu button{
  flex:none!important;
  border:1px solid #B99B54!important;
  background:#1C2D24!important;
  color:#FDFBF7!important;
  border-radius:999px!important;
  padding:17px 32px!important;
  font-size:9px!important;
  letter-spacing:.20em!important;
  white-space:nowrap!important;
}

/* The menu photos are NEVER controlled by text scroll-reveal. */
#menu .menu-row,
#menu .menu-track,
#menu .dish,
#menu .dish-image,
#menu .dish-image img,
#menu .dish-name{
  filter:none!important;
}

@media(max-width:800px){
  #menu.menu{padding:58px 0 64px!important}
  #menu .menu-track{gap:14px!important}
  #menu .dish{flex-basis:142px!important;width:142px!important}
  #menu .dish-image{width:128px!important;height:128px!important}
  #menu .dish-name{font-size:13px!important}
  #menu .row-a .menu-track{animation-duration:220s!important}
  #menu .row-b .menu-track{animation-duration:230s!important}
}

/* ===== PREMIUM MENU ONLY — based on approved visual ===== */
#menu.menu{background:#FCFAF4!important;padding:64px 0 76px!important}
#menu .menu-head{margin-bottom:28px!important}
#menu .menu-row{padding:8px 0 14px!important}
#menu .menu-track{gap:24px!important}
#menu .dish{width:178px!important;flex:0 0 178px!important}
#menu .dish-image{
  width:154px!important;height:154px!important;
  border:1px solid rgba(80,102,68,.34)!important;
  box-shadow:0 9px 18px rgba(41,48,31,.12)!important;
  background:#efe8d8!important;
}
#menu .dish-image img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
#menu .dish-name{
  margin-top:9px!important;
  color:#1C2D24!important;
  font:600 15px/1.2 "Playfair Display",serif!important;
}
#menu .row-a .menu-track{animation:menuPremiumRight 255s linear infinite!important}
#menu .row-b .menu-track{animation:menuPremiumLeft 265s linear infinite!important}
@keyframes menuPremiumRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes menuPremiumLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* premium center composition */
#menu .premium-explore{
  max-width:1320px!important;
  margin:22px auto 26px!important;
  padding:22px 42px!important;
  display:grid!important;
  grid-template-columns:1fr 2.2fr 1fr!important;
  align-items:center!important;
  gap:28px!important;
  position:relative!important;
}
#menu .premium-explore:before,
#menu .premium-explore:after{display:none!important}
#menu .premium-explore-center{text-align:center;position:relative}
#menu .premium-explore-center:before{
  content:"";position:absolute;left:10%;right:10%;top:35px;height:62px;
  background:rgba(197,190,160,.16);transform:rotate(-1deg);border-radius:50%;
  filter:blur(1px);z-index:0
}
#menu .premium-kicker{
  position:relative;z-index:1;color:#5C6C58;
  font-size:10px;letter-spacing:.36em;margin-bottom:9px
}
#menu .premium-title-wrap{display:flex;align-items:center;justify-content:center;gap:20px;position:relative;z-index:1}
#menu .premium-title-wrap h3{
  margin:0;color:#173226;font:600 clamp(34px,4vw,62px)/1 "Playfair Display",serif;
  letter-spacing:.015em;white-space:nowrap
}
#menu .leaf-mark{font:400 42px/1 Georgia,serif;color:#47643D;transform:rotate(-18deg)}
#menu .leaf-mark.mirror{transform:scaleX(-1) rotate(-18deg)}
#menu .premium-explore-center button{
  position:relative;z-index:1;margin-top:18px!important;
  background:linear-gradient(90deg,#58784D,#365D3A)!important;
  border:0!important;color:#fff!important;border-radius:999px!important;
  padding:14px 27px!important;min-width:290px!important;
  font-size:9px!important;letter-spacing:.22em!important;
  box-shadow:0 8px 20px rgba(47,82,49,.12)!important
}
#menu .premium-explore-center button b{font-size:17px;font-weight:400;margin-left:18px}
#menu .menu-script{
  color:#668064;font:italic 25px/1.05 "Playfair Display",serif;
  opacity:.9
}
#menu .menu-script em{font-weight:400}
#menu .menu-script-left{text-align:right;transform:rotate(-5deg)}
#menu .menu-script-right{text-align:left;transform:rotate(5deg)}

@media(max-width:800px){
  #menu .premium-explore{grid-template-columns:1fr!important;padding:20px!important}
  #menu .menu-script{display:none!important}
  #menu .premium-title-wrap h3{font-size:35px!important}
  #menu .leaf-mark{font-size:28px!important}
  #menu .premium-explore-center button{min-width:0!important;width:auto!important}
  #menu .dish{width:142px!important;flex-basis:142px!important}
  #menu .dish-image{width:128px!important;height:128px!important}
}


/* =========================================================
   PREMIUM MENU V2 — requested changes ONLY
   ========================================================= */

/* Larger, cleaner dish presentation */
#menu .menu-track{
  gap:30px!important;
}
#menu .dish{
  width:206px!important;
  flex:0 0 206px!important;
}
#menu .dish-image{
  width:184px!important;
  height:184px!important;
  margin:0 auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#F1E8D7!important;
  border:1px solid rgba(120,92,52,.38)!important;
  box-shadow:0 12px 28px rgba(55,39,20,.13)!important;
}
#menu .dish-image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  border-radius:50%!important;
  transform:scale(1.13)!important;
  transform-origin:center center!important;
}
#menu .dish-name{
  margin-top:11px!important;
  font-size:17px!important;
  line-height:1.2!important;
  text-align:center!important;
}

/* Make the central Explore Menu treatment more visually prominent */
#menu .premium-title-wrap h3{
  font-size:clamp(42px,4.5vw,68px)!important;
}
#menu .premium-kicker{
  font-size:11px!important;
  letter-spacing:.38em!important;
}
#menu .premium-explore-center button{
  min-width:340px!important;
  padding:17px 32px!important;
  background:#8A4F2B!important;
  color:#FFF9F1!important;
  border:1px solid #7A4325!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.20em!important;
  box-shadow:0 10px 24px rgba(112,62,31,.18)!important;
  transition:transform .35s cubic-bezier(.16,1,.3,1),
             background-color .35s ease,
             box-shadow .35s ease!important;
}
#menu .premium-explore-center button:hover{
  background:#6F3D23!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 28px rgba(112,62,31,.22)!important;
}
#menu .premium-explore-center button b{
  font-size:20px!important;
  margin-left:22px!important;
}

/* Keep both marquee rows stable and slow */
#menu .row-a .menu-track{animation-duration:275s!important}
#menu .row-b .menu-track{animation-duration:285s!important}

@media(max-width:800px){
  #menu .dish{
    width:158px!important;
    flex-basis:158px!important;
  }
  #menu .dish-image{
    width:144px!important;
    height:144px!important;
  }
  #menu .dish-name{
    font-size:14px!important;
  }
  #menu .premium-title-wrap h3{
    font-size:38px!important;
  }
  #menu .premium-explore-center button{
    min-width:0!important;
    padding:15px 24px!important;
    font-size:10px!important;
  }
}

/* V16 requested UI */
.header-inner{grid-template-columns:1fr auto 1fr!important}
.brand strong{font-size:24px!important}.brand small{font-size:8px!important}.nav-link{font-size:11px!important}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.language-picker{position:relative}.language-current{height:40px;min-width:72px;padding:0 9px;border:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em}
.language-current .flag{font-size:18px}.language-menu{position:absolute;right:0;top:47px;width:158px;padding:7px;background:var(--cream);border:1px solid rgba(185,155,84,.38);box-shadow:0 14px 36px rgba(40,30,16,.12);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.25s;z-index:90}
.language-picker.open .language-menu{opacity:1;visibility:visible;transform:none}.language-menu button{width:100%;border:0;background:transparent;padding:10px;text-align:left;display:flex;gap:10px;font-size:12px}.language-menu button:hover{background:#f3ecdf}
.hero .eyebrow{font-size:11px!important}.hero h1{line-height:.90!important}.hero h1 i{display:inline-block!important;margin-top:.12em!important}
.story-v16{min-height:82vh!important;padding:70px max(6vw,24px) 100px!important;align-items:start!important}.story-main-title{margin:0!important;font:500 clamp(54px,6vw,92px)/1.03 "Playfair Display",serif!important;max-width:760px}.story-status{margin-top:34px;min-height:96px;max-width:650px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 15px/1.8 "DM Sans",sans-serif;color:#555;outline:none}.story-status:empty:before{content:attr(data-placeholder);color:#aaa}.story-copy{margin-top:110px}
.menu-main-title{font:500 clamp(58px,7vw,102px)/.92 "Playfair Display",serif!important;font-style:normal!important}
.cta-main-title{max-width:920px;margin-left:auto!important;margin-right:auto!important;font:500 clamp(52px,6vw,88px)/1.05 "Playfair Display",serif!important;font-style:normal!important}
.footer-addresses{display:flex;flex-direction:column;gap:9px}.address-line{display:grid;grid-template-columns:24px 1fr;gap:8px}.address-line>span:first-child{font-size:9px;color:#9a7a3e;letter-spacing:.12em;margin-top:4px}
#menu .row-a .menu-track{animation-duration:190s!important}#menu .row-b .menu-track{animation-duration:200s!important}
@media(max-width:800px){.header-inner{grid-template-columns:1fr auto!important}.header-actions{gap:6px}.language-current{min-width:48px}.language-current .lang-code{display:none}.story-v16{padding-top:55px!important}.story-copy{margin-top:20px!important}}

/* Language selector polish only */
.flag-icon{width:25px!important;height:17px!important;display:inline-flex!important;flex:0 0 25px!important;border-radius:2px!important;overflow:hidden!important;box-shadow:0 0 0 1px rgba(28,45,36,.13)!important}
.flag-icon svg{width:100%!important;height:100%!important;display:block!important}
.language-current{min-width:84px!important;height:42px!important;justify-content:center!important;gap:9px!important;cursor:pointer!important}
.lang-chevron{width:11px!important;height:7px!important;transition:transform .28s ease!important}
.language-picker.open .lang-chevron{transform:rotate(180deg)!important}
.language-menu{width:168px!important;border-radius:3px!important}
.language-menu button{align-items:center!important;gap:11px!important;cursor:pointer!important}
.language-menu button .flag-icon{width:26px!important;height:18px!important;flex-basis:26px!important}

/* ================= V17 polish: requested items only ================= */

/* Supplied Bếp Nhà Bà logo inside the hero plate */
.plate-inner .plate-brand-logo{
  display:block;
  width:min(72%,390px);
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
}

/* Replace the former tiny green monogram with the supplied brand logo */
.brand-mark{
  width:112px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
}
.brand-mark img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  mix-blend-mode:multiply;
}

/* Professional back-to-top button */
.back-to-top{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:120;
  width:54px;
  height:54px;
  border:1px solid rgba(212,175,55,.72);
  border-radius:50%;
  background:#1C2D24;
  color:#FDFBF7;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .35s ease,transform .35s ease,background .3s ease,border-color .3s ease;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(28,45,36,.14);
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.back-to-top span{
  font:600 7px/1 "DM Sans",sans-serif;
  letter-spacing:.18em;
  margin-left:.18em;
}
.back-to-top:hover{
  background:#8A4F2B;
  border-color:#D4AF37;
  transform:translateY(-2px);
}

@media(max-width:800px){
  .plate-inner .plate-brand-logo{width:76%}
  .brand-mark{width:88px!important}
  .back-to-top{right:16px;bottom:18px;width:48px;height:48px}
}

/* ================= V18 requested corrections only ================= */

/* Use the supplied Bếp Nhà Bà brazier mark around KHÁM PHÁ MENU */
#menu .brand-leaf{
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
  font-size:0!important;
}
#menu .brand-leaf img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
  display:block!important;
}
#menu .brand-leaf.mirror{transform:none!important}

/* Visually balance NHÀ / BÀ in the supplied brand treatment without altering the brand name */
.plate-inner .plate-brand-logo{
  width:min(74%,400px)!important;
  object-position:center!important;
}

/* Back-to-top must remain visible above all menu/modal layers once activated */
.back-to-top{z-index:999!important}

/* Give first menu row enough breathing room so names are visible at anchor arrival */
#menu .menu-head{padding-top:8px!important}
#menu .row-a{padding-bottom:14px!important}

@media(max-width:800px){
  #menu .brand-leaf{width:30px!important;height:30px!important}
  #menu .brand-leaf img{width:28px!important;height:28px!important}
}

/* ================= V19 menu polish — requested changes only ================= */

/* Back-to-top: bottom-left */
.back-to-top{
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
}
@media(max-width:800px){
  .back-to-top{left:14px!important;right:auto!important;bottom:16px!important}
}

/* Balance the two side editorial phrases around KHÁM PHÁ MENU */
#menu .premium-explore-center{
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr)!important;
  column-gap:34px!important;
  align-items:center!important;
}
#menu .premium-script-left,
#menu .premium-script-right{
  width:100%!important;
  max-width:220px!important;
  margin:0!important;
  font-size:26px!important;
  line-height:.88!important;
  opacity:.82!important;
}
#menu .premium-script-left{
  justify-self:end!important;
  text-align:right!important;
  transform:rotate(-2deg)!important;
}
#menu .premium-script-right{
  justify-self:start!important;
  text-align:left!important;
  transform:rotate(2deg)!important;
}

/* Slightly tighter logo/title rhythm */
#menu .premium-title-wrap{
  gap:18px!important;
}

/* Faster horizontal food movement */
#menu .row-a .menu-track{animation-duration:150s!important}
#menu .row-b .menu-track{animation-duration:158s!important}

@media(max-width:800px){
  #menu .premium-explore-center{
    grid-template-columns:1fr!important;
    row-gap:16px!important;
  }
  #menu .premium-script-left,
  #menu .premium-script-right{
    justify-self:center!important;
    text-align:center!important;
    transform:none!important;
    font-size:20px!important;
  }
}

/* V20: menu landing matches supplied reference composition */
@media (min-width:901px){
 #menu.menu{padding-top:20px!important}
 #menu .menu-head{margin-top:0!important;margin-bottom:18px!important}
 #menu .menu-head .eyebrow{margin-bottom:8px!important}
 #menu .menu-head h2{margin:0!important;line-height:.92!important}
 #menu .row-a{padding-top:8px!important;padding-bottom:12px!important}
 #menu .premium-explore{margin-top:22px!important;margin-bottom:20px!important}
}

/* V21 — image 3 removed */
#menu .menu-head .eyebrow{display:none!important}

/* ================= Dish detail modal ================= */
.menu-item,.premium-dish,.dish-card{cursor:pointer}
.menu-item img,.premium-dish img,.dish-card img{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.menu-item:hover img,.premium-dish:hover img,.dish-card:hover img{transform:scale(1.035);filter:saturate(1.04)}
.dish-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:28px;visibility:hidden;pointer-events:none}
.dish-modal.is-open{visibility:visible;pointer-events:auto}
.dish-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(20,25,21,.48);backdrop-filter:blur(12px);opacity:0;transition:opacity .42s ease;cursor:default}
.dish-modal.is-open .dish-modal-backdrop{opacity:1}
.dish-modal-card{position:relative;width:min(940px,92vw);max-height:min(720px,88vh);display:grid;grid-template-columns:1.06fr .94fr;background:#FDFBF7;border:1px solid rgba(158,116,60,.35);box-shadow:0 28px 80px rgba(20,25,21,.22);overflow:hidden;opacity:0;transform:translateY(34px) scale(.985);transition:opacity .42s ease,transform .52s cubic-bezier(.2,.75,.2,1)}
.dish-modal.is-open .dish-modal-card{opacity:1;transform:translateY(0) scale(1)}
.dish-modal-media{min-height:540px;background:#eee7da;overflow:hidden}
.dish-modal-media img{width:100%;height:100%;object-fit:cover;display:block}
.dish-modal-copy{padding:64px 58px 50px;display:flex;flex-direction:column;justify-content:center}
.dish-modal-kicker{margin:0 0 14px;font:500 10px/1.2 "DM Sans",sans-serif;letter-spacing:.27em;color:#9E743C;text-transform:uppercase}
.dish-modal-copy h3{margin:0;color:#1C2D24;font:500 clamp(42px,5vw,72px)/.98 "Playfair Display",serif;letter-spacing:-.035em}
.dish-modal-price{margin:20px 0 0;font:500 15px/1 "DM Sans",sans-serif;letter-spacing:.12em;color:#98542F}
.dish-modal-rule{width:52px;height:1px;background:#D4AF37;margin:30px 0}
.dish-modal-description{margin:0;color:#48463f;font:400 15px/1.75 "DM Sans",sans-serif}
.dish-modal-pairing{margin-top:32px;padding-top:20px;border-top:1px solid rgba(28,45,36,.14)}
.dish-modal-pairing span{font:600 9px/1 "DM Sans",sans-serif;letter-spacing:.22em;color:#9E743C}
.dish-modal-pairing p{margin:9px 0 0;font:400 14px/1.55 "DM Sans",sans-serif;color:#1C2D24}
.dish-modal-close{position:absolute;right:18px;top:18px;z-index:2;width:42px;height:42px;border:1px solid rgba(28,45,36,.2);border-radius:50%;background:rgba(253,251,247,.9);display:grid;place-items:center;cursor:pointer;transition:transform .3s ease,background .3s ease}
.dish-modal-close:hover{transform:rotate(8deg);background:#fff}
.dish-modal-close svg{width:16px;height:16px;fill:none;stroke:#1C2D24;stroke-width:1.4}
body.dish-modal-lock{overflow:hidden}
@media(max-width:720px){
 .dish-modal{padding:0;align-items:end}
 .dish-modal-card{width:100%;max-height:90vh;grid-template-columns:1fr;grid-template-rows:minmax(240px,38vh) auto;border-radius:22px 22px 0 0}
 .dish-modal-media{min-height:0}
 .dish-modal-copy{padding:30px 26px 34px}
 .dish-modal-copy h3{font-size:44px}
 .dish-modal-rule{margin:22px 0}
 .dish-modal-pairing{margin-top:22px}
}

/* ================= Ordering experience ================= */
.order-cart-button{width:43px;height:43px;border:1px solid rgba(28,45,36,.2);background:transparent;color:#1C2D24;display:grid;place-items:center;position:relative;cursor:pointer}
.order-cart-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.order-cart-button span{position:absolute;right:-7px;top:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:12px;background:#98542F;color:#fff;font:600 9px/19px "DM Sans";text-align:center}
.dish-order-page{background:#FDFBF7;color:#1C2D24}
.order-topbar{height:94px;padding:0 42px;border-bottom:1px solid rgba(28,45,36,.13);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:20;background:rgba(253,251,247,.9);backdrop-filter:blur(14px)}
.order-brand{justify-self:center}.order-brand img{width:92px;display:block}
.order-back{justify-self:start;text-decoration:none;color:#1C2D24;font:500 10px/1 "DM Sans";letter-spacing:.18em}
.order-cart-page-button{justify-self:end}
.dish-order-shell{padding:56px clamp(24px,6vw,96px) 90px}
.dish-order-hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);min-height:690px;border:1px solid rgba(158,116,60,.28);background:#fffdf8}
.dish-order-image{overflow:hidden;background:#eee7da}.dish-order-image img{width:100%;height:100%;object-fit:cover;display:block}
.dish-order-info{padding:70px clamp(38px,5vw,76px);align-self:center}
.dish-order-category{font:600 9px/1 "DM Sans";letter-spacing:.27em;color:#9E743C;margin:0 0 15px}
.dish-order-info h1{font:500 clamp(50px,6vw,88px)/.92 "Playfair Display";letter-spacing:-.045em;margin:0}
.dish-order-price{font:500 16px/1 "DM Sans";letter-spacing:.1em;color:#98542F;margin:24px 0 0}
.dish-order-rule{width:54px;height:1px;background:#D4AF37;margin:30px 0}
.dish-order-description{font:400 15px/1.8 "DM Sans";color:#514e47;max-width:520px}
.dish-order-pairing{margin-top:27px}.dish-order-pairing span,.order-note span{font:600 9px/1 "DM Sans";letter-spacing:.2em;color:#9E743C}.dish-order-pairing p{font:400 14px/1.6 "DM Sans"}
.dish-order-controls{margin-top:36px;border-top:1px solid rgba(28,45,36,.12);padding-top:28px}
.qty-control{display:inline-grid;grid-template-columns:42px 48px 42px;border:1px solid rgba(28,45,36,.22);height:42px}.qty-control button{border:0;background:transparent;font-size:20px;cursor:pointer}.qty-control strong{display:grid;place-items:center;font:500 13px "DM Sans"}
.order-note{display:block;margin-top:22px}.order-note textarea{width:100%;margin-top:9px;padding:13px;border:1px solid rgba(28,45,36,.18);background:transparent;resize:vertical;font:400 13px/1.5 "DM Sans"}
.add-order-button,.place-order-button{width:100%;margin-top:18px;min-height:54px;border:0;background:#1C2D24;color:#FDFBF7;padding:0 22px;display:flex;justify-content:space-between;align-items:center;font:600 10px "DM Sans";letter-spacing:.16em;cursor:pointer;transition:background .3s ease,transform .3s ease}.add-order-button:hover,.place-order-button:hover{background:#98542F}.add-order-button:active,.place-order-button:active{transform:scale(.99)}
.order-drawer{position:fixed;inset:0;z-index:1500;visibility:hidden;pointer-events:none}.order-drawer.is-open{visibility:visible;pointer-events:auto}.order-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(17,24,20,.42);backdrop-filter:blur(8px);opacity:0;transition:.35s}.order-drawer.is-open .order-drawer-backdrop{opacity:1}.order-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(590px,100%);background:#FDFBF7;padding:38px;overflow:auto;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.75,.2,1)}.order-drawer.is-open .order-drawer-panel{transform:none}
.order-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(28,45,36,.13);padding-bottom:25px}.order-drawer-head small{font:600 9px "DM Sans";letter-spacing:.23em;color:#9E743C}.order-drawer-head h2{font:500 36px "Playfair Display";margin:6px 0 0}.order-drawer-head button{border:0;background:transparent;font:300 30px "DM Sans";cursor:pointer}
.cart-line{display:grid;grid-template-columns:74px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid rgba(28,45,36,.1);align-items:center}.cart-line img{width:74px;height:74px;object-fit:cover;border-radius:50%}.cart-line h3{font:500 19px "Playfair Display";margin:0}.cart-line p{font:400 11px "DM Sans";color:#777;margin:5px 0}.cart-line>strong{font:500 12px "DM Sans"}.cart-line-actions{display:flex;align-items:center;gap:9px}.cart-line-actions button{border:1px solid rgba(28,45,36,.15);background:transparent;min-width:26px;height:26px;cursor:pointer}.cart-line-actions .cart-remove{border:0;color:#98542F;font-size:10px}
.empty-cart{text-align:center;padding:50px 0;font:500 18px "Playfair Display"}.empty-cart span{font:400 11px "DM Sans";color:#777}.cart-total{display:flex;justify-content:space-between;padding:22px 0;font:500 13px "DM Sans"}.cart-total strong{font-size:17px;color:#98542F}
.checkout-form{border-top:1px solid rgba(28,45,36,.13);padding-top:24px}.fulfillment-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fulfillment-tabs input{display:none}.fulfillment-tabs span{display:grid;place-items:center;text-align:center;min-height:43px;border:1px solid rgba(28,45,36,.16);font:500 9px "DM Sans";cursor:pointer}.fulfillment-tabs input:checked+span{background:#1C2D24;color:#fff}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.checkout-grid label{display:flex;flex-direction:column;gap:7px}.checkout-grid label span{font:600 8px "DM Sans";letter-spacing:.16em;color:#776b59}.checkout-grid input,.checkout-grid select,.checkout-grid textarea{border:1px solid rgba(28,45,36,.16);background:#fffdf8;padding:12px;font:400 12px "DM Sans";min-height:42px}.checkout-full{grid-column:1/-1}.checkout-status{font:400 12px/1.5 "DM Sans";color:#98542F}
@media(max-width:800px){.order-topbar{height:76px;padding:0 17px}.order-brand img{width:72px}.order-back span{display:none}.dish-order-shell{padding:16px 0 60px}.dish-order-hero{grid-template-columns:1fr;border-left:0;border-right:0;min-height:0}.dish-order-image{height:46vh;min-height:320px}.dish-order-info{padding:34px 24px}.dish-order-info h1{font-size:52px}.order-drawer-panel{padding:25px 18px}.checkout-grid{grid-template-columns:1fr}.checkout-full{grid-column:auto}.fulfillment-tabs{grid-template-columns:1fr}.cart-line{grid-template-columns:60px 1fr auto}.cart-line img{width:60px;height:60px}}

/* V2 FIX — actual scrolling cards are .dish */
#menu .dish{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative;
  z-index:2;
}
#menu .dish-image,#menu .dish-image img,#menu .dish-name{pointer-events:none!important}
#menu .dish:focus-visible{outline:1px solid #9E743C;outline-offset:8px}
#menu .dish:hover .dish-image{transform:translateY(-3px) scale(1.025)}
#menu .dish-image{transition:transform .35s ease}

/* V4 — menu marquee uses tight cutout dish images, no fixed frame */
#menu .dish{
  width:210px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
#menu .dish-image{
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:168px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  margin:0 auto!important;
}
#menu .dish-image img{
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:168px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  filter:drop-shadow(0 12px 18px rgba(60,43,20,.16))!important;
  transform:none!important;
  display:block!important;
}
#menu .dish-name{
  width:100%!important;
  max-width:210px!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-height:2.7em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  font:500 15px/1.35 "Playfair Display",serif!important;
}
#menu .dish:hover .dish-image img{
  transform:translateY(-4px) scale(1.03)!important;
  transition:transform .35s ease!important;
}
@media(max-width:900px){
  #menu .dish{width:156px!important}
  #menu .dish-image{max-width:156px!important;max-height:124px!important}
  #menu .dish-image img{max-width:156px!important;max-height:124px!important}
  #menu .dish-name{max-width:156px!important;font-size:13px!important;min-height:2.9em!important}
}
