@font-face { font-family: "Alfa Slab One"; src: url("/assets/fonts/alfa-slab-one.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("/assets/fonts/manrope.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }

:root {
  --stage: #0d0908;
  --stage-2: #18100d;
  --red: #c41a0c;
  --red-deep: #8f1108;
  --red-hot: #e8321a;
  --bulb: #ffd27c;
  --bulb-hot: #fff3d6;
  --cream: #f7efe3;
  --ink: #1a1210;
  --mute: rgba(247, 239, 227, .74);
  --mute-ink: rgba(26, 18, 16, .72);
  --line: rgba(247, 239, 227, .16);
  --display: "Alfa Slab One", "Rockwell", Georgia, serif;
  --body: "Manrope", "Segoe UI", Arial, sans-serif;
  --wrap: 1280px;
  --gut: clamp(20px, 4vw, 56px);
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 40px; --s5: 64px; --s6: 104px;
  --radius: 18px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --popup-bg: #fbf5ec;
  --popup-ink: #1a1210;
  --popup-accent: #c41a0c;
  --popup-accent-ink: #fff;
  --popup-soft: rgba(26, 18, 16, .08);
  --popup-line: rgba(26, 18, 16, .2);
  --popup-radius: 22px;
  --popup-backdrop: rgba(13, 9, 8, .74);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; overflow-x: clip; }
body { margin: 0; background: var(--stage); color: var(--cream); font: 400 17px/1.6 var(--body); overflow-x: clip; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--bulb); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { margin: 0; font-family: var(--display); font-weight: 400; line-height: .98; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(46px, 7.4vw, 118px); }
h2 { font-size: clamp(40px, 4.4vw, 72px); }
h3 { font-size: clamp(26px, 2.5vw, 38px); line-height: 1.05; }
p { margin: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--cream); color: var(--ink); border-radius: 10px; }
.skip:focus { top: 12px; }
.wrap { width: min(var(--wrap), 100% - var(--gut) * 2); margin-inline: auto; }
.sr-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.h-label { font: 800 15px/1.3 var(--body); letter-spacing: .14em; text-transform: uppercase; margin-bottom: var(--s3); }
.h-gap { margin-bottom: clamp(40px, 4vw, 60px); max-width: 10em; }
.mt { margin-top: var(--s3); }
.lede { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; color: var(--mute); max-width: 34em; }
.small { font-size: 15px; color: var(--mute); }
.giant { font-family: var(--display); font-size: clamp(96px, 16vw, 260px); line-height: .82; letter-spacing: -.02em; }
.red { color: var(--red-hot); }
.bulbtxt { color: var(--bulb); text-shadow: 0 0 18px rgba(255, 190, 90, .55), 0 0 60px rgba(255, 150, 60, .3); }

.btn { --notch: 9px; position: relative; display: inline-flex; white-space: nowrap; flex-shrink: 0; align-items: center; gap: 12px; min-height: 56px; padding: 15px 30px; border: 0; background: var(--red); color: #fff; font: 800 17px/1 var(--body); letter-spacing: .01em; text-decoration: none; cursor: pointer; -webkit-mask: radial-gradient(circle at 0 50%, #0000 var(--notch), #000 calc(var(--notch) + .5px)) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, #0000 var(--notch), #000 calc(var(--notch) + .5px)) right / 51% 100% no-repeat; mask: radial-gradient(circle at 0 50%, #0000 var(--notch), #000 calc(var(--notch) + .5px)) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, #0000 var(--notch), #000 calc(var(--notch) + .5px)) right / 51% 100% no-repeat; transition: background .25s, transform .25s var(--ease); }
.btn::after { content: ""; position: absolute; inset: 6px 20px; border-left: 2px dashed rgba(255, 255, 255, .35); border-right: 2px dashed rgba(255, 255, 255, .35); pointer-events: none; }
.btn:hover { background: var(--red-hot); transform: translateY(-2px); }
.btn--light { background: var(--cream); color: var(--ink); }
.btn--light::after { border-color: rgba(26, 18, 16, .25); }
.btn--light:hover { background: #fff; }
.btn small { font-weight: 600; opacity: .8; font-size: 15px; }
.textlink { font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--red-hot); padding-bottom: 2px; }
.textlink:hover { color: var(--bulb); border-color: var(--bulb); }

.nav { position: fixed; inset: 0 0 auto; z-index: 50; transition: background .35s, box-shadow .35s; }
.nav__in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--s3); height: 84px; }
.nav.is-solid { background: rgba(13, 9, 8, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--line); }
.nav__links { display: flex; gap: clamp(14px, 1.8vw, 30px); list-style: none; margin: 0; padding: 0; }
.nav__links--r { justify-content: flex-end; align-items: center; }
.nav__links a { position: relative; display: inline-block; padding: 10px 0; font-weight: 700; font-size: 15px; letter-spacing: .02em; text-decoration: none; color: var(--cream); }
.nav__links a::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--bulb); box-shadow: 0 0 10px var(--bulb); opacity: 0; transform: scale(.4); transition: .25s var(--ease); }
.nav__links a:hover::after, .nav__links a[aria-current="page"]::after { opacity: 1; transform: none; }
.nav__links a[aria-current="page"] { color: var(--bulb); }
.nav__logo { display: block; width: clamp(150px, 14vw, 200px); }
.nav__logo img { width: 100%; height: auto; filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .5)); }
.nav__tel { font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.nav__cta, .nav__links .nav__cta { min-height: 46px; padding: 12px 22px; font-size: 15px; --notch: 7px; color: #fff; }
.nav__links .nav__cta::after { content: ""; left: 15px; right: 15px; top: 5px; bottom: 5px; width: auto; height: auto; margin: 0; border-radius: 0; background: none; box-shadow: none; opacity: 1; transform: none; }
.nav__cta::after { inset: 5px 15px; }
.nav__menu { display: none; }
.mnav { display: none; }

@media (max-width: 1100px) {
  .nav__in { grid-template-columns: auto 1fr auto; height: 70px; gap: 12px; }
  .nav__links { display: none; }
  .nav__logo { width: 140px; }
  .nav__right { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
  .nav__menu { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: rgba(13, 9, 8, .5); color: var(--cream); cursor: pointer; }
  .nav__menu span, .nav__menu span::before, .nav__menu span::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; content: ""; transition: transform .3s; }
  .nav__menu span::before { position: absolute; top: -6px; }
  .nav__menu span::after { position: absolute; top: 6px; }
  .nav.is-open .nav__menu span { background: transparent; }
  .nav.is-open .nav__menu span::before { transform: translateY(6px) rotate(45deg); }
  .nav.is-open .nav__menu span::after { transform: translateY(-6px) rotate(-45deg); }
  .mnav { position: fixed; inset: 70px 0 0; z-index: 49; display: block; padding: var(--s4) var(--gut); background: var(--stage); visibility: hidden; opacity: 0; transition: opacity .3s, visibility 0s .3s; overflow-y: auto; }
  .nav.is-open + .mnav { visibility: visible; opacity: 1; transition: opacity .3s; }
  .mnav ul { list-style: none; margin: 0 0 var(--s4); padding: 0; }
  .mnav li a { display: block; padding: 12px 0; font: 400 clamp(34px, 9vw, 48px)/1.1 var(--display); text-decoration: none; border-bottom: 1px solid var(--line); }
  .mnav li a[aria-current="page"] { color: var(--bulb); }
  .mnav .nav__tel { display: inline-block; margin-top: var(--s3); font-size: 19px; }
}
@media (min-width: 1101px) { .nav__left-tel, .nav__right .nav__menu { display: none; } .nav__right { display: none; } }
@media (max-width: 420px) { .nav__logo { width: 112px; } .nav__cta { padding: 11px 14px; } .nav__cta small { display: none; } }

.sec { position: relative; padding-block: clamp(72px, 8vw, 116px); }
.sec--red { background: var(--red); background-image: radial-gradient(120% 90% at 50% 0%, var(--red-hot) 0%, var(--red) 45%, var(--red-deep) 100%); }
.sec--cream { background: var(--cream); color: var(--ink); }
.sec--cream .lede, .sec--cream .small { color: var(--mute-ink); }
.sec--deep { background: var(--stage-2); }
.kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: var(--s3); font-weight: 800; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: var(--bulb); }
.kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--bulb); box-shadow: 0 0 12px var(--bulb); }
.sec--cream .kicker, .sec--red .kicker { color: inherit; }
.sec--cream .kicker::before { background: var(--red); box-shadow: none; }
.sec--red .kicker::before { background: var(--bulb-hot); }

.hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; background: radial-gradient(90% 70% at 50% 30%, #2a120c 0%, var(--stage) 70%); isolation: isolate; }
.hero__stage { position: absolute; inset: 0; z-index: -2; }
.hero__stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__still { position: absolute; left: 50%; top: clamp(96px, 14vh, 150px); transform: translateX(-50%); width: min(1500px, 96vw); font: 400 clamp(64px, 15.5vw, 250px)/1 var(--display); text-align: center; letter-spacing: .02em; color: var(--bulb); text-shadow: 0 0 22px rgba(255, 190, 90, .7), 0 0 70px rgba(255, 140, 50, .45); white-space: nowrap; transition: opacity .9s; }
.hero.has-3d .hero__still, .hero.is-pending .hero__still { opacity: 0; transition-duration: .2s; }
.hero__person { position: absolute; z-index: -1; left: 50%; bottom: 0; width: min(450px, 34vw, 50vh); transform: translateX(-50%); -webkit-mask: linear-gradient(#000 62%, transparent 97%), linear-gradient(90deg, transparent 0, #000 9%, #000 88%, transparent 100%); -webkit-mask-composite: source-in; mask: linear-gradient(#000 62%, transparent 97%) intersect, linear-gradient(90deg, transparent 0, #000 9%, #000 88%, transparent 100%); }
.hero__person img { width: 100%; height: auto; }
.hero__light { position: absolute; inset: 0; width: 100%; height: auto; filter: brightness(1.3) sepia(.45) saturate(1.5) hue-rotate(-8deg); -webkit-mask: linear-gradient(#000 0%, rgba(0, 0, 0, .7) 30%, transparent 62%); mask: linear-gradient(#000 0%, rgba(0, 0, 0, .7) 30%, transparent 62%); opacity: 0; animation: bulb-light 2.4s .9s forwards; pointer-events: none; }
@keyframes bulb-light { 0% { opacity: 0; } 18% { opacity: .7; } 24% { opacity: .15; } 34% { opacity: .85; } 40% { opacity: .4; } 100% { opacity: 1; } }
.hero__floor { position: absolute; inset: auto 0 0; height: 38%; z-index: -1; background: linear-gradient(transparent, rgba(13, 9, 8, .92) 70%); pointer-events: none; }
.hero__copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--s4); padding-bottom: clamp(32px, 6vh, 64px); }
.hero__copy h1 { max-width: 7.5em; font-size: clamp(44px, 6.2vw, 104px); text-shadow: 0 6px 40px rgba(0, 0, 0, .6); }
.hero__offer { display: grid; justify-items: start; gap: var(--s2); max-width: 330px; }
.hero__offer p { font-size: 17px; color: var(--cream); text-shadow: 0 2px 16px rgba(0, 0, 0, .8); }
.hero__offer b { color: var(--bulb); }
@media (max-width: 800px) {
  .hero { align-items: end; }
  .hero__person { width: min(58vw, 34vh); bottom: max(214px, 25%); }
  .hero__still { top: 84px; font-size: 25vw; line-height: .92; white-space: normal; }
  .hero__still span { display: block; }
  .hero__copy { grid-template-columns: 1fr; gap: var(--s3); }
  .hero__floor { height: 60%; background: linear-gradient(transparent, rgba(13, 9, 8, .96) 46%); }
}

.flap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s5); align-items: center; }
.flap__board { padding: clamp(22px, 3vw, 38px); border-radius: 22px; background: linear-gradient(#1d1411, #120c0a); box-shadow: inset 0 0 0 1px rgba(255, 210, 124, .14), 0 40px 90px rgba(0, 0, 0, .5); }
.flap__label { display: flex; justify-content: space-between; margin-bottom: var(--s2); font-weight: 800; font-size: 15px; letter-spacing: .16em; text-transform: uppercase; color: var(--bulb); }
.flap__row { display: flex; gap: clamp(4px, .6vw, 8px); }
.flap__cell { position: relative; display: grid; place-items: center; flex: 1; aspect-ratio: .72; min-width: 0; border-radius: 8px; background: linear-gradient(#2b201b 0 49.4%, #110b09 49.4% 50.6%, #241a16 50.6%); font: 400 clamp(30px, 5.2vw, 82px)/1 var(--display); color: var(--cream); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 6px 14px rgba(0, 0, 0, .4); overflow: hidden; }
.flap__cell.is-gap { background: transparent; box-shadow: none; flex: .4; }
.flap__cell.is-flip { animation: flap .09s linear; }
@keyframes flap { 50% { transform: scaleY(.15); filter: brightness(.6); } }
.flap__foot { margin-top: var(--s3); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s2); }
.flap__copy .giant { margin-bottom: var(--s2); }
.flap__copy h2 { margin-bottom: var(--s3); }
@media (max-width: 900px) { .flap { grid-template-columns: 1fr; gap: var(--s4); } }

.curtain { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 440px); gap: var(--s5); align-items: center; }
.curtain__word { position: relative; height: 1em; font-family: var(--display); font-size: clamp(90px, 14vw, 230px); line-height: .9; letter-spacing: -.02em; }
.curtain__word span { position: absolute; left: 0; top: 0; white-space: nowrap; transition: opacity .6s, transform .8s var(--ease); }
.curtain__word .is-after { color: var(--bulb-hot); opacity: 0; transform: translateY(18%); }
.curtain.is-after .curtain__word .is-before { opacity: 0; transform: translateY(-18%); }
.curtain.is-after .curtain__word .is-after { opacity: 1; transform: none; }
.curtain__copy h2 { margin: var(--s4) 0 var(--s3); }
.curtain__frame { position: relative; width: min(100%, 39vh); justify-self: end; aspect-ratio: 3 / 5; border-radius: 6px; overflow: hidden; background: #1b0705; box-shadow: 0 0 0 10px #2a0a06, 0 0 0 12px rgba(255, 210, 124, .5), 0 40px 100px rgba(0, 0, 0, .55); }
.curtain__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.curtain__frame img.is-hidden { opacity: 0; }
.curtain__drape { position: absolute; top: 0; bottom: 0; width: 51%; z-index: 2; background: repeating-linear-gradient(90deg, #6e0b05 0 4%, #a3140a 7%, #d12513 10%, #a3140a 13%, #6e0b05 16%), #8f1108; box-shadow: inset 0 -40px 60px rgba(0, 0, 0, .45); transition: transform 1.1s cubic-bezier(.7, 0, .2, 1); }
.curtain__drape--l { left: 0; transform: translateX(-101%); transform-origin: left top; }
.curtain__drape--r { right: 0; transform: translateX(101%); transform-origin: right top; }
.curtain__frame.is-closed .curtain__drape { transform: none; }
.curtain__valance { position: absolute; inset: 0 0 auto; height: 9%; z-index: 3; background: repeating-linear-gradient(90deg, #7a0d06 0 5%, #b8180c 8%, #7a0d06 11%); border-bottom: 3px solid rgba(255, 210, 124, .65); border-radius: 0 0 50% 50% / 0 0 40% 40%; }
.curtain__tag { position: absolute; left: 14px; bottom: 14px; z-index: 1; padding: 6px 12px; border-radius: 999px; background: rgba(13, 9, 8, .78); font-weight: 800; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; }
.curtain__note { margin-top: var(--s2); font-size: 15px; color: var(--mute); }
@media (max-width: 900px) { .curtain { grid-template-columns: 1fr; gap: var(--s4); } .curtain__frame { width: min(100%, 34vh); margin-inline: auto; } .curtain__copy h2 { margin-top: var(--s3); } }

.acts { display: grid; gap: clamp(48px, 5vw, 72px); }
.acts__pair { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.acts__pair .act { grid-template-columns: 1fr; gap: var(--s3); }
.acts__pair .act .act__media { aspect-ratio: 2 / 1; }
.acts__pair .act:last-child { margin-top: clamp(16px, 2.4vw, 32px); }
.acts__pair .act:last-child .act__media { aspect-ratio: 16 / 10; }
@media (max-width: 800px) { .acts__pair { grid-template-columns: 1fr; } .acts__pair .act:last-child { margin-top: 0; } }
.act { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.act--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.act--flip .act__media { order: 2; }
.act__media { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 16 / 9; background: #1e1411; }
.act__media img, .act__media video { width: 100%; height: 100%; object-fit: cover; }
.act__price { position: absolute; right: 16px; top: 16px; padding: 10px 16px; border-radius: 12px; background: var(--cream); color: var(--ink); font: 400 clamp(24px, 2.6vw, 34px)/1 var(--display); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.act__price small { display: block; margin-top: 4px; font: 700 15px/1 var(--body); color: var(--mute-ink); }
.act__num { display: block; margin-bottom: var(--s2); font: 800 15px/1 var(--body); letter-spacing: .16em; text-transform: uppercase; color: var(--bulb); }
.act h3 { margin-bottom: var(--s2); }
.act p { color: var(--mute); max-width: 30em; margin-bottom: var(--s3); }
.act--small { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
.act--small .act__media { aspect-ratio: 1; }
.acts__more { padding-top: var(--s3); border-top: 1px solid var(--line); color: var(--mute); }
@media (max-width: 800px) { .act, .act--flip, .act--small { grid-template-columns: 1fr; gap: var(--s3); } .act--flip .act__media { order: 0; } .acts { gap: var(--s5); } }

.rating { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.rating__num { font: 400 clamp(130px, 18vw, 290px)/.8 var(--display); color: var(--red); letter-spacing: -.03em; }
.rating__stars { display: flex; gap: 6px; margin-top: var(--s2); font-size: clamp(26px, 3vw, 40px); color: var(--red); }
.rating__stars span { opacity: .18; transition: opacity .3s, transform .4s var(--ease); transform: scale(.7); }
.rating__stars span.on { opacity: 1; transform: none; }
.rating__count { margin-top: var(--s2); font-weight: 700; }
.bigquote { font: 400 clamp(28px, 3vw, 46px)/1.12 var(--display); text-wrap: balance; }
.bigquote::before { content: "\201C"; display: block; height: .5em; font-size: 2.2em; line-height: 1; color: var(--red); }
.by { display: block; margin-top: var(--s3); font: 800 15px/1.3 var(--body); letter-spacing: .1em; text-transform: uppercase; }
.quotes3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); margin-top: clamp(40px, 5vw, 72px); padding-top: var(--s4); border-top: 2px solid currentColor; }
.quotes3 p { font-size: clamp(19px, 1.6vw, 23px); line-height: 1.4; font-weight: 600; }
.quotes3 .by { margin-top: var(--s2); font-size: 15px; }
@media (max-width: 900px) { .rating { grid-template-columns: 1fr; gap: var(--s3); } .rating__num { font-size: 116px; } .quotes3 { grid-template-columns: 1fr; gap: var(--s3); } }

.award { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.award__stage { position: relative; perspective: 1400px; }
.award__stage::before { content: ""; position: absolute; left: 50%; top: -40%; width: 160%; height: 170%; transform: translateX(-50%); background: conic-gradient(from 160deg at 50% 0%, transparent 0deg, rgba(255, 220, 160, .22) 12deg, rgba(255, 220, 160, .07) 28deg, transparent 40deg); -webkit-mask: linear-gradient(#000 40%, transparent); mask: linear-gradient(#000 40%, transparent); pointer-events: none; opacity: var(--beam, 1); }
.award__plaque { position: relative; border-radius: 6px; overflow: hidden; transform-origin: 50% 0; box-shadow: 0 50px 90px rgba(0, 0, 0, .65); }
.award__plaque img { width: 100%; height: auto; }
.award__plaque::after { content: ""; position: absolute; inset: -20% -60%; background: linear-gradient(105deg, transparent 40%, rgba(255, 245, 220, .45) 50%, transparent 60%); transform: translateX(var(--sheen, -70%)); pointer-events: none; }
.award__copy .giant { font-size: clamp(56px, 7.4vw, 120px); line-height: .86; margin-bottom: var(--s4); }
.award__copy .lede { margin-bottom: var(--s3); }
@media (max-width: 900px) { .award { grid-template-columns: 1fr; } .award__stage { max-width: 320px; margin-inline: auto; } }

.ticketsec { overflow: hidden; }
.ticketsec__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 90px); align-items: center; }
.ticketsec h2 { margin-bottom: var(--s3); }
.ticketsec .lede { color: rgba(255, 255, 255, .86); margin-bottom: var(--s4); }
.ticket { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 30%; color: var(--ink); filter: drop-shadow(0 30px 60px rgba(60, 0, 0, .45)); transform: rotate(-4deg); }
.ticket__main, .ticket__stub { position: relative; padding: clamp(20px, 2.6vw, 34px); background: var(--cream); }
.ticket__main { border-radius: 16px 0 0 16px; -webkit-mask: radial-gradient(circle at 100% 0, #0000 14px, #000 14.5px) top right / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 14px, #000 14.5px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) left / 50% 100% no-repeat; mask: radial-gradient(circle at 100% 0, #0000 14px, #000 14.5px) top right / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 14px, #000 14.5px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) left / 50% 100% no-repeat; }
.ticket__stub { border-radius: 0 16px 16px 0; border-left: 3px dashed rgba(26, 18, 16, .35); display: grid; place-items: center; text-align: center; -webkit-mask: radial-gradient(circle at 0 0, #0000 14px, #000 14.5px) top left / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 14px, #000 14.5px) bottom left / 51% 51% no-repeat, linear-gradient(#000, #000) right / 50% 100% no-repeat; mask: radial-gradient(circle at 0 0, #0000 14px, #000 14.5px) top left / 51% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 14px, #000 14.5px) bottom left / 51% 51% no-repeat, linear-gradient(#000, #000) right / 50% 100% no-repeat; transform-origin: 0 50%; }
.ticket__admit { font: 800 15px/1 var(--body); letter-spacing: .3em; text-transform: uppercase; color: var(--red); }
.ticket__big { margin: 10px 0 6px; font: 400 clamp(44px, 5.4vw, 86px)/.9 var(--display); }
.ticket__line { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 12px; margin-top: 12px; border-top: 2px solid rgba(26, 18, 16, .14); font-weight: 700; font-size: 15px; }
.ticket__price { font: 400 clamp(38px, 4.2vw, 64px)/1 var(--display); color: var(--red); }
.ticket__no { display: block; margin-top: 6px; font: 700 15px/1.2 var(--body); writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .2em; color: var(--mute-ink); }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); margin-top: clamp(40px, 5vw, 64px); counter-reset: s; }
.step { padding: var(--s3); border-radius: var(--radius); background: rgba(13, 9, 8, .2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.step b { display: block; margin-bottom: 6px; font: 400 24px/1.1 var(--display); }
.step b::before { counter-increment: s; content: counter(s) ". "; color: var(--bulb-hot); }
.step p { font-size: 17px; color: rgba(255, 255, 255, .86); }
.fine { margin-top: var(--s3); font-size: 15px; color: rgba(255, 255, 255, .8); }
@media (max-width: 900px) { .ticketsec__grid, .steps { grid-template-columns: 1fr; } .steps { gap: 10px; margin-top: var(--s4); } .step { padding: 14px 18px; } .ticket { transform: rotate(-2deg); max-width: 560px; } }
@media (max-width: 480px) { .ticket { grid-template-columns: 1fr 34%; } .ticket__line { font-size: 15px; } }

.foot { padding-block: var(--s5) var(--s3); background: #080605; }
.foot__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: var(--s4); }
.foot__logo { width: 190px; margin-bottom: var(--s2); }
.foot h3 { margin-bottom: var(--s2); font: 800 15px/1 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--bulb); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.foot a { text-decoration: none; }
.foot a:hover { color: var(--bulb); }
.foot p, .foot li { font-size: 16px; color: var(--mute); }
.foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s2); margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--line); font-size: 15px; color: var(--mute); }
@media (max-width: 900px) { .foot__grid { grid-template-columns: 1fr 1fr; gap: var(--s3); } .foot__grid > div:first-child { grid-column: 1 / -1; } .foot { padding-top: var(--s4); } }

.phero { position: relative; min-height: min(100svh, 920px); display: grid; align-items: end; overflow: hidden; isolation: isolate; padding-top: 110px; }
.phero__copy { position: relative; z-index: 2; padding-bottom: clamp(36px, 7vh, 72px); display: grid; gap: var(--s3); justify-items: start; }
.phero__copy h1 { font-size: clamp(44px, 6.2vw, 104px); max-width: 9em; text-shadow: 0 6px 40px rgba(0, 0, 0, .55); }
.phero__copy .lede { color: var(--cream); text-shadow: 0 2px 18px rgba(0, 0, 0, .8); }
.phero__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(13, 9, 8, .55) 0%, transparent 30%, rgba(13, 9, 8, .25) 55%, rgba(13, 9, 8, .94) 100%); pointer-events: none; }

.vidtype { position: absolute; inset: 0; z-index: 0; background: var(--stage); }
.vidtype video, .vidtype img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vidtype__mask { position: absolute; inset: 0; display: grid; place-items: center; background: var(--stage); color: #fff; mix-blend-mode: multiply; font: 400 clamp(380px, 62vw, 900px)/.8 var(--display); letter-spacing: -.04em; padding-bottom: 8vh; }
.vidtype__mask--sm { font-size: clamp(150px, 27vw, 430px); }
@media (max-width: 800px) { .vidtype__mask { font-size: 130vw; padding-bottom: 26vh; } .vidtype__mask--sm { font-size: 31vw; padding-bottom: 34vh; } }

.photo-bg { position: absolute; inset: 0; z-index: 0; }
.photo-bg img { width: 100%; height: 100%; object-fit: cover; }

.marq { display: grid; gap: var(--s4); }
.marq__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s4); align-items: end; }
.marq__count { font: 400 clamp(110px, 17vw, 270px)/.8 var(--display); color: var(--bulb); text-shadow: 0 0 30px rgba(255, 180, 80, .45); font-variant-numeric: tabular-nums; min-width: 2.1ch; }
.bulbs { display: grid; grid-template-columns: repeat(var(--cols, 8), minmax(0, 1fr)); gap: clamp(10px, 1.6vw, 22px); padding: clamp(20px, 3vw, 36px); border-radius: 22px; background: linear-gradient(#1f1310, #140c0a); box-shadow: inset 0 0 0 2px rgba(255, 210, 124, .16); }
.bulbs__col { display: grid; gap: clamp(8px, 1vw, 14px); align-content: start; justify-items: center; }
.bulbs__col b { font: 800 15px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); margin-top: 6px; }
.bulb { width: clamp(14px, 1.8vw, 26px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #5a4636, #2a1d17 70%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); transition: background .25s, box-shadow .35s; }
.bulb.on { background: radial-gradient(circle at 42% 38%, #fffaf0 0 18%, #ffe2a6 40%, #ffb34d 75%); box-shadow: 0 0 12px rgba(255, 200, 110, .9), 0 0 34px rgba(255, 160, 60, .5); }
.bulbs--row { grid-template-columns: repeat(var(--cols, 20), minmax(0, 1fr)); justify-items: center; }
@media (max-width: 700px) { .marq__head { grid-template-columns: 1fr; } .bulbs--row { --cols: 10 !important; } }

.list2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3) var(--s5); list-style: none; margin: 0; padding: 0; }
.list2 li { padding-top: var(--s2); border-top: 1px solid var(--line); }
.list2 b { display: block; margin-bottom: 4px; font: 400 22px/1.15 var(--display); }
.list2 span { color: var(--mute); }
.sec--cream .list2 li { border-color: rgba(26, 18, 16, .15); }
.sec--cream .list2 span { color: var(--mute-ink); }
@media (max-width: 760px) { .list2 { grid-template-columns: 1fr; } }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.split h2 { margin-bottom: var(--s3); }
.split .lede { margin-bottom: var(--s3); }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } }

.reel { position: relative; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.reel__track { display: flex; gap: var(--s3); width: max-content; animation: reel 46s linear infinite; }
.reel__track img { width: clamp(220px, 24vw, 340px); aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); }
@keyframes reel { to { transform: translateX(-50%); } }

.faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.faq div { padding: var(--s3); border-radius: var(--radius); background: rgba(26, 18, 16, .05); box-shadow: inset 0 0 0 1px rgba(26, 18, 16, .12); }
.faq b { display: block; margin-bottom: 8px; font: 400 23px/1.15 var(--display); }
.faq p { color: var(--mute-ink); }
@media (max-width: 760px) { .faq { grid-template-columns: 1fr; } }

.stopwatch { font: 400 clamp(120px, 23vw, 380px)/.8 var(--display); font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--cream); }
.stopwatch__ring { position: absolute; z-index: 1; right: var(--gut); top: 120px; width: clamp(120px, 14vw, 200px); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--red-hot) calc(var(--p, 0) * 1turn), rgba(247, 239, 227, .14) 0); -webkit-mask: radial-gradient(circle, transparent 58%, #000 59%); mask: radial-gradient(circle, transparent 58%, #000 59%); }
.stubs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; }
.stub { position: relative; aspect-ratio: .62; border-radius: 8px; background: var(--cream); color: var(--ink); display: grid; place-items: center; font: 400 clamp(16px, 1.8vw, 26px)/1 var(--display); transition: transform .6s var(--ease), opacity .6s, background .4s; box-shadow: 0 8px 20px rgba(0, 0, 0, .3); }
.stub::before, .stub::after { content: ""; position: absolute; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--stage-2); }
.stub::before { top: -7px; } .stub::after { bottom: -7px; }
.stub.used { background: var(--red); color: #fff; transform: translateY(-10px) rotate(-6deg); }
@media (max-width: 700px) { .stubs { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.release { display: block; font: 400 clamp(64px, 11vw, 180px)/.9 var(--display); white-space: nowrap; letter-spacing: var(--ls, .02em); transform: scaleX(var(--sx, 1)); transform-origin: 0 50%; color: var(--cream); will-change: transform; }
.hurts { display: grid; gap: clamp(4px, 1vw, 12px); }
.hurt { font: 400 clamp(44px, 5.6vw, 92px)/.98 var(--display); white-space: nowrap; transform-origin: 0 50%; }
.hurt small { font: 700 15px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); margin-left: 14px; vertical-align: middle; }
.hurt.tight { color: var(--red-hot); letter-spacing: -.09em; transform: scaleX(.78); }
.hurt.loose { color: var(--cream); letter-spacing: .02em; transform: none; transition: letter-spacing 1.4s var(--ease), transform 1.4s var(--ease), color 1s; }

.spot { position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at var(--sx, 50%) var(--sy, 40%), rgba(255, 228, 180, .3) 0, rgba(255, 200, 140, .12) 16%, transparent 34%), var(--stage); }
.spot__cone { position: absolute; left: var(--sx, 50%); top: -10%; width: 70vw; height: 120%; transform: translateX(-50%); background: conic-gradient(from 168deg at 50% 0%, transparent 0deg, rgba(255, 225, 175, .16) 8deg, rgba(255, 225, 175, .05) 20deg, transparent 24deg); pointer-events: none; }
.spot__person { position: absolute; z-index: 1; bottom: 0; left: var(--sx, 50%); width: min(560px, 46vw); transform: translateX(-50%); -webkit-mask: linear-gradient(#000 70%, transparent 98%); mask: linear-gradient(#000 70%, transparent 98%); filter: brightness(var(--lit, 1)); }
@media (max-width: 800px) { .spot__person { width: 96vw; bottom: 26%; } }

.beam { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: var(--stage); display: grid; grid-template-columns: 1fr 1fr; }
.beam__pair { position: relative; grid-column: 2; margin: 96px var(--gut) 0 0; }
.beam__pair img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.beam__after { clip-path: inset(0 0 0 var(--wipe, 100%)); }
.beam__line { position: absolute; top: 0; bottom: 0; left: var(--wipe, 100%); width: 4px; margin-left: -2px; background: var(--bulb-hot); box-shadow: 0 0 20px 6px rgba(255, 210, 124, .75), 0 0 80px 30px rgba(255, 170, 70, .3); }
.beam__lbl { position: absolute; top: 18px; z-index: 2; padding: 6px 12px; border-radius: 999px; background: rgba(13, 9, 8, .8); font: 800 15px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; }
.beam__lbl--b { left: 18px; } .beam__lbl--a { right: 18px; color: var(--bulb); }
@media (max-width: 800px) { .beam { grid-template-columns: 1fr; } .beam__pair { grid-column: 1; margin: 84px var(--gut) 45vh; } }

.pairs { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--s4); align-items: end; }
.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; border-radius: var(--radius); overflow: hidden; }
.pair figure { position: relative; margin: 0; aspect-ratio: 3 / 5; }
.pair img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.pair figcaption { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 999px; background: rgba(13, 9, 8, .8); font: 800 15px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 760px) { .pairs { grid-template-columns: 1fr; } }

.qlist { display: grid; gap: clamp(28px, 4vw, 48px); }
.qlist blockquote { margin: 0; padding-left: clamp(20px, 3vw, 40px); border-left: 4px solid var(--red); }
.qlist p { font: 400 clamp(24px, 2.4vw, 36px)/1.18 var(--display); }
.qlist .by { margin-top: 12px; }

.map { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--radius); filter: grayscale(.4) contrast(1.05); }

.legal { padding-top: 140px; }
.legal h1 { font-size: clamp(42px, 5vw, 72px); margin-bottom: var(--s4); }
.legal h2 { font-size: clamp(26px, 2.4vw, 34px); margin: var(--s5) 0 var(--s2); }
.legal p, .legal li { max-width: 46em; color: var(--mute); margin-bottom: var(--s2); }

.is-armed .rv { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); }
.is-armed .rv.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .is-armed .rv { opacity: 1; transform: none; }
  .reel__track { flex-wrap: wrap; width: auto; }
}

.mb { margin-bottom: var(--s4); }
.split--end { align-items: end; margin-bottom: var(--s4); }
.of24 { font: 700 clamp(20px, 2vw, 28px)/1 var(--body); color: var(--mute); text-shadow: none; }
.phero__shade--left { background: linear-gradient(90deg, rgba(13, 9, 8, .96) 0%, rgba(13, 9, 8, .7) 42%, transparent 62%), linear-gradient(transparent 70%, rgba(13, 9, 8, .9)); }
@media (max-width: 800px) { .phero__shade--left { background: linear-gradient(180deg, rgba(13, 9, 8, .5) 0%, transparent 25%, rgba(13, 9, 8, .3) 45%, rgba(13, 9, 8, .97) 62%); } }
.meets { color: var(--red); font-size: clamp(64px, 9.6vw, 156px); line-height: .9; max-width: 11ch; }
.bulbframe { position: relative; padding: 18px; border-radius: 20px; background: #1d120f; }
.bulbframe::before { content: ""; position: absolute; inset: 4px; padding: 8px; border-radius: 16px; background: radial-gradient(circle, #ffe7b5 0 2.4px, rgba(255, 190, 90, .5) 3.4px, transparent 5px) 0 0 / 20px 20px; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: chase 1.2s steps(2) infinite; }
@keyframes chase { to { background-position: 20px 0; } }
.bulbframe video { position: relative; width: 100%; aspect-ratio: 960 / 622; object-fit: cover; border-radius: 10px; }
.qlist mark { background: linear-gradient(transparent 58%, rgba(196, 26, 12, .32) 58%) no-repeat 0 0 / 0% 100%; color: inherit; transition: background-size 1.4s var(--ease) .3s; }
.qlist mark.lit { background-size: 100% 100%; }
@media (prefers-reduced-motion: reduce) { .qlist mark { background-size: 100% 100%; } }
.btnrow { display: flex; flex-wrap: wrap; gap: 14px; }
.vidtype__mask--right { justify-items: end; align-items: center; padding: 96px 4vw 0 0; font-size: min(56vw, 104vh); }
@media (max-width: 800px) { .vidtype__mask--right { justify-items: center; align-items: start; padding: 76px 0 0; font-size: 116vw; } }
.meals { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s2) var(--s4); align-items: baseline; margin-top: clamp(48px, 6vw, 80px); margin-bottom: var(--s3); padding-top: var(--s3); border-top: 1px solid rgba(26, 18, 16, .15); }
.meals p { color: var(--mute-ink); }
@media (max-width: 800px) { .meals { grid-template-columns: 1fr; } }
.sec--cream .reel__track img { width: clamp(200px, 19vw, 270px); }
@media (prefers-reduced-motion: reduce) { .reel__track [aria-hidden="true"] { display: none; } .reel__track { justify-content: center; } .reel { -webkit-mask: none; mask: none; } }

@media (max-width: 600px) { h1, .hero__copy h1, .phero__copy h1 { font-size: 9vw; } }
.bulbword { display: block; }
.bulbword span { display: inline-block; color: transparent; background: radial-gradient(circle, #5b4334 0 2.6px, transparent 3.2px) 0 0 / 9px 9px; -webkit-background-clip: text; background-clip: text; transition: filter .2s; }
.bulbword span.lit { background-image: radial-gradient(circle, #fff6df 0 1.6px, #ffcf78 2.6px, transparent 3.4px); filter: drop-shadow(0 0 6px rgba(255, 180, 80, .65)); }
.bulbword .sp { width: .28em; }
.letterboard { display: flex; flex-wrap: wrap; gap: 4px 10px; perspective: 600px; }
.letterboard .w { display: inline-flex; gap: 3px; }
.letterboard .t { display: inline-grid; place-items: center; min-width: .74em; padding: .08em .06em .02em; border-radius: 4px; background: var(--cream); color: var(--ink); box-shadow: inset 0 -2px 0 rgba(26, 18, 16, .12), 0 6px 14px rgba(0, 0, 0, .35); transform-origin: 50% 0; }
.letterboard.armed .t { transform: rotateX(-92deg); opacity: 0; }
.letterboard.show .t { transform: none; opacity: 1; transition: transform .55s var(--ease), opacity .3s; }
@media (prefers-reduced-motion: reduce) { .bulbword span { background-image: radial-gradient(circle, #fff6df 0 1.6px, #ffcf78 2.6px, transparent 3.4px); } .letterboard.armed .t { transform: none; opacity: 1; } }
.photo-bg--right img { object-position: 78% 30%; }
#award { overflow-x: clip; }
@media (max-width: 800px) { .photo-bg--right img { object-position: 62% 0%; } .photo-bg--right { bottom: 34%; } }
