:root{--nav-offset:96px}
html{scroll-padding-top:var(--nav-offset)}
body{overflow-wrap:break-word}
:focus-visible{outline:3px solid #d6ad52;outline-offset:4px}
.hero-grid>*,.story-card>*,.section-head>*,.cards>*,.gallery-grid>*,.zone-grid>*,.reviewbox>*,.form-grid>*{min-width:0}
body>nav.nav{position:sticky;top:0;background:#070708}
.navlinks{gap:16px}
.hero-visual{position:relative;min-height:0;aspect-ratio:4/5}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-photo{min-height:0;display:flex;align-items:center;background:#141416}
.story-photo img{height:auto;aspect-ratio:3/2;object-fit:contain}
.story-copy h2{font-size:clamp(35px,4vw,54px);margin-bottom:22px}
.card{display:flex;flex-direction:column;min-height:0;height:auto}
.card img{position:static;inset:auto;height:auto;aspect-ratio:4/3;object-fit:cover}
.card:after{display:none}
.card .card-copy{position:static;padding:20px}
.card h3{font-size:clamp(23px,2.4vw,29px)}
.gallery-landscape{align-items:start}
.wide-card{margin:0;min-width:0}
.wide-card .caption{position:static;inset:auto;transform:none;max-width:none;border-radius:0;background:#151518;backdrop-filter:none}
.gallery-feature{min-height:0;display:flex;align-items:center}
.gallery-feature img{height:auto;aspect-ratio:4/3;object-fit:cover}
.note{max-width:100%;width:fit-content}
.mapwrap{display:flex;align-items:center;min-height:0;background:#fff}
.mapwrap img{height:auto;min-height:0;object-fit:contain}
.ingredient-set{min-width:max(100vw,840px);justify-content:space-around}
.ingredient-strip:hover .ingredient-track{animation-play-state:paused}
.footerin{overflow-wrap:anywhere}
.photo-open{display:block;width:100%;height:auto;min-height:0;cursor:zoom-in}
.photo-open img{width:100%;height:auto}
.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-items:start}
.masonry-grid figure,.masonry-grid .tall{margin:0;grid-row:auto;min-width:0;box-shadow:none;background:#111}
.masonry-grid figure img{height:auto;aspect-ratio:16/9;object-fit:cover}
.masonry-grid figure:nth-child(3n+2) img{aspect-ratio:3/2}
.masonry-grid figure:hover img{transform:none}
.masonry-grid .wide img{aspect-ratio:21/9}
.photo-dialog{width:min(1120px,96vw);max-width:96vw;max-height:92vh;padding:52px 16px 16px;border:1px solid #5c4b2c;border-radius:20px;background:#080809;color:#f3eadc;overflow:auto}
.photo-dialog::backdrop{background:rgba(0,0,0,.9)}
.photo-dialog figure{margin:0;display:flex;flex-direction:column;gap:12px;align-items:center}
.photo-dialog img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(90vh - 125px);object-fit:contain;border-radius:8px}
.photo-dialog figcaption{position:static;max-width:100%;font:500 15px/1.5 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere}
.photo-dialog .photo-close{position:absolute;top:5px;right:8px;min-width:44px;min-height:44px;border:1px solid #796239;border-radius:50%;background:#17140e;color:#fff;font:28px/1 system-ui,sans-serif;cursor:pointer}
.site-footer a[href^="mailto:"]{overflow-wrap:anywhere}
.secondary-back-top{display:block;width:fit-content;margin:0 auto 28px;min-height:44px;padding:10px 18px;border:1px solid #d6ad52;border-radius:24px;color:#f3eadc;font-weight:700;font-size:14px}
.menu-btn{cursor:pointer;min-width:44px;min-height:44px}
@media(min-width:621px) and (max-width:930px){.hero-visual{max-width:600px;width:100%;margin:auto}.story-photo img{aspect-ratio:3/2}}
@media(max-width:1050px){
  .site-header .menu-btn{display:block;margin-left:auto}
  .site-header .nav{display:none;position:absolute;left:13px;right:13px;top:100%;background:#10100d;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 100px);overflow-y:auto}
  .site-header .nav.open{display:flex}
  .site-header .nav a:not(.nav-contact){display:block;padding:9px 4px;min-height:44px}
  .site-header .nav-contact{text-align:center;margin-top:5px}
  .menu-feature{grid-template-columns:1fr}
  .menu-feature img{height:auto;min-height:0;aspect-ratio:4/3}
}
@media(max-width:930px){
  :root{--nav-offset:148px}
  body>nav.nav .navlinks a:not(.btn){display:none}
  .mobile-tabs a{display:flex;align-items:center;justify-content:center;min-height:44px}
  section[id]{scroll-margin-top:0}
  .mapwrap img{height:auto;min-height:0}
}
@media(max-width:620px){
  .navin{gap:10px}
  .brand{gap:8px}
  .brand img{flex:0 0 42px;width:42px;height:42px}
  .brand strong{font-size:13px}
  .brand small{font-size:8px;letter-spacing:.13em}
  .navlinks .btn{max-width:132px;min-height:44px;padding:10px 12px;font-size:12px}
  h1{font-size:clamp(38px,10vw,54px)}
  .hero-visual{min-height:0}
  .card,.card:nth-child(n){grid-column:auto;height:auto;min-height:0}
  .card .card-copy{padding:14px}
  .card h3{font-size:25px}
  .cards{grid-template-columns:1fr}
  .card img{aspect-ratio:16/9}
  .story-photo,.story-photo img{aspect-ratio:auto;min-height:0;height:auto}
  .story-copy{padding:28px 22px}
  .gallery-feature{min-height:0}
  .wide-card,.wide-card.ambiance{aspect-ratio:auto}
  .masonry-grid{grid-template-columns:1fr}
  .masonry-grid .wide{grid-column:auto}
  .masonry-grid .wide img{aspect-ratio:16/9}
  .ingredient-set{min-width:max(100vw,588px)}
  .form-grid input,.form-grid select,textarea{font-size:16px;min-width:0}
  .menu-feature>div{padding:24px}
  .photo-dialog{padding:52px 10px 12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ingredient-track{animation:none}
  .btn,.back-to-top,.masonry-grid img{transition:none}
}

.score .rating-placeholder{font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,42px);line-height:1.15;color:#f3eadc;margin:0 0 14px}
