:root{
--black:#050505;
--white:#f7f7f5;
--red:#e31220;
--grey:#a0a0a0;
--border:rgba(255,255,255,.18);
--font:"Manrope",sans-serif;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
}
html{
scroll-behavior:smooth;
}
body{
background:var(--black);
color:var(--white);
font-family:var(--font);
overflow-x:hidden;
}
body.menu-open{
overflow:hidden;
}
a{
color:inherit;
text-decoration:none;
}
button{
font:inherit;
}
img{
display:block;
width:100%;
}
.cursor{
position:fixed;
top:0;
left:0;
width:10px;
height:10px;
border-radius:50%;
background:var(--red);
pointer-events:none;
z-index:9999;
transform:translate(-50%,-50%);
transition:width .25s ease,height .25s ease,background .25s ease;
mix-blend-mode:difference;
}
body.cursor-active .cursor{
width:42px;
height:42px;
background:#fff;
}
.header{
position:fixed;
top:0;
left:0;
width:100%;
height:94px;
padding:0 4vw;
display:flex;
align-items:center;
justify-content:space-between;
z-index:100;
transition:background .4s ease,border-color .4s ease,height .4s ease;
border-bottom:1px solid transparent;
}
.header.scrolled{
height:76px;
background:rgba(5,5,5,.8);
backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);
border-color:rgba(255,255,255,.08);
}
.logo{
width:138px;
display:flex;
align-items:center;
position:relative;
z-index:102;
}
.logo img{
width:100%;
height:auto;
object-fit:contain;
}
.nav{
position:absolute;
left:50%;
transform:translateX(-50%);
display:flex;
align-items:center;
gap:36px;
}
.nav a{
position:relative;
font-size:12px;
font-weight:500;
letter-spacing:.06em;
text-transform:uppercase;
color:rgba(255,255,255,.72);
transition:color .3s ease;
}
.nav a::after{
content:"";
position:absolute;
left:0;
bottom:-7px;
width:100%;
height:1px;
background:var(--red);
transform:scaleX(0);
transform-origin:right;
transition:transform .35s cubic-bezier(.76,0,.24,1);
}
.nav a:hover{
color:#fff;
}
.nav a:hover::after{
transform:scaleX(1);
transform-origin:left;
}
.booking-link{
height:45px;
padding:0 18px 0 20px;
border:1px solid var(--border);
display:flex;
align-items:center;
gap:26px;
font-size:11px;
font-weight:600;
letter-spacing:.08em;
text-transform:uppercase;
transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.booking-link:hover{
background:var(--red);
border-color:var(--red);
}
.menu-button{
display:none;
width:44px;
height:44px;
border:0;
background:none;
position:relative;
z-index:102;
cursor:pointer;
}
.menu-button span{
position:absolute;
left:8px;
width:28px;
height:1px;
background:#fff;
transition:.35s ease;
}
.menu-button span:first-child{
top:18px;
}
.menu-button span:last-child{
top:26px;
}
.menu-button.active span:first-child{
top:22px;
transform:rotate(45deg);
}
.menu-button.active span:last-child{
top:22px;
transform:rotate(-45deg);
}
.mobile-menu{
position:fixed;
inset:0;
background:#050505;
z-index:99;
display:flex;
flex-direction:column;
justify-content:center;
padding:110px 6vw 40px;
opacity:0;
visibility:hidden;
transition:opacity .4s ease,visibility .4s ease;
}
.mobile-menu.active{
opacity:1;
visibility:visible;
}
.mobile-menu nav{
display:flex;
flex-direction:column;
}
.mobile-menu nav a{
font-size:clamp(42px,11vw,80px);
font-weight:600;
letter-spacing:-.055em;
line-height:1.08;
text-transform:uppercase;
opacity:0;
transform:translateY(25px);
}
.mobile-menu.active nav a{
opacity:1;
transform:translateY(0);
transition:opacity .5s ease,transform .5s ease;
}
.mobile-menu.active nav a:nth-child(1){
transition-delay:.08s;
}
.mobile-menu.active nav a:nth-child(2){
transition-delay:.12s;
}
.mobile-menu.active nav a:nth-child(3){
transition-delay:.16s;
}
.mobile-menu.active nav a:nth-child(4){
transition-delay:.2s;
}
.mobile-menu.active nav a:nth-child(5){
transition-delay:.24s;
}
.mobile-menu-footer{
margin-top:auto;
display:flex;
gap:24px;
font-size:11px;
letter-spacing:.12em;
text-transform:uppercase;
color:#888;
}
.hero{
position:relative;
height:100svh;
min-height:720px;
overflow:hidden;
background:#050505;
}
.hero-media{
position:absolute;
inset:0;
overflow:hidden;
}
.hero-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
transform:scale(1.06);
will-change:transform;
}
.hero-overlay{
position:absolute;
inset:0;
background:
linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.54) 36%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.26) 100%),
linear-gradient(180deg,rgba(0,0,0,.36) 0%,transparent 30%,transparent 62%,rgba(0,0,0,.7) 100%);
}
.hero-red-glow{
position:absolute;
left:-12vw;
top:28%;
width:36vw;
height:36vw;
border-radius:50%;
background:rgba(227,18,32,.18);
filter:blur(120px);
pointer-events:none;
}
.hero-content{
position:absolute;
left:7vw;
top:50%;
transform:translateY(-46%);
z-index:10;
max-width:900px;
}
.hero-eyebrow{
display:flex;
align-items:center;
gap:10px;
margin-bottom:23px;
font-size:10px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.66);
}
.eyebrow-dot{
width:6px;
height:6px;
border-radius:50%;
background:var(--red);
box-shadow:0 0 15px rgba(227,18,32,.75);
}
.hero h1{
font-size:clamp(70px,9.5vw,168px);
font-weight:600;
line-height:.78;
letter-spacing:-.075em;
text-transform:uppercase;
}
.title-line{
display:block;
overflow:hidden;
padding-bottom:.08em;
}
.title-line>span{
display:block;
}
.hero-description{
margin-top:28px;
font-size:14px;
font-weight:400;
letter-spacing:.19em;
text-transform:uppercase;
color:rgba(255,255,255,.68);
}
.hero-buttons{
display:flex;
align-items:center;
gap:30px;
margin-top:40px;
}
.primary-btn{
height:54px;
padding:0 22px;
min-width:180px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
background:var(--red);
font-size:11px;
font-weight:600;
letter-spacing:.1em;
text-transform:uppercase;
transition:background .3s ease,transform .3s ease;
}
.primary-btn:hover{
background:#f11928;
transform:translateY(-2px);
}
.text-btn{
position:relative;
display:flex;
align-items:center;
gap:16px;
padding:12px 0;
font-size:11px;
font-weight:600;
letter-spacing:.1em;
text-transform:uppercase;
}
.text-btn::after{
content:"";
position:absolute;
left:0;
bottom:3px;
width:100%;
height:1px;
background:rgba(255,255,255,.45);
transform-origin:right;
transition:transform .35s ease;
}
.text-btn:hover::after{
transform:scaleX(.35);
}
.text-btn span:last-child{
font-size:17px;
transition:transform .3s ease;
}
.text-btn:hover span:last-child{
transform:translate(3px,-3px);
}
.hero-stream{
position:absolute;
right:4vw;
bottom:43px;
z-index:10;
display:grid;
grid-template-columns:42px auto 30px;
align-items:center;
gap:13px;
min-width:305px;
padding:13px 14px;
background:rgba(10,10,10,.42);
border:1px solid rgba(255,255,255,.14);
backdrop-filter:blur(15px);
-webkit-backdrop-filter:blur(15px);
}
.stream-icon{
height:34px;
display:flex;
justify-content:center;
align-items:center;
gap:3px;
background:rgba(227,18,32,.12);
}
.stream-icon span{
width:2px;
height:12px;
background:var(--red);
animation:equalizer .9s ease-in-out infinite alternate;
}
.stream-icon span:nth-child(2){
animation-delay:.2s;
height:20px;
}
.stream-icon span:nth-child(3){
animation-delay:.4s;
height:15px;
}
.stream-icon span:nth-child(4){
animation-delay:.1s;
height:8px;
}
.stream-copy{
display:flex;
flex-direction:column;
gap:3px;
}
.stream-copy small{
font-size:8px;
letter-spacing:.16em;
text-transform:uppercase;
color:#8f8f8f;
}
.stream-copy strong{
font-size:11px;
font-weight:500;
}
.hero-stream>a{
font-size:17px;
text-align:center;
transition:transform .3s ease;
}
.hero-stream>a:hover{
transform:translate(3px,-3px);
}
.hero-socials{
position:absolute;
right:4vw;
top:50%;
transform:translateY(-50%);
z-index:10;
display:flex;
flex-direction:column;
gap:20px;
}
.hero-socials a{
font-size:9px;
font-weight:600;
letter-spacing:.12em;
color:rgba(255,255,255,.45);
transition:color .3s ease;
}
.hero-socials a:hover{
color:var(--red);
}
.scroll-down{
position:absolute;
left:4vw;
bottom:46px;
z-index:10;
display:flex;
align-items:center;
gap:14px;
font-size:9px;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.55);
}
.scroll-track{
width:76px;
height:1px;
background:rgba(255,255,255,.22);
overflow:hidden;
}
.scroll-track div{
width:35%;
height:100%;
background:#fff;
animation:scrollMove 2.2s cubic-bezier(.76,0,.24,1) infinite;
}
.hero-index{
position:absolute;
left:4vw;
top:135px;
z-index:10;
display:flex;
gap:7px;
font-size:9px;
letter-spacing:.16em;
text-transform:uppercase;
color:rgba(255,255,255,.45);
}
.hero-index span:first-child{
color:var(--red);
}
@keyframes equalizer{
0%{
transform:scaleY(.45);
}
100%{
transform:scaleY(1.1);
}
}
@keyframes scrollMove{
0%{
transform:translateX(-120%);
}
100%{
transform:translateX(320%);
}
}
@media(max-width:1000px){
.header{
padding:0 24px;
}
.nav,.booking-link{
display:none;
}
.menu-button{
display:block;
}
.logo{
width:120px;
}
.hero-content{
left:6vw;
}
.hero-stream{
right:24px;
}
.hero-socials{
display:none;
}
.scroll-down,.hero-index{
left:24px;
}
}
@media(max-width:767px){
.cursor{
display:none;
}
.hero{
min-height:680px;
}
.header{
height:78px;
padding:0 18px;
}
.header.scrolled{
height:68px;
}
.logo{
width:108px;
}
.hero-media img{
object-position:62% center;
}
.hero-overlay{
background:
linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22)),
linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.05) 38%,rgba(0,0,0,.86) 100%);
}
.hero-content{
left:20px;
right:20px;
top:auto;
bottom:150px;
transform:none;
}
.hero-eyebrow{
margin-bottom:17px;
font-size:8px;
}
.hero h1{
font-size:clamp(58px,18vw,98px);
line-height:.82;
}
.hero-description{
margin-top:19px;
font-size:10px;
letter-spacing:.15em;
}
.hero-buttons{
margin-top:28px;
gap:20px;
}
.primary-btn{
height:50px;
min-width:160px;
}
.hero-stream{
left:20px;
right:20px;
bottom:24px;
min-width:0;
}
.scroll-down,.hero-index{
display:none;
}
}
@media(max-width:430px){
.hero-content{
bottom:140px;
}
.hero h1{
font-size:17vw;
}
.hero-buttons{
gap:18px;
}
.primary-btn{
min-width:145px;
padding:0 16px;
}
.text-btn{
font-size:9px;
}
}

.booking-link i{
font-size:13px;
transition:transform .3s ease;
}

.booking-link:hover i{
transform:translate(3px,-3px);
}

.mobile-menu nav a{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
font-size:clamp(42px,11vw,80px);
font-weight:600;
letter-spacing:-.055em;
line-height:1.08;
text-transform:uppercase;
opacity:0;
transform:translateY(25px);
}

.mobile-menu nav a i{
font-size:.3em;
color:var(--red);
transition:transform .3s ease;
}

.mobile-menu nav a:hover i{
transform:translateX(8px);
}

.mobile-menu-footer{
margin-top:auto;
display:flex;
align-items:center;
gap:22px;
}

.mobile-menu-footer a{
width:42px;
height:42px;
border:1px solid rgba(255,255,255,.15);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
color:rgba(255,255,255,.65);
transition:.3s ease;
}

.mobile-menu-footer a:hover{
background:var(--red);
border-color:var(--red);
color:#fff;
transform:translateY(-3px);
}

.primary-btn i{
font-size:11px;
transition:transform .3s ease;
}

.primary-btn:hover i{
transform:scale(1.15);
}

.text-btn i{
font-size:13px;
transition:transform .3s ease;
}

.text-btn:hover i{
transform:translate(3px,-3px);
}

.hero-stream>a{
width:30px;
height:30px;
display:flex;
align-items:center;
justify-content:center;
font-size:12px;
transition:transform .3s ease,color .3s ease;
}

.hero-stream>a:hover{
color:var(--red);
transform:translateX(3px);
}

.hero-socials{
position:absolute;
right:4vw;
top:50%;
transform:translateY(-50%);
z-index:10;
display:flex;
flex-direction:column;
gap:12px;
}

.hero-socials a{
width:38px;
height:38px;
border:1px solid rgba(255,255,255,.15);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:13px;
color:rgba(255,255,255,.62);
transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;
}

.hero-socials a:hover{
background:var(--red);
border-color:var(--red);
color:#fff;
transform:translateX(-4px);
}

.scroll-down{
position:absolute;
left:4vw;
bottom:46px;
z-index:10;
display:flex;
align-items:center;
gap:12px;
font-size:9px;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.55);
}

.scroll-down>i{
font-size:9px;
color:var(--red);
animation:scrollArrow 1.6s ease-in-out infinite;
}

@keyframes scrollArrow{
0%,100%{
transform:translateY(-2px);
}
50%{
transform:translateY(4px);
}
}

.artist-section{
position:relative;
min-height:100vh;
background:#050505;
padding:150px 4vw 140px;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.artist-bg-text{
position:absolute;
top:8%;
right:-2vw;
font-size:clamp(160px,26vw,450px);
font-weight:700;
line-height:.8;
letter-spacing:-.1em;
color:transparent;
-webkit-text-stroke:1px rgba(255,255,255,.035);
pointer-events:none;
user-select:none;
}

.artist-container{
position:relative;
z-index:2;
max-width:1500px;
margin:auto;
}

.artist-heading{
display:grid;
grid-template-columns:30% 70%;
align-items:start;
margin-bottom:80px;
}

.section-number{
display:flex;
align-items:center;
gap:13px;
padding-top:16px;
font-size:9px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.42);
}

.section-number span:first-child{
color:var(--red);
}

.section-line{
width:40px;
height:1px;
background:rgba(255,255,255,.25);
}

.artist-heading h2{
font-size:clamp(64px,8vw,130px);
font-weight:600;
line-height:.82;
letter-spacing:-.07em;
text-transform:uppercase;
}

.artist-title-line{
display:block;
overflow:hidden;
padding-bottom:.08em;
}

.artist-title-line>span{
display:block;
}

.artist-grid{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:8vw;
align-items:center;
}

.artist-image-column{
position:relative;
}

.artist-image-wrap{
position:relative;
height:min(72vh,760px);
overflow:hidden;
background:#111;
}

.artist-image-wrap::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55) 100%),
linear-gradient(90deg,rgba(227,18,32,.08),transparent 40%);
pointer-events:none;
}

.artist-image{
width:100%;
height:120%;
object-fit:cover;
object-position:center;
transform:translateY(-8%);
will-change:transform;
}

.artist-image-badge{
position:absolute;
right:-35px;
bottom:52px;
z-index:3;
width:145px;
height:145px;
border-radius:50%;
background:var(--red);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
text-align:center;
box-shadow:0 20px 60px rgba(227,18,32,.22);
}

.artist-image-badge i{
font-size:22px;
}

.artist-image-badge span{
max-width:95px;
font-size:9px;
font-weight:600;
line-height:1.5;
letter-spacing:.15em;
text-transform:uppercase;
}

.artist-image-caption{
display:flex;
justify-content:space-between;
margin-top:15px;
font-size:8px;
font-weight:600;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.4);
}

.artist-content{
max-width:570px;
}

.artist-small-title{
display:flex;
align-items:center;
gap:13px;
margin-bottom:30px;
}

.artist-small-title span{
width:40px;
height:2px;
background:var(--red);
}

.artist-small-title p{
font-size:10px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.5);
}

.artist-lead{
font-size:clamp(27px,2.65vw,45px);
font-weight:500;
line-height:1.22;
letter-spacing:-.035em;
color:#fff;
}

.artist-copy{
max-width:500px;
margin-top:28px;
font-size:14px;
line-height:1.9;
color:rgba(255,255,255,.5);
}

.artist-details{
margin-top:46px;
border-top:1px solid rgba(255,255,255,.1);
}

.artist-detail{
display:grid;
grid-template-columns:48px 1fr;
align-items:center;
gap:18px;
min-height:82px;
border-bottom:1px solid rgba(255,255,255,.1);
transition:padding .35s ease,background .35s ease;
}

.artist-detail:hover{
padding-left:12px;
background:linear-gradient(90deg,rgba(227,18,32,.07),transparent);
}

.artist-detail>i{
font-size:15px;
color:var(--red);
}

.artist-detail div{
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
}

.artist-detail span{
font-size:9px;
font-weight:500;
letter-spacing:.16em;
text-transform:uppercase;
color:rgba(255,255,255,.35);
}

.artist-detail strong{
font-size:12px;
font-weight:500;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(255,255,255,.85);
}

.artist-link{
display:inline-flex;
align-items:center;
gap:18px;
margin-top:40px;
font-size:10px;
font-weight:600;
letter-spacing:.14em;
text-transform:uppercase;
}

.artist-link-icon{
width:45px;
height:45px;
border-radius:50%;
border:1px solid rgba(255,255,255,.2);
display:flex;
align-items:center;
justify-content:center;
transition:background .35s ease,border-color .35s ease,transform .35s ease;
}

.artist-link-icon i{
font-size:11px;
transition:transform .35s ease;
}

.artist-link:hover .artist-link-icon{
background:var(--red);
border-color:var(--red);
transform:scale(1.08);
}

.artist-link:hover .artist-link-icon i{
transform:translateX(3px);
}

@media(max-width:1000px){
.artist-section{
padding:120px 24px;
}

.artist-heading{
grid-template-columns:1fr;
gap:30px;
margin-bottom:60px;
}

.artist-grid{
gap:60px;
}

.artist-image-badge{
right:-15px;
width:120px;
height:120px;
}
}

@media(max-width:767px){
.artist-section{
padding:95px 20px 90px;
}

.artist-bg-text{
top:6%;
font-size:42vw;
}

.artist-heading{
margin-bottom:45px;
}

.artist-heading h2{
font-size:15vw;
}

.artist-grid{
grid-template-columns:1fr;
gap:55px;
}

.artist-image-wrap{
height:62vh;
min-height:480px;
}

.artist-image-badge{
right:15px;
bottom:20px;
width:105px;
height:105px;
}

.artist-image-badge i{
font-size:18px;
}

.artist-image-badge span{
font-size:7px;
}

.artist-content{
max-width:none;
}

.artist-lead{
font-size:27px;
}

.artist-copy{
font-size:13px;
}

.artist-detail{
min-height:75px;
}

.artist-detail div{
align-items:flex-start;
flex-direction:column;
gap:6px;
}

.artist-detail strong{
font-size:11px;
}
}

.music-section{
position:relative;
background:#080808;
padding:0 4vw 150px;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.music-background-text{
position:absolute;
right:-3vw;
bottom:-2vw;
font-size:clamp(190px,29vw,500px);
font-weight:700;
line-height:.75;
letter-spacing:-.1em;
color:transparent;
-webkit-text-stroke:1px rgba(255,255,255,.025);
pointer-events:none;
user-select:none;
}

.music-marquee{
position:relative;
z-index:3;
width:calc(100% + 8vw);
margin-left:-4vw;
border-bottom:1px solid rgba(255,255,255,.08);
overflow:hidden;
}

.music-marquee-track{
width:max-content;
height:82px;
display:flex;
align-items:center;
gap:34px;
animation:musicMarquee 28s linear infinite;
}

.music-marquee-track span{
font-size:12px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.32);
}

.music-marquee-track i{
font-size:8px;
color:var(--red);
}

.music-container{
position:relative;
z-index:2;
max-width:1500px;
margin:auto;
}

.music-header{
display:grid;
grid-template-columns:30% 70%;
padding:120px 0 80px;
}

.music-heading>p{
margin-bottom:20px;
font-size:10px;
font-weight:600;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--red);
}

.music-heading h2{
font-size:clamp(70px,8.5vw,140px);
font-weight:600;
line-height:.8;
letter-spacing:-.075em;
text-transform:uppercase;
}

.music-title-line{
display:block;
overflow:hidden;
padding-bottom:.09em;
}

.music-title-line>span{
display:block;
}

.music-feature{
display:grid;
grid-template-columns:1fr 1fr;
gap:9vw;
align-items:center;
}

.music-cover-column{
position:relative;
}

.music-cover-wrap{
position:relative;
width:100%;
max-width:650px;
aspect-ratio:1/1;
}

.music-cover{
position:relative;
width:100%;
height:100%;
overflow:hidden;
z-index:2;
background:#111;
}

.music-cover::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45)),
linear-gradient(90deg,rgba(227,18,32,.08),transparent 45%);
pointer-events:none;
}

.music-cover img{
width:100%;
height:100%;
object-fit:cover;
transition:transform 1s cubic-bezier(.16,1,.3,1);
}

.music-cover-wrap:hover .music-cover img{
transform:scale(1.045);
}

.music-cover-glow{
position:absolute;
left:50%;
bottom:-8%;
width:78%;
height:40%;
transform:translateX(-50%);
background:rgba(227,18,32,.24);
filter:blur(100px);
z-index:0;
}

.music-main-play{
position:absolute;
right:-34px;
bottom:45px;
z-index:5;
width:92px;
height:92px;
border:0;
border-radius:50%;
background:var(--red);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
cursor:pointer;
box-shadow:0 18px 50px rgba(227,18,32,.28);
transition:transform .35s ease,background .35s ease;
}

.music-main-play:hover{
transform:scale(1.08);
background:#f11928;
}

.music-main-play i{
margin-left:4px;
}

.music-main-play.is-playing i,
.player-button.is-playing i{
margin-left:0;
}

.music-cover-meta{
display:flex;
align-items:center;
justify-content:space-between;
margin-top:16px;
font-size:8px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.38);
}

.music-info{
max-width:590px;
}

.music-release-label{
display:flex;
align-items:center;
gap:13px;
margin-bottom:28px;
}

.music-release-label span{
width:42px;
height:2px;
background:var(--red);
}

.music-release-label p{
font-size:9px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.48);
}

.music-track-heading>span{
font-size:10px;
font-weight:500;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.4);
}

.music-track-heading h3{
margin-top:8px;
font-size:clamp(42px,5vw,76px);
font-weight:600;
line-height:1;
letter-spacing:-.055em;
text-transform:uppercase;
}

.music-description{
max-width:500px;
margin-top:26px;
font-size:14px;
line-height:1.9;
color:rgba(255,255,255,.5);
}

.music-player{
margin-top:42px;
padding:22px 0;
border-top:1px solid rgba(255,255,255,.1);
border-bottom:1px solid rgba(255,255,255,.1);
}

.music-player-top{
display:grid;
grid-template-columns:52px 1fr auto;
align-items:center;
gap:17px;
}

.player-button{
width:50px;
height:50px;
border:1px solid rgba(255,255,255,.2);
border-radius:50%;
background:transparent;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:12px;
cursor:pointer;
transition:background .3s ease,border-color .3s ease,transform .3s ease;
}

.player-button:hover,
.player-button.is-playing{
background:var(--red);
border-color:var(--red);
}

.player-button:hover{
transform:scale(1.06);
}

.player-button i{
margin-left:2px;
}

.player-track-info{
display:flex;
flex-direction:column;
gap:4px;
}

.player-track-info span{
font-size:11px;
font-weight:500;
color:#fff;
}

.player-track-info strong{
font-size:8px;
font-weight:500;
letter-spacing:.15em;
text-transform:uppercase;
color:rgba(255,255,255,.36);
}

.player-equalizer{
height:28px;
display:flex;
align-items:center;
gap:3px;
}

.player-equalizer span{
width:2px;
height:8px;
background:rgba(255,255,255,.35);
}

.player-equalizer.active span{
background:var(--red);
animation:musicBar .75s ease-in-out infinite alternate;
}

.player-equalizer.active span:nth-child(1){
animation-delay:.05s;
height:12px;
}

.player-equalizer.active span:nth-child(2){
animation-delay:.2s;
height:20px;
}

.player-equalizer.active span:nth-child(3){
animation-delay:.1s;
height:14px;
}

.player-equalizer.active span:nth-child(4){
animation-delay:.3s;
height:24px;
}

.player-equalizer.active span:nth-child(5){
animation-delay:.15s;
height:16px;
}

.player-equalizer.active span:nth-child(6){
animation-delay:.25s;
height:10px;
}

.player-progress-area{
display:grid;
grid-template-columns:34px 1fr 34px;
align-items:center;
gap:12px;
margin-top:20px;
}

.player-progress-area>span{
font-size:8px;
font-weight:500;
letter-spacing:.08em;
color:rgba(255,255,255,.38);
}

.player-progress-area .total-time{
text-align:right;
}

.player-progress{
position:relative;
height:3px;
background:rgba(255,255,255,.12);
cursor:pointer;
overflow:hidden;
}

.player-progress-fill{
position:absolute;
top:0;
left:0;
width:0;
height:100%;
background:var(--red);
}

.music-platforms{
margin-top:35px;
display:flex;
align-items:center;
justify-content:space-between;
gap:25px;
}

.music-platforms>p{
font-size:9px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.4);
}

.music-platform-links{
display:flex;
align-items:center;
gap:10px;
}

.music-platform-links a{
width:43px;
height:43px;
border:1px solid rgba(255,255,255,.14);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
color:rgba(255,255,255,.7);
transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;
}

.music-platform-links a:hover{
background:var(--red);
border-color:var(--red);
color:#fff;
transform:translateY(-4px);
}

.music-view-all{
display:inline-flex;
align-items:center;
gap:18px;
margin-top:40px;
font-size:10px;
font-weight:600;
letter-spacing:.14em;
text-transform:uppercase;
}

.music-view-icon{
width:46px;
height:46px;
border-radius:50%;
border:1px solid rgba(255,255,255,.18);
display:flex;
align-items:center;
justify-content:center;
transition:background .35s ease,border-color .35s ease,transform .35s ease;
}

.music-view-icon i{
font-size:11px;
transition:transform .35s ease;
}

.music-view-all:hover .music-view-icon{
background:var(--red);
border-color:var(--red);
transform:scale(1.08);
}

.music-view-all:hover .music-view-icon i{
transform:translateX(3px);
}

@keyframes musicMarquee{
from{
transform:translateX(0);
}
to{
transform:translateX(-50%);
}
}

@keyframes musicBar{
from{
transform:scaleY(.4);
}
to{
transform:scaleY(1.15);
}
}

@media(max-width:1000px){
.music-section{
padding-left:24px;
padding-right:24px;
padding-bottom:120px;
}

.music-header{
grid-template-columns:1fr;
gap:30px;
padding:100px 0 65px;
}

.music-feature{
gap:60px;
}

.music-main-play{
right:-18px;
width:78px;
height:78px;
}
}

@media(max-width:767px){
.music-section{
padding-left:20px;
padding-right:20px;
padding-bottom:90px;
}

.music-marquee{
width:calc(100% + 40px);
margin-left:-20px;
}

.music-marquee-track{
height:65px;
gap:25px;
}

.music-marquee-track span{
font-size:9px;
}

.music-header{
padding:80px 0 45px;
}

.music-heading h2{
font-size:15vw;
}

.music-feature{
grid-template-columns:1fr;
gap:60px;
}

.music-cover-wrap{
max-width:none;
}

.music-main-play{
right:17px;
bottom:17px;
width:70px;
height:70px;
font-size:15px;
}

.music-cover-meta{
padding:0 2px;
}

.music-info{
max-width:none;
}

.music-track-heading h3{
font-size:12vw;
}

.music-description{
font-size:13px;
}

.music-player{
margin-top:32px;
}

.music-platforms{
align-items:flex-start;
flex-direction:column;
}

.music-platform-links{
width:100%;
}

.music-platform-links a{
width:46px;
height:46px;
}

.music-background-text{
font-size:50vw;
bottom:4%;
}
}

.watch-section{
position:relative;
background:#050505;
padding:145px 4vw 0;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.watch-top{
max-width:1500px;
margin:auto;
display:grid;
grid-template-columns:30% 70%;
align-items:start;
margin-bottom:75px;
}

.watch-intro>span{
display:block;
margin-bottom:20px;
font-size:9px;
font-weight:600;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--red);
}

.watch-intro h2{
font-size:clamp(72px,8.5vw,145px);
font-weight:600;
line-height:.8;
letter-spacing:-.075em;
text-transform:uppercase;
}

.watch-title-line{
display:block;
overflow:hidden;
padding-bottom:.08em;
}

.watch-title-line>span{
display:block;
}

.watch-stage{
max-width:1500px;
margin:auto;
display:grid;
grid-template-columns:minmax(0,1.65fr) minmax(330px,.65fr);
min-height:720px;
border-top:1px solid rgba(255,255,255,.1);
border-bottom:1px solid rgba(255,255,255,.1);
}

.watch-visual{
position:relative;
min-height:720px;
overflow:hidden;
background:#111;
}

.watch-image{
position:absolute;
inset:0;
}

.watch-image img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}

.watch-image.active{
z-index:1;
}

.watch-image.next{
z-index:2;
opacity:0;
}

.watch-gradient{
position:absolute;
inset:0;
z-index:3;
background:
linear-gradient(90deg,rgba(0,0,0,.15),transparent 50%),
linear-gradient(180deg,rgba(0,0,0,.08),transparent 40%,rgba(0,0,0,.78) 100%);
pointer-events:none;
}

.watch-red-light{
position:absolute;
left:-100px;
bottom:-150px;
width:450px;
height:450px;
z-index:3;
border-radius:50%;
background:rgba(227,18,32,.24);
filter:blur(130px);
pointer-events:none;
}

.watch-stage-number{
position:absolute;
top:32px;
left:34px;
z-index:5;
display:flex;
align-items:center;
gap:7px;
font-size:9px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
}

.watch-stage-number span:first-child{
color:var(--red);
}

.watch-stage-number span:last-child{
color:rgba(255,255,255,.45);
}

.watch-main-info{
position:absolute;
left:42px;
bottom:42px;
z-index:5;
max-width:600px;
}

.watch-category{
display:flex;
align-items:center;
gap:12px;
font-size:8px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.55);
}

.watch-category::before{
content:"";
width:30px;
height:2px;
background:var(--red);
}

.watch-main-title{
margin-top:12px;
font-size:clamp(50px,5.5vw,90px);
font-weight:600;
line-height:.92;
letter-spacing:-.06em;
text-transform:uppercase;
}

.watch-main-info p{
margin-top:12px;
font-size:9px;
font-weight:500;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.48);
}

.watch-main-play{
position:absolute;
right:42px;
bottom:42px;
z-index:6;
width:100px;
height:100px;
border:1px solid rgba(255,255,255,.4);
border-radius:50%;
background:rgba(0,0,0,.15);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
cursor:pointer;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:background .35s ease,border-color .35s ease,transform .35s ease;
}

.watch-main-play i{
margin-left:4px;
}

.watch-play-ring{
position:absolute;
inset:-10px;
border:1px solid rgba(255,255,255,.14);
border-radius:50%;
transition:transform .45s ease,border-color .35s ease;
}

.watch-main-play:hover{
background:var(--red);
border-color:var(--red);
transform:scale(1.06);
}

.watch-main-play:hover .watch-play-ring{
transform:scale(1.12);
border-color:rgba(227,18,32,.45);
}

.watch-progress{
position:absolute;
left:0;
bottom:0;
z-index:7;
width:100%;
height:2px;
background:rgba(255,255,255,.12);
}

.watch-progress span{
display:block;
width:33.333%;
height:100%;
background:var(--red);
transition:width .65s cubic-bezier(.16,1,.3,1);
}

.watch-playlist{
display:flex;
flex-direction:column;
border-left:1px solid rgba(255,255,255,.1);
}

.watch-playlist-head{
min-height:82px;
padding:0 30px;
display:flex;
align-items:center;
justify-content:space-between;
border-bottom:1px solid rgba(255,255,255,.1);
font-size:8px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.38);
}

.watch-item{
position:relative;
width:100%;
min-height:145px;
padding:25px 28px;
border:0;
border-bottom:1px solid rgba(255,255,255,.1);
background:transparent;
color:#fff;
display:grid;
grid-template-columns:34px 1fr 42px;
align-items:center;
gap:15px;
text-align:left;
cursor:pointer;
overflow:hidden;
transition:background .35s ease;
}

.watch-item::before{
content:"";
position:absolute;
left:0;
top:0;
width:3px;
height:100%;
background:var(--red);
transform:scaleY(0);
transform-origin:bottom;
transition:transform .4s cubic-bezier(.16,1,.3,1);
}

.watch-item::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(227,18,32,.1),transparent 75%);
opacity:0;
transition:opacity .35s ease;
}

.watch-item:hover,
.watch-item.active{
background:#090909;
}

.watch-item:hover::before,
.watch-item.active::before{
transform:scaleY(1);
}

.watch-item:hover::after,
.watch-item.active::after{
opacity:1;
}

.watch-item>*{
position:relative;
z-index:2;
}

.watch-item-number{
font-size:9px;
font-weight:600;
letter-spacing:.15em;
color:rgba(255,255,255,.3);
transition:color .3s ease;
}

.watch-item.active .watch-item-number{
color:var(--red);
}

.watch-item-text span{
font-size:8px;
font-weight:500;
letter-spacing:.16em;
text-transform:uppercase;
color:rgba(255,255,255,.38);
}

.watch-item-text h4{
margin-top:7px;
font-size:20px;
font-weight:500;
letter-spacing:-.03em;
text-transform:uppercase;
}

.watch-item-icon{
width:38px;
height:38px;
border:1px solid rgba(255,255,255,.14);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:10px;
transition:background .3s ease,border-color .3s ease,transform .3s ease;
}

.watch-item:hover .watch-item-icon,
.watch-item.active .watch-item-icon{
background:var(--red);
border-color:var(--red);
transform:translateX(3px);
}

.watch-youtube{
margin-top:auto;
padding:30px;
}

.watch-youtube p{
max-width:300px;
font-size:12px;
line-height:1.75;
color:rgba(255,255,255,.4);
}

.watch-youtube>a{
margin-top:25px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
font-size:9px;
font-weight:600;
letter-spacing:.16em;
text-transform:uppercase;
}

.watch-youtube>a>span:last-child{
width:46px;
height:46px;
border:1px solid rgba(255,255,255,.17);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:14px;
transition:background .3s ease,border-color .3s ease,transform .3s ease;
}

.watch-youtube>a:hover>span:last-child{
background:var(--red);
border-color:var(--red);
transform:scale(1.08);
}

.watch-marquee{
width:calc(100% + 8vw);
margin-left:-4vw;
overflow:hidden;
border-bottom:1px solid rgba(255,255,255,.08);
}

.watch-marquee-track{
height:100px;
width:max-content;
display:flex;
align-items:center;
gap:38px;
animation:watchMarquee 30s linear infinite;
}

.watch-marquee-track span{
font-size:clamp(22px,2vw,36px);
font-weight:500;
letter-spacing:-.025em;
text-transform:uppercase;
color:rgba(255,255,255,.12);
}

.watch-marquee-track i{
font-size:8px;
color:var(--red);
}

.watch-modal{
position:fixed;
inset:0;
z-index:1000;
background:rgba(0,0,0,.96);
display:flex;
align-items:center;
justify-content:center;
padding:6vw;
opacity:0;
visibility:hidden;
transition:opacity .4s ease,visibility .4s ease;
}

.watch-modal.active{
opacity:1;
visibility:visible;
}

.watch-modal-content{
width:min(1200px,100%);
opacity:0;
transform:translateY(35px) scale(.96);
transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1);
}

.watch-modal.active .watch-modal-content{
opacity:1;
transform:translateY(0) scale(1);
}

.watch-modal-frame{
position:relative;
width:100%;
aspect-ratio:16/9;
background:#000;
}

.watch-modal-frame iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}

.watch-modal-close{
position:absolute;
top:30px;
right:35px;
width:48px;
height:48px;
border:1px solid rgba(255,255,255,.2);
border-radius:50%;
background:transparent;
color:#fff;
font-size:14px;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:background .3s ease,border-color .3s ease,transform .35s ease;
}

.watch-modal-close:hover{
background:var(--red);
border-color:var(--red);
transform:rotate(90deg);
}

@keyframes watchMarquee{
from{
transform:translateX(0);
}
to{
transform:translateX(-50%);
}
}

@media(max-width:1100px){
.watch-section{
padding-left:24px;
padding-right:24px;
}

.watch-top{
grid-template-columns:1fr;
gap:30px;
}

.watch-stage{
grid-template-columns:1.4fr .6fr;
}

.watch-main-play{
width:82px;
height:82px;
}

.watch-item{
padding:22px 20px;
grid-template-columns:28px 1fr 36px;
}

.watch-item-text h4{
font-size:17px;
}
}

@media(max-width:850px){
.watch-stage{
grid-template-columns:1fr;
}

.watch-playlist{
border-left:0;
border-top:1px solid rgba(255,255,255,.1);
}

.watch-visual{
min-height:620px;
}

.watch-youtube{
padding:28px 24px;
}
}

@media(max-width:767px){
.watch-section{
padding:90px 20px 0;
}

.watch-top{
margin-bottom:45px;
}

.watch-intro h2{
font-size:15vw;
}

.watch-stage{
min-height:0;
}

.watch-visual{
min-height:540px;
}

.watch-stage-number{
top:20px;
left:20px;
}

.watch-main-info{
left:20px;
right:20px;
bottom:25px;
padding-right:80px;
}

.watch-main-title{
font-size:11vw;
}

.watch-main-play{
right:20px;
bottom:25px;
width:62px;
height:62px;
font-size:12px;
}

.watch-play-ring{
inset:-6px;
}

.watch-playlist-head{
min-height:68px;
padding:0 20px;
}

.watch-item{
min-height:120px;
padding:20px;
grid-template-columns:28px 1fr 38px;
}

.watch-youtube{
padding:25px 20px;
}

.watch-marquee{
width:calc(100% + 40px);
margin-left:-20px;
}

.watch-marquee-track{
height:80px;
gap:28px;
}

.watch-modal{
padding:20px;
}

.watch-modal-close{
top:20px;
right:20px;
}
}

.shows-section{
position:relative;
background:#050505;
padding:145px 4vw 0;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.shows-container{
max-width:1500px;
margin:auto;
}

.shows-header{
display:grid;
grid-template-columns:30% 70%;
align-items:start;
margin-bottom:75px;
}

.shows-heading>span{
display:block;
margin-bottom:20px;
font-size:9px;
font-weight:600;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--red);
}

.shows-heading h2{
font-size:clamp(72px,8.5vw,145px);
font-weight:600;
line-height:.8;
letter-spacing:-.075em;
text-transform:uppercase;
}

.shows-title-line{
display:block;
overflow:hidden;
padding-bottom:.08em;
}

.shows-title-line>span{
display:block;
}

.shows-board{
border-top:1px solid rgba(255,255,255,.12);
}

.shows-board-head{
height:65px;
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
font-size:8px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.3);
border-bottom:1px solid rgba(255,255,255,.1);
}

.shows-board-head span:nth-child(2){
color:var(--red);
}

.shows-board-head span:last-child{
text-align:right;
}

.show-row{
position:relative;
min-height:170px;
display:grid;
grid-template-columns:60px 130px 1.4fr 1fr 115px 120px;
align-items:center;
gap:25px;
border-bottom:1px solid rgba(255,255,255,.1);
overflow:hidden;
transition:padding .45s cubic-bezier(.16,1,.3,1),background .4s ease;
}

.show-row::before{
content:"";
position:absolute;
left:0;
top:0;
width:3px;
height:100%;
background:var(--red);
transform:scaleY(0);
transform-origin:bottom;
transition:transform .45s cubic-bezier(.16,1,.3,1);
z-index:3;
}

.show-row::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(227,18,32,.11),rgba(227,18,32,.025) 42%,transparent 75%);
opacity:0;
transition:opacity .45s ease;
}

.show-row:hover{
padding-left:18px;
background:#090909;
}

.show-row:hover::before{
transform:scaleY(1);
}

.show-row:hover::after{
opacity:1;
}

.show-row>*:not(.show-hover-title){
position:relative;
z-index:4;
}

.show-index{
font-size:8px;
font-weight:600;
letter-spacing:.16em;
color:rgba(255,255,255,.25);
}

.show-row:hover .show-index{
color:var(--red);
}

.show-date{
display:flex;
align-items:flex-end;
gap:10px;
}

.show-date strong{
font-size:64px;
font-weight:500;
line-height:.8;
letter-spacing:-.07em;
}

.show-date span{
padding-bottom:5px;
font-size:9px;
font-weight:600;
letter-spacing:.18em;
color:var(--red);
}

.show-main>span{
display:block;
margin-bottom:8px;
font-size:8px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.32);
}

.show-main h3{
font-size:25px;
font-weight:500;
letter-spacing:-.035em;
text-transform:uppercase;
transition:transform .35s ease;
}

.show-row:hover .show-main h3{
transform:translateX(5px);
}

.show-location{
display:flex;
align-items:center;
gap:13px;
}

.show-location>i{
font-size:12px;
color:var(--red);
}

.show-location div{
display:flex;
flex-direction:column;
gap:5px;
}

.show-location span{
font-size:7px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.28);
}

.show-location strong{
font-size:10px;
font-weight:500;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(255,255,255,.65);
}

.show-status{
display:flex;
align-items:center;
gap:9px;
}

.show-status>span{
width:6px;
height:6px;
border-radius:50%;
background:var(--red);
box-shadow:0 0 12px rgba(227,18,32,.7);
animation:showStatusPulse 1.7s ease-in-out infinite;
}

.show-status p{
font-size:8px;
font-weight:600;
letter-spacing:.16em;
text-transform:uppercase;
color:rgba(255,255,255,.42);
}

.show-button{
height:43px;
padding:0 15px;
border:1px solid rgba(255,255,255,.16);
display:flex;
align-items:center;
justify-content:space-between;
gap:17px;
font-size:8px;
font-weight:600;
letter-spacing:.13em;
text-transform:uppercase;
transition:background .3s ease,border-color .3s ease;
}

.show-button i{
font-size:10px;
transition:transform .3s ease;
}

.show-button:hover{
background:var(--red);
border-color:var(--red);
}

.show-button:hover i{
transform:translate(3px,-3px);
}

.show-hover-title{
position:absolute;
right:8%;
top:50%;
z-index:1;
transform:translateY(-45%);
font-size:120px;
font-weight:700;
line-height:1;
letter-spacing:-.08em;
color:transparent;
-webkit-text-stroke:1px rgba(255,255,255,.04);
opacity:0;
transition:opacity .4s ease,transform .65s cubic-bezier(.16,1,.3,1);
pointer-events:none;
}

.show-row:hover .show-hover-title{
opacity:1;
transform:translate(-25px,-45%);
}

.shows-booking{
min-height:360px;
display:grid;
grid-template-columns:1.2fr .8fr;
align-items:center;
gap:80px;
border-bottom:1px solid rgba(255,255,255,.1);
}

.shows-booking-label{
display:flex;
align-items:center;
gap:9px;
margin-bottom:26px;
font-size:8px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.38);
}

.shows-booking-label i{
font-size:6px;
color:var(--red);
animation:showStatusPulse 1.7s ease-in-out infinite;
}

.shows-booking h3{
font-size:clamp(45px,5vw,82px);
font-weight:500;
line-height:.95;
letter-spacing:-.055em;
text-transform:uppercase;
}

.shows-booking h3 span{
color:rgba(255,255,255,.25);
}

.shows-booking-right{
max-width:460px;
}

.shows-booking-right p{
font-size:14px;
line-height:1.9;
color:rgba(255,255,255,.46);
}

.shows-booking-button{
margin-top:32px;
height:54px;
padding:0 20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:35px;
width:max-content;
min-width:220px;
background:var(--red);
font-size:9px;
font-weight:600;
letter-spacing:.14em;
text-transform:uppercase;
transition:background .3s ease,transform .3s ease;
}

.shows-booking-button i{
font-size:11px;
transition:transform .3s ease;
}

.shows-booking-button:hover{
background:#f11928;
transform:translateY(-3px);
}

.shows-booking-button:hover i{
transform:translateX(4px);
}

.shows-marquee{
width:calc(100% + 8vw);
margin-left:-4vw;
overflow:hidden;
}

.shows-marquee-track{
width:max-content;
height:95px;
display:flex;
align-items:center;
gap:38px;
animation:showsMarquee 30s linear infinite;
}

.shows-marquee-track span{
font-size:clamp(21px,2vw,34px);
font-weight:500;
letter-spacing:-.025em;
text-transform:uppercase;
color:rgba(255,255,255,.1);
}

.shows-marquee-track i{
font-size:8px;
color:var(--red);
}

@keyframes showStatusPulse{
0%,100%{
opacity:.4;
transform:scale(.8);
}

50%{
opacity:1;
transform:scale(1.2);
}
}

@keyframes showsMarquee{
from{
transform:translateX(0);
}

to{
transform:translateX(-50%);
}
}

@media(max-width:1150px){
.shows-section{
padding-left:24px;
padding-right:24px;
}

.shows-header{
grid-template-columns:1fr;
gap:30px;
}

.show-row{
grid-template-columns:45px 105px 1fr 1fr 100px;
}

.show-status{
display:none;
}

.show-date strong{
font-size:52px;
}
}

@media(max-width:850px){
.show-row{
grid-template-columns:42px 85px 1fr 48px;
gap:15px;
min-height:145px;
}

.show-location,
.show-status{
display:none;
}

.show-button{
width:42px;
height:42px;
padding:0;
border-radius:50%;
justify-content:center;
}

.show-button span{
display:none;
}

.shows-booking{
grid-template-columns:1fr;
gap:35px;
padding:70px 0;
}
}

@media(max-width:767px){
.shows-section{
padding:90px 20px 0;
}

.shows-header{
margin-bottom:45px;
}

.shows-heading h2{
font-size:15vw;
}

.shows-board-head{
height:58px;
}

.shows-board-head span:nth-child(2){
display:none;
}

.shows-board-head{
grid-template-columns:1fr 1fr;
}

.show-row{
min-height:130px;
grid-template-columns:30px 66px 1fr 40px;
gap:12px;
}

.show-row:hover{
padding-left:8px;
}

.show-date{
gap:6px;
}

.show-date strong{
font-size:38px;
}

.show-date span{
font-size:7px;
}

.show-main>span{
font-size:6px;
}

.show-main h3{
font-size:17px;
}

.show-hover-title{
font-size:70px;
right:0;
}

.shows-booking{
min-height:0;
padding:65px 0;
}

.shows-booking h3{
font-size:12vw;
}

.shows-booking-right p{
font-size:13px;
}

.shows-marquee{
width:calc(100% + 40px);
margin-left:-20px;
}

.shows-marquee-track{
height:78px;
gap:28px;
}
}

.contact-section{
position:relative;
background:#050505;
padding:150px 4vw;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.contact-section::before{
content:"";
position:absolute;
width:600px;
height:600px;
right:-250px;
top:10%;
border-radius:50%;
background:rgba(227,18,32,.08);
filter:blur(140px);
pointer-events:none;
}

.contact-shell{
position:relative;
z-index:2;
max-width:1500px;
margin:auto;
}

.contact-top{
display:grid;
grid-template-columns:30% 70%;
align-items:start;
margin-bottom:75px;
}

.contact-kicker{
display:flex;
align-items:center;
gap:13px;
padding-top:14px;
font-size:8px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.38);
}

.contact-kicker span:first-child{
color:var(--red);
}

.contact-kicker i{
display:block;
width:42px;
height:1px;
background:rgba(255,255,255,.2);
}

.contact-title>span{
display:block;
margin-bottom:20px;
font-size:9px;
font-weight:600;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--red);
}

.contact-title h2{
font-size:clamp(76px,9vw,150px);
font-weight:600;
line-height:.78;
letter-spacing:-.08em;
text-transform:uppercase;
}

.contact-title-mask{
display:block;
overflow:hidden;
padding-bottom:.08em;
}

.contact-title-mask>span{
display:block;
}

.contact-panel{
position:relative;
display:grid;
grid-template-columns:.75fr 1.25fr;
border-top:1px solid rgba(255,255,255,.12);
border-bottom:1px solid rgba(255,255,255,.12);
min-height:650px;
}

.contact-panel-left{
position:relative;
padding:55px 55px 50px 0;
display:flex;
flex-direction:column;
border-right:1px solid rgba(255,255,255,.1);
}

.contact-panel-left::before{
content:"";
position:absolute;
left:0;
top:0;
width:2px;
height:80px;
background:var(--red);
}

.contact-categories{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.contact-categories span{
padding:9px 13px;
border:1px solid rgba(255,255,255,.12);
font-size:7px;
font-weight:600;
letter-spacing:.16em;
text-transform:uppercase;
color:rgba(255,255,255,.48);
transition:border-color .3s ease,color .3s ease,background .3s ease;
}

.contact-categories span:hover{
border-color:rgba(227,18,32,.5);
background:rgba(227,18,32,.08);
color:#fff;
}

.contact-panel-message{
margin-top:80px;
max-width:360px;
}

.contact-panel-message p{
font-size:clamp(25px,2.4vw,38px);
font-weight:500;
line-height:1.22;
letter-spacing:-.035em;
color:rgba(255,255,255,.88);
}

.contact-direct{
margin-top:auto;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:12px;
}

.contact-direct>span{
font-size:7px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.3);
}

.contact-direct a{
display:flex;
align-items:center;
gap:14px;
font-size:12px;
color:rgba(255,255,255,.72);
transition:color .3s ease;
}

.contact-direct a i{
font-size:10px;
color:var(--red);
transition:transform .3s ease;
}

.contact-direct a:hover{
color:#fff;
}

.contact-direct a:hover i{
transform:translate(3px,-3px);
}

.contact-panel-right{
padding:55px 0 50px 70px;
}

.contact-form{
width:100%;
}

.contact-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:42px;
}

.contact-field{
margin-bottom:38px;
}

.contact-field label{
display:block;
margin-bottom:14px;
font-size:7px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:rgba(255,255,255,.32);
transition:color .3s ease;
}

.contact-input-wrap,
.contact-select-wrap{
position:relative;
border-bottom:1px solid rgba(255,255,255,.16);
}

.contact-field input,
.contact-field select,
.contact-field textarea{
width:100%;
border:0;
outline:0;
background:transparent;
color:#fff;
font-family:var(--font);
font-size:16px;
font-weight:400;
}

.contact-field input{
height:50px;
}

.contact-field textarea{
height:135px;
padding-top:10px;
resize:none;
line-height:1.7;
}

.contact-field select{
height:54px;
appearance:none;
-webkit-appearance:none;
cursor:pointer;
padding-right:35px;
}

.contact-field select option{
background:#0a0a0a;
color:#fff;
}

.contact-select-wrap>i{
position:absolute;
right:3px;
top:50%;
transform:translateY(-50%);
font-size:9px;
color:rgba(255,255,255,.4);
pointer-events:none;
}

.contact-field-line{
position:absolute;
left:0;
bottom:-1px;
width:100%;
height:1px;
background:var(--red);
transform:scaleX(0);
transform-origin:right;
transition:transform .45s cubic-bezier(.16,1,.3,1);
}

.contact-field:focus-within label{
color:var(--red);
}

.contact-field:focus-within .contact-field-line{
transform:scaleX(1);
transform-origin:left;
}

.contact-form-bottom{
margin-top:12px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}

.contact-submit{
height:58px;
min-width:210px;
padding:0 8px 0 22px;
border:0;
background:var(--red);
color:#fff;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
font-family:var(--font);
font-size:9px;
font-weight:600;
letter-spacing:.15em;
text-transform:uppercase;
cursor:pointer;
transition:background .3s ease,transform .3s ease;
}

.contact-submit-icon{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.13);
}

.contact-submit-icon i{
font-size:10px;
transition:transform .3s ease;
}

.contact-submit:hover{
background:#f11928;
transform:translateY(-3px);
}

.contact-submit:hover .contact-submit-icon i{
transform:translateX(4px);
}

.contact-form-note{
font-size:8px;
letter-spacing:.13em;
text-transform:uppercase;
color:rgba(255,255,255,.25);
}

.contact-panel-number{
position:absolute;
right:-5px;
bottom:-34px;
font-size:150px;
font-weight:600;
line-height:1;
letter-spacing:-.08em;
color:transparent;
-webkit-text-stroke:1px rgba(255,255,255,.035);
pointer-events:none;
}

@media(max-width:1050px){
.contact-section{
padding:120px 24px;
}

.contact-top{
grid-template-columns:1fr;
gap:30px;
}

.contact-panel{
grid-template-columns:1fr;
}

.contact-panel-left{
min-height:350px;
padding:45px 0;
border-right:0;
border-bottom:1px solid rgba(255,255,255,.1);
}

.contact-panel-message{
margin-top:55px;
}

.contact-panel-right{
padding:55px 0;
}
}

@media(max-width:767px){
.contact-section{
padding:90px 20px;
}

.contact-top{
margin-bottom:50px;
}

.contact-title h2{
font-size:16vw;
}

.contact-panel-left{
min-height:310px;
}

.contact-panel-message{
margin-top:45px;
}

.contact-panel-message p{
font-size:27px;
}

.contact-categories{
gap:7px;
}

.contact-categories span{
padding:8px 10px;
font-size:6px;
}

.contact-panel-right{
padding:45px 0;
}

.contact-row{
grid-template-columns:1fr;
gap:0;
}

.contact-field{
margin-bottom:30px;
}

.contact-field input,
.contact-field select,
.contact-field textarea{
font-size:14px;
}

.contact-field textarea{
height:120px;
}

.contact-form-bottom{
align-items:flex-start;
flex-direction:column;
}

.contact-submit{
width:100%;
}

.contact-form-note{
font-size:7px;
}

.contact-panel-number{
font-size:100px;
bottom:-22px;
}
}

.social-section{
position:relative;
background:#080808;
padding:145px 4vw 0;
overflow:hidden;
border-top:1px solid rgba(255,255,255,.07);
}

.social-container{
position:relative;
z-index:2;
max-width:1500px;
margin:auto;
}

.social-header{
display:grid;
grid-template-columns:30% 70%;
align-items:start;
margin-bottom:75px;
}

.social-heading>span{
display:block;
margin-bottom:20px;
font-size:9px;
font-weight:600;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--red);
}

.social-heading h2{
font-size:clamp(72px,8.5vw,145px);
font-weight:600;
line-height:.8;
letter-spacing:-.075em;
text-transform:uppercase;
}

.social-title-line{
display:block;
overflow:hidden;
padding-bottom:.08em;
}

.social-title-line>span{
display:block;
}

.social-list{
border-top:1px solid rgba(255,255,255,.12);
}

.social-item{
position:relative;
min-height:125px;
display:grid;
grid-template-columns:60px 70px 1fr 130px 55px;
align-items:center;
gap:20px;
border-bottom:1px solid rgba(255,255,255,.1);
overflow:hidden;
transition:padding .45s cubic-bezier(.16,1,.3,1),background .4s ease;
}

.social-item::before{
content:"";
position:absolute;
left:0;
top:0;
width:3px;
height:100%;
background:var(--red);
transform:scaleY(0);
transform-origin:bottom;
transition:transform .45s cubic-bezier(.16,1,.3,1);
z-index:3;
}

.social-item::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(227,18,32,.12),rgba(227,18,32,.025) 48%,transparent 75%);
opacity:0;
transition:opacity .4s ease;
}

.social-item:hover{
padding-left:18px;
background:#0c0c0c;
}

.social-item:hover::before{
transform:scaleY(1);
}

.social-item:hover::after{
opacity:1;
}

.social-item>*:not(.social-hover-text){
position:relative;
z-index:4;
}

.social-index{
font-size:8px;
font-weight:600;
letter-spacing:.17em;
color:rgba(255,255,255,.25);
transition:color .3s ease;
}

.social-item:hover .social-index{
color:var(--red);
}

.social-icon{
width:52px;
height:52px;
border:1px solid rgba(255,255,255,.13);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:17px;
color:rgba(255,255,255,.72);
transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease;
}

.social-item:hover .social-icon{
background:var(--red);
border-color:var(--red);
color:#fff;
transform:scale(1.08);
}

.social-name>span{
display:block;
margin-bottom:7px;
font-size:7px;
font-weight:600;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.3);
}

.social-name h3{
font-size:clamp(22px,2.2vw,34px);
font-weight:500;
letter-spacing:-.035em;
}

.social-label{
font-size:8px;
font-weight:600;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.35);
}

.social-arrow{
width:43px;
height:43px;
border:1px solid rgba(255,255,255,.14);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:10px;
transition:background .35s ease,border-color .35s ease,transform .35s ease;
}

.social-item:hover .social-arrow{
background:var(--red);
border-color:var(--red);
transform:rotate(7deg) scale(1.08);
}

.social-hover-text{
position:absolute;
right:9%;
top:50%;
z-index:1;
font-size:105px;
font-weight:700;
line-height:1;
letter-spacing:-.07em;
color:transparent;
-webkit-text-stroke:1px rgba(255,255,255,.035);
transform:translate(25px,-50%);
opacity:0;
pointer-events:none;
transition:opacity .4s ease,transform .65s cubic-bezier(.16,1,.3,1);
}

.social-item:hover .social-hover-text{
opacity:1;
transform:translate(0,-50%);
}

.social-bottom{
min-height:145px;
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
}

.social-bottom-label{
display:flex;
align-items:center;
gap:14px;
}

.social-bottom-label>span{
width:36px;
height:2px;
background:var(--red);
}

.social-bottom-label p{
font-size:8px;
font-weight:600;
letter-spacing:.17em;
text-transform:uppercase;
color:rgba(255,255,255,.32);
}

.social-back-top{
display:flex;
align-items:center;
gap:16px;
font-size:8px;
font-weight:600;
letter-spacing:.17em;
text-transform:uppercase;
}

.social-back-top>span:last-child{
width:44px;
height:44px;
border:1px solid rgba(255,255,255,.16);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:9px;
transition:background .35s ease,border-color .35s ease,transform .35s ease;
}

.social-back-top:hover>span:last-child{
background:var(--red);
border-color:var(--red);
transform:translateY(-4px);
}

.social-marquee{
width:calc(100% + 8vw);
margin-left:-4vw;
border-top:1px solid rgba(255,255,255,.08);
overflow:hidden;
}

.social-marquee-track{
height:95px;
width:max-content;
display:flex;
align-items:center;
gap:38px;
animation:socialMarquee 30s linear infinite;
}

.social-marquee-track span{
font-size:clamp(20px,2vw,34px);
font-weight:500;
letter-spacing:-.025em;
text-transform:uppercase;
color:rgba(255,255,255,.1);
}

.social-marquee-track i{
font-size:8px;
color:var(--red);
}

@keyframes socialMarquee{
from{
transform:translateX(0);
}

to{
transform:translateX(-50%);
}
}

@media(max-width:1000px){
.social-section{
padding-left:24px;
padding-right:24px;
}

.social-header{
grid-template-columns:1fr;
gap:30px;
}

.social-item{
grid-template-columns:45px 60px 1fr 90px 45px;
}
}

@media(max-width:767px){
.social-section{
padding:90px 20px 0;
}

.social-header{
margin-bottom:45px;
}

.social-heading h2{
font-size:15vw;
}

.social-item{
min-height:110px;
grid-template-columns:48px 1fr 42px;
gap:15px;
}

.social-index,
.social-label{
display:none;
}

.social-icon{
width:46px;
height:46px;
font-size:15px;
}

.social-name h3{
font-size:20px;
}

.social-hover-text{
font-size:65px;
right:0;
}

.social-bottom{
min-height:130px;
align-items:flex-start;
flex-direction:column;
justify-content:center;
gap:25px;
}

.social-bottom-label p{
font-size:7px;
}

.social-marquee{
width:calc(100% + 40px);
margin-left:-20px;
}

.social-marquee-track{
height:78px;
gap:28px;
}
}

.footer{
background:#050505;
padding:70px 4vw 45px;
border-top:1px solid rgba(255,255,255,.1);
}

.footer-inner{
max-width:1500px;
margin:auto;
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:end;
gap:60px;
}

.footer-brand{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:18px;
}

.footer-logo{
width:125px;
display:block;
}

.footer-logo img{
width:100%;
height:auto;
object-fit:contain;
}

.footer-brand p{
font-size:12px;
font-weight:500;
letter-spacing:.08em;
color:rgba(255,255,255,.65);
}

.footer-links{
display:flex;
flex-direction:column;
align-items:center;
gap:12px;
}

.footer-links-row{
display:flex;
align-items:center;
justify-content:center;
gap:25px;
}

.footer-links a{
position:relative;
font-size:10px;
font-weight:500;
letter-spacing:.11em;
text-transform:uppercase;
color:rgba(255,255,255,.55);
transition:color .3s ease;
}

.footer-links a::after{
content:"";
position:absolute;
left:0;
bottom:-5px;
width:100%;
height:1px;
background:var(--red);
transform:scaleX(0);
transform-origin:right;
transition:transform .35s ease;
}

.footer-links a:hover{
color:#fff;
}

.footer-links a:hover::after{
transform:scaleX(1);
transform-origin:left;
}

.footer-copy{
justify-self:end;
text-align:right;
}

.footer-copy p{
margin-bottom:5px;
font-size:9px;
line-height:1.5;
letter-spacing:.08em;
color:rgba(255,255,255,.32);
}

.footer-copy p:last-child{
margin-bottom:0;
}

.footer-copy a{
color:rgba(255,255,255,.7);
transition:color .3s ease;
}

.footer-copy a:hover{
color:var(--red);
}

@media(max-width:850px){
.footer-inner{
grid-template-columns:1fr 1fr;
}

.footer-links{
align-items:flex-end;
}

.footer-copy{
grid-column:1/-1;
justify-self:start;
text-align:left;
padding-top:25px;
border-top:1px solid rgba(255,255,255,.08);
width:100%;
}
}

@media(max-width:600px){
.footer{
padding:55px 20px 35px;
}

.footer-inner{
grid-template-columns:1fr;
gap:35px;
}

.footer-links{
align-items:flex-start;
}

.footer-links-row{
justify-content:flex-start;
flex-wrap:wrap;
gap:14px 22px;
}

.footer-copy{
grid-column:auto;
padding-top:25px;
}

.footer-logo{
width:105px;
}
}