/* ===== Modern layer (v2) ===== */
:root{--display:"Cinzel","Trajan Pro",Georgia,serif;--open:#7fd38c;--closed:#e7b55a}
.h-display,.h-cinzel{font-family:var(--display);font-weight:600;letter-spacing:.02em}

/* header shrink */
.site-header .header-inner{transition:min-height .25s}
.site-header.scrolled .header-inner{min-height:60px}
.site-header.scrolled .brand img{width:40px;height:40px}

/* live status */
.status-pill{display:inline-flex;align-items:center;gap:.6em;padding:.45em 1em;border:1px solid rgba(212,173,85,.6);border-radius:999px;color:var(--gold-pale);font-weight:700;font-size:.9rem;background:rgba(255,255,255,.04);margin:0 0 1.3em}
.status-pill .dot{width:.6em;height:.6em;border-radius:50%;background:var(--gold-2)}
.status-pill.is-open .dot{background:var(--open);box-shadow:0 0 0 0 rgba(127,211,140,.6);animation:pulse 2.4s infinite}
.status-pill.is-closed .dot{background:var(--closed)}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(127,211,140,0)}100%{box-shadow:0 0 0 0 rgba(127,211,140,0)}}

/* ===== Hero ===== */
.hero2{position:relative;overflow:hidden;color:#eef0e4;
  background:radial-gradient(60% 70% at 78% 45%,rgba(212,173,85,.22),transparent 60%),
             radial-gradient(50% 60% at 10% 100%,rgba(74,87,48,.7),transparent 70%),var(--olive-deep)}
.hero2::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:24px;min-height:min(calc(100vh - 70px),760px);padding:40px 0}
.hero2-text{position:relative;z-index:2}
.h-display{color:#fff;font-size:clamp(2.6rem,6.2vw,5rem);line-height:1.02;margin:0 0 .25em}
.h-display span{display:block}
.h-display span:nth-child(2){color:var(--gold-2)}
.hero2-place{font:600 clamp(1.1rem,2vw,1.35rem)/1.3 var(--serif);color:var(--gold-pale);margin:0 0 1em}
.hero2-lead{max-width:46ch;color:#d9ddcb;font-size:1.06rem}

.hero2-stage{position:relative;width:100%;max-width:660px;aspect-ratio:1/0.95;margin-inline:auto}
.ring{position:absolute;left:50%;top:50%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  border:2px solid var(--gold);box-shadow:0 0 0 10px rgba(184,137,46,.08),0 0 0 11px rgba(212,173,85,.5),0 0 80px rgba(212,173,85,.25) inset;
  background:radial-gradient(circle,rgba(47,59,30,.9) 0 55%,rgba(31,40,20,.95) 70%)}
.ring-inner{position:absolute;inset:7%;border-radius:50%;border:2px dotted rgba(212,173,85,.55);animation:spin 80s linear infinite}
.ring-mono{position:absolute;left:50%;top:50%;width:22%;transform:translate(-50%,-50%);border-radius:14px;opacity:.9}
@keyframes spin{to{transform:rotate(360deg)}}

.dish{position:absolute;z-index:1;--tx:0px;--ty:0px;--s:1;opacity:1;
  transform:translate3d(var(--tx),var(--ty),0) scale(var(--s));transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.dish img{width:100%;filter:drop-shadow(0 28px 26px rgba(0,0,0,.5))}
.d1{top:0;right:-2%;width:54%;z-index:3}
.d2{bottom:2%;right:2%;width:52%;z-index:4}
.d3{bottom:8%;left:-2%;width:46%;z-index:5}
.d4{top:6%;left:4%;width:30%;z-index:2}
.bob{position:relative;animation:bob 7s ease-in-out infinite}
.d2 .bob{animation-duration:8.5s;animation-delay:-2s}
.d3 .bob{animation-duration:6.5s;animation-delay:-4s}
.d4 .bob{animation-duration:9.5s;animation-delay:-1s}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(1.6deg)}}
.tag{position:absolute;left:12%;bottom:4%;background:var(--card);color:var(--olive);font:700 .82rem/1 var(--sans);padding:.6em .95em;border-radius:999px;border:1.5px solid var(--gold);box-shadow:0 8px 20px -8px rgba(0,0,0,.6);white-space:nowrap}
.tag b{color:#8e6a1f;margin-left:.3em}
.d1 .tag{left:auto;right:10%;bottom:10%}
.d3 .tag{left:4%;bottom:-2%}
/* entrance */
.js .hero2-stage:not(.in) .dish{opacity:0;--s:.7}
.js .hero2-stage:not(.in) .d1{--ty:-40px}
.js .hero2-stage:not(.in) .d2{--tx:60px}
.js .hero2-stage:not(.in) .d3{--tx:-60px}
.hero2-stage.in .d1{transition-delay:.15s}.hero2-stage.in .d2{transition-delay:.35s}.hero2-stage.in .d3{transition-delay:.55s}.hero2-stage.in .d4{transition-delay:.75s}
.hero2-stage.in.settled .dish{transition:transform .35s ease-out}

@media (max-width:900px){
  .hero2-grid{grid-template-columns:1fr;min-height:0;padding:20px 0 44px;gap:8px}
  .hero2-stage{order:-1;max-width:460px}
  .hero2-text{text-align:left}
  .tag{font-size:.72rem}
  .hero2 .btn-row .btn{flex:1 1 100%}
}

/* ribbon */
.ribbon{overflow:hidden;background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold));color:var(--olive-deep);border-bottom:1px solid var(--olive)}
.ribbon-track{display:flex;width:max-content;align-items:center;gap:26px;padding:14px 0;font:600 1.05rem/1 var(--display);animation:ribbon 45s linear infinite}
.ribbon-track i{font-style:normal;font-size:.8em;opacity:.7}
@keyframes ribbon{to{transform:translateX(-50%)}}

/* specialities with floating plates */
.spec .section-head{margin-bottom:1em}
.spec-row{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(20px,5vw,72px);padding:clamp(20px,4vw,40px) 0}
.spec-row.reverse .spec-plate{order:2}
.spec-plate{--r:0deg;--y:0px;transform:translateY(var(--y)) rotate(var(--r));will-change:transform}
.spec-plate img{width:100%;max-width:560px;margin-inline:auto;filter:drop-shadow(0 34px 30px rgba(31,40,20,.4))}
.spec-text h3{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:.3em}
.spec-text p{color:var(--muted);max-width:44ch}
.spec-text .from{font-weight:800;color:#8e6a1f;font-size:1.1rem}
@media (max-width:820px){.spec-row{grid-template-columns:1fr}.spec-row.reverse .spec-plate{order:0}.spec-plate img{max-width:420px}}

/* dark page heroes */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 50% 0%,rgba(212,173,85,.2),transparent 60%),var(--olive-deep);border-bottom:2px solid var(--gold);color:#eef0e4}
.page-hero::before{content:"";position:absolute;width:520px;aspect-ratio:1;left:50%;top:-330px;transform:translateX(-50%);border-radius:50%;border:2px solid rgba(212,173,85,.35);box-shadow:0 0 0 14px rgba(212,173,85,.06),0 0 0 16px rgba(212,173,85,.25)}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;font-family:var(--display);font-weight:600}
.page-hero .lead{color:#d9ddcb}
.page-hero .menu-mode-note{color:#cfd4bf}
.page-hero .btn-outline{color:#fff}

/* menu search */
.menu-search{max-width:900px;margin:0 auto 22px}
.menu-search label{display:block;font-weight:700;color:var(--olive);margin-bottom:.4em}
.menu-search input{width:100%;font:600 1.05rem var(--sans);padding:.85em 1.1em;border:1.5px solid var(--gold);border-radius:12px;background:var(--card);color:var(--ink)}
.menu-search input:focus{outline:3px solid rgba(184,137,46,.35);outline-offset:1px}
.menu-empty{margin:.8em 0 0;color:var(--muted)}
.menu-list li mark{background:var(--gold-pale);color:inherit;border-radius:3px;padding:0 2px}

@media (prefers-reduced-motion:reduce){
  .bob,.ring-inner,.ribbon-track,.status-pill .dot{animation:none!important}
  .js .hero2-stage:not(.in) .dish{opacity:1;--s:1;--tx:0px;--ty:0px}
  .spec-plate{transform:none!important}
}
@media (max-width:760px){.page-hero::before{width:340px;top:-250px}}

/* ===== v2.1: background + motion on every page ===== */
:root{--bg:#EAF5D4;--bg-2:#DCEBC0;--card:#F8FCEE}
.menu-jump{background:rgba(234,245,212,.95)}

/* floating dishes in page heroes */
.page-hero.has-floats{padding-block:clamp(56px,8vw,96px) clamp(40px,5vw,56px)}
.ph-float{position:absolute;z-index:0;width:clamp(150px,22vw,320px);pointer-events:none;--px:0px;--py:0px;transform:translate3d(var(--px),var(--py),0);transition:transform .35s ease-out}
.ph-float img{width:100%;filter:drop-shadow(0 24px 22px rgba(0,0,0,.55))}
.ph-left{left:max(-40px,calc(50% - 720px));top:50%;margin-top:-90px}
.ph-right{right:max(-40px,calc(50% - 720px));top:18%}
.ph-right .bob{animation-duration:8.5s;animation-delay:-3s}
.js .ph-float{opacity:0;transition:opacity .9s ease .2s,transform .35s ease-out}
.js .ph-float.in{opacity:1}
.page-hero .wrap{z-index:1}
@media (max-width:1100px){.ph-float{width:clamp(110px,18vw,200px)}.ph-left{left:-50px}.ph-right{right:-50px}}
@media (max-width:640px){.ph-float{width:120px;opacity:.55!important}.ph-left{left:-48px;top:auto;bottom:6px;margin:0}.ph-right{right:-44px;top:6px}}

/* menu: floating plates instead of framed photos */
.menu-photo.spec-plate{border:0;border-radius:0;overflow:visible;margin-top:-6px}
.menu-photo.spec-plate img{aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(31,40,20,.35))}
.menu-jump a.active{background:var(--olive);color:var(--gold-pale);border-color:var(--olive)}

/* about: floating plates + parallax band */
.about-block .spec-plate{margin:0;padding:0}
.about-block .spec-plate img{aspect-ratio:auto;border-radius:0;object-fit:contain}
.para-band{margin:0 0 1em;padding:7px;overflow:hidden}
.para-inner{overflow:hidden;border-radius:9px;aspect-ratio:21/9}
.para-inner img{width:100%;height:130%;object-fit:cover;transform:translateY(var(--py,0px));will-change:transform}
@media (max-width:640px){.para-inner{aspect-ratio:4/3}}

/* scroll reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
.js .reveal.shown{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .ph-float{opacity:1!important;transform:none!important}
  .para-inner img{transform:none!important;height:100%}
}
