:root{--head:Archivo,"Arial Black",sans-serif;--body:Inter,system-ui,sans-serif;--bg:#f4f0ff;--fg:#17102b;--mut:#5d5578;--card:#fff;--line:#d9d0f2;--pk:#001498;--bl:#2b3cff;--sn:#ffc933;--blend:multiply;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#120c24;--fg:#f4f0ff;--mut:#a69cc6;--card:#1c1438;--line:#32265c;--blend:screen}}
:root[data-theme="dark"]{--bg:#120c24;--fg:#f4f0ff;--mut:#a69cc6;--card:#1c1438;--line:#32265c;--blend:screen}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--body)}
h1,h2,h3{font-family:var(--head);line-height:1.02;margin:0;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--sn);outline-offset:2px}
.w{max-width:1160px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:18px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font:800 18px var(--head)}
nav{display:flex;gap:4px;margin-left:auto}
nav a{padding:8px 12px;border-radius:99px;font-weight:500;font-size:15px}
nav a.on{background:var(--fg);color:var(--bg)}
.ic{border:1px solid var(--line);background:var(--card);border-radius:99px;height:40px;min-width:40px;padding:0 12px}
#menu{display:none}
.btn{display:inline-block;border:0;border-radius:99px;padding:14px 26px;font-weight:700;background:var(--pk);color:#fff}
.btn.alt{background:transparent;border:2px solid var(--fg);color:var(--fg)}
.hero{position:relative;overflow:hidden;padding:56px 0 72px}
.hero .w{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.hero h1{font-size:clamp(48px,8.5vw,112px);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-.015em}
.hero h1 span{display:block}
.hero h1 .o{color:transparent;-webkit-text-stroke:2px var(--fg)}
.hero p{max-width:46ch;color:var(--mut);font-size:18px;margin:22px 0 28px}
.disc{position:relative;aspect-ratio:1;max-width:460px;width:100%;margin:auto}
.disc svg{width:100%;height:100%}
.spin{transform-origin:50% 50%;animation:sp 14s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spin{animation:none}}
.blob{position:absolute;border-radius:50%;mix-blend-mode:var(--blend);pointer-events:none}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.stats div{padding:26px 20px;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats b{display:block;font:800 36px var(--head)}
.stats span{color:var(--mut);font-size:14px}
section.s{padding:72px 0}
.hd{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.hd h2{font-size:clamp(34px,5vw,60px)}
.hd p{color:var(--mut);max-width:44ch;margin:8px 0 0}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:left;padding:0;display:block;width:100%}
.card .art{aspect-ratio:1;display:block;width:100%}
.card .t{padding:16px 18px 20px}
.card h3{font-size:22px}
.card small{color:var(--mut)}
.tag{display:inline-block;border-radius:99px;padding:2px 12px;font-size:13px;font-weight:700;background:var(--sn);color:#17102b;margin-bottom:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:8px 16px;font-weight:500}
.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.row{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:12px}
.row .art{width:76px;height:76px;border-radius:12px;flex:none}
.row .m{flex:1;min-width:0}
.row h3{font-size:20px}
.price{font:800 20px var(--head)}
.add{border:0;background:var(--fg);color:var(--bg);border-radius:99px;padding:10px 18px;font-weight:700}
.band{background:var(--fg);color:var(--bg);border-radius:28px;padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.band h2{font-size:clamp(30px,4vw,50px)}
.band p{opacity:.8}
.ev{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.ev .d{font:800 30px/1 var(--head);text-align:center}
.ev .d small{display:block;font:500 13px var(--body);color:var(--mut)}
.ev h3{font-size:22px}
.ev p{margin:2px 0 0;color:var(--mut)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.two p{color:var(--mut);font-size:17px}
label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
input,select,textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit}
.ok{margin-top:16px;padding:14px;border-radius:12px;background:var(--sn);color:#17102b;font-weight:700}
footer{border-top:1px solid var(--line);padding:46px 0 36px;margin-top:40px}
footer .w{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer p,footer a{color:var(--mut);font-size:15px}
footer a{display:block;margin:6px 0}
footer h3{font-size:18px;margin-bottom:8px}
#cart{position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);background:var(--card);border-left:1px solid var(--line);z-index:40;transform:translateX(100%);transition:transform .25s;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
#cart.open{transform:none}
#items{flex:1;overflow:auto}
#modal{position:fixed;inset:0;background:rgba(10,5,25,.7);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}
#modal.open{display:flex}
.mb{background:var(--card);border-radius:24px;max-width:760px;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr}
.mb .t{padding:28px}
.mb .t p{color:var(--mut)}
@media(max-width:820px){
#menu{display:inline-block;margin-left:auto}
nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);padding:12px 20px;border-bottom:1px solid var(--line)}
nav.open{display:flex}
.hero .w,.band,.two,.mb,footer .w{grid-template-columns:1fr}
.stats{grid-template-columns:1fr 1fr}
.stats div:nth-child(2){border-right:0}
.ev{grid-template-columns:70px 1fr}
.ev .btn{grid-column:1/-1}
.band{padding:28px}
}

/* page background images: change the url() to use your own photo */
.bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--bg) 72%,transparent),color-mix(in srgb,var(--bg) 94%,transparent) 88%),var(--page-img) center/cover no-repeat}
body[data-page="home"] .bg{background:linear-gradient(color-mix(in srgb,var(--bg) 45%,transparent),color-mix(in srgb,var(--bg) 92%,transparent) 90%),var(--page-img) center/cover no-repeat}
body[data-page="home"]{--page-img:url(../img/home_2.jpg)}
body[data-page="artists"]{--page-img:url(../img/artists.svg)}
body[data-page="releases"]{--page-img:url(../img/releases.svg)}
body[data-page="merch"]{--page-img:url(../img/merch.svg)}
body[data-page="events"]{--page-img:url(../img/events.svg)}
body[data-page="about"]{--page-img:url(../img/about.svg)}
body[data-page="contact"]{--page-img:url(../img/contact.svg)}

img.art{object-fit:cover;object-position:center 25%}

/* artist pop-up: image fills its half instead of using its own size */
.mb>div:first-child{position:relative;min-height:280px;overflow:hidden}
.mb .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}