:root {
  --black: #060607;
  --ink: #101012;
  --white: #f4f3ef;
  --gray: #9d9d9a;
  --hairline: rgba(244, 243, 239, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; background: var(--black); color: var(--white); font-family: Arial, Helvetica, sans-serif; letter-spacing: -0.035em; }
a { color: inherit; text-decoration: none; }
@keyframes clickable-signal {
  0%, 100% { filter: none; text-shadow: none; }
  28% { filter: brightness(1.24) drop-shadow(-2px 0 4px rgba(88,205,255,.44)); text-shadow: 2px 0 rgba(255,61,74,.42); }
  55% { filter: brightness(1.08) drop-shadow(2px 0 4px rgba(255,61,74,.32)); text-shadow: -1px 0 rgba(88,205,255,.45); }
}
a:hover, a:focus-visible, button:hover, button:focus-visible { animation: clickable-signal .5s cubic-bezier(.2,.75,.2,1); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.loader { position: fixed; z-index: 20; inset: 0; display: grid; place-items: start center; padding-top: 36px; background: #000; transition: opacity .55s ease, visibility .55s ease; }
.loader span { font-size: 17px; font-weight: 800; letter-spacing: -.075em; text-transform: uppercase; }
body.is-ready .loader { visibility: hidden; opacity: 0; }

.site-header { position: absolute; z-index: 5; top: 0; right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; padding: 31px clamp(23px, 4.6vw, 76px); }
.wordmark { display: inline-flex; align-items: center; color: var(--white); }
.site-logo { display: block; width: clamp(108px, 8vw, 136px); height: clamp(108px, 8vw, 136px); object-fit: contain; object-position: left center; }
.navigation { display: flex; align-items: center; gap: 31px; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.navigation a { position: relative; display: inline-flex; align-items: center; min-height: 30px; color: rgba(244,243,239,.72); transition: color .25s ease, letter-spacing .45s cubic-bezier(.2,.75,.2,1); }
.navigation a::before { content: ""; position: absolute; top: 50%; left: -12px; width: 4px; height: 4px; border-radius: 50%; background: #e9f8ff; opacity: 0; transform: translate(-7px, -50%) scale(.2); box-shadow: 0 0 7px rgba(114,211,255,.95), 0 0 16px rgba(114,211,255,.55); transition: opacity .25s ease, transform .45s cubic-bezier(.2,.85,.2,1); }
.navigation a::after { content: ""; position: absolute; right: 0; bottom: 1px; left: 0; height: 1px; background: linear-gradient(90deg, transparent, #e6f8ff 18%, #fff 82%, transparent); transform: scaleX(0); transform-origin: right center; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.navigation a:hover, .navigation a:focus-visible { color: var(--white); letter-spacing: .18em; outline: none; animation: nav-signal .58s cubic-bezier(.2,.75,.2,1); }
.navigation a:hover::before, .navigation a:focus-visible::before { opacity: 1; transform: translate(0, -50%) scale(1); }
.navigation a:hover::after, .navigation a:focus-visible::after { transform: scaleX(1); transform-origin: left center; }
.navigation .nav-book { isolation: isolate; justify-content: center; min-width: 108px; min-height: 42px; overflow: hidden; padding: 0 16px; border: 1px solid rgba(244,243,239,.78); background: #f4f3ef; color: #070708; letter-spacing: .14em; }
.navigation .nav-book span { position: relative; z-index: 2; }
.navigation .nav-book::before { content: ""; position: absolute; z-index: 0; inset: 0; width: auto; height: auto; border-radius: 0; background: linear-gradient(105deg, transparent 24%, rgba(116,210,255,.48) 48%, transparent 72%); opacity: 1; transform: translateX(-130%); box-shadow: none; animation: book-sweep 3.4s cubic-bezier(.2,.75,.2,1) infinite; }
.navigation .nav-book::after { content: ""; position: absolute; z-index: 1; inset: 4px; width: auto; height: auto; border: 1px solid rgba(7,7,8,.3); background: transparent; opacity: .48; transform: none; animation: book-frame 2.4s ease-in-out infinite; }
.navigation .nav-book:hover, .navigation .nav-book:focus-visible { color: #070708; background: #fff; letter-spacing: .19em; }
@keyframes nav-signal {
  0%, 100% { text-shadow: none; transform: translateY(0); }
  32% { text-shadow: -2px 0 rgba(88,205,255,.8), 2px 0 rgba(255,61,74,.64); transform: translateY(-2px); }
  58% { text-shadow: 1px 0 rgba(88,205,255,.45), -1px 0 rgba(255,61,74,.4); transform: translateY(0); }
}
@keyframes book-sweep { 0%, 24% { transform: translateX(-130%); } 62%, 100% { transform: translateX(130%); } }
@keyframes book-frame { 0%, 100% { opacity: .28; } 50% { opacity: .68; } }
.menu-button { display: none; }

.hero { position: relative; min-height: 740px; height: 100svh; overflow: hidden; background: #030305; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) brightness(.74) contrast(1.05); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.79), transparent 45%, rgba(0,0,0,.34)), linear-gradient(90deg, rgba(0,0,0,.3), transparent 48%); }
.hero-caption { position: absolute; bottom: 36px; left: clamp(23px, 4.6vw, 76px); display: flex; flex-direction: column; gap: 6px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero-caption p { margin: 0; }
.hero-caption span { color: rgba(244,243,239,.6); }
.hero-scroll { position: absolute; right: clamp(23px, 4.6vw, 76px); bottom: 36px; display: inline-flex; gap: 20px; align-items: center; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero-scroll b { font-size: 16px; font-weight: 400; }

.section { padding: clamp(100px, 13vw, 192px) clamp(23px, 9.2vw, 154px); }
.section-label { margin: 0; color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.story { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 36px; min-height: 740px; overflow: hidden; background: #060607; }
.story-motion { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; mix-blend-mode: normal; filter: saturate(.9) brightness(.76) contrast(1.08); }
.story::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(6,6,7,.97) 0%, rgba(6,6,7,.84) 32%, rgba(6,6,7,.29) 60%, rgba(6,6,7,.14) 100%), linear-gradient(0deg, rgba(6,6,7,.94) 0%, rgba(6,6,7,.17) 59%, rgba(6,6,7,.16) 100%); }
.story .section-intro, .story .story-copy { position: relative; z-index: 2; }
.story h1, h2 { margin: 36px 0 0; font-size: clamp(40px, 5vw, 78px); font-weight: 600; line-height: .86; letter-spacing: -.07em; text-transform: uppercase; }
.story-copy { max-width: 370px; padding-bottom: 0; }
.story-copy p { margin: 0 0 34px; font-size: clamp(19px, 2vw, 29px); font-weight: 500; line-height: 1.06; letter-spacing: -.06em; }
.inline-link { display: inline-flex; gap: 22px; align-items: center; border-bottom: 1px solid var(--white); padding-bottom: 9px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.inline-link span { font-size: 16px; line-height: .4; }

.achievement-banner { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; padding: 0 clamp(23px, 4.6vw, 76px); border-top: 1px solid rgba(244,243,239,.14); border-bottom: 1px solid rgba(244,243,239,.14); background: linear-gradient(110deg, #070708, #090a0c 52%, #070708); }
.achievement-banner::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -28%; width: 20%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(139,220,255,.045), transparent); transform: skewX(-18deg); animation: achievement-scan 10s ease-in-out infinite; }
.achievement-item { position: relative; min-height: 132px; padding: 23px clamp(16px, 2.2vw, 34px) 21px; border-left: 1px solid rgba(244,243,239,.09); transition: opacity .75s ease, transform .75s ease, background .35s ease; }
.achievement-item:last-child { border-right: 1px solid rgba(244,243,239,.12); }
.achievement-item:nth-child(2) { transition-delay: .08s; }
.achievement-item:nth-child(3) { transition-delay: .16s; }
.achievement-item:nth-child(4) { transition-delay: .24s; }
.achievement-item:hover { background: linear-gradient(180deg, rgba(109,201,244,.035), transparent); }
.achievement-item > span { display: block; margin-bottom: 15px; color: rgba(244,243,239,.3); font-size: 7px; font-weight: 700; letter-spacing: .18em; }
.achievement-item strong { display: block; margin-bottom: 8px; font-size: clamp(21px, 1.9vw, 30px); font-weight: 600; line-height: .94; letter-spacing: -.055em; text-transform: uppercase; }
.achievement-item p { max-width: 245px; margin: 0; color: rgba(157,157,154,.78); font-size: 8px; font-weight: 700; line-height: 1.35; letter-spacing: .09em; text-transform: uppercase; }
@keyframes achievement-scan { 0%, 18% { left: -28%; opacity: 0; } 38% { opacity: 1; } 68%, 100% { left: 112%; opacity: 0; } }

.live-reel { position: relative; overflow: hidden; padding: clamp(105px, 11vw, 165px) clamp(23px, 4.6vw, 76px) clamp(115px, 13vw, 190px); border-bottom: 1px solid rgba(244,243,239,.12); background: radial-gradient(circle at 73% 18%, rgba(56,139,178,.1), transparent 27%), #050506; }
.live-reel::before { content: ""; position: absolute; top: 0; right: clamp(23px, 4.6vw, 76px); left: clamp(23px, 4.6vw, 76px); height: 1px; background: linear-gradient(90deg, transparent, rgba(216,239,249,.26), transparent); }
.live-reel-header { display: grid; grid-template-columns: .5fr 1fr 1fr; gap: clamp(28px, 5vw, 90px); align-items: end; margin-bottom: clamp(42px, 6vw, 78px); }
.live-reel-header h2 { margin: 0; }
.live-reel-header > p:last-child { max-width: 330px; justify-self: end; margin: 0; color: rgba(244,243,239,.7); font-size: clamp(15px, 1.5vw, 20px); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; }
.live-reel-frame { position: relative; width: min(100%, 1180px); margin-inline: auto; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(224,241,249,.2); background: #000; box-shadow: 0 38px 110px rgba(0,0,0,.56), 0 0 55px rgba(67,157,199,.07); }
.live-reel-frame::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(0,0,0,.62), transparent 48%), linear-gradient(90deg, rgba(0,0,0,.3), transparent 55%); transition: opacity .45s ease; }
.live-reel-frame::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; box-shadow: inset 0 0 90px rgba(0,0,0,.3); }
.live-reel-frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; filter: saturate(.82) brightness(.82) contrast(1.06); transition: filter .45s ease; }
.live-reel-watch { position: absolute; z-index: 3; bottom: clamp(22px, 3.5vw, 52px); left: clamp(22px, 3.5vw, 52px); display: flex; gap: 17px; align-items: center; padding: 0; border: 0; background: transparent; color: var(--white); cursor: pointer; text-align: left; transition: opacity .35s ease, transform .35s ease; }
.live-reel-watch i { display: grid; width: 54px; height: 54px; place-items: center; padding-left: 3px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(4,4,5,.2); font-size: 13px; font-style: normal; backdrop-filter: blur(8px); transition: background .25s ease, border-color .25s ease; }
.live-reel-watch:hover i, .live-reel-watch:focus-visible i { border-color: #fff; background: rgba(255,255,255,.16); }
.live-reel-watch span { display: flex; flex-direction: column; gap: 6px; }
.live-reel-watch b { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.live-reel-watch small { color: rgba(244,243,239,.55); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.live-reel-frame.is-full::before { opacity: 0; }
.live-reel-frame.is-full video { filter: none; }
.live-reel-frame.is-full .live-reel-watch { pointer-events: none; opacity: 0; transform: translateY(10px); }
.live-reel-tag { position: absolute; z-index: 2; top: 22px; right: 22px; padding: 9px 12px; border: 1px solid rgba(244,243,239,.3); background: rgba(4,4,5,.68); color: rgba(244,243,239,.72); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; backdrop-filter: blur(10px); }

.shows { position: relative; isolation: isolate; min-height: 860px; overflow: hidden; background: #07090b; }
.shows::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 72% 48%, rgba(38, 126, 176, .13), transparent 33%), linear-gradient(90deg, rgba(7,9,11,.98) 0%, rgba(7,9,11,.77) 54%, rgba(7,9,11,.93) 100%); }
.shows .section-heading, .shows .show-table, .shows .tour-actions { position: relative; z-index: 2; }
.shows .section-heading { margin-bottom: clamp(250px, 24vw, 345px); }
.tour-globe { --marker-x: 49%; --marker-y: 27%; --focus-x: -3deg; --focus-y: 8deg; --cursor-x: 0deg; --cursor-y: 0deg; position: absolute; z-index: 0; top: 49%; right: -5%; width: min(69vw, 850px); aspect-ratio: 1; perspective: 1200px; transform: translateY(-50%); opacity: .94; filter: drop-shadow(0 28px 70px rgba(0, 0, 0, .78)) drop-shadow(0 0 54px rgba(51, 148, 202, .18)); animation: globe-drift 9s ease-in-out infinite; }
.tour-globe::before { content: ""; position: absolute; z-index: 2; top: 46%; right: -6%; left: -6%; height: 10%; border: 1px solid rgba(121, 204, 244, .22); border-radius: 50%; transform: rotate(-11deg); box-shadow: 0 0 18px rgba(73, 174, 220, .08); animation: orbit-breathe 4s ease-in-out infinite; }
.earth-stage { position: absolute; inset: 2.5%; transform-style: preserve-3d; transform-origin: center; transition: transform .85s cubic-bezier(.2,.75,.2,1), filter .5s ease; animation: earth-idle 12s ease-in-out infinite; }
.earth-stage::after { content: ""; position: absolute; inset: 2.5%; pointer-events: none; border-radius: 50%; background: radial-gradient(circle at 32% 25%, rgba(51, 122, 157, .04) 0%, rgba(3, 8, 12, .08) 36%, rgba(2, 5, 8, .48) 72%, rgba(0, 0, 0, .88) 100%), linear-gradient(110deg, rgba(0,0,0,.12) 28%, rgba(0,5,9,.42) 68%, rgba(0,0,0,.8) 100%); box-shadow: inset -45px -24px 72px rgba(0,0,0,.75), inset 12px 8px 32px rgba(85,177,219,.06); transition: opacity .55s ease; }
.globe-earth { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; filter: brightness(.43) saturate(.52) contrast(1.18) hue-rotate(4deg); transition: filter .55s ease; }
.tour-globe.is-locating .earth-stage { animation: none; transform: rotateX(calc(var(--focus-x) + var(--cursor-x))) rotateY(calc(var(--focus-y) + var(--cursor-y))) scale(1.035); }
.tour-globe.is-locating .earth-stage::after { opacity: .82; }
.tour-globe.is-locating .globe-earth { filter: brightness(.58) saturate(.62) contrast(1.17) hue-rotate(4deg); }
.globe-marker { position: absolute; z-index: 4; left: var(--marker-x); top: var(--marker-y); width: 1px; height: 1px; opacity: .35; transform: translate(-50%, -50%) scale(.82); transition: left .8s cubic-bezier(.2,.75,.2,1), top .8s cubic-bezier(.2,.75,.2,1), opacity .35s ease, transform .45s ease; }
.tour-globe.is-locating .globe-marker { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.globe-marker-dot { position: absolute; top: -5px; left: -5px; width: 10px; height: 10px; border-radius: 50%; background: #e5f8ff; box-shadow: 0 0 12px #61ceff, 0 0 26px rgba(97,206,255,.7); }
.globe-marker-ring { position: absolute; top: -22px; left: -22px; width: 44px; height: 44px; border: 1px solid rgba(119,213,255,.8); border-radius: 50%; animation: marker-pulse 2.1s ease-out infinite; }
.globe-marker-line { position: absolute; top: 9px; left: 0; width: 1px; height: 56px; background: linear-gradient(rgba(145,220,255,.85), transparent); }
.globe-marker span { position: absolute; top: -8px; left: 19px; color: #e4f7ff; font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; text-shadow: 0 1px 10px #000; white-space: nowrap; }
@keyframes globe-drift { 0%, 100% { transform: translateY(-50%) rotate(-1.2deg); } 50% { transform: translateY(-52%) rotate(1.2deg); } }
@keyframes earth-idle { 0%, 100% { transform: rotateX(1deg) rotateY(-4deg) scale(1); } 50% { transform: rotateX(-2deg) rotateY(5deg) scale(1.015); } }
@keyframes orbit-breathe { 0%, 100% { opacity: .32; transform: rotate(-11deg) scaleX(.98); } 50% { opacity: .78; transform: rotate(-11deg) scaleX(1.03); } }
@keyframes marker-pulse { 0% { opacity: .85; transform: scale(.45); } 80%, 100% { opacity: 0; transform: scale(1.35); } }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: clamp(70px, 9vw, 130px); }
.section-heading h2 { margin: 0; }
.show-table { max-width: 780px; border-top: 1px solid rgba(203, 235, 250, .3); background: rgba(6, 8, 10, .62); backdrop-filter: blur(14px); }
.show { display: grid; grid-template-columns: 15% 1fr auto; gap: 20px; align-items: end; padding: 28px 0 30px; border-bottom: 1px solid var(--hairline); }
.show time, .show-status { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.show time { display: flex; flex-direction: column; gap: 7px; }
.show time b { color: var(--white); font-size: 12px; font-weight: 700; white-space: nowrap; }
.show strong { display: block; margin-bottom: 8px; font-size: clamp(22px, 2.7vw, 39px); font-weight: 500; line-height: .94; letter-spacing: -.05em; text-transform: uppercase; }
.show div span { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.show.muted { opacity: .48; }
.show-actions { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.ticket-button { display: inline-flex; align-items: center; justify-content: center; min-width: 118px; padding: 13px 16px; border: 1px solid rgba(217, 241, 251, .64); background: rgba(217, 241, 251, .06); color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.ticket-button:hover, .ticket-button:focus-visible { border-color: #d9f1fb; background: #d9f1fb; color: #061018; outline: none; transform: translateY(-2px); }
.show[data-globe-city] { cursor: crosshair; outline: none; transition: padding-left .25s ease, background .25s ease, border-color .25s ease; }
.show[data-globe-city]:hover, .show[data-globe-city]:focus-visible { padding-left: 14px; border-color: rgba(126, 211, 249, .55); background: linear-gradient(90deg, rgba(72, 165, 208, .1), transparent 72%); }
.tour-actions { display: flex; justify-content: flex-start; max-width: 780px; margin-top: 28px; }
.tour-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 38px; min-width: 205px; padding: 16px 18px; border: 1px solid rgba(193, 229, 246, .45); background: rgba(7, 12, 16, .72); color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.tour-button span { font-size: 17px; font-weight: 400; line-height: .6; }
.tour-button:hover { border-color: #c7efff; background: #c7efff; color: #061018; transform: translateY(-2px); }

.music { position: relative; overflow: hidden; padding: clamp(100px, 12vw, 170px) clamp(23px, 9.2vw, 154px); background: radial-gradient(circle at 82% 9%, rgba(33,69,93,.2), transparent 27%), #050506; }
.music::before { content: ""; position: absolute; top: 0; right: clamp(23px, 9.2vw, 154px); left: clamp(23px, 9.2vw, 154px); height: 1px; background: var(--hairline); }
.music-header { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: clamp(90px, 11vw, 155px); }
.music h2 { margin: 35px 0 0; font-size: clamp(40px, 5vw, 78px); font-weight: 600; line-height: .86; letter-spacing: -.07em; text-transform: uppercase; }
.artist-profile-link { display: inline-flex; gap: 14px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid rgba(244,243,239,.48); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.music-kicker { margin: 0; color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.featured-block { margin-bottom: clamp(115px, 14vw, 205px); }
.featured-release { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(420px, 1.3fr); gap: clamp(34px, 7vw, 110px); align-items: center; margin-top: 28px; padding: clamp(25px, 4vw, 58px); border: 1px solid rgba(196,225,239,.22); background: linear-gradient(120deg, rgba(18,32,41,.76), rgba(7,8,10,.9) 58%, rgba(24,50,65,.28)); box-shadow: 0 35px 90px rgba(0,0,0,.38); }
.featured-release-copy h3 { margin: 18px 0 9px; font-size: clamp(48px, 7vw, 100px); font-weight: 600; line-height: .8; letter-spacing: -.085em; text-transform: uppercase; }
.featured-release-copy p { margin: 0 0 45px; color: var(--gray); font-size: clamp(15px, 1.5vw, 20px); }
.release-year { color: rgba(198,229,243,.7); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.featured-release-copy a { display: inline-flex; gap: 16px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--white); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.spotify-featured, .release-card iframe { display: block; border: 0; border-radius: 12px; background: #121212; }
.recent-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.recent-heading > span { color: rgba(244,243,239,.44); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.release-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.release-card { min-width: 0; padding: clamp(18px, 2vw, 28px); border: 1px solid rgba(244,243,239,.14); background: rgba(14,15,17,.82); transition: border-color .3s ease, background .3s ease, transform .3s ease; }
.release-card:hover { border-color: rgba(169,220,245,.42); background: rgba(18,24,28,.92); transform: translateY(-3px); }
.release-card--priority { grid-column: span 2; padding: clamp(24px, 3.4vw, 48px); background: linear-gradient(115deg, rgba(19,33,42,.92), rgba(11,12,14,.94) 62%); }
.release-card-head { display: flex; align-items: start; justify-content: space-between; gap: 25px; min-height: 100px; margin-bottom: 22px; }
.release-card-head h3 { margin: 12px 0 6px; font-size: clamp(23px, 2.6vw, 38px); font-weight: 500; line-height: .9; letter-spacing: -.055em; text-transform: uppercase; }
.release-card-head p { margin: 0; color: var(--gray); font-size: 12px; letter-spacing: -.02em; }
.release-card--priority .release-card-head { min-height: 125px; }
.release-card--priority .release-card-head h3 { font-size: clamp(34px, 4.2vw, 64px); }
.release-label { flex: 0 0 auto; padding: 8px 10px; border: 1px solid rgba(193,228,245,.34); color: rgba(218,241,252,.78); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.music-destinations { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: clamp(65px, 8vw, 110px); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.music-destinations a { display: flex; align-items: center; justify-content: space-between; padding: 28px 2px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: color .25s ease, padding .25s ease; }
.music-destinations a:first-child { padding-right: 30px; border-right: 1px solid var(--hairline); }
.music-destinations a:last-child { padding-left: 30px; }
.music-destinations a:hover { color: #bfe9fc; padding-inline: 12px; }

.booking { min-height: 560px; display: flex; flex-direction: column; justify-content: space-between; border-top: 1px solid var(--hairline); }
.booking-row { display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px; align-items: end; }
.booking h2 { margin: 0; }
.booking-row p { max-width: 270px; margin: 0 0 9px; color: var(--gray); font-size: 18px; line-height: 1.22; }
.booking-contact { min-height: 650px; background: linear-gradient(125deg, rgba(16,28,36,.28), transparent 42%), #060607; }
.booking-contact-copy { max-width: 410px; }
.booking-contact-copy p { max-width: 340px; margin-bottom: 42px; }
.booking-kicker { display: block; margin-bottom: 13px; color: var(--gray); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.booking-email { display: inline-flex; gap: 18px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid rgba(244,243,239,.65); font-size: clamp(14px, 1.35vw, 18px); font-weight: 600; letter-spacing: -.025em; transition: color .25s ease, border-color .25s ease; }
.booking-email:hover { color: #bfe9fc; border-color: #bfe9fc; }
.press-download { margin-top: 36px; padding-top: 25px; border-top: 1px solid rgba(244,243,239,.14); }
.press-download-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 8px; border-bottom: 1px solid rgba(244,243,239,.42); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: color .25s ease, border-color .25s ease; }
.press-download-link:hover { color: #bfe9fc; border-color: #bfe9fc; }

.electric-pulse { position: relative; isolation: isolate; overflow: hidden; padding: clamp(100px, 12vw, 170px) clamp(23px, 9.2vw, 154px); background: radial-gradient(circle at 85% 20%, rgba(208, 17, 28, .14), transparent 27%), radial-gradient(circle at 15% 74%, rgba(121, 5, 14, .13), transparent 30%), #080405; }
.electric-pulse::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .17; background-image: linear-gradient(rgba(255,52,62,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,52,62,.09) 1px, transparent 1px); background-size: 78px 78px; mask-image: linear-gradient(90deg, transparent, #000 35%, #000 80%, transparent); }
.electric-pulse::after { content: ""; position: absolute; z-index: -1; top: 0; right: clamp(23px, 9.2vw, 154px); left: clamp(23px, 9.2vw, 154px); height: 1px; background: rgba(255,64,72,.33); box-shadow: 0 0 24px rgba(255,38,49,.16); }
.pulse-header { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(40px, 8vw, 130px); align-items: end; margin-bottom: clamp(58px, 8vw, 105px); }
.pulse-presenter { margin: 0 0 26px; color: #e95057; font-size: 10px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.pulse-header h2 { margin: 0; font-size: clamp(42px, 5.8vw, 88px); font-weight: 600; line-height: .82; letter-spacing: -.075em; text-transform: uppercase; }
.pulse-video { position: relative; width: min(100%, 1080px); margin-inline: auto; aspect-ratio: 16 / 9; border: 1px solid rgba(255,73,81,.33); background: #020202; box-shadow: 0 35px 100px rgba(0,0,0,.56), 0 0 55px rgba(177,12,23,.08); }
.pulse-video::before { content: ""; position: absolute; z-index: 1; inset: -1px; pointer-events: none; background: linear-gradient(90deg, rgba(222,25,36,.08), transparent 24%, transparent 76%, rgba(222,25,36,.08)); }
.pulse-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pulse-video-poster { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; overflow: hidden; padding: 0; border: 0; cursor: pointer; background: #080405; color: var(--white); transition: opacity .45s ease, visibility .45s ease; }
.pulse-video-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.63) brightness(.48) contrast(1.15); transition: filter .55s ease, transform 1.1s cubic-bezier(.2,.75,.2,1); }
.pulse-video-poster-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,3,4,.9) 0%, rgba(10,3,4,.22) 58%, rgba(10,3,4,.55) 100%), linear-gradient(0deg, rgba(5,2,2,.72), transparent 58%); }
.pulse-video-poster:hover img { filter: saturate(.8) brightness(.58) contrast(1.12); transform: scale(1.025); }
.pulse-play { position: absolute; bottom: clamp(28px, 5vw, 72px); left: clamp(28px, 5vw, 72px); display: grid; grid-template-columns: 58px auto; grid-template-rows: auto auto; column-gap: 22px; align-items: center; text-align: left; }
.pulse-play i { grid-row: 1 / 3; display: grid; width: 58px; height: 58px; place-items: center; padding-left: 3px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; font-size: 15px; font-style: normal; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.pulse-video-poster:hover .pulse-play i { border-color: #ef3944; background: #ef3944; }
.pulse-play b { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pulse-play small { margin-top: 7px; color: rgba(244,243,239,.58); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pulse-video.is-playing .pulse-video-poster { visibility: hidden; opacity: 0; }
.pulse-corner { position: absolute; z-index: 2; width: 34px; height: 34px; pointer-events: none; }
.pulse-corner--one { top: -8px; left: -8px; border-top: 2px solid #ef3340; border-left: 2px solid #ef3340; }
.pulse-corner--two { right: -8px; bottom: -8px; border-right: 2px solid #ef3340; border-bottom: 2px solid #ef3340; }
.pulse-footer { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(45px, 10vw, 165px); align-items: end; margin-top: clamp(42px, 6vw, 78px); }
.pulse-footer p { max-width: 710px; margin: 0; color: rgba(244,243,239,.78); font-size: clamp(18px, 2vw, 28px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.pulse-footer a { display: inline-flex; justify-self: end; gap: 18px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid #ef4a52; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: color .25s ease, border-color .25s ease; }
.pulse-footer a:hover { color: #ef676e; border-color: #ef676e; }
.pulse-graphics { position: absolute; z-index: -1; top: 22%; right: 3.5%; display: flex; gap: 7px; align-items: center; height: 120px; opacity: .21; transform: rotate(-7deg); }
.pulse-graphics span { display: block; width: 2px; height: 22%; background: #f12835; box-shadow: 0 0 12px rgba(241,40,53,.62); animation: pulse-bars 2.2s ease-in-out infinite; }
.pulse-graphics span:nth-child(2) { height: 47%; animation-delay: -.3s; }
.pulse-graphics span:nth-child(3) { height: 78%; animation-delay: -.6s; }
.pulse-graphics span:nth-child(4) { height: 100%; animation-delay: -.9s; }
.pulse-graphics span:nth-child(5) { height: 64%; animation-delay: -1.2s; }
.pulse-graphics span:nth-child(6) { height: 39%; animation-delay: -1.5s; }
.pulse-graphics span:nth-child(7) { height: 19%; animation-delay: -1.8s; }
@keyframes pulse-bars { 0%, 100% { transform: scaleY(.5); opacity: .42; } 50% { transform: scaleY(1); opacity: 1; } }

footer { display: flex; justify-content: space-between; padding: 25px clamp(23px, 4.6vw, 76px); border-top: 1px solid var(--hairline); color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
footer a { color: var(--white); }
.site-footer { align-items: center; gap: 35px; }
.social-links { display: flex; align-items: center; gap: 9px; }
.social-links a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(244,243,239,.2); color: rgba(244,243,239,.68); transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease; }
.social-links a:hover { border-color: var(--white); background: rgba(244,243,239,.07); color: var(--white); transform: translateY(-2px); }
.social-links img { display: block; width: 17px; height: 17px; opacity: .68; filter: invert(1); transition: opacity .25s ease, transform .25s ease; }
.social-links a:hover img { opacity: 1; transform: scale(1.08); }

.bio-page { min-height: 100vh; display: flex; flex-direction: column; }
.bio-header { position: relative; border-bottom: 1px solid var(--hairline); }
.back-link { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.bio-main { flex: 1; padding: clamp(104px, 13vw, 180px) clamp(23px, 9.2vw, 154px); }
.bio-hero { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(380px, 1.2fr); gap: clamp(45px, 7vw, 110px); align-items: center; margin-bottom: clamp(75px, 10vw, 150px); }
.bio-title { max-width: 930px; }
.bio-title h1 { margin: 35px 0 0; font-size: clamp(50px, 6.2vw, 88px); font-weight: 600; line-height: .78; letter-spacing: -.08em; text-transform: uppercase; }
.bio-portrait { position: relative; justify-self: end; width: 100%; max-width: 720px; margin: 0; overflow: hidden; border: 1px solid rgba(244,243,239,.14); background: #09090a; }
.bio-portrait::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(0,0,0,.46), transparent 34%), linear-gradient(90deg, rgba(0,0,0,.16), transparent 35%); }
.bio-portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 48%; filter: saturate(.72) brightness(.88) contrast(1.07); }
.bio-portrait figcaption { position: absolute; z-index: 1; right: 20px; bottom: 18px; color: rgba(244,243,239,.62); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.bio-copy { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(28px, 5vw, 90px); border-top: 1px solid var(--hairline); padding-top: 28px; }
.bio-copy p { margin: 0; color: rgba(244,243,239,.84); font-size: clamp(16px, 1.45vw, 21px); font-weight: 500; line-height: 1.16; letter-spacing: -.045em; }

.tour-page { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 83% 26%, rgba(38, 126, 176, .12), transparent 28%), #060708; }
.tour-page .site-header { position: relative; border-bottom: 1px solid var(--hairline); }
.tour-main { flex: 1; padding: clamp(100px, 12vw, 170px) clamp(23px, 9.2vw, 154px); }
.tour-title { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: clamp(90px, 11vw, 150px); }
.tour-title h1 { margin: 34px 0 0; font-size: clamp(48px, 7vw, 98px); font-weight: 600; line-height: .82; letter-spacing: -.08em; text-transform: uppercase; }
.tour-title > p { max-width: 270px; margin: 0; color: var(--gray); font-size: 15px; line-height: 1.3; }
.tour-page .show-table { max-width: none; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 720px) {
  .site-header { padding: 23px 21px; }
  .site-logo { width: 86px; height: 86px; }
  .menu-button { display: grid; z-index: 1; width: 42px; height: 42px; place-content: center; gap: 6px; padding: 0; color: var(--white); border: 1px solid rgba(244,243,239,.5); background: transparent; }
  .menu-button i { display: block; width: 15px; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-button[aria-expanded="true"] i:first-of-type { transform: translateY(3.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); }
  .navigation { position: absolute; top: 0; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 21px; padding: 123px 21px 29px; background: rgba(4,4,5,.98); border-bottom: 1px solid var(--hairline); }
  .navigation.is-open { display: flex; }
  .navigation a { font-size: 15px; color: var(--white); }
  .navigation .nav-book { width: 100%; min-height: 48px; color: #070708; }
  .hero { min-height: 700px; }
  .hero img { object-position: 57% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(0,0,0,.88), transparent 58%, rgba(0,0,0,.38)); }
  .hero-caption { bottom: 29px; left: 21px; }
  .hero-scroll { right: 21px; bottom: 29px; font-size: 0; }
  .hero-scroll b { font-size: 16px; }
  .section { padding: 90px 22px; }
  .story { display: flex; min-height: 690px; gap: 34px; padding: 86px 22px 65px; }
  .story-motion { inset: 0; width: 100%; height: 100%; opacity: 1; object-position: center; filter: saturate(.84) brightness(.66) contrast(1.08); }
  .story::before { background: linear-gradient(90deg, rgba(6,6,7,.94) 0%, rgba(6,6,7,.7) 55%, rgba(6,6,7,.22) 100%), linear-gradient(0deg, rgba(6,6,7,.96) 0%, rgba(6,6,7,.25) 62%, rgba(6,6,7,.2) 100%); }
  .story h1 { margin: 31px 0 0; font-size: clamp(46px, 11.5vw, 58px); }
  .story-copy { max-width: 300px; margin: 0; }
  .story-copy p { margin-bottom: 30px; }
  .achievement-banner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 18px; }
  .achievement-item { min-height: 132px; padding: 22px 10px 20px; border-right: 0; border-left: 1px solid rgba(244,243,239,.09); border-bottom: 1px solid rgba(244,243,239,.1); }
  .achievement-item:nth-child(odd) { border-left: 0; }
  .achievement-item:nth-child(n+3) { border-bottom: 0; }
  .achievement-item:last-child { border-right: 0; }
  .achievement-item > span { margin-bottom: 13px; }
  .achievement-item strong { font-size: clamp(22px, 7vw, 29px); }
  .achievement-item p { max-width: none; }
  .live-reel { padding: 84px 20px 96px; }
  .live-reel-header { display: block; margin-bottom: 36px; }
  .live-reel-header h2 { margin-top: 30px; font-size: clamp(46px, 11.5vw, 58px); }
  .live-reel-header > p:last-child { max-width: none; margin-top: 22px; }
  .live-reel-frame { aspect-ratio: 16 / 9; }
  .live-reel-watch { bottom: 15px; left: 15px; gap: 11px; }
  .live-reel-watch i { width: 42px; height: 42px; font-size: 11px; }
  .live-reel-watch small { display: none; }
  .live-reel-tag { top: 10px; right: 10px; padding: 7px 9px; font-size: 7px; }
  .section-heading { display: block; margin-bottom: 67px; }
  .section-heading h2 { margin-top: 39px; font-size: clamp(46px, 11.5vw, 58px); }
  .shows { min-height: 760px; padding-top: 88px; padding-bottom: 70px; }
  .shows .section-heading { margin-bottom: 330px; }
  .tour-globe { top: 52%; right: -45vw; width: 125vw; opacity: .78; }
  .show-table { width: 100%; backdrop-filter: blur(10px); }
  .show { grid-template-columns: 18% 1fr; align-items: start; }
  .show-status { grid-column: 2; }
  .show-actions { grid-column: 2; justify-content: space-between; margin-top: 4px; }
  .ticket-button { min-width: 126px; }
  .tour-actions { margin-top: 20px; }
  .tour-button { width: 100%; }
  .music { padding: 90px 22px; }
  .music::before { right: 22px; left: 22px; }
  .music-header { display: block; margin-bottom: 82px; }
  .music h2 { font-size: clamp(46px, 11.5vw, 58px); }
  .artist-profile-link { margin-top: 38px; }
  .featured-block { margin-bottom: 105px; }
  .featured-release { display: flex; flex-direction: column; align-items: stretch; gap: 42px; padding: 22px; }
  .featured-release-copy h3 { font-size: clamp(55px, 17vw, 76px); }
  .spotify-featured { height: 232px; }
  .recent-heading { display: block; }
  .recent-heading > span { display: block; margin-top: 18px; }
  .release-grid { display: block; }
  .release-card, .release-card--priority { margin-bottom: 16px; padding: 20px; }
  .release-card-head, .release-card--priority .release-card-head { min-height: auto; margin-bottom: 20px; }
  .release-card--priority .release-card-head h3 { font-size: clamp(34px, 10vw, 48px); }
  .release-card--priority iframe { height: 152px; }
  .release-label { display: none; }
  .music-destinations { display: block; }
  .music-destinations a:first-child { padding-right: 2px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .music-destinations a:last-child { padding-left: 2px; }
  .booking { min-height: 510px; }
  .booking-row { display: block; }
  .booking h2 { margin-bottom: 55px; font-size: clamp(46px, 11.5vw, 58px); }
  .booking-contact-copy { max-width: none; }
  .booking-contact-copy p { max-width: 310px; margin-bottom: 38px; }
  .booking-email { font-size: 14px; overflow-wrap: anywhere; }
  .electric-pulse { padding: 90px 22px; }
  .electric-pulse::after { right: 22px; left: 22px; }
  .pulse-header { display: block; margin-bottom: 60px; }
  .pulse-header > div { margin-top: 54px; }
  .pulse-presenter { margin-bottom: 22px; }
  .pulse-header h2 { font-size: clamp(48px, 13.5vw, 67px); }
  .pulse-footer { display: block; margin-top: 42px; }
  .pulse-footer p { font-size: 20px; }
  .pulse-footer a { margin-top: 42px; }
  .pulse-play { bottom: 24px; left: 24px; grid-template-columns: 46px auto; column-gap: 15px; }
  .pulse-play i { width: 46px; height: 46px; }
  .pulse-play small { display: none; }
  .pulse-graphics { top: 11%; right: 5%; height: 74px; opacity: .16; }
  footer { padding: 23px 21px; }
  .site-footer { flex-wrap: wrap; }
  .social-links { order: 3; width: 100%; justify-content: center; padding-top: 18px; border-top: 1px solid var(--hairline); }
  .bio-header { padding: 23px 21px; }
  .bio-main { padding: 92px 22px; }
  .bio-hero { display: block; margin-bottom: 75px; }
  .bio-title h1 { font-size: clamp(54px, 15vw, 76px); }
  .bio-portrait { margin-top: 58px; }
  .bio-portrait img { aspect-ratio: 4 / 5; object-position: 50% 48%; }
  .bio-copy { display: block; padding-top: 24px; }
  .bio-copy p { margin-bottom: 34px; font-size: 19px; }
  .tour-main { padding: 88px 22px; }
  .tour-title { display: block; margin-bottom: 75px; }
  .tour-title h1 { font-size: clamp(50px, 14vw, 72px); }
  .tour-title > p { margin-top: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  a:hover, a:focus-visible, button:hover, button:focus-visible { animation: none; }
  .navigation a:hover, .navigation a:focus-visible { animation: none; }
  .navigation .nav-book::before, .navigation .nav-book::after { animation: none; }
  .achievement-banner::before { animation: none; }
  .reveal { opacity: 1; transform: none; }
  .tour-globe, .earth-stage, .tour-globe::before, .globe-marker-ring { animation: none; }
  .pulse-graphics span { animation: none; }
}
