:root{
  --black:#050505;
  --deep:#0b0b0b;
  --dark:#151515;
  --soft-dark:#1f1f1f;
  --white:#f5f5f5;
  --muted:#a7a7a7;
  --line:rgba(255,255,255,.12);
  --yellow:#ffd400;
  --yellow-soft:rgba(255,212,0,.18);
  --glass:rgba(255,255,255,.055);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.noise{position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.05;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.8) 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.55) 0 1px,transparent 1px);background-size:36px 36px,54px 54px;mix-blend-mode:overlay}
.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,rgba(255,212,0,.13),rgba(255,255,255,.035) 34%,transparent 68%);transform:translate(-50%,-50%);opacity:.0;transition:opacity .25s ease;mix-blend-mode:screen}
body.pointer-active .cursor-glow{opacity:1}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:70;padding:28px 4.6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;background:linear-gradient(to bottom,rgba(0,0,0,.74),rgba(0,0,0,.05));backdrop-filter:blur(14px);transition:.28s ease}
.site-header.scrolled{background:rgba(0,0,0,.86);border-bottom:1px solid rgba(255,255,255,.08)}
.mini-logo{display:inline-flex;align-items:center;justify-self:start;line-height:1;color:rgba(245,245,245,.9);white-space:nowrap;opacity:.94;transition:.25s ease}.mini-logo img{width:118px;height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}.mini-logo:hover{opacity:1;transform:translateY(-1px)}
.main-nav{display:flex;align-items:center;justify-content:center;gap:38px;color:rgba(245,245,245,.72);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800}
.main-nav a{position:relative;transition:.25s ease}.main-nav a::after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:var(--yellow);box-shadow:0 0 14px var(--yellow);transition:.25s ease}.main-nav a:hover,.main-nav a.active{color:var(--white)}.main-nav a:hover::after,.main-nav a.active::after{width:100%}
.header-social{justify-self:end;display:flex;align-items:center;gap:14px;color:rgba(245,245,245,.62);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.header-social a.header-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid transparent;color:rgba(245,245,245,.58);transition:.25s ease}.header-social a.header-icon:hover{border-color:rgba(255,212,0,.34);background:rgba(255,212,0,.07);color:var(--yellow);transform:translateY(-1px)}.header-social a.header-icon svg{width:15px;height:15px;display:block;fill:currentColor}
.mobile-menu{display:none;justify-self:end;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.86);background:rgba(255,255,255,.04);border-radius:999px;padding:10px 14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.mobile-panel{display:none;position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.94);backdrop-filter:blur(18px);padding:110px 28px 36px}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:28px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.mobile-panel a.active{color:var(--yellow)}
.hero{min-height:92vh;position:relative;display:grid;place-items:center;padding:136px 5vw 104px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,212,0,.13),transparent 28%),radial-gradient(circle at 75% 70%,rgba(255,255,255,.08),transparent 32%),linear-gradient(135deg,#040404 0%,#111 45%,#050505 100%)}
.hero-bg{position:absolute;inset:0;z-index:0;opacity:.82}.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.92) contrast(1.12) brightness(.66);transform:scale(1.045)}.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 48%,rgba(255,212,0,.11),transparent 24%),radial-gradient(circle at 88% 50%,rgba(255,212,0,.08),transparent 23%),linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.48) 22%,rgba(0,0,0,.24) 50%,rgba(0,0,0,.42) 78%,rgba(0,0,0,.84) 100%),linear-gradient(to bottom,rgba(0,0,0,.88) 0%,rgba(0,0,0,.42) 18%,rgba(0,0,0,.14) 42%,rgba(0,0,0,.14) 58%,rgba(0,0,0,.40) 78%,rgba(0,0,0,.9) 100%)}
.hero::before{content:"";position:absolute;inset:-10%;z-index:1;background:linear-gradient(110deg,transparent 0 40%,rgba(255,255,255,.08) 48%,transparent 55%),linear-gradient(75deg,transparent 0 55%,rgba(255,212,0,.12) 60%,transparent 66%);transform:translateX(-20%);animation:lightSweep 8s linear infinite;opacity:.75}.hero-video-placeholder{position:absolute;inset:0;z-index:1;opacity:.08;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,255,255,.08) 29px,transparent 31px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 48%);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 76%,transparent)}
.hero-content{position:relative;z-index:4;text-align:center;max-width:1120px}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--yellow);border:1px solid rgba(255,212,0,.3);background:rgba(255,212,0,.08);padding:10px 16px;border-radius:999px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:28px;box-shadow:0 0 34px rgba(255,212,0,.08)}.dot{width:8px;height:8px;border-radius:999px;background:var(--yellow);box-shadow:0 0 20px var(--yellow)}
h1{font-size:clamp(58px,13vw,168px);line-height:.84;letter-spacing:-.08em;font-weight:950;text-transform:uppercase;text-shadow:0 24px 80px rgba(0,0,0,.65),0 0 50px rgba(255,212,0,.08)}.hero-logo-title{display:flex;flex-direction:column;align-items:center;gap:10px}.hero-logo-wrap{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}.hero-logo-title img{width:min(760px,84vw);height:auto;filter:drop-shadow(0 28px 90px rgba(0,0,0,.62))}.hero-title span{display:block;-webkit-text-stroke:1px rgba(255,255,255,.28);color:transparent;letter-spacing:-.06em}.hero-logo-title > span:last-child{width:min(760px,84vw);margin:0 auto;text-align:center;font-size:clamp(58px,10vw,132px);line-height:.9}.claim{max-width:720px;margin:34px auto 0;color:rgba(245,245,245,.76);font-size:clamp(17px,2vw,23px);line-height:1.55}.hero-actions{margin-top:38px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.btn{min-width:168px;padding:15px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:var(--white);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:.28s ease;backdrop-filter:blur(14px);display:inline-flex;align-items:center;justify-content:center}.btn:hover{transform:translateY(-3px);border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 44px rgba(255,212,0,.16)}.btn.primary{background:var(--yellow);color:#050505;border-color:var(--yellow);font-weight:800}.btn.primary:hover{box-shadow:0 0 40px rgba(255,212,0,.32);color:#050505}
.hero-audio-ui{margin-top:36px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.hero-wave{position:relative;width:300px;height:40px;display:flex;align-items:center;overflow:hidden;opacity:.74;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);filter:drop-shadow(0 0 12px rgba(255,212,0,.14))}.hero-wave::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(255,212,0,.22),transparent);opacity:.74}.hero-wave-track{position:relative;z-index:1;display:flex;align-items:center;gap:4px;min-width:max-content;animation:heroWaveShift 6.2s linear infinite}.hero-wave span{position:relative;display:block;flex:0 0 auto;width:2px;height:calc(var(--h) * 1.78px + 2px);background:none;transform-origin:center center;animation:heroWave 3s ease-in-out infinite;animation-delay:var(--d)}.hero-wave span::before,.hero-wave span::after{content:"";position:absolute;left:0;width:100%;height:calc(var(--h) * .84px);border-radius:999px;background:linear-gradient(to top,rgba(255,212,0,.06),rgba(255,212,0,.78));box-shadow:0 0 14px rgba(255,212,0,.16)}.hero-wave span::before{bottom:calc(50% + 1px)}.hero-wave span::after{top:calc(50% + 1px);transform:scaleY(-1);opacity:.95}
.sound-toggle{position:relative;right:auto;bottom:auto;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.28);color:rgba(245,245,245,.72);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;backdrop-filter:blur(14px);cursor:pointer;transition:.28s ease;box-shadow:0 12px 36px rgba(0,0,0,.25)}.sound-toggle:hover{border-color:rgba(255,212,0,.44);color:var(--white);background:rgba(255,212,0,.055);box-shadow:0 0 34px rgba(255,212,0,.10),0 16px 42px rgba(0,0,0,.32)}.sound-toggle.is-on{border-color:rgba(255,212,0,.52);color:var(--yellow);background:rgba(255,212,0,.08)}.sound-dot{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.44);box-shadow:0 0 0 rgba(255,212,0,0);transition:.28s ease}.sound-toggle.is-on .sound-dot{background:var(--yellow);box-shadow:0 0 16px rgba(255,212,0,.9);animation:soundPulse 1.4s ease-in-out infinite}@keyframes soundPulse{0%,100%{transform:scale(.82);opacity:.68}50%{transform:scale(1.18);opacity:1}}

.signal-bar.is-hidden{display:none!important}
.signal-bar{position:relative;z-index:4;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:#0a0a0a;white-space:nowrap}.signal-bar::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,212,0,.12),transparent);transform:translateX(-100%);animation:signalSweep 5.8s linear infinite}.signal-track{display:inline-flex;gap:44px;padding:18px 0;animation:ticker 100s linear infinite;font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.68)}.signal-track b{color:var(--yellow)}.tour-strip-item{display:inline-flex;align-items:center;gap:10px}.tour-strip-item em{font-style:normal;color:rgba(255,255,255,.72)}
section{padding:110px 5vw;position:relative}.section-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.section-label{color:var(--yellow);text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin-bottom:18px}h2{font-size:clamp(38px,6vw,82px);line-height:.93;letter-spacing:-.055em;text-transform:uppercase;margin-bottom:24px}p{color:rgba(245,245,245,.68);font-size:17px;line-height:1.75}.photo-block{min-height:480px;border-radius:36px;border:1px solid var(--line);background:#050505;box-shadow:0 30px 120px rgba(0,0,0,.55);position:relative;overflow:hidden}.photo-block img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.photo-block::after{content:none}
.visual-card{min-height:420px;border-radius:34px;border:1px solid var(--line);background:radial-gradient(circle at 30% 20%,rgba(255,212,0,.2),transparent 28%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.11),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 30px 120px rgba(0,0,0,.55);overflow:hidden;position:relative}.visual-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 18px,rgba(255,255,255,.05) 19px,transparent 20px);opacity:.32}.visual-card .inside{position:absolute;inset:28px;display:flex;flex-direction:column;justify-content:space-between}.mini-title{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.visual-logo{font-size:52px;font-weight:950;letter-spacing:-.08em;text-transform:uppercase;line-height:.88}.visual-logo span{color:var(--yellow)}
.radio-section{overflow:hidden;background:linear-gradient(110deg,rgba(255,212,0,.09),transparent 28%),#070707}.radio-panel{max-width:1180px;margin:0 auto;position:relative;z-index:2;text-align:center;padding:70px 36px;border:1px solid rgba(255,212,0,.2);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:0 34px 120px rgba(0,0,0,.6)}.radio-panel::before{content:"ON AIR";position:absolute;inset:auto 0 -22px 0;color:rgba(255,255,255,.035);font-size:min(17vw,210px);font-weight:950;letter-spacing:-.12em;z-index:-1}.radio-panel p{max-width:760px;margin:0 auto}
.shop-banner{padding:0 5vw 110px;background:#050505}.shop-inner{max-width:1180px;margin:0 auto;min-height:310px;border:1px solid rgba(255,212,0,.2);border-radius:38px;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:54px;background:radial-gradient(circle at 74% 24%,rgba(255,212,0,.24),transparent 24%),linear-gradient(135deg,#161616,#080808)}.shop-inner::after{content:"SHOP";position:absolute;right:-18px;bottom:-30px;color:rgba(255,255,255,.055);font-size:170px;font-weight:950;letter-spacing:-.1em}.shop-inner h2,.shop-inner p,.shop-inner a{position:relative;z-index:1}.shop-inner p{max-width:600px}.shop-pill{position:relative;z-index:1;border:1px solid rgba(255,212,0,.42);color:var(--yellow);border-radius:999px;padding:16px 24px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;background:rgba(0,0,0,.28)}
.instagram{background:linear-gradient(to bottom,#050505,#101010 48%,#050505)}.insta-grid{max-width:1180px;margin:54px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.insta-card{aspect-ratio:1;border-radius:26px;border:1px solid var(--line);background:radial-gradient(circle at 30% 20%,rgba(255,212,0,.18),transparent 26%),linear-gradient(145deg,#252525,#0b0b0b);position:relative;overflow:hidden;transition:.28s ease}.insta-card:hover{transform:translateY(-8px);border-color:rgba(255,212,0,.46)}.insta-card::after{content:"IG";position:absolute;left:22px;bottom:20px;color:rgba(245,245,245,.8);font-weight:900;letter-spacing:.12em}.contact-section{background:#070707}.contact-box{max-width:980px;margin:0 auto;text-align:center}.contact-box h2{margin-bottom:24px}.contact-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:34px}
.cards{max-width:1180px;margin:54px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:260px;border:1px solid var(--line);border-radius:28px;padding:26px;background:var(--glass);backdrop-filter:blur(12px);position:relative;overflow:hidden;transition:.28s ease}.card:hover{transform:translateY(-8px);border-color:rgba(255,212,0,.55);box-shadow:0 24px 80px rgba(0,0,0,.45)}.card::after{content:"";position:absolute;width:160px;height:160px;right:-60px;bottom:-60px;background:radial-gradient(circle,rgba(255,212,0,.24),transparent 68%)}.card small{color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;font-size:11px}.card h3{font-size:28px;line-height:1;margin:20px 0 18px;text-transform:uppercase;letter-spacing:-.04em}.card p{font-size:15px;line-height:1.65}.page-hero{min-height:70vh;padding:160px 5vw 90px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(255,212,0,.13),transparent 28%),linear-gradient(135deg,#040404,#111 48%,#050505);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#050505,transparent 50%)}.page-hero>div{position:relative;z-index:1}.page-hero h1{font-size:clamp(58px,12vw,148px)}.page-content{padding:90px 5vw}.live-list{max-width:1180px;margin:54px auto 0;border-top:1px solid var(--line)}.live-row{display:grid;grid-template-columns:150px 1fr 180px;gap:22px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.25s ease}.live-row:hover{padding-left:12px;border-color:rgba(255,212,0,.35)}.live-row strong{color:var(--yellow);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.live-row h3{font-size:24px;text-transform:uppercase;letter-spacing:-.03em}.live-row span{color:var(--muted);text-align:right}
footer#contact.artist-footer{padding:54px 5vw 44px;background:#030303;position:relative;border-top:0}footer#contact.artist-footer::before{content:"";position:absolute;left:50%;top:0;width:min(680px,68vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.footer-inner{width:min(980px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px}.footer-inner-clean{gap:15px}.footer-brand{display:inline-flex;align-items:center;justify-content:center;opacity:.94;transition:.25s ease}.footer-brand img{width:min(178px,48vw);height:auto;filter:drop-shadow(0 16px 40px rgba(0,0,0,.7))}.footer-brand:hover{opacity:1;transform:translateY(-2px)}.footer-booking{display:inline-flex;align-items:center;justify-content:center;margin-top:0;color:rgba(245,245,245,.46);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;transition:.25s ease}.footer-booking:hover{color:rgba(245,245,245,.82);transform:translateY(-1px)}.footer-icons{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:0;margin-bottom:2px}.footer-icons a{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:rgba(245,245,245,.56);transition:.25s ease}.footer-icons a:hover{color:var(--yellow);transform:translateY(-2px)}.footer-icons svg{width:100%;height:100%;display:block;fill:currentColor}.footer-copy{color:rgba(245,245,245,.42);font-size:12px;line-height:1.7;margin-top:2px}.footer-copy span{color:rgba(255,255,255,.22);padding:0 6px}.footer-copy-minimal{font-size:12px;color:rgba(245,245,245,.34)}.footer-legal{display:none}.copyright{color:rgba(245,245,245,.36);font-size:12px;letter-spacing:.02em}
/* === Premium entrance animations === */
.reveal{
  opacity:0;
  transform:translate3d(0,42px,0) scale(.985);
  filter:blur(9px);
  transition:
    opacity .92s cubic-bezier(.2,.8,.2,1),
    transform .92s cubic-bezier(.2,.8,.2,1),
    filter .92s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.reveal.reveal-left{transform:translate3d(-72px,22px,0) scale(.985)}
.reveal.reveal-right{transform:translate3d(72px,22px,0) scale(.985)}
.reveal.reveal-up{transform:translate3d(0,56px,0) scale(.985)}
.reveal.reveal-down{transform:translate3d(0,-38px,0) scale(.99)}
.reveal.reveal-zoom{transform:translate3d(0,24px,0) scale(.94)}
.reveal.in-view{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.reveal.in-view.card:hover,
.reveal.in-view.insta-card:hover,
.reveal.in-view.photo-block:hover,
.reveal.in-view.visual-card:hover,
.reveal.in-view.shop-inner:hover{
  transform:translate3d(0,-8px,0) scale(1.012);
}
.card,.insta-card,.photo-block,.visual-card,.radio-panel,.shop-inner,.contact-box,.live-row{will-change:transform,opacity,filter}
.card::before,.insta-card::before,.shop-inner::before,.radio-panel::after,.contact-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.12) 45%,transparent 58%);
  transform:translateX(-120%);
  opacity:.0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.card:hover::before,.insta-card:hover::before,.shop-inner:hover::before,.radio-panel:hover::after,.contact-box:hover::before{
  opacity:.55;
  animation:cardShine 1.15s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes cardShine{to{transform:translateX(120%)}}

@keyframes lightSweep{0%{transform:translateX(-45%) rotate(0deg)}100%{transform:translateX(45%) rotate(0deg)}}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes signalSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes heroWave{0%,100%{transform:scaleY(.72);opacity:.40}50%{transform:scaleY(1);opacity:.92}}@keyframes heroWaveShift{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 2px))}}
@media(max-width:1020px){.site-header{grid-template-columns:1fr auto;padding:22px 24px}.main-nav,.header-social{display:none}.mobile-menu{display:inline-flex}.hero{padding:118px 22px 92px;min-height:92vh}h1{font-size:clamp(58px,24vw,110px)}.hero-logo-title img{width:min(92vw,620px)}.hero-logo-title > span:last-child{width:min(92vw,620px);font-size:clamp(54px,16vw,104px)}.hero-logo-wrap{padding:0;border-radius:0}.claim{font-size:16px;margin-top:26px}.hero-actions{flex-direction:column;align-items:stretch;width:min(340px,100%);margin-left:auto;margin-right:auto}.btn{width:100%;text-align:center}.hero-audio-ui{margin-top:28px;gap:12px;justify-content:center}.hero-wave{width:230px;height:34px;opacity:.68;filter:drop-shadow(0 0 10px rgba(255,212,0,.12))}.hero-wave-track{gap:3px}.hero-wave span{width:2px;height:calc(var(--h) * 1.52px + 2px)}.sound-toggle{padding:10px 13px;font-size:9px;letter-spacing:.14em}section{padding:82px 22px}.section-grid{grid-template-columns:1fr;gap:34px}.photo-block,.visual-card{min-height:330px;border-radius:28px}.cards,.insta-grid{grid-template-columns:1fr}.radio-panel{padding:46px 22px;border-radius:28px}.shop-banner{padding:0 22px 82px}.shop-inner{grid-template-columns:1fr;padding:34px 24px;border-radius:28px}.live-row{grid-template-columns:1fr;gap:8px}.live-row span{text-align:left}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-inner{align-items:center}.footer-socials{gap:8px;font-size:11px}.socials{justify-content:flex-start}}
@media(max-width:640px){.insta-grid{grid-template-columns:1fr 1fr}.shop-inner::after{font-size:105px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.cursor-glow{display:none}.reveal{opacity:1!important;transform:none!important;filter:none!important}}

/* Public dynamic content from https://www.djspyne.com/public/ */
.public-empty{grid-column:1/-1;border:1px dashed rgba(255,255,255,.14);border-radius:24px;padding:34px;text-align:center;color:rgba(245,245,245,.58);background:rgba(255,255,255,.035)}
.gallery-card{background-size:cover!important;background-position:center!important;display:flex;align-items:flex-end;padding:22px;min-height:auto}
.gallery-card span{position:relative;z-index:2;color:rgba(245,245,245,.88);font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:12px;text-shadow:0 10px 30px rgba(0,0,0,.65)}
.audio-card audio{width:100%;margin-top:18px;filter:invert(1) hue-rotate(180deg);opacity:.86}
.media-audio-public{margin-top:28px}

.instagram-live{background:linear-gradient(to bottom,#070707,#101010 50%,#050505);padding-top:92px;padding-bottom:92px}.instagram-live .section-grid{align-items:end}.instagram-embed-shell{max-width:1180px;margin:48px auto 0;border:1px solid rgba(255,212,0,.18);border-radius:34px;background:radial-gradient(circle at 18% 0,rgba(255,212,0,.16),transparent 32%),linear-gradient(145deg,rgba(28,28,28,.92),rgba(4,4,4,.96));box-shadow:0 28px 90px rgba(0,0,0,.46);overflow:hidden;position:relative;min-height:420px;padding:18px}.instagram-embed-shell::before{content:"";position:absolute;inset:0;border-radius:34px;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 24%,transparent 72%,rgba(255,212,0,.08));opacity:.65}.instagram-widget-slot{min-height:384px;border-radius:24px;border:1px dashed rgba(255,212,0,.36);display:grid;place-items:center;text-align:center;padding:42px;color:rgba(245,245,245,.76);position:relative;z-index:1}.instagram-widget-logo{width:68px;height:68px;border-radius:22px;margin:0 auto 20px;display:grid;place-items:center;background:rgba(255,212,0,.1);border:1px solid rgba(255,212,0,.32);color:var(--yellow);font-weight:900;letter-spacing:.12em}.instagram-widget-slot strong{display:block;color:#fff;font-size:22px;letter-spacing:.04em;text-transform:uppercase}.instagram-widget-slot span{display:block;max-width:560px;margin:12px auto 0;font-size:14px;line-height:1.7;color:rgba(245,245,245,.64)}.instagram-embed-shell iframe{width:100%;min-height:520px;border:0;border-radius:22px;display:block;background:#050505}.instagram-embed-shell script + div,.instagram-embed-shell [class*="elfsight-app"],.instagram-embed-shell .lightwidget-widget{position:relative;z-index:1;width:100%;border-radius:22px;overflow:hidden}
@media(max-width:1020px){.instagram-live{padding-top:76px;padding-bottom:76px}.instagram-live .section-grid{align-items:start}.instagram-embed-shell{border-radius:28px;min-height:360px;padding:12px}.instagram-widget-slot{min-height:330px;padding:30px 20px}.instagram-embed-shell iframe{min-height:460px}}

/* Hide native browser scrollbar while keeping normal page scrolling */
html {
  scrollbar-width: none;
}

body {
  -ms-overflow-style: none;
}

body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Visible hold-to-scroll arrow next to EN */
.header-social .scroll-down-hold {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: 1px solid rgba(255,212,0,.58);
  border-radius: 999px;
  background: rgba(255,212,0,.10);
  color: var(--yellow);
  font-family: inherit;
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
  opacity: 1;
  box-shadow: 0 0 18px rgba(255,212,0,.18);
  transform: translateY(0);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.header-social .scroll-down-hold:hover,
.header-social .scroll-down-hold.is-scrolling {
  background: rgba(255,212,0,.18);
  border-color: rgba(255,212,0,.82);
  box-shadow: 0 0 22px rgba(255,212,0,.45);
  transform: translateY(1px);
}

.header-social .scroll-down-hold:active {
  transform: translateY(2px) scale(.96);
}

/* Refine chevron/baffo symbol alignment */
.header-social .scroll-down-hold {
  font-size: 18px;
  line-height: 20px;
  padding-bottom: 2px;
}

/* Center the chevron/baffo perfectly inside its circle */
.header-social .scroll-down-hold {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px;
  height: 24px;
  padding: 0 !important;
  font-size: 17px;
  line-height: 1 !important;
  text-align: center;
}

.header-social .scroll-down-hold {
  transform: translateY(0);
}

.header-social .scroll-down-hold:hover,
.header-social .scroll-down-hold.is-scrolling {
  transform: translateY(1px);
}

/* Fine tune chevron/baffo optical centering */
.header-social .scroll-down-hold {
  padding-bottom: 4px !important;
  box-sizing: border-box;
}

/* Dark scroll cue circle to avoid visual misalignment */
.header-social .scroll-down-hold {
  background: #050505 !important;
  border: 1px solid rgba(255,212,0,.72) !important;
  color: var(--yellow) !important;
  box-shadow: 0 0 14px rgba(255,212,0,.16);
}

.header-social .scroll-down-hold:hover,
.header-social .scroll-down-hold.is-scrolling {
  background: #0b0b0b !important;
  border-color: rgba(255,212,0,.95) !important;
  box-shadow: 0 0 18px rgba(255,212,0,.38);
}

/* Scroll cue: black circle without border */
.header-social .scroll-down-hold {
  background: #050505 !important;
  border: 0 !important;
  color: var(--yellow) !important;
  box-shadow: 0 0 12px rgba(255,212,0,.12);
}

.header-social .scroll-down-hold:hover,
.header-social .scroll-down-hold.is-scrolling {
  background: #0b0b0b !important;
  border: 0 !important;
  box-shadow: 0 0 18px rgba(255,212,0,.34);
}



/* Up/down hold scroll controls next to EN */
.header-social .scroll-hold-pair{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:2px;
}
.header-social .scroll-hold-control{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px;
  height:24px;
  padding:0 0 4px 0;
  margin:0;
  border:0 !important;
  border-radius:999px;
  background:#050505 !important;
  color:var(--yellow) !important;
  box-shadow:0 0 12px rgba(255,212,0,.12);
  font-family:inherit;
  font-size:17px;
  line-height:1 !important;
  font-weight:800;
  text-align:center;
  cursor:pointer;
  transition:background .22s ease, box-shadow .22s ease, transform .22s ease, opacity .22s ease;
}
.header-social .scroll-hold-control.scroll-up-hold{
  padding:3px 0 0 0;
}
.header-social .scroll-hold-control:hover,
.header-social .scroll-hold-control.is-scrolling{
  background:#0b0b0b !important;
  box-shadow:0 0 18px rgba(255,212,0,.34);
  transform:translateY(1px);
}
.header-social .scroll-hold-control:active{
  transform:translateY(2px) scale(.96);
}

/* Final optical alignment: both scroll chevrons lifted inside the circles */
.header-social .scroll-hold-control {
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0 5px 0 !important;
  line-height: 1 !important;
  box-sizing: border-box;
}

.header-social .scroll-hold-control.scroll-up-hold {
  padding: 0 0 5px 0 !important;
}

/* CSS-drawn scroll chevrons: no font symbols, perfect optical centering */
.header-social .scroll-hold-control {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #050505 !important;
  color: var(--yellow) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: 0 0 12px rgba(255,212,0,.12);
  cursor: pointer;
}

.header-social .scroll-hold-control::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
  transform-origin: center;
}

.header-social .scroll-up-hold::before {
  transform: translate(-50%, -38%) rotate(225deg);
}

.header-social .scroll-down-hold::before {
  transform: translate(-50%, -62%) rotate(45deg);
}

.header-social .scroll-hold-control:hover,
.header-social .scroll-hold-control.is-scrolling {
  background: #0b0b0b !important;
  box-shadow: 0 0 18px rgba(255,212,0,.34);
}

.header-social .scroll-hold-control:active {
  transform: scale(.96);
}

/* Layout test: open Radio manifesto + stronger Official Drop shop */
.radio-manifesto {
  padding-top: 118px;
  padding-bottom: 118px;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,212,0,.13), transparent 28%),
    linear-gradient(120deg, #050505 0%, #101010 52%, #050505 100%);
  overflow: hidden;
}

.radio-manifesto-inner {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: left;
  padding: 34px 0;
}

.radio-manifesto-inner::before {
  content: "ON AIR";
  position: absolute;
  left: -4vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  color: rgba(255,255,255,.035);
  font-size: min(22vw, 260px);
  font-weight: 950;
  letter-spacing: -.13em;
  white-space: nowrap;
  pointer-events: none;
}

.radio-manifesto-inner h2 {
  max-width: 820px;
  margin-bottom: 28px;
}

.radio-manifesto-inner p {
  max-width: 760px;
  font-size: 18px;
  color: rgba(245,245,245,.72);
}

.radio-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.radio-tags span {
  border: 1px solid rgba(255,212,0,.22);
  border-radius: 999px;
  padding: 10px 14px;
  color: var(--yellow);
  background: rgba(255,212,0,.045);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  font-weight: 850;
}

.shop-inner.shop-drop {
  background:
    radial-gradient(circle at 78% 28%, rgba(255,212,0,.28), transparent 25%),
    radial-gradient(circle at 12% 82%, rgba(255,212,0,.08), transparent 25%),
    linear-gradient(135deg, #171717, #070707);
}

.shop-inner.shop-drop::before {
  content: "";
  position: absolute;
  right: 76px;
  top: 50%;
  width: 118px;
  height: 158px;
  transform: translateY(-50%) rotate(-5deg);
  border-radius: 28px 28px 18px 18px;
  background:
    linear-gradient(90deg, transparent 0 28%, rgba(255,212,0,.18) 28% 72%, transparent 72%),
    linear-gradient(145deg, rgba(255,212,0,.18), rgba(255,255,255,.035));
  border: 1px solid rgba(255,212,0,.18);
  box-shadow: 0 24px 80px rgba(0,0,0,.38);
  opacity: .52;
  pointer-events: none;
}

.shop-inner.shop-drop::after {
  content: "DROP";
  position: absolute;
  right: -18px;
  bottom: -34px;
  color: rgba(255,255,255,.055);
  font-size: 170px;
  font-weight: 950;
  letter-spacing: -.1em;
}

@media(max-width:1020px) {
  .radio-manifesto {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .radio-manifesto-inner {
    padding: 0;
  }

  .radio-manifesto-inner h2 {
    max-width: 100%;
  }

  .radio-manifesto-inner p {
    font-size: 16px;
  }

  .radio-tags {
    gap: 8px;
  }

  .shop-inner.shop-drop::before {
    display: none;
  }
}



/* Open shop manifesto section to avoid another closed card */
.shop-manifesto{
  padding-top: 104px;
  padding-bottom: 118px;
  background:
    radial-gradient(circle at 78% 26%, rgba(255,212,0,.16), transparent 24%),
    radial-gradient(circle at 18% 74%, rgba(255,212,0,.07), transparent 22%),
    linear-gradient(120deg, #070707 0%, #111111 54%, #060606 100%);
  overflow:hidden;
}
.shop-manifesto-inner{
  max-width:1180px;
  margin:0 auto;
  position:relative;
  z-index:1;
  text-align:right;
  padding:34px 0;
}
.shop-manifesto-inner::before{
  content:"DROP";
  position:absolute;
  right:-2vw;
  top:50%;
  transform:translateY(-50%);
  z-index:-1;
  color:rgba(255,255,255,.035);
  font-size:min(20vw,240px);
  font-weight:950;
  letter-spacing:-.1em;
  white-space:nowrap;
  pointer-events:none;
}
.shop-manifesto-inner h2{
  max-width:780px;
  margin:0 0 28px auto;
}
.shop-manifesto-inner p{
  max-width:760px;
  margin-left:auto;
  font-size:18px;
  color:rgba(245,245,245,.72);
}
.shop-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
  justify-content:flex-end;
}
.shop-tags span{
  border:1px solid rgba(255,212,0,.22);
  border-radius:999px;
  padding:10px 14px;
  color:var(--yellow);
  background:rgba(255,212,0,.045);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:850;
}
.shop-mini-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:34px;
  border:1px solid rgba(255,212,0,.42);
  color:var(--yellow);
  border-radius:999px;
  padding:14px 22px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:900;
  background:rgba(0,0,0,.28);
}
.shop-mini-pill:hover{
  transform:translateY(-2px);
  border-color:rgba(255,212,0,.75);
  box-shadow:0 0 26px rgba(255,212,0,.14);
}
@media(max-width:1020px){
  .shop-manifesto{
    padding-top:82px;
    padding-bottom:82px;
  }
  .shop-manifesto-inner{
    text-align:left;
    padding:0;
  }
  .shop-manifesto-inner h2{
    max-width:100%;
    margin:0 0 24px 0;
  }
  .shop-manifesto-inner p{
    max-width:100%;
    margin-left:0;
    font-size:16px;
  }
  .shop-tags{
    gap:8px;
    justify-content:flex-start;
  }
  .shop-manifesto-inner::before{
    right:auto;
    left:-3vw;
  }
}


/* Center Instagram section heading block */
.instagram-live .instagram-heading-center{
  grid-template-columns:1fr;
  gap:18px;
  align-items:center;
  justify-items:center;
  text-align:center;
}
.instagram-live .instagram-heading-center > div,
.instagram-live .instagram-heading-center > p{
  max-width:860px;
}
.instagram-live .instagram-heading-center h2{
  margin-left:auto;
  margin-right:auto;
}
.instagram-live .instagram-heading-center p{
  margin:0 auto;
}

/* Bio link and complete biography page */
.bio-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  color: var(--yellow);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,212,0,.45);
  padding-bottom: 5px;
}

.bio-inline-link:hover {
  filter: drop-shadow(0 0 12px rgba(255,212,0,.35));
}

.bio-page-hero p {
  max-width: 760px;
  margin: 28px auto 0;
}

.bio-full-section {
  background:
    radial-gradient(circle at 18% 12%, rgba(255,212,0,.10), transparent 26%),
    linear-gradient(120deg, #050505 0%, #101010 52%, #050505 100%);
}

.bio-full-wrap {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
}

.bio-full-wrap::before {
  content: "BIO";
  position: absolute;
  right: -8vw;
  top: -72px;
  z-index: 0;
  color: rgba(255,255,255,.035);
  font-size: min(24vw, 250px);
  font-weight: 950;
  letter-spacing: -.12em;
  pointer-events: none;
}

.bio-full-wrap p,
.bio-full-wrap .bio-inline-link {
  position: relative;
  z-index: 1;
}

.bio-full-wrap p {
  margin-bottom: 26px;
  color: rgba(245,245,245,.74);
  font-size: 18px;
  line-height: 1.85;
}

@media(max-width:1020px) {
  .bio-full-wrap p {
    font-size: 16px;
  }
}

/* About in-page expandable biography */
.about-copy {
  position: relative;
  padding-right: 42px;
}

.about-more-toggle {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  right: 0;
  bottom: 6px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: #050505;
  box-shadow: 0 0 14px rgba(255,212,0,.14);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.about-more-toggle span {
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
  transform: translateY(-2px) rotate(45deg);
  transition: transform .25s ease;
}

.about-more-toggle:hover {
  box-shadow: 0 0 22px rgba(255,212,0,.34);
  background: #0b0b0b;
}

.about-more-toggle.is-open span {
  transform: translateY(2px) rotate(225deg);
}

.about-full-bio {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0;
  border: 1px solid transparent;
  border-radius: 26px;
  background: rgba(255,255,255,.025);
  transition: max-height .45s ease, opacity .32s ease, margin-top .32s ease, border-color .32s ease, padding .32s ease;
}

.about-full-bio.is-open {
  max-height: 360px;
  overflow-y: auto;
  opacity: 1;
  margin-top: 26px;
  padding: 22px 24px;
  border-color: rgba(255,212,0,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 22px 70px rgba(0,0,0,.28);
}

.about-full-bio p {
  font-size: 15px;
  line-height: 1.78;
  color: rgba(245,245,245,.68);
  margin-bottom: 18px;
}

.about-full-bio p:last-child {
  margin-bottom: 0;
}

.about-full-bio::-webkit-scrollbar {
  width: 5px;
}

.about-full-bio::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.about-full-bio::-webkit-scrollbar-thumb {
  background: rgba(255,212,0,.42);
  border-radius: 999px;
}

.about-full-bio {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,212,0,.42) rgba(255,255,255,.04);
}

@media(max-width:1020px) {
  .about-copy {
    padding-right: 38px;
  }

  .about-more-toggle {
    bottom: 2px;
  }

  .about-full-bio.is-open {
    max-height: 330px;
    padding: 20px;
  }
}

/* Mobile: show full About bio directly, no toggle and no internal scroll */
@media(max-width:1020px) {
  .about-copy {
    padding-right: 0;
  }

  .about-more-toggle {
    display: none !important;
  }

  .about-full-bio,
  .about-full-bio.is-open {
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    margin-top: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .about-full-bio p {
    font-size: 15px;
    line-height: 1.78;
    color: rgba(245,245,245,.68);
  }
}

/* About fixed scrollable biography panel with hold controls */
.about-copy {
  position: relative;
  padding-right: 74px;
}

.about-more-toggle {
  display: none !important;
}

.about-scroll-controls {
  position: absolute;
  right: 0;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.about-scroll-control {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px;
  height: 24px;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  border-radius: 999px;
  background: #050505 !important;
  box-shadow: 0 0 12px rgba(255,212,0,.12);
  cursor: pointer;
  transition: background .22s ease, box-shadow .22s ease, transform .22s ease;
}

.about-scroll-control::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
  transform-origin: center;
}

.about-scroll-up::before {
  transform: translate(-50%, -38%) rotate(225deg);
}

.about-scroll-down::before {
  transform: translate(-50%, -62%) rotate(45deg);
}

.about-scroll-control:hover,
.about-scroll-control.is-scrolling {
  background: #0b0b0b !important;
  box-shadow: 0 0 18px rgba(255,212,0,.34);
  transform: translateY(1px);
}

.about-scroll-control:active {
  transform: scale(.96);
}

.about-full-bio,
.about-full-bio.is-open {
  max-height: 250px !important;
  overflow-y: auto !important;
  opacity: 1 !important;
  margin-top: 26px !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(255,212,0,.16) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.025) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 22px 70px rgba(0,0,0,.28) !important;
  scroll-behavior: auto;
}

.about-full-bio p {
  font-size: 15px;
  line-height: 1.78;
  color: rgba(245,245,245,.68);
  margin-bottom: 18px;
}

.about-full-bio p:last-child {
  margin-bottom: 0;
}

.about-full-bio::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.about-full-bio {
  scrollbar-width: none;
}

@media(max-width:1020px) {
  .about-copy {
    padding-right: 0;
  }

  .about-scroll-controls {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 18px;
  }

  .about-full-bio,
  .about-full-bio.is-open {
    max-height: 300px !important;
    margin-top: 22px !important;
    padding: 20px !important;
  }
}

/* About: single scrollable text div controlled by up/down chevrons */
.about-scrollbox {
  position: relative !important;
  max-height: 330px !important;
  overflow-y: auto !important;
  padding: 0 72px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scroll-behavior: auto;
  scrollbar-width: none;
}

.about-scrollbox::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.about-scrollbox p {
  font-size: 16px;
  line-height: 1.78;
  color: rgba(245,245,245,.70);
  margin-bottom: 18px;
}

.about-scrollbox p:last-of-type {
  margin-bottom: 0;
}

.about-scrollbox .about-scroll-controls {
  position: sticky;
  right: 0;
  bottom: 0;
  float: right;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  margin-right: -72px;
  padding-left: 10px;
  background: linear-gradient(90deg, transparent, #050505 42%);
}

.about-full-bio {
  display: none !important;
}

@media(max-width:1020px) {
  .about-scrollbox {
    max-height: 430px !important;
    padding-right: 0 !important;
  }

  .about-scrollbox .about-scroll-controls {
    position: sticky;
    bottom: 0;
    float: none;
    margin: 20px 0 0 0;
    background: transparent;
  }
}

/* About title and text box refinement */
#about .reveal {
  max-width: 640px;
}

#about .about-scrollbox {
  max-width: 640px;
  padding-right: 96px !important;
}

#about .about-scrollbox .about-scroll-controls {
  margin-right: -96px;
}

@media(max-width:1020px) {
  #about .reveal,
  #about .about-scrollbox {
    max-width: 100%;
  }

  #about .about-scrollbox {
    padding-right: 0 !important;
  }

  #about .about-scrollbox .about-scroll-controls {
    margin-right: 0;
  }
}

/* About text extra right padding for scroll controls */
#about .about-scrollbox {
  padding-right: 132px !important;
}

#about .about-scrollbox .about-scroll-controls {
  margin-right: -112px;
  padding-left: 18px;
  background: linear-gradient(90deg, transparent, #050505 34%, #050505 100%);
}

@media(max-width:1020px) {
  #about .about-scrollbox {
    padding-right: 0 !important;
  }

  #about .about-scrollbox .about-scroll-controls {
    margin-right: 0;
    padding-left: 0;
    background: transparent;
  }
}

/* Clean About summary: no internal scroll, no biography controls */
#about .about-clean-copy {
  max-width: 680px;
  padding-right: 0 !important;
}

#about .about-clean-copy p {
  font-size: 16px;
  line-height: 1.78;
  color: rgba(245,245,245,.70);
  margin-bottom: 20px;
}

#about .about-clean-copy p:last-child {
  margin-bottom: 0;
}

#about .about-scroll-controls,
#about .about-scroll-control,
#about .about-more-toggle,
#about .about-full-bio {
  display: none !important;
}

@media(max-width:1020px) {
  #about .about-clean-copy {
    max-width: 100%;
  }

  #about .about-clean-copy p {
    font-size: 15px;
  }
}

/* About summary paragraphs tight spacing */
#about .about-clean-copy p {
  margin-bottom: 0 !important;
}

/* About link from home */
.about-photo-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.about-photo-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(135deg, rgba(255,212,0,.12), transparent 38%, rgba(255,212,0,.08));
  opacity: 0;
  transition: opacity .28s ease;
  pointer-events: none;
}

.about-photo-link:hover::before {
  opacity: 1;
}

.about-title-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
}

.about-title-link h2 {
  transition: color .25s ease, text-shadow .25s ease, transform .25s ease;
}

.about-title-link:hover h2 {
  color: var(--yellow);
  text-shadow: 0 0 34px rgba(255,212,0,.18);
  transform: translateY(-2px);
}

/* Bio page */
.about-page-hero p {
  max-width: 760px;
  margin: 28px auto 0;
}

.about-full-page-section {
  background:
    radial-gradient(circle at 16% 20%, rgba(255,212,0,.10), transparent 28%),
    linear-gradient(120deg, #050505 0%, #101010 52%, #050505 100%);
}

.about-full-page-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr);
  gap: 64px;
  align-items: start;
}

.about-full-page-copy {
  position: relative;
  z-index: 1;
}

.about-full-page-copy::before {
  content: "BIO";
  position: absolute;
  left: -5vw;
  top: 90px;
  z-index: -1;
  color: rgba(255,255,255,.035);
  font-size: min(18vw, 210px);
  font-weight: 950;
  letter-spacing: -.12em;
  pointer-events: none;
}

.about-full-page-copy p {
  color: rgba(245,245,245,.72);
  font-size: 17px;
  line-height: 1.82;
  margin-bottom: 22px;
}

.about-full-page-copy p:last-child {
  margin-bottom: 0;
}

.about-page-portrait {
  position: sticky;
  top: 110px;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(255,212,0,.18);
  background: #050505;
  box-shadow: 0 34px 110px rgba(0,0,0,.55);
}

.about-page-portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.about-gallery-section {
  background: #050505;
  overflow: hidden;
}

.about-gallery-head {
  max-width: 1180px;
  margin: 0 auto 46px;
  text-align: center;
}

.about-gallery-head p {
  max-width: 720px;
  margin: 0 auto;
}

.about-gallery-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  grid-auto-rows: 230px;
  gap: 18px;
}

.about-gallery-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(255,212,0,.15);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,212,0,.18), transparent 28%),
    linear-gradient(145deg, #222, #080808);
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
}

.about-gallery-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), transparent 28%, rgba(255,212,0,.08)),
    repeating-linear-gradient(90deg, transparent 0 26px, rgba(255,255,255,.035) 27px, transparent 29px);
  opacity: .62;
}

.about-gallery-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.72) saturate(1.05);
}

.about-gallery-card span {
  position: absolute;
  left: 24px;
  bottom: 22px;
  z-index: 2;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  font-weight: 900;
}

.about-gallery-main {
  grid-row: span 2;
}

@media(max-width:1020px) {
  .about-full-page-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .about-page-portrait {
    position: relative;
    top: auto;
    order: -1;
  }

  .about-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
  }

  .about-gallery-main {
    grid-row: span 1;
  }
}

/* Radio section: La Mia Patong artwork as dark background banner */
.radio-patong {
  padding-top: 110px;
  padding-bottom: 110px;
  background:
    radial-gradient(circle at 14% 22%, rgba(255,212,0,.10), transparent 26%),
    linear-gradient(120deg, #050505 0%, #101010 52%, #050505 100%);
  overflow: hidden;
}

.radio-patong-banner {
  max-width: 1180px;
  min-height: 448px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 38px;
  border: 1px solid rgba(255,212,0,.16);
  box-shadow: 0 36px 120px rgba(0,0,0,.58);
  background:
    linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.62)),
    linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.16) 32%, rgba(0,0,0,.46)),
    url("../img/la-mia-patong-radio.jpg") center center / cover no-repeat;
}

.radio-patong-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,212,0,.09), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 34%, rgba(255,255,255,.02));
  pointer-events: none;
}

.radio-patong-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  pointer-events: none;
}

@media(max-width:1020px) {
  .radio-patong {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .radio-patong-banner {
    min-height: 230px;
    border-radius: 28px;
    background:
      linear-gradient(180deg, rgba(0,0,0,.44), rgba(0,0,0,.68)),
      linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.18) 32%, rgba(0,0,0,.48)),
      url("../img/la-mia-patong-radio.jpg") center center / cover no-repeat;
  }
}

/* La Mia Patong custom audio player */
.patong-player {
  max-width: 1180px;
  margin: 22px auto 0;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) auto minmax(260px, 1.15fr);
  gap: 24px;
  align-items: center;
  padding: 22px 26px;
  border-radius: 30px;
  border: 1px solid rgba(255,212,0,.15);
  background:
    radial-gradient(circle at 8% 20%, rgba(255,0,180,.10), transparent 28%),
    radial-gradient(circle at 88% 52%, rgba(0,180,255,.12), transparent 28%),
    linear-gradient(135deg, rgba(22,22,22,.94), rgba(5,5,5,.96));
  box-shadow: 0 28px 90px rgba(0,0,0,.46);
  position: relative;
  overflow: hidden;
}

.patong-player::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,255,255,.07), transparent 26%, transparent 74%, rgba(255,212,0,.07));
  opacity: .72;
  pointer-events: none;
}

.patong-player-info,
.patong-play,
.patong-progress-wrap {
  position: relative;
  z-index: 1;
}

.patong-player-info .section-label {
  margin-bottom: 8px;
}

.patong-player-info h3 {
  font-size: clamp(24px, 3vw, 40px);
  line-height: .95;
  letter-spacing: -.055em;
  text-transform: uppercase;
  margin: 0;
}

.patong-player-info p {
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1;
  color: rgba(245,245,245,.56);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 800;
}

.patong-play {
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 999px;
  background: var(--yellow);
  box-shadow: 0 0 34px rgba(255,212,0,.26), 0 16px 46px rgba(0,0,0,.42);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}

.patong-play:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 0 46px rgba(255,212,0,.42), 0 20px 60px rgba(0,0,0,.5);
}

.patong-play span {
  display: block;
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #050505;
}

.patong-player.is-playing .patong-play span {
  width: 16px;
  height: 20px;
  margin-left: 0;
  border: 0;
  position: relative;
}

.patong-player.is-playing .patong-play span::before,
.patong-player.is-playing .patong-play span::after {
  content: "";
  position: absolute;
  top: 0;
  width: 5px;
  height: 20px;
  border-radius: 2px;
  background: #050505;
}

.patong-player.is-playing .patong-play span::before {
  left: 2px;
}

.patong-player.is-playing .patong-play span::after {
  right: 2px;
}

.patong-progress-wrap {
  min-width: 0;
}

.patong-progress {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.patong-progress-fill {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffd400, #ff4dd2, #00b7ff);
  box-shadow: 0 0 18px rgba(255,212,0,.28);
}

.patong-time {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 10px;
  color: rgba(245,245,245,.52);
  font-size: 11px;
  letter-spacing: .12em;
  font-weight: 800;
}

@media(max-width:1020px) {
  .patong-player {
    grid-template-columns: auto 1fr;
    gap: 18px;
    padding: 20px;
    border-radius: 24px;
  }

  .patong-player-info {
    grid-column: 1 / -1;
  }

  .patong-play {
    width: 52px;
    height: 52px;
  }
}

/* La Mia Patong cover inside custom player */
.patong-player-info {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.patong-cover {
  width: 72px;
  height: 72px;
  flex: 0 0 auto;
  border-radius: 18px;
  object-fit: cover;
  border: 1px solid rgba(255,212,0,.22);
  box-shadow: 0 14px 40px rgba(0,0,0,.45), 0 0 24px rgba(255,0,190,.12);
}

.patong-track-copy {
  min-width: 0;
}

@media(max-width:1020px) {
  .patong-cover {
    width: 64px;
    height: 64px;
    border-radius: 16px;
  }
}

/* La Mia Patong video banner */
.radio-patong-video-wrap {
  background: #050505 !important;
  position: relative;
  display: block;
}

.patong-visual-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #050505;
}

.radio-patong-video-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.16)),
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 28%, transparent 72%, rgba(0,0,0,.18));
}

.radio-patong-video-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), inset 0 0 70px rgba(0,0,0,.24);
}

@media(max-width: 760px) {
  .patong-slide-arrow {
    opacity: 1;
    width: 42px;
    height: 58px;
    font-size: 44px;
    border-radius: 14px;
  }
  .patong-slide-prev { left: 10px; }
  .patong-slide-next { right: 10px; }
}


/* Music visual slider */
.patong-slider-visual {
  overflow: hidden;
}

.patong-slide-stage {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: inherit;
  background: #050505;
  --patong-stage-bg: none;
}

.patong-slide-stage::before {
  content: "";
  position: absolute;
  inset: -5%;
  background-image: var(--patong-stage-bg);
  background-size: cover;
  background-position: center;
  filter: blur(28px) saturate(1.05);
  opacity: .52;
  transform: scale(1.08);
  z-index: 0;
  pointer-events: none;
}

.patong-slide-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28));
  z-index: 1;
  pointer-events: none;
}

.patong-visual-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: transparent;
  opacity: 0;
  transform: translateX(0);
  transition: transform .55s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
  z-index: 2;
}

.patong-visual-media.is-active {
  opacity: 1;
  transform: translateX(0);
}

.patong-visual-image {
  object-fit: cover;
  object-position: center center;
  padding: 0;
}

.patong-visual-video {
  object-fit: cover;
  object-position: center center;
}

.patong-visual-media.slide-enter-right { transform: translateX(100%); }
.patong-visual-media.slide-enter-left { transform: translateX(-100%); }
.patong-visual-media.slide-exit-left { transform: translateX(-100%); opacity: 0; }
.patong-visual-media.slide-exit-right { transform: translateX(100%); opacity: 0; }

.patong-slide-arrow {
  position: absolute;
  top: 50%;
  z-index: 6;
  width: 54px;
  height: 74px;
  border: 1px solid rgba(255, 214, 0, .42);
  border-radius: 18px;
  background: rgba(0, 0, 0, .42);
  color: #ffd600;
  font-size: 58px;
  line-height: 1;
  font-weight: 300;
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(-50%) scale(.96);
  transition: opacity .22s ease, transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
  text-shadow: 0 0 16px rgba(255, 214, 0, .55);
  backdrop-filter: blur(10px);
}

.patong-slide-prev { left: 22px; }
.patong-slide-next { right: 22px; }

.patong-slider-visual:hover .patong-slide-arrow {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.patong-slide-arrow:hover {
  background: rgba(255, 214, 0, .10);
  border-color: rgba(255, 214, 0, .82);
  box-shadow: 0 0 28px rgba(255, 214, 0, .26);
}

@media(max-width: 760px) {
  .patong-slide-arrow {
    opacity: 1;
    width: 42px;
    height: 58px;
    font-size: 44px;
    border-radius: 14px;
  }
  .patong-slide-prev { left: 10px; }
  .patong-slide-next { right: 10px; }
}


/* Player progress yellow override */
.patong-progress-fill {
  background: #ffd600 !important;
  box-shadow: 0 0 18px rgba(255, 214, 0, .42) !important;
}

.patong-progress {
  background: rgba(255, 255, 255, .13);
}

/* Media page release player thumbnails */
.media-release-player {
  padding-top: 72px;
}

.media-release-heading {
  align-items: end;
  margin-bottom: 28px;
}

.media-release-heading h2 {
  margin: 8px 0 0;
}

.media-release-heading p {
  margin: 0;
  color: var(--muted);
  max-width: 520px;
}

.media-release-thumbs {
  width: min(92%, 1180px);
  margin: 26px auto 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.patong-thumb {
  position: relative;
  border: 1px solid rgba(255, 214, 0, .16);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 21 / 9;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.patong-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .76;
  transition: opacity .22s ease, transform .32s ease;
}

.patong-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), inset 0 0 34px rgba(0,0,0,.32);
  pointer-events: none;
}

.patong-thumb:hover,
.patong-thumb.is-active {
  transform: translateY(-3px);
  border-color: rgba(255, 214, 0, .74);
  box-shadow: 0 22px 54px rgba(0,0,0,.35), 0 0 28px rgba(255,214,0,.13);
}

.patong-thumb:hover img,
.patong-thumb.is-active img {
  opacity: 1;
  transform: scale(1.035);
}

@media(max-width: 980px) {
  .media-release-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media(max-width: 560px) {
  .media-release-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}


/* Music page releases with large square covers */
.music-release-player {
  padding-top: 72px;
}

.music-release-heading {
  align-items: end;
  margin-bottom: 28px;
}

.music-release-heading h2 {
  margin: 8px 0 0;
}

.music-release-heading p {
  margin: 0;
  color: var(--muted);
  max-width: 520px;
}

.music-release-grid {
  width: min(92%, 1560px);
  margin: 56px auto 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 500px));
  gap: 34px;
  justify-content: center;
}

.music-release-card {
  width: min(100%, 500px);
  position: relative;
}

.music-release-cover {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(255, 214, 0, .18);
  border-radius: 28px;
  overflow: hidden;
  padding: 0;
  background: rgba(255,255,255,.035);
  cursor: pointer;
  display: block;
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, filter .28s ease;
}

.music-release-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .42s cubic-bezier(.22,.61,.36,1), filter .28s ease;
}

.music-release-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.music-release-card:hover .music-release-cover,
.music-release-card.is-active .music-release-cover {
  transform: translateY(-10px) scale(1.018);
  border-color: rgba(255, 214, 0, .84);
  box-shadow: 0 34px 88px rgba(0,0,0,.42), 0 0 34px rgba(255,214,0,.16);
}

.music-release-card:hover .music-release-cover img,
.music-release-card.is-active .music-release-cover img {
  transform: scale(1.045);
  filter: saturate(1.08) contrast(1.04);
}

.music-release-card-body {
  padding: 18px 4px 0;
}

.music-release-card-body h3 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: .95;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.music-release-card-body p {
  margin: 8px 0 16px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.music-release-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.release-action {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: var(--text);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .68rem;
  font-weight: 900;
  padding: 11px 15px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.release-action:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 214, 0, .72);
  color: #ffd600;
  background: rgba(255, 214, 0, .08);
}

.spotify-save {
  background: rgba(255, 214, 0, .11);
  border-color: rgba(255, 214, 0, .45);
  color: #ffd600;
}

@media(max-width: 680px) {
  .music-release-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}



/* Patong video fullscreen overlay */
.patong-slider-visual.has-video-fullscreen {
  cursor: zoom-in;
}
.patong-fullscreen-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 3vw, 42px);
  background: rgba(0, 0, 0, .92);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.patong-fullscreen-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.patong-fullscreen-inner {
  position: relative;
  width: min(96vw, 1600px);
  aspect-ratio: 1024 / 448;
  background: #050505;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.08);
}
.patong-fullscreen-inner video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #050505;
}
.patong-fullscreen-close {
  position: fixed;
  top: clamp(14px, 2vw, 28px);
  right: clamp(14px, 2vw, 28px);
  z-index: 100000;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(0,0,0,.62);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.patong-fullscreen-close:hover {
  transform: scale(1.06);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.42);
}
body.patong-fullscreen-open {
  overflow: hidden;
}
@media(max-width: 760px) {
  .patong-fullscreen-overlay {
    padding: 12px;
  }
  .patong-fullscreen-inner {
    width: 100vw;
    border-radius: 14px;
  }
  .patong-fullscreen-close {
    width: 44px;
    height: 44px;
    font-size: 28px;
  }
}








/* Music page hero */
.music-hero {
  min-height: 82vh;
  padding: 140px 5vw 92px;
}

.music-hero-bg {
  opacity: .88;
}

.music-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(.88) contrast(1.06) brightness(.48);
  transform: scale(1.03);
}

.music-hero .hero-content.music-hero-copy {
  max-width: 980px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}

.music-hero-tagline {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.03em;
  max-width: 980px;
  color: #f3f3f3;
  text-shadow: 0 10px 30px rgba(0,0,0,.28);
}

.music-hero-cover-wrap {
  width: min(320px, 68vw);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(0,0,0,.38);
  border: 1px solid rgba(255,255,255,.12);
}

.music-hero-cover-image {
  display: block;
  width: 100%;
  height: auto;
}

body.music-page .music-release-player {
  background: transparent;
  padding-top: 84px;
}

@media(max-width:1020px){
  .music-hero {
    min-height: 74vh;
    padding: 118px 22px 82px;
  }
  .music-hero-bg img {
    object-position: center 24%;
    filter: saturate(.9) contrast(1.05) brightness(.5);
  }
  .music-hero .hero-content.music-hero-copy {
    gap: 22px;
  }
  .music-hero-tagline {
    font-size: clamp(26px, 8vw, 46px);
    max-width: 100%;
  }
  .music-hero-cover-wrap {
    width: min(260px, 76vw);
    border-radius: 22px;
  }
}


/* Music hero New Release refinement */
.music-hero .hero-content.music-hero-release-copy {
  align-items: center;
  text-align: center;
  gap: 20px;
}

.music-hero-label {
  display: block;
  color: var(--yellow);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 2px;
}

.music-hero-title {
  margin: 0;
  font-size: clamp(58px, 10vw, 126px);
  line-height: .86;
  letter-spacing: -.065em;
  text-transform: uppercase;
}

.music-hero-release-copy .music-hero-cover-wrap {
  margin: 10px auto 0;
}

body.music-page .music-release-player {
  padding-top: 74px;
}

@media(max-width:1020px){
  .music-hero .hero-content.music-hero-release-copy {
    gap: 16px;
  }

  .music-hero-title {
    font-size: clamp(52px, 16vw, 92px);
  }

  .music-hero-release-copy .music-hero-cover-wrap {
    width: min(270px, 74vw);
  }
}


/* Music hero clickable cover refinement */
.music-hero-title {
  font-size: clamp(44px, 7.2vw, 92px);
  letter-spacing: -.055em;
}

.music-hero-cover-button {
  display: block;
  padding: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.music-hero-cover-button:hover {
  transform: translateY(-4px) scale(1.015);
  border-color: rgba(255, 212, 0, .46);
  box-shadow: 0 32px 74px rgba(0,0,0,.48), 0 0 44px rgba(255,212,0,.12);
}

.music-hero-spotify {
  margin-top: 0;
}

@media(max-width:1020px){
  .music-hero-title {
    font-size: clamp(42px, 13vw, 72px);
  }
}


/* Music page top exactly like home */
.music-hero {
  min-height: 92vh;
  padding: 136px 5vw 104px;
}

.music-hero-bg {
  opacity: .82;
}

.music-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(.88) contrast(1.06) brightness(.48);
  transform: scale(1.045);
}

.music-hero .hero-content.music-hero-release-copy {
  max-width: 980px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
}

.music-hero-label {
  color: var(--yellow);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 0;
}

.music-hero-title {
  margin: 0;
  font-size: clamp(44px, 7.2vw, 92px);
  line-height: .86;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.music-hero-cover-wrap {
  margin: 8px auto 0;
  width: min(320px, 68vw);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(0,0,0,.38);
  border: 1px solid rgba(255,255,255,.12);
}

.music-hero-cover-button {
  display: block;
  padding: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.music-hero-cover-button:hover {
  transform: translateY(-4px) scale(1.015);
  border-color: rgba(255, 212, 0, .46);
  box-shadow: 0 32px 74px rgba(0,0,0,.48), 0 0 44px rgba(255,212,0,.12);
}

.music-hero-cover-image {
  display: block;
  width: 100%;
  height: auto;
}

.music-hero-spotify {
  margin-top: 0;
}

.music-signal-bar {
  position: relative;
  z-index: 3;
}

body.music-page .music-release-player {
  background: transparent;
  padding-top: 84px;
}

@media(max-width:1020px){
  .music-hero {
    padding: 118px 22px 92px;
    min-height: 92vh;
  }
  .music-hero-bg img {
    object-position: center 24%;
    filter: saturate(.9) contrast(1.05) brightness(.5);
  }
  .music-hero-title {
    font-size: clamp(42px, 13vw, 72px);
  }
  .music-hero-cover-wrap {
    width: min(270px, 74vw);
    border-radius: 22px;
  }
}


/* Tour and Media home-like top */
.inner-hero {
  min-height: 92vh;
  padding: 136px 5vw 104px;
}

.inner-hero .hero-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(.92) contrast(1.12) brightness(.58);
  transform: scale(1.045);
}

.inner-hero .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  filter: saturate(.95) contrast(1.08) brightness(.52);
  transform: scale(1.03);
}


.inner-hero .hero-content {
  max-width: 1120px;
}

.inner-hero h1 {
  font-size: clamp(58px, 12vw, 148px);
}

@media(max-width:1020px){
  .inner-hero {
    padding: 118px 22px 92px;
    min-height: 92vh;
  }
}


/* Tour demo dates */
.tour-live-list .tour-live-row {
  grid-template-columns: 150px 1fr 230px 150px;
}

.tour-ticket-btn {
  justify-self: end;
  min-width: 118px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.04);
  text-align: center;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: .25s ease;
}

.tour-ticket-btn:hover {
  color: #050505;
  background: var(--yellow);
  border-color: var(--yellow);
  transform: translateY(-2px);
}

@media(max-width:1020px){
  .tour-live-list .tour-live-row {
    grid-template-columns: 1fr;
  }
  .tour-ticket-btn {
    justify-self: start;
    margin-top: 8px;
  }
}


/* Tour event venue refinement */
.tour-live-row strong {
  font-size: 16px;
  letter-spacing: .12em;
  line-height: 1.2;
}

.tour-live-row h3 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tour-live-row h3 small {
  display: block;
  color: rgba(245,245,245,.56);
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: .02em;
  text-transform: none;
  font-weight: 500;
}

@media(max-width:1020px){
  .tour-live-row strong {
    font-size: 15px;
  }

  .tour-live-row h3 small {
    font-size: 14px;
  }
}


/* Press area */
.press-heading {
  margin-bottom: 44px;
}

.press-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.press-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.045);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.press-card:hover {
  transform: translateY(-7px);
  border-color: rgba(255,212,0,.44);
  box-shadow: 0 26px 82px rgba(0,0,0,.42);
}

.press-card img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: saturate(.95) contrast(1.04);
}

.press-card div {
  padding: 22px;
}

.press-card small {
  color: var(--yellow);
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: 10px;
}

.press-card h3 {
  margin-top: 12px;
  font-size: 22px;
  line-height: 1.08;
  text-transform: uppercase;
  letter-spacing: -.035em;
}

@media(max-width:1020px){
  .press-grid {
    grid-template-columns: 1fr;
  }
}


/* Compact Media cards */
body:has(.media-hero-top) .cards .card {
  min-height: 180px;
  padding: 22px 26px;
}

body:has(.media-hero-top) .cards .card h3 {
  margin: 14px 0 12px;
}

body:has(.media-hero-top) .cards .card p {
  line-height: 1.55;
}

@media(max-width:1020px){
  body:has(.media-hero-top) .cards .card {
    min-height: 165px;
  }
}


.media-hero-top,
.fans-hero-top {
  min-height: clamp(560px, 76vh, 800px);
  padding-top: 84px;
  box-sizing: border-box;
}

.media-hero-top .hero-bg,
.fans-hero-top .hero-bg {
  opacity: .9;
  background: #0a0a0a;
}

.media-hero-top .hero-bg img,
.fans-hero-top .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center 58px;
  filter: saturate(.95) contrast(1.04) brightness(.64);
  transform: none;
  background: #0a0a0a;
}

@media(max-width:1020px){
  .media-hero-top,
  .fans-hero-top {
    padding-top: 72px;
    min-height: clamp(500px, 70vh, 700px);
  }

  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img {
    object-position: center 42px;
  }
}


/* Media/Fans hero image lower position */
.media-hero-top,
.fans-hero-top {
  min-height: clamp(800px, 88vh, 980px);
  padding-top: 112px;
}

.media-hero-top .hero-bg img,
.fans-hero-top .hero-bg img {
  object-position: center 112px;
}

@media(max-width:1020px){
  .media-hero-top,
  .fans-hero-top {
    min-height: clamp(720px, 82vh, 880px);
    padding-top: 88px;
  }

  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img {
    object-position: center 78px;
  }
}


/* Media/Fans hero text lower position */
.media-hero-top .hero-content,
.fans-hero-top .hero-content {
  transform: translateY(86px);
}

@media(max-width:1020px){
  .media-hero-top .hero-content,
  .fans-hero-top .hero-content {
    transform: translateY(54px);
  }
}


/* Media/Fans hero full image without bottom crop */
.media-hero-top,
.fans-hero-top {
  min-height: clamp(920px, 56vw, 1040px);
  padding-top: 0;
  overflow: hidden;
}

.media-hero-top .hero-bg,
.fans-hero-top .hero-bg {
  inset: 0;
  opacity: .9;
  background: #050505;
  overflow: hidden;
}

.media-hero-top .hero-bg img,
.fans-hero-top .hero-bg img {
  position: absolute;
  top: 96px;
  left: 0;
  width: 100%;
  height: auto;
  min-height: auto;
  object-fit: contain;
  object-position: center top;
  filter: saturate(.95) contrast(1.04) brightness(.64);
  transform: none;
  background: #050505;
}

.media-hero-top .hero-content,
.fans-hero-top .hero-content {
  transform: translateY(118px);
}

@media(max-width:1020px){
  .media-hero-top,
  .fans-hero-top {
    min-height: clamp(760px, 86vh, 920px);
  }

  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img {
    top: 78px;
    width: auto;
    height: calc(100% - 30px);
    left: 50%;
    transform: translateX(-50%);
  }

  .media-hero-top .hero-content,
  .fans-hero-top .hero-content {
    transform: translateY(76px);
  }
}


/* Media cards closer to hero */
.media-cards-section {
  padding-top: 34px;
}

/* Fans Instagram section */
.fans-instagram-section {
  padding-top: 44px;
}

.fans-instagram-heading {
  margin-bottom: 34px;
}

.fans-instagram-box {
  max-width: 1120px;
  margin: 0 auto;
  min-height: 230px;
  border: 1px solid var(--line);
  border-radius: 32px;
  background:
    radial-gradient(circle at 88% 74%, rgba(255,212,0,.18), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  padding: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.fans-instagram-box small {
  color: var(--yellow);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 11px;
}

.fans-instagram-box h3 {
  margin: 14px 0 12px;
  font-size: clamp(34px, 5vw, 72px);
  line-height: .9;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.fans-instagram-box p {
  color: var(--muted);
  max-width: 560px;
}

@media(max-width:1020px){
  .media-cards-section {
    padding-top: 24px;
  }

  .fans-instagram-box {
    align-items: flex-start;
    flex-direction: column;
    padding: 28px;
  }
}


/* Media/Fans hero height corrected to image ratio */
.media-hero-top,
.fans-hero-top {
  min-height: clamp(620px, calc(39.0625vw + 96px), 860px);
  height: clamp(620px, calc(39.0625vw + 96px), 860px);
  padding-top: 0;
  overflow: hidden;
}

.media-hero-top .hero-bg,
.fans-hero-top .hero-bg {
  inset: 0;
  overflow: hidden;
}

.media-hero-top .hero-bg img,
.fans-hero-top .hero-bg img {
  position: absolute;
  top: 84px;
  left: 0;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center top;
  transform: none;
}

.media-hero-top .hero-content,
.fans-hero-top .hero-content {
  transform: translateY(72px);
}

.media-cards-section,
.fans-instagram-section {
  padding-top: 28px;
}

@media(max-width:1020px){
  .media-hero-top,
  .fans-hero-top {
    min-height: clamp(520px, calc(39.0625vw + 82px), 720px);
    height: clamp(520px, calc(39.0625vw + 82px), 720px);
  }

  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img {
    top: 72px;
    width: 100%;
    height: auto;
    left: 0;
    transform: none;
  }

  .media-hero-top .hero-content,
  .fans-hero-top .hero-content {
    transform: translateY(48px);
  }
}


/* Unified Media page */
.media-unified-page {
  padding-top: 34px;
}

.media-block {
  margin-bottom: 96px;
}

.media-block:last-child {
  margin-bottom: 20px;
}

.media-block-heading {
  margin-bottom: 34px;
}

.media-photo-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 22px;
}

.media-photo-grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
}

.media-photo-grid img {
  display: block;
  width: 100%;
  height: 330px;
  object-fit: cover;
  filter: saturate(.9) contrast(1.04) brightness(.82);
  transition: transform .35s ease, filter .35s ease;
}

.media-photo-grid figure:first-child img {
  height: 430px;
}

.media-photo-grid figure:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.08) brightness(.92);
}

.media-video-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: 32px;
  align-items: center;
  padding: 24px;
  border-radius: 32px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 86% 50%, rgba(255,212,0,.16), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
}

.media-video-feature video {
  width: 100%;
  aspect-ratio: 1024 / 448;
  object-fit: cover;
  border-radius: 24px;
  display: block;
  background: #050505;
}

.media-video-feature small {
  color: var(--yellow);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 11px;
}

.media-video-feature h3 {
  margin: 14px 0 12px;
  font-size: clamp(34px, 5vw, 72px);
  line-height: .9;
  letter-spacing: -.06em;
}

.media-video-feature p {
  color: var(--muted);
}

.media-press-grid {
  grid-template-columns: repeat(3, 1fr);
}

@media(max-width:1020px){
  .media-unified-page {
    padding-top: 26px;
  }

  .media-block {
    margin-bottom: 70px;
  }

  .media-photo-grid,
  .media-video-feature,
  .media-press-grid {
    grid-template-columns: 1fr;
  }

  .media-photo-grid img,
  .media-photo-grid figure:first-child img {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}


/* Media RaiPlay-style horizontal rails */
.media-rails-page {
  padding-top: 28px;
}

.media-rail-block {
  margin-bottom: 82px;
}

.media-rail-block:last-child {
  margin-bottom: 20px;
}

.media-rail-wrap {
  position: relative;
}

.media-rail {
  --rail-thumb-height: 270px;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  padding: 8px 4px 18px;
  scrollbar-width: none;
}

.media-rail::-webkit-scrollbar {
  display: none;
}

.media-thumb {
  position: relative;
  flex: 0 0 auto;
  height: var(--rail-thumb-height);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  overflow: hidden;
  background: #08090c;
  display: block;
  padding: 0;
  cursor: pointer;
  scroll-snap-align: start;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.media-thumb.horizontal {
  width: 480px;
}

.media-thumb.vertical {
  width: 185px;
}

.media-thumb:hover {
  transform: translateY(-6px) scale(1.015);
  border-color: rgba(255,212,0,.52);
  box-shadow: 0 22px 70px rgba(0,0,0,.42), 0 0 38px rgba(255,212,0,.12);
}

.media-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  background: #050505;
}

.media-video-thumb img {
  object-fit: cover;
}

.media-video-thumb span {
  position: absolute;
  right: 18px;
  bottom: 16px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(0,0,0,.62);
  border: 1px solid rgba(255,212,0,.42);
  color: var(--yellow);
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .16em;
}

.media-rail-arrow {
  position: absolute;
  top: 50%;
  z-index: 8;
  width: 48px;
  height: 76px;
  border: 1px solid rgba(255,212,0,.45);
  border-radius: 999px;
  background: rgba(5,5,5,.74);
  color: var(--yellow);
  font-size: 44px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transform: translateY(-50%) scale(.94);
  transition: opacity .25s ease, transform .25s ease, background .25s ease;
}

.media-rail-prev {
  left: -22px;
}

.media-rail-next {
  right: -22px;
}

.media-rail-wrap:hover .media-rail-arrow {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.media-rail-arrow:hover {
  background: var(--yellow);
  color: #050505;
}

.media-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.93);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 52px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}

.media-fullscreen.is-open {
  opacity: 1;
  pointer-events: auto;
}

.media-fullscreen-inner {
  position: relative;
  max-width: min(92vw, 1500px);
  max-height: 86vh;
}

.media-fullscreen img,
.media-fullscreen video {
  display: block;
  max-width: 100%;
  max-height: 86vh;
  object-fit: contain;
  border-radius: 18px;
  background: #050505;
  box-shadow: 0 32px 90px rgba(0,0,0,.55);
}

.media-fullscreen-close,
.media-fullscreen-prev,
.media-fullscreen-next {
  position: fixed;
  z-index: 10001;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.68);
  color: #fff;
  cursor: pointer;
}

.media-fullscreen-close {
  top: 22px;
  right: 28px;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  font-size: 34px;
}

.media-fullscreen-prev,
.media-fullscreen-next {
  top: 50%;
  width: 58px;
  height: 86px;
  border-radius: 999px;
  color: var(--yellow);
  font-size: 52px;
  transform: translateY(-50%);
}

.media-fullscreen-prev {
  left: 24px;
}

.media-fullscreen-next {
  right: 24px;
}

.media-fullscreen-close:hover,
.media-fullscreen-prev:hover,
.media-fullscreen-next:hover {
  background: var(--yellow);
  color: #050505;
}

@media(max-width:1020px){
  .media-rail {
    --rail-thumb-height: 220px;
    gap: 14px;
  }

  .media-thumb.horizontal {
    width: 340px;
  }

  .media-thumb.vertical {
    width: 150px;
  }

  .media-rail-arrow {
    opacity: 1;
    width: 40px;
    height: 62px;
    font-size: 34px;
  }

  .media-rail-prev {
    left: 4px;
  }

  .media-rail-next {
    right: 4px;
  }

  .media-fullscreen {
    padding: 24px;
  }
}


/* Repair Media/Fans hero alignment and Media headings */
.media-hero-top,
.fans-hero-top {
  min-height: clamp(620px, calc(39.0625vw + 96px), 860px);
  height: clamp(620px, calc(39.0625vw + 96px), 860px);
  padding-top: 0;
  overflow: hidden;
}

.media-hero-top .hero-bg,
.fans-hero-top .hero-bg {
  inset: 0;
  overflow: hidden;
  background: #050505;
}

.media-hero-top .hero-bg img,
.fans-hero-top .hero-bg img {
  position: absolute;
  top: 84px;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center top;
  transform: none;
  background: #050505;
  filter: saturate(.95) contrast(1.04) brightness(.64);
}

.media-hero-top .hero-content,
.fans-hero-top .hero-content {
  transform: translateY(72px);
}

.media-block-heading {
  display: block;
  margin-bottom: 26px;
}

.media-block-heading .section-label {
  margin-bottom: 14px;
}

.media-block-heading h2 {
  margin: 0;
  font-size: clamp(42px, 7vw, 96px);
  line-height: .86;
  letter-spacing: -.065em;
  text-transform: uppercase;
}

@media(max-width:1020px){
  .media-hero-top,
  .fans-hero-top {
    min-height: clamp(520px, calc(39.0625vw + 82px), 720px);
    height: clamp(520px, calc(39.0625vw + 82px), 720px);
  }

  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img {
    top: 72px;
  }

  .media-hero-top .hero-content,
  .fans-hero-top .hero-content {
    transform: translateY(48px);
  }
}


/* Media page compact rails and left-aligned section titles */
.media-rails-page {
  padding-top: 14px;
}

.media-rail-block {
  margin-bottom: 34px;
}

.media-rail-block:last-child {
  margin-bottom: 0;
}

.media-rail-block .media-block-heading {
  display: block;
  max-width: none;
  width: 100%;
  margin: 0 0 16px 0;
  padding: 0;
  text-align: left;
}

.media-rail-block .media-block-heading > div {
  margin: 0;
  padding: 0;
}

.media-rail-block .media-block-heading .section-label {
  margin: 0 0 10px 0;
}

.media-rail-block .media-block-heading h2 {
  margin: 0;
  text-align: left;
}

.media-rail {
  padding-top: 0;
  padding-bottom: 10px;
}

@media(max-width:1020px){
  .media-rails-page {
    padding-top: 10px;
  }

  .media-rail-block {
    margin-bottom: 28px;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 14px;
  }
}


/* Media section titles smaller refinement */
.media-rail-block .media-block-heading h2 {
  font-size: clamp(34px, 4.8vw, 68px);
  line-height: .9;
  letter-spacing: -.055em;
}

.media-rail-block .media-block-heading .section-label {
  font-size: 11px;
  letter-spacing: .18em;
}

@media(max-width:1020px){
  .media-rail-block .media-block-heading h2 {
    font-size: clamp(32px, 10vw, 52px);
  }
}


/* Media rails tighter vertical spacing */
.media-rails-page {
  padding-top: 6px;
}

.media-rail-block {
  margin-bottom: 12px;
}

.media-rail-block:last-child {
  margin-bottom: 0;
}

.media-rail-block .media-block-heading {
  margin-bottom: 10px;
}

.media-rail {
  padding-bottom: 4px;
}

@media(max-width:1020px){
  .media-rail-block {
    margin-bottom: 10px;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 8px;
  }
}


/* Home full-width shop image section */
.home-shop-photo {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #050505;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}


.home-shop-photo picture {
  display: block;
  width: 100%;
}

.home-shop-photo img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 360px;
  object-fit: cover;
  object-position: center center;
}

.home-shop-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.35), transparent 26%, transparent 72%, rgba(0,0,0,.38));
}

.home-shop-photo-actions {
  position: absolute;
  z-index: 2;
  bottom: 34px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  width: min(92vw, 1180px);
  pointer-events: auto;
}

.home-shop-photo-actions .btn {
  min-width: 0;
  width: auto;
  padding: 13px 28px;
  background: rgba(0,0,0,.42);
  box-shadow: 0 18px 48px rgba(0,0,0,.38);
}

.home-shop-photo-actions.reveal,
.home-shop-photo-actions.reveal.in-view {
  transform: translateX(-50%);
}

@media (max-width: 760px) {
  
.home-shop-photo picture {
  display: block;
  width: 100%;
}

.home-shop-photo img {
    min-height: 320px;
  }

  .home-shop-photo-actions {
    bottom: 22px;
  }
}


/* About complete biography layout */
.about-only-main {
  padding-top: 104px;
}

.about-bio-complete-section {
  padding: 72px 5vw 110px;
  background:
    radial-gradient(circle at 16% 16%, rgba(255,212,0,.12), transparent 28%),
    linear-gradient(120deg, #050505 0%, #101010 50%, #050505 100%);
}

.about-bio-complete-grid {
  width: min(1380px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
  gap: clamp(36px, 5vw, 78px);
  align-items: start;
}

.about-bio-complete-photo {
  position: sticky;
  top: 116px;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(255,212,0,.18);
  background: #f3f1f2;
  box-shadow: 0 34px 120px rgba(0,0,0,.62);
}

.about-bio-complete-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.about-bio-complete-copy {
  position: relative;
  z-index: 1;
  padding-top: 12px;
}

.about-bio-complete-copy::before {
  content: "BIO";
  position: absolute;
  right: -3vw;
  top: 42px;
  z-index: -1;
  color: rgba(255,255,255,.035);
  font-size: min(17vw, 220px);
  font-weight: 950;
  letter-spacing: -.12em;
  pointer-events: none;
}

.about-bio-complete-copy h1 {
  font-size: clamp(54px, 8vw, 118px);
  line-height: .88;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin-bottom: 34px;
}

.about-bio-complete-copy h2 {
  font-size: clamp(30px, 4vw, 58px);
  margin: 46px 0 20px;
}

.about-bio-complete-copy h3 {
  color: var(--yellow);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 13px;
  margin: 30px 0 14px;
}

.about-bio-complete-copy p,
.about-bio-complete-copy li {
  color: rgba(245,245,245,.73);
  font-size: 17px;
  line-height: 1.78;
}

.about-bio-complete-copy p {
  margin-bottom: 20px;
}

.about-bio-complete-copy ul {
  margin: 0 0 8px 0;
  padding-left: 20px;
}

.about-bio-complete-copy li {
  margin-bottom: 8px;
}

.about-bio-complete-copy b {
  color: rgba(255,255,255,.94);
}

@media (max-width: 1020px) {
  .about-only-main {
    padding-top: 86px;
  }

  .about-bio-complete-section {
    padding: 52px 22px 82px;
  }

  .about-bio-complete-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .about-bio-complete-photo {
    position: relative;
    top: auto;
    border-radius: 28px;
  }

  .about-bio-complete-copy h1 {
    font-size: clamp(48px, 17vw, 82px);
  }

  .about-bio-complete-copy p,
  .about-bio-complete-copy li {
    font-size: 16px;
  }
}



.legal-copy{max-width:820px;margin:0 auto}.legal-copy p{margin-bottom:18px;color:rgba(245,245,245,.72);line-height:1.8}.legal-copy a{color:var(--yellow);text-decoration:none}

/* Legal bottom drawer */



/* Fans privacy/cookie minimal bottom panel */
.fans-legal-minimal{display:flex;justify-content:center;margin:26px auto 0;text-align:center}.fans-legal-link{appearance:none;border:0;background:transparent;color:rgba(245,245,245,.42);font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:8px 12px;transition:.25s ease}.fans-legal-link:hover{color:rgba(245,245,245,.72)}.fans-legal-panel{position:fixed;left:0;right:0;bottom:0;z-index:90;transform:translateY(110%);transition:transform .32s ease;background:rgba(4,4,4,.96);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -24px 70px rgba(0,0,0,.48);padding:22px 5vw;color:rgba(245,245,245,.52)}.fans-legal-panel.is-open{transform:translateY(0)}.fans-legal-panel-inner{max-width:840px;margin:0 auto;position:relative;text-align:center}.fans-legal-panel strong{display:block;color:rgba(245,245,245,.78);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px}.fans-legal-panel p{margin:0 auto;max-width:720px;font-size:12px;line-height:1.7;color:rgba(245,245,245,.48)}.fans-legal-close{position:absolute;right:0;top:-6px;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.03);color:rgba(245,245,245,.62);cursor:pointer;font-size:19px;line-height:1;transition:.25s ease}.fans-legal-close:hover{color:#fff;border-color:rgba(255,212,0,.28)}@media(max-width:720px){.fans-legal-panel{padding:24px 24px 28px}.fans-legal-close{position:static;margin:0 auto 12px;display:grid;place-items:center}.fans-legal-panel-inner{text-align:center}}


/* Booking page layout */
.booking-contact-copy {
  min-height: 680px;
  padding-top: clamp(18px, 5vw, 92px);
  text-align: left;
}

.booking-contact-copy::before {
  content: "BOOKING";
  right: -2vw;
  top: 38px;
}

.booking-block {
  display: block;
  margin: 0;
}

.booking-block-spaced {
  margin-top: clamp(54px, 7vw, 96px);
}

.booking-label {
  color: var(--yellow);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.booking-mail {
  display: inline-block;
  color: rgba(255,255,255,.95);
  font-size: clamp(18px, 2.25vw, 30px);
  line-height: .98;
  font-weight: 900;
  letter-spacing: -.06em;
  text-decoration: none;
  transition: color .25s ease, opacity .25s ease;
}

.booking-mail:hover {
  color: var(--yellow);
}

.booking-area {
  color: rgba(255,255,255,.95);
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: .92;
  font-weight: 950;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.booking-agency {
  display: inline-block;
  color: rgba(245,245,245,.46);
  font-size: clamp(15px, 1.45vw, 20px);
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .25s ease;
}

.booking-agency:hover {
  color: rgba(255,255,255,.9);
}

.booking-empty-space {
  min-height: clamp(180px, 28vw, 420px);
}

@media (max-width: 1020px) {
  .booking-contact-copy {
    min-height: auto;
    padding-top: 6px;
  }

  .booking-block-spaced {
    margin-top: 54px;
  }

  .booking-mail {
    font-size: clamp(18px, 5.6vw, 30px);
    word-break: break-word;
  }

  .booking-area {
    font-size: clamp(24px, 7vw, 38px);
  }

  .booking-empty-space {
    min-height: 140px;
  }
}

/* Fans page refinements */
.fans-hero-top .hero-content .claim{display:none}
.fans-moment-cta{display:flex;justify-content:center;margin:30px auto 0;text-align:center}
.fans-moment-cta a{display:inline-flex;align-items:center;justify-content:center;color:rgba(245,245,245,.72);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:11px 18px;background:rgba(255,255,255,.03);transition:.25s ease}
.fans-moment-cta a:hover{color:#fff;border-color:rgba(255,212,0,.34);box-shadow:0 0 22px rgba(255,212,0,.08)}
.fans-moment-cta + .fans-legal-minimal{margin-top:14px}

/* Fans page: refined hero title, moderated fan messages */
.fans-follow-title{ text-align:center; }
.fans-follow-title h1{ margin-bottom:10px; }
.fans-follow-name{ color:rgba(245,245,245,.92); font-size:clamp(22px,3.2vw,42px); font-weight:900; letter-spacing:.22em; text-transform:uppercase; line-height:1.05; }
.fans-follow-world{ margin-top:8px; color:rgba(245,245,245,.62); font-size:clamp(14px,1.5vw,19px); font-weight:700; letter-spacing:.16em; text-transform:none; }
.fans-week-title{ width:min(680px,90vw); margin:58px auto 0; color:#fff; font-size:clamp(34px,6.6vw,78px); font-weight:950; line-height:.95; letter-spacing:-.055em; text-transform:uppercase; text-align:left; }
.fans-wall{ width:min(680px,90vw); margin:24px auto 0; display:grid; gap:14px; }
.fan-message-card{ border:1px solid rgba(255,255,255,.09); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); padding:20px 22px; color:rgba(245,245,245,.72); font-size:14px; line-height:1.65; text-align:left; box-shadow:0 18px 50px rgba(0,0,0,.18); }
.fan-message-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 12px; }
.fan-message-card small{ display:block; color:rgba(255,212,0,.78); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; line-height:1.35; }
.fan-share-btn{ width:34px; height:34px; flex:0 0 34px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.035); color:rgba(245,245,245,.62); cursor:pointer; transition:.25s ease; }
.fan-share-btn:hover{ color:#fff; border-color:rgba(255,212,0,.42); box-shadow:0 0 20px rgba(255,212,0,.08); }
.fan-share-btn svg{ width:15px; height:15px; display:block; }
.fans-moment-form{ width:min(680px,90vw); margin:30px auto 0; text-align:center; }
.fans-field-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px; }
.fans-moment-form input:not(.fans-hp),
.fans-moment-form textarea{ width:100%; border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.035); color:#fff; outline:none; font:inherit; font-size:14px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); transition:.25s ease; }
.fans-moment-form input:not(.fans-hp){ height:46px; border-radius:999px; padding:0 16px; text-align:center; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; }
.fans-moment-form textarea{ min-height:110px; resize:vertical; border-radius:24px; padding:18px 20px; line-height:1.55; }
.fans-moment-form input:not(.fans-hp):focus,
.fans-moment-form textarea:focus{ border-color:rgba(255,212,0,.36); box-shadow:0 0 0 4px rgba(255,212,0,.06); }
.fans-moment-form input::placeholder,
.fans-moment-form textarea::placeholder{ color:rgba(245,245,245,.35); }
.fans-moment-form button{ margin-top:14px; display:inline-flex; align-items:center; justify-content:center; color:rgba(245,245,245,.78); text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:800; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:11px 18px; background:rgba(255,255,255,.03); cursor:pointer; transition:.25s ease; }
.fans-moment-form button:hover{ color:#fff; border-color:rgba(255,212,0,.34); box-shadow:0 0 22px rgba(255,212,0,.08); }
.fans-moment-form button:disabled{ opacity:.52; cursor:wait; }
.fans-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.fans-form-note{ margin:12px auto 0; max-width:520px; color:rgba(245,245,245,.42); font-size:12px; line-height:1.55; }
.fans-form-status{ min-height:20px; margin-top:10px; color:rgba(245,245,245,.48); font-size:12px; line-height:1.5; }
.fans-form-status.is-ok{ color:rgba(255,212,0,.78); }
.fans-form-status.is-error{ color:#ff8b8b; }
.fans-moment-form + .fans-legal-minimal{ margin-top:16px; }
@media(max-width:720px){ .fans-follow-name{letter-spacing:.16em}.fans-follow-world{letter-spacing:.12em}.fans-field-grid{grid-template-columns:1fr}.fans-moment-form textarea{border-radius:20px} }


/* Fans of the Week: ranking layout and compact one-line title */
.fans-week-title{width:min(680px,90vw);font-size:clamp(30px,4.8vw,48px);letter-spacing:-.045em;line-height:1;white-space:nowrap;margin-top:58px;}
.fan-message-head{align-items:flex-start;}
.fan-meta-wrap{display:flex;align-items:center;gap:10px;min-width:0;}
.fan-rank{color:#fff;font-size:15px;font-weight:950;letter-spacing:.08em;line-height:1.35;min-width:28px;text-align:left;}
.fan-share-list{display:flex;align-items:center;gap:7px;flex:0 0 auto;}
.fan-share-btn{width:31px;height:31px;flex:0 0 31px;}
.fan-share-btn svg{width:14px;height:14px;}
@media(max-width:720px){.fans-week-title{font-size:clamp(25px,8vw,38px);white-space:normal}.fan-message-head{gap:10px}.fan-meta-wrap{align-items:flex-start}.fan-rank{min-width:24px}.fan-share-list{gap:6px}.fan-share-btn{width:29px;height:29px;flex-basis:29px}}


/* Fans page final tuning: centered title, larger yellow meta, numbered circle */
.fans-week-title{
  width:min(680px,90vw);
  margin:58px auto 0;
  padding-inline:10px;
  box-sizing:border-box;
  color:#fff;
  font-size:clamp(36px,5.5vw,56px);
  font-weight:950;
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
}
.fan-message-head{
  align-items:center;
  gap:14px;
}
.fan-meta-wrap{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.fan-rank{
  width:38px;
  height:38px;
  min-width:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:16px;
  font-weight:950;
  letter-spacing:0;
  line-height:1;
  text-align:center;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
}
.fan-message-card small{
  color:rgba(255,212,0,.92);
  font-size:14px;
  font-weight:950;
  letter-spacing:.13em;
  line-height:1.35;
}
@media (max-width: 720px){
  .fans-week-title{
    font-size:clamp(28px,8.2vw,42px);
    white-space:normal;
    padding-inline:8px;
  }
  .fan-meta-wrap{
    gap:10px;
    align-items:flex-start;
  }
  .fan-rank{
    width:34px;
    height:34px;
    min-width:34px;
    font-size:15px;
  }
  .fan-message-card small{
    font-size:13px;
  }
}


/* Fans metadata wrapping and improved readability */
.fan-meta-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 9px;
  min-width:0;
}
.fan-meta-group{
  white-space:nowrap;
}
.fan-meta-sep{
  color:rgba(255,212,0,.78);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
.fan-message-text{
  font-size:16px;
  line-height:1.72;
  color:rgba(245,245,245,.82);
}
@media (max-width: 720px){
  .fan-meta-line{
    gap:3px 7px;
  }
  .fan-meta-sep{
    font-size:13px;
  }
  .fan-message-text{
    font-size:15px;
    line-height:1.68;
  }
}


/* Fans page refinement: stronger Top Ten feel and centered message body */
.fan-message-card{
  padding-top: 18px;
  padding-bottom: 18px;
}
.fan-message-text{
  text-align: center;
  max-width: 92%;
  margin: 8px auto 0;
  font-size: 17px;
  line-height: 1.78;
}
@media (max-width: 720px){
  .fan-message-text{
    max-width: 100%;
    font-size: 16px;
    line-height: 1.72;
  }
}


/* Fans: centered yellow meta in ranking card */
.fan-message-head{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:14px;
}
.fan-meta-wrap{
  min-width:0;
  display:flex;
  justify-content:center;
  text-align:center;
}
.fan-meta-line{
  justify-content:center;
  text-align:center;
}
.fan-message-card small{
  text-align:center;
}
@media (max-width:720px){
  .fan-message-head{
    grid-template-columns:36px 1fr auto;
    gap:9px;
  }
  .fan-meta-wrap{
    justify-content:flex-start;
    text-align:left;
  }
  .fan-meta-line{
    justify-content:flex-start;
    text-align:left;
  }
}

/* Fans page spacing after hiding Instagram feed */
.fans-hero-top + .instagram-live{
  padding-top:34px;
}
.fans-hero-top + .instagram-live .fans-week-title{
  margin-top:0;
  margin-bottom:24px;
}
.fans-hero-top + .instagram-live .fans-wall{
  margin-top:0;
}
@media (max-width:720px){
  .fans-hero-top + .instagram-live{
    padding-top:28px;
  }
  .fans-hero-top + .instagram-live .fans-week-title{
    margin-bottom:20px;
  }
}

/* Fans page spacing: more breathing room around title */
.fans-hero-top + .instagram-live{
  padding-top:68px;
}
.fans-hero-top + .instagram-live .fans-week-title{
  margin-top:0;
  margin-bottom:40px;
}
.fans-hero-top + .instagram-live .fans-wall{
  margin-top:0;
}
@media (max-width:720px){
  .fans-hero-top + .instagram-live{
    padding-top:52px;
  }
  .fans-hero-top + .instagram-live .fans-week-title{
    margin-bottom:32px;
  }
}


/* Fans page: remove extra empty space below Privacy & Cookie */
.fans-hero-top + .instagram-live{
  padding-bottom:24px;
}
.fans-hero-top + .instagram-live .fans-legal-minimal{
  margin-bottom:0;
}
@media (max-width:720px){
  .fans-hero-top + .instagram-live{
    padding-bottom:20px;
  }
}


/* Final cleanup: reduce residual empty spaces before the footer on all pages */
main > section:last-child{
  margin-bottom:0 !important;
}
main > .page-content:last-child,
main > section.page-content:last-child{
  padding-bottom:54px !important;
}
.about-bio-complete-section:last-child{
  padding-bottom:54px !important;
}
.booking-empty-space{
  display:none !important;
  min-height:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.instagram-live:last-child{
  padding-bottom:34px !important;
}
.home-shop-photo:last-child{
  margin-bottom:0 !important;
}
@media(max-width:720px){
  main > .page-content:last-child,
  main > section.page-content:last-child,
  .about-bio-complete-section:last-child{
    padding-bottom:40px !important;
  }
  .instagram-live:last-child{
    padding-bottom:26px !important;
  }
}


/* Mobile menu refinement: hamburger button and centered rounded panel */
.mobile-menu{
  width:44px;
  height:44px;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:14px;
  background:rgba(0,0,0,.22);
  color:#fff;
  font-size:0;
  letter-spacing:0;
  line-height:0;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.mobile-menu span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  transition:transform .25s ease, opacity .25s ease;
}
.mobile-menu.open{
  border-color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.06);
  box-shadow:0 0 22px rgba(255,255,255,.06);
}
.mobile-menu.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu.open span:nth-child(2){opacity:0}
.mobile-menu.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-panel{
  display:none;
  position:fixed;
  inset:0;
  z-index:65;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(18px);
  padding:0 24px;
  align-items:center;
  justify-content:center;
}
.mobile-panel.open{display:flex}
.mobile-panel-inner{
  width:min(330px,82vw);
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow:0 30px 90px rgba(0,0,0,.52);
  padding:24px 22px;
  text-align:center;
}
.mobile-panel a{
  display:block;
  padding:15px 8px;
  border-bottom:0;
  color:rgba(255,255,255,.86);
  font-size:22px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  text-align:center;
  text-decoration:none;
}
.mobile-panel a.active{color:var(--yellow)}
.mobile-panel a:hover{color:#fff}
@media(max-width:1020px){.mobile-menu{display:inline-flex}}


/* Fans page: Top Ten subtitle under Fans of the Week */
.fans-topten-subtitle{
  width:min(680px,90vw);
  margin:14px auto 30px;
  text-align:center;
  color:rgba(245,245,245,.56);
  font-size:clamp(12px,1.35vw,16px);
  line-height:1;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.fans-topten-subtitle + .fans-wall{
  margin-top:0;
}
@media(max-width:720px){
  .fans-topten-subtitle{
    margin-top:12px;
    margin-bottom:24px;
    font-size:12px;
    letter-spacing:.18em;
  }
}


/* Home tour strip slower scrolling */
.signal-track{animation-duration:100s !important;}

/* Mobile Media/Fans hero: vertical cover without bottom gaps + centered logo */
@media(max-width:1020px){
  .site-header{
    grid-template-columns:1fr;
    justify-items:center;
    align-items:center;
    padding:20px 24px;
  }
  .site-header .mini-logo{
    justify-self:center;
    margin:0 auto;
  }
  .site-header .mini-logo img{
    width:118px;
  }
  .site-header .mobile-menu{
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
    z-index:72;
  }
  .media-hero-top,
  .fans-hero-top{
    height:100svh;
    min-height:620px;
    max-height:none;
    padding:0;
    overflow:hidden;
    display:grid;
    place-items:center;
  }
  .media-hero-top .hero-bg,
  .fans-hero-top .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
  }
  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img{
    position:absolute;
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
  .media-hero-top .hero-content,
  .fans-hero-top .hero-content{
    transform:none;
    align-self:center;
  }
  .media-cards-section,
  .fans-instagram-section{
    padding-top:28px;
  }
}
@media(max-width:640px){
  .media-hero-top,
  .fans-hero-top{
    min-height:590px;
  }
  .media-hero-top .hero-bg img,
  .fans-hero-top .hero-bg img{
    object-position:center center;
  }
}


/* Hide home tour strip on mobile only */
@media(max-width:1020px){
  #tourSignalBar{
    display:none !important;
  }
}


/* Mobile final polish: smaller hamburger and home layout containment */
@media(max-width:1020px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .site-header .mobile-menu{
    width:36px !important;
    height:36px !important;
    right:18px !important;
    border-radius:11px !important;
    gap:4px !important;
  }

  .site-header .mobile-menu span{
    width:16px !important;
    height:2px !important;
  }

  .site-header .mobile-menu.open span:nth-child(1){
    transform:translateY(6px) rotate(45deg) !important;
  }

  .site-header .mobile-menu.open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg) !important;
  }

  .hero,
  .hero-content,
  .hero-logo-title,
  .hero-logo-wrap,
  .hero-audio-ui,
  section,
  .section-grid,
  .radio-section,
  .home-shop-photo,
  .about-clean-copy{
    max-width:100%;
    box-sizing:border-box;
  }

  .hero{
    width:100%;
    overflow:hidden;
    padding-left:20px;
    padding-right:20px;
  }

  .hero-content{
    width:100%;
    min-width:0;
  }

  .hero-logo-title img,
  .hero-logo-title > span:last-child{
    width:min(86vw,620px) !important;
    max-width:100%;
  }

  .hero-wave{
    width:min(230px,68vw) !important;
    max-width:100%;
  }

  .radio-patong-banner,
  .patong-player{
    max-width:calc(100vw - 40px) !important;
    box-sizing:border-box;
  }

  .patong-player{
    overflow:hidden;
  }

  .home-shop-photo-actions{
    max-width:calc(100vw - 40px);
  }
}

@media(max-width:420px){
  .site-header .mobile-menu{
    right:14px !important;
  }

  .site-header .mini-logo img{
    width:110px !important;
  }

  .hero{
    padding-left:18px;
    padding-right:18px;
  }
}

/* Mobile menu transparency refinement */
@media (max-width: 900px){
  .mobile-panel{
    background:rgba(0,0,0,.64) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }
  .mobile-panel-inner{
    background:linear-gradient(145deg,rgba(0,0,0,.58),rgba(0,0,0,.34)) !important;
    border-color:rgba(255,255,255,.62) !important;
  }
}

@media (max-width: 760px) {
  .home-shop-photo img {
    height: 72svh;
    min-height: 520px;
    max-height: 760px;
    object-fit: cover;
    object-position: center center;
  }

  .home-shop-photo-actions {
    bottom: 22px;
  }
}

/* Bio mobile visibility fix */
@media (max-width: 1020px){
  .about-only-main{
    padding-top:74px !important;
    overflow:visible !important;
  }
  .about-bio-complete-section{
    display:block !important;
    min-height:auto !important;
    padding:34px 20px 76px !important;
    overflow:visible !important;
  }
  .about-bio-complete-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    width:100% !important;
    max-width:100% !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    visibility:visible !important;
  }
  .about-bio-complete-photo,
  .about-bio-complete-copy,
  .about-dynamic-bio{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    visibility:visible !important;
    box-sizing:border-box !important;
  }
  .about-bio-complete-photo{
    position:relative !important;
    top:auto !important;
    border-radius:24px !important;
  }
  .about-bio-complete-photo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }
  .about-bio-complete-copy{
    padding-top:0 !important;
  }
  .about-bio-complete-copy::before{
    display:none !important;
  }
  .about-bio-complete-copy h1{
    font-size:clamp(46px,18vw,76px) !important;
    margin:8px 0 26px !important;
  }
  .about-bio-complete-copy p,
  .about-bio-complete-copy li{
    font-size:15.5px !important;
    line-height:1.72 !important;
  }
}

/* Mobile alignment refinements: Bio and Tour */
@media (max-width: 760px) {
  /* BIO mobile: center only the yellow BIO label and DJ SPYNE title */
  .about-bio-complete-copy .section-label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .about-bio-complete-copy h1 {
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* TOUR mobile: center the full page layout */
  .tour-hero-top,
  .tour-hero-top .hero-content,
  .tour-dates-section,
  .tour-dates-section .wrap,
  .tour-live-list {
    text-align: center !important;
  }

  .tour-hero-top .hero-content {
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tour-hero-top h1,
  .tour-hero-top .claim {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .tour-live-list {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .tour-live-list .live-row,
  .tour-dates-section .live-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .tour-live-list .live-row:hover,
  .tour-dates-section .live-row:hover {
    padding-left: 0 !important;
  }

  .tour-live-list .live-row *,
  .tour-dates-section .live-row * {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .tour-live-list .live-row span,
  .tour-dates-section .live-row span {
    text-align: center !important;
  }
}
/* End mobile alignment refinements */

/* Mobile alignment refinements: Music and Media */
@media (max-width: 760px) {
  /* MUSIC mobile: center hero, releases, player and text blocks */
  body.music-page,
  body.music-page main,
  body.music-page section,
  body.music-page .wrap,
  body.music-page .music-hero,
  body.music-page .music-hero-content,
  body.music-page .music-hero-text,
  body.music-page .music-hero-title,
  body.music-page .music-hero .claim,
  body.music-page .music-release-player,
  body.music-page .music-player,
  body.music-page .release-player,
  body.music-page .tracks,
  body.music-page .track-list,
  body.music-page .track,
  body.music-page .music-card,
  body.music-page .music-grid,
  body.music-page .section-head,
  body.music-page .section-label,
  body.music-page h1,
  body.music-page h2,
  body.music-page h3,
  body.music-page p {
    text-align: center !important;
  }

  body.music-page .music-hero-content,
  body.music-page .music-hero-text,
  body.music-page .music-release-player,
  body.music-page .music-player,
  body.music-page .release-player,
  body.music-page .track,
  body.music-page .music-card,
  body.music-page .section-head {
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.music-page .btn-row,
  body.music-page .actions,
  body.music-page .cta-row,
  body.music-page .player-actions,
  body.music-page .music-actions {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  body.music-page .music-grid,
  body.music-page .track,
  body.music-page .track-row {
    justify-items: center !important;
  }

  body.music-page .music-hero-cover-wrap,
  body.music-page .cover,
  body.music-page .release-cover {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* MEDIA mobile: center hero, gallery/video/audio sections and text blocks */
  body.media-page,
  body.media-page main,
  body.media-page section,
  body.media-page .wrap,
  body.media-page .inner-hero,
  body.media-page .hero-content,
  body.media-page .page-content,
  body.media-page .media-section,
  body.media-page .media-grid,
  body.media-page .media-card,
  body.media-page .video-card,
  body.media-page .gallery-card,
  body.media-page .section-head,
  body.media-page .section-label,
  body.media-page h1,
  body.media-page h2,
  body.media-page h3,
  body.media-page p {
    text-align: center !important;
  }

  body.media-page .hero-content,
  body.media-page .section-head,
  body.media-page .media-section,
  body.media-page .media-card,
  body.media-page .video-card,
  body.media-page .gallery-card {
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.media-page .media-grid,
  body.media-page .gallery-grid,
  body.media-page .video-grid {
    justify-items: center !important;
  }

  body.media-page .btn-row,
  body.media-page .actions,
  body.media-page .cta-row,
  body.media-page .media-actions {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
}
/* End mobile alignment refinements: Music and Media */

/* Mobile centering: categories and titles */
@media (max-width: 760px) {
  .section-label,
  .section-kicker,
  .eyebrow,
  .kicker,
  .page-title,
  .hero-title,
  .inner-hero h1,
  .hero-content h1,
  .section-head,
  .section-head h1,
  .section-head h2,
  .section-head h3,
  .section-head p,
  h1,
  h2,
  h3 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .section-label,
  .section-kicker,
  .eyebrow,
  .kicker {
    display: block !important;
    width: 100% !important;
  }

  .hero-content,
  .inner-hero .hero-content,
  .music-hero-content,
  .music-hero-text,
  .section-head {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .btn-row,
  .actions,
  .cta-row,
  .music-actions,
  .media-actions,
  .player-actions {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
}
/* End mobile centering: categories and titles */

/* Mobile fixes: Music actions, Fans cards, Booking alignment */
@media (max-width: 760px) {
  /* Music mobile: center Spotify and Share buttons */
  .music-release-actions {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .music-release-actions .release-action,
  .music-hero-spotify {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .music-hero-release-copy {
    align-items: center !important;
    text-align: center !important;
  }

  /* Fans mobile: better wrapping for yellow category/title and share buttons inside cards */
  .fans-week-title,
  .fans-topten-subtitle {
    width: min(680px, 90vw) !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .fans-topten-subtitle {
    display: block !important;
    line-height: 1.15 !important;
  }

  .fan-message-card {
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  .fan-message-head {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px 12px !important;
    text-align: center !important;
  }

  .fan-rank,
  .fan-meta-wrap,
  .fan-meta-line,
  .fan-meta-group {
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .fan-meta-wrap {
    flex: 1 1 100% !important;
    order: 1 !important;
  }

  .fan-share-list {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
    overflow: visible !important;
  }

  .fan-share-btn {
    flex: 0 0 34px !important;
  }

  .fan-message-text {
    text-align: center !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* Booking mobile: center the complete page */
  .booking-main,
  .booking-contact-section,
  .booking-contact-grid,
  .booking-contact-copy,
  .booking-contact-photo,
  .booking-block,
  .booking-label,
  .booking-mail,
  .booking-area,
  .booking-agency {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .booking-contact-grid {
    justify-items: center !important;
    align-items: center !important;
  }

  .booking-contact-copy {
    width: 100% !important;
    align-items: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .booking-block {
    width: 100% !important;
  }

  .booking-mail,
  .booking-agency {
    display: inline-block !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .booking-contact-copy::before {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
  }
}
/* End mobile fixes: Music actions, Fans cards, Booking alignment */

/* Dynamic Media sections */
.media-rails-wrap {
  width: min(1180px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.media-rail-block[hidden] {
  display: none !important;
}

.media-rail-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.media-rail-block .media-block-heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.media-rail-block .media-block-heading h2 {
  text-align: center;
}

.media-rail-wrap {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.media-rail-wrap.is-fit {
  width: fit-content;
  max-width: 100%;
}

.media-rail-wrap.is-fit .media-rail {
  overflow-x: hidden;
}

.media-rail-wrap.is-fit .media-rail-prev {
  left: -58px;
}

.media-rail-wrap.is-fit .media-rail-next {
  right: -58px;
}

.media-rail-wrap.is-single .media-rail {
  justify-content: center;
}

.media-backstage-thumb {
  text-decoration: none;
}

@media(max-width:1020px){
  .media-rail-wrap.is-fit {
    width: 100%;
  }

  .media-rail-wrap.is-fit .media-rail {
    justify-content: center;
    overflow-x: hidden;
  }

  .media-rail-wrap.is-fit .media-rail-prev {
    left: 4px;
  }

  .media-rail-wrap.is-fit .media-rail-next {
    right: 4px;
  }
}
/* End Dynamic Media sections */

/* Tour dynamic empty/single state */
.tour-dates-section[hidden],
.tour-dates-section.is-empty {
  display: none !important;
}

.tour-live-list.has-single-event {
  width: min(760px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tour-live-list.has-single-event .tour-live-row {
  justify-content: center;
}

@media(max-width:1020px){
  .tour-live-list.has-single-event .tour-live-row {
    text-align: center !important;
    justify-items: center !important;
  }
}
/* End Tour dynamic empty/single state */

/* Media section spacing balance */
.media-rails-page {
  padding-top: 38px !important;
}

.media-rail-block {
  margin-bottom: clamp(48px, 5vw, 76px) !important;
}

.media-rail-block:last-child {
  margin-bottom: 0 !important;
}

.media-rail-block .media-block-heading {
  margin-bottom: clamp(26px, 3vw, 42px) !important;
  text-align: center !important;
}

.media-rail-block .media-block-heading .section-label {
  margin-bottom: 12px !important;
}

.media-rail-block .media-block-heading h2 {
  margin-bottom: 0 !important;
}

.media-rail-wrap {
  margin-top: 0 !important;
}

@media(max-width:1020px){
  .media-rails-page {
    padding-top: 30px !important;
  }

  .media-rail-block {
    margin-bottom: 44px !important;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 24px !important;
  }
}

@media(max-width:760px){
  .media-rails-page {
    padding-top: 24px !important;
  }

  .media-rail-block {
    margin-bottom: 38px !important;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 22px !important;
  }
}
/* End Media section spacing balance */

/* Booking Bio-like scroll logic */
/* Booking uses the same robust layout logic as Bio:
   sticky image on desktop, natural long-content scroll on the right. */
.booking-main,
.booking-contact-section,
.booking-contact-grid,
.booking-contact-copy {
  overflow: visible !important;
}

.booking-contact-section {
  min-height: auto !important;
}

.booking-contact-grid {
  align-items: start !important;
}

.booking-contact-photo {
  position: sticky !important;
  top: 116px !important;
  align-self: start !important;
}

.booking-contact-copy {
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: clamp(80px, 10vw, 160px) !important;
}

.booking-block {
  max-width: 100% !important;
}

.booking-empty-space {
  min-height: clamp(80px, 12vw, 220px) !important;
}

@media (max-width: 1020px) {
  .booking-main {
    padding-top: 74px !important;
  }

  .booking-contact-section {
    padding: 34px 20px 76px !important;
  }

  .booking-contact-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-items: center !important;
  }

  .booking-contact-photo {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .booking-contact-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .booking-contact-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
  }

  .booking-contact-copy::before {
    display: none !important;
  }

  .booking-empty-space {
    min-height: 40px !important;
  }
}
/* End Booking Bio-like scroll logic */

/* Booking dynamic contact list */
.booking-dynamic-list {
  width: 100%;
}

.booking-agency-list {
  display: grid;
  gap: 12px;
  align-items: start;
}

.booking-agency-list .booking-agency {
  display: inline-block;
  width: fit-content;
}

@media (max-width: 760px) {
  .booking-agency-list {
    justify-items: center;
  }

  .booking-agency-list .booking-agency {
    width: auto;
    max-width: 100%;
    text-align: center;
  }
}
/* End Booking dynamic contact list */

/* Media bottom spacing tight fix */
.media-rail-block {
  margin-bottom: clamp(14px, 2vw, 26px) !important;
}

.media-rail-block:last-child {
  margin-bottom: 0 !important;
}

.media-rail {
  padding-bottom: 0 !important;
}

.media-rail-wrap {
  margin-bottom: 0 !important;
}

.media-rail-block + .media-rail-block {
  margin-top: clamp(18px, 2.4vw, 32px) !important;
}

@media(max-width:1020px){
  .media-rail-block {
    margin-bottom: 18px !important;
  }

  .media-rail-block + .media-rail-block {
    margin-top: 20px !important;
  }
}

@media(max-width:760px){
  .media-rail-block {
    margin-bottom: 14px !important;
  }

  .media-rail-block + .media-rail-block {
    margin-top: 16px !important;
  }
}
/* End Media bottom spacing tight fix */

/* Booking fixed contact with dynamic agencies */

/* End Booking fixed contact with dynamic agencies */

/* Media ultra compact section spacing */
.media-rails-page {
  padding-top: 22px !important;
}

.media-rail-block {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.media-rail-block:last-child {
  margin-bottom: 0 !important;
}

.media-rail-block + .media-rail-block {
  margin-top: clamp(24px, 2.2vw, 34px) !important;
}

.media-rail-block .media-block-heading {
  margin-bottom: clamp(18px, 1.8vw, 28px) !important;
}

.media-rail {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.media-rail-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

@media(max-width:1020px){
  .media-rails-page {
    padding-top: 18px !important;
  }

  .media-rail-block + .media-rail-block {
    margin-top: 24px !important;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 18px !important;
  }
}

@media(max-width:760px){
  .media-rails-page {
    padding-top: 16px !important;
  }

  .media-rail-block + .media-rail-block {
    margin-top: 22px !important;
  }

  .media-rail-block .media-block-heading {
    margin-bottom: 16px !important;
  }
}
/* End Media ultra compact section spacing */

/* Home shop button dynamic state */
.shop-home-btn.is-disabled {
  cursor: default !important;
  opacity: .82;
  pointer-events: auto;
}

.shop-home-btn.is-disabled:hover {
  transform: none !important;
}
/* End home shop button dynamic state */

/* Media fullscreen arrows restore */
.media-fullscreen-prev,
.media-fullscreen-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 10005 !important;
  background: rgba(0,0,0,.72) !important;
  border: 1px solid rgba(255,212,0,.52) !important;
  color: var(--yellow) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.48);
}

.media-fullscreen-prev:hover,
.media-fullscreen-next:hover {
  background: var(--yellow) !important;
  color: #050505 !important;
}

.media-fullscreen-prev {
  left: clamp(12px, 3vw, 34px) !important;
}

.media-fullscreen-next {
  right: clamp(12px, 3vw, 34px) !important;
}

@media(max-width:760px){
  .media-fullscreen-prev,
  .media-fullscreen-next {
    width: 44px !important;
    height: 66px !important;
    font-size: 38px !important;
  }
}
/* End Media fullscreen arrows restore */

/* iPhone/Mac Safari compatibility refinements */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  overflow-x:hidden;
}
button,
input,
select,
textarea{
  font:inherit;
  -webkit-appearance:none;
  appearance:none;
}
input,
select,
textarea{
  font-size:16px;
}
.site-header,
.mobile-panel,
.patong-fullscreen-overlay,
.media-fullscreen{
  -webkit-backdrop-filter:blur(14px);
}
video,
img{
  max-width:100%;
}
@supports (-webkit-touch-callout:none){
  .hero,
  .inner-hero,
  .media-hero-top,
  .fans-hero-top{
    min-height:100svh;
  }
}
@media(max-width:760px){
  html,
  body{
    width:100%;
    max-width:100%;
  }
  .mobile-panel{
    max-height:calc(100svh - 70px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .media-fullscreen,
  .patong-fullscreen-overlay{
    min-height:100svh;
  }
}

/* Loading performance refinements */
.hero-bg video{
  content-visibility:auto;
}
img{
  content-visibility:auto;
}

/* Media fullscreen gallery arrows force visible */
.media-fullscreen.is-open .media-fullscreen-prev,
.media-fullscreen.is-open .media-fullscreen-next {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  align-items: center !important;
  justify-content: center !important;
  position: fixed !important;
  top: 50% !important;
  z-index: 10050 !important;
  width: 58px !important;
  height: 86px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,212,0,.58) !important;
  background: rgba(0,0,0,.78) !important;
  color: var(--yellow) !important;
  font-size: 52px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.58) !important;
}

.media-fullscreen.is-open .media-fullscreen-prev {
  left: clamp(12px, 3vw, 34px) !important;
}

.media-fullscreen.is-open .media-fullscreen-next {
  right: clamp(12px, 3vw, 34px) !important;
}

.media-fullscreen.is-open .media-fullscreen-prev:hover,
.media-fullscreen.is-open .media-fullscreen-next:hover {
  background: var(--yellow) !important;
  color: #050505 !important;
}

@media(max-width:760px){
  .media-fullscreen.is-open .media-fullscreen-prev,
  .media-fullscreen.is-open .media-fullscreen-next {
    width: 44px !important;
    height: 66px !important;
    font-size: 38px !important;
  }

  .media-fullscreen.is-open .media-fullscreen-prev {
    left: 8px !important;
  }

  .media-fullscreen.is-open .media-fullscreen-next {
    right: 8px !important;
  }
}
/* End Media fullscreen gallery arrows force visible */

/* Final home ticker speed override */
#tourSignalTrack.signal-track,
.signal-track {
  animation-duration: 100s !important;
}

/* Media fullscreen desktop arrows definitive */
.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
.media-fullscreen.is-open .media-fullscreen-prev,
.media-fullscreen.is-open .media-fullscreen-next {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2147483647 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 64px !important;
  height: 94px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,212,0,.65) !important;
  background: rgba(0,0,0,.82) !important;
  color: #ffd400 !important;
  font-size: 58px !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.7), 0 0 28px rgba(255,212,0,.14) !important;
}

.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
.media-fullscreen.is-open .media-fullscreen-prev {
  left: 34px !important;
  right: auto !important;
}

.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
.media-fullscreen.is-open .media-fullscreen-next {
  right: 34px !important;
  left: auto !important;
}

.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev:hover,
.media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next:hover,
.media-fullscreen.is-open .media-fullscreen-prev:hover,
.media-fullscreen.is-open .media-fullscreen-next:hover {
  background: #ffd400 !important;
  color: #050505 !important;
}

@media(max-width:760px){
  .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
  .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
  .media-fullscreen.is-open .media-fullscreen-prev,
  .media-fullscreen.is-open .media-fullscreen-next {
    width: 44px !important;
    height: 66px !important;
    font-size: 38px !important;
  }

  .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
  .media-fullscreen.is-open .media-fullscreen-prev {
    left: 8px !important;
  }

  .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
  .media-fullscreen.is-open .media-fullscreen-next {
    right: 8px !important;
  }
}
/* End Media fullscreen desktop arrows definitive */

/* Booking fixed labels and dynamic agencies layout */
.booking-dynamic-shell .booking-label {
  margin-bottom: 26px;
}

.booking-dynamic-list {
  display: grid;
  gap: clamp(34px, 4vw, 56px);
  width: 100%;
}

.booking-region-group {
  display: block;
}

.booking-region-group-spaced {
  margin-top: 0;
}

.booking-agency-list {
  display: grid;
  gap: 12px;
  align-items: start;
}

.booking-agency-list .booking-agency {
  display: inline-block;
  width: fit-content;
}

@media (max-width: 760px) {
  .booking-dynamic-list {
    justify-items: center;
    gap: 34px;
  }

  .booking-region-group {
    text-align: center;
  }

  .booking-agency-list {
    justify-items: center;
  }

  .booking-agency-list .booking-agency {
    width: auto;
    max-width: 100%;
    text-align: center;
  }
}
/* End Booking fixed labels and dynamic agencies layout */

/* Media fullscreen arrows final forced layer */
body .media-fullscreen.is-open .media-fullscreen-prev,
body .media-fullscreen.is-open .media-fullscreen-next,
body .media-fullscreen.is-photo-gallery .media-fullscreen-prev,
body .media-fullscreen.is-photo-gallery .media-fullscreen-next {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2147483647 !important;
}

body .media-fullscreen .media-fullscreen-prev {
  left: 34px !important;
  right: auto !important;
}

body .media-fullscreen .media-fullscreen-next {
  right: 34px !important;
  left: auto !important;
}

@media(max-width:760px){
  body .media-fullscreen .media-fullscreen-prev {
    left: 8px !important;
  }
  body .media-fullscreen .media-fullscreen-next {
    right: 8px !important;
  }
}
/* End Media fullscreen arrows final forced layer */


.home-shop-photo.is-hidden{display:none!important}

/* Media fullscreen arrows visible final cachefix */
html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
html body .media-fullscreen.is-open .media-fullscreen-arrow-force {
  display: grid !important;
  place-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2147483647 !important;
  width: 70px !important;
  height: 102px !important;
  min-width: 70px !important;
  min-height: 102px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,212,0,.95) !important;
  background: rgba(0,0,0,.92) !important;
  color: #ffd400 !important;
  font-size: 68px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 24px 90px rgba(0,0,0,.85), 0 0 34px rgba(255,212,0,.32) !important;
}

html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
html body .media-fullscreen.is-open .media-fullscreen-prev {
  left: 42px !important;
  right: auto !important;
}

html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
html body .media-fullscreen.is-open .media-fullscreen-next {
  right: 42px !important;
  left: auto !important;
}

@media(max-width:760px){
  html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
  html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
  html body .media-fullscreen.is-open .media-fullscreen-arrow-force {
    width: 48px !important;
    height: 72px !important;
    min-width: 48px !important;
    min-height: 72px !important;
    font-size: 44px !important;
  }
  html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-prev,
  html body .media-fullscreen.is-open .media-fullscreen-prev {
    left: 10px !important;
  }
  html body .media-fullscreen.is-photo-gallery.is-open .media-fullscreen-next,
  html body .media-fullscreen.is-open .media-fullscreen-next {
    right: 10px !important;
  }
}
/* End Media fullscreen arrows visible final cachefix */

/* Media inline fullscreen arrows definitive */
.media-fullscreen.is-photo-gallery .media-fullscreen-prev,
.media-fullscreen.is-photo-gallery .media-fullscreen-next,
.media-fullscreen .media-fullscreen-arrow-force {
  display: grid !important;
  place-items: center !important;
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2147483647 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 70px !important;
  height: 102px !important;
  border: 2px solid rgba(255,212,0,.95) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.92) !important;
  color: #ffd400 !important;
  font-size: 68px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.media-fullscreen.is-photo-gallery .media-fullscreen-prev {
  left: 42px !important;
  right: auto !important;
}
.media-fullscreen.is-photo-gallery .media-fullscreen-next {
  right: 42px !important;
  left: auto !important;
}
@media(max-width:760px){
  .media-fullscreen.is-photo-gallery .media-fullscreen-prev,
  .media-fullscreen.is-photo-gallery .media-fullscreen-next,
  .media-fullscreen .media-fullscreen-arrow-force {
    width: 48px !important;
    height: 72px !important;
    font-size: 44px !important;
  }
  .media-fullscreen.is-photo-gallery .media-fullscreen-prev {
    left: 10px !important;
  }
  .media-fullscreen.is-photo-gallery .media-fullscreen-next {
    right: 10px !important;
  }
}
/* End Media inline fullscreen arrows definitive */

/* Media fullscreen arrow glyph centering */
.media-fullscreen.is-photo-gallery .media-fullscreen-prev,
.media-fullscreen.is-photo-gallery .media-fullscreen-next,
.media-fullscreen .media-fullscreen-arrow-force {
  padding: 0 !important;
}

.media-fullscreen-arrow-glyph {
  display: block !important;
  line-height: 1 !important;
  position: relative !important;
  top: -3px !important;
  transform: none !important;
}

@media(max-width:760px){
  .media-fullscreen-arrow-glyph {
    top: -2px !important;
  }
}
/* End Media fullscreen arrow glyph centering */

/* Media fullscreen arrow compact vertical alignment */
.media-fullscreen.is-photo-gallery .media-fullscreen-prev,
.media-fullscreen.is-photo-gallery .media-fullscreen-next,
.media-fullscreen .media-fullscreen-arrow-force {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  height: 78px !important;
  min-width: 62px !important;
  min-height: 78px !important;
  padding: 0 0 7px 0 !important;
  box-sizing: border-box !important;
  font-size: 60px !important;
  line-height: 1 !important;
}
.media-fullscreen-arrow-glyph {
  display: block !important;
  line-height: 1 !important;
  height: 1em !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media(max-width:760px){
  .media-fullscreen.is-photo-gallery .media-fullscreen-prev,
  .media-fullscreen.is-photo-gallery .media-fullscreen-next,
  .media-fullscreen .media-fullscreen-arrow-force {
    width: 46px !important;
    height: 58px !important;
    min-width: 46px !important;
    min-height: 58px !important;
    padding-bottom: 6px !important;
    font-size: 40px !important;
  }
}
/* End Media fullscreen arrow compact vertical alignment */

/* Tour flyer thumbnails and overlay */
.tour-live-list .tour-live-row {
  grid-template-columns: 150px 1fr 230px 190px;
}
.tour-event-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.tour-flyer-thumb{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,212,0,.42);
  border-radius:18px;
  background:rgba(255,212,0,.055);
  color:var(--yellow);
  padding:6px 10px 6px 6px;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:900;
  transition:.25s ease;
}
.tour-flyer-thumb:hover{
  background:rgba(255,212,0,.14);
  transform:translateY(-2px);
}
.tour-flyer-thumb img{
  width:42px;
  height:58px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  box-shadow:0 12px 34px rgba(0,0,0,.45);
}
.tour-flyer-overlay{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:grid;
  place-items:center;
  padding:32px;
  background:rgba(0,0,0,.88);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}
.tour-flyer-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.tour-flyer-overlay-inner{
  max-width:min(520px,92vw);
  max-height:88vh;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,212,0,.34);
  box-shadow:0 36px 120px rgba(0,0,0,.75),0 0 42px rgba(255,212,0,.13);
  background:#050505;
}
.tour-flyer-overlay-inner img{
  display:block;
  width:100%;
  max-height:88vh;
  object-fit:contain;
}
.tour-flyer-close{
  position:fixed;
  right:28px;
  top:24px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.65);
  color:#fff;
  font-size:34px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.tour-flyer-close:hover{
  color:var(--yellow);
  border-color:rgba(255,212,0,.46);
}
@media(max-width:1020px){
  .tour-live-list .tour-live-row {
    grid-template-columns: 1fr;
  }
  .tour-event-actions{
    justify-content:flex-start;
    margin-top:8px;
  }
}
@media(max-width:620px){
  .tour-flyer-thumb img{
    width:38px;
    height:52px;
  }
  .tour-flyer-overlay{
    padding:20px;
  }
}

/* Tour flyer thumbnail without text */
.tour-flyer-thumb{
  padding:6px!important;
  gap:0!important;
}
.tour-flyer-thumb span{
  display:none!important;
}

/* Home hero video/slideshow */
.hero-bg img.hero-slide-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  filter:saturate(.92) contrast(1.12) brightness(.66);
  transform:scale(1.045);
  opacity:0;
  transition:opacity 1.15s ease;
}
.hero-bg img.hero-slide-image.is-active{
  opacity:1;
}
.hero-bg.is-slideshow video{
  display:none;
}

/* Music public cards visibility fix */
body .music-release-grid,
body .music-release-grid.reveal,
body .music-release-grid.reveal-left,
body .music-release-grid.reveal-right,
body .music-release-grid.reveal-up {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

body .music-release-grid .music-release-card {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body .music-release-grid .music-release-cover,
body .music-release-grid .music-release-cover img,
body .music-release-grid .music-release-card-body {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .music-release-grid .music-release-actions {
  display: flex !important;
}
