:root{--foil:linear-gradient(120deg,#ddc7ef,#bfdded 35%,#eee2cd 55%,#c9bef2 80%,#c4efea)}
body{background-image:url("y2k-accents.png");background-repeat:no-repeat;background-size:100% auto;background-position:center 340px}
main{position:relative}
.tour h2{font-family:"Arial Black",Arial,Helvetica,sans-serif;font-style:normal;font-weight:900;letter-spacing:-.065em;transform:skew(-7deg);background-image:linear-gradient(175deg,#fff 5%,#c4e7ee 22%,#e6c4ef 40%,#a4a1cd 49%,#fbf0d5 53%,#d4c4ec 70%,#bce7ec 90%)}
.no-dates{text-align:center;color:#bcb4cb;font-size:15px;padding:18px 0 8px}
.gig h3,.gig time{background:var(--foil);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.gig time small{-webkit-text-fill-color:#b6adc2}
.management{display:inline-block;font-size:16px;background:var(--foil);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px}
.management:hover{text-decoration:underline;text-decoration-color:#cbbce8;text-underline-offset:5px}
@media(max-width:800px){body{background-position:center 260px;background-size:140% auto}.tour{background:#000d}}
.opening{max-width:820px}
.logo{max-width:750px}
.portrait{max-width:430px;padding:0;border:0;box-shadow:none;background:none;border-radius:0;margin-top:-15px}
.portrait>img{height:clamp(430px,60vw,540px);object-fit:cover;object-position:center 63%;filter:saturate(.8);mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 82%,transparent 100%)}
figcaption{bottom:10%;font-size:11px}
.socials{gap:12px;margin-bottom:12px}
.socials>a:not(.tour-jump){background:var(--foil);color:#181222;border-radius:50%;width:44px;height:44px;transition:transform .2s}
.socials>a:not(.tour-jump):hover{transform:scale(1.12)}
.tour-jump{font-size:11px;letter-spacing:.07em;max-width:180px;text-align:left;line-height:1.5}
.tour{max-width:580px;margin-top:12px}
h2{font-size:clamp(32px,5vw,49px);letter-spacing:-.035em;margin-bottom:25px;background-image:var(--foil)}
.gig{grid-template-columns:90px minmax(0,1fr);gap:18px;padding:16px 12px;transition:transform .25s,background .25s;border-color:#ffffff20;transform-origin:center}
.gig h3{font-size:16px;font-weight:500;letter-spacing:.005em;line-height:1.4}
.gig time{font-size:12px;letter-spacing:.06em}
.gig time small{font-size:11px;margin-top:3px}
@media(hover:hover) and (pointer:fine){.gig:hover{transform:scale(1.035);background:#cdb8ff0c}body,a{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2L27 19L16 20L11 30Z' fill='%23c8c5f4' stroke='%23181528' stroke-width='2'/%3E%3Cpath d='M7 6L21 17L14 17Z' fill='%23dcf6ff'/%3E%3C/svg%3E") 4 2,auto}}
.cursor-bubble{position:fixed;left:0;top:0;width:34px;height:34px;border:1px solid #cdb8ff75;border-radius:50%;pointer-events:none;z-index:30;opacity:0;transition:width .25s,height .25s,opacity .2s;background:radial-gradient(circle at 30% 25%,#eddaff24,transparent 65%);will-change:transform}
.cursor-bubble.active{width:58px;height:58px}
@media(max-width:600px){.opening{padding-top:16px}.portrait{max-width:350px;margin:0 auto}.portrait>img{height:420px;object-position:center 63%}.tour{max-width:440px;margin-top:0}.gig{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:15px 5px}.gig h3{font-size:15px}.socials{gap:10px}.tour-jump{max-width:150px;font-size:10px;padding-left:14px}.gig.scroll-pop{animation:soft-pop .55s ease-out both}}
@keyframes soft-pop{from{transform:scale(.96);opacity:.65}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.gig,.socials>a{transition:none}.gig.scroll-pop{animation:none}.cursor-bubble{display:none}}
