/* J:E: a night-stage poster, an editorial image sequence and physical brand artwork. */
:root{--show-black:#0b0d11;--show-white:#f2f1ec;--show-orange:#ff5b24}
body.show-experience{background:var(--show-black)}
body.show-experience .site-header{background:rgba(238,233,221,.92);color:var(--ink);border:0;padding:18px 5vw;backdrop-filter:blur(16px);transition:background .5s,color .5s}
body.show-experience .site-header .brand-logo{filter:none}
body.show-experience .site-header .text-button{color:inherit}
.intro-active body.show-experience .site-header,.intro-pending body.show-experience .site-header{background:rgba(11,13,17,.92);color:var(--show-white)}
.intro-active body.show-experience .site-header .brand-logo,.intro-pending body.show-experience .site-header .brand-logo{filter:brightness(0) invert(1)}
.show-progress{position:absolute;left:0;bottom:0;right:0;height:2px;transform:scaleX(var(--show-scroll,0));transform-origin:left;background:var(--show-orange);pointer-events:none}
body.show-experience .site-header[data-show-surface=dark]{background:rgba(11,13,17,.94);color:var(--show-white)}
body.show-experience .site-header[data-show-surface=dark] .brand-logo{filter:brightness(0) invert(1)}
body.show-experience .site-header[data-show-surface=dark] .menu-button{background:var(--show-white);color:var(--show-black);border-color:var(--show-white)}
body.show-experience .site-header[data-show-surface=orange]{background:rgba(255,91,36,.94);color:var(--ink)}
.intro-active body.show-experience .site-header[data-show-surface],.intro-pending body.show-experience .site-header[data-show-surface]{background:rgba(11,13,17,.92);color:var(--show-white)}
.intro-active body.show-experience .site-header[data-show-surface] .brand-logo,.intro-pending body.show-experience .site-header[data-show-surface] .brand-logo{filter:brightness(0) invert(1)}
/* Restore the portrait-led light hero; its established size and side copy live in cinematic.css and hero-likeness.css. */
body.show-experience .hero-scroll-shell .hero{background:radial-gradient(ellipse at 18% 70%,#ff5b2411,transparent 46%),radial-gradient(ellipse at 86% 24%,#45dae013,transparent 42%),#eee9dd;color:var(--ink)}
body.show-experience .hero-cinematic.scene-is-dark{color:var(--paper)}
body.show-experience #ambient-canvas{opacity:1;mix-blend-mode:normal}
body.show-experience .hero-cinematic .hero-portrait{left:50%}
body.show-experience .hero-cinematic .hero-bottom{display:none}
body.show-experience .cinematic-flow-performance{background:var(--show-black)}

/* The statement is one evolving poster; motion stays inside its own scene. */
.manifesto.show-statement{padding:0;background:radial-gradient(ellipse at 80% 32%,#51276644,transparent 55%),var(--show-black);overflow:clip}
.show-statement:before{display:none}
.feeling-stage{position:relative;isolation:isolate;padding:110px 6vw 80px;overflow:clip}
.show-statement .studio-atmosphere{position:absolute;inset:0;z-index:0;opacity:.14;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000,transparent)}
.show-statement .studio-atmosphere img{height:100%;width:100%;object-fit:cover}
.show-statement .section-kicker{position:relative;z-index:3;margin-bottom:30px}
.show-statement .manifesto-title{position:relative;z-index:3;font-size:clamp(66px,7.7vw,132px);line-height:1.05;max-width:1100px}
.show-statement .manifesto-title em{color:var(--show-orange)}
.show-statement .motion-line em{--word-color:#ff5b24}
.show-statement .manifesto-bottom{position:relative;z-index:3;border:0;padding:0;margin-top:36px}
.show-statement .manifesto-bottom p{font-size:1.125rem;color:#c4c0cc}
.show-statement .manifesto-bottom .mini-mark{width:48px}
.feeling-shot{position:absolute;z-index:1;width:27%;max-width:430px;pointer-events:none;opacity:.45;filter:saturate(.7);mask-image:radial-gradient(ellipse 75% 72%,#000 36%,transparent 74%)}
.feeling-shot--one{left:-6%;top:28%;transform:translateY(calc((var(--show-p,0) - .5)*-120px)) rotate(-12deg)}
.feeling-shot--two{right:-4%;top:18%;transform:translateY(calc((var(--show-p,0) - .5)*120px)) rotate(10deg)}
.feeling-shot img{width:100%;height:auto}
.frequency-rail{position:absolute;right:2vw;top:22%;writing-mode:vertical-rl;font-family:var(--display);font-size:20px;letter-spacing:.05em;color:#85808e;z-index:2;pointer-events:none}
.show-statement.is-show-pinned{height:180svh}
.show-statement.is-show-pinned .feeling-stage{position:sticky;top:0;height:100svh;padding-bottom:calc(var(--music-dock-height,100px) + 30px);display:flex;flex-direction:column;justify-content:center}
.show-statement.is-show-pinned .motion-line:first-child{transform:translateX(calc(var(--show-p,0)*-36px))}
.show-statement.is-show-pinned .motion-line:nth-child(2){transform:translateX(calc(var(--show-p,0)*46px))}
.show-statement.is-show-pinned .motion-line:nth-child(3){transform:translateX(calc(var(--show-p,0)*-20px))}

/* A physical record quietly reflects the actual selected track and playback state. */
.listening-record{position:relative;width:min(100%,350px);margin:48px auto 0;perspective:900px;text-align:center}
.listening-record__body{position:relative;width:100%;aspect-ratio:1;border-radius:50%;transform:rotateX(22deg) rotateY(calc(var(--chapter-x,0)*9deg));box-shadow:0 22px 30px -22px #0b0d1166}
button.listening-record__body{display:block;padding:0;border:0;background:none;color:var(--show-white);cursor:pointer;transition:transform .45s,filter .45s}
button.listening-record__body:hover{transform:rotateX(12deg) rotateY(calc(var(--chapter-x,0)*9deg)) translateY(-6px)}
button.listening-record__body:focus-visible{outline:3px solid #b43610;outline-offset:10px}
button.listening-record__body:disabled{cursor:default}
.listening-record__control{position:absolute;left:calc(50% - 26px);top:calc(50% - 26px);width:52px;height:52px;display:grid;place-items:center;background:var(--show-orange);color:var(--show-black);border-radius:50%;box-shadow:0 0 0 7px #111218bb;transition:transform .3s}
.listening-record__control svg{width:22px;height:22px;fill:currentColor}
.listening-record__pause,.listening-record.is-playing .listening-record__play{display:none}
.listening-record.is-playing .listening-record__pause{display:block}
button.listening-record__body:hover .listening-record__control{transform:scale(1.08)}
.listening-disc{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#15151a 0 2px,#27252e 3px 4px),conic-gradient(#0b0d11,#595660,#0b0d11,#25242a,#0b0d11);border:8px solid #15141a;animation:showRecordSpin 22s linear infinite;animation-play-state:paused;overflow:hidden}
.listening-disc:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0 10%,#ffffff17 14%,transparent 18% 58%,#ffffff20 62%,transparent 68%);pointer-events:none}
.listening-disc__art{position:absolute;width:38%;height:38%;object-fit:cover;left:31%;top:31%;border-radius:50%;background:#ff5b24}
.listening-disc__hole{position:absolute;width:10px;height:10px;left:calc(50% - 5px);top:calc(50% - 5px);background:#eae8e1;border-radius:50%;z-index:3;box-shadow:0 0 0 2px #1b1a1f}
.listening-record.is-spinning .listening-disc{animation-play-state:running}
.listening-record__caption{display:block;margin-top:24px;font-size:.875rem;line-height:1.5;color:#67616a;max-width:30ch;margin-left:auto;margin-right:auto}
.listening-record__caption:empty{display:none}
@keyframes showRecordSpin{to{transform:rotate(360deg)}}

/* Desktop gallery moves through the viewport; phone images keep a natural vertical flow. */
.artist-world.show-world{background:#e9e8e2;padding:0;overflow:clip}
.world-stage{position:relative;padding:110px 6vw 80px}
.show-world .details-heading{display:block;margin:0}
.show-world .details-heading>.eyebrow{display:block;margin-bottom:20px}
.show-world .details-heading h2{width:100%;font-size:clamp(62px,6.7vw,112px);line-height:1;max-width:none}
.show-world .details-heading h2 em{color:#bd3f19}
.world-viewport{position:relative;margin-top:44px;overflow:clip;padding:12px 20px 20px;margin-left:-10px;margin-right:-10px}
.show-world .world-gallery{margin-top:0}
.show-world.is-show-pinned{height:340svh}
.show-world.is-show-pinned .world-stage{position:sticky;top:0;height:100svh;padding-top:100px;padding-bottom:calc(var(--music-dock-height,100px) + 18px);display:grid;grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);gap:3vw;align-items:center}
.show-world.is-show-pinned .details-heading h2{font-size:clamp(54px,5.2vw,90px);line-height:1.03}
.show-world.is-show-pinned .details-heading h2 br{display:none}
.show-world.is-show-pinned .details-heading h2 em{display:block;padding-left:0;margin-top:18px}
.show-world.is-show-pinned .world-viewport{margin-top:0}
.show-world.is-show-pinned .world-gallery{--world-shot-height:min(520px,calc(100svh - var(--music-dock-height,100px) - 250px));display:flex;align-items:center;gap:110px;width:max-content;transform:translate3d(var(--world-shift,0px),0,0)}
.show-world.is-show-pinned .world-signature{display:none}
.show-world.is-show-pinned .world-frame{--frame-size:1;--frame-aspect:.75;flex:none;width:calc(var(--world-shot-height)*var(--frame-aspect)*var(--frame-size));margin:0;transform:rotate(var(--frame-turn,0deg));will-change:auto}
.show-world.is-show-pinned .world-frame--lounge{--frame-size:.95;--frame-aspect:1.3333;--frame-turn:-3deg}
.show-world.is-show-pinned .world-frame--live{--frame-size:1.12;--frame-turn:3deg}
.show-world.is-show-pinned .world-frame--guitar{--frame-size:.88;--frame-aspect:.5625;--frame-turn:-4deg}
.show-world.is-show-pinned .world-frame--controller{--frame-size:.96;--frame-turn:2deg}
.show-world.is-show-pinned .world-frame--studio{--frame-size:1.08;--frame-aspect:1.3333;--frame-turn:-2deg}
.show-world.is-show-pinned .world-pair{height:calc(var(--world-shot-height)*var(--frame-size));aspect-ratio:auto;border-radius:0;mask-image:linear-gradient(#000 96%,transparent)}
.show-world.is-show-pinned .world-frame figcaption{font-size:1rem;letter-spacing:.05em;gap:12px;flex-wrap:wrap}

/* J:E's live footage becomes a full-width change of atmosphere, followed by his mix films. */
body.show-experience .sound-section--open .mix-previews{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px 7vw;margin-top:125px;padding:60px 0 45px;color:var(--show-white)}
body.show-experience .sound-section--open .mix-previews:before{content:'';position:absolute;left:calc(50% - 50vw);width:100vw;top:-65px;bottom:-100px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 22%,#174d5944,transparent 54%),radial-gradient(ellipse at 80% 65%,#973b2144,transparent 55%),var(--show-black);mask-image:linear-gradient(transparent,#000 80px,#000 calc(100% - 90px),transparent)}
body.show-experience .mix-previews__heading{grid-column:1/-1;align-items:center;color:#c6c2cc}
body.show-experience .mix-previews__heading .eyebrow:last-child{font-family:var(--display);font-size:clamp(28px,3.5vw,52px);letter-spacing:0;color:var(--show-orange)}
body.show-experience .sound-section--open .mix-film{color:var(--show-white);transform:none}
body.show-experience .sound-section--open .mix-film--live{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);gap:6vw;align-items:center;width:100%;margin:0}
body.show-experience .sound-section--open .mix-film--live .mix-film__media{width:min(100%,360px,calc((100svh - var(--music-dock-height,100px) - 150px)*.5625));aspect-ratio:9/16;justify-self:center;transform:rotate(-3deg) translateY(calc(var(--chapter-drift,0)*16px));mask-image:linear-gradient(90deg,transparent,#000 7% 93%,transparent),linear-gradient(transparent,#000 5% 95%,transparent);mask-composite:intersect}
body.show-experience .sound-section--open .mix-film--live .mix-film__media>img,body.show-experience .sound-section--open .mix-film--live .mix-film__media>video{object-fit:contain}
body.show-experience .sound-section--open .mix-film--live .mix-film__label{display:block;padding:0}
body.show-experience .sound-section--open .mix-film--live .mix-film__label>span:first-child{display:block;color:#c6c2cc;margin-bottom:24px}
body.show-experience .sound-section--open .mix-film--live .mix-film__label>strong{display:block;font-family:var(--display);font-size:clamp(70px,8vw,130px);font-weight:400;line-height:.98;text-transform:uppercase;letter-spacing:-.01em}
body.show-experience .sound-section--open .mix-film--live .mix-film__play{display:inline-flex;color:var(--show-orange);margin-top:30px;font-size:1.25rem}
body.show-experience .sound-section--open .mix-film:not(.mix-film--live){width:85%;justify-self:center}
body.show-experience .sound-section--open .mix-film:not(.mix-film--live) .mix-film__media{aspect-ratio:4/3;mask-image:linear-gradient(transparent,#000 5% 90%,transparent);transform:rotate(3deg)}
body.show-experience .sound-section--open .mix-film:last-child .mix-film__media{transform:rotate(-4deg)}
body.show-experience .sound-section--open .mix-film:not(.mix-film--live) .mix-film__label>strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,3vw,46px);letter-spacing:0}

/* The supplied mark becomes a free-standing object, not a card or pretend product. */
body.show-experience .merch{background:radial-gradient(ellipse at 74% 45%,#d651182b,transparent 48%),#0b0d11;padding:110px 6vw 0;border:0;color:var(--show-white)}
body.show-experience .merch:before{display:none}
body.show-experience .merch-copy h2{font-size:clamp(80px,9vw,152px);line-height:.94}
body.show-experience .merch-copy h2 em{color:var(--show-orange)}
body.show-experience .merch-description,body.show-experience .merch-top-note{color:#bdb9c5}
body.show-experience .merch-grid{gap:4vw}
body.show-experience .merch-art{overflow:visible;background:none;border:0;border-radius:0;box-shadow:none;aspect-ratio:1}
body.show-experience .merch-art:after,body.show-experience .merch-art:before,body.show-experience .merch-orbit{display:none}
body.show-experience .merch-mark{width:110%;max-width:none;filter:drop-shadow(0 30px 36px #0007)}
body.show-experience .merch-art-label,body.show-experience .merch-art-note{display:none}
body.show-experience .merch-follow{background:var(--show-orange);color:var(--show-black);border:0;padding:14px 24px}
body.show-experience .merch-bottom{border:0;padding:36px 0;color:#bdb9c5}
body.show-experience .contact{background:var(--show-orange);padding-top:110px}
body.show-experience .contact-title{font-size:clamp(90px,11vw,182px);line-height:.94}
body.show-experience .contact>.contact-session{right:3%;width:25%;top:17%;opacity:.62;transform:rotate(-6deg) translateY(calc(var(--chapter-progress,.5)*-35px))}

/* A typographic closing set, with platform links placed directly in the scene. */
body.show-experience .footer.footer-experience{background:var(--show-black)}
body.show-experience .footer-hero{grid-template-columns:1.45fr 1fr}
body.show-experience .footer-emblem img{width:min(100%,430px);filter:drop-shadow(0 24px 36px #0008)}
body.show-experience .footer-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 6vw}
body.show-experience .footer-platform{border:0;border-radius:0;background:none;box-shadow:none;padding:30px 0;min-height:0;overflow:visible;transform:none}
body.show-experience .footer-platform:before{display:none}
body.show-experience .footer-platform:hover,body.show-experience .footer-platform:focus-visible{background:none;transform:none}
body.show-experience .footer-platform strong{font-family:var(--display);font-size:clamp(42px,4.8vw,78px);font-weight:400;line-height:1;margin:16px 0 12px;letter-spacing:0;text-transform:uppercase;transition:color .25s,letter-spacing .35s}
body.show-experience .footer-platform:hover strong{letter-spacing:.025em}
body.show-experience .menu-dialog{background:#0b0d11;color:var(--show-white)}
body.show-experience .menu-links a{color:var(--show-white)}
body.show-experience .menu-links a:hover{color:var(--show-orange)}
body.show-experience .menu-art img{filter:drop-shadow(0 16px 30px #ff5b2433)}

@media(max-width:1100px) and (min-width:761px){.show-world.is-show-pinned .world-gallery{gap:65px}}
/* Feather the tan surface under side copy where the larger shoulders extend behind it. */
@media(min-width:761px) and (max-width:1100px){
 body.show-experience .hero-cinematic:not(.scene-is-dark) .hero-note:before,body.show-experience .hero-cinematic:not(.scene-is-dark) .hero-aside:before{content:'';position:absolute;inset:-20px -36px -14px -30px;z-index:-1;pointer-events:none;filter:blur(8px);background:linear-gradient(90deg,#eee9dd 0 85%,#eee9dd00 100%)}
 body.show-experience .hero-cinematic:not(.scene-is-dark) .hero-aside:before{background:linear-gradient(270deg,#eee9dd 0 85%,#eee9dd00 100%)}
}
@media(max-width:760px){
 body.show-experience .site-header{padding:16px 20px}
 body.show-experience .sound-section--open .mix-previews{gap:50px 20px;margin-top:100px;padding-top:40px}
 body.show-experience .sound-section--open .mix-film--live{grid-template-columns:1fr;gap:32px}
 body.show-experience .sound-section--open .mix-film--live .mix-film__media{width:min(78%,300px)}
 body.show-experience .sound-section--open .mix-film--live .mix-film__label>strong{font-size:clamp(60px,15vw,90px)}
 body.show-experience .sound-section--open .mix-film--live .mix-film__label>span:first-child{margin-bottom:16px}
 body.show-experience .sound-section--open .mix-film:not(.mix-film--live){width:100%}
 body.show-experience .sound-section--open .mix-film:not(.mix-film--live) .mix-film__media{aspect-ratio:3/4}
 body.show-experience .mix-previews__heading .eyebrow:last-child{font-size:28px;max-width:60%}
 .feeling-stage{padding:85px 24px 72px}.show-statement .manifesto-title{font-size:clamp(52px,12vw,90px);line-height:1.12}.show-statement .manifesto-bottom{margin-top:36px}.frequency-rail{display:none}.feeling-shot{width:48%;opacity:.25}.feeling-shot--one{left:-20%;top:30%}.feeling-shot--two{right:-18%;top:36%}
 .listening-record{width:230px;margin-top:32px}
 .world-stage{padding:85px 24px 65px}.show-world .details-heading h2{font-size:clamp(54px,12vw,90px)}.show-world .details-heading h2 em{display:block;margin-top:8px}.world-viewport{margin-top:35px;overflow:visible}.show-world .world-gallery{gap:28px 18px}.show-world .world-pair{border-radius:0}.show-world .world-frame--lounge{margin-top:25px}.show-world .world-signature{display:none}
 body.show-experience .merch{padding:85px 24px 0}body.show-experience .merch-copy h2{font-size:clamp(70px,18vw,110px)}body.show-experience .merch-art{width:100%;margin:0}body.show-experience .merch-mark{width:100%}
 body.show-experience .contact{padding-top:80px}body.show-experience .contact-title{font-size:clamp(68px,17vw,120px)}
 body.show-experience .footer-hero{grid-template-columns:1fr}body.show-experience .footer-platforms{grid-template-columns:1fr;gap:0}body.show-experience .footer-platform{padding:26px 0}body.show-experience .footer-platform strong{font-size:clamp(42px,11vw,68px)}
}
.reduce-motion .listening-disc{animation:none}.reduce-motion .feeling-shot,.reduce-motion .show-statement .motion-line,.reduce-motion button.listening-record__body{transform:none!important}
@media(prefers-reduced-motion:reduce){html:not(.motion-explicit) .listening-disc{animation:none}html:not(.motion-explicit) .feeling-shot{transform:none}}
@media print{.show-progress,.listening-record,.feeling-shot,.frequency-rail{display:none}.show-statement.is-show-pinned,.show-world.is-show-pinned{height:auto!important}.feeling-stage,.world-stage{position:static!important;height:auto!important}.show-world .world-gallery{display:grid!important;width:auto!important;transform:none!important}}
