

:root{
  --band:112px;                        
  --quiet:rgba(28,16,22,.66);          
  --hair:rgba(28,16,22,.18);           

  --vo-wine:#7b2335;
  --vo-rose:#b98a93;
}

body{padding-top:0}

.nav{
  top:0;left:0;right:0;transform:none;width:auto;
  transition:transform .45s var(--ease);
}
.nav.is-hidden{transform:translateY(-100%)}
.nav__bar{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:var(--band);border-radius:0;padding:0 var(--pad);
  background:var(--cream);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:1px solid var(--hair);
}

.nav__mark{position:static;transform:none;grid-column:2;grid-row:1;justify-self:center}

.nav__mark{color:var(--ink)}
.vo-mark{display:flex;gap:.62em;font-family:var(--disp);font-size:17px;line-height:1;text-transform:uppercase;letter-spacing:.3em;white-space:nowrap}
.vo-mark b{font-weight:400}
.nav.is-over:not(.is-open) .nav__mark{color:var(--cream)}

.nav__book{
  grid-column:1;grid-row:1;justify-self:start;
  border-color:rgba(28,16,22,.42);color:var(--ink);
}
.nav__book:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.nav__burger{grid-column:3;grid-row:1;justify-self:end;margin:0}
.nav__burger span{background:var(--ink)}

.nav__bar{transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.nav.is-over:not(.is-open) .nav__bar{background:transparent;border-bottom-color:transparent}
.nav.is-over:not(.is-open) .nav__burger span{background:var(--cream)}
.nav.is-over:not(.is-open) .nav__book{color:var(--cream);border-color:rgba(247,245,238,.62)}
.nav.is-over:not(.is-open) .nav__book:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.nav.is-over:not(.is-open) .nav__book:focus-visible,
.nav.is-over:not(.is-open) .nav__burger:focus-visible{outline-color:var(--cream)}

.menu{
  position:absolute;top:100%;right:var(--pad);
  width:min(372px,calc(100vw - var(--pad)*2));
  max-height:calc(100vh - var(--band));overflow:auto;
  border-radius:0;padding:34px 30px 26px;
  border:1px solid var(--hair);border-top:0;
  display:flex;flex-direction:column;   
}
.menu__links{justify-items:start;gap:14px}
.menu__links a{font-size:15px}
.menu__ext{justify-items:start;margin-top:38px}
.menu__card{margin-top:30px}
.menu__card > img{height:220px}

.menu__card-row{white-space:normal;gap:14px;justify-content:center;text-align:center}

@media (prefers-reduced-motion: reduce){
  .nav{transition:none}
}

.menu__ribbon{
  margin:26px 0 0;padding-top:16px;border-top:1px solid var(--hair);
  overflow:hidden;white-space:nowrap;
  font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;
  color:var(--quiet);
}
.menu__ribbon span{display:inline-block;animation:vo-ribbon 26s linear infinite}
@keyframes vo-ribbon{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion: reduce){
  .menu__ribbon span{animation:none}
}

.menu__ribbon{margin-top:auto}

.hero{
  position:relative;
  height:100vh;min-height:560px;
  background:var(--ink);            
  color:var(--cream);
}
@supports (height:100svh){
  .hero{height:100svh}
}

.hero::after{
  content:"";
  background:
    linear-gradient(to right,rgba(0,0,0,.62) 0,rgba(0,0,0,.38) 62%,rgba(0,0,0,0) 100%),
    linear-gradient(to top,rgba(0,0,0,.62) 0,rgba(0,0,0,.42) 240px,rgba(0,0,0,0) 460px);
}
.hero__inner{
  position:relative;z-index:1;height:100%;
  display:flex;flex-direction:column;align-items:flex-start;
  justify-content:flex-end;                      
  padding:0 var(--pad) 8vh max(var(--pad), 6%);  
}
.hero__block{display:grid;justify-items:start;max-width:660px}
.hero .disp{max-width:660px}
.hero .eyebrow{margin-bottom:26px}
.hero__foot{margin-top:34px;display:grid;gap:22px;justify-items:start;max-width:430px}

.hero__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.hero__book{
  display:inline-grid;place-items:center;min-height:44px;padding:0 22px;
  border:1px solid rgba(247,245,238,.62);border-radius:4px;color:var(--cream);
  font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.11em;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.hero__book:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.hero__trust{
  margin:30px 0 0;display:flex;align-items:baseline;gap:9px;
  font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;
}
.hero__trust b{font-size:19px;font-weight:500;letter-spacing:.04em}

.menuboard{
  display:grid;
  grid-template-columns:minmax(0,336fr) minmax(0,185fr) minmax(0,336fr) minmax(0,126fr) minmax(0,336fr);
  gap:0;
  padding:104px var(--pad) 112px;
  background:var(--cream);
}

.menuboard > *:nth-child(1){grid-column:5;grid-row:1}   
.menuboard > *:nth-child(2){grid-column:1;grid-row:1}   
.menuboard > *:nth-child(3){grid-column:3;grid-row:1}   
.menuboard .eyebrow{color:var(--quiet);margin-bottom:20px}
.menuboard .disp{margin-bottom:16px}
.menu-lede .body{margin-bottom:26px;max-width:300px;color:var(--quiet)}
.special{margin:0 0 24px}
.special img{width:100%;height:420px;object-fit:cover}
.special figcaption{
  margin-top:9px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--quiet);
}
.special figcaption .sp-kind{color:var(--ink);letter-spacing:.1em}

.menu-cat{
  margin:0 0 20px;font-weight:400;text-transform:uppercase;
  font-size:15px;line-height:1.1;letter-spacing:.115em;
}
.menu-cat em{
  display:block;margin-top:6px;font-style:normal;text-transform:none;
  font-size:11.5px;letter-spacing:.08em;color:var(--quiet);
}
.menu-cat.gap{margin-top:52px}
.rows{list-style:none;margin:0;padding:0}
.rows li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:start;gap:0 18px;padding:7px 0;
  border-top:1px solid var(--hair);
}
.rows li:first-child{border-top:0}
.rows .item{
  font-size:13.5px;text-transform:uppercase;letter-spacing:.07em;line-height:1.3;
}
.rows .note{
  display:block;margin-top:4px;font-style:normal;text-transform:none;
  font-size:12px;letter-spacing:.005em;line-height:1.28;color:var(--quiet);
}
.rows .price{
  font-size:13.5px;letter-spacing:.05em;white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.menu-fine{
  margin:44px 0 0;padding-top:14px;border-top:1px solid var(--hair);
  font-size:11px;line-height:1.45;letter-spacing:.005em;color:var(--quiet);
}

.band{height:auto;aspect-ratio:1024/640}

.feat{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;align-items:center;
  padding:96px max(var(--pad),calc((100% - 1372px) / 2)) 104px;
  background:var(--cream-soft);
}
.feat__txt{display:grid;justify-items:start;gap:0}
.feat .eyebrow{color:var(--quiet);margin-bottom:20px}
.feat .disp{margin-bottom:38px}

.feat__fig{margin:0;justify-self:end;width:min(546px,100%);overflow:hidden;aspect-ratio:1300/1950}
.feat__fig img{width:100%;height:100%;object-fit:cover}
.feat-rows{list-style:none;margin:0 0 30px;padding:0;width:100%;max-width:430px}
.feat-rows li{padding:16px 0;border-top:1px solid var(--vo-rose)}
.feat-rows li:first-child{border-top:0;padding-top:0}
.feat-day{
  margin:0 0 8px;font-size:11px;font-weight:500;text-transform:uppercase;
  letter-spacing:.16em;color:var(--quiet);
}
.feat-what{margin:0;font-size:20px;line-height:1.14;letter-spacing:.02em}
.feat-note{margin:6px 0 0;font-size:12.5px;line-height:1.35;letter-spacing:.005em;color:var(--quiet)}

.happy{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  background:var(--cream);
}
.happy__txt{
  display:flex;flex-direction:column;align-items:flex-start;
  padding:104px max(var(--pad),calc((100% - 1372px) / 4)) 104px max(var(--pad),calc((100% - 1372px) / 2));
  min-height:680px;overflow:clip;
}
.happy .eyebrow{color:var(--quiet);margin-bottom:20px}
.happy .disp{margin-bottom:34px}
.happy__txt .body{margin:0 0 16px;max-width:440px;color:var(--quiet)}

.happy__txt .visit-book{margin:34px 0 0;margin-top:auto;align-self:flex-start}
.happy__fig{margin:0;overflow:hidden}
.happy__fig img{width:100%;height:100%;object-fit:cover;min-height:680px}

.about{padding:64px var(--pad) 56px;align-items:center}
.about__eyebrow{color:var(--quiet)}
.about__body{padding-left:0;padding-right:38px}
.about__body .disp{max-width:none}

.about__foot{margin-top:40px;max-width:520px}

.about__shot{margin-left:auto;flex:0 0 clamp(280px,27vw,400px)}

.about__shot img{width:100%;height:clamp(320px,32vw,460px);object-fit:cover;filter:none}
.about .body{color:var(--quiet)}

.desert{height:auto;min-height:0;padding:var(--pad) var(--pad) 46px}
.desert__top{padding-top:78px}

.desert__bottom{position:relative;z-index:1;width:auto;max-width:400px;margin:74px 0 0 auto;justify-items:start}
.desert__bottom .body{max-width:400px}

.visit{
  background:var(--cream);color:var(--ink);
  padding:52px var(--pad) 40px;
}
.visit .rule{height:1px;background:var(--hair)}
.visit .eyebrow{color:var(--quiet);margin-bottom:22px}
.visit-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  gap:0 48px;padding:60px 0 8px;
}
.visit p{margin:0 0 10px;font-size:14px;line-height:1.4;letter-spacing:.01em}
.visit a{transition:opacity .25s var(--ease)}
.visit a:hover{opacity:.62}
.visit-addr{font-size:16px;line-height:1.35}
.visit-addr a{text-decoration:underline;text-underline-offset:3px}
.visit-line a{text-decoration:underline;text-underline-offset:3px}
.visit-book,.foot__book{
  display:inline-grid;place-items:center;min-height:44px;margin:18px 0 20px;
  padding:0 20px;border:1px solid rgba(28,16,22,.42);border-radius:4px;
  font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.11em;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.visit-book{margin-right:22px}   
.visit-book:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);opacity:1}
.hours{width:100%;border-collapse:collapse;font-size:14px}
.hours th,.hours td{
  padding:8px 0;text-align:left;font-weight:400;
  border-bottom:1px solid var(--hair);
  font-variant-numeric:tabular-nums;vertical-align:top;
}
.hours th{white-space:nowrap;padding-right:12px}
.hours td{text-align:right;line-height:1.45}
.visit-note{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--quiet)}

.visit-shot img{width:100%;height:auto;aspect-ratio:1600/1066;object-fit:cover}
.visit-events{margin-top:18px;font-size:13px;line-height:1.45;color:var(--quiet)}
.visit-map{margin:44px 0 40px}
.visit-map iframe{display:block;width:100%;height:340px;border:0}

.foot{padding:60px var(--pad) 22px;background:var(--cream-soft)}
.foot__word{
  display:flex;flex-wrap:wrap;justify-content:center;gap:0 .34em;margin:14px auto 0;padding:36px 0 0;
  border-bottom:0;border-top:1px solid var(--hair);
  width:100%;height:auto;
  font-family:var(--disp);font-size:clamp(40px,6.4vw,92px);line-height:1.02;
  text-transform:uppercase;letter-spacing:.09em;color:var(--vo-wine);
}
.foot__meta{display:grid;gap:14px}
.foot__meta p{margin:0;font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.09em}
.foot__meta a{transition:opacity .25s var(--ease)}
.foot__meta a:hover{opacity:.6}

.foot__col .eyebrow{margin-bottom:34px}
.foot .eyebrow--mute{color:var(--quiet)}
.foot__book{
  min-height:44px;border-color:var(--hair);color:var(--ink);margin:6px 0 0;
}
.foot__book:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);opacity:1}
.foot__left{padding-bottom:44px}

.foot__shot{width:clamp(220px,26vw,340px);height:auto;aspect-ratio:1100/734;object-fit:cover;flex:0 0 auto}
.foot__base{margin-top:14px}
.foot__base a{display:inline-flex;align-items:center;min-height:24px}

.rv{
  opacity:0;transform:translateY(18px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1);
}
.rv.in{opacity:1;transform:none}

.rise{
  opacity:0;transform:translateY(28px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1);
  transition-delay:calc(var(--i,0) * .09s);
}
.rise.in{opacity:1;transform:none}

.reveal-img{overflow:hidden}
.reveal-img:not(.media-zoom) > img{
  transform:scale(1.08);opacity:0;
  transition:transform 1.2s var(--ease),opacity .9s ease;
}
.reveal-img:not(.media-zoom).in > img{transform:none;opacity:1}

.media-zoom{position:absolute;inset:0;overflow:hidden}
.media-zoom.reveal-img{transform:scale(1.08);transition:transform 1.2s var(--ease)}
.media-zoom.reveal-img.in{transform:none}

.special > img{transition:transform 1.2s var(--ease),opacity .45s ease}
.special.is-swapping > img{opacity:0}

@media (prefers-reduced-motion: reduce){
  .rv,.rise{opacity:1;transform:none;transition:none}
  .reveal-img:not(.media-zoom) > img{opacity:1;transform:none;transition:none}
  .media-zoom.reveal-img{transform:none;transition:none}
  .special.is-swapping > img{opacity:1}
}

a:focus-visible,button:focus-visible,iframe:focus-visible{
  outline:2px solid var(--vo-wine);outline-offset:3px;
}

.desert a:focus-visible,.band a:focus-visible,.hero a:focus-visible{outline-color:var(--cream)}

@media (min-width:1100px) and (max-width:1279px){
  
  .menuboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,0.95fr);gap:0 26px;padding:80px var(--pad) 84px}
  .menuboard > *:nth-child(1){grid-column:3;grid-row:1}
  .menuboard > *:nth-child(2){grid-column:1;grid-row:1}
  .menuboard > *:nth-child(3){grid-column:2;grid-row:1}
  .special img{height:360px}

  .feat{padding:80px var(--pad) 84px}
  .feat__fig{width:min(460px,100%)}
  .happy__txt{padding:80px var(--pad);min-height:600px}
  .happy__fig img{min-height:600px}
}

@media (max-width:1279px){
  
  .feat{grid-template-columns:1fr;gap:36px 0;padding:60px var(--pad) 72px}
  .feat--txtfirst .feat__fig{order:-1;justify-self:stretch;aspect-ratio:835/930;max-width:none}
  .feat__txt{max-width:none}
  .feat-rows{max-width:none}
}

@media (max-width:1099px){
  
  .hero__inner{padding:0 var(--pad) 7vh}
  .hero__foot{margin-top:30px}

  .menuboard{grid-template-columns:1fr;gap:52px 0;padding:64px var(--pad) 72px}
  .menuboard > *:nth-child(1),
  .menuboard > *:nth-child(2),
  .menuboard > *:nth-child(3){grid-column:auto;grid-row:auto}
  .menu-lede .body{max-width:none}
  .special img{height:340px}

  .band{height:auto;aspect-ratio:1024/640}

  .happy{grid-template-columns:1fr}
  .happy__txt{min-height:0;padding:64px var(--pad) 72px;order:1}
  .happy__txt .body{max-width:none}
  .happy__fig{order:0}
  .happy__fig img{min-height:0;aspect-ratio:3/2}

  .desert{padding-top:0}
  .desert__top{padding-top:96px}
  .desert__bottom{margin:74px 0 0;max-width:none;width:min(420px,86%)}

  .about{padding:60px var(--pad) 72px}
  .about__body{padding-right:0}
  
  .about__shot{margin-left:0;flex:none}

  .visit{padding:36px var(--pad) 30px}
  .visit-grid{grid-template-columns:1fr;gap:44px 0;padding:40px 0 4px}
  .visit-map{margin:34px 0 30px}
  .visit-map iframe{height:280px}

  .foot{padding:0 var(--pad) 20px}
  .foot__shot{width:100%;max-width:420px}
  .foot__word{margin-bottom:36px;padding:30px 0 26px}
}

@media (max-width:640px){
  
  :root{--band:66px}
  .vo-mark{flex-direction:column;align-items:center;gap:5px;font-size:12.5px;letter-spacing:.28em}
  
  .hero .disp--hero,.desert .disp--hero{font-size:35px;line-height:.9;letter-spacing:.114em}
  .special img{height:280px}
  .rows .item{font-size:13px}
  .hours{font-size:13px}
  .feat-what{font-size:18px}
}

.arrow{padding:7px 0;margin:-7px 0}
.foot__nav a,.foot__ext a,.foot__meta a,.visit-line a,.visit-addr a,.menu__links a,.menu__ext a{
  display:inline-flex;align-items:center;min-height:24px;
}

section[id],main[id]{scroll-margin-top:calc(var(--band) + 12px)}
@media (max-width:1099px){
  .arrow{padding:13px 0;margin:-13px 0}
  
  .nav__book,.nav__mark,.nav__burger{display:flex;align-items:center;min-height:44px}
  
  .menu-cat{padding-bottom:9px;margin-bottom:11px}
  .foot__base a{min-height:44px}
  .nav__mark{justify-content:center}
  .nav__burger{display:grid;align-content:center;min-height:44px}
  
  .menu__links,.menu__ext,.foot__nav,.foot__ext{gap:2px}
  .menu__links a,.menu__ext a,.foot__nav a,.foot__ext a{
    display:flex;align-items:center;min-height:44px;
  }
  .foot__meta a,.visit-line a,.visit-addr a{display:inline-flex;align-items:center;min-height:44px}
  .foot__meta{gap:6px}
}

@media (max-width:1099px){
  .desert .desert__bottom{bottom:auto;margin-top:40px}
}
