.wjh2026-active {
  --wjh-ink: #f8fbff;
  --wjh-night: #100e13;
  --wjh-blue: #ffa52e;
  --wjh-violet: #8c3cff;
  --wjh-orange: #ff7a00;
  --wjh-yellow: #ffe24a;
  --wjh-card: #1d1820;
}

/* Full-scene edition. */
.wjh2026-page .site-content { background:#171c19; }
.wjh2026-page .page-title { display:none; }
.wjh2026 { background:#171c19 !important; }
.wjh2026 .wjh2026-hero { background:#171c19 url('../img/halloween-scene.png') center/cover no-repeat; min-height:650px; padding:110px 6% 100px; }
.wjh2026 .wjh2026-hero__copy { max-width:620px; }
.wjh2026 .wjh2026-brand { color:#fff; font-weight:800; font-size:17px; margin:0 0 28px; }
.wjh2026 .wjh2026-kicker { color:#c3eb35; font-size:14px; }
.wjh2026 .wjh2026-hero h1 { color:#fff; font-size:86px; line-height:1.1; text-transform:uppercase; text-shadow:3px 5px 0 #080e0a; }
.wjh2026 h1 em { font-style:normal; color:#c3eb35; }
.wjh2026 .wjh2026-cta { background:#c3eb35; border-radius:3px; color:#10180c; box-shadow:4px 4px 0 #fff; }
.wjh2026 .wjh2026-haunted { right:0; top:0; bottom:auto; width:45%; height:100%; border:0; background:transparent; pointer-events:auto; cursor:pointer; opacity:1; }
.wjh2026-secret { position:absolute; bottom:20px; right:6%; color:#f7df8b; font-size:16px; }
.wjh2026 .wjh2026-trail { display:flex; justify-content:center; flex-wrap:wrap; gap:25px; padding:24px; border-top:1px solid #4b5335; border-bottom:1px solid #4b5335; background:#242b20; }
.wjh2026-trail a { color:#f2eddc; font-size:15px; text-decoration:none; padding:8px; }
.wjh2026 .wjh2026-map { display:block; padding:0 6%; }
.wjh2026 .wjh2026-level { background:transparent; border:0; border-bottom:1px solid #49513c; border-radius:0; padding:48px 0; scroll-margin-top:80px; position:relative; }
.wjh2026 .wjh2026-level__top { padding:0 0 24px; grid-template-columns:80px minmax(0,1fr) auto; }
.wjh2026 .wjh2026-level__num { width:64px; height:60px; background:#f58222; border-radius:42%; color:#171c19; box-shadow:inset 10px 0 0 #d46813,inset -10px 0 0 #d46813; font-size:32px; }
.wjh2026 .wjh2026-level h2 { font-family:Impact,'Arial Narrow',sans-serif; font-size:44px; text-transform:uppercase; }
.wjh2026 .wjh2026-level__state { grid-column:3; }
.wjh2026 .wjh2026-level__top p { color:#c3eb35; }
.wjh2026 .wjh2026-level__body { padding:20px 0 12px 80px; grid-template-columns:1fr 1fr; gap:30px; }
.wjh2026 .wjh2026-actions { grid-column:1/-1; }
.wjh2026 .wjh2026-mission-open { margin:0 0 0 80px; background:#c3eb35; }
.wjh2026 .wjh2026-ending { padding:70px 24px; text-align:center; background:#242b20; }
.wjh2026-ending h2 { color:#c3eb35; font-size:36px; }
.wjh2026-ending p { color:#fff; }
@media(max-width:760px) {
 .wjh2026 .wjh2026-hero { min-height:660px; padding:45px 24px 270px; background-position:68% bottom; background-size:auto 660px; }
 .wjh2026 .wjh2026-hero__copy { background:rgba(23,28,25,.82); padding:16px; }
 .wjh2026 .wjh2026-hero h1 { font-size:46px; }
 .wjh2026 .wjh2026-haunted { top:auto; bottom:0; height:240px; width:65%; transform:none; }
 .wjh2026 .wjh2026-level__top { grid-template-columns:64px minmax(0,1fr); gap:12px; }
 .wjh2026 .wjh2026-level h2 { font-size:30px; }
 .wjh2026 .wjh2026-level__state { grid-column:2; }
 .wjh2026 .wjh2026-level__body { grid-template-columns:1fr; padding:20px 0; }
 .wjh2026 .wjh2026-mission-open { margin-left:0; }
 .wjh2026-secret { bottom:5px; font-size:13px; }
}

.wjh2026-active {
  --wjh-glow: 0 0 24px rgba(0, 216, 255, 0.35), 0 0 42px rgba(255, 122, 0, 0.18);
}

.wjh2026 {
  color: var(--wjh-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 18% 8%, rgba(0, 216, 255, 0.36), transparent 28rem),
    radial-gradient(circle at 80% 20%, rgba(255, 122, 0, 0.3), transparent 24rem),
    linear-gradient(135deg, #050a24 0%, #111155 45%, #31023f 100%);
  border-radius: 0;
  isolation: isolate;
}

.wjh2026 *,
.wjh2026 *::before,
.wjh2026 *::after {
  box-sizing: border-box;
}

.wjh2026-hero {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.72fr);
  min-height: min(760px, 82vh);
  padding: clamp(48px, 8vw, 110px) clamp(18px, 6vw, 92px) clamp(32px, 5vw, 72px);
  position: relative;
}

.wjh2026-hero::before {
  background:
    linear-gradient(90deg, rgba(255, 226, 74, 0.1) 1px, transparent 1px),
    linear-gradient(rgba(255, 226, 74, 0.08) 1px, transparent 1px);
  background-size: 42px 42px;
  content: "";
  inset: 0;
  opacity: 0.32;
  pointer-events: none;
  position: absolute;
  transform: perspective(700px) rotateX(64deg) translateY(20%);
  transform-origin: bottom;
  z-index: -1;
}

.wjh2026-kicker {
  color: var(--wjh-yellow);
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.wjh2026 h1 {
  color: #fff;
  font-size: clamp(48px, 10vw, 116px);
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 0.88;
  margin: 0;
  max-width: 820px;
  text-shadow: 0 5px 0 #ff4b00, 0 14px 30px rgba(0, 0, 0, 0.45), 0 0 34px rgba(0, 216, 255, 0.45);
}

.wjh2026-hero__copy > p:not(.wjh2026-kicker) {
  color: rgba(248, 251, 255, 0.88);
  font-size: clamp(17px, 2.2vw, 24px);
  line-height: 1.45;
  margin: 24px 0 0;
  max-width: 680px;
}

.wjh2026-cta {
  align-items: center;
  background: linear-gradient(135deg, var(--wjh-yellow), var(--wjh-orange));
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  box-shadow: 0 10px 0 #9b2500, 0 0 34px rgba(255, 122, 0, 0.42);
  color: #130600;
  display: inline-flex;
  font-weight: 1000;
  margin-top: 30px;
  padding: 14px 22px;
  text-decoration: none;
  text-transform: uppercase;
}

.wjh2026-cta:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.wjh2026-portal {
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  filter: drop-shadow(0 0 44px rgba(0, 216, 255, 0.48));
  max-width: 430px;
  place-items: center;
  position: relative;
  width: 100%;
}

.wjh2026-portal__ring {
  animation: wjh-spin 18s linear infinite;
  background:
    conic-gradient(from 0deg, var(--wjh-orange), var(--wjh-yellow), var(--wjh-blue), var(--wjh-violet), var(--wjh-orange));
  border-radius: inherit;
  inset: 0;
  mask: radial-gradient(circle, transparent 50%, #000 51%);
  position: absolute;
}

.wjh2026-portal__badge {
  align-items: center;
  background: #050a24;
  border: 4px solid var(--wjh-blue);
  border-radius: 50%;
  box-shadow: inset 0 0 40px rgba(140, 60, 255, 0.4), var(--wjh-glow);
  color: #fff;
  display: flex;
  font-size: clamp(56px, 8vw, 110px);
  font-weight: 1000;
  height: 62%;
  justify-content: center;
  width: 62%;
}

.wjh2026-map {
  display: grid;
  gap: 18px;
  padding: 0 clamp(18px, 6vw, 92px) clamp(50px, 8vw, 108px);
}

.wjh2026-level {
  background: var(--wjh-card);
  border: 2px solid rgba(255, 255, 255, 0.18);
  border-left: 8px solid var(--level-color, var(--wjh-blue));
  border-radius: 8px;
  box-shadow: var(--wjh-glow);
  overflow: hidden;
  transform: translateZ(0);
}

.wjh2026-level--raffle { --level-color: var(--wjh-blue); }
.wjh2026-level--costume { --level-color: var(--wjh-violet); }
.wjh2026-level--twoforone { --level-color: var(--wjh-orange); }
.wjh2026-level--flyers { --level-color: var(--wjh-yellow); }

.wjh2026-level.is-locked {
  filter: saturate(0.5);
  opacity: 0.72;
}

.wjh2026-level__top {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 18px;
}

.wjh2026-level__num {
  align-items: center;
  background: linear-gradient(135deg, var(--level-color), #fff39a);
  border: 3px solid #fff;
  border-radius: 50%;
  color: #050a24;
  display: flex;
  font-size: 28px;
  font-weight: 1000;
  height: 62px;
  justify-content: center;
  width: 62px;
}

.wjh2026-level__top p {
  color: var(--level-color);
  font-size: 13px;
  font-weight: 900;
  margin: 0 0 4px;
  text-transform: uppercase;
}

.wjh2026-level h2,
.wjh2026-level h3 {
  color: #fff;
  letter-spacing: 0;
  margin: 0;
}

.wjh2026-level h2 {
  font-size: clamp(24px, 4vw, 42px);
  font-weight: 1000;
  line-height: 1;
  text-shadow: 0 4px 0 rgba(0, 0, 0, 0.38);
}

.wjh2026-level__state {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  padding: 8px 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.wjh2026-level.is-open .wjh2026-level__state {
  background: var(--level-color);
  color: #070719;
}

.wjh2026-level__body {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 18px 20px 98px;
}

.wjh2026-level__body h3 {
  font-size: 16px;
  margin-bottom: 10px;
}

.wjh2026-level ul {
  color: rgba(248, 251, 255, 0.9);
  line-height: 1.5;
  margin: 0;
  padding-left: 18px;
}

.wjh2026-level li + li {
  margin-top: 6px;
}

.wjh2026-atmosphere {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  z-index: 9998;
}

.wjh2026-atmosphere span,
.wjh2026-spark {
  background: var(--wjh-yellow, #ffe24a);
  border-radius: 50%;
  box-shadow: 0 0 18px currentColor;
  height: 6px;
  position: fixed;
  width: 6px;
}

.wjh2026-atmosphere span {
  animation: wjh-float 11s linear infinite;
  color: #00d8ff;
  left: var(--x, 12%);
  top: 105%;
}

.wjh2026-atmosphere span:nth-child(2) { --x: 34%; animation-delay: -4s; color: #ff7a00; }
.wjh2026-atmosphere span:nth-child(3) { --x: 58%; animation-delay: -7s; color: #8c3cff; }
.wjh2026-atmosphere span:nth-child(4) { --x: 76%; animation-delay: -2s; color: #ffe24a; }
.wjh2026-atmosphere span:nth-child(5) { --x: 91%; animation-delay: -9s; color: #00d8ff; }

.wjh2026-pumpkin {
  align-items: center;
  background: linear-gradient(135deg, #ff9a00, #ff4b00);
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  bottom: 18px;
  box-shadow: 0 0 28px rgba(255, 122, 0, 0.48);
  cursor: pointer;
  display: flex;
  height: 54px;
  justify-content: center;
  padding: 0;
  position: fixed;
  right: 18px;
  width: 54px;
  z-index: 9999;
}

.wjh2026-pumpkin span {
  background: #160700;
  clip-path: polygon(8% 30%, 28% 15%, 42% 30%, 58% 30%, 72% 15%, 92% 30%, 84% 72%, 50% 88%, 16% 72%);
  display: block;
  height: 28px;
  width: 34px;
}

.wjh2026-spark {
  animation: wjh-pop 680ms ease-out forwards;
  pointer-events: none;
  z-index: 10000;
}

@keyframes wjh-spin {
  to { transform: rotate(360deg); }
}

/* Campaign skin stays within the plugin surface. */
.wjh2026 { background:#100e13; }
.wjh2026-hero { display:block; min-height:580px; padding:80px 7% 64px; }
.wjh2026-hero::before { display:none; }
.wjh2026-hero__copy { position:relative; z-index:2; max-width:650px; }
.wjh2026 h1 { font-family:Impact,'Arial Narrow',sans-serif; font-size:82px; line-height:1.04; text-shadow:3px 3px 0 #653615; max-width:650px; color:#ffb347; }
.wjh2026-hero__copy > p:not(.wjh2026-kicker) { font-size:19px; max-width:470px; }
.wjh2026-cta { background:#ff932b; box-shadow:none; border:0; margin-right:12px; font-size:14px; }
.wjh2026-haunted { position:absolute; right:6%; bottom:40px; width:330px; height:360px; pointer-events:none; }
.wjh2026-moon { position:absolute; right:20px; top:0; width:140px; height:140px; border-radius:50%; background:#e8e4c6; box-shadow:inset -22px -12px 0 #bcb9a6; }
.wjh2026-big-pumpkin { position:absolute; bottom:40px; left:10px; width:270px; height:220px; border-radius:46%; background:repeating-linear-gradient(90deg,#d64a0a 0,#ff8b17 38px,#b5410b 45px); box-shadow:inset 0 -24px 35px #622606; transform:rotate(-8deg); }
.wjh2026-big-pumpkin::before { content:''; position:absolute; width:26px; height:40px; background:#718046; top:-28px; left:124px; transform:rotate(15deg); border-radius:5px; }
.wjh2026-big-pumpkin b { position:absolute; top:62px; left:44px; width:180px; height:62px; background:#ffe799; clip-path:polygon(0 0,35% 60%,0 100%,0 0,100% 0,100% 100%,65% 60%,100% 0); }
.wjh2026-big-pumpkin i { position:absolute; bottom:32px; left:54px; width:170px; height:45px; background:#ffe799; clip-path:polygon(0 0,20% 25%,30% 0,40% 40%,60% 40%,70% 0,80% 25%,100% 0,85% 80%,50% 100%,15% 80%); }
.wjh2026-map { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.wjh2026-level { box-shadow:none; border:1px solid #4b3940; border-top:4px solid var(--level-color); min-width:0; }
.wjh2026-level__top { grid-template-columns:48px minmax(0,1fr); align-items:start; padding:24px; }
.wjh2026-level__num { width:42px; height:42px; font-size:20px; border:0; }
.wjh2026-level h2 { font-size:28px; line-height:1.14; text-shadow:none; }
.wjh2026-level__top p { font-size:12px; }
.wjh2026-level__state { grid-column:2; justify-self:start; border-radius:4px; }
.wjh2026-level.is-locked { opacity:1; filter:none; }
.wjh2026-level__body { grid-template-columns:1fr; padding:8px 24px 24px; font-size:15px; }
.wjh2026-level__body[hidden] { display:none; }
.wjh2026-mission-open,.wjh2026-copy,.wjh2026-participate { display:inline-block; background:#ff932b; color:#20100b; border:0; border-radius:4px; padding:12px 18px; font-weight:700; text-decoration:none; }
.wjh2026-mission-open { margin:0 24px 24px; }
.wjh2026-actions { border-top:1px solid #4b3940; padding-top:16px; }
.wjh2026-actions p { font-size:14px; line-height:1.6; color:#ded3d5; }
.wjh2026-actions a { color:#ffba61; }
.wjh2026-actions a.wjh2026-participate { color:#20100b; }
.wjh2026-park { display:block; width:100%; margin:10px 0 16px; padding:12px; background:#100e13; color:#fff; border:1px solid #6c575f; font-size:16px; }
.wjh2026-poster { padding:24px 7% 70px; text-align:center; }
.wjh2026-poster h2 { color:#ffb347; font-size:30px; }
.wjh2026-poster img { width:100%; max-width:600px; height:auto; }
.wjh2026 button:focus-visible,.wjh2026 a:focus-visible,.wjh2026 select:focus-visible { outline:3px solid #fce89d; outline-offset:4px; }
.wjh2026-bats { position:fixed; top:90px; right:20px; width:160px; height:85px; z-index:9997; pointer-events:none; }
.wjh2026-bats i { position:absolute; width:65px; height:28px; background:#2b152e; filter:drop-shadow(0 1px 1px #ef913c); clip-path:polygon(0 0,35% 35%,43% 8%,50% 30%,57% 8%,65% 35%,100% 0,90% 85%,75% 65%,60% 100%,50% 70%,40% 100%,25% 65%,10% 85%); animation:wjh-bat 4s ease-in-out infinite; }
.wjh2026-bats i:nth-child(2) { top:45px; left:70px; width:45px; animation-delay:-2s; }
.wjh2026-bats i:nth-child(3) { top:10px; left:110px; width:34px; animation-delay:-1s; }
@keyframes wjh-bat { 50% { transform:translateY(-8px) rotate(8deg); } }
@media (pointer:fine) { .wjh2026-active,.wjh2026-active a,.wjh2026-active button { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M3 2L3 23L9 18L14 29L19 26L14 16L23 16Z' fill='%23ff942c' stroke='%23211412' stroke-width='2'/%3E%3Cpath d='M7 9L10 12L7 13M12 10L16 13L12 14' fill='%23211412'/%3E%3C/svg%3E") 3 2,auto; } }
@media(max-width:1050px) { .wjh2026-haunted { opacity:.3; right:0; } }
@media(max-width:760px) { .wjh2026 h1 { font-size:48px; } .wjh2026-hero { padding:54px 24px 64px; min-height:470px; } .wjh2026-map { grid-template-columns:1fr; padding:0 20px 40px; } .wjh2026-haunted { width:250px; transform:scale(.65); transform-origin:bottom right; bottom:0; } .wjh2026-level h2 { font-size:25px; } }
@media(prefers-reduced-motion:reduce) { .wjh2026-bats i { animation:none; } }

@keyframes wjh-float {
  to { transform: translate3d(24px, -120vh, 0) scale(1.8); opacity: 0; }
}

@keyframes wjh-pop {
  to { opacity: 0; transform: translate3d(var(--dx), var(--dy), 0) scale(0.2); }
}

@media (max-width: 760px) {
  .wjh2026-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .wjh2026-portal {
    justify-self: center;
    max-width: 260px;
  }

  .wjh2026-level__top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .wjh2026-level__state {
    grid-column: 2;
    justify-self: start;
  }

  .wjh2026-level__body {
    grid-template-columns: 1fr;
    padding-left: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wjh2026-portal__ring,
  .wjh2026-atmosphere span,
  .wjh2026-spark {
    animation: none;
  }
}

/* Refined typography, controls and seasonal launcher. */
.wjh2026 .wjh2026-level h2 { font-family:Impact,'Arial Narrow',sans-serif; line-height:1.16; }
.wjh2026 .wjh2026-level__top p { font-weight:600; text-transform:none; margin-bottom:10px; }
.wjh2026 .wjh2026-level__body { line-height:1.7; }
.wjh2026 .wjh2026-level__body h3 { color:#e6f0c7; font-size:18px; }
.wjh2026 .wjh2026-cta,.wjh2026 .wjh2026-mission-open,.wjh2026 .wjh2026-copy,.wjh2026 .wjh2026-participate { padding:14px 24px; min-height:48px; border-radius:6px; font-size:15px; font-weight:750; text-transform:none; background:#c3eb35; color:#17220d; border:1px solid #e3ff84; box-shadow:0 4px 0 #667e15; transition:transform .2s,box-shadow .2s,background .2s; }
.wjh2026 .wjh2026-cta:hover,.wjh2026 .wjh2026-mission-open:hover,.wjh2026 .wjh2026-copy:hover,.wjh2026 .wjh2026-participate:hover { background:#dcff61; transform:translateY(-2px); box-shadow:0 6px 0 #667e15; }
.wjh2026 .wjh2026-trail a { border-bottom:2px solid transparent; transition:border-color .2s; }
.wjh2026 .wjh2026-trail a:hover { border-color:#c3eb35; }
.wjh2026-pumpkin { width:76px; height:65px; bottom:30px; right:26px; border:0; border-radius:43%; background:repeating-linear-gradient(90deg,#ce4b09 0,#fb8a19 15px,#ffac38 23px,#df5c0c 26px); box-shadow:inset 0 -10px 12px #97350b,0 5px 12px #0005; overflow:visible; isolation:isolate; }
.wjh2026-pumpkin span { width:52px; height:33px; background:#ffe87d; filter:drop-shadow(0 0 3px #ffe87d); clip-path:polygon(0 0,36% 32%,0 44%,0 0,100% 0,100% 44%,64% 32%,100% 0,100% 65%,80% 100%,60% 82%,50% 100%,40% 82%,20% 100%,0 65%); }
.wjh2026-lid { position:absolute; width:66px; height:18px; border-radius:50% 50% 25% 25%; top:-6px; left:5px; background:#fa8c20; border-bottom:3px solid #ab470e; z-index:3; transform-origin:15% 80%; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.wjh2026-lid::before { content:''; position:absolute; width:10px; height:16px; border-radius:4px; left:29px; top:-13px; background:#718339; transform:rotate(12deg); }
.wjh2026-mini-ghost,.wjh2026-drifter { background:#f2f5ef; border-radius:50% 50% 24% 24%; }
.wjh2026-mini-ghost { position:absolute; width:24px; height:30px; left:26px; top:8px; z-index:-1; transition:transform .55s; }
.wjh2026-mini-ghost::before,.wjh2026-drifter::before { content:''; position:absolute; width:5px; height:7px; top:10px; left:5px; border-radius:50%; background:#24312d; box-shadow:10px 0 #24312d; }
.wjh2026-pumpkin:hover .wjh2026-lid,.wjh2026-pumpkin:focus-visible .wjh2026-lid { transform:translateY(-19px) rotate(-28deg); }
.wjh2026-pumpkin:not(:hover):not(:focus-visible) .wjh2026-lid { animation:wjh-lid-tease 3.4s ease-in-out infinite; }
@keyframes wjh-lid-tease {
  0%,45%,100% { transform:translateY(0) rotate(0); }
  55% { transform:translateY(-3px) rotate(-8deg); }
  65% { transform:translateY(-1px) rotate(5deg); }
  75% { transform:translateY(-4px) rotate(-6deg); }
  85% { transform:translateY(0) rotate(2deg); }
}
@media(prefers-reduced-motion:reduce) { .wjh2026-pumpkin:not(:hover):not(:focus-visible) .wjh2026-lid { animation:none; } }
.wjh2026-pumpkin:hover .wjh2026-mini-ghost,.wjh2026-pumpkin:focus-visible .wjh2026-mini-ghost { transform:translateY(-38px); }
.wjh2026-pumpkin small { position:absolute; right:0; bottom:82px; background:#20271e; color:#f5ffd4; white-space:nowrap; padding:9px 12px; font-size:12px; border:1px solid #70833f; border-radius:5px; opacity:0; transition:opacity .3s; pointer-events:none; }
.wjh2026-pumpkin:hover small,.wjh2026-pumpkin:focus-visible small { opacity:1; }
.wjh2026-drifter { position:fixed; left:-60px; width:38px; height:47px; z-index:9996; pointer-events:none; opacity:.7; animation:wjh-drift 14s linear forwards; }
.wjh2026-drifter::before { top:14px; left:9px; width:6px; height:9px; box-shadow:14px 0 #24312d; }
@keyframes wjh-drift { 0% { transform:translate(0,0) rotate(-8deg); opacity:0; } 15% { opacity:.65; } 50% { transform:translate(52vw,-30px) rotate(8deg); } 85% { opacity:.65; } 100% { transform:translate(calc(100vw + 120px),10px) rotate(-8deg); opacity:0; } }
.wjh2026 .wjh2026-sticker { float:right; width:200px; height:180px; margin:0 0 12px 28px; background-image:url('../img/activity-stickers.png'); background-size:300% 100%; background-repeat:no-repeat; pointer-events:none; }
.wjh2026-sticker--raffle { background-position:left center; }
.wjh2026-sticker--costume { background-position:center center; }
.wjh2026-sticker--twoforone { background-position:right center; }
.wjh2026 .wjh2026-level__top { display:flex; flex-wrap:wrap; align-items:center; }
.wjh2026 .wjh2026-level__top > div { flex:1; min-width:160px; }
.wjh2026 .wjh2026-level__body { clear:both; }
.wjh2026-terms { padding:50px 6% 65px; background:#20271e; border-top:1px solid #48513b; }
.wjh2026-terms h2 { color:#f4f7e8; font-size:32px; margin:10px 0 22px; }
.wjh2026-terms ul { display:grid; grid-template-columns:1fr 1fr; gap:18px 40px; padding-left:20px; color:#d8dece; line-height:1.7; }
.wjh2026-terms details { border-top:1px solid #48513b; margin-top:28px; padding-top:22px; line-height:1.7; color:#d8dece; }
.wjh2026-terms summary { color:#c3eb35; cursor:pointer; font-weight:700; }
@media(max-width:760px) { .wjh2026 .wjh2026-sticker { float:none; width:170px; height:150px; margin:0 auto 20px; } .wjh2026-terms ul { grid-template-columns:1fr; } }
@media(max-width:760px) { .wjh2026-pumpkin { right:18px; bottom:24px; width:68px; height:60px; } }
@media(prefers-reduced-motion:reduce) { .wjh2026-pumpkin *,.wjh2026 .wjh2026-cta,.wjh2026 .wjh2026-mission-open { transition:none; } .wjh2026-drifter { display:none; } }

/* Keep the launcher's label clear of the moving lid and ghost. */
.wjh2026-pumpkin { width:76px; height:68px; background:radial-gradient(ellipse at 50% 24%,#ffb449 0,#ff8c16 48%,#bc4109 95%); border-radius:44% 44% 40% 40%; box-shadow:inset 12px 0 0 #d45d1080,inset -12px 0 0 #d45d1080,inset 0 -8px 12px #853009,0 5px 12px #0005; }
.wjh2026-pumpkin span { position:relative; width:52px; height:39px; background:transparent; clip-path:none; filter:none; }
.wjh2026-pumpkin span::before { content:''; position:absolute; inset:0 0 19px; background:#ffeb88; clip-path:polygon(0 100%,18% 0,36% 100%,0 100%,64% 100%,82% 0,100% 100%); }
.wjh2026-pumpkin span::after { content:''; position:absolute; bottom:0; left:3px; width:46px; height:15px; background:#ffeb88; clip-path:polygon(0 0,20% 25%,30% 0,40% 25%,60% 25%,70% 0,80% 25%,100% 0,80% 85%,60% 100%,50% 70%,40% 100%,20% 85%); }
.wjh2026-pumpkin small { right:calc(100% + 14px); bottom:12px; max-width:210px; white-space:normal; width:max-content; line-height:1.4; text-align:center; z-index:5; }
.wjh2026-pumpkin.is-launching small { display:none; }
.wjh2026-pumpkin.is-launching .wjh2026-lid { animation:wjh-lid-launch .85s ease-out forwards !important; }
.wjh2026-pumpkin.is-launching .wjh2026-mini-ghost { z-index:4; animation:wjh-ghost-launch .95s ease-in forwards; }
.wjh2026-pumpkin .wjh2026-mini-ghost { opacity:0; visibility:hidden; z-index:2; transition:transform .55s,opacity .25s,visibility .25s; }
.wjh2026-pumpkin:hover .wjh2026-mini-ghost,.wjh2026-pumpkin:focus-visible .wjh2026-mini-ghost,.wjh2026-pumpkin.is-launching .wjh2026-mini-ghost { opacity:1; visibility:visible; }
@keyframes wjh-lid-launch { 0% { transform:translateY(-10px) rotate(-10deg); } 100% { transform:translate(-60px,-160px) rotate(-150deg); opacity:0; } }
@keyframes wjh-ghost-launch { 0% { transform:translateY(-15px) scale(1); } 30% { transform:translateY(-70px) scale(1.7); opacity:1; } 100% { transform:translate(-40px,-105vh) scale(2.4) rotate(-10deg); opacity:0; } }
.wjh2026-countdown { margin:0 0 28px 80px; color:#e5ecd5; }
.wjh2026-countdown > p { font-size:13px; margin:10px 0; }
.wjh2026-clock { display:flex; gap:10px; }
.wjh2026-clock span { display:grid; place-items:center; width:64px; height:74px; border:1px solid #657842; border-radius:6px; background:#242e20; }
.wjh2026-clock b { font-size:28px; line-height:1; color:#c3eb35; font-variant-numeric:tabular-nums; }
.wjh2026-clock small { font-size:12px; color:#d8dece; }
@media(max-width:760px) { .wjh2026-countdown { clear:both; margin-left:0; } .wjh2026-clock span { width:58px; } }
@media(max-width:760px) { .wjh2026-pumpkin small { max-width:170px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .wjh2026-pumpkin.is-launching .wjh2026-lid,.wjh2026-pumpkin.is-launching .wjh2026-mini-ghost { animation:none !important; } }
