/* Avant Garde Poster theme. Shared across the homepage (/) and sub-pages (e.g. /calendar).
   Scoped under .page-poster so it never touches styles.css or the admin theme. */
/* ==========================================================================
   Avant Garde Poster homepage. All styles scoped under .page-poster so
   nothing here touches styles.css or the live admin theme.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&family=Inter:wght@400;500;600;700&display=swap');

.page-poster main.page { max-width: none; width: 100%; margin: 0; padding: 0; }
.page-poster * { box-sizing: border-box; }
.page-poster { background: #11100E; }

/* ========================= LAYOUT: ZINE / POSTER ===================== */
/* Avant Garde Poster: official brand palette + psychedelic-poster motifs + Deco structure */
.lay-zine { background:#EEDFBC; color:#1C160D; font-family:'Inter',sans-serif;
  --z-paper:#EEDFBC; --z-paper-deep:#E4D2A6; --z-ink:#1C160D;
  --z-red:#BF2029; --z-orange:#F7941D; --z-gold:#E2C638; --z-teal:#0D5659;
  --z-accent-font:'Bebas Neue', sans-serif; /* shared Art Deco accent face; keeps the site to three typefaces */
  background-image:radial-gradient(circle at 50% -10%, rgba(247,148,29,.16), transparent 42%);
}
.lay-zine .zw { width:min(1080px,100% - 3rem); margin-inline:auto; }
@media(max-width:640px){ .lay-zine .zw { width:min(1080px,100% - 1.6rem);} }
.lay-zine h1,.lay-zine h2,.lay-zine h3 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em; }
/* shared accent-label style: kicker, bill labels, section eyebrows. Change --z-accent-font to restyle all of them at once. */
.lay-zine .zine-hero .kl,
.lay-zine .zine-bill .k,
.lay-zine .zine-sec .hd small { font-family:var(--z-accent-font); text-transform:uppercase; letter-spacing:.04em; font-weight:400; }
/* Deco gold double-rule */
.zrule { height:6px; border-top:2px solid var(--z-ink); border-bottom:2px solid var(--z-ink); background:var(--z-gold); }
.zine-marquee { background:var(--z-ink); color:var(--z-paper); overflow:hidden; white-space:nowrap; border-top:3px solid var(--z-gold); border-bottom:3px solid var(--z-red); }
.zine-marquee > div { display:inline-block; padding:.55rem 0; font-family:var(--z-accent-font); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; animation:zmarq 24s linear infinite; }
.zine-marquee span { padding:0 1.1rem; }
.zine-marquee span.t { color:var(--z-gold); }
@keyframes zmarq { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.zine-hero { padding:clamp(1.1rem,3vw,2rem) 0 1.5rem; text-align:center; }
.zine-logo { height:132px; max-width:min(320px,92vw); width:auto; display:block; margin:0 auto .7rem; }
.zine-hero .kl { font-size:1rem; color:var(--z-red); margin:.1rem 0 .2rem; }
.zine-hero h1 { font-size:clamp(2.2rem,7.6vw,5.4rem); line-height:.96; letter-spacing:.005em; margin:.5rem 0 .35rem; font-kerning:normal; text-rendering:optimizeLegibility; text-wrap:balance; }
.zine-hero h1 .r { color:var(--z-red); }
.zine-hero h1 .tl { color:var(--z-orange); }
.zine-hero-subhead { max-width:76ch; margin:.75rem auto 0; font-size:clamp(1rem,1.9vw,1.18rem); line-height:1.55; color:#342e25; }
.zine-trust-badges { justify-content:center; margin-top:.9rem; }
.zine-trust-badges span { background:#fffaf0; font-weight:700; }
.zine-hero .zine-bill, .zine-hero .zine-cta { text-align:left; }
.zine-hero .zine-cta { justify-content:center; }
.zine-bill { display:flex; flex-wrap:wrap; border:3px solid var(--z-ink); margin-top:.9rem; }
.zine-bill .b { padding:.55rem .9rem; border-right:2px solid var(--z-ink); flex:1 1 160px; }
.zine-bill .b:last-child { border-right:0; }
.zine-bill .k { font-size:.82rem; color:var(--z-red); }
.zine-bill .v { font-weight:700; margin-top:.15rem; }
.zine-hero .zine-bill { border:2px solid rgba(28,22,13,.72); background:rgba(255,250,240,.28); box-shadow:3px 3px 0 rgba(28,22,13,.22); }
.zine-hero .zine-bill .b { border-right:1px solid rgba(28,22,13,.55); background:repeating-linear-gradient(135deg, rgba(28,22,13,.055) 0 1px, transparent 1px 9px), rgba(255,250,240,.2); padding:.5rem .75rem; }
.zine-hero .zine-bill .k { color:rgba(191,32,41,.82); font-size:.74rem; }
.zine-hero .zine-bill .v { font-weight:700; font-size:.95rem; color:rgba(28,22,13,.9); }
/* graceful single-column stack on narrow screens */
@media(max-width:600px){
  .zine-bill { flex-direction:column; }
  .zine-bill .b { flex:1 1 auto; border-right:0; border-bottom:2px solid var(--z-ink); text-align:center; }
  .zine-hero .zine-bill .b { border-right:0; border-bottom:1px solid rgba(28,22,13,.55); }
  .zine-bill .b:last-child { border-bottom:0; }
}
.zine-cta { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.9rem; }
.zine-stamp { font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-size:1rem; padding:.65rem 1.3rem; background:var(--z-red); color:#fff; text-decoration:none; border:3px solid var(--z-ink); box-shadow:3px 3px 0 var(--z-ink); transition:transform 120ms ease, box-shadow 120ms ease; }
.zine-stamp:hover { transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--z-ink); }
.zine-stamp.teal { background:#00ABAF; color:var(--z-ink); }
.zine-stamp.gold { background:var(--z-gold); color:var(--z-ink); }
.zine-sec { padding:clamp(1.4rem,3.2vw,2.3rem) 0; }
/* section break: a small diamond ornament instead of a full rule, so it
   never reads like the thin black row lines inside a section */
.zine-hero + .zine-sec::before,
.zine-sec + .zine-sec::before {
  content:"\25C6 \25C6 \25C6";
  display:block; text-align:center; line-height:1;
  color:var(--z-ink); font-size:.7rem; letter-spacing:.55em; text-indent:.55em;
  margin-top:calc(clamp(1.4rem,3.2vw,2.3rem) * -0.55);
  margin-bottom:clamp(1.2rem,2.8vw,1.85rem);
}
.zine-sec .hd { font-size:clamp(1.8rem,4vw,2.8rem); margin:0 0 .9rem; line-height:.96; letter-spacing:.005em; font-kerning:normal; text-rendering:optimizeLegibility; text-wrap:balance; }
.zine-sec .hd small { font-size:.95rem; color:var(--z-red); display:block; margin-bottom:.22rem; }
.zine-sec .hd small.acc-teal { color:var(--z-teal); }
.zine-sec .hd small.acc-red { color:var(--z-red); }
.zine-sec .hd small.acc-orange { color:var(--z-orange); }
.zine-sec .hd small.acc-blue { color:var(--z-teal); }
.zine-tap { display:grid; grid-template-columns:1fr auto; gap:.15rem 1.2rem; align-items:baseline; padding:.5rem 0; border-bottom:2px solid var(--z-ink); }
.zine-tap .nm { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.2rem,2.6vw,1.7rem); }
.zine-tap .st { font-family:var(--z-accent-font); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--z-teal); text-align:right; }
.zine-tap .nt { grid-column:1/-1; color:#4b4438; font-size:.9rem; }
.zine-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.1rem; }
.zine-badges span { font-family:var(--z-accent-font); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; border:2px solid var(--z-ink); padding:.3rem .6rem; }
.zine-faq-grid { display:grid; gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
.zine-faq details { background:#fff; padding:.9rem 1rem; }
.zine-faq summary { cursor:pointer; font-family:'Inter',sans-serif; font-weight:800; font-size:1.02rem; color:var(--z-ink); }
.zine-faq summary::marker { color:var(--z-red); }
.zine-faq details p { color:#3a352c; margin:.55rem 0 0; max-width:72ch; line-height:1.5; }
.zine-date { display:grid; grid-template-columns:8rem 1fr; gap:.15rem 1rem; align-items:baseline; padding:.5rem 0; border-bottom:2px solid var(--z-ink); }
@media(max-width:560px){ .zine-date { grid-template-columns:1fr; } }
.zine-date .dy { font-family:'Anton',sans-serif; text-transform:uppercase; color:var(--z-red); font-size:1.3rem; }
.zine-date .ev { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.2rem; }
.zine-date .nt { grid-column:2; color:#4b4438; font-size:.88rem; }
@media(max-width:560px){ .zine-date .nt { grid-column:1; } }
.zine-about .big { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.6rem,4vw,2.6rem); line-height:1; margin:.2rem 0 1rem; }
.zine-about .big em { color:var(--z-red); font-style:normal; }
.zine-about p { font-size:1.05rem; max-width:62ch; }
.about-page .about-hero { padding-bottom:1rem; }
.about-page .about-hero h1 { max-width:10ch; margin-inline:auto; }
.about-page .about-trust-badges span { background:#fff; border:1px solid rgba(28,22,13,.22); box-shadow:2px 2px 0 rgba(28,22,13,.14); }
.about-story-grid,
.about-farm-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr); gap:clamp(1.35rem,3vw,2.3rem); align-items:start; }
.about-story-grid::before,
.about-farm-grid::before { grid-column:1 / -1; }
.about-farm-grid { grid-template-columns:minmax(280px,.8fr) minmax(0,1fr); align-items:center; }
.about-brew-fig img { object-position:56% 58%; }
.about-farm-fig img { object-position:55% 62%; }
.about-team-head { max-width:76ch; }
.about-team-head p { margin:.1rem 0 1.1rem; color:#342e25; font-size:1.04rem; line-height:1.55; }
.about-team-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px,330px); gap:1rem; overflow-x:auto; padding:.25rem .3rem 1.15rem; margin-inline:-.3rem; scroll-snap-type:x proximity; }
.about-team-rail:focus-within { outline:2px solid var(--z-gold); outline-offset:4px; }
.about-team-card { scroll-snap-align:start; border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); padding:1rem 1.05rem 1.1rem; min-height:100%; }
.about-team-card .team-name { font-size:clamp(1.7rem,3vw,2.05rem); line-height:.95; margin:0 0 .25rem; color:var(--z-ink); }
.about-team-card .team-role { display:block; font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.15rem,2.3vw,1.38rem); line-height:1; margin-bottom:.75rem; color:var(--z-red); }
.about-team-card dl { margin:0; display:grid; gap:.55rem; }
.about-team-card dl div { border-top:2px solid rgba(28,22,13,.16); padding-top:.45rem; }
.about-team-card dt { font-family:var(--z-accent-font); font-weight:700; text-transform:uppercase; letter-spacing:.07em; font-size:.68rem; color:var(--z-teal); }
.about-team-card dd { margin:.12rem 0 0; color:#342e25; line-height:1.38; font-size:.93rem; }
.about-team-card p { margin:0; color:#342e25; line-height:1.45; }
.about-team-card-quiet { background:#fffaf0; }
.about-anniversary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.about-anniversary-card { margin:0; border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); padding:.75rem; display:flex; flex-direction:column; gap:.65rem; align-self:start; }
.about-anniversary-card img { width:100%; height:auto; object-fit:contain; display:block; }
.about-anniversary-card figcaption { font-family:var(--z-accent-font); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--z-red); }
@media(max-width:900px){ .about-anniversary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ .about-anniversary-grid { grid-template-columns:1fr; } }
@media(max-width:680px){ .about-story-grid .about-farm-fig { order:-1; } }
.zine-tix { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
@media(max-width:680px){ .zine-tix { grid-template-columns:1fr; } }
.zine-ticket { border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); overflow:hidden; display:flex; flex-direction:column; }
.zine-ticket .zticket-fig { margin:0; aspect-ratio:16/9; }
.zine-ticket .zfig::before { display:none; }
.zine-ticket .zfig img { border:0; border-bottom:3px solid var(--z-ink); }
.zt-body { padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.15rem; flex:1; }
.zine-ticket .k { font-family:var(--z-accent-font); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--z-red); }
.zine-ticket h3 { font-size:1.5rem; margin:.15rem 0 .1rem; }
.zine-ticket p { color:#4b4438; font-size:.92rem; margin:.15rem 0 .7rem; }
.zine-ticket .cap { font-family:'Anton',sans-serif; text-transform:uppercase; color:var(--z-teal); font-size:1.3rem; margin-top:auto; padding-top:.5rem; border-top:3px solid var(--z-gold); }
.zine-proc { display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-top:1.2rem; font-family:var(--z-accent-font); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.zine-proc b { color:var(--z-red); }
/* Plan-your-visit panel: contained, framed poster component with clickable cells */
.zine-visit { padding:clamp(1.4rem,3.2vw,2.3rem) 0; border-bottom:3px solid var(--z-ink); }
.zine-visit-panel { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
@media(max-width:680px){ .zine-visit-panel { grid-template-columns:1fr 1fr; } }
@media(max-width:440px){ .zine-visit-panel { grid-template-columns:1fr; } }
.zvc { background:#fff; display:flex; flex-direction:column; gap:.2rem; padding:1.05rem 1.1rem 1.15rem; text-decoration:none; color:var(--z-ink); transition:background 120ms ease; }
.zvc:hover, .zvc:focus-visible { background:var(--z-teal); outline:none; }
.zvc .k { font-family:var(--z-accent-font); font-weight:700; font-size:.78rem; letter-spacing:.07em; text-transform:uppercase; color:var(--z-red); }
.zvc b { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.15rem; line-height:1; margin:.25rem 0 .15rem; }
.zvc .d { font-size:.84rem; color:#4b4438; }
.zvc .go { margin-top:.6rem; font-family:var(--z-accent-font); font-weight:600; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--z-red); }
.zvc:hover b, .zvc:hover .d { color:var(--z-paper); }
.zvc:hover .k, .zvc:hover .go { color:var(--z-gold); }
/* top nav (below marquee) */
.zine-nav { background:var(--z-paper); border-bottom:3px solid var(--z-ink); }
.zine-nav-inner { width:min(1080px,100% - 3rem); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:1rem 1.4rem; padding:.55rem 0; flex-wrap:wrap; }
.zine-nav-brand img { height:52px; max-width:150px; width:auto; display:block; object-fit:contain; }
.zine-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; }
.zine-nav a { font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1.02rem; color:var(--z-ink); text-decoration:none; border-bottom:3px solid transparent; padding-bottom:1px; }
.zine-nav ul a:hover { color:var(--z-red); border-bottom-color:var(--z-gold); }
@media(max-width:560px){ .zine-nav-inner { justify-content:center; } .zine-nav ul { justify-content:center; gap:.5rem 1rem; } }
/* site footer */
.zine-sitefoot { background:var(--z-ink); color:var(--z-paper); border-top:4px solid var(--z-red); }
.zine-sitefoot-inner { width:min(1080px,100% - 3rem); margin-inline:auto; padding:clamp(1.8rem,4vw,2.8rem) 0 1.4rem; display:grid; grid-template-columns:minmax(260px,1.6fr) minmax(1rem,.8fr) minmax(8rem,max-content) minmax(8rem,max-content); gap:1.6rem; }
.zine-sitefoot .fvisit { grid-column:3; }
.zine-sitefoot .fmore { grid-column:4; }
@media(max-width:820px){ .zine-sitefoot-inner { grid-template-columns:1fr 1fr; } .zine-sitefoot .fvisit, .zine-sitefoot .fmore { grid-column:auto; } }
@media(max-width:480px){ .zine-sitefoot-inner { grid-template-columns:1fr; gap:1.6rem; } }
.zine-sitefoot .flogo { height:108px; max-width:190px; width:auto; display:block; margin-bottom:.8rem; }
.zine-sitefoot .fmeta { font-size:.86rem; line-height:1.55; color:#C9BC9F; margin:0 0 .6rem; }
.zine-sitefoot .fmeta a { color:#C9BC9F; text-decoration:none; }
.zine-sitefoot .fmeta a:hover { color:var(--z-gold); }
.zine-sitefoot .social { display:flex; gap:.6rem; margin-top:.4rem; }
.zine-sitefoot .social a { font-family:var(--z-accent-font); font-weight:700; text-transform:uppercase; letter-spacing:.07em; font-size:.76rem; color:var(--z-ink); background:var(--z-gold); text-decoration:none; padding:.3rem .7rem; }
.zine-sitefoot .social a:hover { background:var(--z-paper); }
.zine-sitefoot .fcol h4 { font-family:var(--z-accent-font); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.92rem; color:var(--z-gold); margin:0 0 .7rem; }
.zine-sitefoot .fcol ul { list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.zine-sitefoot .fcol ul a { font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1.1rem; color:var(--z-paper); text-decoration:none; }
.zine-sitefoot .fcol ul a:hover { color:var(--z-gold); }
.zine-sitefoot-bar { width:min(1080px,100% - 3rem); margin-inline:auto; border-top:1px solid rgba(238,223,188,.22); padding:.9rem 0 1.2rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-family:var(--z-accent-font); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:#A99C82; }
@media(max-width:680px){ .zine-sitefoot-bar { width:min(1080px,100% - 1.6rem);} }
.zine-sitefoot-bar a { color:var(--z-gold); text-decoration:none; }
.zine-sitefoot-bar a:hover { color:#fff; }
/* zine photos: full color + thick ink frame + offset brand-color registration block */
.lay-zine { overflow-x:hidden; }
.zfig { position:relative; aspect-ratio:var(--ar,16/7); }
.zfig::before { content:""; position:absolute; inset:0; transform:translate(7px,7px); background:var(--z-shadow,#0D5659); z-index:0; }
.zfig img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:3px solid var(--z-ink); filter:saturate(1.06) contrast(1.02); z-index:1; }
.zine-hero-fig { margin-top:1.2rem; }
.zine-hero-fig img { object-position:63% 62%; }
.zine-about-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(1.2rem,3vw,2rem); align-items:start; }
@media(max-width:680px){ .zine-about-grid { grid-template-columns:1fr; } }
.zticket-fig { margin-bottom:.9rem; }

/* ============ shared animated can shelf (Option 2 cans) ============== */
/* Light tiles in every layout so the white-background can shots read cleanly. */
.db-shelf { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--shelf-line,#1A1714); border:1px solid var(--shelf-line,#1A1714); }
@media(max-width:820px){ .db-shelf { grid-template-columns:repeat(2,1fr);} }
@media(max-width:460px){ .db-shelf { grid-template-columns:1fr;} }
.db-can { background:var(--shelf-tile,#fff); padding:24px 14px 18px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:11px; }
.db-can .canwrap { height:150px; display:flex; align-items:flex-end; justify-content:center; }
.db-can img { width:auto; max-width:100%; max-height:150px; display:block; filter:drop-shadow(0 12px 16px rgba(14,14,14,.2)); transition:transform 200ms ease; }
.db-can:hover img { transform:translateY(-6px) rotate(-2deg); }
.db-can strong { font-family:var(--shelf-name-font,'Space Grotesk'),sans-serif; font-weight:700; font-size:1.06rem; line-height:1.05; letter-spacing:-.01em; color:var(--shelf-name-color,#1A1714); }
.db-can .st { font-family:var(--z-accent-font); font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--shelf-style-color,#6E1411); }
.db-can p { margin:0; font-size:.85rem; line-height:1.4; color:var(--shelf-note-color,#6B6258); }
.db-crowler { position:relative; width:80px; height:132px; margin:0 auto; border:2px solid var(--shelf-name-color,#1A1714); border-radius:7px 7px 13px 13px; background:linear-gradient(180deg,#f7efda 0%,#ecd9b1 55%,#dcc49a 100%); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; box-shadow:0 10px 14px rgba(14,14,14,.18); transition:transform 200ms ease; }
.db-crowler::before { content:""; position:absolute; top:-9px; left:25%; width:50%; height:9px; border:2px solid var(--shelf-name-color,#1A1714); border-bottom:0; border-radius:6px 6px 0 0; background:#e6d5af; }
.db-can:hover .db-crowler { transform:translateY(-6px) rotate(-2deg); }
.db-crowler span { font-family:var(--z-accent-font); font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--shelf-style-color,#6E1411); }
.db-crowler strong { font-family:var(--z-accent-font); font-size:.7rem; text-transform:uppercase; color:var(--shelf-name-color,#1A1714); }
.lay-zine .db-can strong { text-transform:uppercase; letter-spacing:.01em; }
.lay-zine { --shelf-line:#1C160D; --shelf-tile:#FFFFFF; --shelf-name-font:'Anton'; --shelf-name-color:#1C160D; --shelf-style-color:#0D5659; --shelf-note-color:#4b4438; }
/* current menu and event reviews */
.aga-menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
.aga-menu-card { background:#fff; padding:1rem 1.05rem 1.1rem; min-width:0; }
.aga-menu-card strong { display:block; font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; line-height:1.02; color:var(--z-ink); }
.aga-menu-card span { display:block; margin:.35rem 0 .45rem; font-family:var(--z-accent-font); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--z-red); font-size:.78rem; }
.aga-menu-card p { margin:0; color:#3a352c; line-height:1.48; font-size:.92rem; }
.aga-reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
.aga-reviews-grid blockquote { margin:0; background:#fff; padding:1.05rem 1.1rem 1.2rem; position:relative; }
.aga-reviews-grid blockquote::before { content:"\201C"; position:absolute; top:.45rem; right:.8rem; font-family:'Anton',sans-serif; font-size:3.2rem; line-height:1; color:rgba(191,32,41,.18); }
.aga-reviews-grid p { margin:0; color:#2f291f; line-height:1.5; font-size:.94rem; }
.aga-reviews-grid cite { display:block; margin-top:.8rem; font-family:var(--z-accent-font); font-style:normal; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--z-red); }
@media(max-width:820px){ .aga-menu-grid, .aga-reviews-grid { grid-template-columns:1fr; } }
/* diagonal line texture behind the cans, like /option-2's On Tap shelf */
.lay-zine .db-can { background:repeating-linear-gradient(135deg, transparent 0 8px, rgba(247,148,29,.10) 8px 9px), #FFFFFF; }
/* Zine: bold poster grid, thick black rules, red accent labels */
.lay-zine .db-shelf { gap:3px; border:4px solid #1C160D; background:#1C160D; }
.lay-zine .db-can .st, .lay-zine .db-crowler span { color:#BF2029; }

/* ===== /calendar month grid (programmatically rendered from events) ===== */
.cal-nav { display:flex; align-items:center; justify-content:space-between; gap:.8rem 1rem; flex-wrap:wrap; margin-bottom:1rem; }
.cal-nav-right { display:flex; align-items:center; gap:.5rem; }
.cal-month { font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(1.6rem,4vw,2.4rem); display:block; }
.cal-nav .cal-month { margin:0; text-align:center; flex:1 1 auto; }
@media(max-width:520px){ .cal-nav .cal-month { order:-1; flex-basis:100%; text-align:left; } }
.cal-head { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-bottom:3px; }
.cal-head span { text-align:center; font-family:var(--z-accent-font); font-weight:700; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--z-ink); padding:.35rem 0; }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); }
.cal-day { background:repeating-linear-gradient(135deg, transparent 0 8px, rgba(247,148,29,.10) 8px 9px), #FFFFFF; min-height:108px; padding:.4rem .45rem .55rem; display:flex; flex-direction:column; gap:.3rem; }
.cal-num { font-family:'Anton',sans-serif; font-size:1.1rem; line-height:1; color:var(--z-ink); }
.cal-dow { display:none; }
.cal-evt { font-size:.72rem; line-height:1.25; color:#3a352c; border-left:3px solid var(--z-red); padding-left:.4rem; }
.cal-evt a { color:#1C160D; text-decoration:none; border-bottom:2px solid rgba(191,32,41,.35); }
.cal-evt a:hover { color:var(--z-red); border-bottom-color:var(--z-red); }
.cal-time { font-family:var(--z-accent-font); font-weight:600; color:var(--z-red); white-space:nowrap; }
@media(max-width:760px){
  .cal-head { display:none; }
  .cal-grid { grid-template-columns:1fr; gap:0; border:0; }
  .cal-day { min-height:0; border-bottom:2px solid var(--z-ink); padding:.7rem .1rem; }
  .cal-empty { display:none; }
  .cal-grid > .cal-day:first-child { grid-column-start:auto !important; }
  .cal-num { font-size:1.25rem; }
  .cal-dow { display:inline; color:var(--z-red); }
}

.cal-intro { max-width:72ch; color:#4b4438; margin:.35rem 0 0; font-size:1.05rem; line-height:1.5; }
.cal-note { max-width:62ch; color:#4b4438; font-size:.95rem; margin:1rem 0 0; }
.featured-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.featured-event-card { border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.featured-event-img { aspect-ratio:16/10; background:#efe2c3; border-bottom:3px solid var(--z-ink); }
.featured-event-img img { width:100%; height:100%; object-fit:cover; display:block; }
.featured-event-body { padding:1rem 1.05rem 1.15rem; }
.featured-event-body .k { font-family:var(--z-accent-font); color:var(--z-red); text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; }
.featured-event-card h3 { font-family:'Anton',sans-serif; text-transform:uppercase; margin:.2rem 0 .35rem; font-size:1.45rem; line-height:1.02; }
.featured-event-card h3 a { color:inherit; text-decoration:none; border-bottom:2px solid rgba(191,32,41,.35); }
.featured-event-card p { margin:0; color:#3a352c; line-height:1.45; font-size:.94rem; }
.featured-event-card.empty { grid-column:1/-1; padding:1rem 1.1rem; }
@media(max-width:860px){ .featured-event-grid { grid-template-columns:1fr; } }

/* ===== Local event detail pages ===== */
.event-detail-hero .kl { font-family:var(--z-accent-font); font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--z-red); margin:0 0 .35rem; }
.event-detail-title { font-size:clamp(2.2rem,7vw,5rem); line-height:.96; max-width:12ch; margin:.2rem 0 .8rem; text-wrap:balance; }
.event-detail-bill { max-width:900px; }
.event-detail-image-sec { padding-top:.4rem; }
.event-detail-image { --ar:16/9; margin:0; width:min(920px,100%); }
.event-detail-image::before { display:none; }
.event-detail-image a { display:block; position:relative; z-index:1; border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); }
.event-detail-image img { position:relative; inset:auto; width:100%; height:auto; max-height:80vh; object-fit:contain; display:block; border:0; background:#fff; }
.event-detail-copy { max-width:68ch; font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.55; color:#3a352c; white-space:pre-line; }
.event-detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; width:min(920px,100%); margin:1.2rem 0 0; background:var(--z-ink); border:3px solid var(--z-ink); }
.event-detail-fact { background:#fff; padding:.8rem .9rem; }
.event-detail-fact span { display:block; font-family:var(--z-accent-font); font-weight:700; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--z-red); margin-bottom:.18rem; }
.event-detail-fact b { display:block; font-family:var(--z-accent-font); font-size:.95rem; line-height:1.35; color:var(--z-ink); }
@media(max-width:680px){ .event-detail-facts { grid-template-columns:1fr; } }
.event-detail-note { padding-top:.5rem; }

/* ===== Private events page ===== */
.private-events-page .pe-hero { padding-bottom:1.1rem; }
.private-events-page .pe-hero h1 { max-width:15ch; margin-inline:auto; line-height:.98; font-size:clamp(2.4rem,6.8vw,5rem); }
.private-events-page .zine-sec .hd { font-size:clamp(1.9rem,4vw,2.9rem); line-height:.98; max-width:18ch; }
.private-events-page .pe-lede { max-width:74ch; margin:.75rem auto 0; font-size:clamp(1.04rem,2vw,1.24rem); line-height:1.58; color:#342e25; }
.private-events-page .pe-bill { margin-inline:auto; max-width:980px; }
.private-events-page .pe-hero-fig { margin-top:1.25rem; }
.private-events-page .pe-hero-fig img { object-position:center 54%; }
.private-events-page .pe-copy { color:#342e25; font-size:clamp(1.02rem,1.8vw,1.16rem); line-height:1.62; max-width:66ch; }
.private-events-page .pe-copy.small { font-size:.96rem; }
.private-events-page .pe-copy a { color:var(--z-red); font-weight:700; }
.private-events-page .pe-narrow { max-width:74ch; margin-top:-.2rem; }
.private-events-page .pe-intro-grid,
.private-events-page .pe-proof,
.private-events-page .pe-quote { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:clamp(1.2rem,3vw,2rem); align-items:start; }
.private-events-page .pe-intro-grid::before,
.private-events-page .pe-proof::before,
.private-events-page .pe-quote::before { grid-column:1 / -1; }
.private-events-page .pe-feature-fig img { object-position:center 58%; }
.private-events-page .pe-video-grid,
.private-events-page .pe-package-grid,
.private-events-page .pe-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem; }
.private-events-page .pe-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.private-events-page .pe-video-card,
.private-events-page .pe-card-grid article { border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); }
.private-events-page .pe-video-card { overflow:hidden; }
.private-events-page .pe-video-frame { position:relative; aspect-ratio:16/9; background:linear-gradient(135deg,#161616,#35312a); border-bottom:3px solid var(--z-ink); overflow:hidden; }
.private-events-page .pe-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.private-events-page .pe-package .zticket-fig img { object-position:center 52%; }
.private-events-page .pe-package:nth-child(2) .zticket-fig img { object-position:center 48%; }
.private-events-page .pe-list { margin:.65rem 0 0; padding-left:1.1rem; color:#3a352c; display:grid; gap:.35rem; font-size:.93rem; line-height:1.42; }
.private-events-page .pe-proof { align-items:start; }
.private-events-page .pe-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
.private-events-page .pe-detail-grid figure { margin:0; background:#fff; min-width:0; }
.private-events-page .pe-detail-grid img { display:block; width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; }
.private-events-page .pe-detail-grid figure:nth-child(1) img { object-position:center 58%; }
.private-events-page .pe-detail-grid figure:nth-child(2) img { object-position:center 48%; }
.private-events-page .pe-detail-grid figure:nth-child(3) img { object-position:center; }
.private-events-page .pe-detail-grid figure:nth-child(4) img { object-position:center 42%; }
.private-events-page .pe-detail-grid figcaption { font-family:var(--z-accent-font); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:.45rem .55rem; color:var(--z-red); }
.private-events-page .pe-card-grid article { padding:1.05rem 1.1rem 1.2rem; }
.private-events-page .pe-card-grid h3 { margin:.1rem 0 .45rem; font-size:1.35rem; }
.private-events-page .pe-card-grid p { margin:0; color:#3a352c; line-height:1.48; }
.private-events-page .pe-faq-grid { display:grid; gap:3px; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); }
.private-events-page details { background:#fff; padding:.9rem 1rem; }
.private-events-page summary { cursor:pointer; font-family:'Inter',sans-serif; font-weight:800; font-size:1.02rem; color:var(--z-ink); }
.private-events-page summary::marker { color:var(--z-red); }
.private-events-page details p { color:#3a352c; margin:.55rem 0 0; max-width:72ch; line-height:1.5; }
.private-events-page .pe-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:1rem; border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); }
.private-events-page .pe-form label { display:grid; gap:.25rem; font-family:var(--z-accent-font); font-weight:700; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--z-red); }
.private-events-page .pe-form input,
.private-events-page .pe-form select,
.private-events-page .pe-form textarea { width:100%; min-width:0; border:2px solid var(--z-ink); background:#fffaf0; color:var(--z-ink); font:500 1rem/1.3 'Inter',sans-serif; padding:.7rem .75rem; border-radius:0; }
.private-events-page .pe-form textarea { resize:vertical; }
.private-events-page .pe-form input:focus,
.private-events-page .pe-form select:focus,
.private-events-page .pe-form textarea:focus { outline:3px solid var(--z-gold); outline-offset:1px; }
.private-events-page .pe-form .full,
.private-events-page .event-form-notice,
.private-events-page .pe-form button { grid-column:1/-1; }
.private-events-page .event-form-notice { background:var(--z-gold); border:2px solid var(--z-ink); color:var(--z-ink); padding:.75rem .85rem; font-size:.95rem; line-height:1.35; }
.private-events-page .event-form-notice.error { background:#fff1f1; color:#7c1118; }
.private-events-page .hp-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:1080px){
  .about-story-grid,
  .about-farm-grid,
  .private-events-page .pe-intro-grid,
  .private-events-page .pe-proof,
  .private-events-page .pe-quote,
  .private-events-page .pe-video-grid,
  .private-events-page .pe-package-grid,
  .private-events-page .pe-card-grid { grid-template-columns:1fr; }
  .private-events-page .pe-hero h1 { max-width:13ch; }
  .private-events-page .zine-sec .hd { max-width:20ch; }
  .about-brew-fig,
  .about-farm-fig,
  .private-events-page .pe-feature-fig,
  .private-events-page .pe-detail-grid,
  .private-events-page .pe-form { max-width:760px; width:100%; }
}
@media(max-width:560px){
  .private-events-page .pe-form { grid-template-columns:1fr; padding:.8rem; }
  .private-events-page .pe-detail-grid { grid-template-columns:1fr 1fr; }
  .private-events-page .pe-hero-fig { --ar:4/3 !important; }
  .private-events-page .pe-hero-fig img { object-position:center 52%; }
  .about-brew-fig { --ar:4/5 !important; }
  .about-farm-fig { --ar:4/3 !important; }
  .about-team-rail { grid-auto-columns:minmax(245px,82vw); }
}
/* Details arrows: hide browser/emoji markers and draw the site-matching red arrow. */
.zine-faq summary,
.private-events-page summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.72rem;
}
.zine-faq summary::-webkit-details-marker,
.private-events-page summary::-webkit-details-marker { display:none; }
.zine-faq summary::before,
.private-events-page summary::before {
  content:"";
  flex:0 0 auto;
  width:.55rem;
  height:.55rem;
  border-right:3px solid var(--z-red);
  border-bottom:3px solid var(--z-red);
  transform:rotate(-45deg) translateY(-1px);
  transition:transform 140ms ease;
}
.zine-faq details[open] summary::before,
.private-events-page details[open] summary::before { transform:rotate(45deg) translateY(-1px); }

.beer-page .beer-featured-heading { margin:1.25rem 0 .55rem; font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(1.5rem,3vw,2.2rem); line-height:1; color:var(--z-ink); }
.beer-page .beer-featured-shelf { margin-top:0; }
.beer-page .aga-section-copy { max-width:68ch; margin:.1rem 0 1rem; color:#3a352c; font-size:1.02rem; line-height:1.55; }
.beer-page .aga-menu-cta-card { display:flex; flex-direction:column; }
.beer-page .aga-menu-cta-card a { align-self:flex-start; margin-top:auto; padding:.45rem .75rem; border:2px solid var(--z-ink); background:var(--z-gold); color:var(--z-ink); font-family:var(--z-accent-font); font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; font-size:.74rem; }
.beer-page .aga-menu-cta-card a:hover { background:var(--z-red); color:#fff; }
.aga-partner-rail { display:flex; gap:3px; overflow-x:auto; scroll-snap-type:x mandatory; background:var(--z-ink); border:3px solid var(--z-ink); box-shadow:7px 7px 0 var(--z-ink); padding:0; }
.aga-partner-card { flex:0 0 clamp(205px,24vw,260px); scroll-snap-align:start; background:#fff; min-height:210px; padding:1rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.65rem; }
.aga-partner-card img { max-width:100%; width:auto; max-height:88px; object-fit:contain; display:block; }
.aga-partner-card strong { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.2rem; line-height:1.04; color:var(--z-ink); }
.aga-partner-card span { font-family:var(--z-accent-font); color:var(--z-red); text-transform:uppercase; letter-spacing:.07em; font-size:.78rem; }
.aga-badge-card img { max-height:96px; }

.aga-reviews-carousel { display:grid; gap:.8rem; }
.aga-reviews-carousel .aga-reviews-grid blockquote { display:none; }
.aga-reviews-carousel .aga-reviews-grid blockquote.is-active { display:block; }
.aga-review-controls { display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap; }
.aga-review-controls button { border:2px solid var(--z-ink); background:var(--z-gold); color:var(--z-ink); font-family:var(--z-accent-font); font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:.42rem .75rem; cursor:pointer; }
.aga-review-controls button:hover, .aga-review-controls button:focus-visible { background:var(--z-red); color:#fff; outline:0; }
.aga-review-controls span { font-family:var(--z-accent-font); font-weight:700; letter-spacing:.08em; color:var(--z-ink); }

/* ===== Ale Association page ===== */
.ale-association-page .aa-hero h1 { max-width:13ch; margin-inline:auto; }
.ale-association-page .aa-bill { max-width:900px; margin-inline:auto; }
.ale-association-page .aa-intro-grid,
.ale-association-page .aa-benefits-grid,
.ale-association-page .aa-fine-print-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:clamp(1.2rem,3vw,2rem); align-items:start; }
.ale-association-page .aa-copy { color:#342e25; font-size:clamp(1.02rem,1.8vw,1.16rem); line-height:1.62; max-width:66ch; }
.ale-association-page .aa-feature-fig img { object-position:center 44%; }
.ale-association-page .aa-benefit-card { border:3px solid var(--z-ink); background:#fff; box-shadow:7px 7px 0 var(--z-ink); }
.ale-association-page .aa-benefit-art { margin:0; padding:.7rem; }
.ale-association-page .aa-benefit-art img { width:100%; height:auto; display:block; }
.ale-association-page .aa-benefit-copy { padding:1.15rem 1.25rem 1.3rem; }
.ale-association-page .aa-benefit-copy h3 { margin:.1rem 0 .6rem; font-size:1.6rem; }
.ale-association-page .aa-benefit-copy p { margin:0 0 .75rem; color:#342e25; line-height:1.55; }
.ale-association-page .aa-benefit-copy p:last-of-type { margin-bottom:0; }
.ale-association-page .aa-list { margin:.8rem 0 0; padding-left:1.1rem; display:grid; gap:.4rem; color:#342e25; line-height:1.45; }
.ale-association-page .aa-photo-grid { display:grid; grid-template-columns:.72fr 1fr; gap:clamp(1.2rem,3vw,2rem); align-items:end; }
.ale-association-page .aa-photo-grid .zfig { margin:0; }
.ale-association-page .aa-photo-grid img { object-position:center; }
.ale-association-page .aa-fine-print { padding-bottom:clamp(2.2rem,5vw,4rem); }
.ale-association-page .aa-fine-print-photo { margin:0; }
.ale-association-page .aa-fine-print-photo img { object-position:center 45%; }
@media(max-width:860px){
  .ale-association-page .aa-intro-grid,
  .ale-association-page .aa-benefits-grid,
  .ale-association-page .aa-photo-grid,
  .ale-association-page .aa-fine-print-grid { grid-template-columns:1fr; }
  .ale-association-page .aa-feature-fig { max-width:620px; width:100%; }
}
@media(max-width:560px){
  .beer-page .beer-featured-shelf .db-can { padding:18px 12px 16px; }
}
@media(max-width:380px){
  .private-events-page .pe-detail-grid { grid-template-columns:1fr; }
}
