#main-content > :not(#top-phase2){display:none!important}html:not(.tj-home-js) #main-content > #top-ssr-links{display:block!important}html.tj-home-js #main-content > #top-ssr-links{display:none!important}
#top-phase2{font-family:var(--font-body);color:var(--text);background:transparent;overflow:clip}
#top-phase2 a{color:inherit;text-decoration:none}#top-phase2 a:hover{color:var(--accent)}
.top2-wrap{max-width:1360px;margin:0 auto;padding:0 40px}.top2-section{margin-top:104px}.top2-head{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--text-a14);padding-top:18px;margin-bottom:36px}.top2-head h2{font-family:var(--font-display);font-size:44px;line-height:.95;text-transform:uppercase;font-weight:400}.top2-head h2 small{font:400 12px var(--font-mono);letter-spacing:.12em;color:var(--text-a62);text-transform:uppercase}.top2-head>a,.top2-foot,.top2-inline-link,.top2-shuffle{font:10px var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-a62);background:none;border:0;cursor:pointer}.top2-head:after{content:"";height:2px;width:48px;background:var(--accent);position:absolute;transform:translateY(28px);transform-origin:left;transition:width .7s}.top2-head:hover:after{width:96px}
.top2-lead{height:calc(4 * min(100vh,820px) + 30vh);position:relative}.top2-lead-sticky{position:sticky;top:64px;height:min(100vh - 64px,820px);overflow:hidden}.top2-lead-track{height:100%;display:flex;width:400%;will-change:transform}.top2-panel{position:relative;width:25%;flex:none;display:flex;align-items:flex-end;overflow:hidden}.top2-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(var(--parallax,0),0,0) scale(1.16);transition:transform .1s linear}.top2-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.96),rgba(8,8,8,.28) 55%,rgba(8,8,8,.05));pointer-events:none}.top2-panel-content{position:relative;z-index:1;padding:0 40px 70px;max-width:1100px}.top2-panel h1{font:400 clamp(44px,6.2vw,92px)/.92 var(--font-display);text-transform:uppercase;margin-top:16px;overflow-wrap:anywhere}.top2-panel h2{font:300 clamp(16px,1.6vw,24px)/1.45 var(--font-body);margin-top:14px;color:var(--text-a92)}.top2-meta{font:10px var(--font-mono);letter-spacing:.12em;color:var(--text-a72)}.top2-lead-ui{position:absolute;z-index:2;left:40px;right:40px;bottom:20px;display:flex;align-items:center;gap:16px;font:10px var(--font-mono);letter-spacing:.15em;color:var(--text-a72);text-transform:uppercase}.top2-lead-ui>span:last-child{margin-left:auto}.top2-dot{display:inline-block;width:28px;height:2px;background:var(--text-a25);margin-right:6px}.top2-dot.is-on{background:var(--accent)}
.top2-future-grid,.top2-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.top2-card{display:flex;flex-direction:column;gap:12px;min-width:0}.top2-card:hover h3{color:var(--accent)}.top2-image{overflow:hidden;background:var(--text-a04)}.top2-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.top2-card:hover img{transform:scale(1.04)}.top2-future-card .top2-image{aspect-ratio:16/9}.top2-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}.top2-story-card .top2-image{aspect-ratio:4/3}.top2-card-meta{font:10px var(--font-mono);letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.top2-card h3{font:400 34px/.98 var(--font-display);text-transform:uppercase;transition:color .25s}.top2-story-card h3{font-size:28px}.top2-card p{font-size:15px;line-height:1.45;color:var(--text-a92)}.top2-btn{display:flex;width:max-content;margin:44px auto 0;padding:18px 40px;border:1px solid var(--text-a30);font:11px var(--font-mono);letter-spacing:.2em}.top2-btn:hover{border-color:var(--accent)}
.top2-chips{display:flex;gap:8px;flex-wrap:wrap}.top2-chips .chip.is-on{border-color:var(--accent);color:var(--accent)}.top2-festival-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--text-a14);border-bottom:1px solid var(--text-a14)}.top2-festival-card{padding:20px;border-left:1px solid var(--text-a12)}.top2-festival-card .top2-image{aspect-ratio:3/2}.top2-date{font:40px/1 var(--font-display);white-space:nowrap;margin-top:14px}.top2-festival-card .top2-kind{font:10px var(--font-mono);color:var(--accent);text-transform:uppercase;float:right;margin-top:-30px}.top2-festival-card h3{font:400 28px/1.1 var(--font-display);text-transform:uppercase;margin-top:10px}.top2-festival-card p{font:10px var(--font-mono);letter-spacing:.1em;color:var(--text-a72);margin-top:8px}.top2-foot{display:flex;justify-content:space-between;padding-top:14px}.top2-index-table{font:11px var(--font-mono)}.top2-index-row{display:grid;grid-template-columns:120px 1fr 1fr 110px 120px;gap:24px;align-items:center;border-top:1px solid var(--text-a10);padding:16px 0}.top2-index-row:first-child{border-top:0;padding-top:0;color:var(--text-a62)}.top2-index-row:not(:first-child):hover{color:var(--accent)}.top2-index-row .is-future{color:var(--accent)}
.top2-people-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px}.top2-artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}.top2-artist-card .top2-image{aspect-ratio:1}.top2-artist-card h3{font:400 22px var(--font-display);text-transform:uppercase;margin-top:10px}.top2-artist-card p{font-size:10px;line-height:1.4;color:var(--text-a62);margin-top:5px}.top2-inline-link{display:inline-block;margin-top:24px;color:var(--text)}.top2-venue-list{display:flex;flex-direction:column}.top2-venue-card{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--text-a10)}.top2-venue-card .top2-image{aspect-ratio:4/3}.top2-venue-card h3{font:400 24px var(--font-display);text-transform:uppercase}.top2-venue-card p{font:10px var(--font-mono);letter-spacing:.08em;color:var(--text-a62);margin-top:4px}.top2-fx{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.top2-fx.is-in{opacity:1;transform:none}.top2-fx .top2-image{clip-path:inset(100% 0 0);transition:clip-path .9s}.top2-fx.is-in .top2-image{clip-path:inset(0)}
@media (max-width:1100px){.top2-festival-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.top2-wrap{padding:0 24px}.top2-future-grid{grid-template-columns:1fr}.top2-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.top2-story-card .top2-image{aspect-ratio:1}.top2-story-card h3{font-size:20px}.top2-people-grid{gap:32px}.top2-lead-sticky{height:min(100vh - 64px,620px)}.top2-lead{height:calc(4 * min(100vh,620px) + 20vh)}.top2-panel-content{padding:0 24px 52px}.top2-lead-ui{left:24px;right:24px}.top2-index-row{grid-template-columns:72px 1fr auto}.top2-index-row .top2-location,.top2-index-row .top2-type{display:none}.top2-index-row .top2-status:before{content:attr(data-location) ' · ';color:var(--text-a62)}}@media (max-width:760px){.top2-festival-grid{display:flex;overflow-x:auto}.top2-festival-card{flex:0 0 240px}.top2-people-grid{grid-template-columns:1fr}.top2-artist-grid{gap:18px 10px}.top2-artist-card h3{font-size:18px}.top2-date{font-size:34px}.top2-marquee-track{font-size:18px}.top2-index-row{font-size:10px}.top2-wrap{padding:0 16px}}@media (prefers-reduced-motion:reduce){.top2-lead{height:auto}.top2-lead-sticky{position:static;height:auto}.top2-lead-track{width:auto;display:block}.top2-panel{width:auto;min-height:70vh}.top2-lead-ui{display:none}.top2-panel img{transform:none}.top2-fx,.top2-fx.is-in{opacity:1;transform:none}.top2-fx .top2-image,.top2-fx.is-in .top2-image{clip-path:none}}
@media (max-width:900px){.top2-festival-card .top2-kind:before{content:none}.top2-festival-card>p{display:block}}
.top2-panel img{filter:brightness(calc(1 - var(--dim, 0)))}
.top2-meta{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.top2-festival-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}
.top2-festival-card .top2-date{margin-top:0}
.top2-festival-card .top2-kind{float:none;margin-top:0}
.top2-festival-card .top2-image img{filter:brightness(.86)}
.top2-festival-card:hover .top2-image img{filter:brightness(1);transform:scale(1.04)}
@media (max-width:900px){.top2-festival-card .top2-kind:before{content:none}.top2-festival-card>p{display:block}}
#top-phase2 h1,#top-phase2 h2,#top-phase2 h3,#top-phase2 p{margin:0}

.top2-head h2 {
  position: relative;
  padding-bottom: 10px;
}
.top2-head:after {
  display: none;
}
.top2-head h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 48px;
  height: 2px;
  background: var(--accent);
  transform: scaleX(1);
  transform-origin: left;
  transition: transform .7s;
}
.top2-head h2:hover::after {
  transform: scaleX(2);
}

@media (max-width: 900px) {
  .top2-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }
  .top2-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .top2-chips::-webkit-scrollbar {
    display: none;
  }
  .top2-index-row {
    grid-template-columns: 72px minmax(0, 1fr) auto;
  }
  .top2-index-row > span:first-child {
    white-space: nowrap;
  }
  .top2-index-row .top2-status {
    white-space: nowrap;
    text-align: right;
  }
  .top2-index-row .top2-status::before {
    content: attr(data-city) " · ";
    color: var(--text-a62);
  }
}
html.tj-home-js #main-content > #top-ssr-links{display:none!important}html:not(.tj-home-js) #main-content > #top-ssr-links{display:block!important}

/* Keep the newsletter spacing after the generic top2-wrap reset. */
.top2-wrap.top2-newsletter { margin-top: 112px; }

.top2-festival-grid {
  overflow-y: hidden;
  overscroll-behavior-x: contain;
}

@media (max-width: 900px) {
  .top2-head { display: flex; }
  #top2-upcoming .top2-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }
  #top2-upcoming .top2-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  #top2-upcoming .top2-chips::-webkit-scrollbar { display: none; }
  .top2-index-row .top2-status[data-city=""]::before { content: ""; }

  .top2-story-card h3 { font-size: 18px; line-height: 1; }
  .top2-story-card p { font-size: 12px; line-height: 1.4; }
  .top2-story-card .top2-card-meta { font-size: 9px; letter-spacing: .1em; }
}

@media (max-width: 760px) {
  .top2-festival-grid .top2-fx { transform: none; }
}
