:root{
  --ink:#0D0401;--ember:#1A0703;--bone:#EFEBE3;--ash:#888681;--smoke:#9D9590;--signal:#FF4A1C;--hair:rgba(239,235,227,.2);
  --display:'Anton',Impact,sans-serif;--body:'Geist',system-ui,sans-serif;
  --r-card:24px 24px 24px 4px;--r-sm:16px 16px 16px 4px;--r-lg:32px 32px 32px 4px;--r-chip:4px 4px 4px 1px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font:400 16px/1.6 var(--body);letter-spacing:-.5px;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
section{padding:120px 0}
.eyebrow{font:500 12px/1.6 var(--body);color:var(--ash);text-transform:uppercase;letter-spacing:0;display:block;margin-bottom:16px}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0}
h2{font-size:clamp(32px,4.4vw,44px);line-height:1.08}
.muted{color:var(--smoke)}
.label{font:700 12px/1.6 var(--body);letter-spacing:0;text-transform:capitalize}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--body);letter-spacing:0;padding:14px 22px;border-radius:var(--r-card);transition:transform .4s var(--ease),background .3s,color .3s;cursor:pointer;border:0}
.btn-primary{background:var(--signal);color:var(--ink)}
.btn-light{background:var(--bone);color:var(--ink)}
.btn-ghost{border:1px solid var(--hair);color:var(--bone);background:transparent}
.btn:hover{transform:translateY(-2px);background:var(--bone);color:var(--ink)}
.chip{font:400 12px/1 var(--body);padding:6px 10px;border-radius:var(--r-chip);border:1px solid rgba(13,4,1,.2)}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;mix-blend-mode:normal}
.nav{transition:background .3s,padding .3s}
.nav.scrolled{background:rgba(13,4,1,.88);backdrop-filter:blur(12px);padding:14px 24px;border-bottom:1px solid var(--hair)}
.logo{display:flex;align-items:center;gap:10px;font:400 18px/1 var(--display);text-transform:uppercase}
.logo i{width:28px;height:18px;border:3px solid var(--signal);border-radius:12px 12px 12px 2px;display:block}
.nav ul{display:flex;gap:28px;list-style:none}
.nav ul a{font:700 12px/1 var(--body);color:var(--ash);letter-spacing:0;transition:color .3s}
.nav ul a:hover,.nav ul a.active{color:var(--signal)}
.burger{display:none;width:28px;height:14px;position:relative;background:none;border:0;cursor:pointer}
.burger::before,.burger::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--signal);transition:.3s}
.burger::before{top:0}.burger::after{bottom:0}
.nav.open .burger::before{top:6px;transform:rotate(45deg)}.nav.open .burger::after{bottom:6px;transform:rotate(-45deg)}

/* photo placeholders: warm tungsten mood */
.ph{background:radial-gradient(60% 70% at 35% 30%,rgba(255,140,60,.55),transparent 60%),radial-gradient(80% 80% at 70% 90%,rgba(255,74,28,.35),transparent 60%),linear-gradient(160deg,#2a0f06,#0D0401 70%);position:relative;overflow:hidden}
.ph::after{content:"";position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.ph.alt{background:radial-gradient(50% 60% at 70% 30%,rgba(255,180,90,.45),transparent 60%),linear-gradient(200deg,#1f0904,#0D0401 70%)}
.ph.cool{background:radial-gradient(60% 60% at 30% 70%,rgba(255,74,28,.5),transparent 60%),linear-gradient(120deg,#120502,#2b0e05)}

/* hero */
.hero{height:100vh;min-height:680px;position:relative;padding:0;overflow:hidden}
.hero .ph{position:absolute;inset:0}
.hero-silhouette{position:absolute;left:18%;bottom:0;width:min(46vw,620px);aspect-ratio:3/4;background:radial-gradient(45% 30% at 50% 28%,#1a0703 60%,transparent 61%),radial-gradient(70% 55% at 50% 100%,#1a0703 70%,transparent 71%);filter:drop-shadow(30px -20px 60px rgba(255,120,50,.25))}
.hero-word{position:absolute;font:400 clamp(72px,13vw,200px)/.9 var(--display);text-transform:uppercase;z-index:2}
.hero-word.a{left:24px;bottom:24px}
.hero-word.b{right:24px;top:38%}
.hero-about{position:absolute;left:24px;top:120px;max-width:280px;z-index:2}
.hero-about p{font-size:16px}
.hero-tag{font-size:12px;margin-top:16px;display:block}
.release{position:absolute;right:24px;bottom:24px;width:300px;background:var(--bone);color:var(--ink);border-radius:var(--r-card);padding:16px;z-index:3}
.release .row{display:flex;justify-content:space-between;align-items:center}
.release .art{height:120px;border-radius:var(--r-sm);margin:12px 0}
.release h3{font-size:18px;line-height:1.4}
.play{width:36px;height:36px;border-radius:50%;background:var(--signal);display:grid;place-items:center;border:0;cursor:pointer}
.play::before{content:"";border-left:10px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}

/* marquee */
.marquee{overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:20px 0;margin-top:40px}
.marquee-track{display:flex;gap:64px;width:max-content;animation:mq 30s linear infinite}
.marquee-track span{font:400 20px/1.6 var(--display);white-space:nowrap}
.marquee-track span::after{content:"✦";color:var(--signal);margin-left:64px;font-size:14px}
@keyframes mq{to{transform:translateX(-50%)}}

.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:48px}

/* live cards */
.live-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.live{background:var(--ember);border-radius:var(--r-card);overflow:hidden;transition:transform .4s var(--ease)}
.live:hover{transform:translateY(-4px)}
.live .ph{height:280px}
.live .meta{padding:20px;display:flex;justify-content:space-between;align-items:end}
.live .t{font:600 20px/1.5 var(--body);letter-spacing:0}
.dot{display:inline-flex;align-items:center;gap:6px;position:absolute;top:16px;left:16px;z-index:2;font:700 12px var(--body);background:rgba(13,4,1,.6);padding:6px 10px;border-radius:var(--r-chip)}
.dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--signal);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}

/* featured */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.feature .ph{aspect-ratio:1;border-radius:var(--r-lg)}
.feature h2{font-size:clamp(56px,8vw,110px);line-height:.95;margin-bottom:24px}
.feature p{max-width:440px;margin-bottom:32px}
.stats{display:flex;gap:32px;margin-bottom:32px}
.stats b{font:400 32px/1 var(--display);display:block}

/* stacking mixes */
.stack{position:relative}
.mix{position:sticky;background:var(--ember);border-radius:var(--r-lg);padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;margin-bottom:24px;border:1px solid var(--hair);transform-origin:top center;transition:transform .2s linear}
.mix .num{font:400 64px/1 var(--display);color:var(--signal)}
.mix .ph{width:220px;aspect-ratio:1;border-radius:var(--r-card)}
.mix-info{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}
.mix h3{font-size:40px;line-height:1}
.mix p{max-width:360px;margin-top:8px}

/* videos */
.vid-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:24px}
.vid{border-radius:var(--r-card);min-height:240px;display:flex;align-items:end;padding:20px;position:relative}
.vid:first-child{grid-row:span 2;min-height:520px}
.vid .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px}
.vid span{position:relative;z-index:2;font:600 20px/1.5 var(--body);letter-spacing:0}

/* dates */
.dates{list-style:none;border-top:1px solid var(--hair)}
.dates li{display:grid;grid-template-columns:140px 1fr 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--hair);transition:padding .4s var(--ease)}
.dates li:hover{padding-left:12px}
.dates .d{font:400 32px/1 var(--display)}
.dates .city{font:600 20px var(--body);letter-spacing:0}
.dates .sold{color:var(--ash);font:700 12px var(--body)}

/* photos */
.photo-row{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 16px;scrollbar-width:none}
.photo-row .ph{flex:0 0 min(70vw,380px);aspect-ratio:3/4;border-radius:var(--r-card);scroll-snap-align:start}
.photo-row .ph:nth-child(even){aspect-ratio:4/5;margin-top:60px}

/* reviews */
.reviews{display:grid;grid-template-columns:1fr 2fr;gap:48px}
.score b{font:400 160px/1 var(--display);color:var(--signal);display:block}
.quotes{display:grid;gap:24px}
.quote{background:var(--ember);border-radius:var(--r-card);padding:32px}
.quote p{font:400 clamp(22px,2.4vw,30px)/1.25 var(--display);text-transform:uppercase;margin-bottom:16px}

/* merch */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card .ph{aspect-ratio:4/5;border-radius:var(--r-card);margin-bottom:16px;transition:transform .4s var(--ease)}
.card:hover .ph{transform:scale(1.02)}
.card .row{display:flex;justify-content:space-between;font:600 16px var(--body);letter-spacing:0}
.card h3{font-size:24px;line-height:1.2;margin-top:4px}

/* booking */
.book{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.book h2{font-size:clamp(56px,8vw,120px);line-height:.95}
.contacts{margin-top:40px;display:grid;gap:20px}
.contacts span{display:block;color:var(--ash);font:700 12px var(--body)}
.contacts a{font:600 20px var(--body);letter-spacing:0;transition:color .3s}
.contacts a:hover{color:var(--signal)}
form{background:var(--ember);border-radius:var(--r-lg);padding:40px;display:grid;gap:28px}
label{display:grid;gap:8px;font:700 12px var(--body);color:var(--ash);text-transform:uppercase;letter-spacing:0}
input,select,textarea{background:transparent;border:0;border-bottom:1px solid var(--hair);color:var(--bone);font:400 16px var(--body);padding:8px 0;outline:none;transition:border-color .3s}
input:focus,select:focus,textarea:focus{border-color:var(--signal)}
select option{background:var(--ink)}
.form-ok{display:none;color:var(--signal);font-weight:600}

/* footer */
footer{border-top:1px solid var(--hair);padding:64px 0 24px;overflow:hidden}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.foot-top ul{list-style:none;display:flex;gap:24px;font:400 20px var(--display);text-transform:uppercase}
.foot-word{font:400 clamp(80px,18vw,280px)/.85 var(--display);text-transform:uppercase;margin:48px 0 24px;white-space:nowrap}
.foot-word em{font-style:normal;color:var(--signal)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:500 12px var(--body);color:var(--ash);text-transform:uppercase;letter-spacing:0}

/* subpage hero */
.page-hero{padding:180px 0 80px}
.page-hero h1{font-size:clamp(72px,13vw,200px);line-height:.9}
.page-hero p{max-width:520px;margin-top:24px}
.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.count{border-top:1px solid var(--hair);padding-top:20px}
.count b{font:400 72px/1 var(--display);display:block}
.pull{font:400 clamp(40px,6vw,80px)/1 var(--display);text-transform:uppercase;max-width:1000px}
.pull em{font-style:normal;color:var(--signal)}
.filters{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}
.filters button{font:inherit}
.filters .btn.on{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.tracklist{list-style:none;counter-reset:t}
.tracklist li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--hair);counter-increment:t}
.tracklist li::before{content:counter(t,decimal-leading-zero);color:var(--signal);margin-right:16px;font-family:var(--display)}
.tracklist li span:first-child{flex:1}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.in{opacity:1;transform:none}
.hero-word{animation:up .8s var(--ease) both}.hero-word.b{animation-delay:.15s}
@keyframes up{from{transform:translateY(60px);opacity:0}}

@media (max-width:900px){
  section{padding:64px 0}
  .nav ul{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:32px;opacity:0;pointer-events:none;transition:opacity .3s}
  .nav ul a{font:400 40px var(--display);text-transform:uppercase;color:var(--bone)}
  .nav.open ul{opacity:1;pointer-events:auto}
  .burger{display:block;z-index:2}
  .hero-silhouette{left:0;width:90vw}
  .hero-word.b{top:auto;bottom:150px;right:auto;left:16px}
  .hero-word.a{bottom:235px;left:16px}
  .release{left:16px;right:16px;width:auto;bottom:16px}
  .release .art{display:none}
  .hero-about{top:90px;right:24px}
  .live-grid,.feature,.reviews,.book,.grid3,.vid-grid{grid-template-columns:1fr}
  .vid:first-child{min-height:300px;grid-row:auto}
  .mix{grid-template-columns:1fr;gap:16px}
  .mix-info{grid-template-columns:1fr;gap:16px}
  .mix .ph{width:100%;max-height:200px;aspect-ratio:auto;height:200px}
  .mix .num{font-size:40px}
  .dates li{grid-template-columns:1fr auto;gap:8px}
  .dates .venue{grid-column:1}
  .score b{font-size:110px}
  .count-grid{grid-template-columns:1fr 1fr}
  form{padding:24px}
  .wrap{padding:0 16px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* client assets */
.logo img{height:44px;width:auto}
.nav.scrolled .logo img{height:34px}
.hero-portrait{position:absolute;left:50%;bottom:0;transform:translateX(-55%);height:94%;width:auto;max-width:none;z-index:1;filter:drop-shadow(0 0 80px rgba(255,74,28,.25));animation:fadein 1s var(--ease) both}
@keyframes fadein{from{opacity:0;transform:translateX(-55%) translateY(30px)}}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,var(--ink));z-index:1;pointer-events:none}
.flyers{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:48px}
.flyer{position:relative;display:block;border-radius:var(--r-card);overflow:hidden;margin:0}
.flyer img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s var(--ease)}
.flyer:hover img{transform:scale(1.03)}
.chip-dark{position:absolute;left:16px;bottom:16px;background:rgba(13,4,1,.8);backdrop-filter:blur(6px);color:var(--bone);font:700 12px var(--body);letter-spacing:0;padding:8px 12px;border-radius:var(--r-chip)}
.foot-logo{height:clamp(80px,16vw,220px);width:auto}
.portrait-card img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:bottom}
@media (max-width:900px){
  .hero-portrait{height:62%;transform:translateX(-50%);bottom:90px}
  @keyframes fadein{from{opacity:0}}
  .flyers{grid-template-columns:1fr 1fr;gap:12px}
}
.app-card{margin-top:24px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--ember);border:1px solid var(--hair);border-radius:var(--r-lg);padding:24px;transition:transform .4s var(--ease),border-color .3s}
.app-card:hover{transform:translateY(-4px);border-color:var(--signal)}
.app-card img{width:96px;height:96px;border-radius:22px}
.app-card h3{font-size:32px;line-height:1.1;margin-bottom:6px}
@media (max-width:900px){.app-card{grid-template-columns:auto 1fr}.app-card .btn{grid-column:1/-1;justify-content:center}.app-card img{width:72px;height:72px}}
@media (max-width:520px){.app-card{grid-template-columns:1fr;gap:16px}.app-card h3{font-size:26px}}
/* video reels */
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.reel{position:relative;aspect-ratio:9/16;border-radius:var(--r-card);overflow:hidden;border:0;padding:0;background:var(--ember);cursor:pointer;color:var(--bone);text-align:left}
.reel video{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.reel:hover video{transform:scale(1.04)}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(13,4,1,.9))}
.reel .play{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px}
.reel-meta{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;display:grid;gap:2px}
.reel-meta b{font:400 22px/1.1 var(--display);text-transform:uppercase}
.reel-meta span{font:600 12px var(--body);color:var(--smoke);letter-spacing:0}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.live .dot{z-index:3}
.vmodal{position:fixed;inset:0;z-index:100;background:rgba(13,4,1,.92);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}
.vmodal[hidden]{display:none}
.vmodal video{max-height:88vh;max-width:100%;aspect-ratio:9/16;border-radius:var(--r-card);background:#000}
.vclose{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--hair);background:var(--ember);color:var(--bone);font-size:18px;cursor:pointer}
.vclose:hover{background:var(--signal);color:var(--ink)}
@media (max-width:900px){.reels{grid-template-columns:repeat(2,1fr);gap:12px}.reel-meta b{font-size:16px}}
/* hero words: LIFE / STYLE */
.hero-word{font-size:clamp(110px,19vw,300px);line-height:.85;font-weight:400;text-shadow:0 10px 40px rgba(13,4,1,.35)}
.hero-word.b{top:24%}
@media (max-width:900px){
  .hero-word{font-size:clamp(96px,30vw,200px)}
  .hero-word.b{top:auto;bottom:calc(150px + .85*clamp(96px,30vw,200px));left:16px}
  .hero-word.a{bottom:150px;left:16px}
}
/* LIFE tucked behind portrait */
@media (min-width:901px){
  .hero-word.b{right:auto;left:calc(50% + 9vh);top:26%;z-index:0}
}
/* bigger portrait */
@media (min-width:901px){
  .hero-portrait{height:115%;bottom:-8%}
  .hero-word.b{left:calc(50% + 11vh);top:18%}
}
@media (max-width:900px){.hero-portrait{height:74%}}
/* center subject (figure sits left inside png, so offset -44%) */
.hero-portrait{transform:translateX(-44%)}
@keyframes fadein{from{opacity:0;transform:translateX(-44%) translateY(30px)}}
@media (min-width:901px){.hero-word.b{left:calc(50% + 19vh)}}
@media (max-width:900px){.hero-portrait{transform:translateX(-44%)}@keyframes fadein{from{opacity:0}}}
@media (min-width:901px){.hero-word.b{font-size:clamp(140px,25vw,400px);top:14%}}
@media (max-width:900px){
  .hero-word.a{bottom:32px}
  .hero-word.b{bottom:calc(32px + .85*clamp(96px,30vw,200px))}
  .hero-portrait{bottom:0}
}
.hero-about{max-width:460px}
.hero-shout{font:400 clamp(44px,5.4vw,88px)/.92 var(--display)!important;text-transform:uppercase;letter-spacing:0}
.hero-shout em{font-style:normal;color:var(--signal)}
@media (max-width:900px){.hero-shout{font-size:clamp(40px,12vw,64px)!important}}
/* TURN ME UP: white + overlay blend (on container so it blends with hero bg) */
.hero-about{mix-blend-mode:overlay}
.hero-shout,.hero-shout em{color:#fff}
@media (min-width:901px){.hero-about{left:clamp(48px,6vw,120px);top:140px}.hero-word.a{left:clamp(48px,6vw,120px);bottom:48px}}
@media (max-width:900px){.hero-about{left:24px;right:24px}.hero-word.a,.hero-word.b{left:24px}}
/* booth gallery */
.photo-row .shot{flex:0 0 min(70vw,340px);aspect-ratio:3/4;border-radius:var(--r-card);overflow:hidden;scroll-snap-align:start;background:var(--ember)}
.photo-row .shot:nth-child(even){margin-top:60px}
.photo-row .shot img,.photo-row .shot video{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.photo-row .shot:hover img,.photo-row .shot:hover video{transform:scale(1.04)}
.photo-row{cursor:grab}
.photo-row{padding-left:max(24px,calc((100vw - 1280px)/2 + 24px));scroll-padding-left:max(24px,calc((100vw - 1280px)/2 + 24px))}.photo-row::after{content:"";flex:0 0 1px}
.foot-word{text-align:center}.foot-logo{display:inline-block;margin:0 auto}
img,video{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
