:root{
  --olive:#4C5C47;
  --olive-dark:#263326;
  --red:#861B1B;
  --beige:#D6C69F;
  --beige-light:#F3EBD8;
  --gray:#6D6B64;
  --ink:#171915;
  --paper:#FCF8ED;
  --white:#FFFDF7;
  --shadow:0 24px 80px rgba(23,25,21,.18);
  --radius:28px;
  --radius-sm:18px;
  --header-h:72px;
  --font-display:"Cormorant Garamond", Georgia, serif;
  --font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-condensed:"Bebas Neue", Impact, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--red);color:var(--white)}

.skip-link{
  position:absolute;
  top:-120px;
  left:16px;
  z-index:1000;
  padding:.7rem 1rem;
  background:var(--red);
  color:var(--white);
  border-radius:999px;
}
.skip-link:focus{top:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.section-pad{padding-inline:clamp(20px,5vw,72px)}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  height:var(--header-h);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(18px,4vw,48px);
  color:var(--white);
  transition:background .35s ease,color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
.site-header.is-scrolled{
  color:var(--ink);
  background:rgba(252,248,237,.82);
  backdrop-filter:blur(16px);
  box-shadow:0 8px 40px rgba(23,25,21,.08);
}
.brand{display:inline-flex;flex-direction:column;line-height:.9;letter-spacing:.04em;gap:4px}
.brand-mark{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.06em;white-space:nowrap}
.brand-tag{font-family:var(--font-condensed);font-size:.86rem;letter-spacing:.36em;text-transform:uppercase;margin-left:.15em}

.nav-toggle{
  position:relative;
  z-index:102;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(255,255,255,.1);
  display:grid;
  place-content:center;
  gap:5px;
}
.nav-toggle span:not(.sr-only){display:block;width:18px;height:1.5px;background:currentColor;transition:transform .3s ease, opacity .3s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.site-header.is-scrolled .nav-toggle{border-color:rgba(23,25,21,.14);background:rgba(255,255,255,.4)}

.site-nav{
  position:fixed;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:1.4rem;
  padding:88px 26px 36px;
  background:var(--olive-dark);
  color:var(--beige-light);
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.22,.8,.24,1);
  z-index:101;
}
.site-nav.is-open{transform:translateX(0)}
.site-nav a,.lang-toggle{
  font-size:clamp(1.55rem,8vw,3.4rem);
  font-family:var(--font-display);
  line-height:1;
}
.site-nav .nav-cta{
  margin-top:.6rem;
  font-family:var(--font-sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.92rem;
  padding:.95rem 1.2rem;
  border-radius:999px;
  background:var(--red);
  color:var(--white);
}
.lang-toggle{
  position:absolute;
  right:24px;
  bottom:26px;
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  color:var(--beige-light);
  border-radius:999px;
  padding:.75rem .95rem;
  font-family:var(--font-sans);
  font-size:.9rem;
  letter-spacing:.1em;
  cursor:pointer;
}

.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--olive-dark);
  color:var(--white);
}
.hero-media,.hero-overlay{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:saturate(.94) contrast(1.03)}
.hero-overlay{
  background:
    radial-gradient(circle at 65% 18%, rgba(214,198,159,.2), transparent 36%),
    linear-gradient(180deg, rgba(18,20,16,.18), rgba(18,20,16,.52) 42%, rgba(18,20,16,.9));
}
.hero-content{
  position:relative;
  z-index:2;
  width:min(100%,940px);
  padding-block:calc(var(--header-h) + 60px) 112px;
}
.eyebrow,.kicker{
  margin:0 0 .9rem;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
.hero-title{
  margin:0;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(4.8rem,21vw,15rem);
  line-height:.76;
  letter-spacing:-.085em;
  max-width:960px;
}
.hero-copy{
  max-width:520px;
  margin:1.5rem 0 0;
  font-size:clamp(1rem,4vw,1.28rem);
  line-height:1.55;
  color:rgba(255,255,255,.86);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.9rem 1.15rem;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.82rem;
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--red);color:var(--white)}
.btn-ghost{border:1px solid currentColor;color:inherit;background:rgba(255,255,255,.08)}
.hero-badge{
  position:absolute;
  right:20px;
  bottom:22px;
  z-index:2;
  display:none;
  gap:.45rem;
}
.hero-badge span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.4rem .7rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}
.soundless{display:none}

.intro{padding-block:72px;background:var(--paper)}
.intro-grid{display:grid;gap:1.75rem}
.section-label{font-family:var(--font-condensed);letter-spacing:.22em;color:var(--red);font-size:1rem}
h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.06em;
  font-size:clamp(2.7rem,12vw,7.5rem);
  line-height:.9;
}
.intro-copy p:not(.kicker),.feature-text p:not(.eyebrow),.wine-card p,.reserve-content p,.section-top p:not(.eyebrow){font-size:1.04rem;line-height:1.7;color:var(--gray)}
.intro-copy p:not(.kicker){max-width:680px}
.story-strip{display:grid;gap:1rem;margin-top:48px}
.pillar{
  border:1px solid rgba(76,92,71,.16);
  border-radius:var(--radius-sm);
  padding:1.25rem;
  background:rgba(255,255,255,.42);
}
.pillar span{display:block;color:var(--red);font-size:.78rem;font-weight:800;margin-bottom:1.1rem}
.pillar h3{font-family:var(--font-display);font-size:1.9rem;line-height:1;margin:.2rem 0 .8rem;letter-spacing:-.04em}
.pillar p{margin:0;color:var(--gray);line-height:1.55}

.olive-panel{
  position:relative;
  display:grid;
  gap:2rem;
  padding-block:72px;
  color:var(--beige-light);
  background:var(--olive);
  overflow:hidden;
}
.olive-panel:before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:140px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.12));
  pointer-events:none;
}
.feature-text{position:relative;z-index:1}
.feature-text p:not(.eyebrow){color:rgba(252,248,237,.78)}
.inline-link{display:inline-flex;margin-top:1.1rem;color:var(--white);font-weight:800;border-bottom:1px solid currentColor;padding-bottom:.3rem}
.feature-collage{position:relative;min-height:560px;z-index:1}
.photo-card{position:absolute;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#000}
.photo-card img{width:100%;height:100%;object-fit:cover}
.card-a{left:0;top:26px;width:58%;height:430px}
.card-b{right:0;top:0;width:58%;height:310px}
.card-c{right:8%;bottom:0;width:54%;height:300px}

.menu-section{padding-block:72px;background:var(--beige-light)}
.section-top{display:grid;gap:1rem;margin-bottom:28px}
.section-top p{max-width:620px;margin:0}
.menu-tabs{display:flex;gap:.5rem;overflow:auto;padding-bottom:.35rem;margin-bottom:1rem;scrollbar-width:none}
.menu-tabs::-webkit-scrollbar{display:none}
.menu-tabs button{
  white-space:nowrap;
  border:1px solid rgba(23,25,21,.14);
  background:transparent;
  border-radius:999px;
  padding:.76rem 1rem;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.menu-tabs button.active{background:var(--olive);color:var(--white);border-color:var(--olive)}
.menu-list{display:grid;gap:1rem}
.menu-item{
  display:grid;
  gap:.5rem;
  padding:1.25rem;
  border-radius:var(--radius-sm);
  background:var(--white);
  box-shadow:0 18px 50px rgba(23,25,21,.07);
}
.menu-item-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}
.menu-item h3{margin:0;font-family:var(--font-display);font-size:1.8rem;line-height:1;letter-spacing:-.04em}
.menu-item .price{font-weight:900;color:var(--red);white-space:nowrap}
.menu-item p{margin:0;color:var(--gray);line-height:1.55}
.tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}
.tags span{font-size:.7rem;font-weight:800;color:var(--olive);background:rgba(76,92,71,.12);padding:.32rem .52rem;border-radius:999px}
.menu-note{margin-top:1rem;color:var(--gray);font-size:.86rem}

.wine-section{padding-block:72px;display:grid;gap:1.2rem;background:var(--paper)}
.wine-card{border-radius:var(--radius);padding:clamp(1.4rem,5vw,3rem);background:var(--olive-dark);color:var(--beige-light);display:grid;gap:1.5rem;overflow:hidden;position:relative}
.wine-card:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(214,198,159,.16)}
.wine-card p{color:rgba(243,235,216,.76)}
.wine-highlights{display:grid;gap:.7rem;position:relative;z-index:1}
.wine-highlights span{padding:.85rem 1rem;border-radius:999px;background:rgba(255,255,255,.08);font-weight:700}
.wine-photo{border-radius:var(--radius);overflow:hidden;max-height:580px;box-shadow:var(--shadow)}
.wine-photo img{width:100%;height:100%;object-fit:cover}

.gallery{padding-block:72px;background:var(--red);color:var(--beige-light);overflow:hidden}
.gallery .section-top p{color:rgba(243,235,216,.75)}
.gallery-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 12px;margin-inline:-20px;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track figure{flex:0 0 76vw;max-width:420px;margin:0;border-radius:var(--radius);overflow:hidden;scroll-snap-align:center;background:#000;aspect-ratio:4/5;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.gallery-track img{width:100%;height:100%;object-fit:cover}

.reserve-section{padding-block:72px;background:var(--beige);display:grid;gap:1.4rem}
.reserve-content p{color:rgba(23,25,21,.72)}
.reservation-widget{min-height:420px;border-radius:var(--radius);background:var(--white);padding:1rem;box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}
.widget-placeholder{font-weight:800;color:var(--gray);text-align:center}
.reservation-widget iframe{width:100%!important;max-width:100%!important}

.visit-section{padding-block:72px;background:var(--paper);display:grid;gap:1.6rem}
.visit-image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.visit-image img{width:100%;height:100%;object-fit:cover}
.visit-info address{font-style:normal;color:var(--gray);line-height:1.7;margin:1.2rem 0}
.visit-info address a{color:var(--red);font-weight:800}
.visit-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.visit-info .btn-ghost{color:var(--ink);background:transparent}

.site-footer{padding-block:52px 88px;background:var(--olive-dark);color:var(--beige-light);display:grid;gap:1rem}
.site-footer p{margin:0;color:rgba(243,235,216,.72)}
.footer-cta{justify-self:start;color:var(--white);font-weight:900;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:.25rem}

.floating-reserve{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:90;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.9rem 1.15rem;
  border-radius:999px;
  background:var(--red);
  color:var(--white);
  box-shadow:0 18px 50px rgba(134,27,27,.38);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cursor-dot{display:none}
.morph-svg{position:absolute;pointer-events:none}

.reveal{opacity:0;transform:translateY(24px)}
.split-text{will-change:transform,opacity}

@media (min-width:760px){
  .nav-toggle{display:none}
  .site-nav{
    position:static;
    inset:auto;
    transform:none;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:1.35rem;
    background:transparent;
    color:inherit;
    padding:0;
  }
  .site-nav a,.lang-toggle{font-family:var(--font-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
  .site-nav .nav-cta{margin:0;font-size:.76rem;padding:.7rem .95rem;background:var(--red);color:var(--white)}
  .lang-toggle{position:static;color:inherit;border-color:currentColor;padding:.55rem .68rem;background:transparent}
  .hero-content{padding-bottom:120px}
  .hero-badge{display:flex}
  .intro-grid{grid-template-columns:260px 1fr;align-items:start}
  .story-strip{grid-template-columns:repeat(3,1fr)}
  .olive-panel{grid-template-columns:.85fr 1.15fr;align-items:center;padding-block:112px}
  .feature-collage{min-height:660px}
  .card-a{height:520px;width:48%}
  .card-b{height:380px;width:52%}
  .card-c{height:340px;width:46%}
  .menu-list{grid-template-columns:repeat(2,1fr)}
  .wine-section{grid-template-columns:1.2fr .8fr;align-items:stretch;padding-block:112px}
  .wine-card{min-height:560px;align-content:center}
  .gallery-track figure{flex-basis:32vw}
  .reserve-section{grid-template-columns:.8fr 1.2fr;align-items:center;padding-block:112px}
  .visit-section{grid-template-columns:1fr 1fr;align-items:center;padding-block:112px}
  .visit-image{height:560px}
  .site-footer{grid-template-columns:1fr auto auto;align-items:center;padding-bottom:52px}
}

@media (min-width:1120px){
  .site-nav{gap:1.8rem}
  .hero-title{font-size:15.5rem}
  .menu-list{grid-template-columns:repeat(3,1fr)}
  .cursor-dot{
    display:block;
    position:fixed;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--beige);
    border:1px solid rgba(255,255,255,.7);
    z-index:999;
    pointer-events:none;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}

/* --- N16 v2 refinements: elevated menu, desktop gallery navigation, modal menus --- */
body.modal-open{overflow:hidden}

.menu-section{
  background:var(--paper);
  border-top:1px solid rgba(76,92,71,.14);
  border-bottom:1px solid rgba(76,92,71,.14);
}
.menu-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.2rem;
  margin:0 0 1.6rem;
}
.menu-open{
  position:relative;
  appearance:none;
  border:0;
  border-bottom:1px solid rgba(134,27,27,.5);
  border-radius:0;
  background:transparent;
  color:var(--red);
  padding:.65rem 0 .42rem;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .25s ease, letter-spacing .25s ease;
}
.menu-open:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:1px;
  background:var(--olive);
  transition:width .35s ease;
}
.menu-open:hover{color:var(--olive);letter-spacing:.16em}
.menu-open:hover:after{width:100%}
.menu-list{
  gap:0;
  border-top:1px solid rgba(23,25,21,.16);
  border-bottom:1px solid rgba(23,25,21,.16);
}
.menu-item{
  padding:1.35rem 0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-bottom:1px solid rgba(23,25,21,.13);
}
.menu-item:last-child{border-bottom:0}
.menu-item-head{align-items:baseline}
.menu-item h3{
  font-size:clamp(1.75rem,4vw,2.45rem);
  line-height:.95;
}
.menu-item .price{
  font-size:.95rem;
  letter-spacing:.04em;
}
.menu-item p{max-width:48rem;color:rgba(23,25,21,.68)}
.tags span{background:transparent;border:1px solid rgba(76,92,71,.3);color:var(--olive);padding:.28rem .48rem}
.menu-note{max-width:780px}

.gallery-shell{
  position:relative;
  margin-inline:-20px;
  cursor:none;
}
.gallery-track{
  margin-inline:0;
  padding-inline:20px;
  scroll-behavior:smooth;
}
.gallery-nav{
  display:none;
  position:absolute;
  top:50%;
  z-index:4;
  width:54px;
  height:54px;
  border:1px solid rgba(243,235,216,.42);
  border-radius:50%;
  background:rgba(23,25,21,.18);
  color:var(--beige-light);
  backdrop-filter:blur(12px);
  transform:translateY(-50%);
  font-size:2.1rem;
  line-height:1;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
.gallery-prev{left:clamp(18px,3vw,42px)}
.gallery-next{right:clamp(18px,3vw,42px)}
.gallery-nav:hover{background:rgba(23,25,21,.42);border-color:rgba(243,235,216,.75);transform:translateY(-50%) scale(1.04)}
.gallery-cursor{
  display:none;
  position:absolute;
  z-index:3;
  width:96px;
  height:96px;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.82);
  opacity:0;
  background:radial-gradient(circle, rgba(243,235,216,.95), rgba(243,235,216,.12) 58%, transparent 72%);
  color:var(--olive-dark);
  align-items:center;
  justify-content:center;
  font-size:2.2rem;
  transition:opacity .2s ease, transform .25s ease;
  mix-blend-mode:screen;
}
.gallery-shell[data-cursor-dir] .gallery-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gallery-track figure{transition:transform .35s ease, filter .35s ease}
.gallery-track figure:hover{transform:translateY(-6px);filter:saturate(1.04) contrast(1.04)}

.reservation-widget{position:relative}
.widget-placeholder{transition:opacity .25s ease, transform .25s ease}
.widget-placeholder.is-hidden{opacity:0;transform:translateY(-6px);pointer-events:none}
.reservation-widget.ot-loaded{place-items:stretch;background:rgba(255,253,247,.68)}

.menu-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:stretch end;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s ease;
}
.menu-modal.is-open{pointer-events:auto;opacity:1}
.menu-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(23,25,21,.58);
  backdrop-filter:blur(10px);
}
.menu-modal-panel{
  position:relative;
  z-index:1;
  width:min(100%,980px);
  height:100%;
  overflow:auto;
  background:var(--paper);
  color:var(--ink);
  padding:clamp(1.2rem,4vw,3.4rem);
  box-shadow:-28px 0 90px rgba(0,0,0,.28);
  transform:translateX(26px);
  opacity:.96;
  transition:transform .38s cubic-bezier(.22,.8,.24,1), opacity .38s ease;
  outline:none;
}
.menu-modal.is-open .menu-modal-panel{transform:translateX(0);opacity:1}
.menu-modal-close{
  position:sticky;
  top:0;
  float:right;
  z-index:4;
  width:46px;
  height:46px;
  border:1px solid rgba(23,25,21,.18);
  border-radius:50%;
  background:rgba(252,248,237,.82);
  color:var(--red);
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.menu-modal-header{
  display:grid;
  gap:.4rem;
  padding:2rem 0 1.25rem;
  border-bottom:1px solid rgba(23,25,21,.18);
}
.menu-modal-header h2{font-size:clamp(3.4rem,9vw,7.4rem)}
.menu-modal-body{padding:1.5rem 0 3rem}
.menu-print{display:grid;gap:2.5rem}
.menu-intro{
  max-width:720px;
  margin:0;
  color:rgba(23,25,21,.68);
  font-size:1.05rem;
  line-height:1.8;
}
.menu-block{display:grid;gap:1rem}
.menu-block h3{
  margin:0;
  font-family:var(--font-condensed);
  font-size:1rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
}
.menu-lines{display:grid;border-top:1px solid rgba(23,25,21,.18)}
.menu-line,.wine-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:start;
  padding:1rem 0;
  border-bottom:1px solid rgba(23,25,21,.12);
}
.menu-line h4,.wine-line b{
  display:block;
  margin:0 0 .25rem;
  font-family:var(--font-display);
  font-size:clamp(1.5rem,3vw,2.15rem);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:650;
}
.menu-line p,.wine-line em{
  display:block;
  margin:0;
  color:rgba(23,25,21,.64);
  line-height:1.55;
  font-style:normal;
}
.menu-line small{
  display:inline-flex;
  margin-top:.5rem;
  color:var(--olive);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.menu-line strong,.wine-line strong{
  color:var(--red);
  font-size:.9rem;
  letter-spacing:.04em;
  white-space:nowrap;
}
.menu-footnote{
  margin:0;
  color:rgba(23,25,21,.56);
  font-size:.88rem;
  line-height:1.6;
}
.wine-print .menu-line h4,.wine-print .wine-line b{font-size:clamp(1.18rem,2.2vw,1.6rem)}
.wine-print .wine-line{padding:.82rem 0}

@media (min-width:760px){
  .menu-actions{margin-bottom:2.2rem}
  .menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,5rem)}
  .menu-item:nth-last-child(-n+2){border-bottom:0}
  .gallery-nav{display:grid;place-items:center}
  .gallery-cursor{display:flex}
  .menu-modal-panel{width:min(82vw,1040px)}
  .menu-print{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem clamp(2rem,4vw,4.5rem)}
  .menu-intro,.menu-footnote{grid-column:1/-1}
  .wine-print{grid-template-columns:1fr}
}

@media (min-width:1120px){
  .menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-track figure{flex-basis:min(30vw,440px)}
}

@media (max-width:759px){
  .gallery-shell{cursor:auto}
  .menu-modal{place-items:stretch}
  .menu-modal-panel{width:100%}
  .menu-line,.wine-line{grid-template-columns:1fr;gap:.45rem}
  .menu-line strong,.wine-line strong{justify-self:start}
}

/* --- N16 v3 refinements: editorial feed, centered OpenTable, cursor-only gallery, scroll choreography --- */
main > section:not(.hero){
  transform-origin:center center;
  will-change:transform, opacity, clip-path;
}

.newsfeed-strip{
  position:relative;
  display:grid;
  gap:0;
  margin-top:clamp(3rem,7vw,6.5rem);
  border-top:1px solid rgba(23,25,21,.2);
  background:transparent;
}
.newsfeed-heading{
  padding:0 0 1.1rem;
  font-family:var(--font-condensed);
  letter-spacing:.22em;
  color:var(--red);
  font-size:clamp(1rem,2vw,1.15rem);
  line-height:1;
}
.newsfeed-strip .pillar,
.newsfeed-strip .feed-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(54px,72px) 1fr;
  gap:clamp(1rem,3vw,2.5rem);
  align-items:start;
  padding:clamp(1.2rem,3.4vw,2.6rem) 0;
  border:0;
  border-bottom:1px solid rgba(23,25,21,.16);
  border-radius:0;
  background:transparent;
  overflow:hidden;
  isolation:isolate;
  transition:padding-left .45s cubic-bezier(.22,.8,.24,1), border-color .35s ease;
}
.newsfeed-strip .feed-item:before{
  content:attr(data-feed);
  position:absolute;
  right:0;
  bottom:-.14em;
  z-index:-1;
  font-family:var(--font-display);
  font-size:clamp(5.5rem,18vw,15rem);
  line-height:.75;
  letter-spacing:-.1em;
  color:rgba(76,92,71,.055);
  pointer-events:none;
  transform:translateX(8%);
  transition:color .45s ease, transform .45s ease;
}
.newsfeed-strip .feed-item:hover{
  padding-left:clamp(.4rem,1.2vw,1rem);
  border-color:rgba(134,27,27,.42);
}
.newsfeed-strip .feed-item:hover:before{
  color:rgba(134,27,27,.075);
  transform:translateX(2%);
}
.newsfeed-strip .pillar span{
  display:block;
  margin:0;
  color:var(--red);
  font-family:var(--font-condensed);
  font-size:clamp(1rem,2.2vw,1.25rem);
  line-height:1;
  letter-spacing:.14em;
  font-weight:400;
}
.newsfeed-strip .pillar h3{
  margin:0 0 .65rem;
  font-family:var(--font-display);
  font-size:clamp(2.15rem,6.6vw,5.35rem);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:650;
}
.newsfeed-strip .pillar p{
  max-width:780px;
  margin:0;
  color:rgba(23,25,21,.66);
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.65;
}

.gallery-shell{cursor:none}
.gallery-nav{display:none!important}
.gallery-cursor{
  width:112px;
  height:112px;
  background:radial-gradient(circle, rgba(243,235,216,.96), rgba(243,235,216,.18) 56%, transparent 74%);
  color:var(--olive-dark);
  font-family:var(--font-display);
  font-size:3rem;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
  mix-blend-mode:normal;
}
.gallery-shell[data-cursor-dir="prev"] .gallery-cursor,
.gallery-shell[data-cursor-dir="next"] .gallery-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gallery-track figure{border-radius:0;box-shadow:none}
.gallery-track figure:hover{transform:translateY(-8px) scale(.985)}

.reserve-section{
  background:linear-gradient(135deg, rgba(214,198,159,.96), rgba(243,235,216,.92));
}
.reservation-widget{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:420px;
  padding:clamp(1.2rem,4vw,2rem);
}
.reservation-widget.ot-loaded{
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,253,247,.62);
}
.reservation-widget > *{margin-inline:auto!important}
.reservation-widget iframe{
  display:block!important;
  width:min(100%,360px)!important;
  max-width:360px!important;
  margin:0 auto!important;
}

@media (min-width:760px){
  .story-strip.newsfeed-strip{grid-template-columns:1fr;gap:0}
  .newsfeed-strip .feed-item{grid-template-columns:120px minmax(0,1fr)}
  .gallery-track{padding-inline:clamp(40px,6vw,88px)}
}

@media (max-width:759px){
  main > section:not(.hero){will-change:auto}
  .newsfeed-strip .feed-item:before{font-size:7rem;opacity:.8}
  .gallery-shell{cursor:auto}
  .gallery-cursor{display:none!important}
  .reservation-widget{min-height:340px}
}
