
/* Festmeister 2026-09-02: darker hero, title mark, sponsors stack, centered icons */
/* Light edge only — darkness lives in the Studio frost plate */
.hero-frost:after{
  background:linear-gradient(#00154033 0%,#00154014 45%,#00154066 100%) !important;
}
.hero-title-mark{
  width:min(864px,78%);
  max-width:100%;
  height:auto;
  margin:0 auto;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:scaleX(1.08) scaleY(0.9);
  transform-origin:center center;
}
/* Shorter hero — less scroll before the page starts */
/* Hero + details: less empty air under nav / under diamond gold line */
.hero-frost{
  min-height:0 !important;
}
.hero-inner{
  gap:.55rem !important;
  padding:.55rem 0 1rem !important;
}
@media (width>=760px){
  .hero-frost{min-height:0 !important;}
  .hero-inner{gap:.65rem !important;padding:.65rem 0 1.1rem !important;}
   .hero-title-mark{width:min(896px,77%);}
}
.hero-cta{margin-top:.05rem !important;}
.partner-stack{padding-bottom:.45rem !important;}

.hero-title{width:100%;}
.expect-grid li{
  display:grid;
  justify-items:center;
  align-content:start;
  text-align:center;
}
.expect-grid li img{
  margin-left:auto;
  margin-right:auto;
  object-fit:contain;
  object-position:center;
}
.callout{
  place-items:center;
  text-align:center;
}
.callout img{
  margin-left:auto;
  margin-right:auto;
  object-fit:contain;
  object-position:center;
}
.logo-bar{
  place-items:center;
}
.logo-bar img{
  margin-inline:auto;
  object-fit:contain;
  object-position:center;
}

.how-works-kicker{margin-top:1.6rem;margin-bottom:.35rem;color:var(--gold);}
.tier-amt a{
  color:inherit;
  text-decoration:none;
  border-bottom:2px solid var(--orange);
}
.tier-amt a:hover{color:var(--gold);border-bottom-color:var(--gold);}
.tier-desc{
  margin:.55rem 0 0;
  font-size:.95rem;
  line-height:1.4;
  opacity:.9;
}
.sponsor-pay{margin-top:1.6rem;max-width:62ch;}
.tiers{grid-template-columns:1fr;}
@media (width>=760px){
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (width>=960px){
  .tiers{grid-template-columns:repeat(3,minmax(0,1fr));}
}

a.callout-link{
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
  display:grid;
}
a.callout-link:hover{
  color:inherit;
  filter:brightness(1.06);
  transform:translateY(-2px);
}
a.callout-link .callout-big{
  text-decoration:none;
}
.volunteer-cta{
  position:relative;
  overflow:hidden;
  justify-items:center;
  text-align:center;
  gap:.55rem;
  padding:1.6rem 1.35rem 1.5rem;
  border:3px solid var(--gold) !important;
  border-radius:18px;
  box-shadow:0 12px 28px #00000059, inset 0 0 0 1px #ffffff2e;
  background:
    linear-gradient(160deg,#ff8a1a 0%,var(--orange) 42%,var(--orange-deep) 100%) !important;
  min-height:14rem;
  align-content:center;
}
.volunteer-cta:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background:
    radial-gradient(circle at 30% 20%,#fff8 0%,transparent 45%),
    url(/images/lozenge-texture.jpg) 50%/280px;
  mix-blend-mode:soft-light;
}
.volunteer-cta > *{position:relative;z-index:1;}
.volunteer-cta-icon{
  width:3.2rem !important;
  height:3.2rem !important;
  margin:0 0 .15rem !important;
  filter:drop-shadow(0 2px 0 #0003);
}
.volunteer-cta .callout-label{
  letter-spacing:.2em;
  font-size:.78rem;
  opacity:.95;
}
.volunteer-cta .callout-big{
  font-size:clamp(2rem,5.2vw,2.9rem);
  margin:.1rem 0 .35rem;
  text-shadow:0 2px 0 #00000033;
}
.volunteer-cta-sub{
  margin:0;
  max-width:22ch;
  line-height:1.35;
  opacity:.95;
}
.volunteer-cta-btn{
  margin-top:.55rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.6rem;
  padding:.45rem 1.15rem;
  border-radius:999px;
  background:var(--cream);
  color:var(--orange-deep);
  font-family:var(--display);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
  font-weight:700;
  box-shadow:0 4px 0 #0000002e;
}
a.volunteer-cta:hover{
  box-shadow:0 16px 32px #00000066, inset 0 0 0 1px #ffffff40;
}
a.volunteer-cta:hover .volunteer-cta-btn{
  background:var(--white);
  color:var(--orange);
}

.kicker-light{color:var(--cream);}
.display-wide{max-width:22ch;}
.facts-line{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(.95rem,2.2vw,1.1rem);opacity:.95;}
.lodgers{font-size:.95rem;}
.stage-label{
  font-family:var(--display);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin:1.6rem 0 .65rem;
  font-size:.8rem;
}
.stage-label:first-of-type{margin-top:1.2rem;}
.beer-festbier{
  margin:1.25rem 0 0;
  padding:0;
  width:min(280px,72%);
  background:0 0;
  border:none;
}
.beer-festbier img{
  width:100%;
  height:auto;
  max-height:22rem;
  object-fit:contain;
  object-position:left center;
  border-radius:10px;
  border:1px solid #00b4e638;
  box-shadow:0 8px 20px #00000040;
  display:block;
}
@media (width>=760px){
  .beer-festbier{width:min(300px,85%); max-height:none;}
  .beer-festbier img{max-height:24rem;}
  .display-wide{max-width:28ch;}
}



/* Sponsor panel — own design, not volunteer clone */
.sponsor-hero{
  display:grid;
  gap:1.5rem;
  margin-bottom:1.5rem;
  align-items:center;
}
.sponsor-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.7rem;
  width:100%;
  max-width:26rem;
  margin-inline:auto;
  padding:1.55rem 1.45rem 1.45rem;
  text-decoration:none;
  color:var(--orange);
  border-radius:20px;
  border:2px solid #fdda24;
  background:
    linear-gradient(145deg,#00245e 0%,#001540 48%,#000d28 100%);
  box-shadow:
    0 16px 36px #00000066,
    inset 0 1px 0 #ffffff22;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.sponsor-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background:
    radial-gradient(circle at 100% 0%,#fdda2433 0%,transparent 42%),
    radial-gradient(circle at 0% 100%,#00b4e628 0%,transparent 45%);
}
.sponsor-panel > *{position:relative;z-index:1;}
.sponsor-panel-gem{
  width:2.4rem;
  height:2.4rem;
  margin-bottom:.15rem;
  background:
    linear-gradient(135deg,#fff6 0%,#fdda24 45%,#e8a317 100%);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  box-shadow:0 4px 12px #fdda2440;
}
.sponsor-panel-eyebrow{
  font-family:var(--display);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-size:.72rem;
  color:#fdda24;
}
.sponsor-panel-title{
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:-.02em;
  font-size:clamp(1.85rem,4.5vw,2.45rem);
  line-height:.95;
  color:var(--orange);
  margin:0;
}
.sponsor-panel-meta{
  font-size:.92rem;
  line-height:1.35;
  opacity:.95;
  max-width:28ch;
  color:var(--orange);
}
.sponsor-panel-btn{
  margin-top:.55rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.65rem 1.35rem;
  border-radius:999px;
  background:linear-gradient(180deg,#ffe56a 0%,#fdda24 55%,#e8a317 100%);
  color:#001540;
  font-family:var(--display);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.9rem;
  font-weight:700;
  box-shadow:0 6px 0 #9a6f00;
}
.sponsor-panel:hover{
  color:var(--orange);
  transform:translateY(-3px);
  border-color:#ffe56a;
  box-shadow:0 20px 40px #00000080, inset 0 1px 0 #ffffff33;
}
.sponsor-panel:hover .sponsor-panel-btn{
  background:linear-gradient(180deg,#fff1a0 0%,#ffe56a 60%,#fdda24 100%);
}
@media (width>=760px){
  .sponsor-hero{
    grid-template-columns:minmax(0,1.2fr) minmax(280px,26rem);
    gap:2rem;
    align-items:center;
  }
  .sponsor-panel{
    margin-inline:0;
    justify-self:end;
  }
}

.tiers-nice{
  margin-top:1rem !important;
}
.tiers-nice .tier{
  border-radius:14px;
  border:2px solid #f7f1e333;
  background:linear-gradient(165deg,#f7f1e314,#001540a6);
  padding:1.15rem 1.05rem 1.25rem;
  box-shadow:0 8px 18px #00000033;
  transition:transform .15s ease, border-color .15s ease;
}
.tiers-nice .tier:hover{
  transform:translateY(-2px);
  border-color:#fdda2480;
}
.tiers-nice .tier.diamond{border-color:#b9d7ea;}
.tiers-nice .tier.gold{border-color:var(--gold);}
.tiers-nice .tier.silver{border-color:#c5c5c5;}
.tiers-nice .tier.bronze{border-color:#b87333;}
.tiers-nice .tier-name{letter-spacing:.14em;}
.tiers-nice .tier-amt{
  font-size:clamp(1.7rem,4vw,2.2rem);
  margin-top:.2rem;
}
.tiers-nice .tier-amt a{
  color:var(--gold);
  border-bottom:2px solid #fdda2466;
}
.tiers-nice .tier-amt a:hover{color:var(--cream); border-bottom-color:var(--cream);}

/* Our sponsors — category swipe rows */
.sponsor-groups{margin-top:1.75rem; display:grid; gap:1.75rem;}
.sponsor-group-title{
  font-family:var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .35rem;
  font-size:1.05rem;
}
.sponsor-group-hint{
  display:none;
  margin:0 0 .55rem;
  font-size:.8rem;
  opacity:.7;
}
.sponsor-swipe{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:.35rem .15rem 1rem;
  margin:0 -.15rem;
  scrollbar-color:var(--gold) #001540;
}
.sponsor-swipe::-webkit-scrollbar{height:8px;}
.sponsor-swipe::-webkit-scrollbar-thumb{background:var(--gold); border-radius:999px;}
.sponsor-swipe .sponsor-card{
  flex:0 0 min(72vw, 280px);
  scroll-snap-align:start;
  background:#f7f1e314;
  border:1px solid #00b4e638;
  border-radius:14px;
  padding:.75rem;
  display:grid;
  place-items:center;
  min-height:0;
  box-shadow:0 10px 22px #00000040;
}
.sponsor-swipe .sponsor-card img{
  width:100%;
  height:auto;
  max-height:min(48vh, 26rem);
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:8px;
}
@media (width>=760px){
  .sponsor-group-hint{display:none;}
  .sponsor-swipe{
    overflow:visible;
    flex-wrap:wrap;
    padding-bottom:.35rem;
  }
  .sponsor-swipe .sponsor-card{
    flex:1 1 calc(50% - .5rem);
    max-width:calc(50% - .5rem);
    min-width:240px;
  }
  .sponsor-swipe .sponsor-card img{max-height:min(55vh, 30rem);}
}
@media (width<760px){
  .sponsor-group:has(.sponsor-swipe .sponsor-card:nth-child(2)) .sponsor-group-hint{display:block;}
}

/* $0 booth fee — volunteer-style card */
a.booth-cta{
  position:relative;
  overflow:hidden;
  justify-items:center;
  text-align:center;
  gap:.55rem;
  padding:1.6rem 1.35rem 1.5rem;
  border:3px solid var(--gold) !important;
  border-radius:18px;
  box-shadow:0 12px 28px #00000059, inset 0 0 0 1px #ffffff2e;
  background:
    linear-gradient(165deg,#001a4a 0%,#001540 55%,#000d28 100%) !important;
  min-height:14rem;
  align-content:center;
  display:grid;
  color:var(--cream);
  text-decoration:none;
}
a.booth-cta:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    radial-gradient(circle at 70% 15%,#00b4e644 0%,transparent 50%),
    url(/images/lozenge-texture.jpg) 50%/280px;
  mix-blend-mode:soft-light;
}
a.booth-cta > *{position:relative;z-index:1;}
a.booth-cta .callout-label{color:var(--cream); letter-spacing:.2em;}
a.booth-cta .callout-big{
  color:var(--gold) !important;
  font-size:clamp(2rem,5vw,2.85rem);
  text-shadow:0 2px 0 #00000055;
  margin:.1rem 0 .35rem;
}
a.booth-cta .volunteer-cta-sub{max-width:24ch; margin:0; opacity:.95;}
a.booth-cta .volunteer-cta-btn{
  margin-top:.55rem;
  background:var(--orange);
  color:var(--cream);
}
a.booth-cta:hover{
  filter:brightness(1.06);
  transform:translateY(-2px);
  color:var(--cream);
}
a.booth-cta:hover .volunteer-cta-btn{
  background:var(--cream);
  color:var(--orange-deep);
}
@media (width>=760px){
  a.booth-cta{max-width:360px; justify-self:end; width:100%;}
}

@media (width>=760px){
  .split > a.volunteer-cta,
  .split > a.booth-cta{
    max-width:360px;
    width:100%;
    justify-self:end;
    min-height:0;
  }
}

.music-tagline{
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--orange);
  margin:0 0 1rem;
  font-size:clamp(1.15rem,3vw,1.55rem);
  line-height:1.2;
  max-width:28ch;
}

.fillable-howto{margin-top:1.15rem; max-width:42ch;}
.fillable-howto-list{
  margin:.35rem 0 0;
  padding-left:1.2rem;
  color:var(--cream);
  opacity:.92;
  font-size:.98rem;
  line-height:1.45;
}
.fillable-howto-list li{margin:.25rem 0;}
.sponsor-pdf-actions{margin-top:.35rem; flex-wrap:wrap;}

.sponsor-paper-note{margin-top:.85rem;}
.sponsor-paper-note a{color:var(--gold); font-weight:700; text-decoration:underline; text-underline-offset:.12em;}
.sponsor-paper-note a:hover{color:var(--cream);}
.fillable-howto{max-width:52ch;}
.fillable-howto .lede{margin-bottom:.75rem;}


.stay-hero{
  margin:1.25rem 0 0;
  border-radius:14px;
  overflow:hidden;
  border:2px solid #fdda2433;
  box-shadow:0 12px 28px #00000055;
  max-width:min(720px,100%);
}
.stay-hero img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  max-height:28rem;
  object-position:center 40%;
}
@media (width>=760px){
  .stay-hero{max-width:min(720px,100%);}
}

/* Official Beer hero — same footprint as .stay-hero */
.beer-hero img{
  object-position:center center;
  max-height:none;
}

/* Official Beer: Festbier left, two companions right (desktop) */
.beer-hero-grid{
  display:grid;
  gap:0.85rem;
  margin-top:1.25rem;
  width:100%;
  max-width:100%;
  align-items:stretch;
}
.beer-hero-grid .stay-hero{
  margin:0;
  max-width:100%;
  border-radius:14px;
  overflow:hidden;
}
.beer-hero-main img{
  width:100%;
  height:auto;
  max-height:none;
  display:block;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center;
}
.beer-hero-side{
  display:flex;
  flex-direction:column;
  gap:0.85rem;
  min-height:0;
}
.beer-hero-side .stay-hero{
  flex:1 1 0;
  min-height:0;
  display:flex;
}
.beer-hero-side .stay-hero img{
  width:100%;
  height:100%;
  max-height:none;
  flex:1;
  object-fit:cover;
  object-position:center;
}
@media (width>=760px){
  .beer-hero-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(0,0.75fr);
  }
}
@media (width<760px){
  .beer-hero-grid{
    grid-template-columns:1fr;
  }
  .beer-hero-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0.75rem;
  }
  .beer-hero-side .stay-hero{
    flex:none;
  }
  .beer-hero-side .stay-hero img{
    aspect-ratio:3 / 2;
    height:auto;
  }
}

/* Where to stay — same tile language as sponsorship $ tiers, 3×2 (6 spots) */
.hotel-grid.tiers-nice{
  margin-top:1.5rem !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.75rem !important;
}
.hotel-grid .hotel-tier{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:.45rem;
  align-content:start;
  padding:1rem .85rem 1.1rem !important;
}
.hotel-grid .hotel-art{
  margin:0;
  width:4.75rem;
  height:4.75rem;
  max-width:4.75rem;
  aspect-ratio:1;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #fdda2444;
  background:#000d28;
  display:grid;
  place-items:center;
}
.hotel-grid .hotel-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  padding:0;
}
.hotel-grid .hotel-art img[src*="placeholder"]{
  object-fit:contain;
  padding:.3rem;
}
.hotel-grid .tier-name{
  font-size:.78rem !important;
  letter-spacing:.12em !important;
  color:var(--cream) !important;
  line-height:1.15;
}
.hotel-grid .hotel-links-line{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.35rem .55rem;
  font-size:1rem !important;
  margin-top:.15rem !important;
  line-height:1.2 !important;
}
.hotel-grid .hotel-links-line a{
  font-family:var(--display);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold);
  text-decoration:none;
  border-bottom:2px solid #fdda2466;
  padding-bottom:.05rem;
}
.hotel-grid .hotel-links-line a:hover{
  color:var(--cream);
  border-bottom-color:var(--cream);
}
@media (width>=760px){
  .hotel-grid.tiers-nice{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.85rem !important;
  }
}

.hotel-grid .hotel-art-link{
  display:block;
  text-decoration:none;
  color:inherit;
  border-radius:10px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.hotel-grid .hotel-art-link:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px #00000066;
}
.hotel-grid .hotel-art-link:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* Official beer: oasis + clickable logo’d pint */
.beer-media{
  display:grid;
  gap:1rem;
  margin-top:1.25rem;
  align-items:end;
  justify-items:start;
}

.beer-pint-card{
  position:relative;
  display:block;
  width:min(220px,58%);
  border-radius:14px;
  overflow:hidden;
  border:2px solid #fdda2433;
  box-shadow:0 12px 28px #00000055;
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease, box-shadow .15s ease;
}
.beer-pint-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px #00000070;
}
.beer-pint-card:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.beer-pint-card img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  object-position:center top;
  max-height:15.4rem;
}
.beer-pint-cta{
  position:absolute;
  left:50%;
  bottom:.85rem;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  padding:.55rem 1.55rem;
  border-radius:999px;
  background:var(--cream);
  color:var(--orange-deep);
  font-family:var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.88rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 4px 0 #0000002e, 0 8px 18px #00000066;
  pointer-events:none;
  text-decoration:none;
}
.beer-pint-card:hover .beer-pint-cta{
  background:var(--white);
  color:var(--orange);
}
@media (width>=760px){
  .beer-media{
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.1rem;
    align-items:end;
  }
  .beer-pint-card{
    width:min(200px,100%);
  }
}

/* Feature jump tiles — same language as hotel sponsor tiles */
.feature-grid.tiers-nice{
  margin-top:1.5rem !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.75rem !important;
}
.feature-grid .feature-tier{
  padding:0 !important;
}
.feature-grid .feature-card{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:.45rem;
  align-content:start;
  padding:1rem .85rem 1.1rem;
  text-decoration:none;
  color:inherit;
  border-radius:inherit;
  height:100%;
  box-sizing:border-box;
}
.feature-grid .feature-card:hover .tier-name{
  color:var(--gold);
}
.feature-grid .feature-card:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.feature-grid .hotel-art{
  /* inherit hotel-art sizing */
}
.feature-grid .hotel-art img{
  object-fit:contain !important;
  padding:.35rem;
  background:transparent;
}
.feature-grid .feature-go{
  font-family:var(--display);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold);
  text-decoration:none;
  border-bottom:2px solid #fdda2466;
  padding-bottom:.05rem;
}
.feature-grid .feature-card:hover .feature-go{
  color:var(--cream);
  border-bottom-color:var(--cream);
}
@media (width>=760px){
  .feature-grid.tiers-nice{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:.85rem !important;
  }
}

/* Official beer carousel — one photo + arrows on desktop; swipe on mobile */
.beer-swipe-hint{
  margin:.35rem 0 .65rem;
  font-size:.85rem;
}
.beer-carousel{
  position:relative;
  display:flex;
  align-items:center;
  gap:.35rem;
  max-width:min(360px,100%);
  margin-top:.25rem;
}
.beer-track{
  flex:1;
  min-width:0;
  display:flex;
  overflow:hidden;
  border-radius:12px;
  border:2px solid #fdda2433;
  box-shadow:0 8px 18px #00000055;
  background:#000d28;
}
.beer-slide{
  position:relative;
  margin:0;
  flex:0 0 100%;
  width:100%;
  display:none;
  background:#000d28;
}
.beer-slide.is-active{display:block;}
.beer-slide img{
  width:100%;
  height:auto;
  max-height:14rem;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#000d28;
}
.beer-slide .beer-pint-cta{
  position:absolute;
  left:50%;
  bottom:.45rem;
  transform:translateX(-50%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.85rem;
  padding:.3rem .95rem;
  border-radius:999px;
  background:var(--cream);
  color:var(--orange-deep);
  font-family:var(--display);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.68rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 3px 0 #0000002e, 0 6px 14px #00000066;
  text-decoration:none !important;
}
.beer-slide .beer-pint-cta:hover{
  background:var(--white);
  color:var(--orange);
}
.beer-arrow{
  flex:0 0 auto;
  width:2rem;
  height:2rem;
  border-radius:999px;
  border:1px solid #fdda2466;
  background:#001540ee;
  color:var(--gold);
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
}
.beer-arrow:hover{
  background:var(--gold);
  color:var(--navy);
}
.beer-swipe-dots{
  display:flex;
  gap:.4rem;
  margin:.65rem 0 0;
  max-width:min(360px,100%);
}
.beer-dot{
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  border:1px solid #fdda2488;
  background:#f7f1e322;
  padding:0;
  cursor:pointer;
}
.beer-dot[aria-current="true"]{
  background:var(--gold);
  border-color:var(--gold);
}
/* Mobile: swipe track, hide side arrows (optional keep small) */
@media (width<760px){
  .beer-carousel{
    max-width:100%;
  }
  .beer-arrow{display:none;}
  .beer-track{
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .beer-track::-webkit-scrollbar{display:none;}
  .beer-slide{
    display:block;
    scroll-snap-align:start;
  }
  .beer-slide img{max-height:16rem;}
}
@media (width>=760px){
  .beer-carousel{max-width:min(340px,36%);}
  .beer-slide img{max-height:13rem;}
}

/* PARTNER STACK + SPONSOR TIERS — scoped; footer .logo-bar unchanged */
.partner-stack{
  background:var(--navy);
  border-top:3px solid var(--gold);
  padding:0 0 1.25rem;
}
.partner-stack .logo-bar-civic{
  border-top:none;
  border-bottom:3px solid var(--gold);
  background:transparent;
  min-height:0;
  padding-bottom:0.85rem;
  margin-bottom:0.35rem;
}
.partner-stack .sponsor-tier{
  width:min(1100px, calc(100% - 2rem));
  margin:0.55rem auto 0;
}
.partner-stack .sponsor-tier-label{
  font-family:var(--display);
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold);
  text-align:center;
  margin:0 0 0.55rem;
  font-size:0.72rem;
  font-weight:600;
}
.partner-stack .sponsor-tier-logos{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}
.partner-stack .sponsor-tier-diamond .sponsor-tier-logos{
  gap:1.35rem 2.25rem;
}
.partner-stack .sponsor-tier-gold .sponsor-tier-logos{
  gap:0.75rem 1.15rem;
}
.partner-stack .sponsor-ph{
  font-family:var(--display);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(247,241,227,0.75);
  border:1px dashed rgba(253,218,36,0.38);
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  text-align:center;
  padding:0.25rem 0.6rem;
  line-height:1.15;
}
.partner-stack .sponsor-ph-diamond{
  min-width:9.75rem;
  height:4.5rem;
  font-size:0.78rem;
}
.partner-stack .sponsor-ph-gold{
  min-width:6.25rem;
  height:2.55rem;
  font-size:0.66rem;
}
@media (width>=760px){
  .partner-stack .sponsor-ph-diamond{
    min-width:11rem;
    height:5.1rem;
    font-size:0.82rem;
  }
  .partner-stack .sponsor-ph-gold{
    min-width:7rem;
    height:2.85rem;
  }
}
@media (width<760px){
  .partner-stack .sponsor-tier-gold .sponsor-tier-logos{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:0.7rem;
    justify-items:center;
  }
  .partner-stack .sponsor-tier-gold .sponsor-ph-gold{
    width:100%;
    max-width:100%;
  }
}

.partner-stack .sponsor-logo-diamond img{
  height:4.6rem;
  width:auto;
  max-width:12rem;
  object-fit:contain;
  display:block;
}
@media (width>=760px){
  .partner-stack .sponsor-logo-diamond img{
    height:5.2rem;
    max-width:14rem;
  }
}

.partner-stack .sponsor-logo-gold img{
  height:2.7rem;
  width:auto;
  max-width:9.5rem;
  object-fit:contain;
  display:block;
  border-radius:4px;
}
@media (width>=760px){
  .partner-stack .sponsor-logo-gold img{
    height:3rem;
    max-width:11rem;
  }
}

/* Live music 2×2 artist cards — logo + Web/IG like hotels */
.music-grid.tiers-nice{
  margin-top:1.5rem !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.85rem !important;
}
@media (width>=760px){
  .music-grid.tiers-nice{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1rem !important;
  }
}
.music-grid .music-tier{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:.4rem;
  align-content:start;
  padding:1.05rem .9rem 1.15rem !important;
}
.music-grid .music-art{
  width:6.5rem;
  height:6.5rem;
  max-width:6.5rem;
}
.music-grid .music-art img[src*="placeholder"]{
  object-fit:contain;
  padding:.35rem;
  opacity:.55;
}
.music-grid .music-when{
  margin:0;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.2;
  opacity:.95;
}
.music-grid .music-links-line a[href="#"]{
  opacity:.45;
  pointer-events:none;
  border-bottom-color:transparent;
}

.music-grid .music-desc{
  margin:0;
  font-size:.82rem;
  line-height:1.35;
  color:var(--cream);
  opacity:.88;
  max-width:28ch;
}
.music-grid .tier-name{
  font-size:.72rem !important;
  line-height:1.2;
}

.music-grid .music-desc-long{
  max-width:34ch;
  font-size:.8rem;
  opacity:.9;
}

.music-grid.tiers-nice{
  align-items:start !important;
}
.music-grid .music-tier{
  align-self:start;
  height:auto !important;
}

.music-grid .music-art img{
  object-fit:contain !important;
  padding:.25rem;
  background:#fff;
}

/* Visitor info — about town + parking */
.info-grid{
  display:grid;
  gap:1.1rem;
  margin-top:1.4rem;
  grid-template-columns:1fr;
}
@media (width>=760px){
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
}
.info-card{
  background:#000d2888;
  border:1px solid #fdda2444;
  border-radius:14px;
  padding:1.15rem 1.2rem 1.25rem;
}
.info-card-title{
  margin:0 0 .65rem;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--gold);
  font-size:1rem;
}
.info-card p{
  margin:0 0 .75rem;
  line-height:1.45;
}
.info-card p:last-child{margin-bottom:0;}
.info-list{
  margin:.35rem 0 .85rem;
  padding-left:1.15rem;
  line-height:1.45;
}
.info-list li{margin:.35rem 0;}

.feature-grid .hotel-art{width:6.25rem;height:6.25rem;max-width:6.25rem;}
.feature-grid .hotel-art img{object-fit:cover !important;padding:0 !important;}

/* Gold rule under diamond bar; pull details kicker up */
.partner-stack{
  border-bottom:3px solid var(--gold);
  padding-bottom:0.55rem !important;
}
.partner-stack .sponsor-tier-diamond{
  margin-bottom:0.35rem;
  padding-bottom:0.15rem;
}
#details.band{
  padding-top:.55rem !important;
  padding-bottom:2.6rem !important;
}
#details .kicker-light{
  margin-top:0 !important;
  margin-bottom:0.2rem !important;
}
#details .display{
  margin-top:0.1rem !important;
  margin-bottom:.65rem !important;
}
#details .facts-line{
  margin-top:.15rem !important;
}
.partner-stack .sponsor-tier-diamond{
  margin-top:.35rem !important;
  margin-bottom:.2rem !important;
}
.partner-stack .sponsor-tier-label{
  margin-bottom:.35rem !important;
}

/* Teal rule where partner/navy bar meets the next page band */
.partner-stack.partner-stack,
.partner-stack{
  border-bottom:3px solid var(--cyan) !important;
}
