
/* 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{
  /* Chaz: horizontal stretch 20% only (no height change) */
  width:min(625px,58.65%);
  max-width:100%;
  height:auto;
  margin:0 auto;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:scaleX(1.2);
  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(701px,57.375%);
     transform:scaleX(1.2);
     transform-origin:center center;
   }
}
.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);
  border-bottom:none;
  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 artist cards — 2-col mobile, 4 across desktop */
#music .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 .music-grid.tiers-nice{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:.85rem !important;
  }
  #music .music-grid .music-art{
    width:min(100%, 100%);
  }
}
/* Kids: Live-music tile pattern — 2-col mobile, 3×2 desktop */
#kids .kids-music-grid.music-grid.tiers-nice{
  margin-top:1.5rem !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.85rem !important;
}
@media (width>=760px){
  #kids .kids-music-grid.music-grid.tiers-nice{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.85rem !important;
  }
  #kids .kids-music-grid.music-grid .music-art{
    width:min(100%, 100%);
  }
}
.music-grid .music-tier{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:.35rem;
  align-content:start;
  padding:.75rem .65rem .85rem !important;
}
.music-grid .music-art{
  margin:0;
  width:min(100%, 15.5rem);
  height:auto;
  max-width:100%;
  aspect-ratio:1;
  border-radius:0;
  overflow:hidden;
  border:none;
  background:transparent;
  display:grid;
  place-items:center;
}
@media (width>=760px){
  .music-grid .music-art{
    width:min(100%, 17.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:.85rem !important;
  line-height:1.2;
  margin-top:.15rem !important;
}

.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{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center;
  display:block;
  padding:0;
  background:transparent;
}

/* 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;}

/* Pull details kicker up under diamond bar */
.partner-stack{
  padding-bottom:0.35rem !important;
  border-bottom:none !important;
}
.partner-stack .sponsor-tier-diamond{
  margin-top:.35rem !important;
  margin-bottom:.2rem !important;
  padding-bottom:0.15rem;
}
.partner-stack .sponsor-tier-label{
  margin-bottom:.35rem !important;
}
#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;
}

/* Teal seam: navy partner bar → Bavarian burst (all viewports, desktop-proof) */
.navy-burst-seam{
  display:block;
  border:0;
  margin:0;
  padding:0;
  width:100%;
  height:4px;
  background:#00b4e6;
  position:relative;
  z-index:20;
}
#details.band-frost{
  border-top:4px solid #00b4e6 !important;
}
/* Show burst texture right under the teal (less navy wash at the top edge) */
#details.band-frost:before{
  background:
    linear-gradient(180deg, rgba(0,21,64,0.28) 0%, rgba(0,21,64,0.62) 35%, rgba(0,21,64,0.82) 100%),
    url(../images/frost-burst.jpg) center top / cover no-repeat !important;
}
@media (width>=760px){
  .navy-burst-seam{height:4px; background:#00b4e6;}
  #details.band-frost{border-top:4px solid #00b4e6 !important;}
}


/* Raffle sponsors + free entry CTA */
.raffle-grid.hotel-grid{margin-top:1.35rem !important;}
.raffle-entry-block{
  margin-top:2rem;
  padding:1.25rem 1.2rem 1.35rem;
  background:#000d2888;
  border:1px solid #fdda2444;
  border-radius:14px;
  text-align:center;
}
.raffle-entry-title{
  margin:0 0 .55rem;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--gold);
  font-size:clamp(1.15rem,3vw,1.55rem);
}
.raffle-entry-copy{margin:0 auto .95rem; max-width:52ch;}
.raffle-entry-actions{justify-content:center; margin-top:.35rem;}
.raffle-entry-note{margin:.85rem 0 0; opacity:.8; font-size:.9rem;}

.raffle-prize{
  margin:0;
  font-size:.78rem;
  line-height:1.25;
  color:var(--cream);
  opacity:.9;
  max-width:28ch;
}

/* Hero plaza map link — keep address styling when clickable */
a.hero-map-link{
  color:inherit;
  text-decoration:none;
  -webkit-text-stroke:inherit;
  paint-order:inherit;
  text-shadow:inherit;
}
a.hero-map-link:hover{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:.18em;
}

/* Hero CTA ice-burst pills — one row */
.hero-actions.hero-actions-ice{
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:.45rem;
  width:100%;
  max-width:min(920px,100%);
}
.hero-actions.hero-actions-ice .btn{
  flex:1 1 0;
  min-width:0;
  padding:.65rem .55rem;
  font-size:clamp(.58rem,1.35vw,.82rem);
  letter-spacing:.1em;
  white-space:nowrap;
}
.free-pill.hero-ice-burst,
a.btn.hero-ice-burst,
a.hero-sponsors-burst{
  min-height:3.05rem;
  border-radius:999px;
  border:1px solid rgba(247,241,227,.55);
  font-family:var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--cream) !important;
  text-decoration:none;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
  background:
    linear-gradient(180deg, rgba(0,21,64,.32), rgba(0,21,64,.58)),
    url(../images/frost-burst.jpg) center / cover no-repeat !important;
  box-shadow:0 0 0 1px rgba(0,180,230,.22), 0 8px 20px rgba(0,0,0,.32);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.free-pill.hero-ice-burst{
  color:var(--cream) !important;
  padding:.55rem 1.5rem;
}
a.btn.hero-ice-burst:hover,
a.hero-sponsors-burst:hover,
.free-pill.hero-ice-burst:hover{
  color:var(--gold) !important;
  border-color:rgba(253,218,36,.7);
  box-shadow:0 0 0 1px rgba(253,218,36,.4), 0 10px 24px rgba(0,0,0,.38);
}
@media (max-width:720px){
  .hero-actions.hero-actions-ice{
    flex-wrap:wrap;
  }
  .hero-actions.hero-actions-ice .btn{
    flex:1 1 calc(50% - .45rem);
  }
}

/* Hero plaza scale line under Free entry */
.hero-plaza-scale{
  margin:0;
  max-width:42ch;
  font-family:var(--display);
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center;
  color:#fff;
  -webkit-text-stroke:1.25px #000;
  paint-order:stroke fill;
  text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;
  font-size:clamp(.55rem,1.55vw,.78rem);
  line-height:1.35;
  font-weight:700;
}

/* Don't drink and drive / official taxi — full width under About + Parking */
.info-card-wide{
  grid-column:1 / -1;
}
.info-card-wide a[href^="tel:"]{
  color:var(--gold);
  font-weight:700;
  text-decoration:none;
}
.info-card-wide a[href^="tel:"]:hover{
  color:var(--orange);
  text-decoration:underline;
}

/* Single-flyer sponsor rows — a bit bigger for readability */
.sponsor-group:not(:has(.sponsor-swipe .sponsor-card:nth-child(2))) .sponsor-swipe .sponsor-card{
  max-width:min(34rem, 100%);
  margin-inline:auto;
}
.sponsor-group:not(:has(.sponsor-swipe .sponsor-card:nth-child(2))) .sponsor-swipe .sponsor-card img{
  max-height:min(70vh, 38rem);
}

/* Silver sponsors — hotel/raffle-style tile grid */
.silver-sponsors-block{
  margin-top:2.25rem;
}
.silver-sponsors-block .sponsor-group-title{
  margin-bottom:.35rem;
}
.silver-grid{
  margin-top:1rem;
}

/* Be a sponsor — quiet paper-trail details */
.sponsor-details{
  margin-top:1.75rem;
  max-width:42rem;
  border:1px solid rgba(247,241,227,.18);
  border-radius:14px;
  background:rgba(0,21,64,.28);
  padding:.15rem 1rem 1rem;
}
.sponsor-details > summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(247,241,227,.72);
  font-size:.78rem;
  padding:.85rem 0 .35rem;
}
.sponsor-details > summary::-webkit-details-marker{display:none;}
.sponsor-details > summary::before{
  content:"+ ";
  color:var(--gold);
  font-weight:700;
}
.sponsor-details[open] > summary::before{content:"– ";}
.sponsor-details-body{
  color:rgba(247,241,227,.82);
  font-size:.95rem;
  line-height:1.5;
}
.sponsor-details-body p{margin:.55rem 0 0;}
.sponsor-details-links{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .65rem;
  align-items:center;
}
.sponsor-details-links a{
  color:var(--gold);
  font-weight:600;
  text-decoration:none;
}
.sponsor-details-links a:hover{color:var(--cream); text-decoration:underline;}
.sponsor-details-nested{
  margin-top:.85rem;
  border-top:1px solid rgba(247,241,227,.12);
  padding-top:.55rem;
}
.sponsor-details-nested > summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--display);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(247,241,227,.55);
  font-size:.7rem;
  padding:.35rem 0;
}
.sponsor-details-nested > summary::-webkit-details-marker{display:none;}
.sponsor-details .fillable-howto-list{
  margin:.4rem 0 0;
  padding-left:1.15rem;
  opacity:.9;
  font-size:.9rem;
}
.sponsor-pay{
  margin-top:1.35rem;
}


/* Sponsor tier pick tiles — Bavarian ice-burst */
.sponsor-tier-pick.tiers-nice{
  gap:1rem;
}
.sponsor-tier-pick .tier.tier-burst{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(247,241,227,.35);
  padding:1.2rem 1.15rem 1.3rem;
  background:
    linear-gradient(180deg, rgba(0,21,64,.42), rgba(0,21,64,.62)),
    url(../images/frost-burst.jpg) center / cover no-repeat;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  min-height:9.5rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.sponsor-tier-pick .tier.tier-burst:hover{
  border-color:rgba(253,218,36,.55);
  box-shadow:0 10px 26px rgba(0,0,0,.36);
}
.sponsor-tier-pick .tier-burst .tier-name{
  color:var(--cream);
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  letter-spacing:.12em;
  font-size:.9rem;
}
.sponsor-tier-pick .tier-burst .tier-amt{
  margin-top:.1rem;
}
.sponsor-tier-pick .tier-burst .tier-amt a{
  color:var(--gold);
  border-bottom-color:rgba(253,218,36,.45);
  font-size:1.75rem;
}
.sponsor-tier-pick .tier-burst .tier-desc{
  color:rgba(247,241,227,.92);
  font-size:.95rem;
  line-height:1.4;
  margin:0;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.sponsor-tier-pick .tier.diamond.tier-burst{border-color:rgba(185,215,234,.65);}
.sponsor-tier-pick .tier.gold.tier-burst{border-color:rgba(253,218,36,.55);}
.sponsor-tier-pick .tier.silver.tier-burst{border-color:rgba(197,197,197,.55);}
.sponsor-tier-pick .tier.bronze.tier-burst{border-color:rgba(184,115,51,.6);}

/* Sponsor tier emblems (locked Studio art) */
.sponsor-tier-pick .tier-emblem{
  width:min(7.5rem,42%);
  height:auto;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:14px;
  margin:0 0 .35rem;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  border:1px solid rgba(247,241,227,.28);
}


/* Sponsor panel — Diamond emblem + Bavarian ice-burst + PDF CTAs */
.sponsor-panel.sponsor-panel-burst{
  color:var(--cream);
  border-color:rgba(185,215,234,.65);
  background:
    linear-gradient(180deg, rgba(0,21,64,.38), rgba(0,21,64,.68)),
    url(../images/frost-burst.jpg) center / cover no-repeat;
  box-shadow:0 16px 36px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
}
.sponsor-panel.sponsor-panel-burst:before{
  opacity:.2;
  background:
    radial-gradient(circle at 80% 10%, rgba(253,218,36,.28) 0%, transparent 40%),
    radial-gradient(circle at 10% 90%, rgba(0,180,230,.22) 0%, transparent 45%);
}
.sponsor-panel-emblem{
  width:5.5rem;
  height:5.5rem;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(247,241,227,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.4);
  margin-bottom:.15rem;
}
.sponsor-panel.sponsor-panel-burst .sponsor-panel-eyebrow{
  color:var(--gold);
}
.sponsor-panel.sponsor-panel-burst .sponsor-panel-title{
  color:var(--cream);
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.sponsor-panel.sponsor-panel-burst .sponsor-panel-meta{
  color:rgba(247,241,227,.9);
}
.sponsor-panel-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.55rem;
  width:100%;
}
.sponsor-panel.sponsor-panel-burst .sponsor-panel-btn{
  margin-top:0;
  text-decoration:none;
}
.sponsor-panel-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.65rem 1.2rem;
  border-radius:999px;
  border:1px solid rgba(247,241,227,.55);
  background:rgba(0,21,64,.45);
  color:var(--cream);
  font-family:var(--display);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
}
.sponsor-panel-btn-secondary:hover{
  color:var(--gold);
  border-color:rgba(253,218,36,.7);
}
.sponsor-panel.sponsor-panel-burst:hover{
  color:var(--cream);
  border-color:rgba(253,218,36,.65);
}

.sponsor-panel-invite{
  margin:0;
  max-width:30ch;
  font-size:.98rem;
  line-height:1.45;
  color:rgba(247,241,227,.92);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}

/* Volunteer — match sponsor ice-burst panel */
.volunteer-hero{margin-bottom:0;}
.volunteer-panel .volunteer-emblem{
  background:rgba(247,241,227,.08);
  object-fit:contain;
  padding:.35rem;
}


/* Raffle sponsors under Silver on Our sponsors */
.raffle-sponsors-block{
  margin-top:2.25rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.12);
}
.raffle-sponsors-block .sponsor-group-title{
  margin-bottom:.35rem;
}
.raffle-sponsors-block .raffle-entry-block{
  margin-top:1.75rem;
}

/* Lion's Lederhosen Kids Section */
.kids-hero{
  margin:1.25rem auto 1.75rem;
  max-width:18rem;
  text-align:center;
}
.kids-hero img{
  width:100%;
  height:auto;
  border-radius:1rem;
  box-shadow:0 12px 36px rgba(8,40,70,0.28);
  display:block;
}
.kids-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:0.9rem;
}
@media (width>=700px){
  .kids-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (width>=1100px){
  .kids-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.kids-tile{
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(40,120,170,0.22);
  border-radius:14px;
  padding:1rem 1.05rem 1.1rem;
  box-shadow:0 8px 22px rgba(8,40,70,0.08);
  text-align:left;
}
.kids-tile-head{
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin:0 0 0.55rem;
}
.kids-logo{
  width:3.25rem;
  height:3.25rem;
  object-fit:cover;
  border-radius:10px;
  flex:0 0 auto;
  background:#e8f4fb;
}
.kids-logo-ph{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.55rem;
  line-height:1;
}
.kids-tile-titles{ min-width:0; }
.kids-name{
  margin:0;
  font-family:var(--display);
  font-size:1.05rem;
  letter-spacing:0.02em;
  color:#0b2a44;
  line-height:1.2;
}
.kids-when{
  margin:0.2rem 0 0;
  font-size:0.78rem;
  font-weight:600;
  color:#1a6ea0;
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.kids-blurb{
  margin:0;
  font-size:0.92rem;
  line-height:1.45;
  color:#24394a;
}

/* Kids section uses info-card look; denser grid on wide screens */
@media (width>=1100px){
  #kids .info-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
#kids .info-card .lede.subtle{
  margin:0 0 .55rem;
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(247,241,227,0.78);
}

#kids .kids-card-head{
  display:flex;
  align-items:center;
  gap:0.55rem;
  margin:0 0 0.35rem;
}
#kids .kids-card-icon{
  width:1.85rem;
  height:1.85rem;
  object-fit:cover;
  border-radius:6px;
  flex:0 0 auto;
  box-shadow:0 2px 6px rgba(0,0,0,0.22);
}
@media (width>=760px){
  #kids .kids-card-icon{
    width:2.15rem;
    height:2.15rem;
  }
}
#kids .kids-card-head .info-card-title{
  margin:0;
  flex:1 1 auto;
}

/* Kids art: fill tile like Live music */
#kids .kids-music-grid.music-grid .music-art{
  width:min(100%, 15.5rem);
}
@media (width>=760px){
  #kids .kids-music-grid.music-grid .music-art{
    width:min(100%, 100%);
  }
}

/* —— Under-hero Layout A (3-col lower-third) draft 2026-09-11 —— */
.hero-inner{
  width:min(1100px,100% - 1.5rem) !important;
}
.hero-lower-a{
  --a-gold:#d4af37;
  --a-gold-hi:#f0d78c;
  display:grid !important;
  grid-template-columns:1.1fr 1fr 1.2fr;
  align-items:center;
  gap:0;
  width:min(52rem,100%);
  margin:.35rem auto 0;
  padding:.85rem .4rem .9rem;
  border:1px solid rgba(212,175,55,.55);
  background:rgba(0,21,64,.28);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.hero-a-col{
  text-align:center;
  padding:.35rem .9rem;
  min-width:0;
}
.hero-a-date,
.hero-a-time{
  border-right:1px solid rgba(212,175,55,.45);
}
.hero-a-label,
.hero-a-venue,
.hero-a-street,
.hero-a-city{
  font-family:var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--a-gold);
  margin:0;
  -webkit-text-stroke:0;
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.hero-a-label{
  font-size:clamp(.62rem,1.4vw,.78rem);
  font-weight:600;
  margin-bottom:.35rem;
  opacity:.95;
}
.hero-a-date-main,
.hero-a-time-main{
  font-family:"UnifrakturCook", "Cinzel", Georgia, serif;
  color:var(--a-gold-hi);
  margin:0;
  line-height:1.05;
  font-weight:700;
  letter-spacing:.02em;
  text-shadow:
    0 1px 0 #7a5a12,
    0 3px 8px rgba(0,0,0,.55);
  -webkit-text-stroke:0;
}
.hero-a-date-main{
  font-size:clamp(1.15rem,3.2vw,1.85rem);
}
.hero-a-time-main{
  font-size:clamp(1.6rem,4.6vw,2.6rem);
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:.3rem;
}
.hero-a-time-main .hero-time-pm{
  font-size:.45em;
  margin-top:.28em;
  letter-spacing:.08em;
}
.hero-a-flourish{
  display:block;
  width:3.2rem;
  height:1px;
  margin:.55rem auto 0;
  background:linear-gradient(90deg, transparent, var(--a-gold), transparent);
  position:relative;
}
.hero-a-flourish:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:.4rem;
  height:.4rem;
  transform:translate(-50%,-50%) rotate(45deg);
  background:var(--a-gold);
}
.hero-a-venue{
  font-size:clamp(.62rem,1.35vw,.78rem);
  margin-bottom:.35rem;
}
.hero-a-street{
  font-size:clamp(.68rem,1.5vw,.86rem);
  margin:.15rem 0;
}
.hero-a-street a{
  color:inherit;
  text-decoration:none;
}
.hero-a-street a:hover{ color:var(--a-gold-hi); }
.hero-a-city{
  font-size:clamp(.58rem,1.25vw,.74rem);
  opacity:.92;
  letter-spacing:.12em;
}
@media (max-width:720px){
  .hero-lower-a{
    grid-template-columns:1fr;
    width:min(22rem,100%);
  }
  .hero-a-date,
  .hero-a-time{
    border-right:0;
    border-bottom:1px solid rgba(212,175,55,.4);
    padding:.7rem .5rem;
  }
}

/* —— Top bar gold Oktoberfest lockup 2026-09-11 —— */
.brand.brand-logo{
  display:flex;
  flex-direction:row; /* override base .brand column */
  flex-wrap:nowrap;
  align-items:center;
  gap:.55rem;
  line-height:0;
  text-decoration:none;
  flex-shrink:1;
  min-width:0;
}
.brand.brand-logo:hover{
  opacity:.92;
}
.brand-mark{
  display:block;
  /* 1× white wordmark baseline */
  height:clamp(2.1rem, 4.5vw, 2.75rem);
  width:auto;
  object-fit:contain;
  object-position:left center;
}
.brand-mark-oktoberfest{
  max-width:min(11.2rem, 42vw);
}
.brand-mark-torcfest{
  /* 75% of Oktoberfest mark height */
  height:clamp(1.575rem, 3.375vw, 2.0625rem);
  max-width:min(8.5rem, 30vw);
}
@media (width>=760px){
  .brand.brand-logo{ gap:.65rem; }
  .brand-mark{ height:2.85rem; }
  .brand-mark-oktoberfest{ max-width:min(12.8rem, 24vw); }
  .brand-mark-torcfest{
    height:2.1375rem; /* 0.75 × 2.85 */
    max-width:min(10rem, 18vw);
  }
}
.site-header .nav-wrap{
  min-height:var(--nav-h);
  align-items:center;
}

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}


/* Partner logos + Diamonds sit below #details */
.partner-band{
  padding-top:.35rem !important;
  padding-bottom:0 !important;
  /* kill frost :before wash that hid logos outside .wrap */
  background:var(--navy) !important;
}
.partner-band:before{
  display:none !important;
  content:none !important;
}
.partner-band .partner-stack{
  margin:0;
  position:relative;
  z-index:1;
}

.partner-band .navy-burst-seam{
  margin:0;
  display:block;
}
#music.band{
  padding-top:2.4rem !important; /* was relying on crystal-break for air */
}
#kids.band{
  padding-top:2.4rem !important; /* no crystal-break above */
}

/* Crystal breaks: gold line only — no frost dead-space band */
.crystal-break{
  height:3px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-top:3px solid var(--gold) !important;
  background:transparent !important;
  background-image:none !important;
}

/* Civic + footer logo bars: even pack (no empty 4th-column gap) */
.logo-bar.logo-bar-civic,
.logo-bar.footer-logos{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:1.1rem 1.75rem !important;
  grid-template-columns:none !important;
}
.logo-bar.logo-bar-civic img,
.logo-bar.footer-logos img{
  margin-inline:0 !important;
  width:auto !important;
  max-width:min(11.5rem, 28vw) !important;
  height:3.6rem !important;
  flex:0 0 auto !important;
}
@media (width>=760px){
  .logo-bar.logo-bar-civic,
  .logo-bar.footer-logos{
    gap:1.25rem 2.25rem !important;
    padding-inline:1.5rem !important;
  }
  .logo-bar.logo-bar-civic img,
  .logo-bar.footer-logos img{
    height:4.35rem !important;
    max-width:min(14rem, 18vw) !important;
  }
}


/* Countdown band under hero — 2026-09-24 */
.countdown-band{background:linear-gradient(180deg,#071630 0%,#0b1f45 100%);border-top:3px solid #c9a24a;border-bottom:1px solid rgba(201,162,74,.35);padding:1.4rem 1rem 1.6rem;text-align:center;}
.countdown-wrap{max-width:900px;margin:0 auto;}
.countdown-kicker{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;color:#8fd8f2;font-size:clamp(.8rem,2.2vw,1rem);margin:0 0 .6rem;}
.countdown-clock{display:flex;justify-content:center;align-items:flex-start;gap:clamp(.35rem,2vw,1.1rem);}
.countdown-clock[hidden]{display:none;}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:clamp(3.6rem,15vw,7rem);}
.cd-num{font-family:var(--display);font-variant-numeric:tabular-nums;color:#f2c14e;font-size:clamp(2.4rem,9vw,4.6rem);line-height:1;text-shadow:0 2px 0 #5a3d0a,0 0 18px rgba(242,193,78,.35);}
.cd-lbl{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;color:#e8eef8;font-size:clamp(.65rem,1.8vw,.85rem);margin-top:.35rem;opacity:.85;}
.cd-sep{font-family:var(--display);color:#c9a24a;font-size:clamp(2rem,7vw,3.8rem);line-height:1;opacity:.7;}
.countdown-live{font-family:var(--display);text-transform:uppercase;color:#f2c14e;font-size:clamp(1.6rem,6vw,3rem);line-height:1.05;margin:0;}
