:root {
  --bb-black: #080808;
  --bb-white: #ffffff;
  --bb-ink: #121212;
  --bb-muted: #625954;
  --bb-line: rgba(8, 8, 8, 0.1);
  --bb-line-strong: rgba(8, 8, 8, 0.18);
  --bb-panel: #f7f2eb;
  --bb-panel-soft: #fdf9f4;
  --bb-shadow: 0 24px 60px rgba(0, 0, 0, 0.08);
  --bb-shadow-strong: 0 28px 80px rgba(0, 0, 0, 0.15);
  --bb-shadow-card: 0 18px 46px rgba(0, 0, 0, 0.07);
  --bb-card-radius: 30px;
  --bb-focus: rgba(184, 38, 35, 0.34);
  --bb-red: #b82623;
  --bb-red-deep: #7e1512;
  --frame-gutter: 28px;
  --content-max: 1320px;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --white: var(--bb-white);
  --black: var(--bb-black);
  --border-strong: 1px solid var(--bb-line-strong);
  --border-soft: 1px solid var(--bb-line);
  --surface-soft: var(--bb-panel-soft);
  --surface-radius-lg: 32px;
  --surface-radius-md: 24px;
  --control-radius-md: 20px;
  --button-min-height: 54px;
  --button-padding-inline: 20px;
  --button-font-size: 11px;
  --button-letter-spacing: 0.16em;
  --button-shadow: 0 12px 28px rgba(0, 0, 0, 0.07);
  --radius-pill: 999px;
  --ink-muted: var(--bb-muted);
  --ink-faint: rgba(18, 18, 18, 0.52);
  --modal-backdrop: rgba(0, 0, 0, 0.84);
  --modal-dialog-shadow: var(--bb-shadow-strong);
  --modal-close-size: 44px;
  --modal-close-font-size: 28px;
  --close-control-border: 1px solid rgba(8, 8, 8, 0.12);
  --media-stage-bg: var(--bb-panel);
  --focus-ring-soft: rgba(184, 38, 35, 0.18);
  --modal-hero-dialog-width: 1120px;
  --hvh-title-card-gap: clamp(16px, 2vw, 26px);
  --hvh-btn-dark-bg-rest: linear-gradient(180deg, #080808 0%, #141414 100%);
  --hvh-btn-dark-bg-hover: linear-gradient(180deg, #141414 0%, #202020 100%);
  --hvh-btn-dark-border-rest: rgba(255, 247, 236, 0.78);
  --hvh-btn-dark-border-hover: rgba(255, 247, 236, 0.92);
  --hvh-btn-dark-color-rest: #fff;
  --hvh-btn-dark-color-hover: #fff;
  --hvh-btn-dark-shadow-rest: 0 0 0 1px rgba(255, 247, 236, 0.16), 0 0 18px rgba(255, 247, 236, 0.08), var(--button-shadow);
  --hvh-btn-dark-shadow-hover: 0 0 0 1px rgba(255, 247, 236, 0.22), 0 0 20px rgba(255, 247, 236, 0.14), 0 18px 32px rgba(0, 0, 0, 0.18);
  --hvh-btn-light-bg-rest: linear-gradient(180deg, #ffffff 0%, #fff8f0 100%);
  --hvh-btn-light-bg-hover: linear-gradient(180deg, #ffffff 0%, #fff2e5 100%);
  --hvh-btn-light-border-rest: rgba(184, 38, 35, 0.9);
  --hvh-btn-light-border-hover: rgba(184, 38, 35, 0.96);
  --hvh-btn-light-color-rest: var(--bb-black);
  --hvh-btn-light-color-hover: var(--bb-black);
  --hvh-btn-light-shadow-rest: 0 0 0 1px rgba(184, 38, 35, 0.2), 0 0 18px rgba(184, 38, 35, 0.16), var(--button-shadow);
  --hvh-btn-light-shadow-hover: 0 0 0 1px rgba(184, 38, 35, 0.24), 0 0 20px rgba(184, 38, 35, 0.2), 0 18px 32px rgba(0, 0, 0, 0.14);
  --hvh-btn-ticket-bg-rest: linear-gradient(180deg, var(--bb-red) 0%, var(--bb-red-deep) 100%);
  --hvh-btn-ticket-bg-hover: linear-gradient(180deg, #d9312d 0%, #921815 100%);
  --hvh-btn-ticket-border-rest: rgba(8, 8, 8, 0.92);
  --hvh-btn-ticket-border-hover: rgba(8, 8, 8, 0.92);
  --hvh-btn-ticket-color-rest: #fff;
  --hvh-btn-ticket-color-hover: #fff;
  --hvh-btn-ticket-shadow-rest: 0 18px 34px rgba(126, 21, 18, 0.18);
  --hvh-btn-ticket-shadow-hover: 0 20px 36px rgba(126, 21, 18, 0.22), 0 0 0 4px rgba(209, 15, 18, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bb-white);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100%;
  background: linear-gradient(180deg, #fff 0%, #fff 68%, #faf6ef 100%);
  color: var(--bb-ink);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.has-mobile-panel-open, body.has-modal-open {
  overflow: hidden;
}

body.is-scroll-locked {
  position: fixed;
  overflow: hidden;
  inset: 0 auto auto 0;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font: inherit;
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--bb-focus);
  outline-offset: 3px;
}

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

.site-shell {
  min-height: 100vh;
  --main-header-shell-height: 78px;
}

.site-width {
  width: min(calc(100% - var(--frame-gutter) * 2), var(--content-max));
  margin: 0 auto;
}

.hvh-red-button, .ticket-button, .agenda-backtop, .bb-pill-button, .bb-bookings-more-button, .main-nav__link, .mobile-panel__link {
  --button-bg-rest: linear-gradient(180deg, #ffffff 0%, #ffffff 48%, #faf1e5 100%);
  --button-bg-hover: linear-gradient(180deg, #ffffff 0%, #fff8f0 54%, #f3e8da 100%);
  --button-border-rest: rgba(8, 8, 8, 0.9);
  --button-border-hover: rgba(8, 8, 8, 0.9);
  --button-color-rest: var(--bb-black);
  --button-color-hover: var(--bb-black);
  --button-shadow-rest: var(--button-shadow);
  --button-shadow-hover: 0 18px 34px rgba(0, 0, 0, 0.14), 0 0 0 4px rgba(255, 247, 236, 0.16);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--button-min-height);
  padding: 0 var(--button-padding-inline);
  border: 1px solid var(--button-border-rest);
  border-radius: 999px;
  background: var(--button-bg-rest);
  box-shadow: var(--button-shadow-rest);
  color: var(--button-color-rest);
  font-size: var(--button-font-size);
  font-weight: 900;
  letter-spacing: var(--button-letter-spacing);
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

:is( .hvh-red-button, .ticket-button, .agenda-backtop, .bb-pill-button, .bb-bookings-more-button, .main-nav__link, .mobile-panel__link ):hover, :is( .hvh-red-button, .ticket-button, .agenda-backtop, .bb-pill-button, .bb-bookings-more-button, .main-nav__link, .mobile-panel__link ):focus-visible {
  transform: translateY(-2px);
  background: var(--button-bg-hover);
  color: var(--button-color-hover);
  border-color: var(--button-border-hover);
  box-shadow: var(--button-shadow-hover);
}

.bb-pill-button {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  box-shadow: var(--button-shadow-rest);
  letter-spacing: 0.18em;
}

.button-label {
  display: block;
  text-align: center;
}

.is-js-ready .bb-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.72s ease, transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.is-js-ready .bb-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes bbHeroCopyIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

@media (max-width: 1024px) {
  :root {
    --frame-gutter: 20px;
  }

  body {
    font-size: 16px;
  }

}

.skip-link {
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--bb-black);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
}

.skip-link:focus, .skip-link:focus-visible {
  width: auto;
  height: auto;
  padding: 0 18px;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.main-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 120;
  pointer-events: none;
}

.main-header__bar {
  background: rgba(0, 0, 0, 0.96);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(14px);
  transform: translateY(0);
  transition: transform 0.32s ease, background-color 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease, opacity 0.32s ease;
  pointer-events: auto;
}

.main-header--compact .main-header__bar {
  background: rgba(0, 0, 0, 0.94);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

.main-header--hidden .main-header__bar {
  transform: translateY(-100%);
}

.home .main-header__bar {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.home .main-header--compact .main-header__bar {
  background: rgba(0, 0, 0, 0.94);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(14px);
}

@media (min-width: 1101px) {
  .home .main-header {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.32s ease, visibility 0s linear 0.32s;
  }

  .home .main-header.main-header--compact {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

}

.main-header__inner {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding-block: 10px;
}

.main-header__brand-home {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
  text-decoration: none;
}

.main-header__brand-home:hover,
.main-header__brand-home:focus-visible {
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
}

.main-header__brand-home-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #fff;
}

.main-header__brand-home-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.main-header__menu-toggle {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 11px;
  font-weight: 800;
}

.main-header__menu-toggle:hover, .main-header__menu-toggle:focus-visible {
  color: #fff;
}

.main-header__menu-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  color: currentColor;
}

.main-header__menu-icon svg {
  width: 100%;
  height: 100%;
}

.main-header__nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  white-space: nowrap;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 0 16px rgba(255, 255, 255, 0.18);
}

.main-header__nav-link--friends {
  max-width: none;
  text-align: left;
  white-space: nowrap;
}

.main-header__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.main-header__nav-link::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -10px;
  height: 2px;
  background: var(--bb-red);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.22s ease;
}

.main-header__nav-link:hover, .main-header__nav-link:focus-visible {
  color: #fff;
}

.main-header__nav-link:hover::after, .main-header__nav-link:focus-visible::after {
  transform: scaleX(1);
}

.mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 200;
}

.mobile-panel[hidden] {
  display: none;
}

.mobile-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
}

.mobile-panel__sheet {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(430px, 92vw);
  padding: 16px 20px 28px;
  background: linear-gradient(180deg, #050505 0%, #0d0d0d 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: auto;
  box-shadow: 30px 0 60px rgba(0, 0, 0, 0.36);
}

.mobile-panel__close {
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  font-size: 28px;
}

.mobile-panel__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: rgba(255, 255, 255, 0.62);
}

.mobile-panel__menu {
  display: grid;
  gap: 12px;
  margin-top: 6px;
}

.mobile-panel__menu:first-of-type {
  margin-top: -2px;
}

.mobile-panel__link {
  justify-content: space-between;
  min-height: 72px;
  padding: 0 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
  color: #fff;
  font-family: var(--font-body);
  font-size: clamp(19px, 2.2vw, 24px);
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.05;
  text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
}

.mobile-panel__link .button-label {
  flex: 1 1 auto;
  text-align: left;
}

.site-footer {
  padding: 48px 0 36px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: #000000;
  color: #ffffff;
}

.site-footer__inner {
  display: grid;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}

.footer-links-group__title, .site-footer__copyright {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.68);
}

.site-footer__sections {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr) minmax(0, 0.88fr);
  align-items: start;
  column-gap: clamp(18px, 2vw, 28px);
  row-gap: 20px;
  width: 100%;
  max-width: 860px;
}

.footer-links-group {
  display: grid;
  gap: 10px;
}

.footer-links-group__toggle {
  display: grid;
  justify-items: start;
  gap: 12px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.footer-links-group__panel[hidden] {
  display: none !important;
}

.footer-links-group__chevron {
  display: none;
}

.footer-links-group__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
}

.footer-links-group__list a {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
}

.footer-links-group__list a:hover, .footer-links-group__list a:focus-visible {
  color: #ff4a4a;
}

.site-footer__copyright {
  color: rgba(255, 255, 255, 0.82);
}

.site-footer__meta {
  order: 3;
  display: grid;
  gap: 8px;
  justify-items: start;
  width: 100%;
  max-width: 860px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02) );
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.22);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, color 0.22s ease, background-color 0.22s ease;
}

.social-link:hover, .social-link:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.3);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03) );
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.32);
}

.social-link svg {
  width: 24px;
  height: 24px;
}

.social-link-instagram {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.24);
  background: linear-gradient( 45deg, #feda75 0%, #fa7e1e 22%, #d62976 50%, #962fbf 74%, #4f5bd5 100% );
}

.social-link-instagram:hover, .social-link-instagram:focus-visible {
  border-color: rgba(255, 255, 255, 0.38);
  background: linear-gradient( 45deg, #fee084 0%, #ff8b2f 22%, #e53486 50%, #a43be0 74%, #6270f0 100% );
}

@media (max-width: 680px) {
  .social-link-instagram {
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
  }

}

@media (max-width: 1100px) {
  .mobile-panel__sheet {
    padding: 14px 18px 24px;
    gap: 8px;
  }

  .mobile-panel__menu {
    gap: 10px;
  }

  .mobile-panel__eyebrow {
    letter-spacing: 0.18em;
  }

  .main-header__menu-toggle {
    display: inline-flex;
  }

  .main-header__inner {
    min-height: 84px;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 10px;
  }

  .main-header__nav {
    display: none;
  }

  .site-shell {
    --main-header-shell-height: 84px;
  }

}

@media (max-width: 900px) {
  :root {
    --hvh-title-card-gap: clamp(16px, 4vw, 22px);
  }

  .main-header__inner {
    min-height: 72px;
    gap: 14px;
    padding-bottom: 8px;
  }

  .main-header__brand-home {
    width: 50px;
    min-height: 42px;
    padding: 0 10px;
  }

  .main-header__brand-home-icon {
    width: 20px;
    height: 20px;
  }

  .site-shell {
    --main-header-shell-height: 72px;
  }

}

.main-header__nav-link.is-current, .mobile-panel__link.is-current {
  color: #fff;
}

.main-header__nav-link.is-current::after {
  transform: scaleX(1);
}

@media (max-width: 1100px) {
  .site-footer {
    padding: 22px 0 24px;
  }

  .site-footer__inner {
    gap: 10px;
  }

  .site-footer__sections {
    grid-template-columns: 1fr;
    gap: 4px;
    max-width: none;
  }

  .footer-links-group {
    gap: 0;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .footer-links-group__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 40px;
  }

  .footer-links-group__chevron {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-top: -2px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    color: rgba(255, 255, 255, 0.72);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }

  .footer-links-group.is-open .footer-links-group__chevron {
    transform: rotate(-135deg);
  }

  .footer-links-group__panel {
    padding-top: 0;
  }

  .footer-links-group.is-open .footer-links-group__panel {
    padding-top: 8px;
  }

  .footer-links-group__list {
    gap: 7px;
  }

  .footer-links-group__list a {
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .social-link {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }

  .social-link svg {
    width: 20px;
    height: 20px;
  }

  .site-footer__meta {
    gap: 4px;
    max-width: none;
    padding-top: 10px;
  }

  .site-footer__copyright {
    font-size: 11px;
    line-height: 1.5;
  }

}

.social-link-tiktok {
  position: relative;
}

.social-link-tiktok::before {
  content: "";
  position: absolute;
  inset: 11px;
  border-radius: 999px;
  background: #000;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 16px rgba(0, 0, 0, 0.24);
}

.social-link-tiktok svg {
  position: relative;
  z-index: 1;
}

body:not(.home) .content-shell {
  padding-top: calc(var(--main-header-shell-height) + 16px);
}

@media (min-width: 681px) {
  body:not(.home) .main-header {
    pointer-events: auto;
  }

  body:not(.home) .main-header__bar, body:not(.home) .main-header--compact .main-header__bar {
    width: 100%;
    margin: 0;
    border-radius: 0;
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  body:not(.home) .main-header--hidden .main-header__bar {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
  }

  body:not(.home) .content-shell {
    padding-top: calc(var(--main-header-shell-height) + 24px);
  }

}

@media (min-width: 681px) and (max-width: 1100px) {
  body:not(.home) .content-shell {
    padding-top: calc(var(--main-header-shell-height) + 12px);
  }

}

.mobile-panel__header {
  display: grid;
  gap: 16px;
  padding: 6px 54px 8px 0;
}

.mobile-panel__brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: #fff;
}

.mobile-panel__brand-logo-wrap {
  width: 84px;
  flex: 0 0 84px;
}

.mobile-panel__brand-logo {
  display: block;
  width: 100%;
  height: auto;
}

.mobile-panel__brand-wordmark {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.82rem + 0.9vw, 1.2rem);
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.mobile-panel__link::after {
  content: "›";
  flex: 0 0 auto;
  font-size: 24px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.72);
}

.mobile-panel__link.main-header__nav-link--friends {
  max-width: none;
  white-space: normal;
}

.mobile-panel__link:hover, .mobile-panel__link:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.26);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.26);
}

.mobile-panel__social-block {
  margin-top: auto;
  display: grid;
  gap: 14px;
  padding-top: 18px;
}

.mobile-panel__socials {
  display: flex;
}

.social-icons--mobile-panel {
  gap: 12px;
}

.social-icons--mobile-panel .social-link {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border-color: rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
}

.social-icons--mobile-panel .social-link:hover, .social-icons--mobile-panel .social-link:focus-visible {
  border-color: rgba(255, 255, 255, 0.3);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
}

@media (max-width: 1100px) {
  .main-header__menu-toggle {
    gap: 10px;
    min-height: 48px;
    padding: 0 16px 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.78), rgba(10, 10, 10, 0.48));
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
  }

  .main-header__menu-icon {
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
  }

}

@media (min-width: 681px) and (max-width: 1100px) {
  .mobile-panel__brand-wordmark {
    display: none;
  }

}

@media (max-width: 680px) {
  .mobile-panel__sheet {
    width: min(100vw - 16px, 430px);
    padding: 14px 14px 20px;
    border-radius: 0 28px 28px 0;
  }

  .mobile-panel__header {
    gap: 14px;
    padding-right: 50px;
  }

  .mobile-panel__brand-logo-wrap {
    width: 72px;
    flex-basis: 72px;
  }

  .mobile-panel__brand-wordmark {
    font-size: 0.92rem;
    letter-spacing: 0.16em;
  }

  .mobile-panel__link {
    min-height: 64px;
    padding-inline: 18px;
    border-radius: 21px;
    font-size: clamp(17px, 5vw, 20px);
  }

  .social-icons--mobile-panel .social-link {
    width: 52px;
    height: 52px;
    border-radius: 15px;
  }

}

.content-shell {
  display: block;
  padding-top: 24px;
  padding-bottom: 56px;
}

.content-column {
  min-width: 0;
  max-width: 100%;
}

.content-column > .page-card, .content-column > .agenda-page {
  max-width: 100%;
}

.card-shell, .homepage-card, .page-card {
  border: 1px solid rgba(8, 8, 8, 0.12);
  border-radius: var(--bb-card-radius);
  box-shadow: var(--bb-shadow-card);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 245, 238, 0.96) 100% );
}

.homepage-card, .page-card {
  display: block;
  overflow: hidden;
}

.media-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  background: var(--surface-soft);
  overflow: hidden;
}

.media-frame__bg {
  display: none;
}

.media-frame__img, .hvh-modal__image-link, .hvh-modal__image {
  width: 100%;
  height: 100%;
}

.media-frame__img {
  position: relative;
  z-index: 1;
}

.media-frame--contain .media-frame__img {
  object-fit: contain;
  object-position: center center;
}

.media-frame--cover .media-frame__img {
  object-fit: cover;
  object-position: center center;
}

.newsletter-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
  flex-wrap: wrap;
}

.newsletter-form__field-wrap {
  flex: 1;
  border: var(--border-strong);
  border-radius: var(--control-radius-md);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 246, 239, 0.96) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  padding: 0 18px;
}

.newsletter-form__field {
  width: 100%;
  min-height: 54px;
  border: 0;
  background: transparent;
  color: var(--black);
}

.newsletter-form__field::placeholder {
  color: var(--ink-faint);
}

.newsletter-form__field-wrap:focus-within {
  box-shadow: 0 0 0 4px var(--focus-ring-soft);
}

.newsletter-form__honeypot {
  position: absolute;
  left: -5000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.hvh-modal {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: grid;
  place-items: center;
  padding: 36px 18px;
  pointer-events: none;
}

.hvh-modal[hidden] {
  display: none;
}

.hvh-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--modal-backdrop);
  pointer-events: auto;
}

.hvh-modal__dialog {
  position: relative;
  pointer-events: auto;
  width: min(var(--modal-dialog-width, 1120px), calc(100vw - 36px));
  height: min(var(--modal-dialog-height, 720px), calc(100dvh - 72px));
  max-width: calc(100vw - 36px);
  max-height: calc(100dvh - 72px);
  margin: 0;
  padding: 12px;
  border: var(--border-strong);
  border-radius: 28px;
  background: var(--white);
  box-shadow: var(--modal-dialog-shadow);
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.hvh-modal[data-popup-type="hero"] {
  --modal-hero-width: min( var(--modal-hero-dialog-width, 1120px), calc(100vw - 64px) );
  --modal-hero-max-width: calc(100vw - 64px);
  --modal-hero-max-height: calc(100dvh - 72px);
  --modal-hero-padding: 10px;
  --modal-hero-padding-top: var(--modal-hero-padding);
  --modal-hero-padding-inline: var(--modal-hero-padding);
  --modal-hero-padding-bottom: var(--modal-hero-padding);
  --modal-hero-radius: 24px;
  --modal-hero-image-max-height: calc(100dvh - 116px);
}

.hvh-modal[data-popup-type="hero"] .hvh-modal__dialog {
  width: var(--modal-hero-width);
  height: auto;
  max-width: var(--modal-hero-max-width);
  max-height: var(--modal-hero-max-height);
  padding: var(--modal-hero-padding-top) var(--modal-hero-padding-inline) var(--modal-hero-padding-bottom);
  border-radius: var(--modal-hero-radius);
}

.mobile-panel__close, .hvh-modal__close {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: var(--radius-pill);
  background: var(--white);
  border: var(--close-control-border);
  color: var(--black);
  line-height: 1;
  box-shadow: var(--button-shadow);
  cursor: pointer;
}

.hvh-modal__close {
  top: 18px;
  right: 20px;
  z-index: 3;
  width: var(--modal-close-size);
  height: var(--modal-close-size);
  font-size: var(--modal-close-font-size);
}

.hvh-modal__image-link, .hvh-modal__image {
  display: block;
}

.hvh-modal__image-link {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--surface-radius-lg);
  background: var(--surface-soft);
}

.hvh-modal__image {
  object-fit: contain;
  background: var(--surface-soft);
}

.hvh-modal[data-popup-type="hero"] .hvh-modal__image-link {
  height: auto;
  aspect-ratio: 2048 / 1365;
  max-height: var(--modal-hero-image-max-height);
  border-radius: var(--surface-radius-md);
  background: var(--media-stage-bg);
}

.hvh-modal[data-popup-type="hero"] .hvh-modal__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--media-stage-bg);
}

@media (max-width: 1024px) {
  .hvh-modal[data-popup-type="hero"] {
    --modal-hero-width: min(100vw - 28px, 820px);
    --modal-hero-max-width: calc(100vw - 28px);
    --modal-hero-max-height: calc(100dvh - 44px);
    --modal-hero-image-max-height: calc(100dvh - 88px);
  }

  .content-shell {
    padding-top: 12px;
  }

}

@media (max-width: 768px) {
  :root {
    --page-card-title-size: 30px;
  }

  .hvh-modal {
    padding: 18px 12px;
  }

  .hvh-modal__dialog {
    width: min(100vw - 20px, 1000px);
    height: min(100dvh - 32px, 78vh);
    padding: 10px;
    border-radius: 24px;
  }

  .hvh-modal[data-popup-type="hero"] {
    --modal-hero-width: min(100vw - 20px, 1000px);
    --modal-hero-max-width: min(100vw - 20px, 1000px);
    --modal-hero-max-height: calc(100dvh - 32px);
    --modal-hero-padding: 10px;
    --modal-hero-padding-top: 10px;
    --modal-hero-padding-inline: 10px;
    --modal-hero-padding-bottom: 10px;
    --modal-hero-radius: 24px;
    --modal-hero-image-max-height: calc(100dvh - 78px);
  }

  .hvh-modal[data-popup-type="hero"] .hvh-modal__close {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    font-size: 28px;
  }

}

@media (max-width: 700px) {
  :root {
    --modal-dialog-width: min(82vw, 520px);
    --modal-dialog-height: min(72vh, 620px);
  }

}

@media (max-width: 580px) {
  .newsletter-form {
    flex-direction: column;
  }

  .newsletter-form__field-wrap {
    min-width: 0;
  }

}

.page-card {
  position: relative;
  min-width: 0;
  max-width: 100%;
  padding: clamp(28px, 3vw, 40px);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.99) 0%, rgba(250, 245, 238, 0.97) 100% );
}

.page-card__title {
  margin: 0 0 28px;
  padding-bottom: 18px;
  border-bottom: var(--border-soft);
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--page-card-title-size);
  line-height: 0.96;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

.page-card__content {
  min-width: 0;
  max-width: 100%;
  line-height: 1.74;
  color: rgba(18, 18, 18, 0.84);
  overflow-wrap: anywhere;
}

.page-card__content > :first-child {
  margin-top: 0;
}

.page-card__content > :last-child {
  margin-bottom: 0;
}

.page-card__content > * {
  max-width: 72ch;
}

.page-card__content > h2, .page-card__content > h3, .page-card__content > h4, .page-card__content > ul, .page-card__content > ol, .page-card__content > blockquote, .page-card__content > figure, .page-card__content > .wp-block-image, .page-card__content > .wp-block-embed, .page-card__content > .wp-block-gallery {
  max-width: none;
}

.page-card__content h2, .page-card__content h3 {
  margin-top: 1.4em;
  margin-bottom: 0.5em;
  line-height: 1.1;
  color: var(--black);
  font-family: var(--font-display);
  text-transform: uppercase;
}

.page-card__content h2 {
  font-size: clamp(24px, 2vw, 34px);
}

.page-card__content h3 {
  font-size: clamp(20px, 1.5vw, 28px);
}

.page-card__content p, .page-card__content ul, .page-card__content ol {
  font-size: clamp(16px, 1.08vw, 18px);
}

.page-card__content ul, .page-card__content ol {
  padding-left: 1.25em;
}

.page-card__content iframe, .page-card__content table {
  max-width: 100%;
}

.page-card__content table {
  display: block;
  overflow-x: auto;
}

.bb-home {
  --bb-home-max: 1320px;
  background: linear-gradient(180deg, #fff 0%, #fff 52%, #f8f1e7 100%);
}

.bb-home .site-width {
  width: min(calc(100% - var(--frame-gutter) * 2), var(--bb-home-max));
}

.bb-landing-hero {
  --bb-landing-hero-image-y: 92px;
  position: relative;
  min-height: 100svh;
  background: #000;
  color: #fff;
  overflow: clip;
}

.bb-landing-hero__media, .bb-landing-hero__shade, .bb-landing-hero__grain {
  position: absolute;
  inset: 0;
}

.bb-landing-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center var(--bb-landing-hero-image-y);
}

.bb-landing-hero__shade {
  background: radial-gradient( circle at 27% 68%, rgba(173, 22, 22, 0.22) 0%, rgba(173, 22, 22, 0) 24% ), linear-gradient( 90deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.12) 40%, rgba(0, 0, 0, 0.36) 58%, rgba(0, 0, 0, 0.82) 76%, rgba(0, 0, 0, 0.98) 100% );
}

.bb-landing-hero__grain {
  opacity: 0.12;
  mix-blend-mode: screen;
  background-image: radial-gradient( circle at 20% 20%, rgba(255, 255, 255, 0.22) 0 1px, transparent 1px ), radial-gradient( circle at 80% 40%, rgba(255, 255, 255, 0.16) 0 1px, transparent 1px ), radial-gradient( circle at 35% 70%, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px );
  background-size: 28px 28px, 34px 34px, 38px 38px;
  pointer-events: none;
}

.bb-landing-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  padding: clamp(28px, 5vw, 56px) clamp(28px, 5vw, 96px);
}

.bb-landing-hero__brand, .bb-landing-hero__nav {
  opacity: 0;
  animation: bbLandingOpacityIn 1s ease-in-out 0.5s forwards;
}

.bb-landing-hero__brand {
  position: absolute;
  top: clamp(18px, 2vw, 30px);
  left: clamp(18px, 2vw, 30px);
  display: inline-flex;
  align-items: center;
  gap: 18px;
  filter: drop-shadow(0 16px 30px rgba(0, 0, 0, 0.45));
}

.bb-landing-hero__brand-image {
  width: clamp(116px, 14.4vw, 204px);
  height: auto;
  flex: 0 0 auto;
}

.bb-landing-hero__brand-wordmark {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: clamp(1.35rem, 1rem + 1.35vw, 2.25rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.02;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  transform: translateY(2px);
}

.bb-landing-hero__nav {
  position: absolute;
  top: 50%;
  right: clamp(36px, 5vw, 96px);
  transform: translateY(-50%);
  width: min(32vw, 430px);
  display: grid;
  justify-content: flex-end;
  gap: 22px;
}

.bb-landing-hero__menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: clamp(14px, 2.2vh, 24px);
  width: 100%;
}

.bb-landing-hero__menu-item {
  display: flex;
  justify-content: flex-start;
}

.bb-landing-hero__menu-link {
  display: inline-flex;
  align-items: center;
  width: 100%;
  font-family: var(--font-body);
  font-size: clamp(1.35rem, 1rem + 1.35vw, 2.25rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 6px 26px rgba(0, 0, 0, 0.48);
  transition: color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

.bb-landing-hero__menu-link:hover, .bb-landing-hero__menu-link:focus-visible {
  color: #ff0000;
  transform: translateX(8px);
}

.bb-landing-hero__secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}

.bb-landing-hero__secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  transition: border-color 0.24s ease, color 0.24s ease, background-color 0.24s ease, transform 0.24s ease;
}

.bb-landing-hero__secondary-link:hover, .bb-landing-hero__secondary-link:focus-visible {
  color: #fff;
  background: rgba(255, 0, 0, 0.16);
  border-color: rgba(255, 0, 0, 0.58);
  transform: translateX(6px);
}

@keyframes bbLandingOpacityIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }

}

@media (max-width: 1280px) {
  .bb-landing-hero__brand-wordmark {
    font-size: clamp(1.22rem, 0.96rem + 1.05vw, 1.9rem);
  }

  .bb-landing-hero__nav {
    right: clamp(28px, 4vw, 60px);
    width: min(36vw, 420px);
    gap: 18px;
  }

  .bb-landing-hero__menu-link {
    font-size: clamp(1.22rem, 0.96rem + 1.05vw, 1.9rem);
  }

}

@media (max-width: 1100px) {
  .bb-landing-hero {
    min-height: min(100svh, 860px);
  }

  .bb-landing-hero__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.34) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.4) 100%);
  }

  .bb-landing-hero__brand, .bb-landing-hero__nav {
    display: none;
  }

}

.bb-section__eyebrow {
  margin-bottom: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(8, 8, 8, 0.58);
}

.bb-section__title {
  max-width: 12ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(32px, 3.3vw, 54px);
  line-height: 0.93;
  letter-spacing: -0.045em;
  color: var(--bb-black);
  text-wrap: balance;
}

.bb-section__text {
  max-width: 58ch;
  margin: 14px 0 0;
  font-size: clamp(15px, 1.02vw, 17px);
  line-height: 1.72;
  color: var(--bb-muted);
}

.bb-home .bb-pill-button {
  margin-top: 18px;
}

.bb-pill-button--ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.54);
  backdrop-filter: blur(10px);
}

.bb-pill-button--ghost:hover, .bb-pill-button--ghost:focus-visible {
  background: #fff;
  color: #000;
  border-color: #fff;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18);
}

.bb-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.bb-button-row--compact {
  margin-top: 24px;
}

.bb-section {
  position: relative;
  padding: clamp(78px, 7vw, 116px) 0;
}

.bb-section + .bb-section {
  border-top: 1px solid var(--bb-line);
}

.bb-section--dates, .bb-section--contact {
  background: linear-gradient(180deg, #fff 0%, #fbf7f0 100%);
}

.bb-section--moments {
  background: radial-gradient( circle at 18% 20%, rgba(184, 38, 35, 0.14) 0%, rgba(184, 38, 35, 0) 28% ), radial-gradient( circle at 82% 24%, rgba(44, 95, 159, 0.14) 0%, rgba(44, 95, 159, 0) 30% ), linear-gradient(180deg, #0b0b0b 0%, #171717 100%);
  color: #fff;
}

.bb-section--moments .bb-section__title, .bb-section--moments .bb-section__text, .bb-section--moments .bb-section__eyebrow {
  color: #fff;
}

.bb-section--moments .bb-section__text {
  color: rgba(255, 255, 255, 0.72);
}

.bb-section--special {
  background: radial-gradient( circle at 16% 20%, rgba(209, 19, 22, 0.08) 0%, rgba(209, 19, 22, 0) 26% ), linear-gradient(180deg, #fbf4ea 0%, #fff 100%);
}

.bb-section--bookings {
  background: linear-gradient(180deg, #0b0b0b 0%, #171717 100%);
  color: #fff;
}

.bb-section--bookings .bb-section__title, .bb-section--bookings .bb-section__eyebrow, .bb-section--bookings .bb-section__text, .bb-section--special .bb-section__title, .bb-section--special .bb-section__eyebrow, .bb-section--special .bb-section__text {
  color: #fff;
}

.bb-section--bookings .bb-section__text, .bb-section--special .bb-section__text {
  color: rgba(255, 255, 255, 0.76);
}

.bb-section--bookings .bb-pill-button, .bb-section--special .bb-pill-button {
  background: linear-gradient(180deg, #fff 0%, #f4ece2 100%);
  color: #000;
  border-color: #fff;
}

.bb-section--bookings .bb-pill-button--ghost, .bb-section--special .bb-pill-button--ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.34);
}

.bb-section--comedians {
  background: linear-gradient(180deg, #fff 0%, #f8f2ea 100%);
}

.bb-section__inner {
  display: grid;
  gap: var(--hvh-title-card-gap);
}

.bb-split {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  align-items: center;
  gap: clamp(40px, 5vw, 78px);
}

.bb-split--reverse {
  grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
}

.bb-section__heading-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
}

.bb-section__heading-row--stacked {
  align-items: flex-end;
}

.bb-section__heading-row--stacked > div:first-child {
  max-width: 780px;
}

.bb-media-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease, filter 0.28s ease;
  display: block;
}

.bb-section__media, .bb-contact-card {
  position: relative;
}

.bb-section__media {
  min-height: 390px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--bb-shadow-strong);
  background: linear-gradient( 180deg, var(--bb-panel-soft) 0%, var(--bb-panel) 100% );
}

.bb-section__media:hover .bb-media-image, .bb-contact-card__visual:hover .bb-media-image, .bb-comedian-card:hover .bb-comedian-card__image, .bb-community-card:hover .bb-community-card__image {
  transform: scale(1.03);
}

.bb-section__media::after, .bb-date-card::after, .bb-contact-card::after {
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient( circle, rgba(209, 19, 22, 0.1) 0%, rgba(209, 19, 22, 0) 72% );
  pointer-events: none;
}

.bb-home-agenda-flow {
  display: grid;
  gap: 18px;
  margin-top: 2px;
}

.bb-home-agenda-batch {
  display: none;
}

.bb-home-agenda-batch.is-visible {
  display: grid;
}

.bb-home-agenda-more {
  display: none;
  justify-content: center;
}

.bb-home-agenda-more.is-visible {
  display: flex;
}

.bb-home-agenda-more__button {
  min-width: 188px;
}

.bb-dates-grid, .bb-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bb-date-card {
  position: relative;
  display: grid;
  grid-template-columns: 122px minmax(0, 1fr) minmax(132px, auto);
  align-items: center;
  gap: 14px;
  height: 100%;
  min-height: 244px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 32px;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 244, 236, 0.96) 100% );
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.bb-date-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  border-radius: 28px 28px 0 0;
  background: linear-gradient( 90deg, var(--bb-red) 0%, rgba(209, 19, 22, 0) 100% );
}

.bb-date-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 58px rgba(0, 0, 0, 0.12);
  border-color: rgba(0, 0, 0, 0.18);
}

.bb-date-card__date {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8efe4 100%);
}

.bb-date-card__weekday, .bb-date-card__time, .bb-empty-state {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bb-muted);
}

.bb-date-card__daymonth {
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: var(--bb-black);
}

.bb-date-card__meta h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 0.94;
  text-wrap: balance;
}


.bb-date-card__time {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  width: fit-content;
  margin-top: 14px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(8, 8, 8, 0.05);
}

.bb-date-card__button {
  min-width: 144px;
  min-height: 50px;
  white-space: nowrap;
  border-radius: 999px;
}

.bb-date-card__button, .bb-date-card__button:hover, .bb-date-card__button:focus-visible {
  border-color: #d10f12;
  background: linear-gradient(180deg, #111111 0%, #111111 46%, #2a0b0b 100%);
  box-shadow: 0 0 0 1px rgba(209, 15, 18, 0.22), 0 0 18px rgba(209, 15, 18, 0.24);
  color: #fff;
}

.bb-date-card__button span {
  color: #fff;
  font-weight: 950;
}

.bb-media-hub {
  align-items: stretch;
}

.bb-media-hub__content {
  max-width: 620px;
}

.bb-media-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.bb-media-choice {
  position: relative;
  display: grid;
  gap: 10px;
  min-height: 192px;
  padding: 22px 22px 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 26px;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 100% );
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  color: #fff;
  transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease, background 0.24s ease;
}

.bb-media-choice::after {
  content: "↗";
  position: absolute;
  right: 18px;
  bottom: 16px;
  font-size: 18px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.72);
  transition: transform 0.24s ease, color 0.24s ease;
}

.bb-media-choice:hover, .bb-media-choice:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(209, 19, 22, 0.55);
  background: linear-gradient( 180deg, rgba(209, 19, 22, 0.14) 0%, rgba(255, 255, 255, 0.05) 100% );
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
  color: #fff;
}

.bb-media-choice:hover::after, .bb-media-choice:focus-visible::after {
  color: #fff;
  transform: translate(2px, -2px);
}

.bb-media-choice__kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ffb0b0;
}

.bb-media-choice__title {
  max-width: 16ch;
  font-family: var(--font-display);
  font-size: clamp(23px, 1.8vw, 31px);
  line-height: 0.96;
  letter-spacing: -0.03em;
}

.bb-media-choice__text {
  max-width: 28ch;
  font-size: 13px;
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.74);
}

.bb-bookings-title--mobile, .bb-bookings-more-button, .bb-bookings-copy--mobile, .bb-bookings-actions--mobile {
  display: none;
}

.bb-bookings-copy--desktop {
  display: block;
}

.bb-bookings-mobile-stack {
  display: none;
}

.bb-bookings-actions--mobile, .bb-bookings-copy--mobile {
  width: 100%;
}

.bb-bookings-more-button {
  --button-bg-rest: linear-gradient(180deg, #080808 0%, #141414 100%);
  --button-bg-hover: linear-gradient(180deg, #121212 0%, #1c1c1c 100%);
  --button-border-rest: rgba(255, 247, 236, 0.72);
  --button-border-hover: rgba(255, 247, 236, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 0 0 1px rgba(255, 247, 236, 0.14), 0 0 18px rgba(255, 247, 236, 0.08), var(--button-shadow);
  --button-shadow-hover: 0 0 0 1px rgba(255, 247, 236, 0.22), 0 0 20px rgba(255, 247, 236, 0.14), 0 18px 32px rgba(0, 0, 0, 0.18);
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.bb-bookings-more-button[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.44);
}

.bb-bookings-actions--mobile {
  margin-top: 18px;
}

.bb-section--bookings .bb-section__text--followup {
  margin-top: 12px;
}

.bb-section--bookings .bb-section__inner {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(28px, 3.4vw, 54px);
}

.bb-section--bookings .bb-section__content {
  max-width: 560px;
}

.bb-bookings-title--desktop, .bb-bookings-title--mobile {
  white-space: nowrap;
  letter-spacing: -0.04em;
}

.bb-bookings-title--desktop {
  font-size: clamp(28px, 2.25vw, 40px);
  line-height: 0.94;
}

.bb-section--bookings .bb-section__media {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.bb-section--bookings .bb-section__media::after {
  display: none;
}

.bb-bookings-gallery {
  position: relative;
  width: min(100%, 820px);
  margin-left: auto;
  padding-block: 6px;
  transform: translateZ(0);
}

.bb-bookings-gallery__viewport {
  position: relative;
  aspect-ratio: 1.2 / 1;
  perspective: 1600px;
  perspective-origin: center center;
  transform-style: preserve-3d;
  overflow: hidden;
  border-radius: 36px;
  background: #090909;
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.26);
}

.bb-bookings-gallery__viewport::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 5;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  background: linear-gradient( 135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 34%, rgba(255, 255, 255, 0.04) 100% );
}

.bb-bookings-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  z-index: 1;
  transform: translate3d(0, 0, -24px) scale(1.018);
  transform-origin: center center;
  transition: transform 1.35s cubic-bezier(0.22, 0.7, 0.18, 1), opacity 1.05s ease, filter 1.05s ease;
  will-change: transform, opacity, filter;
  pointer-events: none;
  overflow: hidden;
}

.bb-bookings-slide.is-active {
  z-index: 3;
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.bb-bookings-slide.is-leaving {
  z-index: 2;
  opacity: 0;
  transform: translate3d(0, 0, -32px) scale(1.045) rotateY(-1.4deg);
  filter: blur(1px) brightness(0.88);
}

.bb-bookings-slide__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 0;
  background: #0b0b0b;
  backface-visibility: hidden;
  filter: grayscale(100%) contrast(1.03) brightness(0.94);
  transform: scale(1.04);
  will-change: transform, filter;
}

.bb-bookings-slide.is-active .bb-bookings-slide__image {
  filter: grayscale(100%) contrast(1.04) brightness(0.97);
}

.bb-bookings-slide:nth-child(1).is-active .bb-bookings-slide__image {
  animation: bookings-drift-a 14s ease-in-out infinite alternate;
}

.bb-bookings-slide:nth-child(2).is-active .bb-bookings-slide__image {
  animation: bookings-drift-b 14s ease-in-out infinite alternate;
}

.bb-bookings-slide:nth-child(3).is-active .bb-bookings-slide__image {
  animation: bookings-drift-c 14s ease-in-out infinite alternate;
}

.bb-bookings-slide:nth-child(4).is-active .bb-bookings-slide__image {
  animation: bookings-drift-d 14s ease-in-out infinite alternate;
}

@keyframes bookings-drift-a {
  from {
    transform: scale(1.04) translate3d(-1.8%, 0.6%, 0);
  }

  to {
    transform: scale(1.1) translate3d(1.3%, -0.8%, 0);
  }

}

@keyframes bookings-drift-b {
  from {
    transform: scale(1.035) translate3d(1.2%, 0.9%, 0);
  }

  to {
    transform: scale(1.095) translate3d(-1.5%, -0.6%, 0);
  }

}

@keyframes bookings-drift-c {
  from {
    transform: scale(1.03) translate3d(-1.1%, -0.5%, 0);
  }

  to {
    transform: scale(1.09) translate3d(1.5%, 0.9%, 0);
  }

}

@keyframes bookings-drift-d {
  from {
    transform: scale(1.045) translate3d(0.8%, -0.7%, 0);
  }

  to {
    transform: scale(1.1) translate3d(-1.4%, 0.7%, 0);
  }

}

.bb-bookings-gallery.is-reduced-motion .bb-bookings-slide, .bb-bookings-gallery.is-reduced-motion .bb-bookings-slide__image {
  transition: none;
  animation: none !important;
}

.bb-special-spotlight {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  border-radius: 30px;
  background: #050505;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.18);
}

.bb-special-spotlight__content {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  width: min(430px, calc(100% - 42px));
  min-height: 480px;
  gap: 16px;
  padding: 38px 0 38px 38px;
  color: #fff;
}

.bb-special-billing {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  padding: 20px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bb-special-billing__headliner {
  font-family: var(--font-display);
  font-size: clamp(28px, 2.7vw, 38px);
  line-height: 0.94;
  letter-spacing: -0.03em;
}

.bb-special-billing__support {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.8);
}

.bb-comedian-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.bb-comedian-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.99) 0%, rgba(249, 243, 235, 0.97) 100% );
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07);
}

.bb-comedian-card__media {
  aspect-ratio: 3 / 4;
  background: #0f0f0f;
  overflow: hidden;
}

.bb-comedian-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  transition: transform 0.7s ease;
}

.bb-comedian-card:nth-child(1) .bb-comedian-card__image {
  object-position: 52% 14%;
}

.bb-comedian-card:nth-child(2) .bb-comedian-card__image {
  object-position: 52% 26%;
}

.bb-comedian-card:nth-child(3) .bb-comedian-card__image {
  object-position: 52% 18%;
}

.bb-comedian-card:nth-child(4) .bb-comedian-card__image {
  object-position: 58% 18%;
}

.bb-comedian-card:nth-child(5) .bb-comedian-card__image {
  object-position: 70% 22%;
}

.bb-comedian-card__name {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(24px, 1.72vw, 32px);
  line-height: 0.96;
}

.bb-community-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.22);
  background: rgba(255, 255, 255, 0.08);
}

.bb-community-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  transition: transform 0.8s ease;
}

.bb-community-card.is-primary {
  grid-column: 1 / span 7;
  grid-row: 1 / span 4;
}

.bb-community-card.is-tall {
  grid-column: 8 / span 5;
  grid-row: 1 / span 4;
}

.bb-community-card.is-small:nth-of-type(3) {
  grid-column: 1 / span 4;
  grid-row: 5 / span 3;
}

.bb-community-card.is-small:nth-of-type(4) {
  grid-column: 5 / span 4;
  grid-row: 5 / span 3;
}

.bb-community-card.is-small:nth-of-type(5) {
  grid-column: 9 / span 4;
  grid-row: 5 / span 3;
}

.bb-community-card.is-wide {
  grid-column: 1 / span 12;
  grid-row: 8 / span 3;
}

.bb-contact-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.bb-contact-card--photo {
  padding: 0;
  background: linear-gradient(180deg, #0a0a0a 0%, #151515 100%);
  color: #fff;
}

.bb-contact-card--photo .bb-section__title, .bb-contact-card--photo .bb-section__text, .bb-contact-card--photo .bb-section__eyebrow {
  color: #fff;
}

.bb-contact-card__visual {
  min-height: 184px;
  max-height: 184px;
  overflow: hidden;
  background: #000;
}

.bb-contact-card__visual .bb-media-image, .bb-media-image--contact-finale {
  object-position: center 12%;
}

.bb-contact-card__body {
  padding: 22px;
}

.bb-contact-card--newsletter {
  padding: 22px;
  background: linear-gradient(180deg, #fff 0%, #fcf7ef 100%);
}

.bb-contact-card .newsletter-form {
  margin-top: 24px;
}

.bb-contact-card .newsletter-form__field-wrap {
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 246, 239, 0.96) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

.bb-contact-card .newsletter-form__field {
  min-height: 54px;
}

.bb-contact-card .newsletter-form .hvh-red-button {
  --button-bg-rest: linear-gradient(180deg, #080808 0%, #141414 100%);
  --button-bg-hover: linear-gradient(180deg, #121212 0%, #1c1c1c 100%);
  --button-border-rest: rgba(255, 247, 236, 0.72);
  --button-border-hover: rgba(255, 247, 236, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 0 0 1px rgba(255, 247, 236, 0.14), 0 0 18px rgba(255, 247, 236, 0.08);
  --button-shadow-hover: 0 0 0 1px rgba(255, 247, 236, 0.22), 0 0 20px rgba(255, 247, 236, 0.14), 0 18px 32px rgba(0, 0, 0, 0.18);
  border-radius: 999px;
}

.bb-contact-card .newsletter-form .hvh-red-button span {
  color: #fff;
}

.bb-section__intro-actions {
  margin-top: 10px;
  margin-bottom: 28px;
}

.bb-comedian-carousel {
  display: grid;
  gap: 20px;
}

.bb-comedian-carousel__controls {
  display: none;
}

.bb-comedian-carousel__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--bb-black);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.bb-comedian-carousel__button:hover, .bb-comedian-carousel__button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 0, 0, 0.28);
}

.bb-comedian-carousel__button:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}

.bb-comedian-carousel__button span {
  font-size: 20px;
  line-height: 1;
}

.bb-comedian-carousel__viewport {
  overflow: visible;
  padding-bottom: 0;
}

.bb-comedian-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.bb-comedian-grid--carousel {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.bb-comedian-grid--carousel .bb-comedian-card {
  scroll-snap-align: start;
}

html.has-homepage-soft-snap, html.has-homepage-soft-snap body.home {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scroll-padding-top: clamp(18px, 3vh, 34px);
}

.home .bb-comedian-grid--carousel {
  align-items: stretch;
}

.bb-section__content {
  max-width: 560px;
}

.bb-section__media, .bb-contact-card, .bb-special-spotlight, .bb-date-card, .bb-comedian-card, .bb-media-choice, .bb-community-card {
  box-shadow: 0 20px 54px rgba(17, 17, 17, 0.08);
}

.bb-section__media, .bb-contact-card, .bb-special-spotlight {
  border-radius: 34px;
}

.bb-date-card, .bb-comedian-card, .bb-media-choice {
  border-radius: 28px;
}

.bb-special-copy__title {
  font-size: clamp(42px, 5.4vw, 82px);
}

.bb-comedian-card__body {
  padding: 20px 18px 22px;
}

.bb-contact-card__body, .bb-contact-card--newsletter {
  padding: 30px;
}

.bb-media-hub__content--full, .home .bb-section--video .bb-section__content {
  max-width: none;
}

.bb-media-hub__intro {
  max-width: min(780px, 100%);
}

.bb-special-spotlight--featured {
  display: grid;
  gap: clamp(22px, 3vw, 36px);
  padding: clamp(22px, 3vw, 30px);
  background: radial-gradient( circle at 12% 20%, rgba(209, 19, 22, 0.2) 0%, rgba(209, 19, 22, 0) 26% ), radial-gradient( circle at 86% 78%, rgba(201, 153, 86, 0.16) 0%, rgba(201, 153, 86, 0) 28% ), linear-gradient(180deg, #080808 0%, #121212 54%, #1a1411 100%);
}

.bb-special-spotlight__content--feature {
  min-width: 0;
  padding: clamp(10px, 1vw, 12px);
}

.bb-special-spotlight__visual {
  margin: 0;
  min-width: 0;
  align-self: stretch;
}

.bb-special-spotlight__poster {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1452 / 2048;
  object-fit: cover;
  object-position: center top;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
}

.home .bb-comedian-card__media {
  aspect-ratio: 3 / 4;
}

.bb-section__heading-row--agenda {
  align-items: flex-end;
  gap: 20px;
}

.bb-section__heading-copy--agenda {
  display: grid;
  gap: 8px;
  max-width: none;
}

.bb-section__title--agenda {
  max-width: none;
  white-space: nowrap;
  text-wrap: normal;
  font-size: clamp(30px, 3.15vw, 52px);
  line-height: 0.94;
  letter-spacing: -0.048em;
}

.bb-pill-button--agenda-overview {
  margin-top: 0;
  margin-left: auto;
  align-self: flex-end;
  margin-bottom: 2px;
  border-color: #d10f12;
  box-shadow: 0 0 0 1px rgba(209, 15, 18, 0.22), 0 0 18px rgba(209, 15, 18, 0.24), var(--button-shadow);
  font-weight: 950;
}

.bb-pill-button--agenda-overview:hover, .bb-pill-button--agenda-overview:focus-visible {
  border-color: #d10f12;
  box-shadow: 0 0 0 1px rgba(209, 15, 18, 0.24), 0 0 20px rgba(209, 15, 18, 0.28), 0 18px 32px rgba(0, 0, 0, 0.18);
}

.home .bb-section--special .bb-pill-button--special-ticket, .home .bb-section--special .bb-pill-button--special-ticket:hover, .home .bb-section--special .bb-pill-button--special-ticket:focus-visible {
  border-color: #d10f12;
  box-shadow: 0 0 0 1px rgba(209, 15, 18, 0.22), 0 0 18px rgba(209, 15, 18, 0.24);
  font-weight: 950;
}

.bb-date-card.is-sold_out .bb-date-card__button, .bb-date-card.is-sold_out .bb-date-card__button:hover, .bb-date-card.is-sold_out .bb-date-card__button:focus-visible {
  background: linear-gradient(180deg, #313131 0%, #151515 100%);
  border-color: rgba(8, 8, 8, 0.92);
}

.home .bb-home video {
  max-width: 100%;
}

.home .bb-section--video .bb-media-hub__content--full, .home .bb-section--video .bb-section__content {
  display: block;
  max-width: none;
}

.home .bb-section--video .bb-media-hub__intro {
  max-width: none;
  margin-bottom: 24px;
}

.home .bb-section--video .bb-section__title {
  max-width: none;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.home .bb-section--video .bb-section__text {
  max-width: 68ch;
  margin-top: 16px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6;
}

.home .bb-section--video .bb-media-choice-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}

.home .bb-section--video .bb-media-choice {
  position: relative;
  overflow: hidden;
  min-height: 238px;
  padding: 26px 22px 24px;
  align-content: start;
  gap: 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 28px;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 241, 232, 0.98) 100% );
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
  color: var(--bb-black);
}

.home .bb-section--video .bb-media-choice__title {
  max-width: none;
  font-size: clamp(20px, 1.45vw, 24px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #101010;
}

.home .bb-section--video .bb-media-choice__text {
  max-width: none;
  font-size: 14px;
  line-height: 1.62;
  color: rgba(0, 0, 0, 0.72);
}

@media (min-width: 901px) {
  .home .bb-section--video .bb-section__title {
    white-space: nowrap;
  }

}

@media (max-width: 1180px) {
  .home .bb-section--video .bb-media-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 680px) {
  .home .bb-section--video .bb-section__title {
    white-space: normal;
  }

  .home .bb-section--video .bb-media-choice-grid {
    grid-template-columns: 1fr;
  }

  .home .bb-section--video .bb-media-choice {
    min-height: 0;
    padding: 22px 18px 20px;
  }

}

.home .bb-section--video .bb-community-gallery__intro {
  max-width: min(980px, 100%);
  margin-bottom: 28px;
}

.home .bb-section--video .bb-community-gallery__title {
  max-width: none;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 0.96;
  letter-spacing: -0.045em;
  margin: 0;
}

.home .bb-section--video .bb-community-gallery__text {
  max-width: 64ch;
  margin-top: 16px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.6;
}

.home .bb-section--video .bb-community-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 18px);
  align-items: start;
}

.home .bb-section--video .bb-community-card {
  margin: 0;
}

.home .bb-section--video .bb-community-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 24px;
  background: #0f0f0f;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
}

.home .bb-section--video .bb-community-card__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.home .bb-section--video .bb-community-card:hover .bb-community-card__image, .home .bb-section--video .bb-community-card:focus-within .bb-community-card__image {
  transform: scale(1.03);
}

.home .bb-section--video .bb-community-card:nth-child(1) .bb-community-card__image {
  object-position: 52% 34%;
}

.home .bb-section--video .bb-community-card:nth-child(2) .bb-community-card__image {
  object-position: 50% 46%;
}

.home .bb-section--video .bb-community-card:nth-child(3) .bb-community-card__image {
  object-position: 56% 40%;
}

.home .bb-section--video .bb-community-card:nth-child(4) .bb-community-card__image {
  object-position: 54% 38%;
}

.home .bb-section--video .bb-community-card__title {
  margin-top: 12px;
  font-family: var(--font-display);
  font-size: clamp(19px, 1.42vw, 24px);
  line-height: 1.04;
  letter-spacing: -0.028em;
  color: var(--bb-ink);
}

@media (min-width: 901px) {
  .home .bb-section--video .bb-community-gallery__title {
    white-space: nowrap;
  }

}

.home .bb-section__eyebrow {
  font-size: 12px;
}

.home .bb-section--comedians .bb-section__title {
  max-width: none;
}

.home .bb-comedian-card {
  display: grid;
  grid-template-rows: auto auto;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.99) 0%, rgba(249, 243, 235, 0.97) 100% );
}

.home .bb-comedian-card__name {
  margin: 0;
  font-size: clamp(20px, 1.5vw, 26px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--bb-black);
}

.home .bb-home-agenda-batch .bb-date-card__meta {
  padding-top: 0;
}

.home .bb-special-event-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 52px;
  margin-top: 0;
  margin-bottom: 12px;
  padding: 0 22px;
  border: 1px solid #b10008;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff3232 0%, #d30f15 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: 0 20px 36px rgba(177, 0, 8, 0.24);
}

.home .bb-special-billing {
  margin-top: 8px;
  padding-top: 12px;
}

.home .bb-section--moments .bb-media-hub__content--full, .home .bb-section--moments .bb-section__content {
  display: block;
  max-width: none;
}

.home .bb-section--moments .bb-community-gallery__intro {
  max-width: min(980px, 100%);
  margin-bottom: 28px;
}

.home .bb-section--moments .bb-community-gallery__title {
  max-width: none;
  margin: 0;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.home .bb-section--moments .bb-community-gallery__text {
  max-width: 64ch;
  margin-top: 16px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.6;
}

.home .bb-section--moments .bb-community-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 18px);
  align-items: start;
  width: 100%;
}

.home .bb-section--moments .bb-community-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(255, 247, 236, 0.46);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(255, 247, 236, 0.06) inset;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.home .bb-section--moments .bb-community-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  background: #0f0f0f;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
}

.home .bb-section--moments .bb-community-card__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.home .bb-section--moments .bb-community-card__title {
  width: 100%;
  margin-top: 14px;
  font-family: var(--font-display);
  font-size: clamp(19px, 1.42vw, 24px);
  line-height: 1.04;
  letter-spacing: -0.028em;
  text-align: center;
  color: #fff;
}

.bb-contact-card__social-text {
  margin: 22px 0 0;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: none;
  color: #111;
}

.bb-contact-card__socials {
  margin-top: 14px;
}

.social-icons--newsletter {
  gap: 14px;
}

.social-icons--newsletter .social-link {
  width: 64px;
  height: 64px;
  border-color: rgba(0, 0, 0, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 242, 234, 0.96));
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.08);
}

.social-icons--newsletter .social-link svg {
  width: 26px;
  height: 26px;
}

.social-icons--newsletter .social-link:hover, .social-icons--newsletter .social-link:focus-visible {
  border-color: rgba(0, 0, 0, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(244, 237, 228, 0.98));
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.12);
}

.social-icons--newsletter .social-link-instagram {
  color: #ffffff;
  border-color: rgba(0, 0, 0, 0.08);
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 6%, #fd5949 38%, #d6249f 65%, #285AEB 100%);
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.14);
}

.social-icons--newsletter .social-link-instagram:hover, .social-icons--newsletter .social-link-instagram:focus-visible {
  color: #ffffff;
  border-color: rgba(0, 0, 0, 0.12);
  background: radial-gradient(circle at 30% 107%, #fdf6a7 0%, #fdf6a7 6%, #ff6a58 38%, #e232ab 65%, #3a69ef 100%);
  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.16);
}

.social-icons--newsletter .social-link-tiktok::before {
  inset: 10px;
  border-radius: 12px;
}

@media (max-width: 1180px) {
  .bb-dates-grid, .bb-contact-grid, .bb-split, .bb-split--reverse, .bb-media-choice-grid {
    grid-template-columns: 1fr;
  }

  .bb-media-choice {
    min-height: 0;
  }

  .bb-special-spotlight {
    min-height: 520px;
  }

  .bb-special-spotlight__content {
    min-height: 520px;
    width: min(460px, calc(100% - 34px));
    padding-left: 32px;
  }

  .bb-comedian-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bb-community-card {
    grid-column: auto;
    grid-row: auto;
  }

}

@media (max-width: 900px) {
  .bb-section {
    padding: 70px 0;
  }

  .bb-section__title {
    font-size: clamp(30px, 9vw, 48px);
  }

  .bb-date-card {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 24px;
  }

  .bb-date-card__date {
    min-height: auto;
  }

  .bb-date-card__action, .bb-date-card__button {
    width: 100%;
  }

  .bb-special-spotlight {
    min-height: 600px;
  }

  .bb-special-spotlight__content {
    align-content: end;
    width: calc(100% - 32px);
    min-height: 600px;
    padding: 30px 0 30px 16px;
  }

  .bb-comedian-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 680px) {
  .bb-section__text {
    font-size: 16px;
    line-height: 1.68;
  }

  .bb-comedian-grid {
    grid-template-columns: 1fr;
  }

  .bb-pill-button {
    justify-content: center;
    width: 100%;
    min-width: 0;
  }

  .bb-section__heading-row {
    align-items: start;
    flex-direction: column;
  }

  .bb-section__media, .bb-contact-card, .bb-special-spotlight {
    border-radius: 24px;
  }

  .bb-date-card__daymonth {
    font-size: clamp(28px, 8vw, 36px);
  }

  .bb-section--special {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .bb-special-billing__headliner {
    font-size: clamp(28px, 8vw, 38px);
  }

  .bb-special-spotlight {
    min-height: 620px;
  }

  .bb-special-spotlight__content {
    width: calc(100% - 28px);
    min-height: 620px;
    padding: 30px 0 28px 14px;
  }

  .bb-comedian-card__media {
    aspect-ratio: 4 / 5;
  }

  .bb-community-card {
    min-height: 260px;
  }

  .bb-contact-card__visual {
    min-height: 280px;
  }

  .bb-contact-card__body {
    padding: 24px 22px 26px;
  }

  .bb-contact-card--newsletter {
    padding: 28px 22px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .bb-media-image, .bb-comedian-card__image, .bb-community-card__image {
    animation: none !important;
    transition: none !important;
  }

}

@media (max-width: 900px) {
  .home .bb-home-agenda-batch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .home .bb-home-agenda-batch .bb-date-card {
    gap: 10px;
    min-height: 0;
    padding: 14px;
    border-radius: 22px;
  }

  .home .bb-home-agenda-batch .bb-date-card__date {
    padding: 10px 11px;
    border-radius: 18px;
  }

  .home .bb-home-agenda-batch .bb-date-card__meta h3 {
    font-size: clamp(18px, 4.4vw, 24px);
  }


  .home .bb-home-agenda-batch .bb-date-card__button, .bb-home-agenda-more__button {
    min-height: 42px;
    padding-inline: 14px;
    font-size: 10px;
    letter-spacing: 0.14em;
  }

  .bb-comedian-carousel {
    gap: 14px;
  }

  .bb-comedian-carousel__controls {
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }

  .bb-comedian-carousel__viewport {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding-bottom: 6px;
  }

  .bb-comedian-grid--carousel {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(100%, 100%);
    gap: 0;
  }

  .bb-comedian-grid--carousel .bb-comedian-card {
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

}

@media (max-width: 700px) {
  .home .bb-landing-hero__inner {
    padding: 0;
  }

  .home .bb-landing-hero__shade {
    background: linear-gradient( 180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.24) 100% );
  }

}

@media (max-width: 560px) {
  .home .bb-home-agenda-batch {
    gap: 10px;
  }

  .home .bb-home-agenda-batch .bb-date-card {
    padding: 12px;
    gap: 8px;
    border-radius: 20px;
  }

  .home .bb-home-agenda-batch .bb-date-card__weekday, .home .bb-home-agenda-batch .bb-date-card__time, .home .bb-home-agenda-batch .bb-empty-state {
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .home .bb-home-agenda-batch .bb-date-card__daymonth {
    font-size: clamp(21px, 6vw, 26px);
  }

  .home .bb-home-agenda-batch .bb-date-card__meta h3 {
    font-size: clamp(16px, 4.8vw, 21px);
  }


  .bb-comedian-carousel__button {
    width: 42px;
    height: 42px;
  }

}

@media (max-width: 420px) {
  .home .bb-landing-hero {
    min-height: min(52svh, 360px);
    max-height: 360px;
  }

  .home .bb-landing-hero__inner {
    min-height: min(52svh, 360px);
  }

  .home .bb-landing-hero__image {
    transform: scale(0.84);
  }

}

@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
  .home .bb-home [data-home-chapter] {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    scroll-margin-top: clamp(18px, 3vh, 34px);
  }

  .home .bb-home [data-home-chapter]:not(.bb-landing-hero) {
    display: flex;
    align-items: center;
    min-height: clamp(580px, 74svh, 820px);
    padding-block: clamp(72px, 9vh, 118px);
  }

  .home .bb-home [data-home-chapter] .bb-section__inner {
    width: 100%;
  }

  .home .bb-section__heading-row {
    gap: clamp(32px, 4vw, 64px);
  }

  .home .bb-section__heading-row--stacked {
    align-items: flex-start;
  }

  .home .bb-section__heading-row--stacked > div:first-child {
    max-width: 700px;
  }

  .home .bb-section__intro-actions {
    margin-top: -6px;
    margin-bottom: 8px;
  }

  .home .bb-section--dates .bb-section__inner, .home .bb-section--moments .bb-section__inner, .home .bb-section--comedians .bb-section__inner {
    gap: 38px;
  }

}

@media (min-width: 901px) {
  .home .bb-section--comedians .bb-section__inner {
    padding-block: 0;
  }

  .home .bb-comedian-grid--carousel {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
  }

  .home .bb-comedian-card {
    min-height: 100%;
  }

  .home .bb-comedian-card__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 196px;
    padding: 20px 18px 22px;
  }

}

@media (max-width: 900px) {
  .home .bb-comedian-carousel__viewport, .home .bb-comedian-card__media, .home .bb-comedian-card__image {
    touch-action: auto;
  }

}

@media (min-width: 901px) {
  .bb-section:nth-of-type(odd):not(.bb-section--bookings):not( .bb-section--moments ) {
    background-image: radial-gradient( circle at 8% 14%, rgba(209, 19, 22, 0.04) 0%, rgba(209, 19, 22, 0) 24% ), radial-gradient( circle at 90% 72%, rgba(193, 150, 83, 0.06) 0%, rgba(193, 150, 83, 0) 26% );
    background-blend-mode: normal;
  }

  .bb-section__heading-row {
    margin-bottom: 4px;
  }

  .bb-section--comedians .bb-section__heading-row > div:first-child, .bb-section--dates .bb-section__heading-row > div:first-child, .bb-section--contact .bb-section__heading-row > div:first-child {
    max-width: 760px;
  }

  .bb-section__intro-actions {
    margin-bottom: 34px;
  }

  .bb-date-card {
    min-height: 256px;
  }

  .bb-home-agenda-flow {
    gap: 20px;
  }

  .bb-section--comedians {
    padding-top: clamp(88px, 8vw, 126px);
  }

  .bb-section--special, .bb-section--contact {
    padding-top: clamp(84px, 7.5vw, 122px);
    padding-bottom: clamp(84px, 7.5vw, 122px);
  }

}

@media (max-width: 900px) {
  .bb-pill-button {
    box-shadow: none;
  }

  .bb-section__title, .bb-section__text {
    max-width: none;
  }

}

@media (min-width: 901px) {
  .home .bb-special-spotlight--featured {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, 380px);
    align-items: stretch;
    min-height: clamp(420px, 54vh, 620px);
  }

  .home .bb-special-spotlight__content--feature {
    align-content: center;
    padding: clamp(18px, 2vw, 26px);
  }

}

@media (max-width: 900px) {
  .home .bb-special-spotlight--featured {
    padding: 18px;
  }

  .home .bb-special-spotlight__content--feature {
    order: 2;
    padding: 6px 4px 0;
  }

  .home .bb-special-spotlight__visual {
    order: 1;
  }

  .home .bb-special-spotlight__poster {
    max-height: min(74svh, 640px);
  }

}

@media (max-width: 560px) {
  .home .bb-special-spotlight--featured {
    gap: 18px;
    padding: 14px;
  }

  .home .bb-special-billing__headliner {
    font-size: clamp(24px, 9vw, 34px);
  }

}

@media (min-width: 901px) {
  .home .bb-section--special .bb-section__inner {
    align-items: stretch;
  }

}

@media (min-width: 1200px) {
  .bb-home section > .site-width {
    max-width: 100%;
  }

  .bb-home .bb-section__text {
    max-width: 56ch;
  }

}

@media (max-width: 1380px) and (min-width: 901px) {
  .home .bb-comedian-grid, .home .bb-comedian-grid--carousel {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

}

@media (max-width: 1220px) and (min-width: 901px) {
  .home .bb-section {
    padding: clamp(72px, 7vw, 98px) 0;
  }

  .home .bb-section__heading-row, .home .bb-split, .home .bb-home .bb-section__inner {
    gap: clamp(24px, 3vw, 40px);
  }

  .home .bb-dates-grid, .home .bb-contact-grid {
    grid-template-columns: 1fr;
  }

  .home .bb-date-card {
    grid-template-columns: 108px minmax(0, 1fr) auto;
    min-height: 0;
  }

  .home .bb-date-card__button {
    width: 100%;
    max-width: 220px;
  }

}

@media (max-width: 1080px) and (min-width: 901px) {
  .home .bb-comedian-grid, .home .bb-comedian-grid--carousel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home .bb-media-choice-grid {
    grid-template-columns: 1fr;
  }

  .home .bb-special-copy__title {
    font-size: clamp(36px, 5vw, 64px);
  }

}

@media (min-width: 901px) {
  .home .bb-home .site-width {
    width: min(calc(100% - 44px), 1160px);
    max-width: 1160px;
  }

  .home .bb-home [data-home-chapter="agenda"] {
    min-height: 0;
    padding-top: clamp(56px, 6vw, 88px);
    padding-bottom: clamp(56px, 6vw, 88px);
  }

  .home .bb-home [data-home-chapter="agenda"] .bb-section__inner {
    gap: clamp(24px, 3vw, 40px);
  }

  .home .bb-section__heading-row--full-line {
    display: block;
    width: 100%;
  }

  .home .bb-section__heading-row--full-line > div:first-child {
    width: 100%;
    max-width: none;
  }

  .home .bb-section__title--full-line {
    display: block;
    width: 100%;
    max-width: none;
    max-inline-size: none;
    white-space: nowrap;
    text-wrap: normal;
    font-size: clamp(30px, 3.45vw, 56px);
    line-height: 0.92;
    letter-spacing: -0.05em;
    overflow: visible;
  }

  .home .bb-section--dates .bb-button-row {
    margin-top: 16px;
  }

  .home .bb-section--dates .bb-home-agenda-flow {
    margin-top: 8px;
  }

}

.bb-bookings-mobile-details {
  display: none;
}

@media (max-width: 1220px) {
  .bb-section--bookings .bb-section__inner {
    grid-template-columns: 1fr;
    align-items: start;
    gap: clamp(18px, 3vw, 32px);
  }

  .bb-section--bookings .bb-section__content {
    display: grid;
    gap: 10px;
    max-width: 100%;
  }

  .bb-bookings-title--desktop, .bb-bookings-copy--desktop, .bb-bookings-actions--desktop {
    display: none !important;
  }

  .bb-bookings-title--mobile {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: clamp(15px, 3.55vw, 25px);
    line-height: 0.96;
    letter-spacing: -0.06em;
    white-space: nowrap;
    text-wrap: nowrap;
  }

  .bb-section--bookings .bb-section__eyebrow {
    margin-bottom: 6px;
  }

  .bb-bookings-mobile-details {
    display: grid;
    justify-items: start;
    gap: 10px;
    width: 100%;
  }

  .bb-bookings-more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 32px;
    padding: 0 10px;
    margin: 0;
    font-size: 9px;
    letter-spacing: 0.16em;
    border-radius: 999px;
    align-self: start;
  }

  .bb-bookings-copy--mobile {
    display: grid;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 16px 16px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: linear-gradient( 180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.03) 100% );
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  }

  .bb-bookings-copy--mobile .bb-section__text {
    margin-top: 0;
    font-size: 15px;
    line-height: 1.66;
  }

  .bb-bookings-copy--mobile .bb-section__text + .bb-section__text {
    margin-top: 12px;
  }

  .bb-bookings-gallery {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding-block: 0;
  }

  .bb-bookings-gallery__viewport {
    aspect-ratio: 1.14 / 1;
    border-radius: 28px;
  }

  .bb-bookings-mobile-stack {
    display: grid;
    width: 100%;
    gap: 0;
  }

  .bb-bookings-actions--mobile {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }

  .bb-bookings-actions--mobile .bb-pill-button {
    width: 100%;
    justify-content: center;
    margin-top: 0;
  }

}

@media (max-width: 680px) {
  .bb-bookings-gallery__viewport {
    border-radius: 24px;
  }

  .bb-bookings-actions--mobile {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 1180px) {
  .home .bb-section--video .bb-community-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 680px) {
  .home .bb-section--video .bb-community-gallery__intro {
    margin-bottom: 22px;
  }

  .home .bb-section--video .bb-community-gallery__title {
    font-size: clamp(26px, 8vw, 38px);
    white-space: normal;
  }

  .home .bb-section--video .bb-community-gallery__grid {
    gap: 12px;
  }

  .home .bb-section--video .bb-community-card__media {
    border-radius: 18px;
  }

  .home .bb-section--video .bb-community-card__title {
    margin-top: 10px;
    font-size: 18px;
  }

}

@media (max-width: 420px) {
  .home .bb-section--video .bb-community-gallery__grid {
    gap: 10px;
  }

  .home .bb-section--video .bb-community-card__title {
    font-size: 16px;
  }

}

@media (max-width: 900px) {
  .bb-section__heading-row--agenda {
    display: grid;
    gap: 14px;
    align-items: start;
  }

  .bb-pill-button--agenda-overview {
    margin-left: 0;
    margin-bottom: 0;
    justify-self: start;
  }

  .bb-section__title--agenda {
    white-space: normal;
  }

}

@media (max-width: 560px) {
  .bb-section__title--agenda {
    font-size: clamp(28px, 8vw, 38px);
  }

  .bb-pill-button--agenda-overview, .home .bb-home-agenda-batch .bb-date-card__button {
    font-size: 10px;
    letter-spacing: 0.12em;
  }

}

@media (max-width: 1180px) {
  .home .bb-section--moments .bb-community-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 680px) {
  .home .bb-special-event-badge {
    font-size: 10px;
    letter-spacing: 0.12em;
    min-height: 38px;
    padding: 0 14px;
  }

  .home .bb-section--moments .bb-community-gallery__title {
    font-size: clamp(26px, 8vw, 38px);
    white-space: normal;
  }

  .home .bb-section--moments .bb-community-gallery__grid {
    gap: 12px;
  }

  .home .bb-comedian-card__name {
    font-size: 18px;
  }

}

@media (min-width: 901px) {
  .home .bb-landing-hero__image {
    object-position: 58% 18%;
    transform: scale(1.035);
    transform-origin: center top;
  }

  .home .bb-landing-hero__brand {
    top: clamp(8px, 1.2vw, 18px);
    left: clamp(14px, 1.6vw, 24px);
    gap: 14px;
  }

  .home .bb-landing-hero__brand-image {
    width: clamp(94px, 10.6vw, 158px);
  }

  .home .bb-landing-hero__brand-wordmark {
    font-size: clamp(1.12rem, 0.88rem + 1vw, 1.82rem);
  }

  .home .bb-home [data-home-chapter="wie-zijn-wij"] {
    padding-top: clamp(48px, 5vw, 72px);
    padding-bottom: clamp(52px, 5vw, 78px);
  }

  .home .bb-home [data-home-chapter="wie-zijn-wij"] .bb-section__inner {
    gap: clamp(16px, 2vw, 26px);
  }

  .home .bb-section--comedians .bb-section__heading-row, .home .bb-section--comedians .bb-section__heading-row--full-line {
    margin-bottom: 0;
  }

  .home .bb-section--comedians .bb-button-row {
    margin-top: 8px;
  }

  .home .bb-section--comedians .bb-section__intro-actions {
    margin-top: 8px;
    margin-bottom: 14px;
  }

  .home .bb-section--comedians .bb-comedian-carousel {
    margin-top: 0;
    gap: 18px;
  }

}

.home .bb-section--comedians .bb-pill-button--about-focus {
  margin-top: 0;
  min-height: 50px;
  padding-inline: 24px;
  border-color: rgba(165, 0, 7, 0.48);
  background: linear-gradient(180deg, #fff 0%, #f7eee5 100%);
  color: #111;
  box-shadow: 0 16px 30px rgba(165, 0, 7, 0.12), 0 0 0 1px rgba(165, 0, 7, 0.08) inset;
}

.home .bb-section--comedians .bb-pill-button--about-focus:hover, .home .bb-section--comedians .bb-pill-button--about-focus:focus-visible {
  background: linear-gradient(180deg, #be1318 0%, #8f0c10 100%);
  color: #fff;
  border-color: #8f0c10;
  box-shadow: 0 18px 34px rgba(143, 12, 16, 0.24), 0 0 0 6px rgba(184, 38, 35, 0.1);
}

.home .bb-comedian-card__body--name-only {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 108px;
  padding: 15px 15px 18px;
}

.home .bb-comedian-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(165, 0, 7, 0.14);
  border-radius: 999px;
  background: rgba(165, 0, 7, 0.06);
  color: #8f1013;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .home .bb-section--comedians .bb-comedian-carousel {
    margin-top: 0;
  }

}

@media (max-width: 680px) {
  .home .bb-section--moments .bb-community-card__media {
    border-radius: 10px;
  }

  .home .bb-comedian-card__body--name-only {
    min-height: 96px;
    gap: 7px;
  }

  .home .bb-comedian-card__tag {
    min-height: 28px;
    padding-inline: 10px;
    font-size: 10px;
    letter-spacing: 0.06em;
  }

}

.home .bb-section--video .bb-media-choice::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient( circle at 12% 14%, var(--bb-media-accent, rgba(209, 19, 22, 0.18)) 0%, rgba(255, 255, 255, 0) 42% );
  opacity: 0.95;
  pointer-events: none;
}

.home .bb-section--video .bb-media-choice::after {
  color: rgba(0, 0, 0, 0.52);
}

.home .bb-section--video .bb-media-choice:hover, .home .bb-section--video .bb-media-choice:focus-visible {
  border-color: rgba(209, 19, 22, 0.26);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 1) 0%, rgba(245, 236, 226, 0.98) 100% );
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.11);
  color: var(--bb-black);
}

.home .bb-section--video .bb-media-choice__kicker {
  position: relative;
  z-index: 1;
  background: rgba(17, 17, 17, 0.92);
  color: #fff;
}

.home .bb-section--video .bb-media-choice__title, .home .bb-section--video .bb-media-choice__text {
  position: relative;
  z-index: 1;
}

.home .bb-section--video .bb-media-choice--specials {
  --bb-media-accent: rgba(209, 19, 22, 0.18);
}

.home .bb-section--video .bb-media-choice--columns {
  --bb-media-accent: rgba(201, 157, 90, 0.2);
}

.home .bb-section--video .bb-media-choice--videos {
  --bb-media-accent: rgba(120, 88, 54, 0.18);
}

.home .bb-section--video .bb-media-choice--podcast {
  --bb-media-accent: rgba(92, 57, 111, 0.18);
}

@media (max-width: 1220px) and (min-width: 681px) {
  .home .bb-home [data-home-chapter="agenda"], .home .bb-home [data-home-chapter="wie-zijn-wij"], .home .bb-home [data-home-chapter="boek-ons"], .home .bb-home [data-home-chapter="multimedia"], .home .bb-home [data-home-chapter="sfeer"] {
    padding-top: 52px;
    padding-bottom: 72px;
  }

  .home .bb-home [data-home-chapter="agenda"] .bb-section__inner, .home .bb-home [data-home-chapter="wie-zijn-wij"] .bb-section__inner, .home .bb-home [data-home-chapter="boek-ons"] .bb-section__inner, .home .bb-home [data-home-chapter="multimedia"] .bb-section__inner, .home .bb-home [data-home-chapter="sfeer"] .bb-section__inner {
    gap: 24px;
  }

  .home .bb-home [data-home-chapter="agenda"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="wie-zijn-wij"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="boek-ons"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="multimedia"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="sfeer"] .bb-section__eyebrow {
    margin-bottom: 10px;
  }

  .home .bb-dates-grid, .home .bb-home-agenda-batch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .home .bb-date-card {
    grid-template-columns: 1fr;
    align-items: start;
    min-height: 0;
    gap: 12px;
    padding: 18px;
    border-radius: 26px;
  }

  .home .bb-date-card__date {
    width: fit-content;
    min-width: 116px;
    padding: 11px 12px;
    border-radius: 18px;
  }

  .home .bb-date-card__action,
  .home .bb-date-card__button {
    width: 100%;
  }

}

@media (max-width: 1220px) {
  .home .bb-landing-hero__image {
    object-fit: cover;
    object-position: center 24%;
    transform: none;
    background: transparent;
  }

}

@media (max-width: 700px) {
  .home .bb-landing-hero {
    min-height: min(72svh, 640px);
    max-height: none;
  }

  .home .bb-landing-hero__inner {
    min-height: min(72svh, 640px);
  }

  .home .bb-landing-hero__image {
    object-position: center 26%;
  }

}

@media (min-width: 701px) and (max-width: 1220px) {
  .home .bb-landing-hero, .home .bb-landing-hero__inner {
    min-height: min(78svh, 760px);
  }

  .home .bb-landing-hero__image {
    object-position: center 22%;
  }

}

@media (min-width: 681px) and (max-width: 1220px) {
  .home .bb-section--bookings .bb-section__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "media content" "actions actions";
    align-items: start;
    gap: 24px;
  }

  .home .bb-section--bookings .bb-section__content, .home .bb-section--bookings .bb-section__media, .home .bb-bookings-gallery, .home .bb-bookings-actions--mobile {
    justify-self: start;
    margin-left: 0;
    margin-right: auto;
  }

  .home .bb-section--bookings .bb-section__content {
    grid-area: content;
    width: 100%;
    max-width: 560px;
  }

  .home .bb-section--bookings .bb-section__media {
    grid-area: media;
    width: 100%;
    max-width: 560px;
    margin: 0;
  }

  .home .bb-bookings-gallery {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .home .bb-bookings-gallery__viewport {
    aspect-ratio: 1.08 / 1;
  }

  .home .bb-bookings-mobile-details {
    display: grid;
    justify-items: start;
    gap: 12px;
    width: 100%;
  }

  .home .bb-bookings-more-button {
    display: none;
  }

  .home .bb-bookings-copy--mobile:not([hidden]) {
    display: grid;
    width: 100%;
  }

  .home .bb-bookings-mobile-stack {
    grid-area: actions;
    width: 100%;
    max-width: 560px;
    justify-self: start;
  }

  .home .bb-bookings-actions--mobile {
    max-width: 560px;
    margin: 0;
  }

}

@media (min-width: 681px) and (max-width: 1220px) {
  .home .bb-comedian-card__media {
    aspect-ratio: 3 / 4.45;
  }

  .home .bb-comedian-card__body--name-only {
    min-height: 78px;
    padding: 12px 14px 14px;
    gap: 6px;
  }

  .home .bb-comedian-card__tag {
    min-height: 28px;
    padding-inline: 10px;
    font-size: 10px;
  }

}

@media (min-width: 901px) {
  .home .bb-contact-card--newsletter {
    min-height: 100%;
  }

}

@media (min-width: 681px) and (max-width: 1220px) {
  .home .bb-contact-card__tablet-footer {
    display: flex;
    align-items: end;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    padding-top: 18px;
  }

  .home .bb-contact-card__tablet-footer .bb-pill-button {
    margin-top: 0;
    min-height: 48px;
    white-space: nowrap;
  }

  .home .bb-contact-card__tablet-footer .bb-contact-card__socials--tablet {
    display: flex;
    align-items: center;
    margin-top: 0;
    margin-left: 0;
  }

  .home .bb-contact-card__tablet-footer .social-icons--newsletter {
    flex-wrap: nowrap;
    gap: 8px;
  }

  .home .bb-contact-card__tablet-footer .bb-pill-button:first-child {
    align-self: flex-end;
    color: var(--bb-black);
    border-color: rgba(8, 8, 8, 0.86);
    background: linear-gradient(180deg, #ffffff 0%, #fff7ec 100%);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.1);
  }

  .home .bb-contact-card__tablet-footer .bb-pill-button:first-child:hover, .home .bb-contact-card__tablet-footer .bb-pill-button:first-child:focus-visible {
    background: #000;
    color: #fff;
    border-color: #000;
  }

  .home .bb-contact-card__tablet-footer .social-icons--newsletter .social-link {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .home .bb-contact-card__tablet-footer .social-icons--newsletter .social-link svg {
    width: 22px;
    height: 22px;
  }

  .home .bb-contact-card__tablet-footer > .bb-pill-button:last-child {
    margin-left: auto;
    align-self: flex-end;
  }

  .home .bb-contact-card__social-row--desktop, .home .bb-button-row--contact-newsletter {
    display: none;
  }

}

@media (min-width: 1221px), (max-width: 680px) {
  .bb-contact-card__tablet-footer {
    display: none;
  }

}

@media (max-width: 680px) {
  .home .bb-home [data-home-chapter="agenda"], .home .bb-home [data-home-chapter="wie-zijn-wij"], .home .bb-home [data-home-chapter="boek-ons"], .home .bb-home [data-home-chapter="multimedia"], .home .bb-home [data-home-chapter="sfeer"] {
    padding-top: 34px;
    padding-bottom: 58px;
  }

  .home .bb-home [data-home-chapter="agenda"] .bb-section__inner, .home .bb-home [data-home-chapter="wie-zijn-wij"] .bb-section__inner, .home .bb-home [data-home-chapter="boek-ons"] .bb-section__inner, .home .bb-home [data-home-chapter="multimedia"] .bb-section__inner, .home .bb-home [data-home-chapter="sfeer"] .bb-section__inner {
    gap: 22px;
  }

  .home .bb-home [data-home-chapter="agenda"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="wie-zijn-wij"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="boek-ons"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="multimedia"] .bb-section__eyebrow, .home .bb-home [data-home-chapter="sfeer"] .bb-section__eyebrow {
    margin-bottom: 8px;
  }

  .bb-bookings-title--mobile {
    font-size: clamp(18px, 5.05vw, 22px);
    line-height: 0.94;
    letter-spacing: -0.072em;
    white-space: nowrap;
    text-wrap: nowrap;
  }

  .bb-contact-card__social-text {
    font-size: 15px;
  }

  .social-icons--newsletter .social-link {
    width: 58px;
    height: 58px;
    border-radius: 16px;
  }

  .social-icons--newsletter .social-link svg {
    width: 27px;
    height: 27px;
  }

}

.home {
  --bb-hero-side-width: min(39vw, 560px);
  --bb-hero-side-offset: clamp(28px, 3.8vw, 72px);
  --bb-hero-reserved-right: calc(var(--bb-hero-side-width) + var(--bb-hero-side-offset) + clamp(18px, 2vw, 28px));
}

.home .bb-landing-hero__side-column {
  position: absolute;
  top: clamp(14px, 1.5vw, 24px);
  right: var(--bb-hero-side-offset);
  bottom: clamp(18px, 2.6vw, 34px);
  width: var(--bb-hero-side-width);
  z-index: 3;
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-items: start;
  gap: 18px;
  opacity: 0;
  animation: bbLandingOpacityIn 1s ease-in-out 0.5s forwards;
}

.home .bb-landing-hero__wordmark-link {
  display: inline-flex;
  width: 100%;
  justify-content: flex-start;
  padding-left: 0;
  text-decoration: none;
}

.home .bb-landing-hero__brand-wordmark {
  width: 100%;
  display: inline-grid;
  justify-items: start;
  gap: 10px;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 1.24rem + 1.95vw, 3.2rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.045em;
  text-transform: none;
  text-align: left;
  color: #ff1818;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.44), 0 0 18px rgba(255, 30, 30, 0.18);
  white-space: nowrap;
  transform: none;
}

.home .bb-landing-hero__brand-wordmark::after {
  content: "";
  width: 100%;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient( 90deg, rgba(210, 210, 210, 0.22) 0%, rgba(245, 245, 245, 0.92) 18%, rgba(156, 156, 156, 0.98) 36%, rgba(248, 248, 248, 0.98) 54%, rgba(150, 150, 150, 0.96) 72%, rgba(224, 224, 224, 0.28) 100% ) center 7px / 100% 2px no-repeat, repeating-linear-gradient( 135deg, transparent 0 24px, rgba(236, 236, 236, 0.95) 24px 26px, transparent 26px 48px ), repeating-linear-gradient( 45deg, transparent 0 24px, rgba(170, 170, 170, 0.95) 24px 26px, transparent 26px 48px );
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.34));
  opacity: 0.96;
}

.home .bb-landing-hero__side-column .bb-landing-hero__nav {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  width: 100%;
  display: grid;
  justify-content: start;
  gap: 22px;
  align-self: center;
  margin: 0;
}

.home .bb-landing-hero__menu-item, .home .bb-landing-hero__menu-link, .home .bb-landing-hero__menu-link--friends {
  justify-content: flex-start;
  text-align: left;
}

.home .bb-landing-hero__menu-link--friends {
  display: inline-block;
  max-width: none;
  line-height: 1.04;
  white-space: nowrap;
}

.home .bb-landing-hero__footer-actions {
  position: static;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  opacity: 1;
  animation: none;
}

.home .bb-landing-hero__tablet-footer-actions {
  display: none;
}

.home .bb-landing-hero__secondary {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  justify-content: flex-start;
}

.home .bb-landing-hero__secondary-link.bb-pill-button {
  min-height: 52px;
  margin-top: 0;
  padding-inline: 20px;
  border-color: rgba(8, 8, 8, 0.92);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 48%, #faf1e5 100%);
  color: var(--bb-black);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
  font-size: 12px;
  letter-spacing: 0.18em;
}

.home .bb-landing-hero__secondary-link.bb-pill-button:hover, .home .bb-landing-hero__secondary-link.bb-pill-button:focus-visible {
  background: #000;
  color: #fff;
  border-color: #000;
}

.home .bb-landing-hero__socials {
  position: static;
  display: flex;
  justify-content: flex-start;
  opacity: 1;
  animation: none;
}

.social-icons--hero {
  justify-content: flex-start;
  gap: 10px;
}

.social-icons--hero .social-link, .social-icons--newsletter .social-link {
  width: 56px;
  height: 56px;
  border-radius: 16px;
}

.social-icons--hero .social-link {
  border-color: rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(22, 22, 22, 0.68), rgba(8, 8, 8, 0.46));
  backdrop-filter: blur(8px);
}

.social-icons--hero .social-link:hover, .social-icons--hero .social-link:focus-visible {
  border-color: rgba(255, 255, 255, 0.34);
  background: linear-gradient(180deg, rgba(30, 30, 30, 0.82), rgba(10, 10, 10, 0.58));
}

.social-icons--hero .social-link svg {
  width: 26px;
  height: 26px;
}

@media (min-width: 1101px) {
  .home .bb-landing-hero__media {
    right: var(--bb-hero-reserved-right);
  }

  .home .bb-landing-hero__image {
    object-fit: cover;
    object-position: 74% 32%;
    transform: none;
    background: transparent;
  }

  .home .bb-landing-hero__shade {
    background: radial-gradient( circle at 28% 66%, rgba(173, 22, 22, 0.18) 0%, rgba(173, 22, 22, 0) 26% ), linear-gradient( 90deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.1) 34%, rgba(0, 0, 0, 0.34) 52%, rgba(0, 0, 0, 0.82) 70%, rgba(0, 0, 0, 0.98) 100% );
  }

}

@media (max-width: 1280px) {
  .home {
    --bb-hero-side-width: min(42vw, 500px);
  }

}

@media (min-width: 681px) and (max-width: 1100px) {
  .home .bb-landing-hero__inner {
    display: flex;
    align-items: flex-end;
    padding-bottom: clamp(24px, 4.2vw, 40px);
  }

  .home .bb-landing-hero__tablet-footer-actions {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    margin-top: auto;
  }

  .home .bb-landing-hero__tablet-footer-actions .bb-landing-hero__secondary, .home .bb-landing-hero__tablet-footer-actions .social-icons--hero {
    flex-wrap: nowrap;
  }

  .home .bb-landing-hero__tablet-footer-actions .social-icons--hero {
    gap: 6px;
  }

  .home .bb-landing-hero__tablet-footer-actions .bb-landing-hero__secondary-link.bb-pill-button, .home .bb-landing-hero__tablet-footer-actions .social-icons--hero .social-link {
    margin-top: 0;
  }

  .home .bb-landing-hero__tablet-footer-actions .social-icons--hero .social-link {
    width: 50px;
    height: 50px;
    border-radius: 15px;
  }

  .home .bb-landing-hero__tablet-footer-actions .social-icons--hero .social-link svg {
    width: 23px;
    height: 23px;
  }

  .home .bb-landing-hero__tablet-footer-actions .bb-landing-hero__socials {
    flex: 0 0 auto;
  }

}

@media (min-width: 1101px) and (max-width: 1220px) {
  .home .bb-landing-hero__footer-actions, .home .bb-landing-hero__footer-actions .bb-landing-hero__secondary, .home .bb-landing-hero__footer-actions .social-icons--hero {
    flex-wrap: nowrap;
  }

}

@media (max-width: 1100px) {
  .home {
    --bb-hero-side-width: min(48vw, 460px);
  }

  .home .bb-landing-hero__side-column {
    display: none;
  }

}

.page-shell {
  --page-hero-ink: #ffffff;
  --page-hero-muted: rgba(255, 255, 255, 0.82);
  --page-hero-border: rgba(255, 255, 255, 0.16);
  --page-surface-bg: linear-gradient( 180deg, rgba(255, 255, 255, 0.99) 0%, rgba(250, 245, 238, 0.97) 100% );
  --page-surface-border: rgba(8, 8, 8, 0.1);
  --page-accent: var(--bb-red-deep);
  --page-glow-a: rgba(209, 19, 22, 0.26);
  --page-glow-b: rgba(201, 153, 86, 0.22);
  display: grid;
  gap: clamp(22px, 2.8vw, 34px);
  margin-top: clamp(78px, 6vw, 108px);
}

.page-shell--theme-warm {
  --page-accent: #b82a24;
  --page-glow-a: rgba(209, 19, 22, 0.24);
  --page-glow-b: rgba(201, 153, 86, 0.24);
}

.page-shell--theme-noir {
  --page-accent: #d5b06a;
  --page-glow-a: rgba(178, 30, 32, 0.24);
  --page-glow-b: rgba(214, 176, 106, 0.24);
}

.page-shell__hero, .page-shell__surface, .page-shell__callout, .page-shell__cta, .page-shell__legal {
  position: relative;
  border-radius: 34px;
  overflow: clip;
}

.page-shell__hero {
  border: 1px solid var(--page-hero-border);
  background: radial-gradient( circle at 18% 72%, var(--page-glow-b) 0%, rgba(201, 153, 86, 0) 32% ), radial-gradient( circle at 84% 18%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 20% ), radial-gradient( circle at 84% 24%, var(--page-glow-a) 0%, rgba(209, 19, 22, 0) 24% ), linear-gradient(180deg, #090909 0%, #121212 48%, #1e120f 100%);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
}

.page-shell__hero::before, .page-shell__hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.page-shell__hero::before {
  top: 70px;
  right: -52px;
  width: 220px;
  height: 220px;
  background: radial-gradient( circle, var(--page-glow-a) 0%, rgba(209, 19, 22, 0) 72% );
  filter: blur(12px);
}

.page-shell__hero::after {
  left: -60px;
  bottom: 72px;
  width: 280px;
  height: 280px;
  background: radial-gradient( circle, var(--page-glow-b) 0%, rgba(201, 153, 86, 0) 74% );
  filter: blur(18px);
}

.page-shell__hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.98fr);
  align-items: stretch;
  min-height: clamp(420px, 46vw, 560px);
}

.page-shell__hero-copy {
  display: grid;
  gap: 16px;
  align-content: center;
  padding: clamp(28px, 4vw, 48px);
  color: var(--page-hero-ink);
}

.page-shell__brand {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: min(62%, 220px);
}

.page-shell__brand-image {
  display: block;
  width: clamp(128px, 18vw, 220px);
  height: auto;
}

.page-shell__eyebrow {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.page-shell__hero .page-shell__eyebrow, .page-shell__callout .page-shell__eyebrow, .page-shell__cta .page-shell__eyebrow {
  color: rgba(255, 255, 255, 0.76);
}

.page-shell__surface .page-shell__eyebrow, .page-shell__legal .page-shell__eyebrow {
  color: var(--page-accent);
}

.page-shell__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(34px, 4.2vw, 64px);
  line-height: 0.9;
  letter-spacing: -0.045em;
  text-wrap: balance;
  color: #fff;
  max-width: 16ch;
}

.page-shell__intro, .page-shell__body, .page-shell__section-copy {
  margin: 0;
}

.page-shell__intro {
  max-width: 30ch;
  font-size: clamp(18px, 1.3vw, 22px);
  line-height: 1.38;
  font-weight: 700;
  color: #fff;
}

.page-shell__body {
  max-width: 62ch;
  font-size: clamp(15px, 0.98vw, 17px);
  line-height: 1.66;
  color: var(--page-hero-muted);
}

.page-shell__actions, .page-shell__mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-shell__hero .bb-pill-button--ghost {
  --button-bg-rest: linear-gradient(180deg, #080808 0%, #141414 100%);
  --button-bg-hover: linear-gradient(180deg, #121212 0%, #1c1c1c 100%);
  --button-border-rest: rgba(255, 247, 236, 0.72);
  --button-border-hover: rgba(255, 247, 236, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 0 0 1px rgba(255, 247, 236, 0.14), 0 0 18px rgba(255, 247, 236, 0.08), var(--button-shadow);
  --button-shadow-hover: 0 0 0 1px rgba(255, 247, 236, 0.22), 0 0 20px rgba(255, 247, 236, 0.14), 0 18px 32px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
}

.page-shell__signup {
  display: grid;
  gap: 16px;
  margin-top: 6px;
  max-width: 620px;
}

.page-shell__signup .newsletter-form {
  align-items: stretch;
}

.page-shell__signup .newsletter-form__field-wrap {
  min-height: 58px;
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.page-shell__signup .newsletter-form__field, .page-shell__signup .newsletter-form__field::placeholder {
  color: #fff;
}

.page-shell__signup .newsletter-form__field::placeholder {
  opacity: 0.7;
}

.page-shell__media {
  position: relative;
  min-height: 100%;
  background: linear-gradient(180deg, #111111 0%, #241614 100%);
}

.page-shell__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 46%;
  background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 0%, rgba(9, 9, 9, 0.58) 100% );
  pointer-events: none;
}

.page-shell__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient( 135deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.08) 100% );
  pointer-events: none;
  z-index: 1;
}

.page-shell__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-shell__surface, .page-shell__legal {
  border: 1px solid var(--page-surface-border);
  background: var(--page-surface-bg);
  box-shadow: var(--bb-shadow-card);
}

.page-shell__surface {
  padding: clamp(26px, 3.2vw, 38px);
  position: relative;
  isolation: isolate;
}

.page-shell__surface::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.56) 0%, rgba(255, 255, 255, 0) 34% );
  pointer-events: none;
}

.page-shell__surface > * {
  position: relative;
  z-index: 1;
}

.page-shell__section-header {
  display: grid;
  gap: 10px;
  margin-bottom: var(--hvh-title-card-gap);
}

.page-shell__section-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(30px, 3vw, 46px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.page-shell__section-copy, .page-shell__cta-text, .page-shell__callout-text, .page-card__content {
  color: var(--ink-muted);
}

.page-shell__section-copy {
  max-width: 66ch;
}

.page-shell__callout-title, .page-shell__cta-title {
  margin: 0 0 10px;
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.1;
  font-weight: 900;
}

.page-shell__callout-text, .page-shell__cta-text {
  margin: 0;
  line-height: 1.66;
}

.page-shell__editor .page-card__content {
  max-width: none;
}

.page-shell__editor .page-card__content > * {
  max-width: 74ch;
}

.page-shell__editor .page-card__content > :first-child {
  margin-top: 0;
}

.page-shell__editor .page-card__content > :last-child {
  margin-bottom: 0;
}

.page-shell__editor .page-card__content > .wp-block-columns, .page-shell__editor .page-card__content > .wp-block-cover, .page-shell__editor .page-card__content > .wp-block-media-text {
  max-width: none;
}

.page-shell__editor .page-card__content h2, .page-shell__editor .page-card__content h3, .page-shell__editor .page-card__content h4 {
  margin-top: 1.6em;
  margin-bottom: 0.42em;
  font-family: var(--font-display);
  letter-spacing: -0.03em;
  line-height: 0.98;
  color: var(--bb-black);
}

.page-shell__editor .page-card__content h2 {
  font-size: clamp(28px, 2.8vw, 42px);
}

.page-shell__editor .page-card__content h3 {
  font-size: clamp(22px, 2vw, 30px);
}

.page-shell__editor .page-card__content p, .page-shell__editor .page-card__content li {
  font-size: clamp(16px, 1.02vw, 18px);
  line-height: 1.72;
}

.page-shell__editor .page-card__content ul, .page-shell__editor .page-card__content ol {
  padding-left: 1.2em;
}

.page-shell__editor .page-card__content blockquote {
  margin: 28px 0;
  padding: 20px 22px;
  border-left: 4px solid var(--page-accent);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.page-shell__editor .page-card__content .wp-block-button__link {
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 900;
}

.page-shell__callout, .page-shell__cta {
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.page-shell__callout {
  padding: clamp(26px, 3vw, 36px);
  background: radial-gradient( circle at 82% 18%, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 24% ), radial-gradient( circle at 22% 74%, var(--page-glow-a) 0%, rgba(209, 19, 22, 0) 34% ), linear-gradient( 180deg, rgba(15, 15, 15, 0.98) 0%, rgba(38, 14, 12, 0.98) 100% );
  color: #fff;
}

.page-shell__callout .page-shell__callout-title, .page-shell__callout .page-shell__callout-text, .page-shell__cta .page-shell__cta-title, .page-shell__cta .page-shell__cta-text {
  color: #fff;
}

.page-shell__callout .page-shell__callout-text, .page-shell__cta .page-shell__cta-text {
  opacity: 0.84;
}

.page-shell__mini-actions--callout {
  margin-top: 18px;
}

.page-shell__cta {
  display: grid;
  gap: 18px;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(24px, 3vw, 34px);
  background: radial-gradient( circle at 80% 20%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 24% ), radial-gradient( circle at 18% 82%, var(--page-glow-b) 0%, rgba(201, 153, 86, 0) 34% ), linear-gradient(180deg, #0f0f0f 0%, #171717 58%, #1d1612 100%);
}

.page-shell__contact-anchor {
  scroll-margin-top: 110px;
}

.page-shell__legal {
  padding: clamp(24px, 3vw, 32px);
}

.page-shell__legal .page-card__title {
  margin: 0 0 14px;
}

.page-shell--newsletter .page-shell__hero-grid, .page-shell--videos .page-shell__hero-grid, .page-shell--media .page-shell__hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(290px, 0.92fr);
}

@media (max-width: 980px) {
  .page-shell__hero-grid, .page-shell--newsletter .page-shell__hero-grid, .page-shell--videos .page-shell__hero-grid, .page-shell--media .page-shell__hero-grid {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .page-shell__cta {
    grid-template-columns: 1fr;
  }

  .page-shell__media {
    min-height: 0;
  }

  .page-shell__image {
    height: auto;
    min-height: 0;
  }

}

@media (max-width: 720px) {
  .page-shell {
    gap: 18px;
  }

  .page-shell__hero, .page-shell__surface, .page-shell__callout, .page-shell__cta, .page-shell__legal {
    border-radius: 26px;
  }

  .page-shell__hero-copy, .page-shell__surface, .page-shell__callout, .page-shell__cta {
    padding: 22px;
  }

  .page-shell__media {
    padding: 0 22px 22px;
  }

  .page-shell__title {
    max-width: none;
  }

  .page-shell__image {
    display: block;
    margin-inline: auto;
  }

  .page-shell__image:is( .page-shell__image--square, .page-shell__image--portrait ) {
    width: min(76vw, 320px);
    max-height: min(46svh, 320px);
    object-fit: contain;
  }

  .page-shell__signup .newsletter-form {
    grid-template-columns: 1fr;
  }

}

@media (min-width: 1280px) {
  .page-shell__hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
  }

  .page-shell__surface, .page-shell__legal {
    padding-inline: clamp(30px, 2.6vw, 40px);
  }

}

.page-template-default .site-width, .page-template-page-agenda-tickets .site-width, .error404 .site-width {
  width: min(calc(100% - 44px), 1160px);
}

.page-shell--media-page .page-shell__editor .page-shell__section-header {
  display: block;
  max-width: none;
}

.page-shell--media-page .page-shell__editor .page-shell__section-title {
  max-width: none;
  font-size: clamp(32px, 3.2vw, 54px);
  line-height: 0.96;
  text-wrap: pretty;
}

.page-shell--media-page .page-shell__editor .page-shell__section-copy {
  display: none;
}

.page-shell--specials .page-shell__editor {
  gap: clamp(22px, 2.4vw, 34px);
}

.page-shell--specials .page-card__content {
  max-width: none;
}

.specials-albums {
  display: grid;
  gap: clamp(22px, 2.6vw, 34px);
}

.specials-albums__intro {
  padding: clamp(22px, 2.8vw, 30px);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 248, 242, 0.96) 100%);
  border: 1px solid rgba(102, 58, 30, 0.08);
  box-shadow: 0 18px 40px rgba(66, 31, 14, 0.08);
}

.specials-albums__lead {
  margin: 0;
  max-width: 70ch;
}

.specials-albums__item {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(20px, 2.6vw, 34px);
  align-items: center;
  padding: clamp(20px, 2.6vw, 30px);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 250, 246, 0.98) 100%);
  border: 1px solid rgba(102, 58, 30, 0.08);
  box-shadow: 0 18px 40px rgba(66, 31, 14, 0.09);
}

.specials-albums__copy > h3 {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 0.98;
  text-transform: none;
}

.specials-albums__copy > p {
  max-width: none;
}

.specials-albums__media {
  min-width: 0;
}

.specials-albums__embed-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #111;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  aspect-ratio: 16 / 9;
}

.specials-albums__embed-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 900px) {
  .specials-albums__item {
    grid-template-columns: 1fr;
  }

}

.page-rich-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 22px);
  margin: 22px 0 28px;
}

.page-rich-card, .page-rich-note {
  position: relative;
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 100%;
  padding: clamp(18px, 2vw, 24px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 240, 233, 0.98) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.page-rich-card > *, .page-rich-note > * {
  margin: 0;
}

.page-rich-card h4, .page-rich-note strong {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--page-accent);
}

.page-rich-card p, .page-rich-note {
  color: var(--ink-muted);
  line-height: 1.66;
}

.page-rich-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 18px;
  margin: 22px 0 28px;
}

.page-rich-note ul {
  margin: 0;
  padding-left: 1.1em;
}

.page-linkline {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

@media (max-width: 1120px) {
  .page-rich-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 980px) {
  .page-rich-grid, .page-rich-split {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (min-width: 721px) and (max-width: 980px) {
  .page-shell--bookings .page-shell__hero-grid {
    grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.08fr);
    align-items: stretch;
  }

  .page-shell--bookings .page-shell__media {
    order: -1;
    min-height: 100%;
  }

  .page-shell--bookings .page-shell__hero-copy {
    order: 2;
  }

  .page-shell--bookings .page-shell__image {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: contain;
    object-position: left center;
  }

}

.page-shell__section-header--utility {
  gap: 12px;
  max-width: 72ch;
}

.page-shell__editor--utility {
  padding-top: clamp(22px, 2.8vw, 34px);
  background: radial-gradient( circle at 84% 16%, rgba(191, 56, 46, 0.06) 0%, rgba(191, 56, 46, 0) 20% ), linear-gradient( 180deg, rgba(255, 255, 255, 0.995) 0%, rgba(248, 242, 236, 0.98) 100% );
}

.page-shell__editor--utility .page-card__content {
  display: grid;
  gap: 22px;
}

.page-shell__editor--utility .page-card__content > h3 {
  margin-top: 1.1em;
}

.page-shell__editor--utility .page-card__content a:not(.bb-pill-button):not(.wp-block-button__link) {
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
}

.page-rich-grid--utility {
  margin-top: 18px;
}

.page-rich-split--utility {
  align-items: start;
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) form {
  margin-top: 8px;
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content :is(form, .wpcf7-form) {
  padding: clamp(20px, 2.2vw, 28px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 239, 232, 0.98) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content :is(form, .wpcf7-form) label {
  display: grid;
  gap: 8px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(8, 8, 8, 0.76);
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content .wpcf7-form p {
  display: grid;
  gap: 8px;
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content :is( input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], select, textarea ) {
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content :is( input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], select, textarea ):focus {
  border-color: rgba(191, 56, 46, 0.42);
  box-shadow: 0 0 0 4px rgba(191, 56, 46, 0.08);
  background: #fff;
}

.page-shell__editor:is( .page-shell__editor--boekingen, .page-shell__editor--contact ) .page-card__content :is(.wpcf7-submit, button[type="submit"], input[type="submit"]) {
  justify-self: start;
}

.page-shell--media-page .page-shell__hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
}

.page-shell--newsletter .page-shell__hero-copy {
  gap: 16px;
}

.page-shell--newsletter .page-shell__title {
  max-width: 12ch;
}

.page-shell--newsletter .page-shell__signup {
  margin-top: 10px;
}

.page-shell--newsletter .page-shell__signup::after {
  content: "Geen spam. Gewoon op tijd weten wat eraan komt.";
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.74);
}

.page-shell--podcast .page-shell__hero {
  background: linear-gradient( 90deg, rgba(7, 7, 8, 0.9) 0%, rgba(7, 7, 8, 0.76) 38%, rgba(7, 7, 8, 0.48) 68%, rgba(7, 7, 8, 0.76) 100% ), linear-gradient(180deg, rgba(7, 7, 8, 0.16) 0%, rgba(7, 7, 8, 0.58) 100%), url("../images/podcast-banner.webp") center/cover no-repeat;
}

.page-shell--podcast .page-shell__hero-copy {
  max-width: 46rem;
}

.page-shell--podcast .page-shell__title {
  max-width: 11ch;
}

.page-shell--podcast .page-shell__intro {
  max-width: 30ch;
}

.page-shell--podcast .page-shell__body {
  max-width: 56ch;
}

.podcast-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: clamp(18px, 2.4vw, 28px);
  align-items: start;
}

.podcast-feature__embed-wrap {
  padding: clamp(14px, 1.8vw, 18px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 240, 233, 0.98) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.podcast-feature__embed {
  display: block;
  width: 100%;
  border-radius: 18px;
}

.podcast-feature__copy, .podcast-archive-list {
  display: grid;
  gap: 14px;
}

.podcast-archive-item {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 20px 22px;
  border-radius: 24px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 240, 233, 0.97) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.podcast-archive-item:hover, .podcast-archive-item:focus-visible, .podcast-archive-item[aria-pressed="true"] {
  transform: translateY(-2px);
  border-color: rgba(191, 56, 46, 0.22);
  box-shadow: 0 18px 38px rgba(18, 18, 18, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.podcast-archive-item[aria-pressed="true"] {
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 236, 231, 0.99) 100% );
}

.podcast-archive-item__date {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--page-accent);
}

.podcast-archive-item__title {
  font-size: clamp(20px, 1.5vw, 28px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--bb-black);
}

.podcast-archive-item__text {
  color: var(--ink-muted);
  line-height: 1.64;
}

.podcast-newsletter-panel {
  display: grid;
  gap: 16px;
}

.podcast-newsletter-panel .newsletter-form {
  max-width: 760px;
}

@media (max-width: 980px) {
  .podcast-feature {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (max-width: 720px) {
  .page-shell--podcast .page-shell__hero {
    background-position: 72% center;
  }

  .page-shell--media-page .page-shell__media {
    display: grid;
    place-items: center;
    background: transparent;
  }

  .page-shell--media-page .page-shell__media::before, .page-shell--media-page .page-shell__media::after {
    display: none;
  }

  .page-shell--media-page .page-shell__image:is( .page-shell__image--square, .page-shell__image--portrait ) {
    width: min(72vw, 300px);
    max-height: min(44svh, 300px);
  }

}

.page-shell__surface--about-photo {
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: #050505;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.16);
}

.about-photo-hero {
  position: relative;
}

.about-photo-hero__image {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 720px) {
  .page-shell__surface--about-photo {
    border-radius: 24px;
  }

}

.page-shell__surface--about-rules {
  border: 1px solid rgba(100, 67, 24, 0.22);
  background: linear-gradient(180deg, rgba(247, 235, 212, 0.98) 0%, rgba(229, 210, 173, 0.96) 100%);
  box-shadow: 0 24px 56px rgba(61, 37, 7, 0.14);
}

.about-rules-card {
  position: relative;
  display: grid;
  gap: 18px;
  padding: clamp(24px, 3.2vw, 38px);
  background:
    radial-gradient(circle at top left, rgba(255, 250, 238, 0.82) 0%, rgba(255, 250, 238, 0) 34%),
    radial-gradient(circle at bottom right, rgba(121, 78, 23, 0.12) 0%, rgba(121, 78, 23, 0) 42%);
}

.about-rules-card::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(120, 81, 28, 0.22);
  border-radius: 26px;
  pointer-events: none;
}

.page-shell__surface--about-rules .page-shell__eyebrow {
  color: #8a5a1a;
}

.about-rules-card__title {
  margin: 0;
  color: #3d2608;
}

.about-rules-card__list {
  counter-reset: about-rules;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  color: var(--black);
}

.about-rules-card__list li {
  position: relative;
  min-height: 74px;
  padding: 18px 20px 18px 76px;
  border: 1px solid rgba(130, 90, 31, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(252, 245, 227, 0.98) 0%, rgba(240, 223, 189, 0.96) 100%),
    repeating-linear-gradient(0deg, rgba(120, 82, 26, 0.03) 0, rgba(120, 82, 26, 0.03) 2px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 6px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 10px 24px rgba(83, 52, 14, 0.08);
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.65;
  font-weight: 600;
  color: #4e3410;
}

.about-rules-card__list li::before {
  counter-increment: about-rules;
  content: counter(about-rules, upper-roman);
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: radial-gradient(circle at 32% 28%, #d7bb77 0%, #b4812f 58%, #7f5517 100%);
  box-shadow: inset 0 1px 0 rgba(255, 248, 223, 0.58), 0 6px 12px rgba(73, 46, 12, 0.18);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #fff7df;
}

.about-rules-card__list li::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(135, 94, 37, 0.12);
  border-radius: 12px;
  pointer-events: none;
}

.page-shell__surface--about-team {
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.995) 0%, rgba(247, 240, 233, 0.985) 100% );
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.08);
}

.about-team-section {
  display: grid;
  gap: clamp(20px, 2.6vw, 28px);
}

.about-team-section__header {
  display: grid;
  gap: 10px;
  max-width: 54rem;
}

.about-team-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2.3vw, 24px);
}

.about-team-card {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 0;
  min-width: 0;
  border-radius: 30px;
  overflow: clip;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 240, 233, 0.98) 100% );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.about-team-card__poster {
  grid-row: 1 / span 2;
  height: 100%;
  min-height: 100%;
  background: linear-gradient( 180deg, rgba(249, 244, 236, 0.98) 0%, rgba(237, 226, 212, 0.98) 100% );
}

.about-team-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
}

.about-team-card__content {
  grid-column: 2;
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: clamp(18px, 1.9vw, 24px) clamp(20px, 2.3vw, 28px) 12px;
}

.about-team-card__meta {
  display: grid;
  gap: 6px;
}

.about-team-card__name, .about-team-card__role, .about-team-card__bio p {
  margin: 0;
}

.about-team-card__name {
  font-family: var(--font-display);
  font-size: clamp(24px, 1.95vw, 32px);
  line-height: 0.96;
  letter-spacing: -0.03em;
  color: var(--bb-black);
}

.about-team-card__role {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--page-accent);
}

.about-team-card__toggle {
  display: none;
  appearance: none;
  border: 1px solid rgba(8, 8, 8, 0.1);
  border-radius: 999px;
  background: rgba(12, 12, 12, 0.92);
  color: #fff;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease;
}

.about-team-card__toggle:hover, .about-team-card__toggle:focus-visible {
  background: var(--bb-red-deep);
  border-color: var(--bb-red-deep);
  transform: translateY(-1px);
}

.about-team-card__bio {
  grid-column: 2;
  display: grid;
  gap: 10px;
  padding: 0 clamp(20px, 2.3vw, 28px) clamp(20px, 2.3vw, 26px);
}

.about-team-card__bio p {
  font-size: clamp(14px, 0.92vw, 15px);
  line-height: 1.58;
  color: var(--ink-muted);
}

@media (min-width: 721px) {
  .about-team-card--taco .about-team-card__content,
  .about-team-card--badr-maghrani .about-team-card__content {
    padding-top: clamp(12px, 1.15vw, 16px);
    padding-bottom: 6px;
  }

  .about-team-card--taco .about-team-card__bio,
  .about-team-card--badr-maghrani .about-team-card__bio {
    margin-top: -8px;
  }
}

@media (max-width: 1100px) {
  .about-team-card {
    grid-template-columns: minmax(200px, 248px) minmax(0, 1fr);
  }

}

@media (max-width: 980px) {
  .about-team-card {
    grid-template-columns: minmax(196px, 236px) minmax(0, 1fr);
  }

}

@media (max-width: 720px) {
  .about-rules-card {
    padding: 22px 18px;
  }

  .about-rules-card__list {
    gap: 12px;
  }

  .about-rules-card__list li {
    font-size: 15px;
    line-height: 1.6;
  }

  .about-team-section__header {
    display: none;
  }

  .about-team-card {
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: start;
    border-radius: 24px;
  }

  .about-team-card__poster {
    grid-row: auto;
    min-height: 142px;
  }

  .about-team-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    min-height: 142px;
    padding: 14px;
  }

  .about-team-card--taco .about-team-card__content,
  .about-team-card--badr-maghrani .about-team-card__content {
    justify-content: flex-start;
    padding-top: 10px;
  }

  .about-team-card__meta {
    gap: 5px;
  }

  .about-team-card__name {
    font-size: clamp(22px, 6vw, 28px);
    line-height: 0.94;
  }

  .about-team-card__role {
    font-size: 10px;
    letter-spacing: 0.16em;
  }

  .about-team-card__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
  }

  .about-team-card__bio {
    display: none;
    grid-column: 1 / -1;
    gap: 10px;
    padding: 0 14px 16px;
  }

  .about-team-card.is-open .about-team-card__bio {
    display: grid;
  }

  .about-team-card.is-open .about-team-card__toggle {
    display: none;
  }

  .about-team-card__bio p {
    font-size: 14px;
    line-height: 1.56;
  }

}

.page-shell--podcast .page-shell__hero-grid {
  grid-template-columns: minmax(0, 1fr);
}

.page-shell--podcast .page-shell__media {
  display: none;
}

.page-shell__surface--podcast-newsletter {
  padding-block: clamp(20px, 2.3vw, 28px);
}

.page-shell__surface--podcast-newsletter .page-shell__section-header {
  margin-bottom: 14px;
}

.page-404 {
  overflow: hidden;
}

.page-404__hero {
  padding-bottom: 0;
}

.page-404__grid {
  align-items: stretch;
}

.page-404__panel {
  display: grid;
  align-items: end;
}

.page-404__card {
  align-self: end;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100% );
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.22);
}

.page-404__card-title {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}

.page-404__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.page-404__list a {
  color: #fff;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.1;
}

.page-404__list a:hover, .page-404__list a:focus-visible {
  color: #ff0000;
}

@media (max-width: 900px) {
  .page-404__card {
    padding: 22px;
  }

}

.agenda-page {
  --agenda-page-margin-top: clamp(4px, 0.45vw, 6px);
  --agenda-list-gap: 28px;
  --agenda-show-gap: 22px;
  --agenda-show-padding: clamp(18px, 2vw, 24px);
  --agenda-show-columns: minmax(220px, 248px) minmax(0, 1fr);
  --agenda-show-flyer-min-height: 338px;
  --agenda-show-flyer-ratio: 1452 / 2048;
  --agenda-show-city-size: clamp(34px, 3.2vw, 46px);
  --agenda-show-description-size: clamp(16px, 1.2vw, 19px);
  --agenda-show-ticket-font-size: clamp(15px, 1.15vw, 18px);
  margin-top: var(--agenda-page-margin-top);
  display: grid;
}

.agenda-page__shell {
  display: grid;
  gap: clamp(24px, 3vw, 36px);
}

.agenda-page__hero {
  overflow: hidden;
}

.agenda-page__listing {
  display: grid;
  gap: var(--hvh-title-card-gap);
  padding-top: clamp(10px, 1.2vw, 16px);
}

.agenda-page__listing-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
  gap: 18px;
  align-items: end;
}

.agenda-list {
  display: grid;
  gap: var(--agenda-list-gap);
}

.agenda-show {
  position: relative;
  display: grid;
  grid-template-columns: var(--agenda-show-columns);
  gap: var(--agenda-show-gap);
  align-items: stretch;
  padding: var(--agenda-show-padding);
  padding-bottom: clamp(6px, 0.8vw, 10px);
  border-radius: 32px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 243, 238, 0.98) 100% );
  box-shadow: var(--bb-shadow-card);
  transition: box-shadow 0.22s ease, border-color 0.22s ease;
  overflow: hidden;
}

.agenda-page .agenda-flow {
  display: grid;
  gap: 22px;
}

.agenda-show:hover {
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: var(--bb-shadow-card);
}

.agenda-show::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: linear-gradient( 180deg, var(--bb-red) 0%, var(--bb-red-deep) 100% );
  border-radius: 32px 0 0 32px;
}

.agenda-show.is-sold_out::after {
  background: linear-gradient(180deg, #666 0%, #1f1f1f 100%);
}

.agenda-show > * {
  position: relative;
  z-index: 1;
}

.agenda-show__poster-wrap {
  position: relative;
  display: grid;
  align-self: stretch;
}

.agenda-show__flyer {
  min-height: var(--agenda-show-flyer-min-height);
  aspect-ratio: var(--agenda-show-flyer-ratio);
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #120f0d;
}

.agenda-show__flyer .media-frame {
  min-height: 100%;
  background: #120f0d;
}

.agenda-show__flyer .media-frame__img {
  position: relative;
  z-index: 1;
}

.agenda-show__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "topline topline" "city city" "meta meta" "description description" "tease action";
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 8px 22px;
  align-content: start;
  min-width: 0;
  height: 100%;
}

.agenda-show__topline {
  grid-area: topline;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.agenda-show__date, .agenda-show__city {
  color: var(--black);
  font-weight: 900;
  text-transform: uppercase;
}

.agenda-show__date {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: fit-content;
  padding: 16px 18px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #f8efe4 100%);
  line-height: 1;
}

.agenda-show__weekday {
  display: block;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1;
  color: var(--bb-red-deep);
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.agenda-show__daymonth {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(24px, 2vw, 34px);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: var(--black);
}

.agenda-show__city {
  grid-area: city;
  min-width: 0;
  width: 100%;
  min-height: calc(var(--agenda-show-city-size) * 1.72);
  font-family: var(--font-display);
  font-size: var(--agenda-show-city-size);
  line-height: 0.95;
  letter-spacing: 0;
  text-wrap: balance;
  hyphens: manual;
}

.agenda-show__meta-row {
  grid-area: meta;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -2px;
}

.agenda-show__chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: rgba(255, 255, 255, 0.85);
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.agenda-show__chip--time {
  color: var(--bb-red-deep);
}

.agenda-show__description-block {
  grid-area: description;
  display: grid;
  justify-items: start;
  align-content: start;
  align-self: start;
  gap: 8px;
  min-width: 0;
  margin-top: -2px;
}

.agenda-show__description {
  margin: 0;
  font-size: var(--agenda-show-description-size);
  font-weight: 600;
  line-height: 1.62;
  max-width: 62ch;
  color: var(--ink-muted);
  min-width: 0;
}

.agenda-show__description.is-collapsible {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.agenda-show__description.is-collapsible.is-expanded {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.agenda-show__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(184, 38, 35, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--black);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.14);
}

.agenda-show__more[hidden] {
  display: none;
}

.agenda-show__more:hover, .agenda-show__more:focus-visible {
  border-color: rgba(184, 38, 35, 0.9);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.2), 0 10px 22px rgba(184, 38, 35, 0.14);
}

.agenda-show.is-description-open .agenda-show__description-block {
  align-content: start;
}

.agenda-show__tease {
  grid-area: tease;
  align-self: end;
  max-width: 42ch;
  color: var(--black);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.agenda-show__action {
  grid-area: action;
  align-self: end;
  justify-self: end;
  width: 100%;
  max-width: 228px;
  margin-top: auto;
  margin-bottom: 4px;
}

.agenda-show__action .ticket-button {
  --button-bg-rest: linear-gradient(180deg, var(--bb-red) 0%, var(--bb-red-deep) 100%);
  --button-bg-hover: linear-gradient(180deg, #d9312d 0%, #921815 100%);
  --button-border-rest: rgba(8, 8, 8, 0.92);
  --button-border-hover: rgba(8, 8, 8, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 18px 34px rgba(126, 21, 18, 0.18);
  --button-shadow-hover: 0 20px 36px rgba(126, 21, 18, 0.22), 0 0 0 4px rgba(209, 15, 18, 0.16);
  min-height: 58px;
  width: 100%;
  padding: 12px 18px;
  text-align: center;
}

.agenda-show__action .ticket-button span {
  display: block;
  color: inherit;
  font-size: var(--agenda-show-ticket-font-size);
  line-height: 1.08;
  letter-spacing: 0.1em;
}

.agenda-show.is-sold_out .agenda-show__action .ticket-button,
.agenda-show.is-sold_out .agenda-show__action .ticket-button:hover,
.agenda-show.is-sold_out .agenda-show__action .ticket-button:focus-visible {
  background: linear-gradient(180deg, #323232 0%, #151515 100%);
  border-color: rgba(8, 8, 8, 0.92);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.12);
}

.agenda-show__action .ticket-button.is-disabled, .agenda-show__action .ticket-button:disabled {
  background: linear-gradient(180deg, #8a8a8a 0%, #616161 100%);
  border-color: rgba(8, 8, 8, 0.4);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
  opacity: 0.8;
}

.agenda-page .agenda-backtop:hover, .agenda-page .agenda-backtop:focus-visible, .agenda-page .agenda-show__action .ticket-button:hover, .agenda-page .agenda-show__action .ticket-button:focus-visible, .agenda-page .agenda-more-button:hover, .agenda-page .agenda-more-button:focus-visible {
  transform: none;
}

.agenda-page .agenda-more-button:hover, .agenda-page .agenda-more-button:focus-visible, .agenda-page .agenda-backtop:hover, .agenda-page .agenda-backtop:focus-visible {
  box-shadow: var(--button-shadow-hover);
}

.agenda-batch {
  display: none;
  opacity: 0;
  transform: translateY(14px);
}

.agenda-batch.is-visible {
  display: grid;
  opacity: 1;
  transform: translateY(0);
  animation: agendaBatchIn 0.28s ease-out;
}

.agenda-more-wrap {
  display: none;
  justify-content: center;
  margin: 18px 0 8px;
}

.agenda-more-wrap.is-visible {
  display: flex;
}

.agenda-more-button {
  min-height: 52px;
  padding: 10px 22px;
  appearance: none;
  cursor: pointer;
}

.agenda-empty-state {
  display: grid;
  overflow: hidden;
  gap: 10px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 26px;
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 245, 238, 0.96) 100% );
  box-shadow: var(--bb-shadow-card);
}

.agenda-empty-state__title {
  margin: 0 0 6px;
  color: var(--black);
  font-family: var(--font-display);
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1;
  text-transform: uppercase;
}

.agenda-empty-state__text {
  margin: 0;
  max-width: 60ch;
  color: var(--ink-muted);
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}

.agenda-page__afterglow {
  width: min(100%, 980px);
  margin-inline: auto;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: radial-gradient( circle at 82% 18%, rgba(214, 176, 106, 0.22) 0%, rgba(214, 176, 106, 0) 22% ), radial-gradient( circle at 14% 78%, rgba(209, 19, 22, 0.2) 0%, rgba(209, 19, 22, 0) 28% ), linear-gradient(180deg, #0d0d0d 0%, #171311 100%);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.18);
}

.agenda-page__afterglow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: end;
  padding: clamp(16px, 2vw, 22px) clamp(22px, 2.8vw, 30px) clamp(18px, 2.4vw, 24px);
}

.agenda-page__afterglow-actions {
  justify-content: flex-end;
  justify-self: end;
  align-self: end;
  align-items: flex-end;
}

.agenda-backtop {
  min-height: 46px;
  padding: 8px 14px;
}

.agenda-backtop--floating {
  --agenda-backtop-base-bottom: 22px;
  position: fixed;
  right: 22px;
  bottom: var(--agenda-backtop-base-bottom);
  z-index: 70;
  will-change: opacity, transform;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.agenda-backtop--floating.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@keyframes agendaBatchIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

}

@media (max-width: 1180px) {
  .agenda-page__listing-head, .agenda-page__afterglow-grid {
    grid-template-columns: 1fr;
  }

  .agenda-page__afterglow-actions {
    justify-self: start;
  }

}

@media (max-width: 1080px) {
  .agenda-page {
    --agenda-show-columns: 1fr;
    --agenda-show-flyer-min-height: 286px;
  }

  .agenda-show__content {
    grid-template-columns: 1fr;
    grid-template-areas: "topline" "city" "meta" "description" "tease" "action";
  }

  .agenda-show__action {
    justify-self: stretch;
    max-width: none;
  }

}

@media (max-width: 768px) {
  .agenda-page {
    --agenda-page-margin-top: 4px;
    --agenda-list-gap: 18px;
    --agenda-show-padding: 18px;
    --agenda-show-flyer-min-height: 220px;
    --agenda-show-city-size: clamp(28px, 8vw, 42px);
  }

  .agenda-page__afterglow-grid {
    padding: 22px;
  }

  .agenda-show__topline {
    flex-direction: column;
    align-items: flex-start;
  }

  .agenda-show__date {
    padding: 14px 16px;
  }

  .agenda-show__weekday {
    font-size: 13px;
  }

  .agenda-show__daymonth {
    font-size: clamp(20px, 5.2vw, 26px);
  }

  .agenda-show__description {
    font-size: 15px;
  }

  .agenda-backtop--floating {
    --agenda-backtop-base-bottom: 14px;
    right: 14px;
  }

}

@media (max-width: 580px) {
  .agenda-show__chip {
    font-size: 10px;
    letter-spacing: 0.16em;
  }

  .agenda-page__afterglow-actions {
    width: 100%;
  }

  .agenda-page__afterglow-actions .bb-pill-button {
    width: 100%;
    justify-content: center;
  }

}

.agenda-page__listing-head .page-shell__section-title {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 52px);
}

.agenda-special-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, 380px);
  gap: clamp(22px, 3vw, 36px);
  align-items: stretch;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 34px;
  background: radial-gradient(circle at 12% 20%, rgba(209, 19, 22, 0.2) 0%, rgba(209, 19, 22, 0) 26%), radial-gradient(circle at 86% 78%, rgba(201, 153, 86, 0.16) 0%, rgba(201, 153, 86, 0) 28%), linear-gradient(180deg, #080808 0%, #121212 54%, #1a1411 100%);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.agenda-special-hero__content {
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 100%;
  padding: 0;
}

.agenda-special-hero__masthead {
  width: 100%;
  margin: 0;
  align-self: start;
  font-family: var(--font-display);
  font-size: clamp(1.92rem, 1.2rem + 2vw, 3.24rem);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  text-align: left;
  color: var(--bb-red);
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.44), 0 0 18px rgba(255, 30, 30, 0.18);
  white-space: nowrap;
}

.agenda-special-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  margin-top: 4px;
  padding: 0 18px;
  border: 1px solid #a50007;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff2424 0%, #cf1116 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 18px 32px rgba(165, 0, 7, 0.22);
}

.agenda-special-hero__title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(38px, 5vw, 72px);
  line-height: 0.84;
  letter-spacing: -0.05em;
  text-shadow: 0 8px 22px rgba(255, 255, 255, 0.08), 0 1px 0 rgba(255, 255, 255, 0.1);
}

.agenda-special-hero__billing {
  display: grid;
  gap: 4px;
  padding-top: 0;
  margin-bottom: 10px;
}


.agenda-special-hero__support {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 700;
  line-height: 1.18;
}

.agenda-special-hero__text {
  margin: 0;
  max-width: 60ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.62;
}

.agenda-special-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
  align-self: end;
  margin-top: clamp(16px, 2vw, 24px);
}

.agenda-special-hero__actions .bb-pill-button {
  margin-top: 0;
}
.agenda-special-hero__ghost {
  --button-bg-rest: linear-gradient(180deg, #080808 0%, #141414 100%);
  --button-bg-hover: linear-gradient(180deg, #121212 0%, #1c1c1c 100%);
  --button-border-rest: rgba(255, 247, 236, 0.72);
  --button-border-hover: rgba(255, 247, 236, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 0 0 1px rgba(255, 247, 236, 0.14), 0 0 18px rgba(255, 247, 236, 0.08), var(--button-shadow);
  --button-shadow-hover: 0 0 0 1px rgba(255, 247, 236, 0.22), 0 0 20px rgba(255, 247, 236, 0.14), 0 18px 32px rgba(0, 0, 0, 0.18);
}

.agenda-special-hero__visual {
  margin: 0;
  min-width: 0;
  align-self: stretch;
}

.agenda-special-hero__poster {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1452 / 2048;
  object-fit: cover;
  object-position: center top;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
}

.agenda-special-hero__more {
  display: none;
}

@media (max-width: 980px) {
  .agenda-special-hero {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .agenda-special-hero__content {
    order: 2;
    padding: 6px 4px 0;
  }

  .agenda-special-hero__visual {
    order: 1;
  }

}

@media (max-width: 680px) {
  .agenda-special-hero {
    gap: 18px;
    padding: 14px;
  }

  .agenda-special-hero__badge {
    min-height: 38px;
    padding: 0 14px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .agenda-special-hero__text--desktop {
    display: none;
  }

  .agenda-special-hero__more {
    display: grid;
    gap: 10px;
  }

  .agenda-special-hero__more summary {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(184, 38, 35, 0.72);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.14);
  }

  .agenda-special-hero__more summary::-webkit-details-marker {
    display: none;
  }

  .agenda-special-hero__more[open] summary {
    background: #fff;
    color: #000;
    border-color: rgba(184, 38, 35, 0.92);
    box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.2), 0 10px 22px rgba(184, 38, 35, 0.14);
  }

}

@media (min-width: 681px) {
  .agenda-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .agenda-show {
    height: 100%;
  }

}

.page-template-page-agenda-tickets .content-shell {
  padding-top: calc(var(--main-header-shell-height) + 4px);
}

@media (max-width: 960px) {
  .page-template-page-agenda-tickets .content-shell {
    padding-top: calc(var(--main-header-shell-height) + 5px);
  }

}

@media (max-width: 720px) {
  .page-template-page-agenda-tickets .content-shell {
    padding-top: calc(var(--main-header-shell-height) + 3px);
  }

}

body:not(.home) .main-header__bar,
body:not(.home) .main-header--compact .main-header__bar {
  background: rgba(0, 0, 0, 0.94);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(14px);
}


.home .bb-contact-grid {
  align-items: stretch;
}

.home .bb-contact-card--photo,
.home .bb-contact-card--newsletter {
  height: 100%;
}

.home .bb-contact-card--photo {
  display: grid;
  grid-template-rows: 148px auto;
}

.home .bb-contact-card--newsletter {
  display: flex;
  flex-direction: column;
  padding: 18px;
}

.home .bb-contact-card--photo .bb-contact-card__visual {
  min-height: 148px;
  max-height: 148px;
}

.home .bb-contact-card__body {
  padding: 18px;
}

.home .bb-contact-card .newsletter-form {
  margin-top: 18px;
  gap: 10px;
}

.home .bb-contact-card--photo .bb-media-image,
.home .bb-contact-card--photo .bb-media-image--contact-finale {
  object-position: center 8%;
}

.home .bb-contact-card--newsletter .bb-section__text {
  margin-top: 12px;
}

.home .bb-contact-card--newsletter > .bb-section__title {
  min-height: 0;
}

.home .bb-button-row--contact-newsletter {
  width: 100%;
  margin-top: auto;
  justify-content: flex-end;
}

.home .bb-button-row--contact-newsletter .bb-pill-button {
  margin-top: 0;
}

.home .bb-date-card {
  align-items: stretch;
}

.home .bb-date-card__meta {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-content: flex-start;
}

.home .bb-date-card__action {
  display: flex;
  align-self: stretch;
  align-items: flex-end;
  justify-content: flex-end;
}

.home .bb-date-card__button {
  --button-bg-rest: linear-gradient(180deg, var(--bb-red) 0%, var(--bb-red-deep) 100%);
  --button-bg-hover: linear-gradient(180deg, #ea1d21 0%, #ad0f12 100%);
  --button-border-rest: rgba(8, 8, 8, 0.92);
  --button-border-hover: rgba(8, 8, 8, 0.92);
  --button-color-rest: #fff;
  --button-color-hover: #fff;
  --button-shadow-rest: 0 18px 34px rgba(126, 21, 18, 0.18);
  --button-shadow-hover: 0 20px 36px rgba(126, 21, 18, 0.22), 0 0 0 4px rgba(209, 15, 18, 0.16);
  min-height: 60px;
  min-width: 148px;
  padding: 14px 18px;
}

.home .bb-date-card__button span {
  display: block;
  color: inherit;
  font-size: var(--agenda-show-ticket-font-size);
  line-height: 1.08;
  letter-spacing: 0.1em;
}

.home .bb-date-card.is-sold_out .bb-date-card__button,
.home .bb-date-card.is-sold_out .bb-date-card__button:hover,
.home .bb-date-card.is-sold_out .bb-date-card__button:focus-visible {
  background: linear-gradient(180deg, #323232 0%, #151515 100%);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.12);
}

.home .bb-date-card .bb-date-card__button.is-disabled,
.home .bb-date-card .bb-date-card__button:disabled {
  background: linear-gradient(180deg, #8a8a8a 0%, #616161 100%);
  border-color: rgba(8, 8, 8, 0.4);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
  opacity: 0.8;
}

.home .bb-section--special .bb-section__heading-copy--special-feature {
  max-width: min(100%, 1040px);
  margin-bottom: 0;
}

.home .bb-section--special .bb-section__heading-copy--special-feature .bb-section__title {
  max-width: none;
  color: var(--bb-black);
  white-space: nowrap;
  text-wrap: normal;
  font-size: clamp(28px, 3.15vw, 52px);
}

.home .bb-special-spotlight__content--feature {
  padding: clamp(14px, 1.6vw, 20px);
}

.home .bb-section--comedians .bb-section__heading-row--about {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: clamp(18px, 2.4vw, 34px);
  width: 100%;
}

.home .bb-section--comedians .bb-section__heading-copy--about {
  flex: 1 1 auto;
  min-width: 0;
}

.home .bb-section--comedians .bb-section__heading-row--about .bb-section__intro-actions {
  flex: 0 0 auto;
  margin: 0;
  justify-content: flex-end;
}
.home .bb-contact-card__social-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 4px;
  margin-bottom: 14px;
}

.home .bb-contact-card__social-row .bb-contact-card__social-text {
  margin: 0;
}

.home .bb-contact-card__social-row .bb-contact-card__socials {
  margin-top: 0;
  flex: 0 0 auto;
}

.home .bb-contact-card__social-row .social-icons--newsletter {
  justify-content: flex-end;
}

.agenda-page__hero-heading {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 14px;
}

.agenda-page__hero-title {
  max-width: none;
  white-space: nowrap;
  text-wrap: normal;
  font-size: clamp(28px, 3.15vw, 52px);
}


.agenda-special-hero__ticket {
  border-color: var(--bb-red);
  box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.22), 0 0 18px rgba(184, 38, 35, 0.18), var(--button-shadow-rest);
}

.agenda-special-hero__ticket:hover,
.agenda-special-hero__ticket:focus-visible {
  border-color: var(--bb-red);
  box-shadow: 0 0 0 1px rgba(184, 38, 35, 0.24), 0 0 20px rgba(184, 38, 35, 0.22), var(--button-shadow-hover);
}

.agenda-page__afterglow .page-shell__cta-title {
  margin-bottom: 6px;
  line-height: 1;
}

@media (min-width: 900px) {
  .agenda-page__afterglow .page-shell__cta-title {
    white-space: nowrap;
    font-size: clamp(17px, 1.34vw, 22px);
  }
}

@media (max-width: 1220px) {
  .home .bb-contact-card__social-row {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media (max-width: 1180px) {
  .home .bb-contact-card__social-row--desktop,
  .home .bb-button-row--contact-newsletter {
    display: none;
  }
}

@media (max-width: 1100px) {
  .home .bb-section--comedians .bb-section__heading-row--about {
    align-items: flex-start;
    flex-direction: column;
  }

  .home .bb-section--comedians .bb-section__heading-row--about .bb-section__intro-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .home .bb-section--special .bb-section__heading-copy--special-feature .bb-section__title,
  .agenda-page__hero-title {
    white-space: normal;
    text-wrap: balance;
  }

  .home .bb-date-card__meta,
  .home .bb-date-card__action {
    align-self: auto;
  }

  .home .bb-date-card__action {
    width: 100%;
    justify-content: stretch;
  }
}

@media (max-width: 640px) {
  .agenda-special-hero__masthead,
  .agenda-page__hero-title,
  .agenda-page__afterglow .page-shell__cta-title {
    white-space: normal;
  }
}



:is(
  .bb-pill-button,
  .hvh-red-button,
  .agenda-backtop,
  .bb-bookings-more-button
):not(.bb-pill-button--special-ticket):not(.agenda-special-hero__ticket) {
  --button-bg-rest: var(--hvh-btn-dark-bg-rest);
  --button-bg-hover: var(--hvh-btn-dark-bg-hover);
  --button-border-rest: var(--hvh-btn-dark-border-rest);
  --button-border-hover: var(--hvh-btn-dark-border-hover);
  --button-color-rest: var(--hvh-btn-dark-color-rest);
  --button-color-hover: var(--hvh-btn-dark-color-hover);
  --button-shadow-rest: var(--hvh-btn-dark-shadow-rest);
  --button-shadow-hover: var(--hvh-btn-dark-shadow-hover);
  background: var(--button-bg-rest);
  color: var(--button-color-rest);
  border-color: var(--button-border-rest);
  box-shadow: var(--button-shadow-rest);
}

:is(
  .bb-pill-button,
  .hvh-red-button,
  .agenda-backtop,
  .bb-bookings-more-button
):not(.bb-pill-button--special-ticket):not(.agenda-special-hero__ticket):hover,
:is(
  .bb-pill-button,
  .hvh-red-button,
  .agenda-backtop,
  .bb-bookings-more-button
):not(.bb-pill-button--special-ticket):not(.agenda-special-hero__ticket):focus-visible {
  background: var(--button-bg-hover);
  color: var(--button-color-hover);
  border-color: var(--button-border-hover);
  box-shadow: var(--button-shadow-hover);
}

:is(
  .bb-section--bookings .bb-pill-button,
  .bb-section--moments .bb-pill-button,
  .bb-section--special .bb-pill-button:not(.bb-pill-button--special-ticket),
  .bb-contact-card--photo .bb-pill-button,
  .page-shell__hero .bb-pill-button:not(.agenda-special-hero__ticket),
  .page-shell__callout .bb-pill-button,
  .page-shell__cta .bb-pill-button,
  .bb-bookings-more-button,
  .bb-landing-hero__secondary-link,
  .page-shell__hero .hvh-red-button
) {
  --button-bg-rest: var(--hvh-btn-light-bg-rest);
  --button-bg-hover: var(--hvh-btn-light-bg-hover);
  --button-border-rest: var(--hvh-btn-light-border-rest);
  --button-border-hover: var(--hvh-btn-light-border-hover);
  --button-color-rest: var(--hvh-btn-light-color-rest);
  --button-color-hover: var(--hvh-btn-light-color-hover);
  --button-shadow-rest: var(--hvh-btn-light-shadow-rest);
  --button-shadow-hover: var(--hvh-btn-light-shadow-hover);
  background: var(--button-bg-rest);
  color: var(--button-color-rest);
  border-color: var(--button-border-rest);
  box-shadow: var(--button-shadow-rest);
  backdrop-filter: none;
}

:is(
  .bb-section--bookings .bb-pill-button,
  .bb-section--moments .bb-pill-button,
  .bb-section--special .bb-pill-button:not(.bb-pill-button--special-ticket),
  .bb-contact-card--photo .bb-pill-button,
  .page-shell__hero .bb-pill-button:not(.agenda-special-hero__ticket),
  .page-shell__callout .bb-pill-button,
  .page-shell__cta .bb-pill-button,
  .bb-bookings-more-button,
  .bb-landing-hero__secondary-link,
  .page-shell__hero .hvh-red-button
):hover,
:is(
  .bb-section--bookings .bb-pill-button,
  .bb-section--moments .bb-pill-button,
  .bb-section--special .bb-pill-button:not(.bb-pill-button--special-ticket),
  .bb-contact-card--photo .bb-pill-button,
  .page-shell__hero .bb-pill-button:not(.agenda-special-hero__ticket),
  .page-shell__callout .bb-pill-button,
  .page-shell__cta .bb-pill-button,
  .bb-bookings-more-button,
  .bb-landing-hero__secondary-link,
  .page-shell__hero .hvh-red-button
):focus-visible {
  background: var(--button-bg-hover);
  color: var(--button-color-hover);
  border-color: var(--button-border-hover);
  box-shadow: var(--button-shadow-hover);
}

:is(
  .ticket-button,
  .bb-pill-button--special-ticket,
  .agenda-special-hero__ticket
) {
  --button-bg-rest: var(--hvh-btn-ticket-bg-rest);
  --button-bg-hover: var(--hvh-btn-ticket-bg-hover);
  --button-border-rest: var(--hvh-btn-ticket-border-rest);
  --button-border-hover: var(--hvh-btn-ticket-border-hover);
  --button-color-rest: var(--hvh-btn-ticket-color-rest);
  --button-color-hover: var(--hvh-btn-ticket-color-hover);
  --button-shadow-rest: var(--hvh-btn-ticket-shadow-rest);
  --button-shadow-hover: var(--hvh-btn-ticket-shadow-hover);
  background: var(--button-bg-rest);
  color: var(--button-color-rest);
  border-color: var(--button-border-rest);
  box-shadow: var(--button-shadow-rest);
}

:is(
  .ticket-button,
  .bb-pill-button--special-ticket,
  .agenda-special-hero__ticket
):hover,
:is(
  .ticket-button,
  .bb-pill-button--special-ticket,
  .agenda-special-hero__ticket
):focus-visible {
  background: var(--button-bg-hover);
  color: var(--button-color-hover);
  border-color: var(--button-border-hover);
  box-shadow: var(--button-shadow-hover);
}

.agenda-special-hero__ticket span,
.bb-pill-button--special-ticket span {
  color: inherit;
}

.page-template-page-agenda-tickets .agenda-show {
  padding-bottom: 0;
}

.page-template-page-agenda-tickets .agenda-show__content {
  grid-template-areas: "topline topline" "city city" "description description" "meta meta" "tease action";
  grid-template-rows: auto auto auto auto 1fr auto;
  gap: 6px 20px;
}

.page-template-page-agenda-tickets .agenda-show__city {
  min-height: calc(var(--agenda-show-city-size) * 1.56);
  margin-bottom: 0;
}

.page-template-page-agenda-tickets .agenda-show__description-block {
  margin-top: 0;
}

.page-template-page-agenda-tickets .agenda-show__meta-row {
  margin-top: 2px;
}

.page-template-page-agenda-tickets .agenda-show__tease {
  margin-top: 4px;
}

.page-template-page-agenda-tickets .agenda-show__action {
  align-self: end;
  margin-bottom: 0;
  padding-bottom: 0;
}

.page-template-page-agenda-tickets .agenda-show__action .ticket-button {
  align-self: end;
  min-height: 54px;
}

.page-template-page-agenda-tickets .agenda-page__afterglow {
  width: min(100%, 1088px);
}

.page-template-page-agenda-tickets .agenda-page__afterglow-grid {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: stretch;
  padding: clamp(14px, 1.8vw, 18px) clamp(24px, 3vw, 34px) clamp(16px, 2vw, 20px);
}

.page-template-page-agenda-tickets .agenda-page__afterglow-copy {
  display: grid;
  align-content: start;
}

.page-template-page-agenda-tickets .agenda-page__afterglow-copy .page-shell__eyebrow {
  margin-bottom: 14px;
}

.page-template-page-agenda-tickets .agenda-page__afterglow .page-shell__cta-title {
  margin-bottom: 8px;
}

.page-template-page-agenda-tickets .agenda-page__afterglow-actions {
  height: 100%;
  min-width: max-content;
  justify-self: end;
  align-self: stretch;
  justify-content: flex-end;
  align-items: flex-end;
}

@media (max-width: 1180px) {
  .page-template-page-agenda-tickets .agenda-page__afterglow-grid {
    grid-template-columns: 1fr;
  }

  .page-template-page-agenda-tickets .agenda-page__afterglow-actions {
    width: 100%;
    min-width: 0;
    justify-self: end;
    justify-content: flex-end;
  }
}

@media (max-width: 1080px) {
  .page-template-page-agenda-tickets .agenda-show__content {
    grid-template-columns: 1fr;
    grid-template-areas: "topline" "city" "description" "meta" "tease" "action";
    grid-template-rows: auto auto auto auto 1fr auto;
  }
}

@media (max-width: 580px) {
  .page-template-page-agenda-tickets .agenda-page__afterglow-actions .bb-pill-button {
    width: auto;
    min-width: 0;
  }
}

.page-shell--media-page .page-shell__brand {
  display: none;
}

.page-shell__editor--media-press .page-card__content {
  display: grid;
  gap: clamp(20px, 2.4vw, 30px);
}

.media-press-card {
  display: grid;
  gap: clamp(22px, 2.6vw, 32px);
}

.media-press-intro {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2vw, 24px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 240, 233, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.media-press-intro__eyebrow,
.media-press-item__source,
.media-press-note__label {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--page-accent);
}

.media-press-intro__text {
  margin: 0;
  max-width: 72ch;
  color: var(--ink-muted);
  line-height: 1.68;
}

.media-press-card__section,
.media-press-note {
  display: grid;
  gap: 16px;
}

.media-press-card__section-head {
  display: grid;
  gap: 8px;
}

.media-press-card__section-head > * {
  margin: 0;
}

.media-press-card__section-head p,
.media-press-item__text,
.media-press-note p {
  color: var(--ink-muted);
  line-height: 1.66;
}

.media-press-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 22px);
}

.media-press-item {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: clamp(16px, 1.9vw, 22px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 240, 233, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.media-press-item > * {
  margin: 0;
}

.media-press-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
  background: rgba(8, 8, 8, 0.08);
}

.media-press-item__meta {
  display: grid;
  gap: 8px;
}

.media-press-item__title,
.media-press-note h3 {
  margin: 0;
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--bb-black);
}

.media-press-item__cta {
  justify-self: start;
  margin-top: 2px;
}

.media-press-item__cta--disabled {
  opacity: 0.72;
  pointer-events: none;
}

.media-press-card__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 22px);
}

.media-press-note {
  padding: clamp(18px, 2vw, 24px);
  border-radius: 28px;
  border: 1px solid rgba(8, 8, 8, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 240, 233, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 16px 34px rgba(18, 18, 18, 0.05);
}

.media-press-note > * {
  margin: 0;
}

@media (max-width: 960px) {
  .media-press-grid,
  .media-press-card__meta-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* Columns page */
.page-shell--columns-custom {
  gap: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.columns-page,
.columns-page.columns-page--no-intro {
  width: min(calc(100% - 44px), 1160px);
  max-width: none;
  margin: 0 auto;
  padding: 0 0 88px;
  color: var(--bb-ink);
  display: grid;
  gap: 36px;
}

.columns-page__intro {
  display: grid;
  gap: 12px;
  max-width: 760px;
  margin: 0 0 32px;
  padding-top: 8px;
}

.columns-page__featured-wrap,
.columns-page__archive,
.columns-accordion,
.columns-list,
.columns-author-panel,
.columns-newsletter,
.columns-newsletter__header,
.columns-inline-card,
.columns-list-row__title-group {
  display: grid;
}

.columns-page__featured-wrap,
.columns-page__archive {
  gap: 24px;
}

.columns-page__archive {
  margin-top: clamp(52px, 6vw, 80px);
}

.columns-page__archive-head,
.columns-page__load-more-wrap,
.columns-page__load-complete {
  display: flex;
}

.columns-page__archive-head {
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 8px;
}

.columns-page__eyebrow,
.columns-hero-card__label,
.columns-inline-card__label,
.columns-newsletter__eyebrow {
  color: var(--bb-red);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.columns-page__title,
.columns-author-panel__name,
.columns-hero-card__title,
.columns-inline-card__title,
.columns-accordion__content h3,
.columns-newsletter__title,
.columns-page__archive-title,
.columns-accordion__open-author-name {
  color: var(--bb-ink);
}

.columns-page__title {
  margin: 10px 0 14px;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.columns-page__text,
.columns-author-panel__role,
.columns-hero-card__date,
.columns-inline-card__meta,
.columns-list-row__meta,
.columns-hero-card__summary,
.columns-inline-card__summary,
.columns-accordion__summary-compact,
.columns-newsletter__text,
.columns-page__load-complete,
.columns-accordion__open-author-role,
.columns-accordion__open-date {
  color: var(--bb-muted);
}

.columns-page__text {
  margin: 0;
  max-width: 64ch;
  font-size: 1.08rem;
  line-height: 1.7;
}

.columns-page__archive-title {
  margin: 0;
  font-size: clamp(1.38rem, 1.8vw, 1.84rem);
  letter-spacing: -0.025em;
}

.columns-page__empty,
.columns-page__archive-empty {
  padding: 28px;
  border: 1px solid rgba(8, 8, 8, 0.12);
  border-radius: 28px;
  background: linear-gradient(180deg, #fffdfa 0%, #f7f2eb 100%);
  color: var(--bb-muted);
}

.columns-accordion {
  position: relative;
  margin: 0;
  scroll-margin-top: 24px;
}

.columns-accordion__shell {
  overflow: clip;
  border: 1px solid rgba(8, 8, 8, 0.12);
  border-radius: 30px;
  background: #fffdfa;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.06);
}

.columns-accordion--featured,
.columns-accordion--featured .columns-accordion__shell {
  width: 100%;
}

.columns-accordion--featured .columns-accordion__shell {
  background: #fffdfa;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.07);
}

.columns-hero-card,
.columns-accordion__panel-inner--featured,
.columns-accordion__panel-inner--compact {
  padding: 0;
  background: transparent;
}

.columns-hero-card__grid {
  display: grid;
  grid-template-columns: minmax(280px, 34%) minmax(0, 1fr);
  gap: clamp(28px, 3vw, 44px);
  align-items: center;
  min-height: 0;
}

.columns-accordion__open-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.columns-hero-card__media-column {
  min-width: 0;
  padding: clamp(18px, 2vw, 28px) 0 clamp(18px, 2vw, 28px) clamp(18px, 2vw, 28px);
}

.columns-hero-card__media-wrap {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  min-height: 100%;
  border-radius: 26px;
  background: #efe7dc;
}

.columns-hero-card__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.columns-hero-card__content-column,
.columns-accordion__open-content,
.columns-inline-card {
  max-width: none;
}

.columns-hero-card__content-column {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: clamp(18px, 2vw, 28px) clamp(22px, 2.8vw, 40px) clamp(18px, 2vw, 28px) 0;
}

.columns-author-panel {
  gap: 18px;
  align-content: start;
}

.columns-author-panel--inline,
.columns-inline-card__author-block {
  display: none;
}

.columns-author-panel__image-wrap {
  min-height: 0;
  aspect-ratio: 4 / 3.35;
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(180deg, #fffdfa 0%, #f2e8da 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.58);
}

.columns-author-panel__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.columns-author-panel__body {
  display: grid;
  gap: 8px;
}

.columns-author-panel__name {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.05;
}

.columns-hero-card__header,
.columns-inline-card__header,
.columns-newsletter__header {
  display: grid;
  gap: 10px;
}

.columns-hero-card__title,
.columns-inline-card__title {
  margin: 0;
  letter-spacing: -0.028em;
  text-wrap: balance;
}

.columns-hero-card__title {
  max-width: 11ch;
  font-size: clamp(2.35rem, 4.1vw, 4.6rem);
  line-height: 0.94;
}

.columns-inline-card__title {
  font-size: clamp(1.5rem, 2.1vw, 2rem);
  line-height: 1.08;
}

.columns-hero-card__meta,
.columns-inline-card__meta,
.columns-list-row__meta,
.columns-accordion__open-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 0.95rem;
  line-height: 1.5;
}

.columns-hero-card__author-name,
.columns-accordion__open-author-name {
  font-weight: 800;
  color: var(--bb-black);
}

.columns-list-row__meta span + span::before,
.columns-inline-card__meta span + span::before,
.columns-hero-card__meta span + span::before,
.columns-accordion__open-meta span + span::before {
  content: '•';
  margin-right: 16px;
  color: rgba(8, 8, 8, 0.34);
}


.columns-hero-card__mobile-author {
  display: none;
}

.columns-hero-card__summary,
.columns-inline-card__summary,
.columns-accordion__summary-compact {
  max-width: 56ch;
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.7;
}

.columns-hero-card__summary {
  display: none;
}

.columns-toggle,
.columns-page__load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: fit-content;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(72, 7, 16, 0.92);
  border-radius: 999px;
  background: linear-gradient(180deg, #6d0f1c 0%, #4b0812 55%, #2b040a 100%);
  color: #fff7f8;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 16px 30px rgba(49, 5, 13, 0.22);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.columns-toggle:hover,
.columns-page__load-more:hover,
.columns-list-row:hover {
  transform: translateY(-1px);
}

.columns-page__load-more-wrap,
.columns-page__load-complete {
  justify-content: center;
}

.columns-toggle__icon,
.columns-list-row__icon {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffd6dd;
}

.columns-toggle--hero {
  margin-top: 6px;
}

.columns-toggle--hero:hover,
.columns-toggle--close:hover,
.columns-page__load-more:hover {
  background: linear-gradient(180deg, #7d1322 0%, #58101a 55%, #32070d 100%);
  box-shadow: 0 18px 34px rgba(49, 5, 13, 0.28);
}

.columns-accordion.is-open .columns-toggle--hero {
  display: none;
}

.columns-accordion__panel {
  padding-top: 0;
  padding-bottom: 22px;
}

.columns-accordion__open-grid,
.columns-inline-card {
  margin-top: 10px;
  padding-top: 28px;
  border-top: 1px solid rgba(8, 8, 8, 0.1);
}

.columns-accordion__open-grid--featured-single {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.columns-accordion__open-content {
  padding: 0 clamp(18px, 2.2vw, 32px) 0 calc(clamp(18px, 2.2vw, 32px) + 180px + clamp(22px, 2.4vw, 34px));
}

.columns-accordion__open-content--featured-single {
  padding-left: clamp(22px, 2.8vw, 40px);
  padding-right: clamp(22px, 2.8vw, 40px);
  text-align: left;
}

.columns-accordion__open-meta {
  margin: 0 0 12px;
  align-items: center;
}

.columns-inline-card {
  gap: 18px;
  padding-right: 4px;
}

.columns-inline-card__header {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.columns-inline-card__summary,
.columns-accordion__summary-compact {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(8, 8, 8, 0.1);
}

.columns-accordion__content {
  color: var(--bb-ink);
  max-width: 74ch;
  font-size: clamp(1.03rem, 0.32vw + 0.98rem, 1.08rem);
  line-height: 1.78;
  text-wrap: pretty;
}

.columns-accordion__content--featured,
.columns-accordion__content--compact,
.columns-accordion__content > * {
  max-width: 100%;
}

.columns-accordion__content p,
.columns-accordion__content h3 {
  margin: 0;
}

.columns-accordion__content--featured > p:first-child {
  font-size: 1.12rem;
  line-height: 1.84;
  color: #2b2622;
}

.columns-accordion__content h3 {
  margin-top: 1.95em;
  margin-bottom: 0.7em;
  font-size: 1.22rem;
  line-height: 1.28;
}

.columns-accordion__content p {
  margin-bottom: 1em;
}

.columns-accordion__content ul,
.columns-accordion__content ol {
  margin: 0 0 1.3em;
  padding-left: 1.2em;
}

.columns-accordion__content li + li {
  margin-top: 0.5em;
}

.columns-accordion__after-content {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(8, 8, 8, 0.1);
}

.columns-toggle--close {
  margin: 30px auto 0;
}

.columns-accordion__open-content--featured-single {
  padding-bottom: 8px;
}

.columns-accordion__summary-compact {
  max-width: 62ch;
  margin-bottom: 2px;
}

.columns-accordion__after-content {
  max-width: 100%;
}

.columns-list {
  border-top: 1px solid rgba(8, 8, 8, 0.12);
}

.columns-list__item {
  border-bottom: 1px solid rgba(8, 8, 8, 0.12);
}

.columns-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  width: 100%;
  padding: 28px 6px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .18s ease, transform .18s ease, color .18s ease;
}

.columns-list-row:hover {
  transform: translateX(2px);
  color: #2c2723;
  background: rgba(255, 255, 255, 0.42);
}

.columns-list-row__title-group {
  gap: 10px;
}

.columns-list-row__title {
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.3;
}

.columns-newsletter {
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(8, 8, 8, 0.12);
  border-radius: 28px;
  background: linear-gradient(180deg, #fffdfa 0%, #f7f2eb 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.columns-newsletter--compact {
  gap: 14px;
  padding: 20px;
}

.columns-newsletter__title {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.columns-newsletter__text {
  margin: 0;
  max-width: 54ch;
  line-height: 1.72;
}

.columns-newsletter .newsletter-form,
.columns-newsletter .newsletter-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
}

.columns-newsletter .newsletter-form__field-wrap {
  min-width: 0;
}

.columns-newsletter .newsletter-form__field {
  width: 100%;
  min-height: 52px;
  padding: 0 1rem;
  border: 1px solid rgba(8, 8, 8, 0.14);
  border-radius: 16px;
  background: rgba(255,255,255,0.92);
  color: var(--bb-ink);
  font: inherit;
}

.columns-newsletter .newsletter-form__field::placeholder {
  color: rgba(18, 18, 18, 0.46);
}

.columns-newsletter .newsletter-form__submit,
.columns-newsletter .hvh-red-button {
  min-height: 52px;
  padding: 0 1.4rem;
  border-color: rgba(8, 8, 8, 0.9);
  border-radius: 16px;
  background: linear-gradient(180deg, var(--bb-red) 0%, var(--bb-red-deep) 100%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(126, 21, 18, 0.18);
}

.columns-newsletter .hvh-red-button:hover,
.columns-newsletter .hvh-red-button:focus-visible {
  background: linear-gradient(180deg, #d9312d 0%, #921815 100%);
  color: #fff;
}

@media (max-width: 960px) {
  .columns-page,
  .columns-page.columns-page--no-intro {
    width: min(calc(100% - 32px), 1160px);
  }

  .columns-hero-card__grid,
  .columns-accordion__open-grid,
  .columns-inline-card__header,
  .columns-newsletter .newsletter-form,
  .columns-newsletter .newsletter-form__row {
    grid-template-columns: 1fr;
  }

  .columns-hero-card__media-column {
    padding: 20px 20px 0;
  }

  .columns-hero-card__media-wrap {
    aspect-ratio: 16 / 9;
  }

  .columns-hero-card__title {
    max-width: none;
  }

  .columns-accordion__open-grid,
  .columns-inline-card {
    padding-top: 22px;
  }

  .columns-accordion__open-content,
  .columns-accordion__open-content--featured-single {
    padding-left: 0;
    padding-right: 0;
  }
}


/* Columns page featured card + visual system */
.columns-hero-heading {
  margin: 0 0 -4px;
  padding: 0 10px;
  position: relative;
  z-index: 2;
}

.columns-hero-heading__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 2.9vw, 3rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
  text-wrap: balance;
  text-shadow:
    0 1px 0 rgba(255,255,255,0.22),
    0 3px 10px rgba(0,0,0,0.18);
}

.columns-hero-card {
  padding: 18px 20px;
  border: 2px solid #8f2430;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.02) 14%, rgba(255,255,255,0) 28%),
    linear-gradient(180deg, #181818 0%, #080808 100%);
  box-shadow:
    0 18px 36px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.14),
    inset 0 -12px 24px rgba(0,0,0,0.26);
}

.columns-hero-card__grid {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.columns-hero-card__media-column {
  display: flex;
  padding: 0;
}

.columns-hero-card__media-wrap {
  width: 116px;
  height: 116px;
  aspect-ratio: 1 / 1;
  border: 2px solid rgba(255,255,255,0.16);
  border-radius: 18px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.18);
}

.columns-hero-card__content-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "meta meta"
    "summary summary"
    ". actions";
  gap: 10px 16px;
  align-content: center;
  min-height: 116px;
  padding: 0;
}

.columns-hero-card__meta {
  grid-area: meta;
  width: 100%;
  margin: 0;
  gap: 8px 14px;
  font-size: 1.02rem;
  line-height: 1.35;
}

.columns-hero-card__author-name,
.columns-hero-card__date {
  color: rgba(255,255,255,0.96);
}

.columns-hero-card__author-name {
  font-size: 1.08rem;
  font-weight: 800;
}

.columns-hero-card__summary {
  grid-area: summary;
  display: -webkit-box;
  margin: 0;
  max-width: 72ch;
  overflow: hidden;
  color: rgba(255,255,255,0.9);
  font-size: 0.98rem;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.columns-hero-card__actions {
  grid-area: actions;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  margin-top: 2px;
  padding-top: 0;
}

.columns-toggle--hero {
  margin: 0;
  margin-left: auto;
}

.columns-accordion__panel {
  padding-top: 0;
  padding-bottom: 22px;
}

.columns-accordion--featured .columns-accordion__panel {
  margin-top: -8px;
}

.columns-accordion--featured .columns-accordion__panel-inner--featured {
  border: 2px solid rgba(143, 36, 48, 0.22);
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background: #f6f1ea;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52);
}

.columns-accordion__open-content--featured-single {
  padding-top: 24px;
}

.columns-accordion__content--featured > p:first-child {
  margin-top: 0;
}
@media (max-width: 900px) {
  .columns-hero-card__grid {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
  }

  .columns-hero-card__media-wrap {
    width: 92px;
    height: 92px;
  }

  .columns-hero-card__content-column {
    min-height: 92px;
  }

  .columns-hero-card__title {
    font-size: clamp(1.7rem, 5.2vw, 2.5rem);
  }
}

/* Columns rebuild based on final layout brief */
.page-shell--columns-custom {
  background: transparent;
  box-shadow: none;
}

.columns-page,
.columns-page.columns-page--no-intro {
  width: min(calc(100% - 44px), 1120px);
  margin: 0 auto;
  padding: clamp(42px, 5vw, 72px) 0 96px;
  display: grid;
  gap: clamp(28px, 4vw, 42px);
}

.columns-page__page-header,
.columns-page__archive-head {
  margin: 0;
}

.columns-page__page-title {
  max-width: none;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(30px, 3vw, 46px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  color: var(--bb-black);
  text-wrap: balance;
}

.columns-page__featured-wrap {
  display: grid;
  gap: 14px;
}

.columns-page__archive {
  display: grid;
  gap: 22px;
  margin-top: clamp(18px, 3vw, 30px);
}

.columns-page__archive-title,
.columns-card-title {
  margin: 0;
  font-family: var(--font-display);
  line-height: 0.94;
  letter-spacing: -0.04em;
  color: var(--bb-black);
  text-wrap: balance;
}

.columns-card-title {
  font-size: clamp(28px, 2.7vw, 44px);
}

.columns-page__archive-title {
  font-size: clamp(28px, 2.7vw, 44px);
}

.columns-card-title--archive-item {
  font-size: clamp(22px, 1.8vw, 30px);
}

.columns-accordion {
  scroll-margin-top: 110px;
}

.columns-accordion__shell {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.columns-accordion__summary {
  display: grid;
  gap: 12px;
}

.columns-accordion--list .columns-accordion__summary {
  max-width: 760px;
}

.columns-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(8, 8, 8, 0.1);
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #faf6ef 100%);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.columns-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  pointer-events: none;
}

.columns-card--featured::before {
  background: linear-gradient(90deg, #37a8ff 0%, #8ad8ff 100%);
}

.columns-card--archive::before {
  background: linear-gradient(90deg, #e36b6b 0%, #f2a2a2 100%);
}

.columns-card--featured {
  min-height: clamp(248px, 24vw, 300px);
}

.columns-card--archive {
  min-height: 170px;
}

.columns-card--featured .columns-card__grid {
  grid-template-columns: minmax(220px, 21%) minmax(0, 1fr);
}

.columns-card--archive .columns-card__grid {
  grid-template-columns: minmax(124px, 18%) minmax(0, 1fr);
}

.columns-card__grid {
  display: grid;
  align-items: stretch;
  min-height: inherit;
}

.columns-card__media-column {
  min-width: 0;
}

.columns-card__media-wrap {
  width: 100%;
  height: 100%;
  min-height: inherit;
  background: #ece7de;
}

.columns-card__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.columns-card__content-column {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: inherit;
  padding: clamp(18px, 2vw, 24px) clamp(20px, 2.4vw, 30px) 18px;
  color: var(--bb-black);
}

.columns-card__topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.columns-card__author-name,
.columns-card__date {
  margin: 0;
  color: var(--bb-black);
  font-size: clamp(15px, 0.95vw, 17px);
  line-height: 1.55;
}

.columns-card__author-name {
  font-weight: 700;
}

.columns-card__date {
  color: rgba(8, 8, 8, 0.68);
  text-align: right;
  white-space: nowrap;
}

.columns-card__summary-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 0;
  padding-top: 14px;
}

.columns-card__summary {
  display: -webkit-box;
  margin: 0;
  width: 100%;
  overflow: hidden;
  color: rgba(8, 8, 8, 0.82);
  font-size: clamp(16px, 1.02vw, 17px);
  line-height: 1.72;
  -webkit-box-orient: vertical;
}

.columns-card--featured .columns-card__summary {
  -webkit-line-clamp: 4;
}

.columns-card--archive .columns-card__summary {
  -webkit-line-clamp: 3;
}

.columns-card__actions {
  display: flex;
  width: 100%;
  padding-top: 12px;
}

.columns-card__actions--center {
  justify-content: center;
}

.columns-card__actions--end {
  justify-content: flex-end;
}

.columns-text-toggle,
.columns-page__load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bb-black);
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}

.columns-text-toggle__label,
.columns-page__load-more {
  font-size: 0.98rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.columns-text-toggle::after,
.columns-page__load-more::after {
  content: '';
  width: 0;
  height: 1px;
  background: currentColor;
  transition: width .18s ease;
}

.columns-text-toggle:hover::after,
.columns-text-toggle:focus-visible::after,
.columns-page__load-more:hover::after,
.columns-page__load-more:focus-visible::after {
  width: 100%;
}

.columns-text-toggle:focus-visible,
.columns-page__load-more:focus-visible {
  outline: 2px solid rgba(8, 8, 8, 0.2);
  outline-offset: 4px;
}

.columns-accordion__panel {
  padding: 0;
}

.columns-open-reading {
  margin-top: 12px;
  border: 1px solid rgba(8, 8, 8, 0.1);
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f3eb 100%);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.columns-open-reading--featured {
  border-top: 4px solid #8ad8ff;
}

.columns-open-reading--archive {
  border-top: 4px solid #f0a2a2;
}

.columns-open-reading__inner {
  display: grid;
  gap: 0;
  padding: clamp(30px, 4vw, 44px) clamp(22px, 4vw, 46px) 28px;
}

.columns-open-reading__content {
  max-width: 74ch;
  width: 100%;
  color: var(--bb-black);
}

.columns-accordion__content,
.columns-accordion__content p,
.columns-accordion__content li,
.columns-accordion__content h2,
.columns-accordion__content h3,
.columns-accordion__content h4 {
  color: var(--bb-black);
}

.columns-accordion__content {
  font-size: clamp(1.02rem, 0.22vw + 0.98rem, 1.08rem);
  line-height: 1.82;
}

.columns-accordion__content--featured > p:first-child,
.columns-accordion__content--compact > p:first-child {
  margin-top: 0;
}

.columns-text-toggle--close {
  justify-self: center;
  margin-top: 20px;
  color: rgba(8, 8, 8, 0.72);
}

.columns-text-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.08rem;
  line-height: 1;
}

.columns-list {
  border: 0;
  gap: 22px;
}

.columns-list__item {
  display: grid;
  gap: 12px;
  padding: 0;
  border: 0;
}

.columns-page__footer-newsletter {
  margin-top: clamp(18px, 3vw, 28px);
}

.columns-newsletter {
  gap: 18px;
  min-height: clamp(248px, 24vw, 300px);
  padding: 24px 28px;
  border: 1px solid rgba(8, 8, 8, 0.12);
  border-radius: 28px;
  background: linear-gradient(180deg, #fffdfa 0%, #f7f2eb 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.74);
}

.columns-newsletter__title {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.columns-newsletter__text {
  margin: 0;
  max-width: 54ch;
  font-size: clamp(16px, 1.02vw, 17px);
  line-height: 1.72;
}

.columns-page__load-more-wrap,
.columns-page__load-complete {
  justify-content: center;
}

.columns-page__load-more,
.columns-page__load-complete {
  color: var(--bb-black);
}

@media (max-width: 900px) {
  .columns-page,
  .columns-page.columns-page--no-intro {
    width: min(calc(100% - 32px), 1120px);
    padding-top: 36px;
  }

  .columns-card--featured .columns-card__grid {
    grid-template-columns: minmax(180px, 26%) minmax(0, 1fr);
  }

  .columns-card--archive .columns-card__grid {
    grid-template-columns: minmax(110px, 22%) minmax(0, 1fr);
  }

  .columns-accordion--list .columns-accordion__summary {
    max-width: none;
  }

  .columns-open-reading__inner {
    padding: 28px 20px 24px;
  }
}

@media (max-width: 640px) {
  .columns-page__page-title,
  .columns-page__archive-title,
  .columns-card-title {
    font-size: clamp(28px, 8vw, 42px);
  }

  .columns-card-title--archive-item {
    font-size: clamp(21px, 6vw, 28px);
  }

  .columns-card--featured .columns-card__grid,
  .columns-card--archive .columns-card__grid {
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .columns-card__content-column {
    padding: 16px;
  }

  .columns-card__topline {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .columns-card__date {
    text-align: left;
    white-space: normal;
  }

  .columns-card__summary-wrap {
    padding-top: 10px;
  }

  .columns-card--featured,
  .columns-newsletter {
    min-height: 236px;
  }

  .columns-newsletter {
    padding: 22px 20px;
  }
}


/* Columns responsive stability pass */
.columns-card,
.columns-open-reading,
.columns-newsletter {
  max-width: 100%;
}

.columns-card__summary,
.columns-open-reading__content,
.columns-open-reading__content p,
.columns-open-reading__content li,
.columns-open-reading__content h2,
.columns-open-reading__content h3,
.columns-open-reading__content h4 {
  overflow-wrap: anywhere;
  word-break: normal;
}

.columns-open-reading__content img,
.columns-open-reading__content iframe,
.columns-open-reading__content video,
.columns-open-reading__content table {
  max-width: 100%;
}

.columns-text-toggle,
.columns-page__load-more {
  min-height: 44px;
  padding: 10px 2px;
}

@media (max-width: 1024px) {
  .columns-page,
  .columns-page.columns-page--no-intro {
    width: min(calc(100% - 32px), 1120px);
    padding: 34px 0 72px;
    gap: 24px;
  }

  .columns-page__featured-wrap {
    gap: 12px;
  }

  .columns-page__archive {
    gap: 18px;
    margin-top: 8px;
  }

  .columns-card,
  .columns-open-reading,
  .columns-newsletter {
    border-radius: 24px;
  }

  .columns-card--featured {
    min-height: 0;
  }

  .columns-card--archive {
    min-height: 0;
  }

  .columns-card--featured .columns-card__grid {
    grid-template-columns: minmax(176px, 28%) minmax(0, 1fr);
  }

  .columns-card--archive .columns-card__grid {
    grid-template-columns: minmax(132px, 24%) minmax(0, 1fr);
  }

  .columns-card__content-column {
    padding: 18px 20px 16px;
  }

  .columns-card__summary {
    font-size: 16px;
    line-height: 1.62;
  }

  .columns-open-reading__inner {
    padding: 26px 22px 24px;
  }

  .columns-open-reading__content {
    max-width: 68ch;
  }

  .columns-newsletter {
    min-height: 0;
    padding: 22px 22px;
  }
}

@media (max-width: 820px) {
  .columns-page__page-title,
  .columns-page__archive-title,
  .columns-card-title {
    font-size: clamp(30px, 6vw, 40px);
  }

  .columns-card-title--archive-item {
    font-size: clamp(24px, 4.8vw, 30px);
  }

  .columns-card--featured .columns-card__grid,
  .columns-card--archive .columns-card__grid {
    grid-template-columns: 1fr;
  }

  .columns-card__media-column {
    order: 0;
  }

  .columns-card__media-wrap {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .columns-card__media {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .columns-card__content-column {
    grid-template-rows: auto auto auto;
    padding: 18px 18px 16px;
  }

  .columns-card__summary-wrap {
    padding-top: 12px;
  }

  .columns-card__actions {
    padding-top: 10px;
  }

  .columns-card__actions--center {
    justify-content: flex-start;
  }

  .columns-accordion--list .columns-accordion__summary {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .columns-page,
  .columns-page.columns-page--no-intro {
    width: min(calc(100% - 24px), 1120px);
    padding: 28px 0 60px;
    gap: 22px;
  }

  .columns-page__page-title,
  .columns-page__archive-title,
  .columns-card-title {
    font-size: clamp(28px, 10vw, 36px);
    line-height: 0.96;
  }

  .columns-card-title--archive-item {
    font-size: clamp(22px, 7vw, 28px);
  }

  .columns-card,
  .columns-open-reading,
  .columns-newsletter {
    border-radius: 20px;
  }

  .columns-card__content-column {
    padding: 16px 16px 14px;
  }

  .columns-card__topline {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .columns-card__author-name,
  .columns-card__date {
    font-size: 15px;
    line-height: 1.45;
  }

  .columns-card__date {
    text-align: left;
    white-space: normal;
  }

  .columns-card__summary {
    font-size: 15px;
    line-height: 1.58;
  }

  .columns-card--featured .columns-card__summary {
    -webkit-line-clamp: 5;
  }

  .columns-card--archive .columns-card__summary {
    -webkit-line-clamp: 4;
  }

  .columns-open-reading {
    margin-top: 10px;
  }

  .columns-open-reading__inner {
    padding: 20px 16px 20px;
  }

  .columns-accordion__content {
    font-size: 1rem;
    line-height: 1.72;
  }

  .columns-text-toggle,
  .columns-page__load-more {
    min-height: 46px;
  }

  .columns-newsletter {
    padding: 20px 16px;
  }

  .columns-newsletter__title {
    font-size: clamp(1.25rem, 7vw, 1.6rem);
  }

  .columns-newsletter__text {
    font-size: 15px;
    line-height: 1.6;
  }
}

@media (max-width: 480px) {
  .columns-page,
  .columns-page.columns-page--no-intro {
    width: min(calc(100% - 20px), 1120px);
    padding: 24px 0 52px;
    gap: 20px;
  }

  .columns-card,
  .columns-open-reading,
  .columns-newsletter {
    border-radius: 18px;
  }

  .columns-card__media-wrap {
    aspect-ratio: 4 / 3;
  }

  .columns-card__content-column {
    padding: 14px 14px 12px;
  }

  .columns-card__summary-wrap {
    padding-top: 10px;
  }

  .columns-card__actions {
    padding-top: 8px;
  }

  .columns-open-reading__inner {
    padding: 18px 14px 18px;
  }

  .columns-text-toggle__label,
  .columns-page__load-more {
    font-size: 0.95rem;
  }
}
