:root{
  --gold:#C79A3E;
  --gold-lt:#E4C87A;
  --ink:#14110D;
  --ink-deep:#0A0806;
  --cream:#F6F2EA;
  --ink-txt:#241F19;
  --dark-txt:#E8E2D6;
  --terra:#E0562F;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--ink);color:var(--dark-txt);
  font-family:Karla,system-ui,sans-serif;font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
  padding-bottom:74px; /* space for mobile action bar */
}
img,svg,video,iframe{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.08;margin:0;}
p{margin:0 0 1em;}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px;}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;background:var(--gold);color:#14110D;padding:10px 16px;z-index:999;border-radius:2px;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

.label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 14px;}
.label-gold{color:var(--gold);}
.label-ink{color:#8a6f36;}
.rule-gold{display:block;width:72px;height:1px;background:var(--gold);margin-top:24px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:Karla,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;padding:14px 22px;min-height:46px;
  border:1px solid transparent;cursor:pointer;transition:.25s ease;text-align:center;
}
.btn-terra{background:var(--terra);color:#fff;box-shadow:0 10px 28px rgba(224,86,47,.24);}
.btn-terra:hover{background:#c9481f;transform:translateY(-2px);}
.btn-gold{background:var(--gold);color:#14110D;}
.btn-gold:hover{background:var(--gold-lt);}
.btn-ghost{background:transparent;color:var(--gold-lt);border-color:rgba(199,154,62,.6);}
.btn-ghost:hover{border-color:var(--gold);color:#fff;background:rgba(199,154,62,.12);}
.btn-lg{padding:17px 30px;}

.link-gold{
  display:inline-flex;align-items:center;gap:.5em;color:var(--gold);
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(199,154,62,.4);
}
.link-gold:hover{color:var(--gold-lt);border-bottom-color:var(--gold-lt);}
.link-underline{
  display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#8a6f36;text-decoration:none;padding-bottom:5px;
  background-image:linear-gradient(var(--gold),var(--gold));
  background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .35s ease,color .25s;
}
.link-underline:hover{color:var(--terra);background-size:40% 1px;}

.grain{
  position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:overlay;
}

/* top bar */
.topbar{background:var(--ink-deep);border-bottom:1px solid rgba(199,154,62,.16);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#9d9384;}
.topbar-in{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;padding-top:8px;padding-bottom:8px;}
.topbar a{color:var(--gold-lt);text-decoration:none;}
.topbar-status{color:var(--gold);}
.dot{opacity:.5;}

/* header */
.hdr{position:sticky;top:0;z-index:80;background:rgba(20,17,13,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(199,154,62,.2);}
.hdr-in{display:flex;align-items:center;gap:14px;padding-top:13px;padding-bottom:13px;transition:padding .3s;}
.hdr.small .hdr-in{padding-top:8px;padding-bottom:8px;}
.plate{display:inline-block;background:var(--cream);border-radius:5px;padding:7px 12px;line-height:0;}
.plate img{width:112px;height:auto;transition:width .3s;}
.hdr.small .plate img{width:94px;}
.brand{flex:0 0 auto;text-decoration:none;min-width:0;}
.nav{flex:1 1 auto;min-width:0;display:none;}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;justify-content:center;}
.nav a,.more-btn{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--dark-txt);text-decoration:none;padding:8px 2px;display:inline-block;
  background:none;border:0;font-family:Karla,sans-serif;cursor:pointer;
  background-image:linear-gradient(var(--gold),var(--gold));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 92%;
  transition:background-size .3s,color .25s;
}
.nav a:hover,.more-btn:hover{color:var(--gold-lt);background-size:100% 1px;}
.nav a[aria-current]{color:var(--gold);}
.more{position:relative;}
.more-pop{position:absolute;right:0;top:100%;background:var(--ink-deep);border:1px solid rgba(199,154,62,.3);padding:12px 16px;min-width:190px;z-index:5;}
.more-note{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lt);}
.hdr-act{display:flex;align-items:center;gap:10px;margin-left:auto;}
.icon-btn{background:none;border:1px solid rgba(199,154,62,.35);color:var(--gold);width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:2px;}
.icon-btn:hover{background:rgba(199,154,62,.14);}
.hdr-cta{display:none;}
.burger{width:46px;height:44px;background:none;border:1px solid rgba(199,154,62,.35);display:grid;place-content:center;gap:5px;cursor:pointer;border-radius:2px;}
.burger span{display:block;width:20px;height:1.5px;background:var(--gold-lt);}
.searchbar{border-top:1px solid rgba(199,154,62,.2);background:var(--ink-deep);padding:14px 0;}
.searchform{display:flex;gap:10px;flex-wrap:wrap;}
.searchform input{flex:1 1 180px;min-width:0;background:#191510;border:1px solid rgba(199,154,62,.35);color:var(--dark-txt);padding:12px 14px;font-family:Karla,sans-serif;font-size:.95rem;}

/* mobile menu */
.mobile{position:fixed;inset:0;z-index:140;background:var(--ink);padding:18px 22px 40px;overflow-y:auto;}
.mobile-top{display:flex;align-items:center;justify-content:space-between;}
.plate-sm img{width:104px;}
.close{background:none;border:1px solid rgba(199,154,62,.4);color:var(--gold);width:46px;height:46px;font-size:1.1rem;cursor:pointer;}
.mobile ul{list-style:none;margin:28px 0;padding:0;}
.mobile li{border-bottom:1px solid rgba(199,154,62,.16);}
.mobile a,.mob-more{display:block;padding:15px 0;font-family:Prata,serif;font-size:1.3rem;color:var(--cream);text-decoration:none;letter-spacing:0;text-transform:none;background:none;border:0;}
.mobile .mob-more{font-family:Prata,serif;font-size:1.3rem;color:var(--gold);}
.mobile-cta{display:flex;flex-direction:column;gap:12px;align-items:stretch;}
.mobile-meta{margin-top:18px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#9d9384;}
.mobile-meta a{color:var(--gold-lt);text-decoration:none;}

/* mobile sticky action bar */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;gap:10px;
  padding:10px 14px;background:rgba(10,8,6,.96);border-top:1px solid rgba(199,154,62,.3);
  backdrop-filter:blur(6px);
}
.mbar .btn{flex:1 1 0;min-width:0;padding:12px 10px;min-height:48px;box-shadow:none;}

/* hero */
.hero{position:relative;background:var(--ink-deep);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(540px,84vh,900px);}
.hero-media{position:absolute;inset:0;}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:45% 45%;animation:slowzoom 20s ease-out forwards;}
@keyframes slowzoom{from{transform:scale(1);}to{transform:scale(1.07);}}
.hero-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to top right,rgba(10,8,6,.96) 0%,rgba(20,16,12,.84) 40%,rgba(20,16,12,.24) 76%,rgba(20,16,12,.06) 100%),
    linear-gradient(to top,rgba(10,8,6,.94) 0%,transparent 52%),
    radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(10,8,6,.55) 100%);
}
.hero-in{position:relative;padding-top:70px;padding-bottom:64px;margin-top:auto;}
.hero-copy{max-width:660px;}
.plate-hero{margin-bottom:24px;box-shadow:0 14px 40px rgba(0,0,0,.55);}
.plate-hero img{width:142px;}
.hero h1{font-size:clamp(2.7rem,10.5vw,5.6rem);color:#fff;letter-spacing:-.015em;text-shadow:0 6px 34px rgba(0,0,0,.6);}
.hero h1::after{content:"";display:block;width:82px;height:2px;background:var(--gold);margin:26px 0 0;}
.hero-sub{margin-top:24px;font-size:clamp(1rem,2.4vw,1.18rem);color:#e0d8c8;max-width:33em;}
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:28px;}
.hero-strip{position:relative;border-top:1px solid rgba(199,154,62,.3);background:rgba(10,8,6,.8);}
.hero-strip-in{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding-top:14px;padding-bottom:14px;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.hero-strip a{color:var(--gold-lt);text-decoration:none;}
.hr-v{width:1px;height:11px;background:rgba(199,154,62,.5);}

/* welcome */
.welcome{background:var(--cream);color:var(--ink-txt);padding:74px 0 78px;position:relative;}
.welcome-grid{display:grid;gap:40px;}
.welcome h2{font-size:clamp(2.1rem,7.6vw,3.5rem);color:var(--ink-txt);}
.welcome h2::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:22px 0 26px;}
.welcome .lead{font-size:1.18rem;color:#3a3227;}
.welcome p{max-width:62ch;color:#3f3729;}
.kicker{font-family:Prata,serif;font-size:1.22rem;line-height:1.45;color:#6d541f;margin-top:22px;}
.welcome-fig{margin:0;position:relative;}
.fig-frame{position:relative;}
.fig-frame::before{content:"";position:absolute;left:-14px;top:-14px;right:26px;bottom:26px;border:1px solid rgba(199,154,62,.55);}
.fig-vongole{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:48% 58%;box-shadow:0 28px 64px rgba(20,17,13,.32);}
.welcome-fig figcaption{
  position:relative;background:var(--ink);color:var(--gold-lt);
  font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  padding:12px 16px;
}

/* menu bands */
.menus{background:var(--ink);padding:76px 0 84px;position:relative;}
.menus-head{margin-bottom:42px;display:grid;gap:22px;}
.menus-head h2{font-size:clamp(2.1rem,7.4vw,3.7rem);color:var(--cream);}
.menus-note{margin:0;color:#a89e8c;font-size:.98rem;max-width:34ch;}
.band{position:relative;display:grid;overflow:hidden;background:#100d0a;}
.band-media{position:relative;overflow:hidden;min-height:280px;}
.band-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;}
.band:hover .band-media img{transform:scale(1.055);}
.img-brunch{object-position:42% 55%;}
.img-dinner{object-position:48% 58%;}
.img-drinks{object-position:62% 58%;}
.band-copy{position:relative;padding:36px 22px 42px;}
.band-num{
  position:absolute;top:12px;right:22px;font-family:Prata,serif;font-size:3.6rem;
  color:rgba(199,154,62,.16);line-height:1;
}
.band-copy h3{font-size:clamp(2rem,8.4vw,3.3rem);color:var(--cream);}
.band-line{font-size:1.05rem;color:#cfc6b4;max-width:26em;margin:16px 0 22px;}
.ribbon{display:block;height:1px;background:linear-gradient(to right,transparent,rgba(199,154,62,.55),transparent);}

/* reviews */
.reviews{background:var(--cream);color:var(--ink-txt);padding:76px 0 84px;}
.reviews-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;border-bottom:1px solid rgba(199,154,62,.45);padding-bottom:24px;margin-bottom:36px;}
.reviews-head h2{font-size:clamp(2rem,6.8vw,3.1rem);color:var(--ink-txt);}
.stars{display:flex;gap:6px;}
.cards{display:grid;gap:20px;align-items:stretch;}
.card{position:relative;margin:0;background:#fff;border:1px solid rgba(199,154,62,.35);padding:30px 26px 26px;box-shadow:0 18px 44px rgba(36,31,25,.1);display:flex;flex-direction:column;}
.card blockquote{margin:0;flex:1 1 auto;}
.card blockquote p{font-size:1rem;line-height:1.75;color:#3b3327;margin:0;}
.card-lead{border-top:3px solid var(--gold);}
.card-lead blockquote p{font-size:1.04rem;}
.card figcaption{margin-top:18px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7d6939;}
.quote-mark{position:absolute;top:2px;right:18px;font-family:Prata,serif;font-size:4.2rem;color:rgba(199,154,62,.26);line-height:1;}
.card-ph{background:#efe9dd;border-style:dashed;box-shadow:none;min-height:200px;}
.card-ph blockquote p{color:#7c7263;font-style:italic;}

/* visit */
.visit{position:relative;background:var(--ink-deep);padding:76px 0 84px;overflow:hidden;}
.visit::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,transparent,rgba(199,154,62,.5),transparent);}
.visit-grid{position:relative;display:grid;gap:38px;}
.visit-lede h2{font-size:clamp(2.1rem,7.4vw,3.5rem);color:var(--cream);margin-bottom:20px;}
.visit-sub{color:#b1a795;max-width:36ch;margin-bottom:26px;}
.visit-acts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.visit-cards{display:grid;gap:18px;}
.vcard{position:relative;border:1px solid rgba(199,154,62,.3);background:rgba(20,17,13,.9);padding:26px 24px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4);}
.vcard-in{position:relative;}
.vh{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-family:Karla,sans-serif;font-weight:700;color:var(--gold);margin-bottom:16px;}
.hours{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;}
.hours dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);padding-top:5px;}
.hours dd{margin:0;font-family:Prata,serif;font-size:1.02rem;color:var(--cream);line-height:1.45;}
.vaddr{font-family:Prata,serif;font-size:1.3rem;color:var(--cream);margin-bottom:10px;}
.vmeta{margin:18px 0 0;font-size:.92rem;color:#b8ae9c;}
.vmeta a{color:var(--gold-lt);text-decoration:none;border-bottom:1px solid rgba(199,154,62,.35);}
.mapdeco{position:absolute;inset:0;opacity:.3;pointer-events:none;}
.m-l{position:absolute;background:rgba(199,154,62,.3);}
.m1{left:0;right:0;height:1px;top:26%;}
.m2{left:0;right:0;height:1px;top:66%;}
.m3{top:0;bottom:0;width:1px;left:78%;}
.m4{top:0;bottom:0;width:1px;left:34%;}
.m-pin{position:absolute;left:78%;top:26%;width:10px;height:10px;border-radius:50%;background:var(--terra);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(224,86,47,.18);}

/* signup */
.signup{background:var(--ink);border-top:1px solid rgba(199,154,62,.2);padding:62px 0 68px;}
.signup-in{display:grid;gap:28px;align-items:end;}
.signup h2{font-size:clamp(1.9rem,6.4vw,2.8rem);color:var(--cream);margin-bottom:14px;}
.signup p{color:#bcb2a0;max-width:40ch;margin:0;}
.signup-form{display:grid;gap:14px;}
.field{display:grid;gap:8px;min-width:0;}
.field label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.req{color:var(--terra);}
.field input{background:#0f0c09;border:1px solid rgba(199,154,62,.4);color:var(--dark-txt);padding:14px 16px;font-family:Karla,sans-serif;font-size:1rem;min-width:0;width:100%;}
.signup-form .btn{justify-self:start;}
.thanks{margin:0;color:var(--gold-lt);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;}

/* footer */
.foot{background:var(--ink);border-top:1px solid rgba(199,154,62,.25);padding:56px 0 0;}
.foot-grid{display:grid;gap:40px;text-align:center;}
.fcol{display:grid;gap:8px;justify-items:center;}
.fh{font-family:Karla,sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:16px 0 4px;}
.fcol p{margin:0;font-size:.94rem;color:#c3baa8;}
.fline{display:flex;align-items:center;gap:10px;}
.fline a{color:var(--gold-lt);text-decoration:none;border-bottom:1px solid rgba(199,154,62,.3);}
.plate-foot img{width:136px;}
.fmenus{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-top:10px;}
.foot-bar{margin-top:44px;border-top:1px solid rgba(199,154,62,.18);padding:18px 0;}
.foot-bar p{margin:0;text-align:center;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8c8375;}

/* reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}

@media (min-width:560px){
  .band-media{min-height:340px;}
}
@media (min-width:640px){
  .signup-form{grid-template-columns:1fr auto;align-items:end;}
  .signup-form .thanks{grid-column:1/-1;}
  .cards{grid-template-columns:repeat(2,1fr);}
  .card-lead{grid-column:1/-1;}
}
@media (min-width:900px){
  body{padding-bottom:0;}
  .mbar{display:none;}
  .wrap{padding:0 34px;}
  .nav{display:block;}
  .hdr-cta{display:inline-flex;}
  .burger{display:none;}
  .mobile{display:none !important;}
  .hero{min-height:clamp(620px,90vh,940px);}
  .hero-in{padding-top:120px;padding-bottom:110px;}
  .welcome{padding:120px 0 108px;}
  .welcome-grid{grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
  .welcome-fig{margin-bottom:-96px;position:relative;z-index:2;}
  .menus{padding:128px 0 120px;}
  .menus-head{grid-template-columns:1.2fr .8fr;align-items:end;gap:40px;}
  .menus-note{justify-self:end;text-align:right;max-width:30ch;}
  .band{grid-template-columns:1.15fr 1fr;align-items:stretch;min-height:470px;}
  .band-media{min-height:470px;}
  .band-copy{display:flex;flex-direction:column;justify-content:center;padding:56px 6vw 56px 46px;min-width:0;}
  .band-num{top:auto;bottom:34px;right:6vw;font-size:6rem;}
  .band-right{grid-template-columns:1fr 1.15fr;}
  .band-right .band-media{order:2;}
  .band-right .band-copy{order:1;padding:56px 46px 56px 6vw;text-align:right;align-items:flex-end;}
  .band-right .band-num{right:auto;left:6vw;}
  .reviews{padding:124px 0 128px;}
  .cards{grid-template-columns:1.35fr 1fr 1fr;}
  .card-lead{grid-column:auto;}
  .visit{padding:126px 0 128px;}
  .visit-grid{grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center;}
  .visit-cards{grid-template-columns:1fr 1fr;align-items:stretch;}
  .vcard-map{margin-top:34px;}
  .signup{padding:108px 0 112px;}
  .signup-in{grid-template-columns:1fr 1fr;gap:60px;}
  .foot{padding-top:88px;}
  .foot-grid{grid-template-columns:1fr 1fr 1fr;text-align:left;}
  .fcol{justify-items:start;}
  .fcol-mid{justify-items:center;text-align:center;}
}
@media (min-width:1100px){
  .band{min-height:550px;}
  .band-media{min-height:550px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-img{animation:none;}
  .band:hover .band-media img{transform:none;}
}