:root{--ground:#ebddd4;--raised:#f5eee7;--ink:#14130d;--muted:#5b5347;--pickle:#3f5418;--brine:#7a8c24;--gold:#d09a34;--foam:#f3ece3;
--display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--body:"EB Garamond",Garamond,"Times New Roman",serif;--util:"Jost","Futura","Century Gothic",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--pickle)}a:hover{color:var(--ink)}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--foam);padding:10px 16px;z-index:10}.skip:focus{left:8px}
.hidden{position:absolute!important;left:-9999px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.wrap.mid{max-width:980px}.wrap.narrow{max-width:760px}
.center{text-align:center}
.eyebrow{font-family:var(--display);font-weight:500;font-size:13px;line-height:18px;letter-spacing:.6em;text-transform:uppercase;color:var(--pickle);margin:0 0 10px}
h1,h2,.h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.18em;margin:0}
h1{font-size:clamp(30px,5vw,48px);line-height:1.2}
.h1,.sec-head h2{font-size:clamp(26px,4vw,40px);line-height:1.2}
h3{margin:0}
.rule{display:block;width:64px;height:1px;background:var(--ink);margin:14px auto 0}
.lead{font-size:clamp(19px,2.2vw,23px);line-height:1.45;margin:0 0 24px}
.desc{font-style:italic;color:var(--muted)}
.small{font-family:var(--util);font-size:12.5px;line-height:1.45;letter-spacing:.03em;color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-block;background:var(--pickle);color:var(--foam);text-decoration:none;border:1px solid var(--pickle);padding:13px 26px;border-radius:2px;font-family:var(--util);font-size:15px;font-weight:500;letter-spacing:.08em;cursor:pointer;text-align:center}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--foam)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--foam)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.gold:hover{background:var(--foam);border-color:var(--foam)}
/* headers */
.group-strip{background:var(--ink);color:#c2b8aa;font-family:var(--util);font-size:12.5px;letter-spacing:.04em}
.group-strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding-top:8px;padding-bottom:8px}
.group-strip a{color:var(--foam);text-decoration:none}.group-strip a:hover{text-decoration:underline}
.group-strip span{display:flex;flex-wrap:wrap;gap:4px 18px}
.group-header{border-bottom:1px solid var(--ink)}
.group-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:16px}
.brand{font-family:var(--display);font-size:17px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px;font-family:var(--display);font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.nav a{color:var(--ink);text-decoration:none;padding:12px 0}.nav a:hover{color:var(--pickle)}
.nav a.btn{color:var(--foam);padding:12px 20px;font-family:var(--display);font-size:13px;letter-spacing:.22em}
.nav-toggle{display:none;background:transparent;border:1px solid var(--ink);color:var(--ink);font-family:var(--util);font-size:14px;letter-spacing:.08em;padding:10px 16px;min-height:44px;border-radius:2px;cursor:pointer}
.pub-header{text-align:center;padding-top:36px}
.pub-header .wrap{display:flex;flex-direction:column;align-items:center}
.pub-header .nav{justify-content:center;margin-top:12px;padding-bottom:12px;width:100%;border-bottom:1px solid var(--ink)}
.pub-header .nav-toggle{margin-top:16px}
.quick-actions{display:none}
/* hero */
.hero{padding:64px 0 80px}
.logo{display:block;width:380px;max-width:80%;height:auto;margin:0 auto 24px}
.wordmark{font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,3.2vw,34px);letter-spacing:.34em;margin:0 0 8px;padding-left:.38em}
.est{font-family:var(--display);font-size:12px;letter-spacing:.6em;text-transform:uppercase;margin:0 0 28px;padding-left:.6em}
.pub-jars{display:block;width:120px;height:auto;margin:0 auto 14px}
.logo-text{display:block;font-family:var(--display);font-size:clamp(26px,5vw,52px);letter-spacing:.32em;margin:0 0 28px}
.intro{padding:56px 0 64px}
/* sections */
.sec{padding:88px 0;border-top:1px solid var(--ink)}
.raised{background:var(--raised)}
.band{border-top:1px solid var(--ink);padding:44px 0}
.green{background:var(--pickle);color:var(--foam)}.green .eyebrow{color:var(--foam)}.green a{color:var(--foam)}
.sec-head{text-align:center;margin-bottom:44px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.mini{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.5em;text-transform:uppercase;color:var(--pickle);margin:0 0 10px}
.band p{margin:4px 0}.lbl{font-family:var(--util);font-size:13px;letter-spacing:.06em;color:var(--muted);margin-right:6px}
.split{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.split-text{flex:1 1 340px}.split-text p{margin:16px 0 0}
/* pub cards */
.pub-card{background:var(--ground);border:1px solid var(--ink);padding:40px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.pub-card h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}
.pub-card .eyebrow{margin:0;font-size:12px;letter-spacing:.5em}.pub-card p{margin:0}.pub-card .btns{margin-top:auto;padding-top:14px}
/* events */
.ev-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--muted)}
.ev-list li{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:22px 0;border-bottom:1px solid var(--muted)}
.ev-list li>div:nth-child(2){flex:1 1 300px}.fb-links{margin:6px 0 0;font-family:var(--util);font-size:14px;letter-spacing:.03em}.notice{background:var(--gold);color:var(--ink);text-align:center;padding:14px 24px;font-family:var(--util);font-size:15px;font-weight:500;letter-spacing:.03em}.notice p{margin:0}
.tag{display:inline-block;background:var(--gold);color:var(--ink);font-family:var(--util);font-size:12px;font-weight:500;letter-spacing:.06em;padding:5px 10px;border-radius:2px;margin:0}
.menu-note{margin:-20px 0 32px;font-style:italic;color:var(--muted)}
.card-photo{display:block;width:calc(100% + 56px);margin:-40px -28px 18px;aspect-ratio:4/3;overflow:hidden;background:var(--ground);border-bottom:1px solid var(--ink)}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.card-photo:hover img{transform:scale(1.03)}
.card-photo img.jars-fill{object-fit:contain;padding:18% 22%}
.intro-split{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.intro-photo{flex:1 1 380px;min-width:0;max-width:620px;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--ink)}
.intro-split .intro-text{flex:1 1 340px;text-align:left}.intro-split .btns{justify-content:flex-start}
.story-photo{aspect-ratio:3/4;max-width:460px}.story .intro-text p{margin:0 0 18px}.sign{font-family:var(--display);font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:var(--pickle)}
.ev-list h3{font-size:22px;font-weight:500}.ev-list p{margin:2px 0 0}
.ev-list>li>a{font-family:var(--util);font-size:15px;font-weight:500;letter-spacing:.06em}
.date{width:88px;height:88px;background:var(--pickle);color:var(--foam);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.date span{font-family:var(--util);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.date strong{font-family:var(--display);font-weight:400;font-size:22px}
.event{background:var(--ground);border:1px solid var(--ink);display:flex;flex-direction:column}
.ev-top{background:var(--pickle);color:var(--foam);padding:20px;text-align:center;display:flex;flex-direction:column}
.ev-top span{font-family:var(--util);font-size:12px;letter-spacing:.2em;text-transform:uppercase}.ev-top strong{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:.08em}
.ev-body{padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;flex-grow:1}
.ev-body h3{font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:.12em;text-transform:uppercase}.ev-body p{margin:0;font-style:italic;color:var(--muted)}
.ev-body a{margin-top:auto;font-family:var(--util);font-size:15px;font-weight:500;letter-spacing:.06em}
/* menus */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px}
.tabs button{font-family:var(--util);font-size:14px;font-weight:500;letter-spacing:.08em;padding:12px 22px;min-height:44px;border-radius:2px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--pickle);border-color:var(--pickle);color:var(--foam)}
.menu-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:44px 64px;margin-bottom:36px}
.menu-panel[hidden]{display:none}
.menu-sec h3{text-align:center;font-family:var(--display);font-weight:500;font-size:20px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.menu-sec ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.menu-sec li{display:flex;gap:16px;align-items:baseline}.menu-sec li>div{flex:1 1 auto;display:flex;flex-direction:column;gap:2px}
.dish{font-size:20px;line-height:1.3;font-weight:500}
.menu-sec .desc{font-size:15.5px;line-height:1.45}
.price{font-family:var(--util);font-size:16px;font-weight:500;letter-spacing:.04em;color:var(--pickle)}
/* forms */
.panel{flex:1 1 520px;background:var(--raised);border:1px solid var(--ink);padding:32px}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.form label{display:flex;flex-direction:column;gap:6px;font-family:var(--util);font-size:13px;font-weight:500;letter-spacing:.05em}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{font-family:var(--body);font-size:17px;padding:11px 12px;border:1px solid var(--muted);border-radius:2px;background:#fff;color:var(--ink);min-width:0;width:100%}
.form input[type=file]{background:transparent;border-style:dashed}
.form input:focus,.form select:focus,.form textarea:focus,.btn:focus-visible,.tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.form p.small{margin:0}
.on-green{background:transparent;border-color:var(--foam)}.on-green label{color:var(--foam)}
/* footer */
.site-footer{background:var(--ink);color:var(--foam);padding:64px 0 36px}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.foot-cols h3{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.foot-cols p{margin:2px 0;color:#c2b8aa}.site-footer a{color:#c2d06a}
.foot-legal{border-top:1px solid var(--muted);margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--util);font-size:12px;letter-spacing:.03em;color:#c2b8aa}
.foot-legal p{margin:0}.foot-links{display:flex;gap:18px}.foot-links a{color:#c2b8aa}
/* phone */
@media (max-width:760px){
  body{font-size:17px}
  .nav-toggle{display:inline-block}
  .nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-top:1px solid rgba(20,19,13,.2)}
  .nav a.btn{margin-top:10px;border-top:0}
  .pub-header{padding-top:24px}
  .pub-header .nav{border-bottom:0}
  .quick-actions{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:0;z-index:5;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--ground)}
  .qa{display:flex;align-items:center;justify-content:center;min-height:52px;font-family:var(--util);font-size:15px;font-weight:500;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-left:1px solid var(--ink)}
  .qa:first-child{border-left:0}.qa.primary{background:var(--pickle);color:var(--foam)}
  .sec{padding:64px 0}.hero{padding:44px 0 56px}
  .menu-panel{grid-template-columns:1fr}
  .panel{padding:22px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}
  .tabs button{flex-shrink:0}
}
