:root {
  --amber: #ffbe80;
  --teal: #8ee9dd;
  --accent: var(--teal);
  --dark: #100d11;
  --line: #3b2d30;
}
.header { border-bottom-color: #463032; }
.brand span, .nav-book .arrow { color: var(--teal); }
.nav-book { border-color: #785954; background: #201717; }
.stage {
  background:
    radial-gradient(ellipse at 100% 32%, #68372b 0, transparent 48%),
    radial-gradient(ellipse at 18% 95%, #153c38 0, transparent 52%),
    linear-gradient(120deg, #110d12, #21151b 67%, #271a1a);
}
.stage::before {
  background: repeating-linear-gradient(0deg, transparent 0 6px, #fbe3cf10 7px 8px);
}
.stage-beams i:first-child { opacity: .24; background: linear-gradient(90deg, transparent 45%, #fa915f70 49%, #ffcaa3 50%, #fa915f70 52%, transparent 55%); }
.stage-beams i:nth-child(2) { opacity: .28; background: linear-gradient(90deg, transparent 44%, #5ac7be70 49%, #a6fae9 50%, #5ac7be70 51%, transparent 56%); }
.stage-beams i:nth-child(3) { display: none; }
.spectrum-orbit {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 74%;
  width: min(65vw, 900px);
  aspect-ratio: 1.12;
  transform: translate(-50%, -50%) rotate(-18deg);
  border: clamp(2px, .4vw, 6px) solid #f1a27665;
  border-radius: 50%;
  box-shadow: inset 0 0 2.4rem #f891633c, 0 0 3.2rem #ef8a6644;
  pointer-events: none;
}
.hero h1 strong { color: var(--amber); text-shadow: 0 0 1.5rem #f19b6552; }
.hero .intro { color: #e0d0c8; }
.hero-photo {
  border: 1px solid #d8a183;
  background: #211719;
  box-shadow: -18px 18px 48px #6cb6a01c, 20px 14px 60px #cf784335;
}
.hero-photo::after { background: linear-gradient(125deg, #76d1c153, transparent 38%, transparent 68%, #fa9b6c62); }
.hero-photo figcaption b { color: var(--amber); }
.stamp { filter: drop-shadow(0 0 .7rem #ffc38162); }
.levels i { background: var(--teal); }
.levels i:nth-child(3n+2) { background: var(--amber); }
.effects-control {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: .85rem;
  min-height: 44px;
  padding: .25rem .6rem;
  border: 1px solid #97746b;
  background: #21191e;
  color: #f7e9e1;
  font: 700 .73rem/1.2 var(--mono);
  cursor: pointer;
}
.effects-control:hover { border-color: var(--teal); }
.effects-indicator { width: .55rem; height: .55rem; border: 1px solid var(--teal); border-radius: 50%; background: var(--teal); }
.effects-control[aria-pressed="false"] .effects-indicator { background: transparent; }
#effects-value { color: var(--teal); margin-left: .25rem; }
@keyframes halo-intro {
  from { opacity: .35; transform: translate(-50%, -50%) rotate(-24deg) scale(.97); }
  to { opacity: 1; transform: translate(-50%, -50%) rotate(-18deg) scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
  html:not([data-effects="off"]) .spectrum-orbit { animation: halo-intro 3.2s ease-out both; }
}
html[data-effects="off"] .spectrum-orbit,
html[data-effects="off"] .stage-beams,
html[data-effects="off"] .levels { visibility: hidden; animation: none; }
html[data-effects="off"] .levels i { animation: none; }
.button { color: #1a1313; border-color: #f5d1b2; background: linear-gradient(115deg, #ffd1a3, #f5a56e); box-shadow: 0 0 1.15rem #f5a56e31; }
.button:hover { background: #ffe0bf; box-shadow: 0 0 1.15rem #f5a56e59; }
.genre-strip { background: linear-gradient(105deg, #f4b17d, #f3c29d 49%, #a1d8c8); }
.club-copy h2 em { color: var(--amber); text-shadow: 0 0 1.5rem #ee93694a; }
.club-time span { border-color: #bd8a71; color: #ffd4ae; }
.flyer { border-color: #b58c82; background: #271b20; box-shadow: 0 0 2rem #a86e6140; }
.flyer figcaption { color: #e3c7ba; }
.tracklist li { border-left: 2px solid #805747; padding-left: .8rem; }
.tracklist li:nth-child(odd) { border-left-color: #4c847b; }
.about { background: #f1e1d5; }
.about h2 em, .about .eyebrow span { color: #63433a; }
.booking h2 { color: var(--amber); }
.booking-form { background: #1d1519; border-color: #795954; }
@media (max-width: 680px) {
  .spectrum-orbit { top: 73%; left: 50%; width: 112%; }
}

.booking-contacts {
  display: grid;
  gap: .5rem;
  justify-items: start;
  margin-top: 1rem;
  font-style: normal;
}
.booking-contacts a {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 44px;
  gap: .3rem .6rem;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--teal);
  text-decoration: underline;
  text-underline-offset: .22em;
}
.booking-contacts a span { color: var(--paper); }
.booking-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.booking-alternative, .booking-alternative:hover {
  border-color: #a88276;
  background: #21191e;
  color: #f7e9e1;
}
.booking-alternative:hover { border-color: var(--teal); }
