@font-face{font-family:FormulaInput;src:url('FormulaCondensed-Black.otf');font-weight:900;font-display:swap;ascent-override:80%;descent-override:0%;line-gap-override:0%}
@font-face{font-family:Formula;src:url('FormulaCondensed-Light.otf');font-weight:300;font-display:swap}
@font-face{font-family:Formula;src:url('FormulaCondensed-Regular.otf');font-weight:400;font-display:swap}
@font-face{font-family:Formula;src:url('FormulaCondensed-Bold.otf');font-weight:700;font-display:swap}
@font-face{font-family:Formula;src:url('FormulaCondensed-Black.otf');font-weight:900;font-display:swap}
*{box-sizing:border-box}
html{background:#090909;color:#fff;font-size:calc(100vw / 1440);scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{margin:0;font-family:Formula,Arial,sans-serif;font-size:24rem}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
button,a,input{-webkit-tap-highlight-color:transparent}
button{background:none;border:0}
h1,h2,p{margin:0}
h1,h2{font-weight:400}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #ff4c00;outline-offset:5px}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip-link:focus{position:fixed;z-index:100;background:#090909;padding:16px;font:20px Arial}
.header{height:112rem;position:relative;padding:32rem;display:flex;align-items:flex-start;justify-content:space-between;z-index:5}
.logo{width:95rem;height:64rem}
.logo img{width:100%;height:100%}
.header nav{display:flex;align-items:center;gap:40rem;font-size:24rem;text-transform:uppercase}
.header nav a{display:flex;align-items:center;gap:32rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.arrow{width:40rem;height:40rem;object-fit:contain}
.header .arrow{width:32rem;height:32rem}
.menu-toggle,.mobile-menu{display:none}
.pill{display:flex;align-items:center;justify-content:center;border:3rem solid white;border-radius:56rem;width:172rem;height:80rem;font-size:32rem;text-transform:uppercase;letter-spacing:1.28rem;flex-shrink:0;line-height:1;padding-top:5rem;transition:background .18s,color .18s}
.pill:hover{background:white;color:#090909}
.hero{height:100svh;height:100dvh;position:relative;overflow:hidden;isolation:isolate}
.hero .header{position:absolute;inset:0 0 auto}
.hero-photo{position:absolute;inset:0;z-index:-1;background-image:url('assets/hero-little-large.webp');background-size:max(1670rem, 100dvh) auto;background-position:center calc(50% - 195rem);background-repeat:no-repeat}
.hero-content{position:absolute;bottom:32rem;left:32rem;right:32rem}
.hero-meta{display:flex;justify-content:space-between;text-transform:uppercase;font-size:40rem;font-weight:300;letter-spacing:3.2rem;line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic;margin-bottom:28rem}
.hero h1{font-size:176rem;font-weight:900;line-height:.866;letter-spacing:1.76rem;text-transform:uppercase;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.tour-title{font-size:176rem;font-weight:300;line-height:.92;margin-top:18rem;letter-spacing:-2rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.hero-bottom{display:flex;align-items:center;gap:54rem;margin-top:28rem}
.hero-bottom .pill{width:160rem}
.hero-note{font-size:20rem;text-transform:uppercase;line-height:1.1;margin-left:auto;margin-right:0}
.slides{display:flex;gap:10rem;align-items:center}
.home-events{height:100svh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#090909}
.marquee{flex:none;overflow:hidden;white-space:nowrap;font-weight:300;text-transform:uppercase;letter-spacing:3.2rem;font-size:40rem;line-height:1;height:56rem;display:flex;align-items:center}
.events-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;mask-image:linear-gradient(#000 calc(100% - 65rem),transparent)}
.events-scroll::-webkit-scrollbar{display:none}
.event-list{margin:0 32rem}
.event-row{border-top:1px solid #ffffff50;display:grid;grid-template-columns:168rem 128rem minmax(0,1fr) 172rem;gap:24rem;min-height:117rem;align-items:center;padding:16rem 0}
.event-row:last-child{border-bottom:1px solid #ffffff50}
.event-date{display:flex;flex-direction:column;justify-content:space-between;gap:12rem;align-self:center}
.event-date>span{font-size:56rem;line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.event-date small{font-size:20rem;text-transform:uppercase;line-height:1.1}
.event-image{width:128rem;height:82rem}
.event-image img{width:100%;height:100%;object-fit:cover}
.event-row h2{font-size:96rem;line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic;letter-spacing:-1.5rem}
.footer{padding:28rem 32rem 26rem;flex:none;background:#090909}
.email{display:block;white-space:nowrap;font-size:189.44rem;line-height:.866;font-weight:900;letter-spacing:1.8944rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.email span{display:inline}
.footer nav{display:flex;justify-content:space-between;align-items:center;margin-top:45rem;font-size:40rem;line-height:1;font-weight:300;letter-spacing:3.2rem;text-transform:uppercase}
.footer nav a{display:flex;align-items:center;gap:32rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.compact-footer{height:268rem}
.city-filter{text-align:center;margin:30rem 0 80rem}
.city-filter h1{font-weight:900;font-size:60rem;text-transform:uppercase;margin-bottom:24rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.city-filter label{display:flex;justify-content:center;align-items:baseline;font-size:190rem;font-weight:900;line-height:1;text-transform:uppercase;gap:20rem}
.city-filter input{font:inherit;font-family:FormulaInput,Formula,Arial,sans-serif;height:.88em;padding:0;background:none;border:0;outline:none;field-sizing:content;width:auto;min-width:1px;max-width:calc(100% - 1.4em);text-transform:uppercase;font-weight:900;line-height:1;caret-color:white}
.city-filter input::placeholder{color:#222;opacity:1}
.months{justify-content:space-between;position:sticky;top:0;z-index:4;background:#090909;display:flex;gap:36rem;padding:20rem 32rem 24rem;overflow:auto;scrollbar-width:none}
.months button{white-space:nowrap;font-weight:900;text-transform:uppercase;font-size:60rem;line-height:1;padding:0;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.months button.active{color:#ff4d00}
.upcoming-list{min-height:360rem;margin-bottom:0}
.empty-state{text-align:center;padding:100rem 20rem}
.empty-state h2{font-size:72rem}
.empty-state p{font-size:32rem;margin:24rem}
.empty-state .pill{margin:0 auto;width:200rem}
.artists>h1{font-weight:900;text-transform:uppercase;height:254rem;overflow:hidden}
.artist-band{height:320rem;display:flex;justify-content:center;align-items:center;position:relative;isolation:isolate;border-bottom:1px solid #ffffff30;overflow:hidden}
.artist-band span{font-size:216rem;line-height:1;letter-spacing:-5rem;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.artist-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:0;transition:opacity .25s}
.artist-band:hover img,.artist-band:focus-visible img{opacity:1}
.artist-band span{text-shadow:0 2rem 24rem #0008}
.artist-hero{position:relative;isolation:isolate}
.artist-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.artist-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity .4s;pointer-events:none}
.artist-video.is-ready{opacity:1}
.artist-hero:has(.artist-video):after{inset:0;background:linear-gradient(#0005,transparent 30%,#090909)}
.sound-toggle{position:absolute;right:0;top:-8rem;width:48rem;height:48rem;min-width:44px;min-height:44px;padding:0;z-index:1}
.sound-toggle img{width:100%;height:100%}
.sound-toggle[hidden]{display:none}
@media(max-width:700px){
  .artist-cover[src*="/pornofilms"],.artist-video[src*="/pornofilms"]{object-position:35% center}
  .artist-cover[src*="/usovich"],.artist-video[src*="/usovich"]{object-position:30% center}
  .artist-cover[src*="/mirzalizade"],.artist-video[src*="/mirzalizade"]{object-position:67% center}
}
.artist-hero:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#090909);z-index:-1}
.artist-heading{position:absolute;bottom:0;left:32rem;right:32rem}
.artist-meta{display:flex;gap:40rem;font-size:40rem;line-height:1;font-weight:300;letter-spacing:3.2rem;text-transform:uppercase;margin-bottom:34rem}
.artist-meta i{display:inline-block;background:#ff4d00;width:16rem;height:16rem;border-radius:50%;vertical-align:top}
.artist-heading h1{font-size:189rem;line-height:.92;font-weight:700;text-transform:uppercase;max-width:1100rem;overflow-wrap:anywhere;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.artist-avatar{position:absolute;right:0;bottom:0;width:160rem;height:160rem;object-fit:cover}
.artist-description{font-size:40rem;font-weight:300;text-transform:uppercase;line-height:1.2;text-align:justify;margin:25rem 32rem 40rem}
.venue-row{grid-template-columns:168rem minmax(0,1fr) 172rem}
.venue-row h2{font-size:96rem}
.about{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:60rem}
.about h1{font-size:175rem;font-weight:900;text-transform:uppercase;line-height:.866;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.about p{width:766rem;font-size:40rem;font-weight:300;line-height:1.2;text-transform:uppercase;text-align:justify;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.page-contacts #app{min-height:100dvh;display:flex;flex-direction:column}
.contacts{display:flex;flex:1;align-items:center;padding:80rem 32rem 160rem}
.contacts-footer nav{margin-top:0}
.contacts-footer{padding-bottom:32rem}
dialog{background:#090909;color:#fff;border:1px solid #777;max-width:min(90vw,600px);padding:40px;font-size:24px}
dialog::backdrop{background:#000b}
dialog h2{font-size:64px;text-transform:uppercase}
dialog p{margin:20px 0}
dialog .pill{width:140px;height:56px;font-size:24px;border-width:2px}
.dialog-close{position:absolute;right:10px;top:5px;font:32px Arial}
@media(max-width:700px){
html{font-size:calc(100vw / 390)}
body{font-size:20rem}
.header{padding:24rem;height:88rem}
.logo{width:95rem;height:64rem}
.header nav{display:none}
.menu-toggle{display:block;width:44rem;height:44rem;padding:10rem 7rem;margin:-7rem -7rem 0 0}
.menu-toggle img{width:100%;height:100%;object-fit:contain}
.mobile-menu:not([hidden]){display:flex;position:fixed;inset:0;padding:112rem 24rem 24rem;z-index:20;background:#090909;flex-direction:column;align-items:center;justify-content:center;gap:24rem;font-size:48rem;text-transform:uppercase}
.mobile-menu a{display:flex;align-items:center;gap:20rem}
.menu-open{overflow:hidden}
.menu-open .header{z-index:21;background:#090909}
.hero-content{left:24rem;right:24rem;bottom:30rem}
.hero-meta{font-size:28.235rem;letter-spacing:2.2588rem;margin-bottom:10rem;display:block}
.hero-meta span:nth-child(2),.hero-meta span:nth-child(3){position:absolute;right:0;bottom:123rem}
.hero-meta span:nth-child(3){bottom:86rem}
.hero h1{font-size:111.966rem;line-height:.866;letter-spacing:1.1197rem;white-space:nowrap}
.tour-title{font-size:111.914rem;line-height:91.566rem;letter-spacing:0;margin-top:8rem;max-width:340rem}
.hero-bottom{margin-top:84rem;justify-content:space-between;gap:0}
.hero-bottom .pill{width:136rem;height:64rem}
.hero-note{display:none}
.slides{gap:6rem}
.pill{height:56rem;width:135rem;font-size:32rem;border-width:3rem;letter-spacing:0}
.event-list{margin:0 24rem}
.event-row{position:relative;grid-template-columns:minmax(0,1fr) 135rem;gap:16rem 0;min-height:184rem;padding:24rem 0;align-items:end}
.event-row h2{grid-column:1/-1;grid-row:1;font-size:64rem;line-height:.95;letter-spacing:0;padding-right:62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-image{position:absolute;right:0;top:24rem;width:54rem;height:54rem}
.event-date{grid-row:2;grid-column:1;gap:7rem;align-self:end}
.event-date>span{font-size:40rem}
.event-date small{font-size:20rem}
.event-row>.pill{grid-row:2;grid-column:2;justify-self:end}
.footer{padding:23rem 24rem 42rem}
.email{font-size:152rem;line-height:.88;letter-spacing:1.52rem;white-space:normal;text-align:center}
.email span{display:block}
.footer nav{flex-direction:column;gap:32rem;margin-top:44rem;font-size:40rem;letter-spacing:3.2rem}
.footer nav a{gap:24rem}
.compact-footer{height:auto;padding:20rem 24rem}
.compact-footer .email{font-size:46.8rem;letter-spacing:.468rem;white-space:nowrap}
.compact-footer .email span{display:inline}
.compact-footer nav{flex-direction:row;gap:8rem;margin-top:20rem;font-size:21rem;letter-spacing:1rem}
.compact-footer .arrow{display:none}
.events-scroll{mask-image:linear-gradient(#000 calc(100% - 30rem),transparent)}
.city-filter{margin:64rem 0 49.5rem}
.city-filter h1{font-size:32rem;font-weight:700;letter-spacing:.32rem;margin-bottom:20rem}
.city-filter label{font-size:67.578rem;letter-spacing:2.7031rem;gap:12rem}
.months{gap:18.96rem;padding:22rem 24rem;font-size:47.401rem}
.months button{font-size:47.401rem;font-weight:700;letter-spacing:.474rem}
.empty-state{padding:60rem 0}
.empty-state h2{font-size:50rem}
.empty-state p{font-size:28rem}
.artists>h1{overflow-wrap:anywhere}
.artist-band{height:320rem;padding:0 24rem;text-align:center}
.artist-band span{font-size:96rem;line-height:1;letter-spacing:-2rem}
.artist-cover{height:100%;object-position:center}
.artist-hero:after{top:300rem}
.artist-heading{left:24rem;right:24rem}
.artist-meta{margin-bottom:18rem}
.artist-meta i{width:8rem;height:8rem}
.artist-avatar{width:72rem;height:72rem;bottom:auto;top:44rem}
.artist-description{font-size:20rem;line-height:1.2;letter-spacing:1.6rem;text-box-trim:trim-both;text-box-edge:cap alphabetic;margin:18rem 24rem 24rem;text-align:left}
.venue-row{grid-template-columns:minmax(0,1fr) 172rem}
.venue-row h2{font-size:64rem;padding-right:0;max-width:none;white-space:normal;line-height:1}
.venue-row>.pill{width:172rem}
.about{flex-direction:column;gap:28rem}
.about h1{align-self:flex-end;font-size:86rem;font-weight:700;line-height:1;text-box-trim:none}
.about p{width:auto;font-size:20rem;line-height:1.2;letter-spacing:1.6rem}
.contacts{padding:79rem 24rem 108rem;display:block;flex:none}
.contacts-footer{padding-top:0}
.contacts-footer nav{margin-top:0}
.contacts .email{font-size:152rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}
.events-scroll .event-list{padding-bottom:65rem}
.home-events:not(.is-active) .events-scroll{overflow-y:hidden}
@media(max-width:700px){.events-scroll .event-list{padding-bottom:30rem}
}
@media(max-width:700px){
  .hero-photo{background-image:url('assets/hero-little-mobile.webp');background-size:auto max(1578rem, calc(100dvh + 484rem));background-position:center calc(50% - 242rem)}
  .footer:not(.compact-footer) .email,.contacts .email{font-size:146.98rem;letter-spacing:0;line-height:.922;margin-inline:-2rem}
}
.artists>h1{font-size:488.489rem;letter-spacing:19.5396rem;text-align:left;padding:0 0 0 41rem;line-height:1.04}
.artist-hero picture{position:absolute;inset:0;overflow:hidden;z-index:-2}
@media(max-width:700px){
  .artists>h1{height:484rem;padding:72rem 0 0;font-size:347.447rem;letter-spacing:13.8979rem;line-height:293.042rem}
  .artists>h1 span{display:block;width:560rem;margin-left:-23rem;white-space:nowrap}
  .artist-band[href*="komissarenko"] span{font-size:78rem;letter-spacing:-2rem}
  .artist-heading h1{font-size:86rem;line-height:1;max-width:248rem;text-box-trim:none}
  .artist-meta{font-size:28.235rem;letter-spacing:2.2588rem;justify-content:space-between;gap:0}
}
@property --progress{syntax:'<angle>';inherits:true;initial-value:0deg}
.slide{width:80rem;height:80rem;position:relative;flex:none;border:3rem solid white;border-radius:50%;padding:0}
.slide.active{border-color:transparent}
.slide::after{content:'';position:absolute;inset:-3rem;border-radius:50%;background:conic-gradient(white var(--progress),transparent 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3rem),black calc(100% - 2.5rem));pointer-events:none}
.slide:disabled{cursor:default}
.hero-photo{will-change:transform,opacity;transform-origin:center}
.hero-photo.photo-noize{background-image:url('assets/hero-noize-large.webp');background-size:cover;background-position:center}
.marquee{width:100%;padding:0;text-align:left;text-indent:0}
.marquee-track{display:flex;flex:none;width:max-content;animation:marquee-scroll 55s linear infinite;will-change:transform}
.marquee-track>span{display:block;flex:none;white-space:pre}
html,.events-scroll{scroll-behavior:smooth}
.menu-open .marquee-track,.marquee.is-offscreen .marquee-track,.marquee.paused .marquee-track,.marquee:hover .marquee-track,.marquee:focus-visible .marquee-track{animation-play-state:paused}
@keyframes marquee-scroll{to{transform:translateX(-50%)}
}
@media(max-width:700px){
  .slide{width:65rem;height:65rem}
  .hero h1{min-height:0}
  .hero h1[data-artist='dolgopolov']{font-size:86rem}
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
  .hero-photo{will-change:auto}
  .slide.active{border-color:white}
}
.about-screen{height:100svh;height:100dvh;display:flex;flex-direction:column}
.page-about .header{flex:none}
.page-about .about{flex:1;min-height:0;padding:32rem 32rem 12rem;align-items:flex-end}
@media(max-width:700px){.page-about .about{justify-content:flex-end;align-items:stretch;padding:24rem 24rem 12rem}
}
.artist-screen{height:100svh;height:100dvh;display:flex;flex-direction:column}
.artist-screen .artist-hero{height:auto;flex:1;min-height:0}
.artist-description{flex:none}
.city-filter label:has(input:focus:placeholder-shown){gap:0}
body:has(dialog[open]){overflow:hidden}

@media(max-width:700px){
  .artist-band[href*="pornofilms"] img{object-position:94% center}
  .artist-band[href*="usovich"] img{object-position:76% center}
  .artist-band[href*="mirzalizade"] img{object-position:67% center}
}

@media(max-width:700px),(hover:none) and (pointer:coarse){.sound-toggle{display:none}}

@media(max-width:700px){
  .home-events{height:auto;min-height:100dvh;overflow:visible}
  .home-events .events-scroll{overflow:visible;mask-image:none;flex:none}
  .compact-footer{position:sticky;bottom:0;z-index:3;padding-bottom:calc(20rem + env(safe-area-inset-bottom))}
}

@media(max-width:700px){
  .footer:not(.compact-footer) nav a{position:relative;height:32rem}
  .footer:not(.compact-footer) nav .arrow{position:absolute;left:calc(100% + 32rem);top:50%;transform:translateY(-50%)}
  .event-row:not(.venue-row) h2{padding-right:0;max-width:280rem;text-overflow:clip;mask-image:linear-gradient(to right,#000 calc(100% - 16rem),transparent)}
}
