/* Home hero: scroll walks the camera through the venue; glass card opens at each stop */
.wt{position:relative;background:var(--ink)}
.wt-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ink)}
.wt-layer{position:absolute;inset:0;opacity:0;background-size:cover;background-repeat:no-repeat;will-change:transform,opacity}
.wt-layer video,.wt-layer img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.wt-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(8,8,10,.72) 100%),linear-gradient(to top,rgba(14,14,16,.6),transparent 38%),linear-gradient(to bottom,rgba(14,14,16,.55),transparent 20%)}
.wt-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.06;z-index:4;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:wtgrain 1.2s steps(4) infinite}
@keyframes wtgrain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

.wt-lines{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.wt-lines path{fill:none;stroke:var(--cyan);stroke-width:1;opacity:.85;stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset .7s cubic-bezier(.2,.7,.2,1)}
.wt-lines path.on{stroke-dashoffset:0}
.wt-dot{position:absolute;z-index:6;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px 4px rgba(15,253,225,.45);opacity:0;transform:scale(.4);transition:opacity .35s,transform .35s;pointer-events:none}
.wt-dot::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(15,253,225,.55);animation:wtring 2s infinite}
@keyframes wtring{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.wt-dot.on{opacity:1;transform:scale(1)}

.wt-card{position:absolute;z-index:7;width:min(370px,calc(100vw - 40px));padding:22px 22px 18px;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s;pointer-events:none;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.wt-card.on{opacity:1;transform:none;pointer-events:auto}
.wt-card .eyebrow span{color:var(--cream-dim)}
.wt-card h2{font-size:30px;line-height:1.1;margin:10px 0 12px}
.wt-card .list li{color:var(--cream)}
.wt-card .detail{margin-top:16px;padding-top:12px;border-top:1px solid var(--glass-line);display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:12px;color:var(--cream-dim)}
.wt-card .detail a{color:var(--cyan);text-decoration:none}

.wt-panel{position:absolute;z-index:7;left:0;right:0;bottom:calc(8vh + env(safe-area-inset-bottom,0px));opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;pointer-events:none}
.wt-panel.on{opacity:1;transform:none;pointer-events:auto}
.wt-panel .inner{max-width:720px;display:grid;gap:18px;justify-items:start}
.wt-panel .lead{color:rgba(244,238,228,.82);font-size:18px}
.wt-panel .cta-block{margin-top:6px}
.wt-hint{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim);text-decoration:none;margin-top:8px}
.wt-hint i{width:1px;height:28px;background:linear-gradient(var(--cyan),transparent);animation:wtdrop 1.8s infinite}
@keyframes wtdrop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.wt-rail{position:absolute;z-index:8;right:max(18px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);display:grid;gap:14px}
.wt-rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:transparent;transition:color .3s}
.wt-rail button i{width:6px;height:6px;border-radius:50%;border:1px solid var(--cream-dim);transition:all .3s}
.wt-rail button:hover,.wt-rail button:focus-visible{color:var(--cream-dim)}
.wt-rail button.on{color:var(--cream)}
.wt-rail button.on i{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px var(--cyan)}

@media (max-width:720px){
  .wt-card{left:16px!important;right:16px;width:auto;top:calc(80px + env(safe-area-inset-top,0px))!important;bottom:auto}
  .wt-card.low{top:auto!important;bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .wt-card h2{font-size:26px}
  .wt-rail{display:none}
  .wt-panel{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .wt-panel h1{font-size:40px}
  .wt-panel .lead{font-size:16px}
}
