:root {
  --accordion-burgundy: #800020;
  --accordion-burgundy-dark: #430012;
  --accordion-blue: #011e69;
  --accordion-gold: #d6ad54;
  --accordion-gold-light: #ffe09a;
}

.accordion-stack {
  width: 960px;
  min-width: 960px;
  max-width: 960px;
  margin: 14px auto 0;
  padding: 0 0 4px;
}

.accordion-item {
  width: 960px;
  min-width: 960px;
  max-width: 960px;
  margin: 0 0 9px;
}

.accordion-trigger,
.accordion-external {
  position: relative;
  display: flex;
  width: 920px;
  min-height: 64px;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border: 2px solid #b88a32;
  border-radius: 5px;
  background: var(--accordion-burgundy);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 6px 14px rgba(0, 0, 0, .28);
  font-family: Cinzel, Georgia, serif;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .055em;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  touch-action: manipulation;
}

.accordion-trigger:hover,
.accordion-trigger:focus-visible,
.accordion-external:hover,
.accordion-external:focus-visible {
  border-color: var(--accordion-gold-light);
  background: #98112f;
  outline: 3px solid rgba(255, 224, 154, .20);
  outline-offset: 2px;
}

.accordion-trigger.is-active {
  border-color: var(--accordion-gold-light);
  background: var(--accordion-blue);
  color: var(--accordion-gold-light);
  box-shadow: inset 0 0 0 2px rgba(255, 224, 154, .15), 0 0 22px rgba(214, 173, 84, .26);
}

.accordion-symbol {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(255, 224, 154, .62);
  border-radius: 50%;
  color: var(--accordion-gold-light);
  font-family: Inter, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.accordion-main {
  width: 960px;
  min-width: 960px;
  max-width: 960px;
  min-height: 360px;
  padding: 18px 0 30px;
  overflow: hidden;
}

.accordion-introduction {
  width: 920px;
  margin: 0 auto;
  padding: 30px 44px;
  border: 2px solid #b88a32;
  border-radius: 6px;
  background: rgba(2, 8, 23, .88);
  box-shadow: 0 20px 52px rgba(0, 0, 0, .38), inset 0 0 0 8px rgba(255, 224, 154, .025);
  text-align: center;
}

.accordion-introduction h1 {
  margin: 8px 0 12px;
  color: #fff;
  font-family: Cinzel, Georgia, serif;
  font-size: 2.35rem;
  line-height: 1.08;
  text-transform: uppercase;
}

.accordion-introduction p {
  width: 710px;
  max-width: 100%;
  margin: 0 auto;
  color: #e3e8f0;
}

.accordion-panel[hidden] {
  display: none !important;
}

.accordion-panel {
  display: grid;
  grid-template-rows: 0fr;
  width: 960px;
  min-width: 960px;
  max-width: 960px;
  opacity: 0;
  padding-top: 9px;
  transition: grid-template-rows .28s ease, opacity .22s ease;
}

.accordion-panel.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.accordion-panel-content {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.accordion-loading,
.accordion-error {
  width: 920px;
  margin: 0 auto;
  padding: 54px 32px;
  border: 2px solid #b88a32;
  border-radius: 6px;
  background: rgba(2, 8, 23, .90);
  color: #fff;
  text-align: center;
}

.accordion-error {
  border-color: #d94a53;
}

.accordion-close {
  display: flex;
  width: 220px;
  min-height: 48px;
  margin: 18px auto 4px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--accordion-gold);
  border-radius: 4px;
  background: var(--accordion-burgundy);
  color: #fff;
  font-family: Cinzel, Georgia, serif;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.accordion-close:hover,
.accordion-close:focus-visible {
  border-color: var(--accordion-gold-light);
  background: var(--accordion-blue);
  outline: 3px solid rgba(255, 224, 154, .20);
}

.accordion-welcome {
  width: 920px;
  margin: 0 auto;
  padding: 50px 48px;
  border: 2px solid #b88a32;
  border-radius: 6px;
  background: rgba(2, 8, 23, .90);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .42), inset 0 0 0 8px rgba(255, 224, 154, .025);
  text-align: center;
}

.accordion-welcome img {
  width: 156px;
  height: 156px;
  margin: 0 auto 18px;
  object-fit: contain;
}

.accordion-welcome h1 {
  margin: 8px 0 14px;
  font-family: Cinzel, Georgia, serif;
  font-size: 2.65rem;
  line-height: 1.05;
  text-transform: uppercase;
}

.accordion-welcome p {
  width: 720px;
  max-width: 100%;
  margin: 0 auto 14px;
  color: #e4e9f1;
}

.accordion-welcome strong {
  color: var(--accordion-gold-light);
}

.accordion-panel .founder-strip,
.accordion-panel .anthem-section,
.accordion-panel .contact-teaser,
.accordion-panel .artwork-section,
.accordion-panel .mission-section,
.accordion-panel .how-to-join-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.accordion-panel .anthem-section,
.accordion-panel .contact-teaser,
.accordion-panel .artwork-section,
.accordion-panel .founder-strip,
.accordion-panel .how-to-join-section {
  border-radius: 6px;
}

.how-to-join-section {
  width: 920px;
  margin: 0 auto;
  padding: 46px 48px 42px;
  border: 2px solid #b88a32;
  border-radius: 6px;
  background: #000;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .42), inset 0 0 0 8px rgba(255, 224, 154, .025);
  text-align: center;
}

.how-to-join-section h1 {
  margin: 0 0 20px;
  color: #fff;
  font-family: Cinzel, Georgia, serif;
  font-size: 2.35rem;
  line-height: 1.08;
  text-transform: uppercase;
}

.how-to-join-copy {
  width: 740px;
  max-width: 100%;
  margin: 0 auto;
  color: #e4e9f1;
  font-size: 1.08rem;
  line-height: 1.7;
}

.how-to-join-copy strong {
  color: var(--accordion-gold-light);
}

.join-community-links {
  display: flex;
  margin-top: 28px;
  align-items: center;
  flex-direction: column;
  gap: 14px;
}

.join-logo-link {
  display: block;
  border-radius: 50%;
  transition: transform .18s ease, filter .18s ease;
}

.join-logo-link img {
  display: block;
  width: 156px;
  height: 156px;
  object-fit: contain;
}

.join-logo-link:hover,
.join-logo-link:focus-visible {
  filter: drop-shadow(0 0 16px rgba(255, 224, 154, .48));
  outline: 3px solid var(--accordion-gold-light);
  outline-offset: 5px;
  transform: scale(1.035);
}

.join-here-link {
  display: inline-flex;
  min-width: 220px;
  min-height: 54px;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--accordion-gold);
  border-radius: 4px;
  background: var(--accordion-burgundy);
  color: #fff;
  font-family: Cinzel, Georgia, serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-decoration: none;
}

.join-here-link:hover,
.join-here-link:focus-visible {
  border-color: var(--accordion-gold-light);
  background: var(--accordion-blue);
  color: var(--accordion-gold-light);
  outline: 3px solid rgba(255, 224, 154, .20);
  outline-offset: 2px;
}

.accordion-embed-shell {
  width: 920px;
  margin: 0 auto;
  overflow: hidden;
  border: 2px solid #b88a32;
  border-radius: 6px;
  background: #050911;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .42);
}

.accordion-embed {
  display: block;
  width: 100%;
  min-height: 900px;
  border: 0;
  background: transparent;
}

.accordion-panel .gallery-lightbox {
  z-index: 1200;
}

.accordion-panel .video-shell video {
  width: 100%;
}

/* WHACK-A-JOE direct accordion game — no iframe */
.waj-section{width:920px;margin:0 auto;padding:18px;border:2px solid #b88a32;border-radius:6px;background:#000;color:#fff;box-sizing:border-box;font-family:Inter,Arial,sans-serif;box-shadow:0 20px 55px rgba(0,0,0,.42)}
.waj-section *{box-sizing:border-box}.waj-header{text-align:center;padding:10px 12px 16px}.waj-mini-brand{color:#ffe09a;font-size:.72rem;font-weight:800;letter-spacing:.18em}.waj-header h1{margin:5px 0 7px;font-family:Cinzel,Georgia,serif;font-size:2.4rem;line-height:1;color:#fff}.waj-header p{margin:0;color:#d7d7d7;font-size:.95rem}.waj-hud{width:min(680px,100%);margin:0 auto 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.waj-hud-box{padding:8px;border:1px solid #343434;border-radius:8px;background:#0a0a0a;text-align:center}.waj-hud-box span{display:block;color:#aaa;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.waj-hud-box strong{display:block;color:#ffe09a;font-size:1.35rem;font-variant-numeric:tabular-nums}.waj-board{position:relative;width:min(680px,100%);aspect-ratio:1 / 1;margin:0 auto;overflow:hidden;border:2px solid #d6ad54;border-radius:10px;background:linear-gradient(180deg,#062065 0%,#021137 50%,#170000 100%);touch-action:manipulation;user-select:none}.waj-grid{position:absolute;inset:3%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2%}.waj-hole{position:relative;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:transparent;touch-action:manipulation}.waj-hole::after{content:"";position:absolute;width:82%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 58%,#303030 0 34%,#0b0b0b 61%,#000 70%);box-shadow:inset 0 8px 13px #000,0 3px 0 rgba(214,173,84,.38)}.waj-joe{z-index:2;position:relative;width:76%;aspect-ratio:1;border-radius:50%;transform:scale(.05) translateY(45%);opacity:0;transition:transform .11s cubic-bezier(.2,1.35,.35,1),opacity .08s;pointer-events:none;filter:drop-shadow(0 6px 4px rgba(0,0,0,.55))}.waj-hole.is-active .waj-joe{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.waj-hole.is-hit .waj-joe{transform:scale(.78) rotate(-10deg);filter:brightness(1.35) drop-shadow(0 6px 4px rgba(0,0,0,.55))}.waj-target-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35))}.waj-start{position:absolute;z-index:10;inset:3%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6%;border:1px solid rgba(255,224,154,.62);border-radius:10px;background:radial-gradient(circle at 50% 25%,rgba(128,0,32,.97),rgba(3,3,3,.97) 68%);text-align:center}.waj-start[hidden]{display:none}.waj-start-badge{padding:7px 10px;border-radius:999px;background:#d6ad54;color:#000;font-size:.7rem;font-weight:900;letter-spacing:.09em}.waj-start h2{margin:14px 0 8px;font-family:Cinzel,Georgia,serif;font-size:1.7rem}.waj-start p{max-width:430px;margin:0 0 18px;color:#ddd;line-height:1.45}.waj-primary{min-height:48px;padding:11px 22px;border:2px solid #ffe09a;border-radius:7px;background:#800020;color:#fff;font:800 .92rem Cinzel,Georgia,serif;letter-spacing:.06em;cursor:pointer}.waj-primary:hover,.waj-primary:focus-visible{background:#011e69}.waj-note{width:min(680px,100%);margin:8px auto 16px;color:#858585;font-size:.7rem;text-align:center}.waj-floater{position:absolute;z-index:12;opacity:0;pointer-events:none;color:#fff2a0;font-size:1.35rem;font-weight:900;text-shadow:0 2px 3px #000;transform:translate(-50%,-50%)}.waj-floater.is-show{animation:wajFloat .55s ease-out}@keyframes wajFloat{0%{opacity:1;transform:translate(-50%,-15%) scale(.85)}100%{opacity:0;transform:translate(-50%,-105%) scale(1.15)}}.waj-scores-card{width:min(680px,100%);margin:0 auto;padding:16px;border:1px solid rgba(214,173,84,.55);border-radius:10px;background:#090909}.waj-scores-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid #292929}.waj-scores-heading span{color:#ffe09a;font-size:.68rem;font-weight:800;letter-spacing:.14em}.waj-scores-heading h2{margin:2px 0 0;font-family:Cinzel,Georgia,serif;font-size:1.25rem}.waj-refresh{width:38px;height:38px;border:1px solid #555;border-radius:50%;background:#111;color:#ffe09a;font-size:1.15rem;cursor:pointer}.waj-score-row{display:grid;grid-template-columns:45px 1fr auto;gap:8px;align-items:center;min-height:40px;padding:5px 6px;border-bottom:1px solid #1f1f1f}.waj-score-row:last-child{border-bottom:0}.waj-rank{color:#999;font-weight:800}.waj-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.waj-points{color:#ffe09a;font-weight:900}.waj-empty{padding:16px;color:#999;text-align:center}.waj-modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:14px;background:rgba(0,0,0,.88)}.waj-modal[hidden]{display:none}.waj-modal-card{width:min(440px,100%);max-height:92vh;overflow:auto;padding:22px;border:2px solid #d6ad54;border-radius:12px;background:#090909;text-align:center;box-shadow:0 24px 90px #000}.waj-result-label{color:#ffe09a;font-size:.7rem;font-weight:900;letter-spacing:.13em}.waj-modal-card h2{margin:6px 0 12px;font-family:Cinzel,Georgia,serif}.waj-final-score{padding:12px;border:1px solid #333;border-radius:8px;background:#050505}.waj-final-score span{display:block;color:#aaa;font-size:.68rem;letter-spacing:.1em}.waj-final-score strong{color:#ffe09a;font-size:2.5rem}.waj-result-stats{display:flex;justify-content:center;gap:18px;padding:9px;color:#bbb;font-size:.82rem}.waj-modal-card form{margin-top:4px;padding-top:13px;border-top:1px solid #292929}.waj-modal-card label{display:block;margin-bottom:7px;color:#ccc;font-size:.8rem}.waj-username{display:flex;align-items:center;margin-bottom:8px;padding:0 10px;border:1px solid #555;border-radius:7px;background:#030303}.waj-username input{width:100%;padding:11px 4px;border:0;outline:0;background:transparent;color:#fff;font:700 1rem Inter,Arial,sans-serif}.waj-form-message{min-height:18px;margin-bottom:6px;color:#ffcf68;font-size:.75rem}.waj-form-message.is-error{color:#ff8a8a}.waj-form-message.is-success{color:#8dffad}.waj-modal-card .waj-primary{width:100%}.waj-secondary{width:100%;min-height:44px;margin-top:9px;border:1px solid #555;border-radius:7px;background:#151515;color:#fff;font-weight:800;cursor:pointer}.waj-text{padding:11px;border:0;background:transparent;color:#999;cursor:pointer}

/* WHACK-A-JOE width correction — fit inside accordion */
.waj-section{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  overflow:hidden;
}
.waj-header,
.waj-hud,
.waj-board,
.waj-note,
.waj-scores-card{
  max-width:100% !important;
  min-width:0 !important;
}
.waj-board{
  width:min(100%,680px) !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
}
.waj-grid{
  width:auto !important;
  height:auto !important;
}
