/* JMMUSIC ISOLATION / WORDPRESS THEME OVERRIDES */
.jmmusic-app{display:block!important;position:relative!important;width:100%!important;min-height:100vh!important;margin:0!important;padding:0!important;background:#050505!important;color:#f8efe0!important;font-family:Georgia,"Times New Roman",serif!important;overflow:hidden!important;isolation:isolate!important;line-height:normal!important}
.jmmusic-app .site{position:relative!important;display:block!important;width:100%!important;min-height:100vh!important;margin:0!important;padding:0!important;background:#050505!important;color:#f8efe0!important;overflow:hidden!important}
.jmmusic-app *, .jmmusic-app *::before, .jmmusic-app *::after{box-sizing:border-box}
.jmmusic-app h1,.jmmusic-app h2,.jmmusic-app h3,.jmmusic-app h4,.jmmusic-app p,.jmmusic-app ul,.jmmusic-app ol{margin-top:0}
.jmmusic-app a{color:inherit!important;text-decoration:none!important}
.jmmusic-app button,.jmmusic-app input,.jmmusic-app textarea,.jmmusic-app select{font-family:Arial,sans-serif}
.jmmusic-app img{max-width:100%;height:auto}
.jmmusic-app .nav,.jmmusic-app .hero,.jmmusic-app .section,.jmmusic-app .ticker,.jmmusic-app footer,.jmmusic-app .booking{font-family:Georgia,"Times New Roman",serif}


:root{
 --bg:#050505;--bg2:#0b0a08;--card:#11100e;--gold:#d4aa58;--gold2:#f2d58d;
 --cream:#f8efe0;--muted:#aaa297;--line:rgba(212,170,88,.22);
 --max:1240px;--ease:cubic-bezier(.16,1,.3,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Georgia,"Times New Roman",serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}button{font:inherit}.site{position:relative;min-height:100vh}
#particles{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* NAV */
.nav{position:fixed;z-index:80;left:0;right:0;top:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,70px);background:linear-gradient(180deg,rgba(4,4,4,.96),rgba(4,4,4,.62));backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.logo{font-size:30px;letter-spacing:4px;line-height:.8;color:var(--gold2);text-shadow:0 0 30px rgba(212,170,88,.15)}.logo small{display:block;margin-top:8px;font:8px Arial,sans-serif;letter-spacing:4px;color:#bcae91}
.navlinks{display:flex;gap:28px;font:10px Arial,sans-serif;letter-spacing:1.8px;color:#ddd5c8}.navlinks a{padding:9px 0;position:relative}.navlinks a:after{content:"";position:absolute;bottom:2px;left:0;width:0;height:1px;background:var(--gold2);transition:.35s}.navlinks a:hover:after{width:100%}
.nav-book{border:1px solid var(--gold);background:transparent;color:var(--gold2);padding:11px 17px;border-radius:4px;font:bold 10px Arial,sans-serif;letter-spacing:1px}.nav-book:hover{background:var(--gold);color:#080808}
.menu{display:none;background:none;border:1px solid #4b3b21;color:var(--gold2);width:42px;height:38px;border-radius:4px}.mobile-menu{display:none;position:fixed;z-index:79;top:76px;left:0;right:0;background:rgba(6,6,6,.98);border-bottom:1px solid var(--line);padding:15px 22px}.mobile-menu a{display:block;padding:14px 4px;font:11px Arial;letter-spacing:2px;border-bottom:1px solid #201d18}

/* COMMON */
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.section{position:relative;z-index:3;padding:110px 0}.eyebrow{font:9px Arial,sans-serif;letter-spacing:5px;color:var(--gold);text-transform:uppercase}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-title{font-size:clamp(40px,5vw,68px);line-height:.9;font-weight:400;margin:8px 0 0}.section-copy{max-width:470px;color:var(--muted);font:13px Arial,sans-serif;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:4px;font:bold 10px Arial,sans-serif;letter-spacing:1.25px;cursor:pointer;transition:.35s var(--ease)}.btn-gold{border:0;background:linear-gradient(135deg,#f2d58d,#bd9141);color:#090909;box-shadow:0 12px 35px rgba(212,170,88,.1)}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(212,170,88,.2)}.btn-line{border:1px solid rgba(242,213,141,.55);background:rgba(0,0,0,.15);color:#fff}.btn-line:hover{transform:translateY(-3px);border-color:var(--gold2)}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.show{opacity:1;transform:none}

/* HERO */
.hero{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:125px 0 70px;overflow:hidden;background:radial-gradient(circle at 77% 48%,rgba(212,170,88,.18),transparent 23%),radial-gradient(circle at 15% 65%,rgba(104,63,26,.15),transparent 30%)}
.hero:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 190deg,transparent 0 28%,rgba(255,220,151,.055) 30%,transparent 35%,rgba(255,220,151,.045) 48%,transparent 52%);animation:rotate 18s linear infinite;filter:blur(12px)}@keyframes rotate{to{transform:rotate(360deg)}}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:2}.hero-copy{transform:translateZ(60px)}.hero h1{font-size:clamp(58px,8.5vw,116px);font-weight:400;line-height:.83;letter-spacing:-5px;margin:15px 0 24px}.hero h1 span{display:block;color:var(--gold2);text-shadow:0 0 40px rgba(212,170,88,.15)}.hero-desc{font-size:18px;line-height:1.6;color:#c9c1b5;max-width:580px}.hero-stats{display:flex;gap:30px;margin-top:30px;flex-wrap:wrap}.stat strong{display:block;color:var(--gold2);font-size:24px;font-weight:400}.stat span{font:9px Arial;letter-spacing:2px;color:#817a70}
.stage{height:570px;position:relative;transform-style:preserve-3d;transition:transform .12s ease-out}.stage-glow{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(212,170,88,.2),transparent 62%);filter:blur(25px)}
.ring{position:absolute;left:50%;top:50%;border:1px solid rgba(212,170,88,.28);border-radius:50%;transform:translate(-50%,-50%) rotateX(67deg);animation:ring 12s linear infinite}.r1{width:72%;aspect-ratio:1}.r2{width:49%;aspect-ratio:1;animation-direction:reverse;animation-duration:8s}.r3{width:91%;aspect-ratio:1;animation-duration:18s}@keyframes ring{to{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(360deg)}}
.vinyl{position:absolute;width:min(410px,68vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(80px);border-radius:50%;background:repeating-radial-gradient(circle,#060606 0 3px,#151515 4px 6px);box-shadow:0 30px 100px #000,0 0 50px rgba(212,170,88,.1);animation:spin 10s linear infinite}.vinyl:before{content:"";position:absolute;inset:8%;border-radius:50%;background:conic-gradient(#191919,#292929,#080808,#242424,#090909,#1a1a1a);opacity:.7}.vinyl:after{content:"";position:absolute;inset:39%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f3d991,#a87834 55%,#3b2710);box-shadow:0 0 35px rgba(212,170,88,.25)}@keyframes spin{to{transform:translate(-50%,-50%) translateZ(80px) rotate(360deg)}}
.holo{position:absolute;z-index:4;padding:14px 16px;border:1px solid rgba(242,213,141,.28);background:rgba(8,8,8,.68);backdrop-filter:blur(10px);font:9px Arial;letter-spacing:1px;box-shadow:0 20px 60px #000;animation:float 4s ease-in-out infinite}.holo b{display:block;color:var(--gold2);font-size:13px;margin-bottom:5px}.h1{left:0;top:15%}.h2{right:0;bottom:18%;animation-delay:-1.8s}.h3{right:8%;top:8%;animation-delay:-.8s}@keyframes float{50%{translate:0 -12px}}
.play-core{position:absolute;z-index:6;left:50%;top:50%;width:52px;height:52px;border-radius:50%;transform:translate(-50%,-50%) translateZ(130px);display:grid;place-items:center;border:1px solid var(--gold2);background:rgba(0,0,0,.55);color:var(--gold2);font-size:17px;animation:pulse 2.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 18px rgba(212,170,88,.03),0 0 0 38px rgba(212,170,88,.015)}}

/* TICKER */
.ticker{position:relative;z-index:4;overflow:hidden;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(7,7,7,.8);white-space:nowrap}.ticker-track{display:inline-flex;gap:32px;animation:marquee 25s linear infinite;font:10px Arial;letter-spacing:3px;color:#bdb4a3}.ticker-track b{color:var(--gold2)}@keyframes marquee{to{transform:translateX(-50%)}}

/* RELEASE */
.release-box{display:grid;grid-template-columns:430px 1fr;gap:65px;align-items:center;padding:45px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(212,170,88,.035));perspective:1000px}.album-wrap{position:relative;aspect-ratio:1;transform-style:preserve-3d;transition:transform .2s ease}.disc-shadow{position:absolute;width:92%;aspect-ratio:1;left:8%;top:3%;border-radius:50%;background:repeating-radial-gradient(circle,#070707 0 3px,#171717 4px 6px);transform:translateZ(-50px);box-shadow:0 30px 50px #000;animation:spin 14s linear infinite}.album-cover{position:absolute;inset:0;overflow:hidden;border:1px solid #a27d40;background:radial-gradient(circle at 50% 28%,#efd091 0 7%,#b87943 9% 17%,#402719 29%,#090706 70%);box-shadow:0 30px 80px #000}.album-cover:before{content:"";position:absolute;left:19%;right:19%;top:17%;bottom:14%;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 50% 20%,#f0caa8 0 8%,#634536 9% 20%,transparent 21%),linear-gradient(145deg,rgba(255,215,170,.18),transparent 50%)}.album-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(0,0,0,.92))}.album-text{position:absolute;z-index:2;left:25px;bottom:24px;font-size:clamp(28px,3.5vw,45px);font-style:italic;line-height:.95}.album-text small{display:block;font:9px Arial;letter-spacing:4px;color:#e4cb94;margin-top:13px}.release-info h3{font-size:clamp(39px,4.7vw,62px);font-weight:400;line-height:.9;margin:10px 0}.release-artist{color:var(--gold2);font-size:22px}.release-info p{font:14px Arial;line-height:1.7;color:var(--muted);max-width:650px}.meta{display:flex;gap:24px;flex-wrap:wrap;margin:23px 0;font:9px Arial;letter-spacing:2px;color:#827c73}.meta strong{color:var(--gold2)}.release-buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}

/* RELEASE CARDS */
.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.release-card{border:1px solid var(--line);background:linear-gradient(145deg,#12100d,#080808);padding:14px;transition:.4s var(--ease)}.release-card:hover{transform:translateY(-8px);border-color:rgba(242,213,141,.65)}.mini-cover{aspect-ratio:1;background:radial-gradient(circle at 50% 28%,#e2c182 0 7%,#714b2d 8% 18%,#120c08 62%);display:flex;align-items:end;padding:17px}.mini-cover span{font-size:24px;font-style:italic;line-height:.95}.release-card h3{font-size:22px;font-weight:400;margin:16px 5px 4px}.release-card p{margin:0 5px 12px;font:11px Arial;color:#888;line-height:1.5}.release-card a{margin:0 5px 6px;color:var(--gold2);font:bold 9px Arial;letter-spacing:1px}

/* ARTISTS */
.artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.artist-card{height:430px;position:relative;overflow:hidden;border:1px solid var(--line);background:#0a0a0a;transform-style:preserve-3d;transition:.45s var(--ease);cursor:pointer}.artist-card:hover{border-color:var(--gold2)}.face{position:absolute;inset:0;background:radial-gradient(circle at 50% 27%,#d4a27b 0 8%,#483024 9% 22%,transparent 23%),linear-gradient(150deg,#32261e,#080808 72%)}.artist-card:nth-child(2) .face{background:radial-gradient(circle at 50% 27%,#e6bda3 0 8%,#65463b 9% 22%,transparent 23%),linear-gradient(150deg,#705146,#080808 72%)}.artist-card:nth-child(3) .face{background:radial-gradient(circle at 50% 27%,#d5a17c 0 8%,#35241e 9% 22%,transparent 23%),linear-gradient(150deg,#263040,#070707 72%)}.artist-card:nth-child(4) .face{background:radial-gradient(circle at 50% 27%,#c78c66 0 8%,#39251d 9% 22%,transparent 23%),linear-gradient(150deg,#4c392f,#070707 72%)}.face:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#050505)}.artist-info{position:absolute;z-index:3;left:19px;right:19px;bottom:19px}.artist-info small{font:8px Arial;letter-spacing:3px;color:var(--gold)}.artist-info h3{font-size:25px;font-weight:400;margin:6px 0}.artist-info span{font:10px Arial;color:#9d968b}.arrow{position:absolute;z-index:3;right:17px;bottom:17px;width:36px;height:36px;border:1px solid rgba(242,213,141,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold2)}

/* SERVICES */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{padding:32px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(212,170,88,.025));min-height:235px;transition:.35s}.service:hover{transform:translateY(-6px);border-color:rgba(242,213,141,.55)}.service .num{font:9px Arial;letter-spacing:3px;color:var(--gold)}.service h3{font-size:28px;font-weight:400;margin:22px 0 10px}.service p{font:12px Arial;line-height:1.7;color:var(--muted)}

/* ABOUT / VIDEO */
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-panel{padding:45px;border:1px solid var(--line);background:linear-gradient(145deg,#11100d,#080808)}.info-panel h3{font-size:40px;font-weight:400;margin:8px 0 17px}.info-panel p{font:13px Arial;line-height:1.8;color:var(--muted)}.video-card{min-height:330px;border:1px solid var(--line);position:relative;overflow:hidden;background:radial-gradient(circle at 60% 30%,rgba(242,213,141,.2),transparent 20%),linear-gradient(145deg,#1d1710,#070707);display:grid;place-items:center}.video-card .play{width:74px;height:74px;border-radius:50%;border:1px solid var(--gold2);display:grid;place-items:center;font-size:25px;color:var(--gold2);box-shadow:0 0 45px rgba(212,170,88,.13);animation:pulse 2.4s infinite}.video-card label{position:absolute;left:25px;bottom:22px;font:9px Arial;letter-spacing:3px;color:#d4c7af}

/* BOOKING */
.booking{position:relative;overflow:hidden;background:linear-gradient(120deg,#0c0906,#15110b,#060606);padding:125px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking:before{content:"";position:absolute;width:650px;height:650px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(212,170,88,.2),transparent 65%);filter:blur(18px)}.booking-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}.booking h2{font-size:clamp(45px,6.5vw,86px);font-weight:400;line-height:.84;margin:10px 0 20px}.booking p{font:14px Arial;line-height:1.7;color:var(--muted);max-width:620px}

/* FOOTER */
footer{position:relative;z-index:3;padding:35px 0;border-top:1px solid rgba(255,255,255,.05)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer-logo{font-size:30px;color:var(--gold2);letter-spacing:4px}.footer small{display:block;font:8px Arial;letter-spacing:4px;color:#8c806b;margin-top:7px}.footer h4{font:9px Arial;letter-spacing:2px;color:var(--gold);margin:0 0 14px}.footer a,.footer p{display:block;font:10px Arial;color:#888;margin:8px 0}.copyright{border-top:1px solid #1d1b18;margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font:9px Arial;color:#625e56;letter-spacing:1px}

/* MODAL */
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.8);backdrop-filter:blur(12px)}.modal.open{display:grid}.modal-box{width:min(600px,100%);border:1px solid var(--gold);background:#0c0b09;padding:35px;position:relative;box-shadow:0 30px 100px #000}.close{position:absolute;right:16px;top:12px;background:none;border:0;color:#fff;font-size:25px;cursor:pointer}.modal h3{font-size:35px;font-weight:400;margin:0 0 10px}.modal p{font:13px Arial;line-height:1.7;color:var(--muted)}.form{display:grid;gap:11px;margin-top:20px}.form input,.form textarea,.form select{width:100%;background:#15130f;color:#fff;border:1px solid #403622;padding:13px;border-radius:3px;font:12px Arial}.form textarea{min-height:100px;resize:vertical}.form button{border:0}

/* MOBILE */
@media(max-width:900px){
 .navlinks{display:none}.menu{display:block}.nav-book{display:none}.mobile-menu.open{display:block}.hero{min-height:auto;padding:125px 0 65px}.hero-grid{grid-template-columns:1fr;gap:15px}.hero-copy{transform:none}.stage{height:430px}.section{padding:85px 0}.section-head{display:block}.section-copy{margin-top:18px}.release-box{grid-template-columns:1fr;gap:40px;padding:25px}.album-wrap{max-width:440px;width:100%;margin:auto}.artist-grid{grid-template-columns:repeat(2,1fr)}.artist-card{height:380px}.services{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.booking{padding:90px 0}.booking-inner{display:block}.booking .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .wrap{width:calc(100% - 32px)}.nav{height:65px}.logo{font-size:24px}.hero{padding-top:105px}.hero h1{font-size:58px;letter-spacing:-3px}.hero-desc{font-size:15px}.hero-stats{gap:18px}.stage{height:330px}.vinyl{width:245px}.holo{font-size:7px;padding:9px 11px}.holo b{font-size:10px}.h1{left:0}.h2{right:0}.h3{right:0}.release-info h3{font-size:39px}.release-grid{grid-template-columns:1fr}.artist-grid{grid-template-columns:1fr 1fr;gap:8px}.artist-card{height:300px}.artist-info{left:11px;right:11px;bottom:12px}.artist-info h3{font-size:18px}.arrow{right:9px;bottom:10px;width:30px;height:30px}.services{grid-template-columns:1fr}.info-panel{padding:28px}.info-panel h3{font-size:32px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.booking h2{font-size:49px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.ring,.vinyl,.disc-shadow,.holo,.play-core,.ticker-track{animation:none}.reveal{transition:none}}
/* JMMusic plugin variables: managed from WP admin */
.jmmusic-app{--gold:var(--jmmusic-accent,#d8b56a)}
.jmmusic-app .site{background:var(--jmmusic-bg,#090909)}
.jmmusic-app .eyebrow,.jmmusic-app .num,.jmmusic-app .footer-logo,.jmmusic-app .album-text small{color:var(--jmmusic-accent,#d8b56a)}
.jmmusic-app .btn-gold{background:var(--jmmusic-accent,#d8b56a)}


/* JMMUSIC MOTION ENGINE v1.2.2 — continuous visible animation */
.jmmusic-app{overflow:hidden;isolation:isolate}
.jmmusic-app #particles{z-index:1;pointer-events:none}
.jmmusic-app .motion-lights{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.jmmusic-app .motion-lights i{position:absolute;display:block;width:5px;height:5px;border-radius:50%;background:var(--jmmusic-accent,#d8b56a);box-shadow:0 0 12px var(--jmmusic-accent,#d8b56a),0 0 30px rgba(216,181,106,.35);opacity:0;animation:jmFloat 9s linear infinite}
.jmmusic-app .motion-lights i:nth-child(1){left:8%;top:82%;animation-delay:-1s;animation-duration:8s}
.jmmusic-app .motion-lights i:nth-child(2){left:18%;top:70%;animation-delay:-6s;animation-duration:11s;width:3px;height:3px}
.jmmusic-app .motion-lights i:nth-child(3){left:29%;top:91%;animation-delay:-3s;animation-duration:10s}
.jmmusic-app .motion-lights i:nth-child(4){left:43%;top:76%;animation-delay:-8s;animation-duration:12s;width:4px;height:4px}
.jmmusic-app .motion-lights i:nth-child(5){left:57%;top:88%;animation-delay:-4s;animation-duration:9s}
.jmmusic-app .motion-lights i:nth-child(6){left:68%;top:64%;animation-delay:-7s;animation-duration:13s;width:3px;height:3px}
.jmmusic-app .motion-lights i:nth-child(7){left:77%;top:84%;animation-delay:-2s;animation-duration:10s}
.jmmusic-app .motion-lights i:nth-child(8){left:86%;top:73%;animation-delay:-9s;animation-duration:12s;width:4px;height:4px}
.jmmusic-app .motion-lights i:nth-child(9){left:94%;top:92%;animation-delay:-5s;animation-duration:9s;width:3px;height:3px}
.jmmusic-app .motion-lights i:nth-child(10){left:52%;top:55%;animation-delay:-11s;animation-duration:14s;width:3px;height:3px}
@keyframes jmFloat{0%{transform:translate3d(0,40px,0) scale(.4);opacity:0}12%{opacity:.9}50%{transform:translate3d(35px,-45vh,0) scale(1.25);opacity:.75}82%{opacity:.35}100%{transform:translate3d(-20px,-105vh,0) scale(.5);opacity:0}}
.jmmusic-app .hero{overflow:hidden}
.jmmusic-app .hero:after{content:"";position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(circle at 50% 55%,rgba(242,213,141,.13),transparent 20%),radial-gradient(circle at 20% 30%,rgba(242,213,141,.07),transparent 18%);animation:jmBreathe 6s ease-in-out infinite alternate;z-index:0}
@keyframes jmBreathe{from{transform:scale(.92) translate3d(-1%,1%,0);opacity:.45}to{transform:scale(1.08) translate3d(2%,-2%,0);opacity:1}}
.jmmusic-app .stage{animation:jmStageFloat 5s ease-in-out infinite}
@keyframes jmStageFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
.jmmusic-app .vinyl{animation:spin 7s linear infinite, jmVinylGlow 2.6s ease-in-out infinite alternate}
@keyframes jmVinylGlow{from{filter:brightness(.92) drop-shadow(0 0 0 rgba(216,181,106,0))}to{filter:brightness(1.16) drop-shadow(0 0 22px rgba(216,181,106,.2))}}
.jmmusic-app .disc-shadow{animation:spin 9s linear infinite reverse, jmShadowPulse 3s ease-in-out infinite alternate}
@keyframes jmShadowPulse{from{opacity:.55}to{opacity:.95}}
.jmmusic-app .holo{animation:float 3.2s ease-in-out infinite, jmHoloGlow 2.5s ease-in-out infinite alternate}
.jmmusic-app .h2{animation-delay:-1.2s,-.7s}.jmmusic-app .h3{animation-delay:-2.1s,-1.4s}
@keyframes jmHoloGlow{from{box-shadow:0 20px 60px #000,0 0 0 rgba(216,181,106,0)}to{box-shadow:0 20px 60px #000,0 0 28px rgba(216,181,106,.14)}}
.jmmusic-app .album-wrap{animation:jmAlbumFloat 5.5s ease-in-out infinite}
@keyframes jmAlbumFloat{0%,100%{transform:translate3d(0,0,0) rotateZ(0deg)}50%{transform:translate3d(0,-10px,0) rotateZ(.7deg)}}
.jmmusic-app .album-cover:before{animation:jmCoverShimmer 4.5s ease-in-out infinite alternate}
@keyframes jmCoverShimmer{from{transform:translateX(-3%) scale(.98);opacity:.6}to{transform:translateX(4%) scale(1.03);opacity:1}}
.jmmusic-app .release-card,.jmmusic-app .service{will-change:transform}
.jmmusic-app .section-title{animation:jmTextGlow 4s ease-in-out infinite alternate}
@keyframes jmTextGlow{from{text-shadow:0 0 0 rgba(216,181,106,0)}to{text-shadow:0 0 26px rgba(216,181,106,.09)}}
.jmmusic-app .ticker-track{animation-duration:18s}
.jmmusic-app .play-core{animation:pulse 1.8s infinite, jmPlayFloat 3s ease-in-out infinite}
@keyframes jmPlayFloat{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-56%) scale(1.06)}}
@media(max-width:700px){
 .jmmusic-app .stage{animation-duration:6s}
 .jmmusic-app .vinyl{animation-duration:5.5s,2.2s}
 .jmmusic-app .motion-lights i{box-shadow:0 0 10px var(--jmmusic-accent,#d8b56a),0 0 22px rgba(216,181,106,.3)}
}
@media(prefers-reduced-motion:reduce){
 .jmmusic-app .motion-lights i,.jmmusic-app .hero:after,.jmmusic-app .stage,.jmmusic-app .vinyl,.jmmusic-app .disc-shadow,.jmmusic-app .holo,.jmmusic-app .album-wrap,.jmmusic-app .album-cover:before,.jmmusic-app .section-title,.jmmusic-app .play-core{animation-duration:10s;animation-iteration-count:infinite}
}
.jmmusic-app .hero-copy,.jmmusic-app .stage,.jmmusic-app .release-box,.jmmusic-app .section-title{translate:0 var(--jm-scroll-y,0);transition:translate .25s ease-out}
@media(prefers-reduced-motion:reduce){.jmmusic-app .hero-copy,.jmmusic-app .stage,.jmmusic-app .release-box,.jmmusic-app .section-title{translate:none}}
/* Editable media */
.jmmusic-app .hero.has-hero-image{background-image:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.72) 45%,rgba(7,7,7,.5)),var(--hero-image);background-size:cover;background-position:center}
.jmmusic-app .album-cover.has-cover-image{background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.8)),var(--cover-image);background-size:cover;background-position:center}
.jmmusic-app .album-cover.has-cover-image:before{display:none}.jmmusic-app .mini-cover.has-mini-image{background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75)),var(--mini-image);background-size:cover;background-position:center}
.jmmusic-app .face.has-face-image{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.2) 40%,rgba(0,0,0,.9)),var(--face-image);background-size:cover;background-position:center}.jmmusic-app .face.has-face-image:after{background:linear-gradient(transparent,#050505)}
.jmmusic-app .video-card.has-about-image{background-image:linear-gradient(rgba(5,5,5,.15),rgba(5,5,5,.65)),var(--about-image);background-size:cover;background-position:center}
