/* ============================================================
   THE WAVELENGTH OF MONEY: THE REPLAYS · "The Screening Room"
   ------------------------------------------------------------
   A dark room with two lit things: the lesson on the screen, and a row
   of gold tickets to the real room under it.
     lime  means WATCHING  (play, progress, New, the free live parts)
     gold  means BUYING    (the tickets, and nothing else)
   Scrolling below the screen changes the colour once, from green-black
   into the lamp light of Meir's own photograph.
   Display: Archivo (its width axis) · Body: Figtree · Labels: IBM Plex
   Mono, only ever four words or fewer.
   ============================================================ */
:root{
  --base:#08110A;
  --surround:#050805;
  --paper:#F4EFE3;
  --muted:rgba(244,239,227,.64);
  --faint:rgba(244,239,227,.40);
  --line:rgba(244,239,227,.09);

  --lime:#C7F04B;
  --lime-hi:#DCFF7E;
  --lime-ink:#0E1305;
  --g-lime:linear-gradient(96deg,#DCFF7E 0%,#C7F04B 46%,#8FD96A 100%);

  --gold:#C9A55C;
  --gold-2:#E8C77A;
  --gold-deep:#7A5E24;
  --foil:linear-gradient(100deg,#F6E7B8 0%,#E8C77A 38%,#C9A55C 70%,#F1DA9A 100%);
  --ink-ticket:linear-gradient(135deg,#15151C 0%,#0B0B10 55%,#171309 100%);

  --f-d:"Archivo",system-ui,sans-serif;
  --f-b:"Figtree",system-ui,sans-serif;
  --f-m:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  --pad:clamp(16px,2.2vw,32px);
  --gap:clamp(18px,1.9vw,28px);
  --strip-h:44px;
  --nowline-h:46px;
  --band-h:clamp(120px,18svh,160px);
  --rail-w:clamp(300px,26vw,380px);
  --stage-pt:18px;
  --screen-max:max(560px,calc((100svh - var(--strip-h) - var(--band-real,var(--band-h)) - var(--nowline-h) - var(--stage-pt) - 14px) * 16 / 9));
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--base);scroll-behavior:smooth;scroll-padding-bottom:var(--band-real,0px);-webkit-text-size-adjust:100%}
/* the page colour lives on <html> only: a body background would paint OVER the lamp layer below */
body{color:var(--paper);font-family:var(--f-b);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;padding-bottom:var(--band-real,var(--band-h))}
img,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--lime);color:var(--lime-ink)}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad)}

/* the lamp light (one colour change, driven by --ramp from wlr.js) */
.ramp{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--ramp,0);
  background:radial-gradient(90% 70% at 80% 12%,rgba(95,56,29,.62),rgba(95,56,29,0) 62%),
             radial-gradient(70% 60% at 8% 92%,rgba(61,34,17,.45),rgba(61,34,17,0) 60%),
             linear-gradient(180deg,#1D1613 0%,#120D0A 100%)}
/* the lights come up from black, first visit only, never blocking a click */
.curtain{position:fixed;inset:0;z-index:60;background:#000;opacity:0;pointer-events:none}
.intro .curtain{animation:lightsup 2.2s cubic-bezier(.35,0,.15,1) both}
@keyframes lightsup{from{opacity:1}to{opacity:0}}

/* ============================================================
   THE STRIP
   ============================================================ */
.strip{height:var(--strip-h);display:flex;align-items:center;padding:0 var(--pad);background:var(--surround);
  border-bottom:1px solid rgba(244,239,227,.06)}
.strip-in{width:100%;max-width:1720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.strip-logo{height:21px;width:auto;flex:none}
.strip-next{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;line-height:1.2;color:var(--muted);white-space:nowrap}
.strip-txt{overflow:hidden;text-overflow:ellipsis}
.strip-txt b{color:var(--paper);font-weight:600;margin-right:4px}
.strip-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none;box-shadow:0 0 10px rgba(199,240,75,.7)}
.is-onair .strip-dot{animation:beat 1.6s ease-in-out infinite}
@keyframes beat{0%,100%{box-shadow:0 0 0 0 rgba(199,240,75,.6)}60%{box-shadow:0 0 0 8px rgba(199,240,75,0)}}
.strip-link{color:var(--lime);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;flex:none}
.strip-link:hover{color:var(--lime-hi)}
.s-short{display:none}

/* ============================================================
   THE STAGE: screen + rail, then the line and the doors
   ============================================================ */
.stage{padding:var(--stage-pt) var(--pad) 0}
.stage-grid{display:grid;grid-template-columns:minmax(0,var(--screen-max)) var(--rail-w);justify-content:center;gap:var(--gap);align-items:stretch}
.screen-col{min-width:0;display:flex;flex-direction:column}

.screen{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;
  container-type:inline-size;cursor:pointer;isolation:isolate;
  box-shadow:0 0 0 1px rgba(244,239,227,.08),0 40px 110px -40px rgba(0,0,0,.9),0 0 90px -30px rgba(199,240,75,.16);
  transition:box-shadow 1.6s ease}
.is-playing .screen{box-shadow:0 0 0 1px rgba(244,239,227,.1),0 40px 110px -40px rgba(0,0,0,.9),0 0 140px -30px rgba(199,240,75,.26)}
.screen.playing{cursor:default}
.poster{position:absolute;inset:0;z-index:2;background:#050805 url("poster-1280.jpg") 78% 30%/cover no-repeat;
  transition:opacity .5s ease,visibility .5s}
.poster::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,8,5,.95) 0%,rgba(5,8,5,.86) 30%,rgba(5,8,5,.38) 56%,rgba(5,8,5,0) 78%),
             linear-gradient(0deg,rgba(5,8,5,.72) 0%,rgba(5,8,5,0) 42%)}
@media (min-width:1500px){.poster{background-image:url("poster-1920.jpg")}}
.poster-txt{position:absolute;left:6.5cqw;top:50%;transform:translateY(-50%);width:min(52cqw,640px)}
.poster-k{display:flex;align-items:center;gap:12px;font-family:var(--f-m);font-weight:500;font-size:clamp(10.5px,1.3cqw,13px);
  letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.poster-len{color:var(--paper);border:1px solid rgba(244,239,227,.28);border-radius:999px;padding:3px 9px;letter-spacing:.08em}
.poster-len:empty{display:none}
.poster-t{margin-top:1.6cqw;font-family:var(--f-d);font-weight:800;font-stretch:112%;font-size:clamp(26px,6.2cqw,78px);
  line-height:.98;letter-spacing:-.012em;color:var(--paper);text-wrap:balance}
.poster-t span{background:var(--g-lime);-webkit-background-clip:text;background-clip:text;color:transparent}
.poster-by{margin-top:1.1cqw;font-size:clamp(13px,1.7cqw,20px);font-weight:500;color:rgba(244,239,227,.86)}
.poster-d{margin-top:.3cqw;font-size:clamp(12px,1.35cqw,16px);color:var(--muted)}
.playbtn{margin-top:3cqw;display:inline-flex;align-items:center;gap:12px;padding:8px 22px 8px 8px;border-radius:999px;
  background:var(--g-lime);color:var(--lime-ink);font-family:var(--f-d);font-weight:800;font-size:clamp(13px,1.55cqw,18px);
  box-shadow:0 14px 40px -8px rgba(199,240,75,.55);transition:transform .3s cubic-bezier(.2,.9,.3,1.2),box-shadow .3s}
.playbtn-ic{width:clamp(34px,4.4cqw,52px);height:clamp(34px,4.4cqw,52px);border-radius:50%;background:var(--lime-ink);display:grid;place-items:center;
  animation:ring 2.4s ease-out infinite}
.playbtn-ic svg{width:44%;height:44%;fill:var(--lime);margin-left:8%}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(14,19,5,.45)}100%{box-shadow:0 0 0 16px rgba(14,19,5,0)}}
.screen:hover .playbtn{transform:translateY(-2px) scale(1.03);box-shadow:0 20px 50px -8px rgba(199,240,75,.7)}
.screen.loading .playbtn{opacity:0;transform:scale(.96)}
.screen.playing .poster{opacity:0;visibility:hidden}
.screen-spin{position:absolute;left:50%;top:50%;z-index:3;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  border:3px solid rgba(199,240,75,.18);border-top-color:var(--lime);opacity:0;pointer-events:none}
.screen.loading:not(.playing) .screen-spin{opacity:1;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#ytmount{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
#ytmount iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.noscript{position:absolute;left:0;right:0;bottom:12%;z-index:4;text-align:center;font-size:15px;color:var(--paper)}

.nowline{height:var(--nowline-h);display:flex;align-items:center;justify-content:center;gap:16px;padding:0 2px}
.nowline-txt{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nowline-txt b{color:var(--paper);font-weight:600}
.nowline-start{flex:none;font-size:13.5px;font-weight:600;color:var(--lime);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.nowline-start:hover{color:var(--lime-hi)}

/* ---- the rail: every part ---- */
.rail{display:flex;flex-direction:column;min-width:0}
.rail-k{font-family:var(--f-d);font-weight:800;font-stretch:108%;font-size:clamp(18px,1.5vw,21px);line-height:1.2;letter-spacing:-.01em;color:var(--paper);text-align:center;margin-bottom:10px}
.rail-list{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1}
.rail-list li{display:flex;flex:1 1 0;max-height:150px}
.rc{position:relative;flex:1;display:grid;grid-template-columns:clamp(40px,3.2vw,50px) minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:12px 14px 12px 14px;border-radius:14px;text-align:left;
  background:rgba(244,239,227,.045);border:1px solid rgba(244,239,227,.12);
  transition:background .3s,border-color .3s,transform .3s cubic-bezier(.2,.8,.3,1),opacity 1.2s ease}
.rc.is-ready:hover{background:rgba(244,239,227,.08);border-color:rgba(244,239,227,.24);transform:translateY(-1px)}
.rc.is-ready:hover .rc-go{transform:scale(1.08)}
.rc.is-on{background:rgba(199,240,75,.065);border-color:rgba(199,240,75,.32)}
.rc.is-on::before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--lime);box-shadow:0 0 12px rgba(199,240,75,.6)}
.rc-n{font-family:var(--f-d);font-weight:800;font-stretch:118%;font-size:clamp(26px,2.3vw,34px);line-height:1;color:rgba(244,239,227,.55);letter-spacing:-.02em}
.rc.is-on .rc-n{color:var(--lime);text-shadow:0 0 22px rgba(199,240,75,.35)}
.rc-b{min-width:0;display:flex;flex-direction:column;gap:2px}
.rc-k{display:flex;align-items:center;gap:8px;font-family:var(--f-d);font-weight:800;font-stretch:106%;font-size:clamp(16px,1.25vw,18px);line-height:1.2;letter-spacing:-.005em;color:var(--paper)}
.rc-new{font-style:normal;font-family:var(--f-b);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--lime);color:var(--lime-ink)}
.rc-live{animation:beat 1.6s ease-in-out infinite}
.rc-d{margin-top:2px;font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-s{margin-top:2px;font-size:13.5px;line-height:1.35;color:var(--faint)}
.rc-a{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:700;
  color:var(--lime-ink);background:var(--lime);text-decoration:none;transition:background .25s,transform .25s}
.rc-a:hover{background:var(--lime-hi);transform:translateY(-1px)}
.rc-bar{display:block;height:3px;margin-top:7px;border-radius:3px;background:rgba(244,239,227,.1);overflow:hidden}
.rc-bar i{display:block;height:100%;width:0;background:var(--g-lime);border-radius:3px;transition:width .5s linear}
.rc.is-done .rc-bar i{width:100%!important}
.is-wait .rc-n,.is-soon .rc-n{color:rgba(244,239,227,.3)}
.is-wait .rc-k,.is-soon .rc-k{color:rgba(244,239,227,.78)}
.rc-r{width:40px;height:40px;display:grid;place-items:center}
.rc-go{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--lime);box-shadow:0 8px 20px -8px rgba(199,240,75,.7);transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.rc-go svg{width:16px;height:16px;fill:var(--lime-ink);margin-left:2px}
.is-playing .rc.is-on .rc-go{display:none}
.rc-eq{display:none;align-items:flex-end;gap:2px;height:14px}
.rc-eq i{width:3px;height:100%;border-radius:1px;background:var(--lime);transform-origin:bottom;animation:eq 1s ease-in-out infinite}
.rc-eq i:nth-child(2){animation-delay:-.35s}.rc-eq i:nth-child(3){animation-delay:-.7s}
@keyframes eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.is-playing .rc.is-on .rc-eq{display:flex}

/* ---- under the video: his line, the two doors, the guarantee ---- */
.under{display:grid;grid-template-columns:minmax(0,var(--screen-max)) var(--rail-w);justify-content:center;gap:var(--gap);
  padding:clamp(34px,4.4vw,64px) var(--pad) clamp(48px,6vw,88px);align-items:start}
.line{min-width:0}
.line-q{font-family:var(--f-d);font-weight:700;font-stretch:112%;font-size:clamp(26px,2.9vw,46px);line-height:1.1;letter-spacing:-.01em;
  color:var(--paper);text-wrap:balance;max-width:24ch;margin:0 auto;text-align:center}
.line-c{margin-top:16px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px}
.line-who{font-size:14px;color:var(--muted)}
.line-hear{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--lime);padding:6px 14px 6px 8px;
  border-radius:999px;border:1px solid rgba(199,240,75,.35);transition:background .25s,border-color .25s}
.line-hear svg{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--lime);fill:var(--lime-ink)}
.line-hear:hover{background:rgba(199,240,75,.08);border-color:var(--lime)}

.doors{display:flex;flex-direction:column;gap:10px;min-width:0}
.doors--online-first [data-door="online"]{order:-1}
.door{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;row-gap:2px;
  padding:15px 16px 15px 18px;border-radius:16px;text-decoration:none;background:var(--ink-ticket);
  border:1px solid rgba(201,165,92,.5);box-shadow:0 18px 40px -18px rgba(0,0,0,.8),inset 0 1px 0 rgba(232,199,122,.18);
  transition:transform .3s cubic-bezier(.2,.8,.3,1),border-color .3s,box-shadow .3s}
.door:hover{transform:translateY(-2px);border-color:rgba(232,199,122,.9);box-shadow:0 24px 50px -18px rgba(0,0,0,.9),0 0 40px rgba(201,165,92,.18),inset 0 1px 0 rgba(232,199,122,.28)}
.door:focus-visible,.stub:focus-visible,.srow:focus-visible,.tk-buy:focus-visible,.dock:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.door-t{grid-column:1;font-family:var(--f-d);font-weight:800;font-stretch:108%;font-size:18px;line-height:1.15;
  background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.door-s{grid-column:1;font-size:13px;line-height:1.4;color:rgba(244,239,227,.7)}
.door-s:empty{display:none}
.door-go{grid-column:2;grid-row:1/span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#1A1408;
  background:linear-gradient(160deg,#F1DA9A 0%,#C9A55C 55%,#A8863F 100%);box-shadow:0 8px 18px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.door-go svg{width:18px;height:18px}
.door:hover .door-go{transform:translateX(3px)}
.guar{font-size:13.5px;line-height:1.5;color:var(--muted);padding:4px 2px 0;border-radius:8px;text-align:center}
.guar b{color:var(--paper);font-weight:600}
.guar.glow{animation:guarglow 2.4s ease-out 1}
@keyframes guarglow{0%{background:rgba(232,199,122,0)}25%{background:rgba(232,199,122,.14)}100%{background:rgba(232,199,122,0)}}

/* prices, everywhere */
.px{white-space:nowrap;font-variant-numeric:tabular-nums}
.px small{font-size:.78em;color:var(--muted);font-weight:500}
.px b{font-family:var(--f-d);font-weight:800;color:var(--paper)}
.px s{margin-left:3px;font-size:.84em;color:rgba(244,239,227,.46);text-decoration-thickness:1px}
.money-late .px{animation:pxin .6s ease both}
@keyframes pxin{from{opacity:0}to{opacity:1}}

/* ---- house lights: the room dims while the lesson plays ---- */
.lights-dim{transition:opacity 1.2s ease}
.lights .lights-dim{opacity:.18;transition:opacity 1.6s ease}
.lights .rc:not(.is-on){opacity:.55}

/* ============================================================
   THE BAND: the tickets, the whole time
   ============================================================ */
.band{position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--band-h);padding:0 var(--pad) env(safe-area-inset-bottom);
  background:linear-gradient(180deg,#0A0C0B 0%,#060807 100%);box-shadow:0 -22px 60px rgba(0,0,0,.6)}
.band::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--foil);opacity:.75}
.band-in{height:100%;max-width:1720px;margin:0 auto;display:grid;grid-template-columns:minmax(168px,250px) minmax(0,1fr) auto;gap:clamp(14px,1.5vw,24px);align-items:center}
/* the £ | € switch: one currency for every price and link on the page */
.curs{display:inline-flex;gap:3px;padding:3px;border-radius:999px;border:1px solid rgba(201,165,92,.45);background:rgba(0,0,0,.35)}
.cur{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;font-family:var(--f-d);font-weight:800;font-size:13.5px;line-height:1;color:var(--gold-2);
  transition:background .25s,color .25s}
.cur span{font-family:var(--f-b);font-weight:600;font-size:11px;letter-spacing:.04em;opacity:.8}
.cur:hover{background:rgba(201,165,92,.14)}
.cur[aria-pressed="true"]{background:var(--foil);color:#1A1408}
.cur[aria-pressed="true"] span{opacity:.75}
.curs--band{flex-direction:column;align-self:center}
.curs--band .cur{justify-content:center;padding:9px 12px;font-size:15px}
.curs--band .cur span{display:none}
.curs--sheet{margin-left:auto;margin-right:8px}
.curs--ask{margin-top:12px}
.band-lead{min-width:0}
.band-top{display:grid;align-items:center;min-height:16px}
.band-k,.band-live{grid-area:1/1;position:relative;white-space:nowrap;transition:opacity .5s ease,transform .5s ease}
.band-k{font-family:var(--f-m);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.band-live{font-size:12.5px;font-weight:600;color:var(--gold-2);opacity:0;transform:translateY(4px);padding-left:14px}
.band-live::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 10px rgba(232,199,122,.8)}
.is-live .band-k{opacity:0;transform:translateY(-4px)}
.is-live .band-live{opacity:1;transform:none}
.band-live.glow{animation:textglow 2.2s ease-out 1}
@keyframes textglow{0%{text-shadow:0 0 0 rgba(232,199,122,0)}30%{text-shadow:0 0 18px rgba(232,199,122,.95)}100%{text-shadow:0 0 0 rgba(232,199,122,0)}}
.band-kicker{margin-top:6px;font-family:var(--f-d);font-weight:700;font-stretch:106%;font-size:clamp(17px,1.35vw,21px);line-height:1.18;color:var(--paper);text-wrap:balance}
.kw{transition:color .35s ease,text-shadow .35s ease}
.kw.on{color:var(--gold-2);text-shadow:0 0 16px rgba(232,199,122,.7)}
.band-chip{display:inline-block;margin-top:9px;padding:3px 10px;border-radius:999px;border:1px solid rgba(201,165,92,.5);
  font-family:var(--f-m);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2)}
.band-chip.glow{animation:chipglow 2.4s ease-out 1}
@keyframes chipglow{0%{box-shadow:0 0 0 0 rgba(232,199,122,.7);background:rgba(232,199,122,.0)}30%{box-shadow:0 0 0 8px rgba(232,199,122,0);background:rgba(232,199,122,.18)}100%{box-shadow:0 0 0 0 rgba(232,199,122,0);background:rgba(232,199,122,0)}}

.stubs{display:flex;gap:12px;height:calc(100% - 26px);min-width:0}
.stub{--perf:clamp(52px,4.2vw,68px);position:relative;flex:1 1 0;min-width:0;display:grid;grid-template-columns:var(--perf) minmax(0,1fr) auto;
  align-items:center;gap:0 12px;padding:0 12px 0 0;border-radius:16px;text-decoration:none;overflow:hidden;color:var(--paper);
  background:var(--ink-ticket);border:1px solid rgba(201,165,92,.46);
  box-shadow:0 18px 40px -16px rgba(0,0,0,.8),inset 0 1px 0 rgba(232,199,122,.2);
  -webkit-mask:radial-gradient(8px at var(--perf) 0,transparent 7.5px,#000 8.5px),radial-gradient(8px at var(--perf) 100%,transparent 7.5px,#000 8.5px);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(8px at var(--perf) 0,transparent 7.5px,#000 8.5px),radial-gradient(8px at var(--perf) 100%,transparent 7.5px,#000 8.5px);
  mask-composite:intersect;
  transition:transform .45s cubic-bezier(.2,.8,.25,1),border-color .35s,box-shadow .45s}
.stub::before{content:"";position:absolute;left:var(--perf);top:12px;bottom:12px;border-left:1.5px dashed rgba(201,165,92,.5);pointer-events:none}
.stub::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 36%,rgba(232,199,122,.16) 50%,transparent 64%);
  transform:translateX(-130%);animation:sheen 6.4s cubic-bezier(.5,0,.5,1) 2.2s infinite}
.stub:nth-child(2)::after{animation-delay:3s}.stub:nth-child(3)::after{animation-delay:3.8s}.stub:nth-child(4)::after{animation-delay:4.6s}
@keyframes sheen{0%,18%{transform:translateX(-120%)}72%,100%{transform:translateX(120%)}}
.is-playing .stub::after{animation-play-state:paused;opacity:0}
.stub:hover{transform:translateY(-3px);border-color:rgba(232,199,122,.9);box-shadow:0 24px 50px -16px rgba(0,0,0,.9),0 0 36px rgba(201,165,92,.2),inset 0 1px 0 rgba(232,199,122,.3)}
.stub-tab{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}
.stub-wd,.stub-mon{font-family:var(--f-m);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.stub-day{font-family:var(--f-d);font-weight:800;font-stretch:112%;font-size:clamp(24px,2.1vw,32px);line-height:1;
  background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.stub-body{min-width:0;display:flex;flex-direction:column;gap:1px}
.stub-city{font-family:var(--f-d);font-weight:800;font-stretch:110%;font-size:clamp(15px,1.3vw,21px);line-height:1.08;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.stub-city span{font-weight:700;font-stretch:100%}
.stub-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stub .px{margin-top:3px;font-size:clamp(15px,1.25vw,19px)}
.stub .px small{font-size:11.5px}
.stub .px s{font-size:12.5px}
.stub-go{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#1A1408;flex:none;
  background:linear-gradient(160deg,#F1DA9A 0%,#C9A55C 55%,#A8863F 100%);box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.stub-go svg{width:16px;height:16px}
.stub:hover .stub-go{transform:translateX(3px)}
/* online: the wide stub, the only one in full foil */
.stub--online{flex:1.4 1 0;color:#1A1408;background:linear-gradient(100deg,#F6E7B8 0%,#E8C77A 38%,#C9A55C 72%,#F1DA9A 100%);border-color:rgba(255,241,200,.7)}
.stub--online::before{border-left-color:rgba(26,20,8,.35)}
.stub--online::after{background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.4) 50%,transparent 64%)}
.stub--online .stub-wd,.stub--online .stub-mon{color:rgba(26,20,8,.7)}
.stub--online .stub-day{background:none;color:#1A1408}
.stub--online .stub-city{background:none;color:#1A1408}
.stub--online .stub-sub{color:rgba(26,20,8,.72)}
.stub--online .px b{color:#1A1408}
.stub--online .px s{color:rgba(26,20,8,.5)}
.stub--online .px small{color:rgba(26,20,8,.6)}
.stub--online .stub-go{background:#1A1408;color:#F1DA9A}
/* the band hears Meir: the ticket he just named lifts and catches the light */
.stub.is-cued{transform:translateY(-7px);border-color:var(--gold-2);
  box-shadow:0 26px 54px -16px rgba(0,0,0,.9),0 0 46px rgba(232,199,122,.42),inset 0 1px 0 rgba(255,241,200,.4)}
.stub.is-cued::after{animation:sheenonce 1.1s ease-out 1;opacity:1}
@keyframes sheenonce{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
.stub.is-pulse .stub-go{animation:gopulse 1.2s ease-out 1}
@keyframes gopulse{0%{box-shadow:0 0 0 0 rgba(232,199,122,.8)}100%{box-shadow:0 0 0 14px rgba(232,199,122,0)}}
/* first visit: the stubs are dealt in, one after another */
.intro .stub{animation:deal .8s cubic-bezier(.2,.9,.25,1.12) both;animation-delay:calc(1.1s + var(--i,0) * 90ms)}
@keyframes deal{from{opacity:0;transform:translateX(56px) rotate(2deg)}to{opacity:1;transform:none}}
@media (max-width:1599px){
  .stub-go{display:none}
  .stub{grid-template-columns:var(--perf) minmax(0,1fr);padding-right:12px}
}
@media (max-width:1100px){
  .stub-sub{display:none}
  .stub{--perf:52px;gap:0 10px}
  .stub-day{font-size:24px}
}
.band-free{grid-column:1/-1;font-size:15px;color:var(--paper)}
.band-free a{margin-left:10px;color:var(--lime);font-weight:600}
.band-free .stubs,.band-free .band-lead{display:none}

/* the phone dock */
.dock{display:none;width:100%;align-items:center;gap:10px;text-align:left;color:var(--paper);
  grid-template-columns:minmax(0,1fr) auto auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom)) 14px}
.dock-txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.dock-k{display:grid;align-items:center;min-height:14px}
.dk-a,.dk-b{grid-area:1/1;position:relative;white-space:nowrap;transition:opacity .4s}
.dk-a{font-family:var(--f-m);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.dk-b{font-size:11.5px;font-weight:600;color:var(--gold-2);opacity:0}
.is-live .dk-a{opacity:0}.is-live .dk-b{opacity:1}
.dk-b.glow{animation:textglow 2.2s ease-out 1}
.dock-l{font-size:13px;font-weight:500;line-height:1.25;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-dock-city]{transition:color .3s,text-shadow .3s}
[data-dock-city].is-cued{color:#F6E7B8;text-shadow:0 0 14px rgba(232,199,122,.9)}
.dock-price{font-size:15px;text-align:right}
.dock-price .px s{display:none}
.dock-go{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-family:var(--f-d);font-weight:800;font-size:14px;
  color:#1A1408;background:linear-gradient(160deg,#F1DA9A 0%,#C9A55C 60%,#A8863F 100%);box-shadow:0 8px 20px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.5)}
.dock-go svg{width:16px;height:16px}
.dock-go.is-pulse{animation:gopulse 1.2s ease-out 1}

/* ============================================================
   THE TICKET SHEET (phone)
   ============================================================ */
.sheet{position:fixed;inset:0;z-index:80}
.sheet-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .26s ease}
.sheet.open .sheet-scrim{opacity:1}
.sheet-card{position:absolute;left:0;right:0;bottom:0;max-height:var(--sheet-max,82svh);overflow:auto;overscroll-behavior:contain;
  background:linear-gradient(180deg,#0E0F10 0%,#08090A 100%);border-radius:20px 20px 0 0;border-top:1px solid rgba(201,165,92,.55);
  padding:10px 14px calc(16px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 -30px 80px rgba(0,0,0,.7)}
.sheet.open .sheet-card{transform:none}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 2px}
.sheet-head h2{font-family:var(--f-d);font-weight:800;font-stretch:110%;font-size:22px;line-height:1.1;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.sheet-x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--paper);background:rgba(244,239,227,.07)}
.sheet-x svg{width:20px;height:20px}
.sheet-sub{font-size:13px;color:var(--muted);padding:2px 2px 12px}
.sheet-rows{list-style:none;display:flex;flex-direction:column;gap:8px}
.srow{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:11px 12px;border-radius:14px;
  text-decoration:none;color:var(--paper);background:var(--ink-ticket);border:1px solid rgba(201,165,92,.36);transition:border-color .3s,box-shadow .3s}
.srow-d{font-family:var(--f-m);font-weight:500;font-size:10.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.srow-m{min-width:0;display:flex;flex-direction:column;gap:1px}
.srow-m b{font-family:var(--f-d);font-weight:800;font-stretch:106%;font-size:16px;line-height:1.2}
.srow-m em{font-style:normal;font-size:12px;line-height:1.35;color:var(--muted)}
.srow-p{text-align:right;font-size:17px}
.srow-p .px{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.srow-p .px s{margin:0;font-size:12px}
.srow--online{background:linear-gradient(100deg,#F6E7B8 0%,#E8C77A 40%,#C9A55C 78%,#F1DA9A 100%);color:#1A1408;border-color:rgba(255,241,200,.7)}
.srow--online .srow-d,.srow--online .srow-m em,.srow--online .px small{color:rgba(26,20,8,.7)}
.srow--online .px b{color:#1A1408}.srow--online .px s{color:rgba(26,20,8,.5)}
.srow.is-cued{border-color:var(--gold-2);box-shadow:0 0 30px rgba(232,199,122,.35)}

/* ============================================================
   BELOW THE SCREEN: the room, the voices, his words, the tickets
   ============================================================ */
.room,.voices,.words,.close{padding:clamp(64px,9vw,128px) 0}
.kick{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;font-family:var(--f-d);font-weight:700;font-stretch:104%;
  font-size:clamp(17px,1.5vw,21px);line-height:1.2;color:rgba(244,239,227,.82)}
.kick::before{content:"";width:40px;height:2px;border-radius:2px;background:rgba(244,239,227,.55)}
.h2{margin-top:16px;text-align:center;font-family:var(--f-d);font-weight:800;font-stretch:112%;font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-.018em;color:var(--paper);text-wrap:balance}
.h2 .warm{color:rgba(244,239,227,.5)}
.h2 .gold{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{margin:18px auto 0;max-width:58ch;text-align:center;font-size:clamp(16px,1.25vw,18.5px);color:var(--muted)}

.film{margin-top:clamp(28px,3.6vw,48px)}
.film-frame{position:relative;aspect-ratio:1920/864;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 40px 100px -40px rgba(0,0,0,.9),0 0 0 1px rgba(244,239,227,.07)}
.film-v{width:100%;height:100%;object-fit:cover}
.film-frame.is-yt{aspect-ratio:16/9}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-full{position:absolute;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);display:inline-flex;align-items:center;gap:10px;
  padding:7px 18px 7px 7px;border-radius:999px;background:rgba(5,8,5,.72);border:1px solid rgba(244,239,227,.22);font-size:14.5px;font-weight:600;
  color:var(--paper);transition:background .25s,border-color .25s}
.film-full:hover{background:rgba(5,8,5,.9);border-color:var(--lime)}
.film-full-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lime)}
.film-full-ic svg{width:14px;height:14px;fill:var(--lime-ink);margin-left:2px}
.film figcaption{margin-top:14px;font-size:14.5px;color:var(--muted);text-align:center}
.photos{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;filter:saturate(.92)}

.vgrid{margin-top:clamp(28px,3.6vw,44px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.vcell{min-width:0}
.vthumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(244,239,227,.07)}
.vthumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1),filter .4s;filter:brightness(.82)}
.vthumb:hover img{transform:scale(1.04);filter:brightness(.95)}
.vplay{position:absolute;left:14px;bottom:14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--lime);
  box-shadow:0 10px 26px -6px rgba(199,240,75,.6)}
.vplay svg{width:18px;height:18px;fill:var(--lime-ink);margin-left:2px}
.vthumb.is-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcell figcaption{margin-top:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.vcell q{font-family:var(--f-d);font-weight:700;font-stretch:104%;font-size:17px;line-height:1.3;color:var(--paper);quotes:"\201C" "\201D"}
.vcell figcaption span{font-size:13.5px;color:var(--muted)}

.words .wrap{max-width:1040px}
.word{margin-top:clamp(34px,4.4vw,60px);padding-top:clamp(26px,3.4vw,44px);border-top:1px solid var(--line)}
.word:first-of-type{border-top:0;padding-top:0}
.word blockquote{font-family:var(--f-d);font-weight:700;font-stretch:112%;font-size:clamp(28px,3.7vw,56px);line-height:1.06;letter-spacing:-.014em;
  color:var(--paper);text-wrap:balance;text-align:center}
.word blockquote::before{content:"\201C"}.word blockquote::after{content:"\201D"}
.word figcaption{margin-top:16px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--muted)}
.hear{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--lime);padding:6px 14px 6px 8px;border-radius:999px;
  border:1px solid rgba(199,240,75,.35);transition:background .25s,border-color .25s}
.hear svg{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--lime);fill:var(--lime-ink)}
.hear:hover{background:rgba(199,240,75,.08);border-color:var(--lime)}

.cpick{margin-top:clamp(26px,3vw,36px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cpick:empty{display:none}
.cp{display:inline-flex;align-items:baseline;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(201,165,92,.35);color:var(--paper);transition:border-color .25s,background .25s}
.cp b{font-weight:600}.cp em{font-style:normal;font-family:var(--f-m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.cp.is-on{background:rgba(201,165,92,.14);border-color:var(--gold-2)}
.tix{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tix:empty{display:none}
.tk{position:relative;min-width:0;display:flex;flex-direction:column;padding:clamp(20px,2vw,28px);border-radius:18px;background:var(--ink-ticket);
  border:1px solid rgba(201,165,92,.38);box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(232,199,122,.16)}
.tk--feature{border:2px solid rgba(232,199,122,.8)}
.tk--online{background:linear-gradient(180deg,rgba(232,199,122,.12),rgba(232,199,122,0) 40%),var(--ink-ticket)}
.tk-tag{align-self:center;font-family:var(--f-m);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#1A1408;
  background:var(--foil);padding:3px 10px;border-radius:999px}
.tk--online .tk-tag{background:rgba(244,239,227,.92)}
.tk-name{margin-top:14px;text-align:center;font-family:var(--f-d);font-weight:800;font-stretch:108%;font-size:clamp(19px,1.6vw,23px);line-height:1.12;color:var(--paper)}
.tk-price{margin-top:12px;display:flex;align-items:baseline;justify-content:center;gap:8px;font-variant-numeric:tabular-nums}
.tk-price b{font-family:var(--f-d);font-weight:800;font-size:clamp(34px,3vw,44px);line-height:1;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.tk-price s{font-size:16px;color:rgba(244,239,227,.45)}
.tk-save{margin-top:6px;text-align:center;font-family:var(--f-m);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.tk-blurb{margin-top:12px;text-align:center;font-size:14.5px;line-height:1.5;color:rgba(244,239,227,.86)}
.tk ul{list-style:none;margin:14px 0 20px;display:grid;gap:7px;flex:1}
.tk li{position:relative;padding-left:22px;font-size:13.5px;line-height:1.45;color:var(--muted)}
.tk li::before{content:"";position:absolute;left:2px;top:.42em;width:10px;height:6px;border-left:2px solid var(--gold-2);border-bottom:2px solid var(--gold-2);transform:rotate(-45deg)}
.tk li b{color:var(--paper);font-weight:700}
.tk-buy{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border-radius:12px;text-decoration:none;
  font-family:var(--f-d);font-weight:800;font-size:15px;letter-spacing:.02em;color:#1A1408;
  background:linear-gradient(160deg,#F1DA9A 0%,#C9A55C 60%,#A8863F 100%);box-shadow:0 12px 26px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .25s,box-shadow .25s}
.tk-buy em{font-style:normal;padding-left:10px;border-left:1px solid rgba(26,20,8,.3)}
.tk-buy:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(0,0,0,.8),0 0 30px rgba(201,165,92,.3),inset 0 1px 0 rgba(255,255,255,.6)}

.guarantee{margin-top:clamp(30px,3.6vw,48px);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:clamp(12px,1.8vw,22px);
  padding:clamp(22px,3vw,40px);border-radius:22px;border:1px solid rgba(201,165,92,.32);background:rgba(10,8,5,.35)}
.g-num{font-family:var(--f-d);font-weight:800;font-stretch:125%;font-size:clamp(66px,9vw,128px);line-height:.9;letter-spacing:-.03em;
  background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-num span{font-size:.5em;vertical-align:.7em}
.g-h{font-family:var(--f-d);font-weight:800;font-stretch:108%;font-size:clamp(20px,2vw,28px);line-height:1.15;color:var(--paper)}
.g-p{margin:8px auto 0;color:var(--muted);max-width:60ch}
.g-list{list-style:none;margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px}
.g-list li{font-size:14px;color:rgba(244,239,227,.86);padding-left:18px;position:relative}
.g-list li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--gold-2)}
.doors--close{margin-top:clamp(24px,3vw,36px);flex-direction:row;flex-wrap:wrap;justify-content:center}
.doors--close .door{flex:1 1 320px}
.tix-none #tickets{display:none}
.tix-none .under .doors{display:none}

/* ---- the ask: three fields, then that ticket's own checkout ---- */
.buy{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px}
.buy[hidden]{display:none}
.buy-scrim{position:absolute;inset:0;background:rgba(0,0,0,.66);opacity:0;transition:opacity .22s ease}
.buy.open .buy-scrim{opacity:1}
.buy-card{position:relative;width:min(520px,100%);max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;
  background:linear-gradient(180deg,#0E0F10 0%,#08090A 100%);border:1px solid rgba(201,165,92,.55);border-radius:20px;
  padding:22px 22px 20px;box-shadow:0 40px 100px rgba(0,0,0,.8),inset 0 1px 0 rgba(232,199,122,.18);
  opacity:0;transform:translateY(14px) scale(.985);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
.buy.open .buy-card{opacity:1;transform:none}
.buy-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--paper);background:rgba(244,239,227,.07)}
.buy-x svg{width:18px;height:18px}
.buy-step{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.buy-h{margin-top:8px;padding-right:44px;font-family:var(--f-d);font-weight:800;font-stretch:108%;font-size:clamp(22px,2.2vw,28px);line-height:1.1;letter-spacing:-.01em;
  background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.buy-line{margin-top:6px;font-size:15px;color:var(--paper)}
.buy-line .px b{font-size:1.05em}
.buy-sub{margin-top:4px;font-size:13.5px;color:var(--muted)}
.buy-form{margin-top:16px}
.buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bf{display:flex;flex-direction:column;gap:6px;min-width:0}
.bw{grid-column:1/-1}
.bf span{font-size:13px;font-weight:600;color:rgba(244,239,227,.8)}
.bf span em{font-style:normal;font-weight:400;color:var(--faint)}
.bf input{width:100%;height:48px;padding:0 14px;border-radius:12px;font:inherit;font-size:16px;color:var(--paper);
  background:rgba(244,239,227,.05);border:1px solid rgba(244,239,227,.18);transition:border-color .2s,background .2s}
.bf input:focus{outline:0;border-color:var(--gold-2);background:rgba(244,239,227,.07)}
.bf input.is-bad{border-color:#E0644A}
.buy-err{margin-top:12px;font-size:14px;color:#F0937E}
.buy-go{margin-top:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 18px;border-radius:12px;
  font-family:var(--f-d);font-weight:800;font-size:16px;letter-spacing:.02em;color:#1A1408;
  background:linear-gradient(160deg,#F1DA9A 0%,#C9A55C 60%,#A8863F 100%);box-shadow:0 12px 26px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .25s,box-shadow .25s}
.buy-go svg{width:18px;height:18px}
.buy-go:hover{transform:translateY(-1px);box-shadow:0 18px 34px -10px rgba(0,0,0,.8),0 0 30px rgba(201,165,92,.3),inset 0 1px 0 rgba(255,255,255,.6)}
.buy-go:disabled{opacity:.7;transform:none;cursor:default}
.buy-fine{margin-top:12px;text-align:center;font-size:12.5px;line-height:1.5;color:var(--faint)}
.buy-fine b{color:var(--muted);font-weight:600}

/* footer */
.foot{padding:48px 0 56px;border-top:1px solid var(--line);text-align:center;font-size:13px;color:var(--faint)}
.foot img{height:24px;width:auto;margin:0 auto 18px;opacity:.9}
.foot p+p{margin-top:6px}
.foot a{color:var(--muted)}

/* ============================================================
   NARROWER SCREENS
   ============================================================ */
@media (max-width:1220px){
  .band-in{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:8px;padding:12px 0 10px}
  .band{height:auto;min-height:var(--band-h)}
  .band-lead{display:flex;align-items:center;gap:16px}
  .curs--band{flex-direction:row;grid-row:1;grid-column:1;justify-self:end;align-self:start;margin-right:0}
  .curs--band .cur{padding:6px 11px;font-size:14px}
  .band-top{flex:none}
  .band-kicker{margin-top:0;font-size:16px}
  .band-chip{margin-top:0;flex:none;margin-left:auto;margin-right:96px}
  .stubs{height:auto;min-height:88px}
  .stub{min-height:88px}
}
@media (max-width:1023px){
  :root{--rail-w:100%}
  .stage-grid{grid-template-columns:minmax(0,1fr)}
  .screen-col{max-width:min(100%,var(--screen-max));margin:0 auto;width:100%}
  .rail{margin-top:4px}
  .rail-list{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  .rail-list::-webkit-scrollbar{display:none}
  .rail-list li{flex:0 0 clamp(210px,30vw,270px);scroll-snap-align:start;max-height:none}
  .under{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto}
  .tix{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .s-long{display:none}.s-short{display:inline}
}

/* ---- the phone: the band becomes a slim gold strip + the ticket sheet ---- */
@media (max-width:760px){
  :root{--strip-h:40px;--band-h:calc(76px + env(safe-area-inset-bottom))}
  body{font-size:16px}
  .strip-logo{height:17px}
  .strip-next{font-size:12px;gap:8px}
  .stage{padding:0}
  .screen-col{max-width:none}
  .screen{border-radius:0;box-shadow:none}
  .poster{background-image:url("poster-800.jpg");background-position:74% 30%}
  .poster::before{background:linear-gradient(90deg,rgba(5,8,5,.95) 0%,rgba(5,8,5,.8) 38%,rgba(5,8,5,.2) 70%,rgba(5,8,5,0) 88%),linear-gradient(0deg,rgba(5,8,5,.7) 0%,rgba(5,8,5,0) 45%)}
  .poster-txt{left:16px;width:62%}
  .poster-t{font-size:clamp(22px,7.4cqw,34px)}
  .poster-by{display:none}
  .playbtn{margin-top:12px;padding:6px 16px 6px 6px;font-size:13px;gap:9px}
  .playbtn-ic{width:32px;height:32px}
  .nowline{height:auto;padding:12px 16px 4px;flex-wrap:wrap;gap:4px 12px}
  .nowline-txt{font-size:13px}
  .rail{padding:14px 0 0 16px}
  .rail-k{font-size:18px;margin-bottom:10px;padding-right:16px}
  .rail-list{gap:10px;padding-right:16px}
  .rail-list li{flex:0 0 236px;min-height:84px;max-height:none}
  .rc{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:12px 12px 12px 12px;align-items:center}
  .rc-n{font-size:24px}
  .rc-eq{display:none!important}
  .rc-r,.rc-go{width:34px;height:34px}
  .rc-go svg{width:14px;height:14px}
  .rc-k{font-size:15.5px;white-space:nowrap;gap:6px}
  .rc-new{font-size:10px;padding:2px 7px}
  .rc-d{font-size:13px;white-space:normal}
  .rc-len{display:none}
  .rc-b{align-self:center}
  .dock-l{white-space:normal;font-size:12.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .under{padding:28px 16px 44px;gap:22px}
  .line-q{font-size:clamp(24px,7vw,30px)}
  .door{padding:14px 14px 14px 16px}
  .door-t{font-size:17px}
  .band{padding:0;height:var(--band-h);min-height:0}
  .band::before{opacity:.9}
  .band-in{display:none}
  .dock{display:grid;height:100%}
  .room,.voices,.words,.close{padding:64px 0}
  .h2{font-size:clamp(32px,9vw,44px)}
  .photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .vgrid{grid-template-columns:minmax(0,1fr)}
  .tix{grid-template-columns:minmax(0,1fr)}
  .guarantee{grid-template-columns:minmax(0,1fr)}
  .doors--close{flex-direction:column}
  .doors--close .door{flex:none}
  .buy{padding:0;align-items:end}
  .buy-card{max-height:calc(100svh - 24px);border-radius:20px 20px 0 0;border-bottom:0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));
    transform:translateY(24px)}
  .buy-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  .strip-link{display:none}
}
/* a phone on its side: the band is one slim line, the screen fills the height */
@media (max-height:480px) and (orientation:landscape) and (max-width:1000px){
  :root{--strip-h:0px;--band-h:calc(46px + env(safe-area-inset-bottom))}
  .strip{display:none}
  .stage{padding:0 16px}
  .stage-grid{grid-template-columns:minmax(0,1fr)}
  .screen-col{max-width:calc((100svh - var(--band-h) - 8px) * 16 / 9);margin:0 auto}
  .screen{border-radius:10px}
  .band{padding:0 16px env(safe-area-inset-bottom);height:var(--band-h)}
  .band-in{display:none}
  .dock{display:grid;height:100%;padding:0 4px;grid-template-columns:minmax(0,1fr) auto auto}
  .dock-l{display:none}
  .dock-k{height:14px}
  .dock-go{padding:7px 12px;font-size:13px}
}

/* ============================================================
   REDUCED MOTION: no loops, no dealing, no sheen, no lift, no drift
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .stub::after{display:none}
  .stub.is-cued{transform:none}
  .intro .curtain{display:none}
}
