@font-face{font-family:Barlow;src:url('assets/barlow-600.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/barlow-700.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--head:Barlow,'Arial Narrow',Arial,Helvetica,sans-serif;--red:#e52228}
h2,h3{font-weight:700}h2{letter-spacing:-.035em}.eyebrow{font-size:13px}.masthead,.tools button{font-size:12px}.context{font-size:11px}.hero-dates{font-weight:700;letter-spacing:.04em}
.inferno-mark img{top:0!important;transform:translateY(-34%)}
.weekend{grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr)}.weekend-copy,.venue-copy,.audience-copy{min-width:0}.event-row{grid-template-columns:140px minmax(0,1fr);gap:22px}.date strong{font-weight:700}.event-row h3{font-size:38px}.weekend h2{font-size:86px}.event-row p{font-size:18px}
.century{font-weight:700;letter-spacing:-.07em}.venue h2{font-size:50px}.downstairs strong{font-weight:700}.room-caption strong{font-weight:700}.venue .eyebrow{font-size:12px}body[data-tone=light] .context,body[data-tone=light] .tools{color:white;text-shadow:0 1px 10px #000}
.audience h2{font-size:100px}.audience-copy{padding-left:12%;padding-right:9%}.audience-copy .archive-credit{font-size:12px}.shows{display:flex;flex-direction:column}.shows-heading{flex-shrink:0}.shows h2{font-size:74px}.show-gallery{height:auto;flex:1;min-height:0}.show{height:100%;min-height:0}.show-image{flex:1;min-height:0;height:auto}.show-label{flex:0 0 90px}.show-label strong{font-weight:700;font-size:32px}.show-label>span{font-size:11px}
.partnership h2{font-size:76px}.possibilities h3{font-weight:700}.closing-footer{font-size:12px}.brand-column>p{font-size:12px}.page-nav,.page-buttons button{font-size:12px}.page-buttons button{min-width:44px}
@media(max-height:780px) and (min-width:801px){.weekend h2{font-size:66px}.event-row h3{font-size:32px}.venue h2{font-size:37px}.audience h2{font-size:82px}.shows h2{font-size:61px}.partnership h2{font-size:59px}.event-row{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:800px){.masthead,.tools button,.maker span{font-size:11px}.hero-mark{width:90vw;margin-left:-4vw}.hero-content{width:86%}.hero-dates{font-size:33px}.weekend h2{font-size:62px}.event-row{grid-template-columns:80px minmax(0,1fr);gap:15px}.date{gap:5px}.date strong{font-size:50px}.date span{font-size:10px}.event-row h3{font-size:32px}.event-row p{font-size:16px}.venue h2{font-size:39px}.venue .eyebrow{font-size:10px}.century{font-size:148px}.audience-copy{padding-left:7%;padding-right:7%}.audience h2{font-size:76px}.shows{display:block}.shows h2{font-size:50px}.show-gallery{display:flex;height:auto}.show{height:auto}.show-image{flex:none;min-height:0;height:420px}.show:first-child .show-image{height:280px}.show-label{flex:none}.show-label strong{font-size:32px}.partnership h2{font-size:44px}.closing-footer{font-size:11px}.page-buttons button{min-width:32px;font-size:11px}body[data-tone=light] .tools{color:#111;text-shadow:none}.closing-mark{width:72vw;height:21vw}.brand-column>p{font-size:10px}}
@media print{.hero-mark img,.closing-mark img{top:0!important;transform:translateY(-34%)!important}.shows{display:flex}.show-gallery{height:auto;flex:1;min-height:0}.show{height:100%;min-height:0}.show-image{flex:1;height:auto}.show-label{flex:0 0 90px}.audience h2{font-size:100px}.venue h2{font-size:50px}}
body[data-tone=light] .context{visibility:hidden}
body[data-motion=playing] .ambient{display:block}
@media screen and (max-width:800px){
 .tools button,.page-buttons button,.arrows button,.player-header button{min-height:44px}
 .page-buttons button{min-width:36px;padding-left:5px;padding-right:5px}
 .arrows{gap:0}.arrows button{padding-left:6px;padding-right:6px}
 .deck{overscroll-behavior-y:contain}
 .shows{display:flex;flex-direction:column;height:100dvh;min-height:650px;padding:96px 6% 105px}
 .shows-heading{margin-bottom:24px}
 .shows h2{font-size:clamp(36px,6.4vw,50px)}
 .shows-heading>p{font-size:15px;margin-top:16px}
 .show-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2.5vw,20px);flex:1;min-height:0;height:auto}
 .show{height:100%;min-height:0;justify-content:flex-start}
 .show-image,.show:first-child .show-image{height:auto;min-height:0;flex:1;width:100%}
 .show-label{flex:0 0 92px;padding-top:13px}
 .show-label>span{font-size:8px;line-height:1.5;min-height:24px;margin-bottom:6px}
 .show-label strong{display:block;font-size:clamp(18px,3.3vw,27px);line-height:1.08}
 .show-image .play-symbol{font-size:28px;right:10px;bottom:13px}
}
