*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#050505;
  --panel:#0b0b0b;
  --text:#fff;
  --muted:#aaa69d;
  --gold:#c9972f;
  --gold2:#e2bb58;
  --blue:#244a70;
  --purple:#33263f;
  --pink:#6b2635;
  --red:#8b2530;
  --line:rgba(255,255,255,.13);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 15% 20%,rgba(36,74,112,.05),transparent 25%),
    radial-gradient(circle at 90% 15%,rgba(107,38,53,.05),transparent 22%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.035;background-image:radial-gradient(#fff .5px,transparent .5px);background-size:5px 5px}
.topbar{
  height:76px;position:fixed;z-index:50;left:0;right:0;top:0;
  display:flex;align-items:center;justify-content:space-between;padding:0 5vw;
  background:linear-gradient(90deg,rgba(5,4,10,.78),rgba(18,7,31,.58),rgba(5,4,10,.78));
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09)
}
.brand{font-family:"Bebas Neue";font-size:34px;letter-spacing:2px;text-shadow:0 0 14px rgba(0,200,255,.3)}
.brand span{color:var(--gold);text-shadow:0 0 20px rgba(242,184,63,.45)}
nav{display:flex;gap:29px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:1.4px}
nav a:hover{color:var(--blue);text-shadow:0 0 12px var(--blue)}
.menu{display:none;color:white;background:none;border:0;font-size:28px}

.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding:120px 7vw 80px}
.hero-photo{position:absolute;inset:0;background:url('assets/ebm350-hero.jpg') center 28%/cover no-repeat;filter:saturate(1.15) contrast(1.08)}
.color-wash{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(2,3,12,.93) 0%,rgba(14,7,30,.64) 42%,rgba(18,4,19,.47) 65%,rgba(2,3,12,.82) 100%),
    linear-gradient(0deg,#05040a 0%,transparent 46%,rgba(4,6,12,.23) 100%)
}
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.14}
.orb-a{width:300px;height:300px;background:var(--blue);left:-80px;top:20%}
.orb-b{width:360px;height:360px;background:var(--pink);right:-120px;top:8%}
.orb-c{width:300px;height:300px;background:var(--purple);left:45%;bottom:-130px}
.hero-copy{position:relative;z-index:4;max-width:880px}
.pill{display:inline-block;padding:7px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);font-size:10px;font-weight:900;letter-spacing:2px;margin-bottom:22px}
.eyebrow{font-size:12px;letter-spacing:3px;font-weight:900;color:var(--gold2)}
.cyan{color:var(--blue)}.pink-txt{color:var(--pink)}.gold{color:var(--gold2)}
h1,h2,h3{font-family:"Bebas Neue";font-weight:400;line-height:.92}
h1{
  font-size:clamp(105px,19vw,245px);letter-spacing:-2px;
  text-shadow:0 0 8px rgba(255,255,255,.1),0 0 30px rgba(0,200,255,.18),0 0 50px rgba(107,38,53,.06)
}
h1 span{
  color:var(--gold);
  background:linear-gradient(180deg,#fff2ad 0%,#f1bd40 48%,#b56a10 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 18px rgba(242,184,63,.4))
}
.tagline{font-size:clamp(14px,2vw,22px);font-weight:900;letter-spacing:2.2px;text-transform:uppercase;margin:10px 0}
.tagline b{color:var(--pink)}
.intro{color:#d9d7de;margin:12px 0 26px;font-size:18px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:1.2px;border:1px solid var(--line);cursor:pointer;transition:.25s}
.primary{background:linear-gradient(135deg,#ffd96c,#d78b11);color:#0b0711;box-shadow:0 0 28px rgba(242,184,63,.28)}
.blue{background:linear-gradient(135deg,#01cbff,#3865ff);color:white;box-shadow:0 0 28px rgba(0,200,255,.22)}
.pink{background:linear-gradient(135deg,#ff2f9d,#9d35ff);color:white;box-shadow:0 0 28px rgba(255,47,157,.22)}
.btn:hover{transform:translateY(-3px) scale(1.01);filter:brightness(1.08)}
.micro-socials{display:flex;gap:24px;margin-top:28px;font-size:12px;font-weight:800}
.micro-socials a:hover{color:var(--blue)}
.hero-badge{position:absolute;z-index:4;right:6vw;bottom:12vh;width:210px;height:210px;border-radius:50%;padding:10px;background:linear-gradient(135deg,rgba(0,200,255,.45),rgba(141,60,255,.32),rgba(255,47,157,.42));box-shadow:0 0 55px rgba(141,60,255,.26)}
.hero-badge img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.enter{position:absolute;z-index:5;right:5vw;bottom:26px;font-size:10px;font-weight:900;letter-spacing:2.5px;color:#fff}

.section{padding:108px 7vw;position:relative}
.section-top{display:flex;align-items:center;gap:25px;margin-bottom:46px}
.number{font-family:"Bebas Neue";font-size:62px;color:var(--blue);text-shadow:0 0 25px rgba(0,200,255,.45)}
.pink-number{color:var(--pink);text-shadow:0 0 25px rgba(255,47,157,.4)}
.cyan-number{color:var(--blue)}
h2{font-size:clamp(62px,8vw,112px)}
h2 em{font-style:normal;color:var(--gold);text-shadow:0 0 25px rgba(242,184,63,.18)}

.music{background:linear-gradient(180deg,#08070e,#0b0712 55%,#05040a)}
.release-card{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(0,200,255,.04),rgba(141,60,255,.06),rgba(255,47,157,.04));box-shadow:0 30px 80px rgba(0,0,0,.45)}
.cover-wrap{min-height:480px;display:grid;place-items:center;position:relative;overflow:hidden;border-right:1px solid var(--line)}
.cover-wrap:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:conic-gradient(var(--blue),var(--purple),var(--pink),var(--gold),var(--blue));filter:blur(55px);opacity:.28}
.cover-wrap img{width:min(78%,420px);position:relative;z-index:2;filter:drop-shadow(0 0 30px rgba(242,184,63,.20))}
.release-info{padding:50px;display:flex;flex-direction:column;justify-content:center}
.release-info h3,.video-card h3{font-size:46px;margin:8px 0 12px}
.release-info>p:not(.eyebrow){color:var(--muted)}
.stream-links{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0}
.chip{padding:10px 14px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid var(--line)}
.spotify{background:rgba(40,220,95,.12)}.apple{background:rgba(255,255,255,.08)}.youtube{background:rgba(255,48,60,.14)}
.player{padding:35px;border:1px dashed rgba(255,255,255,.22);color:#8f8998;background:rgba(255,255,255,.025);text-align:center}

.videos{background:
  radial-gradient(circle at 10% 50%,rgba(36,74,112,.05),transparent 24%),
  radial-gradient(circle at 90% 45%,rgba(107,38,53,.05),transparent 24%),
  #07050c}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.video-card{overflow:hidden;border:1px solid var(--line);background:#0a0810;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.thumb{aspect-ratio:16/10;display:grid;place-items:center;position:relative}
.blue-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(0,200,255,.26),#07090f 60%)}
.purple-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(141,60,255,.26),#090710 60%)}
.red-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(255,61,79,.25),#0b0609 60%)}
.thumb span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.06);backdrop-filter:blur(8px);font-size:22px;box-shadow:0 0 25px rgba(255,255,255,.1)}
.video-card small{display:block;padding:20px 20px 0;color:var(--gold);letter-spacing:2px;font-weight:900}
.video-card h3{padding:0 20px 24px}

.story{background:linear-gradient(135deg,#0b0712,#06101a 50%,#110616)}
.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center}
.portrait{position:relative}
.portrait-glow{position:absolute;inset:-20px;background:linear-gradient(135deg,var(--blue),var(--purple),var(--pink),var(--gold));filter:blur(28px);opacity:.25}
.portrait img{position:relative;z-index:2;width:100%;max-height:650px;object-fit:cover;object-position:center 20%;border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 70px #000}
.story-copy p:not(.eyebrow){font-size:18px;margin-top:22px;max-width:680px}.muted{color:var(--muted)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
.stat-row div{padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.stat-row b{display:block;font-family:"Bebas Neue";font-size:28px;color:var(--blue)}
.stat-row span{font-size:11px;color:var(--muted)}

.merch{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;background:
  radial-gradient(circle at 78% 50%,rgba(107,38,53,.07),transparent 26%),
  radial-gradient(circle at 68% 54%,rgba(36,74,112,.06),transparent 30%),
  #07050b}
.merch-copy>p:not(.eyebrow){color:var(--muted);max-width:580px;margin:20px 0 30px}
.merch-visual{min-height:470px;display:grid;place-items:center;position:relative}
.tee{position:relative;z-index:2;width:300px;height:360px;clip-path:polygon(25% 0,39% 12%,61% 12%,75% 0,100% 20%,86% 41%,76% 34%,76% 100%,24% 100%,24% 34%,14% 41%,0 20%);background:linear-gradient(145deg,#28164a,#101219 52%,#4b102d);display:grid;place-items:center;box-shadow:0 0 50px rgba(255,47,157,.2)}
.tee span{font-family:"Bebas Neue";font-size:75px;line-height:.7;text-align:center}.tee b{color:var(--gold)}
.ring{position:absolute;width:390px;height:390px;border-radius:50%;border:2px solid rgba(0,200,255,.32);box-shadow:0 0 40px rgba(0,200,255,.16),inset 0 0 40px rgba(107,38,53,.05)}

.booking{background:linear-gradient(180deg,#0a0710,#070b13)}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.booking-intro{font-size:20px;font-weight:800}
#bookingForm{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-size:10px;letter-spacing:1.5px;font-weight:900;text-transform:uppercase}
input,select,textarea{width:100%;margin-top:7px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.16);padding:14px;color:white;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 16px rgba(0,200,255,.1)}
.wide{grid-column:1/-1}.status{color:var(--gold2);font-size:12px;margin-top:10px}

.fanlist{text-align:center;background:
  radial-gradient(circle at 50% 25%,rgba(51,38,63,.10),transparent 28%),
  radial-gradient(circle at 40% 20%,rgba(36,74,112,.06),transparent 23%),
  radial-gradient(circle at 62% 24%,rgba(107,38,53,.06),transparent 23%),
  #06040a}
.small-logo{width:130px;height:130px;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 0 25px rgba(242,184,63,.25))}
#fanForm{max-width:620px;margin:30px auto;display:flex}
#fanForm input{margin:0}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:980px;margin:44px auto 0}
.social-grid a{padding:22px;border:1px solid var(--line);display:flex;justify-content:space-between;font-weight:900;transition:.2s}
.social-grid .ig:hover{background:linear-gradient(135deg,rgba(255,47,157,.18),rgba(141,60,255,.15))}
.social-grid .yt:hover{background:rgba(255,61,79,.16)}
.social-grid .tt:hover{background:rgba(36,74,112,.07)}
.social-grid .sp:hover{background:rgba(40,220,95,.13)}

footer{padding:30px 6vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#8f8998;font-size:12px;background:#040309}

@media(max-width:900px){
  .menu{display:block}
  nav{display:none;position:absolute;top:76px;left:0;width:100%;padding:25px 5vw;background:#090611;flex-direction:column}
  nav.open{display:flex}
  .hero-badge{width:140px;height:140px;right:4vw;bottom:8vh}
  .release-card,.story-grid,.merch,.booking-grid{grid-template-columns:1fr}
  .cover-wrap{border-right:0;border-bottom:1px solid var(--line)}
  .video-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .section{padding:82px 6vw}
  .hero{padding-left:5vw;padding-right:5vw;text-align:center}
  .hero-copy{margin:0 auto}
  .actions{flex-direction:column}.actions .btn{width:100%}
  .micro-socials{justify-content:center;flex-wrap:wrap}
  .hero-badge{display:none}
  .enter{left:0;right:0;text-align:center}
  .cover-wrap{min-height:340px}
  .release-info{padding:28px}
  .stat-row{grid-template-columns:1fr}
  #bookingForm{grid-template-columns:1fr}
  #fanForm{flex-direction:column;gap:10px}
  .social-grid{grid-template-columns:1fr}
  footer{flex-direction:column;align-items:flex-start;gap:12px}
}


.gallery{
  background:
    radial-gradient(circle at 12% 15%,rgba(107,38,53,.06),transparent 25%),
    radial-gradient(circle at 88% 70%,rgba(36,74,112,.06),transparent 25%),
    #07050c;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:330px;
  gap:14px;
}
.gallery-grid figure{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  position:relative;
  background:#0b0910;
}
.gallery-grid figure:after{
  content:"EBM350";
  position:absolute;left:16px;bottom:12px;
  font-family:"Bebas Neue";font-size:24px;letter-spacing:2px;
  color:white;text-shadow:0 2px 10px #000;
  opacity:.85;
}
.gallery-grid img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease,filter .45s ease;
}
.gallery-grid figure:hover img{transform:scale(1.035);filter:saturate(1.12)}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}
.featured-video{
  text-align:center;
  background:linear-gradient(135deg,#06101a,#120619 55%,#08060e);
}
.featured-video h2{margin-bottom:35px}
.native-video-wrap{
  width:min(950px,100%);margin:0 auto;padding:8px;
  background:linear-gradient(135deg,rgba(0,200,255,.55),rgba(141,60,255,.45),rgba(255,47,157,.55));
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 40px rgba(141,60,255,.12);
}
.native-video-wrap video{
  display:block;width:100%;max-height:720px;background:#000;
}
@media(max-width:900px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
}
@media(max-width:600px){
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:420px}
  .g-tall,.g-wide{grid-row:auto;grid-column:auto}
}

/* EBM350 DARK LUXURY RAP PALETTE OVERRIDES */
body{
  background:
    radial-gradient(circle at 18% 20%,rgba(36,74,112,.045),transparent 27%),
    radial-gradient(circle at 86% 14%,rgba(139,37,48,.045),transparent 25%),
    #050505;
}
.topbar{
  background:rgba(5,5,5,.88);
}
.color-wash{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(8,8,8,.70) 45%,rgba(20,8,8,.46) 72%,rgba(0,0,0,.86) 100%),
    linear-gradient(0deg,#050505 0%,transparent 48%,rgba(0,0,0,.28) 100%);
}
.orb-a{background:#244a70}
.orb-b{background:#7a252d}
.orb-c{background:#3c303f}
.primary{
  background:linear-gradient(135deg,#e0b852,#9c6817);
  color:#080808;
  box-shadow:0 0 18px rgba(201,151,47,.16);
}
.blue{
  background:linear-gradient(135deg,#17283a,#294966);
  box-shadow:0 0 16px rgba(36,74,112,.12);
}
.pink{
  background:linear-gradient(135deg,#4b161d,#7c2932);
  box-shadow:0 0 16px rgba(139,37,48,.12);
}
.hero-badge{
  background:linear-gradient(135deg,#151515,#6d511e,#151515);
  box-shadow:0 0 30px rgba(201,151,47,.15);
}
.music,.videos,.story,.merch,.booking,.fanlist,.gallery,.featured-video{
  background-color:#080808;
}
.release-card{
  background:linear-gradient(135deg,#0a0a0a,#101010,#090909);
}
.cover-wrap:before{
  background:conic-gradient(#244a70,#242424,#7a252d,#c9972f,#244a70);
  opacity:.14;
}
.blue-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(36,74,112,.16),#070707 65%)}
.purple-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(60,48,63,.15),#070707 65%)}
.red-card .thumb{background:radial-gradient(circle at 50% 50%,rgba(139,37,48,.15),#070707 65%)}
.portrait-glow{
  background:linear-gradient(135deg,#244a70,#252525,#7a252d,#c9972f);
  opacity:.12;
}
.tee{
  background:linear-gradient(145deg,#171717,#0a0a0a 55%,#241014);
}
.ring{
  border-color:rgba(201,151,47,.24);
  box-shadow:0 0 25px rgba(201,151,47,.09);
}
.native-video-wrap{
  background:linear-gradient(135deg,#1b2633,#a37625,#4b161d);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}


/* EBM350 LIGHTER ARTIST EDIT — clearer hero photo + cleaner palette */
:root{
  --bg:#151515;
  --panel:#1d1d1d;
  --text:#fffdf7;
  --muted:#c8c4bc;
  --gold:#d6a43a;
  --gold2:#f0c96a;
  --blue:#3d6077;
  --purple:#514653;
  --pink:#78414a;
  --red:#8b3940;
  --line:rgba(255,255,255,.18);
}
body{
  background:#151515;
}
.topbar{
  background:rgba(16,16,16,.78);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.hero-photo{
  filter:saturate(1.08) contrast(1.02) brightness(1.12);
  background-position:center 25%;
}
.color-wash{
  background:
    linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.25) 46%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.28) 100%),
    linear-gradient(0deg,rgba(15,15,15,.76) 0%,transparent 38%,rgba(0,0,0,.08) 100%);
}
.orb{opacity:.07}
.hero-copy{
  text-shadow:0 2px 12px rgba(0,0,0,.8);
}
.pill{
  background:rgba(0,0,0,.34);
  border-color:rgba(255,255,255,.35);
}
h1{
  text-shadow:0 3px 18px rgba(0,0,0,.8);
}
.intro,.tagline,.micro-socials{
  text-shadow:0 2px 10px rgba(0,0,0,.9);
}
.primary{
  background:linear-gradient(135deg,#e8c05c,#bd8424);
}
.blue{
  background:linear-gradient(135deg,#344e5f,#52758b);
}
.pink{
  background:linear-gradient(135deg,#63333a,#8c4b53);
}
.music,.videos,.story,.merch,.booking,.fanlist,.gallery,.featured-video{
  background:#1a1a1a;
}
.music,.story,.booking,.featured-video{
  background:linear-gradient(180deg,#202020,#171717);
}
.videos,.gallery,.merch,.fanlist{
  background:linear-gradient(180deg,#181818,#22201d);
}
.release-card,.video-card,.stat-row div{
  background:#222;
}
.gallery-grid figure{
  background:#222;
}
input,select,textarea{
  background:#252525;
}
footer{
  background:#121212;
}
@media(max-width:900px){
  .hero-photo{background-position:43% 25%}
  .color-wash{
    background:
      linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.14)),
      linear-gradient(0deg,rgba(15,15,15,.72),transparent 42%);
  }
}
@media(max-width:600px){
  .hero-photo{
    filter:saturate(1.08) contrast(1.01) brightness(1.17);
    background-position:43% 25%;
  }
  .color-wash{
    background:
      linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.08)),
      linear-gradient(0deg,rgba(15,15,15,.68),transparent 40%);
  }
}


/* EBM350 CLEAN LIGHTER ARTIST EDIT */
:root{
  --bg:#111214;
  --panel:#17181b;
  --text:#ffffff;
  --muted:#c8c8c8;
  --gold:#d5a437;
  --gold2:#f0cb69;
  --blue:#667789;
  --purple:#514d56;
  --pink:#74454b;
  --red:#7e373d;
  --line:rgba(255,255,255,.20);
}
body{
  background:#111214;
}
.hero-photo{
  filter:brightness(1.16) contrast(1.02) saturate(1.02);
  background-position:center 24%;
}
.color-wash{
  background:
    linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.25) 43%,rgba(0,0,0,.12) 67%,rgba(0,0,0,.30) 100%),
    linear-gradient(0deg,rgba(17,18,20,.88) 0%,transparent 34%,rgba(0,0,0,.08) 100%);
}
.orb{opacity:.05}
.topbar{
  background:rgba(15,16,18,.78);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.hero-copy{
  text-shadow:0 2px 14px rgba(0,0,0,.75);
}
.pill{
  background:rgba(0,0,0,.30);
  border-color:rgba(255,255,255,.40);
}
.primary{
  background:linear-gradient(135deg,#f1ce6b,#c89129);
  color:#101010;
  box-shadow:0 7px 24px rgba(0,0,0,.22);
}
.blue,.pink{
  background:rgba(24,25,28,.76);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:none;
}
.blue:hover,.pink:hover{
  border-color:#d5a437;
  color:#f0cb69;
}
.hero-badge{
  background:rgba(18,19,21,.72);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 12px 35px rgba(0,0,0,.28);
}
.music,.videos,.story,.merch,.booking,.fanlist,.gallery,.featured-video{
  background:#17181b;
}
.music,.story,.booking,.featured-video{
  background:#1d1e21;
}
.release-card,.video-card{
  background:#202125;
}
.cover-wrap:before{opacity:.06}
.portrait-glow{opacity:.07}
.gallery{
  background:#18191c !important;
}
.gallery-grid figure{
  background:#202125;
  border-color:rgba(255,255,255,.22);
}
.merch{
  background:#1b1c1f !important;
}
.booking{
  background:#202125 !important;
}
.fanlist{
  background:#18191c !important;
}
.featured-video{
  background:#202125 !important;
}
.native-video-wrap{
  background:#2a2b2f;
  border:1px solid rgba(255,255,255,.20);
  padding:10px;
}

/* Restore original color treatment for Book EBM350 */
.hero .btn.pink{
  background:linear-gradient(135deg,#ff2f9d,#8d3cff) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 0 28px rgba(255,47,157,.22) !important;
}
.hero .btn.pink:hover{
  filter:brightness(1.08);
  transform:translateY(-3px) scale(1.01);
}

.opp-brand-section{
  padding:70px 7vw;
  background:linear-gradient(180deg,#191919,#101010);
  text-align:center;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.opp-brand-inner{
  max-width:760px;margin:0 auto;
}
.opp-brand-section img{
  display:block;
  width:min(620px,95%);
  margin:18px auto 0;
  border-radius:18px;
  box-shadow:0 22px 55px rgba(0,0,0,.38);
}

/* OPP OR FAN ARTIST WORLD — selected demon graphic + scrolling background */
.opp-brand-section{
  padding:0 !important;
  background:#050505 !important;
  overflow:hidden;
}
.opp-brand-inner{
  max-width:none !important;
  width:100%;
  margin:0 !important;
}
.opp-brand-section img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Let the artwork live behind the lower page as visitors scroll */
.story,
.merch,
.booking,
.fanlist{
  position:relative;
  background:
    linear-gradient(rgba(16,16,16,.88),rgba(16,16,16,.91)),
    url('assets/opp-or-fan-scroll-background.png') center top / cover fixed no-repeat !important;
}
.story:before,
.merch:before,
.booking:before,
.fanlist:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.08),transparent,rgba(0,0,0,.08));
}
.story-grid,.merch-copy,.merch-visual,.booking-grid,.fanlist>*{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  .story,.merch,.booking,.fanlist{
    background:
      linear-gradient(rgba(16,16,16,.87),rgba(16,16,16,.92)),
      url('assets/opp-or-fan-scroll-background.png') center top / cover scroll no-repeat !important;
  }
}


/* ===== EBM350 3D DEPTH UPGRADE ===== */

body{
  perspective:1400px;
  perspective-origin:50% 20%;
  background:#101010;
}

main{
  transform-style:preserve-3d;
}

/* Make lower-page background artwork pop harder */
.story,
.merch,
.booking,
.fanlist{
  background:
    linear-gradient(rgba(12,12,12,.62),rgba(12,12,12,.72)),
    url('assets/opp-or-fan-scroll-background.png') center top / cover fixed no-repeat !important;
  box-shadow:
    inset 0 40px 90px rgba(0,0,0,.38),
    inset 0 -40px 90px rgba(0,0,0,.46);
}

/* Hero depth */
.hero{
  transform-style:preserve-3d;
  isolation:isolate;
}
.hero-photo{
  transform:translateZ(-40px) scale(1.04);
}
.hero-copy{
  transform:translateZ(80px);
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.35));
}
.hero-badge{
  transform:translateZ(120px) rotate(-3deg);
  box-shadow:
    0 30px 70px rgba(0,0,0,.45),
    0 0 30px rgba(201,151,47,.18);
}

/* 3D section cards */
.release-card,
.video-card,
.portrait,
.stat-row div,
.gallery-grid figure,
.native-video-wrap,
.opp-brand-inner,
.merch-visual,
#bookingForm,
.social-grid a{
  transform-style:preserve-3d;
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    filter .35s ease;
}

.release-card{
  transform:rotateX(1deg) rotateY(-1deg) translateZ(18px);
  box-shadow:
    0 30px 60px rgba(0,0,0,.42),
    0 8px 18px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.release-card:hover{
  transform:rotateX(0deg) rotateY(0deg) translateZ(34px) scale(1.01);
  box-shadow:
    0 45px 90px rgba(0,0,0,.55),
    0 0 28px rgba(201,151,47,.10);
}

.video-card{
  transform:translateZ(16px);
  box-shadow:0 24px 50px rgba(0,0,0,.36);
}
.video-card:nth-child(1){transform:rotateY(2deg) translateZ(18px)}
.video-card:nth-child(2){transform:translateZ(28px)}
.video-card:nth-child(3){transform:rotateY(-2deg) translateZ(18px)}
.video-card:hover{
  transform:translateZ(42px) scale(1.025);
  box-shadow:0 40px 80px rgba(0,0,0,.52);
}

.gallery-grid figure{
  box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.gallery-grid figure:nth-child(odd){
  transform:rotateY(1.2deg) translateZ(12px);
}
.gallery-grid figure:nth-child(even){
  transform:rotateY(-1.2deg) translateZ(18px);
}
.gallery-grid figure:hover{
  transform:translateZ(42px) scale(1.025);
  z-index:4;
  box-shadow:0 38px 80px rgba(0,0,0,.52);
}

.portrait{
  transform:rotateY(4deg) rotateX(1deg) translateZ(28px);
  box-shadow:0 40px 80px rgba(0,0,0,.5);
}
.portrait:hover{
  transform:rotateY(0deg) rotateX(0deg) translateZ(48px);
}

.stat-row div{
  backdrop-filter:blur(10px);
  background:rgba(28,28,28,.62) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.stat-row div:hover{
  transform:translateZ(22px) translateY(-4px);
}

.merch-visual{
  transform:translateZ(26px);
}
.tee{
  transform:rotateY(-8deg) rotateX(3deg);
  box-shadow:
    30px 40px 70px rgba(0,0,0,.52),
    -8px -8px 25px rgba(255,255,255,.03);
}

#bookingForm{
  padding:26px;
  background:rgba(20,20,20,.70);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(14px);
  box-shadow:
    0 30px 70px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.05);
  transform:rotateY(-1deg) translateZ(16px);
}

/* Feature demon artwork gets a poster floating effect */
.opp-brand-section{
  padding:70px 5vw !important;
  background:
    radial-gradient(circle at center,rgba(139,37,48,.16),transparent 45%),
    #0c0c0c !important;
}
.opp-brand-inner{
  max-width:1180px !important;
  margin:0 auto !important;
  transform:rotateX(1deg) translateZ(34px);
  box-shadow:
    0 55px 110px rgba(0,0,0,.58),
    0 0 50px rgba(139,37,48,.10);
  border:1px solid rgba(255,255,255,.10);
}
.opp-brand-section img{
  width:100% !important;
  display:block;
}
.opp-brand-inner:hover{
  transform:rotateX(0deg) translateZ(55px) scale(1.01);
}

/* Floating heading depth */
.section h2,
.story-copy h2,
.booking h2,
.fanlist h2,
.merch h2{
  text-shadow:
    0 3px 0 rgba(255,255,255,.03),
    0 10px 22px rgba(0,0,0,.38);
}

/* 3D buttons */
.btn{
  transform:translateZ(16px);
  box-shadow:
    0 10px 20px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.btn:hover{
  transform:translateY(-4px) translateZ(26px) scale(1.02);
}

/* glass overlays so artwork shows through */
.story-copy,
.merch-copy,
.booking-grid>div{
  background:rgba(18,18,18,.48);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  padding:28px;
  box-shadow:0 18px 46px rgba(0,0,0,.30);
}

/* subtle shine across cards */
.release-card:before,
.video-card:before,
.gallery-grid figure:before,
.opp-brand-inner:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    115deg,
    transparent 0%,
    rgba(255,255,255,.045) 35%,
    transparent 55%
  );
  opacity:.65;
  z-index:3;
}

/* Make background more visible on mobile without losing readability */
@media(max-width:700px){
  body{perspective:none}
  .story,
  .merch,
  .booking,
  .fanlist{
    background:
      linear-gradient(rgba(12,12,12,.58),rgba(12,12,12,.68)),
      url('assets/opp-or-fan-scroll-background.png') center top / cover scroll no-repeat !important;
  }
  .release-card,
  .video-card,
  .gallery-grid figure,
  .portrait,
  #bookingForm,
  .opp-brand-inner{
    transform:none !important;
  }
  .story-copy,
  .merch-copy,
  .booking-grid>div{
    background:rgba(18,18,18,.54);
  }
}


/* ===== EBM350 / OPP OR FAN FULL-PAGE 4D WORLD ===== */

:root{
  --of-red:#b5141b;
  --of-dark:#070707;
  --of-gold:#c89a38;
  --of-white:#f3f0e7;
}

/* Full-site world background */
body{
  background:#070707 !important;
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
}

/* Main scrolling demon artwork layer */
body::before{
  content:"";
  position:fixed;
  inset:-6vh -4vw;
  z-index:-6;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.46)),
    url('assets/opp-or-fan-scroll-background.png') center top / cover no-repeat;
  filter:
    saturate(1.28)
    contrast(1.13)
    brightness(.88);
  transform:
    translate3d(0,var(--of-bg-y,0px),-160px)
    scale(1.12);
  transform-origin:center top;
  transition:transform .1s linear;
}

/* Larger demon watermark floating through the site */
body::after{
  content:"";
  position:fixed;
  width:min(76vw,980px);
  height:min(76vw,980px);
  right:-14vw;
  top:13vh;
  z-index:-5;
  pointer-events:none;
  background:url('assets/mr-opp-or-fan-feature.jpg') center / contain no-repeat;
  opacity:.17;
  mix-blend-mode:screen;
  filter:
    saturate(1.4)
    contrast(1.25)
    drop-shadow(0 0 36px rgba(181,20,27,.32));
  transform:
    translate3d(var(--of-x,0px),var(--of-y,0px),-80px)
    rotate(var(--of-r,-2deg))
    scale(1.03);
  transition:transform .12s linear;
}

/* Keep content above 4D world */
.topbar,
main,
footer{
  position:relative;
  z-index:2;
}

/* Hero now feels open + layered instead of boxed in */
.hero{
  min-height:100svh;
  background:transparent !important;
  perspective:1800px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.54) 0%,rgba(0,0,0,.15) 52%,rgba(0,0,0,.22) 100%),
    linear-gradient(0deg,rgba(8,8,8,.92) 0%,transparent 36%,rgba(0,0,0,.10) 100%);
  pointer-events:none;
}
.hero-photo{
  filter:saturate(1.12) contrast(1.05) brightness(1.13) !important;
  transform:
    translate3d(0,var(--hero-y,0px),-45px)
    scale(1.075) !important;
  transition:transform .1s linear;
}
.color-wash{
  opacity:.34 !important;
  background:
    radial-gradient(circle at 15% 28%,rgba(181,20,27,.22),transparent 28%),
    radial-gradient(circle at 78% 24%,rgba(200,154,56,.12),transparent 25%),
    linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.05)) !important;
}
.hero-copy{
  transform:
    translate3d(var(--hero-x,0px),var(--hero-copy-y,0px),115px) !important;
}
.hero-badge{
  transform:
    translate3d(var(--badge-x,0px),var(--badge-y,0px),180px)
    rotate(-5deg) !important;
}

/* Make every major section translucent so background stays visible from top to bottom */
.music,
.videos,
.gallery,
.featured-video,
.story,
.merch,
.booking,
.fanlist,
.opp-brand-section{
  background:rgba(12,12,12,.62) !important;
  backdrop-filter:blur(5px);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 45px 100px rgba(0,0,0,.22);
}

/* Alternate section glass so it feels dimensional */
.music,
.gallery,
.story,
.booking{
  background:rgba(18,18,18,.56) !important;
}
.videos,
.featured-video,
.merch,
.fanlist{
  background:rgba(7,7,7,.48) !important;
}

/* Strong 4D floating planes */
.release-card,
.video-card,
.gallery-grid figure,
.portrait,
.native-video-wrap,
#bookingForm,
.stat-row div,
.social-grid a,
.opp-brand-inner{
  will-change:transform;
  transform-style:preserve-3d;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 28px 55px rgba(0,0,0,.46),
    0 8px 18px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Gold + red edge lighting */
.release-card,
#bookingForm,
.opp-brand-inner{
  box-shadow:
    0 36px 78px rgba(0,0,0,.52),
    -10px 0 32px rgba(181,20,27,.08),
    12px 0 30px rgba(200,154,56,.07),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Cards tilt based on mouse/touch values */
.release-card,
.opp-brand-inner{
  transform:
    perspective(1200px)
    rotateX(var(--tilt-x,1deg))
    rotateY(var(--tilt-y,-1deg))
    translateZ(34px);
}
.video-card,
.gallery-grid figure,
.portrait,
.native-video-wrap,
#bookingForm{
  transform:
    perspective(1100px)
    rotateX(var(--tilt-x2,.7deg))
    rotateY(var(--tilt-y2,.7deg))
    translateZ(24px);
}
.release-card:hover,
.video-card:hover,
.gallery-grid figure:hover,
.portrait:hover,
.native-video-wrap:hover,
#bookingForm:hover,
.opp-brand-inner:hover{
  transform:
    perspective(1100px)
    rotateX(0deg)
    rotateY(0deg)
    translateZ(64px)
    scale(1.018) !important;
  box-shadow:
    0 55px 110px rgba(0,0,0,.58),
    0 0 42px rgba(181,20,27,.11);
}

/* Demon feature becomes a cinematic divider */
.opp-brand-section{
  position:relative;
  padding:110px 5vw !important;
  overflow:hidden;
}
.opp-brand-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center,rgba(181,20,27,.24),transparent 42%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);
  pointer-events:none;
}
.opp-brand-inner{
  position:relative;
  z-index:2;
  max-width:1200px !important;
  margin:0 auto !important;
  border-radius:24px !important;
  overflow:hidden;
}
.opp-brand-section img{
  width:100% !important;
  display:block;
  filter:
    saturate(1.32)
    contrast(1.16)
    drop-shadow(0 0 25px rgba(181,20,27,.18));
}

/* Red demon light seams moving behind sections */
.section::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(181,20,27,.75),rgba(200,154,56,.40),transparent);
  box-shadow:0 0 18px rgba(181,20,27,.28);
}

/* Headings pop like dimensional lettering */
h1,
h2,
h3{
  text-shadow:
    0 3px 0 rgba(0,0,0,.75),
    0 8px 18px rgba(0,0,0,.42),
    0 0 1px rgba(255,255,255,.24) !important;
}
h1 span,
h2 em{
  filter:
    drop-shadow(0 4px 0 rgba(90,47,0,.65))
    drop-shadow(0 12px 18px rgba(0,0,0,.35));
}

/* Buttons = beveled 3D */
.btn{
  position:relative;
  overflow:hidden;
  transform:translateZ(30px);
  border-radius:5px;
  box-shadow:
    0 10px 0 rgba(0,0,0,.38),
    0 18px 28px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.18) 42%,transparent 62%);
  transform:translateX(-130%);
  transition:transform .6s ease;
}
.btn:hover::after{
  transform:translateX(130%);
}
.btn:hover{
  transform:translateY(-5px) translateZ(46px) scale(1.025) !important;
  box-shadow:
    0 13px 0 rgba(0,0,0,.34),
    0 25px 40px rgba(0,0,0,.40);
}

/* Background text watermark */
main::before{
  content:"OPP  OR  FAN???";
  position:fixed;
  left:-7vw;
  bottom:-7vh;
  z-index:-4;
  pointer-events:none;
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(90px,17vw,260px);
  letter-spacing:-2px;
  color:rgba(255,255,255,.025);
  transform:rotate(-8deg);
  white-space:nowrap;
}

/* Mobile keeps depth without making it jumpy */
@media(max-width:700px){
  body::before{
    position:fixed;
    inset:0;
    background:
      linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.44)),
      url('assets/opp-or-fan-scroll-background.png') 53% top / auto 125% no-repeat;
    transform:scale(1.02);
  }
  body::after{
    width:120vw;
    height:120vw;
    right:-52vw;
    top:20vh;
    opacity:.13;
  }
  .hero-copy,
  .hero-photo,
  .hero-badge,
  .release-card,
  .video-card,
  .gallery-grid figure,
  .portrait,
  .native-video-wrap,
  #bookingForm,
  .opp-brand-inner{
    transform:none !important;
  }
  .music,
  .videos,
  .gallery,
  .featured-video,
  .story,
  .merch,
  .booking,
  .fanlist{
    background:rgba(12,12,12,.59) !important;
  }
  .opp-brand-section{
    padding:55px 4vw !important;
  }
}


/* ===== USER EDIT: BLACK/GOLD DEMON + LOWER HERO WELCOME ===== */

/* Move the welcome/title group lower so it stays off the face/eyes */
.hero-copy{
  padding-top:110px !important;
}
.hero .eyebrow{
  margin-top:24px !important;
}

/* Black + gold treatment around the demon section */
.opp-brand-section{
  background:
    radial-gradient(circle at center,rgba(201,151,47,.20),transparent 44%),
    linear-gradient(180deg,#111,#050505) !important;
}
.opp-brand-inner{
  border:1px solid rgba(201,151,47,.34) !important;
  box-shadow:
    0 48px 100px rgba(0,0,0,.58),
    0 0 42px rgba(201,151,47,.12) !important;
}
.opp-brand-section img{
  filter:
    saturate(1.06)
    contrast(1.16)
    brightness(.98)
    drop-shadow(0 0 25px rgba(201,151,47,.16)) !important;
}

/* So the top photo remains clearly visible */
.hero::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.11) 52%,rgba(0,0,0,.18) 100%),
    linear-gradient(0deg,rgba(8,8,8,.80) 0%,transparent 34%,rgba(0,0,0,.06) 100%) !important;
}

@media(max-width:700px){
  .hero-copy{
    padding-top:145px !important;
  }
  .hero .eyebrow{
    margin-top:34px !important;
  }
}


/* ===== EBM350 BLACK DEVIL + GOLD LIGHT HERO FIX ===== */

/* Black/gold cinematic background layer */
.black-gold-world-layer{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.34)),
    url('assets/ebm350-black-gold-world.png') center 18% / cover no-repeat;
  opacity:.42;
  filter:saturate(.92) contrast(1.14) brightness(.88);
  mix-blend-mode:screen;
}

/* Push original artist photo slightly forward but keep it visible */
.hero-photo{
  z-index:0;
  opacity:.82;
  filter:saturate(1.05) contrast(1.03) brightness(1.10) !important;
}

/* Clear the face/eyes area at the top */
.hero::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.10) 55%,rgba(0,0,0,.18) 100%),
    linear-gradient(0deg,rgba(7,7,7,.88) 0%,transparent 32%,rgba(0,0,0,.04) 100%) !important;
}

/* MOVE welcome/EBM copy DOWN so it does not cover the eyes */
.hero-copy{
  padding-top:clamp(210px,31vh,340px) !important;
  align-self:flex-start;
  transform:translate3d(var(--hero-x,0px),var(--hero-copy-y,0px),115px) !important;
}

/* Keep the little official badge above the welcome copy but not over the face */
.hero-copy .pill{
  margin-bottom:14px;
}

/* Make WELCOME line visible without sitting across eyes */
.hero-copy .eyebrow{
  display:inline-block;
  padding:7px 12px;
  background:rgba(0,0,0,.42);
  border-left:3px solid #c89a38;
  text-shadow:0 2px 8px #000;
}

/* Black devil / gold-light color direction */
.hero{
  background:#060606 !important;
}
.color-wash{
  background:
    radial-gradient(circle at 50% 10%,rgba(255,231,166,.18),transparent 24%),
    radial-gradient(circle at 50% 36%,rgba(200,154,56,.13),transparent 27%),
    linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.03),rgba(0,0,0,.22)) !important;
  opacity:.7 !important;
}

/* Gold 'heaven' light from top, black/red devil atmosphere beneath */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,246,211,.20),transparent 19%),
    radial-gradient(ellipse at 50% 14%,rgba(218,172,70,.15),transparent 26%),
    linear-gradient(180deg,rgba(215,170,62,.07),transparent 30%,rgba(0,0,0,.05) 62%,rgba(0,0,0,.24));
  mix-blend-mode:screen;
}

/* Bring hero content above new atmospheric layers */
.hero-copy,
.hero-badge,
.enter{
  z-index:5 !important;
}

/* Tone hero lettering into black/chrome/gold instead of colorful */
.hero h1{
  color:#f3f1eb;
  text-shadow:
    0 4px 0 #080808,
    0 12px 28px rgba(0,0,0,.62),
    0 0 16px rgba(255,255,255,.06) !important;
}
.hero h1 span{
  background:linear-gradient(180deg,#fff1ad 0%,#d4a13b 48%,#845813 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.55)) !important;
}

/* Keep Book EBM350 original color as requested */
.hero .btn.pink{
  background:linear-gradient(135deg,#ff2f9d,#8d3cff) !important;
  color:#fff !important;
  box-shadow:0 0 26px rgba(255,47,157,.20) !important;
}

@media(max-width:700px){
  .black-gold-world-layer{
    background-position:50% 9%;
    opacity:.34;
  }
  .hero-copy{
    padding-top:45vh !important;
  }
  .hero-photo{
    opacity:.88;
  }
}

/* LONG LIVE KING 40 TRIBUTE */
.king40-tribute{
  min-height:520px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  text-align:center;
  padding:90px 7vw;
  background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.72)),
    url('assets/opp-or-fan-scroll-background.png') center 72% / cover no-repeat;
  border-top:1px solid rgba(200,154,56,.22);
  border-bottom:1px solid rgba(200,154,56,.18);
  isolation:isolate;
}
.king40-tribute:before{
  content:"40";
  position:absolute;
  z-index:-1;
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(260px,46vw,700px);
  line-height:.7;
  color:rgba(255,255,255,.025);
  transform:rotate(-5deg);
}
.king40-glow{
  position:absolute;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(238,202,112,.18),rgba(200,154,56,.06) 42%,transparent 70%);
  filter:blur(10px);
  z-index:-1;
}
.king40-content{
  position:relative;
  padding:45px 65px;
  background:rgba(7,7,7,.55);
  border:1px solid rgba(218,177,78,.28);
  backdrop-filter:blur(8px);
  box-shadow:0 35px 80px rgba(0,0,0,.52),0 0 45px rgba(200,154,56,.08);
}
.king40-crown{
  display:block;
  color:#d7aa43;
  font-size:48px;
  line-height:1;
  text-shadow:0 0 22px rgba(215,170,67,.28);
}
.king40-content>p{
  color:#d7aa43;
  font-size:11px;
  font-weight:900;
  letter-spacing:5px;
  margin:12px 0 16px;
}
.king40-content h2{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(65px,10vw,135px);
  line-height:.78;
  color:#f2f0ea;
  text-shadow:0 6px 20px #000;
}
.king40-content h2 em{
  font-style:normal;
  color:#d7aa43;
  background:linear-gradient(180deg,#f3d986,#b47a20);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.king40-symbols{
  margin-top:26px;
  font-size:28px;
  letter-spacing:10px;
}
.king40-line{
  width:110px;height:2px;
  margin:24px auto 16px;
  background:linear-gradient(90deg,transparent,#d7aa43,transparent);
}
.king40-content small{
  color:#b9b4a9;
  letter-spacing:3px;
  font-size:9px;
  font-weight:800;
}
@media(max-width:600px){
  .king40-tribute{min-height:440px;padding:65px 5vw}
  .king40-content{padding:38px 22px;width:100%}
  .king40-symbols{font-size:23px}
}

.official-platforms{
  position:relative;
  padding:90px 7vw;
  text-align:center;
  background:rgba(10,10,10,.66);
  backdrop-filter:blur(7px);
  border-top:1px solid rgba(255,255,255,.08);
}
.official-platforms h2{
  font-size:clamp(60px,8vw,105px);
  margin-bottom:36px;
}
.platform-link-grid{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.platform-link-grid a{
  min-height:105px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:20px;
  background:rgba(22,22,22,.78);
  border:1px solid rgba(215,170,67,.22);
  box-shadow:0 18px 38px rgba(0,0,0,.32);
  transition:.25s;
}
.platform-link-grid a:hover{
  transform:translateY(-5px);
  border-color:#d7aa43;
  box-shadow:0 28px 50px rgba(0,0,0,.45),0 0 20px rgba(215,170,67,.08);
}
.platform-link-grid b{
  font-family:"Bebas Neue",sans-serif;
  font-size:27px;
  letter-spacing:1px;
  color:#f3f0e8;
}
.platform-link-grid span{
  color:#d7aa43;
  font-size:11px;
  margin-top:5px;
}
@media(max-width:900px){.platform-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.platform-link-grid{grid-template-columns:1fr}}

/* REAL EBM350 SPOTIFY PLAYER */
.real-streaming-player{
  margin-top:24px;
  padding:18px;
  border:1px solid rgba(215,170,67,.24);
  background:
    linear-gradient(145deg,rgba(15,15,15,.94),rgba(8,8,8,.98));
  box-shadow:
    0 24px 55px rgba(0,0,0,.46),
    0 0 24px rgba(215,170,67,.06);
  border-radius:18px;
}
.player-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:14px;
}
.player-label span{
  color:#d7aa43;
  font-size:10px;
  font-weight:900;
  letter-spacing:2.5px;
}
.player-label b{
  color:#f5f2ea;
  font-size:12px;
  letter-spacing:1.4px;
}
.real-streaming-player iframe{
  display:block;
  width:100%;
  min-height:352px;
  border:0;
}
@media(max-width:600px){
  .real-streaming-player{padding:10px}
  .player-label{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* KING 40 PHOTO BACKGROUND UPDATE */
.king40-tribute{
  background:
    linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.58) 50%,rgba(0,0,0,.76) 100%),
    linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.18),rgba(0,0,0,.62)),
    url('assets/king40-background.jpg') center 28% / cover no-repeat !important;
  min-height:650px !important;
}
.king40-tribute:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,transparent 0%,rgba(0,0,0,.10) 42%,rgba(0,0,0,.50) 100%),
    linear-gradient(90deg,transparent,rgba(215,170,67,.05),transparent);
}
.king40-content{
  z-index:3 !important;
  background:rgba(5,5,5,.50) !important;
  backdrop-filter:blur(3px);
  border-color:rgba(215,170,67,.42) !important;
  box-shadow:
    0 35px 90px rgba(0,0,0,.58),
    0 0 40px rgba(215,170,67,.10) !important;
}
@media(max-width:600px){
  .king40-tribute{
    min-height:600px !important;
    background:
      linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.20),rgba(0,0,0,.56)),
      url('assets/king40-background.jpg') 52% 22% / cover no-repeat !important;
  }
  .king40-content{
    background:rgba(5,5,5,.46) !important;
  }
}

/* KING 40 PHOTO BACKGROUND — actual website */
.king40-tribute{
  min-height:680px !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28) 48%,rgba(0,0,0,.58)),
    linear-gradient(0deg,rgba(0,0,0,.82),transparent 46%,rgba(0,0,0,.36)),
    url('assets/king40-tribute-photo.jpg') center 34% / cover no-repeat !important;
}
.king40-tribute:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 40%,transparent 20%,rgba(0,0,0,.18) 65%),
    linear-gradient(135deg,rgba(215,170,67,.09),transparent 35%,rgba(139,37,48,.06));
}
.king40-content{
  background:rgba(4,4,4,.50) !important;
  backdrop-filter:blur(4px);
  border:1px solid rgba(218,177,78,.42) !important;
  box-shadow:
    0 35px 80px rgba(0,0,0,.55),
    0 0 45px rgba(215,170,67,.10) !important;
}
@media(max-width:600px){
  .king40-tribute{
    min-height:650px !important;
    background:
      linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.20) 55%,rgba(0,0,0,.30)),
      url('assets/king40-tribute-photo.jpg') center 22% / cover no-repeat !important;
  }
  .king40-content{
    margin-top:210px;
    background:rgba(4,4,4,.54) !important;
  }
}


/* EBM350 YOUTUBE VIDEO EMBEDS */
.youtube-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.youtube-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.youtube-added{
  overflow:hidden;
}
.video-youtube-link{
  display:inline-block;
  margin:0 20px 22px;
  color:#d7aa43;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.video-youtube-link:hover{
  color:#f0c96a;
}


/* LARGE EBM350 VIDEO LIBRARY */
.video-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.youtube-added{
  min-width:0;
}
@media(max-width:1050px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  .video-grid{grid-template-columns:1fr !important}
}

/* CLEAN REAL-VIDEO SECTION */
.youtube-embed{
  background-size:cover;
  background-position:center;
  background-color:#080808;
}
.youtube-embed::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.24),rgba(0,0,0,.04));
  pointer-events:none;
  z-index:0;
}
.youtube-embed iframe{
  position:relative;
  z-index:1;
}
.youtube-added h3{
  font-size:30px !important;
  margin-top:6px !important;
}
.videos .section-top h2{
  font-size:clamp(44px,6vw,82px) !important;
}

/* EBM350 COLLABORATIONS */
.collabs{
  background:rgba(9,9,9,.58) !important;
  backdrop-filter:blur(6px);
}
.collab-intro{
  max-width:760px;
  color:#d2cec4;
  font-size:18px;
  margin:-15px 0 38px;
}
.collab-regions{
  display:grid;
  grid-template-columns:2fr repeat(4,1fr);
  gap:12px;
}
.collab-region{
  min-height:230px;
  padding:25px 20px;
  border:1px solid rgba(215,170,67,.20);
  background:rgba(17,17,17,.72);
  box-shadow:0 22px 48px rgba(0,0,0,.36);
  transition:.25s;
}
.collab-region:hover{
  transform:translateY(-6px);
  border-color:rgba(215,170,67,.55);
  box-shadow:0 32px 60px rgba(0,0,0,.48),0 0 20px rgba(215,170,67,.06);
}
.collab-region span{
  display:block;
  color:#d7aa43;
  font-size:10px;
  font-weight:900;
  letter-spacing:2.5px;
  margin-bottom:18px;
}
.collab-region h3{
  font-family:"Bebas Neue",sans-serif;
  font-size:29px;
  line-height:1.1;
  margin:8px 0;
  color:#f4f1e9;
}
.collab-tag{
  margin-top:28px;
  color:#d7aa43;
  font-size:11px;
  font-weight:900;
  letter-spacing:2.4px;
}
@media(max-width:1050px){
  .collab-regions{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .collab-regions{grid-template-columns:1fr}
}

/* EBM350 VISUAL CREDITS */
.visual-credits{
  background:rgba(12,12,12,.60) !important;
  backdrop-filter:blur(6px);
}
.credits-intro{
  color:#d1ccc2;
  font-size:18px;
  margin:-12px 0 32px;
}
.credits-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.credit-card{
  min-height:200px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(145deg,rgba(25,25,25,.82),rgba(8,8,8,.86));
  border:1px solid rgba(215,170,67,.22);
  box-shadow:0 24px 55px rgba(0,0,0,.38);
}
.credit-card span{
  color:#d7aa43;
  font-size:9px;
  font-weight:900;
  letter-spacing:2px;
}
.credit-card h3{
  font-family:"Bebas Neue",sans-serif;
  font-size:42px;
  margin:8px 0 2px;
}
.credit-card p{
  color:#aaa59b;
  font-weight:700;
}
@media(max-width:700px){
  .credits-grid{grid-template-columns:1fr}
}

/* EBM350 NEW RELEASE VIDEO */
.new-release-video{
  margin:24px 0;
  padding:8px;
  background:linear-gradient(135deg,#171717,#0a0a0a);
  border:1px solid rgba(215,170,67,.30);
  box-shadow:0 25px 55px rgba(0,0,0,.42);
}
.new-release-video iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
}
.new-release-video a{
  display:block;
  padding:14px 12px 8px;
  color:#d7aa43;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.5px;
  text-align:center;
}

/* EBM350 FULL ARTIST BIOGRAPHY */
.story-grid{
  align-items:start !important;
}
.story-copy{
  max-width:none !important;
}
.story-copy p{
  line-height:1.78 !important;
}
.story-copy strong{
  color:#f1c55d;
}
.bio-quote{
  margin:32px 0;
  padding:25px 28px;
  border-left:4px solid #d7aa43;
  background:rgba(0,0,0,.34);
  color:#f5f1e8;
  font-size:clamp(19px,2vw,25px);
  font-weight:700;
  font-style:italic;
  line-height:1.55;
  box-shadow:0 18px 38px rgba(0,0,0,.25);
}
.bio-signoff{
  color:#d7aa43 !important;
  letter-spacing:.5px;
}
@media(max-width:700px){
  .story-copy{
    padding:25px 20px !important;
  }
  .story-copy p{
    font-size:16px !important;
  }
}

.back-to-music{
  margin:30px 0 !important;
  padding:22px 25px;
  border-left:4px solid #d7aa43;
  background:rgba(0,0,0,.38);
}
.back-to-music strong{
  display:block;
  font-family:"Bebas Neue",sans-serif;
  font-size:30px;
  letter-spacing:2px;
  color:#d7aa43 !important;
  margin-bottom:8px;
}

/* EBM350 INDEPENDENT STORY */
.independent-statement{
  margin:36px 0;
  padding:30px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(5,5,5,.84),rgba(28,22,10,.72));
  border:1px solid rgba(215,170,67,.36);
  box-shadow:0 24px 55px rgba(0,0,0,.38);
}
.independent-statement:after{
  content:"INDEPENDENT";
  position:absolute;
  right:-20px;
  bottom:-25px;
  font-family:"Bebas Neue",sans-serif;
  font-size:88px;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.independent-statement h3{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(34px,4vw,54px);
  color:#f3f0e8;
  margin:8px 0 18px;
}
.independent-statement p{
  position:relative;
  z-index:1;
}
.independent-line{
  color:#d7aa43 !important;
  font-size:12px !important;
  font-weight:900;
  letter-spacing:2px;
  margin-top:22px !important;
}

/* EBM350 MERCH TEASER */
.merch-apology{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(34px,5vw,58px) !important;
  line-height:1 !important;
  color:#f2eee5 !important;
  margin:15px 0 10px !important;
  letter-spacing:1px;
}
.merch-coming-line{
  color:#d7aa43 !important;
  font-size:10px !important;
  font-weight:900;
  letter-spacing:2.2px;
  margin-top:22px !important;
}

/* ===== FINAL IPHONE-SAFE NATIVE MOBILE MENU ===== */
.mobile-menu{display:none}

@media(max-width:900px){
  .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:999999 !important;
    overflow:visible !important;
  }

  .desktop-nav{
    display:none !important;
  }

  .mobile-menu{
    display:block !important;
    position:relative;
    margin:0;
    padding:0;
  }

  .mobile-menu summary{
    list-style:none;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#fff;
    font-size:30px;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .mobile-menu summary::-webkit-details-marker{
    display:none;
  }

  .mobile-menu .closemark{display:none}
  .mobile-menu[open] .hamburger{display:none}
  .mobile-menu[open] .closemark{display:inline}

  .mobile-menu-panel{
    position:absolute !important;
    top:58px !important;
    right:0 !important;
    width:min(82vw,360px) !important;
    max-height:70vh !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    background:#080808 !important;
    border:1px solid rgba(215,170,67,.35) !important;
    border-radius:10px !important;
    padding:10px 18px 14px !important;
    box-shadow:0 28px 60px rgba(0,0,0,.72) !important;
    z-index:1000000 !important;
  }

  .mobile-menu-panel a{
    display:block !important;
    color:#fff !important;
    padding:16px 6px !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
    text-align:left !important;
  }

  .mobile-menu-panel a:last-child{
    border-bottom:0 !important;
  }

  /* The menu NEVER locks the page. */
  html, body{
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
}

@media(min-width:901px){
  .desktop-nav{
    display:flex !important;
  }
  .mobile-menu{
    display:none !important;
  }
}

/* ===== EBM350 FULL-PAGE PULSE / BLINK EFFECT ===== */
/* A cinematic pulse rather than a harsh strobe. */
body::before{
  animation:ebmBackgroundPulse 4.2s ease-in-out infinite !important;
  will-change:filter,opacity;
}

body::after{
  animation:ebmDemonPulse 4.2s ease-in-out infinite !important;
  will-change:opacity,filter;
}

main::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 24%,rgba(215,170,67,.13),transparent 32%),
    radial-gradient(circle at 50% 65%,rgba(139,37,48,.09),transparent 40%);
  animation:ebmLightFlash 4.2s ease-in-out infinite;
}

@keyframes ebmBackgroundPulse{
  0%,100%{
    opacity:.82;
    filter:saturate(1.05) contrast(1.06) brightness(.82);
  }
  46%{
    opacity:.98;
    filter:saturate(1.16) contrast(1.12) brightness(1.03);
  }
  52%{
    opacity:.72;
    filter:saturate(.95) contrast(1.04) brightness(.74);
  }
  60%{
    opacity:1;
    filter:saturate(1.18) contrast(1.13) brightness(1.06);
  }
}

@keyframes ebmDemonPulse{
  0%,100%{opacity:.13;filter:saturate(1.1) contrast(1.1)}
  48%{opacity:.24;filter:saturate(1.35) contrast(1.22) drop-shadow(0 0 26px rgba(215,170,67,.18))}
  55%{opacity:.10}
  62%{opacity:.22}
}

@keyframes ebmLightFlash{
  0%,42%,100%{opacity:.18}
  48%{opacity:.58}
  53%{opacity:.10}
  60%{opacity:.48}
  68%{opacity:.20}
}

/* Keep text/cards readable while the world behind them pulses */
.section,
.official-platforms,
.king40-tribute,
.opp-brand-section{
  isolation:isolate;
}

/* Respect accessibility settings automatically */
@media (prefers-reduced-motion: reduce){
  body::before,
  body::after,
  main::after{
    animation:none !important;
  }
}

/* ===== STRONGER EBM350 BACKGROUND BLINK ===== */

/* Dedicated visible pulse layer */
.ebm-blink-layer{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.58)),
    url('assets/opp-or-fan-scroll-background.png') center top / cover no-repeat;
  opacity:.38;
  filter:brightness(.68) contrast(1.02) saturate(.9);
  animation:ebmStrongBlink 2.6s steps(1,end) infinite;
}

/* Put actual site content above the blinking artwork */
.topbar, main, footer{
  position:relative;
  z-index:2;
}

/* Bright phase makes the artwork pop sharply */
@keyframes ebmStrongBlink{
  0%, 34%, 100%{
    opacity:.34;
    filter:brightness(.62) contrast(1.02) saturate(.88);
  }

  35%, 41%{
    opacity:.95;
    filter:brightness(1.22) contrast(1.24) saturate(1.24)
           drop-shadow(0 0 18px rgba(215,170,67,.16));
  }

  42%, 51%{
    opacity:.26;
    filter:brightness(.50) contrast(1.0) saturate(.82);
  }

  52%, 59%{
    opacity:1;
    filter:brightness(1.30) contrast(1.30) saturate(1.28)
           drop-shadow(0 0 24px rgba(139,37,48,.12));
  }

  60%, 72%{
    opacity:.30;
    filter:brightness(.56) contrast(1.01) saturate(.85);
  }

  73%, 78%{
    opacity:.90;
    filter:brightness(1.18) contrast(1.22) saturate(1.20);
  }

  79%, 99%{
    opacity:.36;
    filter:brightness(.64) contrast(1.02) saturate(.90);
  }
}

/* Make the existing world layer pulse in sync */
body::before{
  animation:ebmWorldPop 2.6s steps(1,end) infinite !important;
}
@keyframes ebmWorldPop{
  0%,34%,100%{
    opacity:.58;
    filter:brightness(.70) contrast(1.05) saturate(.95);
  }
  35%,41%,52%,59%,73%,78%{
    opacity:1;
    filter:brightness(1.16) contrast(1.18) saturate(1.18);
  }
  42%,51%,60%,72%,79%,99%{
    opacity:.52;
    filter:brightness(.66) contrast(1.04) saturate(.92);
  }
}

/* Slight glow pulse on section edges during bright beat */
.section,
.opp-brand-section,
.king40-tribute,
.official-platforms{
  animation:ebmEdgePulse 2.6s steps(1,end) infinite;
}
@keyframes ebmEdgePulse{
  0%,34%,42%,51%,60%,72%,79%,100%{
    box-shadow:inset 0 0 0 rgba(215,170,67,0);
  }
  35%,41%,52%,59%,73%,78%{
    box-shadow:
      inset 0 0 55px rgba(215,170,67,.035),
      0 0 26px rgba(0,0,0,.18);
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .ebm-blink-layer,
  body::before,
  .section,
  .opp-brand-section,
  .king40-tribute,
  .official-platforms{
    animation:none !important;
  }
}

/* ===== FORCED JS BLINK — WORKS EVEN WHEN CSS MOTION IS DISABLED ===== */
.ebm-blink-layer{
  display:block !important;
  visibility:visible !important;
  transition:none !important;
  animation:none !important;
  opacity:.22 !important;
  filter:brightness(.48) contrast(1.02) saturate(.85) !important;
}
html.ebm-flash .ebm-blink-layer{
  opacity:1 !important;
  filter:brightness(1.48) contrast(1.34) saturate(1.30) !important;
}
html.ebm-flash body::before{
  opacity:1 !important;
  filter:brightness(1.30) contrast(1.24) saturate(1.20) !important;
}
html:not(.ebm-flash) body::before{
  opacity:.42 !important;
  filter:brightness(.58) contrast(1.02) saturate(.88) !important;
}

/* FINAL BOOKING + MOBILE MENU UX */
.hidden-field{display:none!important}

.booking-direct{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:10px;
}
.booking-contact-btn{
  display:block;
  padding:15px 18px;
  border:1px solid rgba(215,170,67,.38);
  background:rgba(7,7,7,.72);
  color:#fff!important;
  font-weight:900;
  letter-spacing:.5px;
  overflow-wrap:anywhere;
}
.booking-contact-btn:hover{
  border-color:#d7aa43;
  color:#d7aa43!important;
}
#bookingStatus{
  color:#d7aa43!important;
  font-size:12px!important;
  line-height:1.5;
}

@media(max-width:900px){
  .mobile-menu-panel{
    z-index:1000000!important;
  }
  .mobile-menu[open]::before{
    content:"";
    position:fixed;
    inset:76px 0 0 0;
    background:rgba(0,0,0,.16);
    z-index:-1;
  }
}

.hidden-field{display:none!important}
.booking-direct{display:grid;gap:10px;margin-top:10px}
.booking-direct a{
 display:block;padding:14px 16px;border:1px solid rgba(215,170,67,.35);
 color:#fff!important;background:rgba(8,8,8,.7);font-weight:800;overflow-wrap:anywhere
}
#bookingStatus a{color:#d7aa43!important;text-decoration:underline}

/* Direct email/text block intentionally removed; booking form remains active. */
.booking-direct{display:none!important}

.hidden-field{display:none!important}
.fan-form{display:grid;gap:14px}
.fan-form input[type="email"]{
 width:100%;padding:18px 20px;background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.18);color:#fff;font-size:16px
}
.fan-form button{
 width:100%;padding:18px;background:rgba(10,10,10,.75);
 border:1px solid rgba(255,255,255,.32);color:#fff;font-weight:900;
 letter-spacing:2px;cursor:pointer
}
.fan-status{
 color:#d7aa43!important;text-align:center;font-size:13px!important;line-height:1.5
}

/* ===== EBM350 INNER CIRCLE ===== */
.inner-circle-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:22px;
}
.inner-circle-head{
  grid-column:1/-1;
  padding:24px;
  border:1px solid rgba(215,170,67,.28);
  background:linear-gradient(135deg,rgba(20,16,8,.82),rgba(6,6,6,.88));
}
.inner-circle-head h3,
.inner-circle-preview h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(38px,5vw,62px);
  margin:5px 0 10px;
}
.inner-circle-head p:last-child{
  color:#d5d0c5;
  line-height:1.6;
}
.inner-circle-form label{
  display:grid;
  gap:8px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
}
.inner-circle-form input,
.inner-circle-form select{
  width:100%;
  padding:17px 18px;
  color:#fff;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.18);
  border-radius:0;
}
.inner-circle-form button,
.inner-circle-form .fan-status{
  grid-column:1/-1;
}
.inner-circle-form button{
  padding:19px;
  border:1px solid rgba(215,170,67,.48);
  background:linear-gradient(135deg,#c99b37,#e1b850);
  color:#080808;
  font-weight:1000;
  letter-spacing:2px;
}
.optional{color:#8d887f;font-size:9px}
.fan-status{
  color:#d7aa43!important;
  text-align:center;
  font-size:12px!important;
}

.inner-circle-preview{
  margin-top:32px;
  padding:28px;
  border:1px solid rgba(215,170,67,.28);
  background:rgba(5,5,5,.70);
}
.preview-lockup{max-width:760px;margin-bottom:22px}
.preview-lockup p:last-child{color:#c8c2b7;line-height:1.6}
.preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.preview-card{
  min-height:260px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 75% 10%,rgba(215,170,67,.13),transparent 32%),
    linear-gradient(145deg,#171717,#080808);
  box-shadow:0 28px 55px rgba(0,0,0,.36);
}
.preview-card span{
  color:#d7aa43;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
}
.preview-card h4{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:38px;
  margin:7px 0;
}
.preview-card p{color:#aaa49a;line-height:1.5}
.preview-badge{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid rgba(215,170,67,.25);
  color:#d7aa43;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
}
@media(max-width:700px){
  .inner-circle-form{grid-template-columns:1fr}
  .inner-circle-head,
  .inner-circle-form button,
  .inner-circle-form .fan-status{grid-column:1}
  .preview-grid{grid-template-columns:1fr}
}

/* ===== OPP OR FAN VOTE — ACTUAL WEBSITE SECTION ===== */
.opp-fan-vote{
  margin-top:28px;
  padding:8px 0 26px;
}
.opp-fan-vote-inner{
  padding:28px 24px;
  border:1px solid rgba(190,22,28,.68);
  background:
    radial-gradient(circle at 15% 15%,rgba(160,0,8,.13),transparent 30%),
    radial-gradient(circle at 88% 82%,rgba(215,170,67,.08),transparent 30%),
    rgba(4,4,4,.90);
  box-shadow:0 28px 65px rgba(0,0,0,.46);
  text-align:center;
}
.vote-kicker{
  color:#d72b2b!important;
  font-size:16px!important;
  font-weight:1000!important;
  letter-spacing:1.7px!important;
  margin:0 0 7px!important;
}
.opp-fan-vote h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(42px,7vw,72px);
  line-height:.95;
  color:#fff;
  margin:0;
}
.vote-sub{
  color:#d72b2b!important;
  font-weight:900!important;
  letter-spacing:2px!important;
  margin:10px 0 22px!important;
}
.vote-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.vote-btn{
  min-height:96px;
  background:#060606;
  font-size:28px;
  font-weight:1000;
  letter-spacing:2px;
  cursor:pointer;
}
.vote-btn.opp{
  border:2px solid #e22323;
  color:#e22323;
}
.vote-btn.fan{
  border:2px solid #f2f2f2;
  color:#fff;
}
.vote-btn.opp.selected{
  background:#e22323;
  color:#080808;
  box-shadow:0 0 30px rgba(226,35,35,.28);
}
.vote-btn.fan.selected{
  background:#f2f2f2;
  color:#080808;
  box-shadow:0 0 30px rgba(255,255,255,.18);
}
.vote-status{
  margin:18px 0 0!important;
  color:#c8c2b7!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:1.5px!important;
}
@media(max-width:600px){
  .opp-fan-vote-inner{padding:24px 16px}
  .vote-buttons{gap:10px}
  .vote-btn{min-height:82px;font-size:24px}
}

/* INNER CIRCLE EXCLUSIVES PROMO IMAGE */
.exclusives-image-card{
  padding:0!important;
  overflow:hidden;
  background:#050505!important;
  border:1px solid rgba(215,170,67,.30)!important;
}
.exclusives-image-card img,
.exclusive-promo-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.exclusive-promo-image{
  margin-top:18px;
  overflow:hidden;
  border:1px solid rgba(215,170,67,.30);
  background:#050505;
}

/* Cropped promo artwork: embedded netlify.app browser bar removed. */
.exclusives-image-card img{width:100%;height:auto;display:block}

/* ===== OPP OR FAN PERSONALIZED VOTE THANK-YOU ===== */
.vote-thankyou{
  display:none;
  position:relative;
  min-height:250px;
  margin-top:22px;
  overflow:hidden;
  border:1px solid rgba(215,170,67,.38);
  background:
    linear-gradient(rgba(0,0,0,.50),rgba(0,0,0,.72)),
    url('assets/opp-or-fan-scroll-background.png') center / cover no-repeat;
  box-shadow:
    0 30px 70px rgba(0,0,0,.52),
    inset 0 0 65px rgba(0,0,0,.28);
}
.vote-thankyou.show{
  display:flex;
  align-items:center;
  justify-content:center;
  animation:voteThankPop .42s cubic-bezier(.2,.85,.25,1.2) both;
}
.vote-thankyou::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 45%,rgba(215,170,67,.13),transparent 48%);
}
.vote-thankyou.opp-vote{
  border-color:rgba(226,35,35,.68);
  box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 35px rgba(180,15,22,.15);
}
.vote-thankyou.fan-vote{
  border-color:rgba(215,170,67,.58);
  box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 35px rgba(215,170,67,.14);
}
.vote-thankyou-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:32px 20px;
  text-align:center;
  text-shadow:0 3px 12px #000;
}
.vote-thanks-small{
  color:#d7aa43!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:2.3px!important;
  margin-bottom:10px!important;
}
.vote-thankyou h4{
  margin:0;
  color:#fff;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(38px,7vw,68px);
  line-height:.95;
}
.vote-thankyou.opp-vote h4{color:#f0eeee}
.vote-thankyou.fan-vote h4{color:#fff6dc}
.vote-thankyou-content p:last-child{
  margin:14px auto 0!important;
  max-width:520px;
  color:#eee9df!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:1px!important;
}
@keyframes voteThankPop{
  0%{opacity:0;transform:scale(.88) translateY(18px);filter:brightness(.6)}
  65%{opacity:1;transform:scale(1.025) translateY(0);filter:brightness(1.18)}
  100%{opacity:1;transform:scale(1);filter:brightness(1)}
}

.vote-email-label{
  display:block;
  max-width:620px;
  margin:0 auto 18px;
  color:#d7aa43;
  text-align:left;
  font-size:10px;
  font-weight:1000;
  letter-spacing:1.8px;
}
.vote-email-label input{
  display:block;
  width:100%;
  margin-top:8px;
  padding:16px 17px;
  border:1px solid rgba(215,170,67,.38);
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:16px;
}
.vote-email-label input:focus{
  outline:none;
  border-color:#d7aa43;
  box-shadow:0 0 0 2px rgba(215,170,67,.10);
}

.vote-email-notice{
  max-width:620px;
  margin:0 auto 7px;
  padding:12px 14px;
  border:1px solid rgba(215,170,67,.48);
  background:rgba(215,170,67,.10);
  color:#f0c95d;
  font-size:13px;
  font-weight:1000;
  letter-spacing:1.4px;
  text-align:center;
}
.vote-email-explain{
  margin:0 auto 16px!important;
  color:#d2ccc1!important;
  font-size:12px!important;
  text-align:center;
}
.vote-email-explain strong{color:#fff}

/* OPP OR FAN VOTE TALLY */
.vote-tally{
  margin:22px auto 0;
  padding:20px;
  max-width:720px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(4,4,4,.72);
}
.vote-tally-title{
  color:#d7aa43!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:2.3px!important;
  text-align:center;
  margin:0 0 14px!important;
}
.vote-tally-row{
  display:grid;
  grid-template-columns:1fr .8fr 1fr;
  align-items:center;
  gap:8px;
  text-align:center;
}
.vote-tally-row span{
  display:block;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
  color:#aaa49a;
}
.vote-tally-row strong{
  display:block;
  margin-top:4px;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:42px;
  line-height:1;
}
.tally-opp strong{color:#e22323}
.tally-fan strong{color:#f5f2e9}
.tally-total strong{color:#d7aa43}
.tally-bars{
  display:flex;
  width:100%;
  height:10px;
  margin-top:16px;
  overflow:hidden;
  background:#151515;
}
.opp-bar{width:0;background:#e22323;transition:width .4s ease}
.fan-bar{width:0;background:#e8e4da;transition:width .4s ease}
.tally-percent{
  display:flex;
  justify-content:space-between;
  margin:8px 0 0!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:1px!important;
  color:#bdb7ad!important;
}

/* FAN-ONLY PUBLIC TALLY */
.fan-only-tally{text-align:center!important}
.fan-count-main span{
 display:block;color:#d7aa43;font-size:11px;font-weight:1000;letter-spacing:2px
}
.fan-count-main strong{
 display:block;font-family:"Bebas Neue",Impact,sans-serif;
 font-size:72px;line-height:1;color:#fff;margin-top:6px
}
.fan-count-note{
 color:#8f8980!important;font-size:9px!important;font-weight:800!important;
 letter-spacing:1.2px!important;margin:12px 0 0!important
}

/* INSTAGRAM FOLLOW GATE FOR OPP/FAN VOTE */
.ig-vote-gate{
  max-width:720px;
  margin:0 auto 18px;
  padding:22px;
  text-align:center;
  border:1px solid rgba(215,170,67,.38);
  background:linear-gradient(145deg,rgba(25,18,8,.72),rgba(5,5,5,.88));
}
.ig-gate-kicker{
  color:#d7aa43!important;font-size:9px!important;font-weight:1000!important;
  letter-spacing:2.3px!important;margin:0 0 5px!important
}
.ig-vote-gate h4{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:32px;margin:0 0 7px;color:#fff
}
.ig-vote-gate>p:not(.ig-gate-kicker){
  color:#c9c3b8!important;font-size:12px!important;margin:0 0 15px!important
}
#followEbmInstagram{
  display:block;
  padding:15px 18px;
  background:linear-gradient(135deg,#7a2cff,#d62976,#f58529);
  color:#fff!important;
  font-weight:1000;
  letter-spacing:1.2px;
  border-radius:4px;
}
.ig-confirm{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:16px;
  color:#fff!important;
  font-size:11px!important;
  cursor:pointer
}
.ig-confirm input{width:20px;height:20px;accent-color:#d7aa43}

.vote-requirements{
  margin:0 auto 22px;
  padding:15px 16px;
  max-width:720px;
  border:2px solid #d7aa43;
  background:rgba(0,0,0,.82);
  text-align:center;
  box-shadow:0 0 25px rgba(215,170,67,.10);
}
.vote-requirements strong{
  display:block;
  color:#d7aa43;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:25px;
  letter-spacing:2px;
}
.vote-requirements span{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:1.1px;
  line-height:1.5;
}

.weekly-vote-rule{
 max-width:720px;margin:0 auto 10px;padding:11px 14px;
 background:rgba(190,20,25,.12);border:1px solid rgba(220,35,40,.45);
 color:#fff;font-size:11px;font-weight:1000;letter-spacing:1.2px;text-align:center
}

.returning-voter-note{
 max-width:720px;margin:0 auto 12px;padding:10px 13px;
 border:1px solid rgba(215,170,67,.22);background:rgba(0,0,0,.58);
 color:#bdb6aa;font-size:9px;font-weight:900;letter-spacing:1px;
 line-height:1.5;text-align:center
}
