@import url('dj.css?v=mixer-faders-20261026');
@import url('epk.css?v=promoter-20261014');
@font-face{font-family:'Bebas Neue';src:url('assets/fonts/BebasNeue-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Italiana;src:url('assets/fonts/Italiana-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope%5Bwght%5D.woff2') format('woff2'),url('assets/fonts/Manrope[wght].ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/BarlowCondensed-SemiBold.woff2') format('woff2'),url('assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('assets/fonts/CormorantGaramond[wght].woff2') format('woff2'),url('assets/fonts/CormorantGaramond[wght].ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--sans:Manrope,Arial,Helvetica,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--paper:#f1f0ec;--ink:#08090c;--muted:#c1bacb}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{--accent:#bba1e1;--glow:69,35,95;margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #ded0ff;outline-offset:6px}h1:focus{outline:none}[hidden]{display:none!important}::selection{background:#45235f;color:white}
.header{position:absolute;z-index:5;inset:0 0 auto;padding:28px 4.5%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px}.header>:first-child{justify-self:start}.header>.edition{justify-self:end}
.wordmark{font-size:18px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}
.wordmark-line{display:block;width:26px;height:2px;background:var(--accent);margin-top:8px;transition:width .3s}.wordmark:hover .wordmark-line{width:100%}
.tap-brand-home{display:flex;align-items:center;padding:4px 0;min-width:64px;min-height:52px}
.tap-brand-logo{display:block;width:64px;height:auto}
.tap-entry-label{display:inline-flex;align-items:center;gap:8px}.tap-entry-label img{display:block;width:22px;height:auto;flex:none}
.header nav{display:grid;grid-template-columns:repeat(3,70px);gap:20px;text-align:center}.header nav a{display:block;font-size:14px;color:#e0dce5;padding:14px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:7px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.header nav a:hover:after{width:100%}
.edition{font-size:12px;letter-spacing:.15em;color:var(--muted)}
.hero{min-height:680px;height:100svh;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;padding:128px 4.5% 170px;display:flex;align-items:center}
.hero-content{width:100%;position:relative}.eyebrow{font-size:12px;letter-spacing:.14em;line-height:1.7;margin:0 0 24px;color:var(--muted)}
.hero h1{font-size:clamp(88px,11.7vw,184px);font-weight:800;letter-spacing:-.075em;line-height:.94;margin:28px 0;max-width:100%;position:relative}.hero h1 span{display:block}.hero h1 span+span{margin-top:.03em}
.hero-bottom{display:flex;align-items:end;gap:32px;margin-top:28px}.hero-bottom p{font-size:20px;line-height:1.45;margin:0}.hero-bottom em{font-family:var(--serif);font-size:1.3em;font-weight:500;color:#ddd1e6}
.round-link{flex:none;width:46px;height:46px;border:1px solid #8b8395;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .2s}.round-link:hover{background:var(--paper);color:var(--ink)}
/* Two untouched original photographs. Masks soften only the outer edges. */
.portrait{position:absolute;z-index:-3;inset:0;overflow:hidden}.portrait-scene,.portrait-hit-scene{position:absolute;inset:0 0 0 28%;isolation:isolate}.portrait-scene{pointer-events:none}
.portrait-layer{position:absolute;top:0;bottom:0;transition:filter .6s ease;filter:brightness(.9)}
.portrait-amplified{left:0;width:58%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 84%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 84%,transparent)}
.portrait-refined{left:45%;width:55%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 100%)}
.portrait-layer img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.portrait-refined img{position:absolute;inset:-1vmax;width:calc(100% + 2vmax);height:calc(100% + 2vmax);object-position:50% 60%;transform:rotate(-.4402deg)}
.portrait-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08090c 0%,#08090c 18%,rgba(8,9,12,.6) 31%,transparent 48%),linear-gradient(0deg,#08090c 0%,transparent 30%,transparent 86%,rgba(8,9,12,.65) 100%)}
.atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 34% 70%,rgba(69,35,95,.18),transparent 45%)}
body[data-preview=amplified] .portrait-amplified,body[data-preview=refined] .portrait-refined{filter:brightness(1)}
body[data-preview=amplified] .portrait-refined,body[data-preview=refined] .portrait-amplified{filter:brightness(.72)}
body[data-preview=refined]{--accent:#b2c6b7;--glow:24,63,53}
.portrait-links{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}.portrait-link{position:absolute;top:0;bottom:0;pointer-events:auto;cursor:pointer}.portrait-link-amplified{left:0;width:51.5%}.portrait-link-refined{left:51.5%;right:0}
.portrait-link:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #ded0ff;background:rgba(222,208,255,.04)}
.portrait-link-hint{position:absolute;top:max(calc(var(--site-header-height) + 20px),clamp(110px,14svh,156px));bottom:auto;display:flex;align-items:center;justify-content:center;gap:6px;height:48px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:12px 16px;border:1px solid rgba(255,255,255,.4);border-radius:24px;background:rgba(8,9,12,.86);font-size:12px;letter-spacing:.04em;opacity:0;transition:opacity .2s}
.portrait-link:hover .portrait-link-hint,.portrait-link:focus-visible .portrait-link-hint{opacity:1}
.mobile-world-prompt,.mobile-music-note{display:none}

.portrait-link-hint strong{font-weight:600}.entry-arrow{display:inline-block;transition:transform .15s}
.portrait-link:active .portrait-link-hint{background:#352540;border-color:#f1f0ec}.portrait-link:active .entry-arrow{transform:translateX(3px)}
.world-button:active{background:rgba(187,161,225,.15)}
/* Clip the artwork without creating an inner scroll area. Focusing a control
   on a short desktop must scroll the page, not shift the hero under its header. */
body[data-world=joe] .hero{overflow:clip}
body[data-world=joe] .hero-content{z-index:2;pointer-events:none}body[data-world=joe] .hero-content a{pointer-events:auto}body[data-world=joe] #hero-kicker{max-width:340px}
.worlds{position:absolute;z-index:3;bottom:36px;left:4.5%;right:4.5%;display:grid;grid-template-columns:1fr 1fr;gap:7%}
.world-button{border-top:1px solid #807787;padding:20px 0 0;text-align:left;display:flex;align-items:center;gap:18px;position:relative;min-width:0}.world-button:before{content:'';position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--accent);transition:width .4s}.world-button:hover:before,.world-button:focus-visible:before,body[data-preview=amplified] .world-button.amplified:before,body[data-preview=refined] .world-button.refined:before{width:100%}
.world-number{font-size:12px;color:#bbb2c6;align-self:flex-start;padding-top:5px}.world-label{display:flex;flex-direction:column;gap:9px;min-width:0}.world-name{font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:clamp(34px,4.2vw,58px);font-weight:400;letter-spacing:.025em;line-height:1.05}.refined .world-name{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:.02em}.world-artist{font-size:14px;color:#d5cedc;line-height:1.4}.world-arrow{margin-left:auto;font-size:28px;font-weight:400}
.world-status{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4.5%;border-block:1px solid #303039;min-height:67px}.world-status>span{font-size:12px;letter-spacing:.1em;color:var(--muted)}
.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:35px;margin-bottom:40px}.section h2{font-weight:500;font-size:clamp(34px,4.2vw,64px);line-height:1.13;letter-spacing:-.055em;margin:0}.section-heading .eyebrow{margin:0}
.music-filters{display:flex;gap:26px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid #44414b}.music-filters button{padding:12px 0;font-size:14px;min-height:44px;color:#c1b9cb;border-bottom:1px solid transparent}.music-filters button[aria-pressed=true]{color:var(--paper);border-color:var(--accent)}
.release{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:24px;align-items:center;padding:34px 0;border-bottom:1px solid #44414b;transition:background .2s}.release-with-art{grid-template-columns:96px minmax(0,1fr) auto}.release-cover{display:block;width:96px;height:96px;object-fit:cover;border:1px solid #44414b}.release:hover{background:rgba(var(--glow),.14)}.release-no{font-size:12px;color:#bbb2c6;align-self:start;padding-top:5px}.release .eyebrow{margin:0 0 8px;font-size:12px}.release h3,.featured-piece h3{font-size:clamp(25px,2.6vw,36px);letter-spacing:-.045em;margin:0 0 10px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.mix{font-size:14px;line-height:1.65;color:#c4bccd;margin:0}.listen{font-size:14px;line-height:1.6}.listen span{display:inline-block;margin-left:12px;font-size:20px}
.featured-piece{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 0 40px}.featured-piece .eyebrow{margin-bottom:12px}.featured-music-toggle{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;padding:15px 20px;border:1px solid #a3b5aa;border-radius:3px;font-size:14px;min-height:48px}.featured-music-toggle:hover{background:#17221d}
.story{background:#101115;border-top:1px solid #303039}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.story h2{font-size:clamp(42px,5.8vw,84px);letter-spacing:-.055em}.story h2 em{font-family:var(--serif);font-weight:500;color:#d1c5dc}.story-copy{max-width:500px}.story-copy p{font-size:17px;line-height:1.85;color:#c2bdca;margin:0 0 24px}.story-copy p:first-child{color:var(--paper);font-size:22px;line-height:1.55}.story-copy .story-signature{font-size:16px;color:#d6ccdf;margin-top:32px}
footer{padding:70px 7% 30px}footer .eyebrow{margin-bottom:16px}.connect-link{font-size:clamp(24px,3vw,42px);letter-spacing:-.045em;line-height:1.5}.connect-link span{display:inline-block;margin-left:12px}.footer-bottom{border-top:1px solid #44414b;margin-top:64px;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#beb5c9;font-size:12px;line-height:1.6}.footer-bottom .wordmark{color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:10px;left:10px;padding:14px 20px;background:var(--paper);color:var(--ink);transform:translateY(-200%)}.skip:focus{transform:none}
/* Dedicated worlds retain their original full-viewport backgrounds. */
.world-page{isolation:isolate}.world-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--ink);overflow:hidden}.world-background>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.world-page[data-world=refined] .world-background>img{object-position:50% 51%;position:absolute;inset:-1vmax;width:calc(100% + 2vmax);height:calc(100% + 2vmax);transform:rotate(-.4402deg)}
.world-background-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,12,.72),transparent 26%,rgba(8,9,12,.1) 43%,rgba(8,9,12,.82) 100%),linear-gradient(90deg,rgba(8,9,12,.48),transparent 76%)}
.world-page .world-hero{height:100svh;min-height:740px;max-height:none;padding:140px 4.5% 144px;align-items:flex-end}.world-hero .hero-content{text-shadow:0 2px 24px rgba(0,0,0,.35)}.world-hero #hero-kicker{color:#e1dbe7;margin-bottom:20px}
.world-page[data-world=amplified] .world-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(76px,10.5vw,156px);letter-spacing:.005em;margin:0;line-height:.93}.world-page[data-world=amplified] .world-hero h1 span:first-child{font-family:var(--sans);font-size:.21em;font-weight:500;margin:0 0 16px;letter-spacing:.18em}
.world-page[data-world=refined] .world-hero h1{font-family:var(--serif);font-size:clamp(68px,10.2vw,152px);font-weight:500;letter-spacing:-.055em;margin:0;line-height:1.1}
.world-page .hero-bottom{margin-top:24px}.world-page .hero-bottom em{color:#e0d7e6}.world-page-links{position:absolute;bottom:28px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.35);padding-top:12px}.world-page-links a{font-size:14px;line-height:1.5;padding:12px 0}.world-page-links a:hover,.world-switch:hover{text-decoration:underline;text-underline-offset:6px}
.world-page .world-status{background:rgba(8,9,12,.7);border-color:rgba(255,255,255,.16)}.world-page .music{background:rgba(8,9,12,.8)}.world-page .story{background:rgba(8,9,12,.86)}.world-page footer{background:rgba(8,9,12,.82)}.world-page .release-list{border-top:1px solid #60576b}
.performance{background:rgba(8,9,12,.78);border-bottom:1px solid rgba(255,255,255,.16)}.performance-heading{text-align:center;margin:0 auto 32px}.performance-heading .eyebrow{margin-bottom:12px}.performance-heading h2{font-family:var(--display);font-weight:600;font-size:clamp(34px,4.2vw,56px);letter-spacing:0}
.performance-player{position:relative;width:min(100%,430px);margin:0 auto;background:var(--ink);border:1px solid #665772;box-shadow:0 24px 80px rgba(0,0,0,.35)}.performance-player video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(8,9,12,.78);font-size:27px}.video-play span{margin-left:5px}.video-play:hover{background:#45235f}
.media-message{font-size:14px;line-height:1.5;color:#ddd5e6;margin:14px auto 0;max-width:430px}.media-message:empty{display:none}
.music-dock{position:fixed;z-index:10;top:104px;right:4.5%;width:260px;max-width:88vw;padding:15px 18px;border:1px solid #766786;border-radius:8px;background:rgba(8,9,12,.94);box-shadow:0 6px 24px rgba(0,0,0,.3)}.music-status{margin:0 0 5px 37px;font-size:14px;line-height:1.4;color:#dacbe9}.music-toggle{display:flex;align-items:center;gap:13px;width:100%;padding:6px 0;border:0;border-radius:4px;background:none;text-align:left;min-height:48px}.music-toggle:hover{background:#17111f}.music-toggle-icon{font-size:19px;flex:none;width:24px;text-align:center}.music-toggle strong{display:block;font-size:14px;line-height:1.5;letter-spacing:.035em;font-weight:600}.music-toggle [data-music-action]{display:block;font-size:14px;line-height:1.5;color:#d0c7d9}.music-spotify{display:inline-flex;align-items:center;min-height:44px;margin:0 0 0 37px;font-size:14px;line-height:1.5;color:#e0d4ec;text-decoration:underline;text-underline-offset:4px}.music-spotify:hover{color:#fff}.music-dock .media-message{font-size:14px;line-height:1.5}
@media(min-width:1600px){.header,.hero,.world-page .world-hero{padding-left:7%;padding-right:7%}.worlds,.world-page-links{left:7%;right:7%}}
@media(max-width:1000px){.edition{display:none}.hero{min-height:640px}.hero h1{font-size:13.5vw}.portrait-scene,.portrait-hit-scene{left:21%}.section{padding:80px 5%}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:16px}.release{grid-template-columns:22px minmax(0,1fr);gap:18px}.release-with-art{grid-template-columns:80px minmax(0,1fr)}.release-cover{width:80px;height:80px}.release-with-art .release-cover{grid-row:span 2}.listen{grid-column:2}.story-grid{gap:7%}.footer-bottom{flex-wrap:wrap}.header{padding:22px 5%}body[data-world=joe] #hero-kicker{max-width:260px}}
@media(max-width:700px){
 .header{display:flex;justify-content:space-between;padding:14px 6%;gap:16px}.wordmark{font-size:16px}.header nav{display:flex;gap:18px}.header nav a{font-size:14px}.wordmark-line{margin-top:5px}
 .tap-brand-home{min-width:48px;min-height:44px;padding:3px 0}.tap-brand-logo{width:48px}
 body[data-world=joe] .hero{height:100svh;min-height:560px;max-height:920px;padding:86px 6% 140px;align-items:flex-start}
 body[data-world=joe] .hero h1{font-size:clamp(38px,10.8vw,72px);line-height:1.05;letter-spacing:-.065em;margin:0;white-space:nowrap}body[data-world=joe] .hero h1 span{display:inline}body[data-world=joe] .hero h1 span+span:before{content:' ';}body[data-world=joe] #hero-kicker{display:none}
 body[data-world=joe] .hero-bottom{margin-top:12px;gap:12px}body[data-world=joe] .hero-bottom p{font-size:clamp(14px,3.7vw,18px);line-height:1.5}body[data-world=joe] .hero-bottom br{display:none}body[data-world=joe] .hero-bottom em{font-size:1.12em}body[data-world=joe] .hero-bottom .round-link{display:none}
 .portrait,.portrait-links{inset:170px 0 auto;height:clamp(260px,48svh,440px)}.portrait-scene,.portrait-hit-scene{inset:0}.portrait-amplified{width:61%}.portrait-refined{left:46%;width:54%}.portrait-layer img{object-position:50% 44%}.portrait-refined img{object-position:50% 61%}.portrait-link-amplified{width:51.5%}.portrait-link-refined{left:51.5%}.portrait-link-hint{display:none}.portrait-shade{background:linear-gradient(0deg,#08090c 0%,transparent 20%,transparent 87%,#08090c 100%)}.atmosphere{display:none}
 .worlds{left:6%;right:6%;bottom:28px;gap:20px}.world-button{padding-top:14px;gap:0;align-items:flex-start}.world-number{display:none}.world-name{font-size:clamp(28px,6vw,40px)}.world-artist{font-size:14px;max-width:150px}.world-label{gap:7px}.world-arrow{display:none}
 .world-status{padding:18px 6%;gap:15px}.world-status>span{font-size:12px}.small-note{display:none}.section{padding:60px 6%}.section-heading{margin-bottom:26px}.music-filters{gap:8px 20px}.release{padding:28px 0;gap:16px}.release .eyebrow{letter-spacing:.075em}.release h3{font-size:27px}.release-with-art{column-gap:16px;row-gap:10px}.release-with-art h3{font-size:25px}.featured-piece{align-items:flex-start;flex-direction:column;padding:4px 0 32px;gap:24px}.story-grid{grid-template-columns:1fr;gap:28px}.story h2{font-size:52px}.story-copy p{font-size:16px}.story-copy p:first-child{font-size:21px}.footer-bottom{display:grid;gap:18px;margin-top:44px}.connect-link{font-size:27px}footer{padding:56px 6% 28px}
 .world-page .world-hero{height:100svh;min-height:620px;padding:150px 6% 250px}.world-page .world-hero #hero-kicker{font-size:12px;letter-spacing:.12em;margin-bottom:16px}.world-page[data-world=amplified] .world-hero h1{font-size:clamp(54px,14vw,94px)}.world-page[data-world=refined] .world-hero h1{font-size:clamp(44px,12.5vw,84px)}.world-page .hero-bottom{margin-top:18px;gap:24px}.hero-bottom p{font-size:18px}.world-page-links{left:6%;right:6%;bottom:166px;gap:18px}.world-page-links a{font-size:14px;max-width:48%;line-height:1.5}
 .music-dock{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:6%;right:6%;width:auto;max-width:none;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.music-status{grid-column:1/-1;font-size:12px;margin:0 0 2px 33px}.music-toggle{gap:9px;min-width:0;grid-column:1}.music-toggle strong{letter-spacing:0}.music-toggle [data-music-action]{font-size:12px}.music-spotify{grid-column:2;margin:0;font-size:12px;align-self:center}.music-dock .media-message{grid-column:1/-1;margin-top:8px}.world-page footer{padding-bottom:165px}.world-page :is(#music,#story,#contact,#dreamstate){scroll-margin-bottom:150px}.performance-heading{margin-bottom:24px}
}
@media(max-width:360px){.header{gap:12px}.header nav{gap:13px}.header nav a{font-size:13px}.wordmark{font-size:15px}.worlds{gap:14px}.world-name{font-size:27px}.world-artist{font-size:14px}.music-dock{column-gap:8px}.music-spotify{max-width:105px}.world-page .world-hero{padding-bottom:260px}}
@media(max-width:700px) and (max-height:620px){body[data-world=joe] .hero{min-height:440px;padding-top:80px}.portrait,.portrait-links{top:150px;height:calc(100% - 262px)}.worlds{bottom:20px}.world-label{gap:5px}.world-button{padding-top:12px}}
/* Cover-led discography. Artwork stays square and uncropped at every size. */
.catalog-caption{display:flex;justify-content:space-between;gap:16px;margin:24px 0;color:#c1bacb;font-size:13px;line-height:1.5}
.release-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.world-page .release-list{border:0}
.release-list .release{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 20px;border-bottom:1px solid #44414b;min-width:0;background:rgba(8,9,12,.32)}
.release-art{position:relative;aspect-ratio:1;background:#18171c;overflow:hidden}
.release-list .release-cover{display:block;width:100%;height:100%;object-fit:contain;border:0}
.latest-badge{position:absolute;left:12px;bottom:12px;padding:7px 11px;border:1px solid #a396b0;border-radius:3px;background:#100c17;color:#fff;font-size:12px;line-height:1.5;box-shadow:0 2px 12px #0006}
.release-info{padding-top:18px}.release-artists{font-size:12px;line-height:1.6;color:#c6bace;margin:0 0 8px}
.release-list .release h3{font-size:clamp(19px,2vw,28px);line-height:1.25;letter-spacing:-.025em;overflow-wrap:normal;margin:0 0 12px}
.release-meta{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;font-size:12px;line-height:1.5;color:#c1bacb}
.release-list .listen{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:10px 0 0;border-top:1px solid #38313f;min-height:44px;font-size:14px;color:#e9dcef}
.release-list .listen span{margin:0;font-size:20px}.release-list .release:hover .listen,.release-list .release:focus-visible .listen{color:white;border-color:#c3a6df}
.release-list .release:active{background:#28202f}.music .featured-piece{margin-top:48px;border-top:1px solid #60576b;padding-top:32px}
@media(max-width:1000px){.release-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}
@media(max-width:700px){.release-list{gap:28px 18px}.release-list .release h3{font-size:19px}.release-list .listen{font-size:12px}.release-info{padding-top:14px}.latest-badge{left:8px;bottom:8px;padding:5px 8px;font-size:11px}}
@media(max-width:380px){.release-list{gap:26px 14px}.release-list .release h3{font-size:17px}.release-list .listen{font-size:12px}.release-artists{font-size:11px}}
/* Touch visitors get permanent, high-contrast entry controls on both portraits. */
@media(hover:none){.portrait-link-hint{opacity:1}}
@media(max-width:700px){
 body[data-world=joe] .hero{min-height:650px;--home-prompt-top:calc(124px + clamp(39.9px,11.34vw,75.6px) + clamp(21px,5.55vw,27px))}
 .mobile-world-prompt{display:block;position:absolute;top:var(--home-prompt-top);left:6%;right:6%;margin:0;text-align:center;font-size:.8125rem;line-height:1.5rem;color:#c1bacb}
 .portrait,.portrait-links{top:calc(var(--home-prompt-top) + 1.5rem + 16px);bottom:156px;height:auto}
 .portrait-link-hint{display:flex;flex-direction:column;gap:5px;top:0;bottom:auto;height:64px;width:max-content;max-width:calc(100% - 24px);padding:11px 14px;border-radius:5px;border-color:#aca4b4;font-size:12px;line-height:1.25;opacity:1}
 .portrait-link-hint strong{font-size:clamp(12px,3.3vw,16px);letter-spacing:.025em}
 .portrait-link-hint>span{color:#d7cfde}
 .worlds{bottom:54px}.world-button{min-height:82px}
 .mobile-music-note{display:block;position:absolute;bottom:19px;left:6%;right:6%;margin:0;text-align:center;font-size:12px;line-height:1.5;color:#c1bacb}
}
@media(max-width:700px) and (max-height:620px){
 body[data-world=joe] .hero{min-height:580px;--home-prompt-top:calc(118px + clamp(39.9px,11.34vw,75.6px) + clamp(21px,5.55vw,27px))}
 .portrait,.portrait-links{bottom:145px}.worlds{bottom:49px}
}
/* The sound strip stays centered above the world links.
   Portrait entry buttons have their own shared row above the faces. */
body[data-world=joe] .hero{--home-control-bottom:36px;--home-sound-height:132px;--home-world-height:112px;--home-control-gap:24px;--home-control-height:calc(var(--home-sound-height) + var(--home-control-gap) + var(--home-world-height))}
.home-controls{position:absolute;z-index:4;bottom:var(--home-control-bottom);left:4.5%;right:4.5%;display:grid;gap:var(--home-control-gap);pointer-events:none}
/* Mobile spacing above the sound strip must not intercept the portrait links. */
.home-controls>.home-sound,.home-controls>.worlds{pointer-events:auto}
.home-controls .worlds{position:static;min-height:var(--home-world-height);margin:0}
.home-controls .world-number{display:none}
.home-controls .world-button.refined{text-align:right;justify-content:flex-end}
.home-controls .refined .world-label{align-items:flex-end}
.home-controls .refined .world-arrow{order:-1;margin-left:0;margin-right:auto}
.home-sound{position:relative;width:100%;height:var(--home-sound-height);display:grid;grid-template-rows:44px 44px 44px;padding:0;border:0;background:none}
.home-sound-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:18px;min-width:0}
.home-sound-caption{grid-column:2;text-align:center;font-size:12px;line-height:18px;letter-spacing:.14em;color:#e6daef;white-space:nowrap}
#home-sound-toggle{grid-column:3;justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #c2aecf;border-radius:4px;background:rgba(8,9,12,.7);font-size:12px;white-space:nowrap}
#home-sound-toggle:hover,#home-sound-toggle[aria-pressed=true]{background:#2c2235}
.home-sound-hint{grid-row:3;align-self:center;text-align:center;font-size:12px;line-height:18px;color:#d4cbdc;margin:0}
.touch-instruction,.home-blend-labels{display:none}
.home-blend-control{display:block;grid-row:2;min-width:0}
#home-sound-blend{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;margin:0;background:transparent;cursor:ew-resize;touch-action:pan-y}
#home-sound-blend::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,#bba1e1,#b2c6b7)}
#home-sound-blend::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,#bba1e1,#b2c6b7)}
#home-sound-blend::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2px solid #f1f0ec;border-radius:50%;background:#302638;margin-top:-10px;box-shadow:0 0 0 5px #e3d9ef18}
#home-sound-blend::-moz-range-thumb{width:24px;height:24px;border:2px solid #f1f0ec;border-radius:50%;background:#302638;box-sizing:border-box;box-shadow:0 0 0 5px #e3d9ef18}
#home-sound-blend:focus-visible{outline:2px solid #ded0ff;outline-offset:3px;border-radius:4px}
@media(min-width:701px){
 body[data-world=joe] .hero{min-height:800px;padding-bottom:calc(var(--home-control-height) + var(--home-control-bottom) + 16px)}
 .portrait-link-hint{opacity:1}
 /* The thumb centers align with the A and D at the outer edges of the labels. */
 #home-sound-blend{width:calc(100% + 24px);margin-left:-12px}
}
@media(min-width:1600px){.home-controls{left:7%;right:7%}}
@media(min-width:701px) and (max-height:880px){
 body[data-world=joe] .hero{padding-top:112px;align-items:flex-start}
 body[data-world=joe] .hero h1{font-size:clamp(88px,10.2vw,144px)}
}
@media(hover:none),(pointer:coarse){.touch-instruction{display:inline}.pointer-instruction{display:none}}
@media(max-width:700px){
 body[data-world=joe] .hero{min-height:760px}
 .portrait,.portrait-links{bottom:312px}
 .home-controls{display:contents}
 .home-controls .worlds{position:absolute;bottom:54px;left:6%;right:6%;min-height:82px}
 .home-sound{position:absolute;z-index:4;bottom:145px;left:6%;right:6%;width:auto;height:144px;grid-template-rows:70px 44px 30px}
 .home-sound-heading{display:flex;flex-direction:column;justify-content:center;gap:8px}
 .home-sound-caption{font-size:11px;letter-spacing:.1em}
 #home-sound-toggle{align-self:center}
 .touch-instruction{display:inline}.pointer-instruction{display:none}
 .home-sound-hint{font-size:11px}
}
@media(max-width:700px) and (max-height:620px){body[data-world=joe] .hero{min-height:730px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Readable controls and room for the floating player on smaller screens. */
.header .wordmark{display:inline-flex;flex-direction:column;justify-content:center;min-height:44px}
.music-filters button,.header nav a,.world-page-links a{font-size:.875rem}
.release-list .release h3{overflow-wrap:anywhere}
.release-artists,.release-meta,.catalog-caption,.latest-badge{font-size:.75rem}
.home-sound-caption,#home-sound-toggle,.home-sound-hint{font-size:.75rem}
@media(max-width:700px){
 .portrait-link-hint{font-size:.875rem}
 .portrait-link-hint strong{font-size:.875rem}
 .release-list .listen,.music-spotify,.music-toggle [data-music-action]{font-size:.875rem}
 .release-artists,.latest-badge,.music-status{font-size:.75rem}
 .music-dock{grid-template-columns:minmax(0,1fr);max-height:45svh;overflow:auto}
 .music-spotify{grid-column:1;margin-left:33px;justify-self:start;max-width:none}
 .world-page footer{padding-bottom:calc(var(--music-dock-height,180px) + 24px)}
 .world-page :is(#music,#story,#contact,#dreamstate){scroll-margin-bottom:calc(var(--music-dock-height,180px) + 16px)}
 .world-page-links{bottom:calc(var(--music-dock-height,180px) + 20px)}
 .world-page .world-hero{min-height:calc(440px + var(--music-dock-height,180px));padding-bottom:calc(var(--music-dock-height,180px) + 90px)}
}
@media(forced-colors:active){
 #home-sound-blend::-webkit-slider-runnable-track{background:CanvasText}
 #home-sound-blend::-moz-range-track{background:CanvasText}
 #home-sound-blend::-webkit-slider-thumb{background:Highlight;border-color:CanvasText}
 #home-sound-blend::-moz-range-thumb{background:Highlight;border-color:CanvasText}
 .portrait-link-hint,#home-sound-toggle{border:1px solid ButtonText}
}

/* Separate destinations keep the entrance focused on the two worlds. */
.content-page{min-height:100svh;display:flex;flex-direction:column}
.content-page .header{position:relative;inset:auto}
.content-page main{flex:1}
.content-page .section{padding-top:70px;min-height:60svh}
.content-page h1{font-size:clamp(44px,5.8vw,84px);font-weight:500;letter-spacing:-.055em;line-height:1.13;margin:0}
.content-page h1 em{font-family:var(--serif);font-weight:500;color:#d1c5dc}
.content-page .section-heading h1{font-size:clamp(38px,4.2vw,64px)}
.header nav a[aria-current=page]:after{width:100%}
.page-footer{padding-top:0}.page-footer .footer-bottom{margin-top:0}
.story-world-links{display:flex;gap:24px 56px;flex-wrap:wrap;margin-top:56px;border-top:1px solid #44414b;padding-top:24px}
.story-world-links a,.story-return{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:6px}
.connect-page .connect-link{display:inline-block;margin-top:52px;text-decoration:underline;text-underline-offset:8px}
/* Desktop entries follow the portraits; phone entries mirror the screen edges. */
.portrait-link-hint{width:230px;max-width:calc(100% - 24px)}
@media(min-width:701px){
 .portrait-link-hint{left:var(--portrait-button-x,50%)}
 .portrait-link-refined .portrait-link-hint{left:var(--portrait-button-x,37.5%)}
}
@media(max-width:700px){
 .portrait-hit-scene{left:0}
 .portrait-link-amplified{width:50%}.portrait-link-refined{left:50%}
 .portrait-link-hint{left:50%;top:0;width:152px;height:64px}
}
/* TAPmosphere's biography and a composition story share a quiet reading surface. */
.world-page .refined-story{background:#101115}
.refined-story-inner{max-width:1180px;margin:0 auto}
.refined-story-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,88px)}
.refined-story h2{font-family:Italiana,Georgia,serif;font-size:clamp(46px,5.8vw,76px);font-weight:400;line-height:1.12;letter-spacing:-.025em}
.refined-story .story-copy{max-width:620px;padding-top:88px}
.icer-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,88px);align-items:start;margin-top:80px;padding-top:56px;border-top:1px solid #44414b}
.icer-story-art{margin:0;max-width:280px}.icer-story-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.icer-story-copy{min-width:0}.icer-story-copy .eyebrow{font-size:12px;margin:0 0 14px}
.icer-story h3{font-family:Italiana,Georgia,serif;font-size:clamp(32px,3.5vw,46px);line-height:1.15;font-weight:400;margin:0 0 26px}
.icer-story-copy>p{font-size:17px;line-height:1.85;color:#c2bdca;margin:0 0 24px}
.icer-story .featured-piece{margin-top:30px;padding:24px 0 0;border-top:1px solid #44414b;align-items:flex-start;flex-wrap:wrap;gap:20px}
.featured-track-title{font-size:16px;line-height:1.6;color:var(--paper);margin:0 0 6px}
@media(max-width:800px){.refined-story-intro,.icer-story{grid-template-columns:minmax(0,1fr);gap:32px}.refined-story .story-copy{max-width:none;padding-top:0}.icer-story{margin-top:56px;padding-top:40px}.icer-story-art{max-width:240px}.icer-story-copy>p{font-size:16px}}
/* TAP's story layers original photographs; the performance stays beside its first-festival story. */
.world-page .tap-performance{background:#101115}
.tap-performance .performance-heading{max-width:1180px;text-align:left;margin-bottom:40px}
.tap-performance-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(32px,5vw,80px);max-width:1180px;margin:0 auto}
.tap-performance-video{min-width:0}.tap-performance .performance-player{width:min(100%,360px)}
.tap-performance-story{min-width:0}.tap-performance-story p{font-size:17px;line-height:1.85;color:#c2bdca;margin:0 0 22px}
.tap-performance-story .tap-performance-intro{font-size:23px;line-height:1.5;color:var(--paper)}
.tap-dreamstate-photo{margin:32px 0 0}.tap-dreamstate-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.tap-dreamstate-photo figcaption,.tap-photo-credit{font-size:12px;line-height:1.6;color:#aaa5b2;margin:12px 0 0}
.world-page .tap-story{background:#101115}.tap-story>.eyebrow{max-width:1180px;margin-left:auto;margin-right:auto}
.tap-story-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(36px,5.5vw,80px);align-items:center}
.tap-story-visuals{min-width:0}.tap-story-portraits{position:relative;padding:clamp(44px,5vw,64px) 0 40px}
.tap-story-portraits figure{margin:0}.tap-story-primary{width:84%}.tap-story-primary img{display:block;width:100%;height:auto;aspect-ratio:4153/6230;mask-image:linear-gradient(#000 92%,transparent);-webkit-mask-image:linear-gradient(#000 92%,transparent)}
.tap-story-portraits .tap-story-primary{margin-left:8%}
.tap-story-cap{position:absolute;left:0;top:0;width:43%;transform:rotate(-3deg);background:#101115;box-shadow:0 12px 40px #0007;padding:5px}
.tap-story-cap img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%}
.tap-story-candid{position:absolute;right:0;bottom:0;width:43%;transform:rotate(3deg);background:#101115;box-shadow:0 12px 40px #0007;padding:5px}
.tap-story-candid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 56%}
.tap-story-copy{max-width:none}.tap-story .tap-story-copy h2{font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:clamp(48px,5.8vw,80px);line-height:1;letter-spacing:.015em;margin:0 0 28px}
.tap-story-copy .tap-story-lead{font-size:20px;line-height:1.6;color:var(--paper)}
.tap-story-copy em{font-style:normal;color:#e0d5ee}
@media(max-width:800px){.tap-performance-grid,.tap-story-grid{grid-template-columns:minmax(0,1fr);gap:36px}.tap-performance-story,.tap-story-copy{grid-row:1}.tap-performance .performance-player{width:min(100%,320px)}.tap-performance-story p{font-size:16px}.tap-performance-story .tap-performance-intro{font-size:21px}.tap-performance .performance-heading{margin-bottom:28px}.tap-story-visuals{max-width:440px;width:100%;margin:0 auto}.tap-story-copy .tap-story-lead{font-size:19px}.tap-story-copy p{font-size:16px}.tap-story .tap-story-copy h2{font-size:52px}.tap-dreamstate-photo{margin-top:24px}}
/* A single on-demand Spotify player; native dialog keeps background controls inert. */
body.spotify-open{overflow:hidden}
.spotify-dialog{width:min(620px,calc(100% - 32px));max-width:none;max-height:calc(100svh - 32px);padding:24px;margin:auto;border:1px solid #57505e;border-radius:16px;background:#151419;color:var(--paper);box-shadow:0 24px 90px #0009;overflow:auto;overscroll-behavior:contain}
.spotify-dialog::backdrop{background:rgba(4,5,8,.82)}
.spotify-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.spotify-dialog-title{min-width:0;font-size:22px;line-height:1.35;letter-spacing:-.025em;margin:7px 0;overflow-wrap:anywhere}
.spotify-close,.spotify-retry{min-height:44px;padding:10px 14px;border:1px solid #716879;border-radius:8px;font-size:14px;flex:none}
.spotify-close:hover,.spotify-retry:hover{background:#302936}
.spotify-frame{min-width:0;min-height:352px}
.spotify-frame iframe{display:block;width:100%;height:352px;border:0;border-radius:12px;background:#202020}
.spotify-status{font-size:14px;line-height:1.6;color:var(--muted);margin:16px 0 8px}
.spotify-dialog-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px}
.spotify-external{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.spotify-dialog{width:calc(100% - 16px);max-height:calc(100svh - 16px);padding:16px 12px}.spotify-dialog-header{gap:12px;margin-bottom:16px}.spotify-dialog-title{font-size:19px}.spotify-close{padding:10px}.spotify-dialog-footer{gap:8px}}
.home-story{padding:96px 7% 112px;background:#101115}
.home-story-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5.5vw,72px);align-items:center}
.home-story-photo{margin:0;min-width:0}
.home-story-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.home-story-copy{min-width:0}
.home-story-copy h2{font-size:clamp(34px,3.5vw,48px);font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:0 0 12px}
.home-story-copy p{font-size:1rem;line-height:1.85;color:#c2bdca;margin:0 0 22px}
.home-story-copy .home-story-tagline{font-size:14px;line-height:1.65;letter-spacing:.1em;color:var(--muted);margin:0 0 28px}
.home-story-tagline+p{color:var(--paper)}
.home-story-copy p:last-child{margin-bottom:0}
@media(max-width:800px){.home-story{padding:60px 6% 72px}.home-story-inner{grid-template-columns:minmax(0,1fr);max-width:560px;gap:36px}.home-story-copy h2{font-size:36px}.home-story-copy p{line-height:1.8}}
@media(max-width:700px){.content-page .section{padding-top:48px}.content-page h1{font-size:48px}.story-world-links{flex-direction:column;gap:12px}.content-page .page-footer{padding-top:36px}}

/* Lighting is placed in the photograph's coordinates, outside Joe's silhouette.
   The refined frame shares the existing piano-level correction. */
.world-light-frame{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.world-light-plane{position:absolute;--ambient-level:.035;--forest-drift:0%;opacity:var(--ambient-level)}
.world-light-plane>div{position:absolute}
[data-world=amplified] .ambient-ceiling{left:0;top:24%;width:37%;height:23%;background:radial-gradient(ellipse at 25% 48%,#b4edff 0%,#48c9f5 30%,transparent 72%)}
[data-world=amplified] .ambient-wall{left:0;top:39%;width:28%;height:30%;background:radial-gradient(ellipse at 10% 40%,#49ccff 0%,#309bc4 28%,transparent 70%)}
[data-world=amplified] .ambient-rim{left:80%;top:22%;width:20%;height:21%;background:radial-gradient(ellipse at 75% 45%,#a3e7ff 0%,#3cbce8 30%,transparent 70%)}
[data-world=refined] .world-light-frame{inset:-1vmax;transform:rotate(-.4402deg)}
[data-world=refined] .ambient-forest{left:9%;top:12%;width:83%;height:29%;overflow:hidden;mask-image:radial-gradient(ellipse,#000 40%,transparent 76%)}
[data-world=refined] .ambient-forest:before{content:'';position:absolute;inset:-8%;transform:translateX(var(--forest-drift));background:radial-gradient(ellipse at 38% 58%,#f3f8e9 8%,transparent 56%),radial-gradient(ellipse at 75% 64%,#c8dfcd 5%,transparent 48%)}
/* The newest visible release carries this treatment automatically. */
.release.is-latest .release-art{--release-lift:-10px;--release-rebound:-4px;transform-origin:50% 65%;animation:latest-accent 2.6s cubic-bezier(.2,.8,.25,1) infinite;animation-play-state:paused;box-shadow:0 0 0 1px #bba1e16b,0 8px 25px #7e65a324}
.release.is-latest .release-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 28%,#fff0 36%,#fff3 48%,#fff0 60%,transparent 70%);transform:translateX(-120%);animation:latest-sheen 2.6s ease-out infinite;animation-play-state:paused}
.release.is-latest.motion-visible .release-art,.release.is-latest.motion-visible .release-art:after{animation-play-state:running}
.motion-hidden .release.is-latest .release-art,.motion-hidden .release.is-latest .release-art:after{animation-play-state:paused}
.release.is-latest:is(:hover,:focus-visible) .release-art,.release.is-latest:is(:hover,:focus-visible) .release-art:after{animation-play-state:paused}
/* A brief lift, counter-tilt and settle leaves two seconds of rest per cycle. */
@keyframes latest-accent{0%,24%,100%{transform:translateY(0) rotate(0) scale(1)}6%{transform:translateY(var(--release-lift)) rotate(-1.6deg) scale(1.018)}11%{transform:translateY(var(--release-rebound)) rotate(1.1deg) scale(1.008)}18%{transform:translateY(-1px) rotate(-.25deg) scale(1)}}
@keyframes latest-sheen{0%,5%{transform:translateX(-120%)}25%,100%{transform:translateX(120%)}}
@media(max-width:700px){.release.is-latest .release-art{--release-lift:-7px;--release-rebound:-3px}}
@media(prefers-reduced-motion:reduce){.release.is-latest .release-art,.release.is-latest .release-art:after{animation:none!important;transform:none}.release.is-latest .release-art:after{display:none}.ambient-forest:before{transform:none!important}}
@media(max-width:700px){.connect-page .connect-link{display:inline-flex;align-items:center;gap:12px;font-size:22px}.connect-page .connect-link span{margin-left:0}}
/* Connect: direct contacts and recognisable platform destinations. */
.content-page .connect-page{width:100%;max-width:1600px;margin:0 auto;padding-bottom:100px}
.contact-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:end;padding-bottom:70px}
.contact-general{padding-bottom:5px;max-width:440px}
.contact-label{font-size:13px;letter-spacing:.18em;font-weight:600;margin:0 0 14px}
.contact-general>p:not(.contact-label){color:var(--muted);line-height:1.7;font-size:16px;margin:0 0 24px}
.contact-email{display:inline-block;max-width:100%;font-size:clamp(17px,1.6vw,23px);line-height:1.5;text-decoration:underline;text-decoration-color:#736a80;text-underline-offset:7px;overflow-wrap:anywhere;transition:color .2s,text-decoration-color .2s}
.contact-email:hover{color:#ded0ff;text-decoration-color:currentColor}
.contact-worlds{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid #514a5d;padding-top:45px}
.contact-world{min-width:0;scroll-margin-top:40px}
.contact-identity{display:flex;gap:18px;align-items:center;min-height:58px;margin-bottom:22px}
.contact-world .contact-identity h2{margin:0;line-height:1.1;letter-spacing:.01em;font-weight:400}
.contact-amplified .contact-identity h2{font-family:'Bebas Neue',var(--sans);font-size:clamp(32px,3.1vw,46px)}
.contact-refined .contact-identity h2{font-family:Italiana,var(--serif);font-size:clamp(36px,3.2vw,48px)}
.contact-tap-logo{width:48px;height:auto;flex:0 0 48px}
.contact-purpose{margin:0 0 8px;font-size:14px;color:var(--muted)}
.contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;list-style:none;margin:35px 0 0;padding:0}
.contact-socials li{min-width:0;border-bottom:1px solid #302d37}
.contact-socials a{display:flex;align-items:center;gap:14px;min-height:77px;padding:14px 0;font-size:16px;line-height:1.4;transition:color .2s}
.contact-socials a:hover{color:#ded0ff}
.contact-socials img{display:block;width:24px;height:24px;flex:0 0 24px;filter:invert(1)}
.contact-socials small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.contact-socials .contact-playlist{grid-column:1 / -1}
.contact-playlist a{padding-top:20px;padding-bottom:20px}
@media(max-width:900px){.contact-intro{grid-template-columns:1fr;gap:36px;padding-bottom:45px}.contact-general{max-width:100%}.contact-general>p:not(.contact-label){margin-bottom:14px}.contact-worlds{gap:6%}.contact-identity{gap:12px}.contact-tap-logo{width:35px;flex-basis:35px}.contact-socials{gap:0 16px}}
@media(max-width:700px){.content-page .connect-page{padding-bottom:60px}.contact-worlds{grid-template-columns:1fr;gap:42px;padding-top:35px}.contact-world+.contact-world{border-top:1px solid #514a5d;padding-top:35px}.contact-identity{min-height:48px;margin-bottom:18px}.contact-amplified .contact-identity h2{font-size:36px}.contact-refined .contact-identity h2{font-size:40px}.contact-email{font-size:18px}.contact-socials{margin-top:25px}.contact-socials a{min-height:70px}.contact-world{scroll-margin-top:24px}}
@media(prefers-reduced-motion:reduce){.contact-email,.contact-socials a{transition:none}}
/* Keep Connect's player in the page flow so it never covers contact links. */
.contact-music.music-dock{position:static;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 28px;width:100%;max-width:none;max-height:none;margin:0 0 45px;padding:16px 22px;box-shadow:none;overflow:visible}
.contact-music .music-status{grid-column:auto;margin:0;max-width:120px}
.contact-music .music-toggle{grid-column:auto;min-width:0}
.contact-music .music-spotify{grid-column:auto;margin:0;max-width:none;justify-self:end}
.contact-music .media-message{grid-column:1/-1;margin:0}
.contact-music .media-message:empty{display:none}
@media(max-width:700px){.contact-music.music-dock{grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px 16px;margin-bottom:32px}.contact-music .music-status{grid-column:1/-1;max-width:none;margin-left:33px}.contact-music .music-spotify{font-size:12px;text-align:right;max-width:105px}}
/* Four equal navigation links, centered as a group. */
.header nav{grid-template-columns:repeat(4,70px)}
@media(max-width:700px){.header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px}.header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;justify-self:stretch}.header nav a{font-size:.8125rem}.header>.edition{display:none}}
@media(max-width:380px){.header{gap:12px}.header nav{gap:2px}.header .wordmark{font-size:14px}.header nav a{font-size:.75rem}}
/* First-visit feedback: clear paths and one remembered listening volume. */
.site-volume{position:fixed;right:18px;bottom:18px;z-index:65;font-size:13px;color:#eeeaf3}.site-volume summary{list-style:none;cursor:pointer;background:#14151deb;border:1px solid #7f738c;border-radius:24px;padding:10px 16px;box-shadow:0 3px 20px #0006}.site-volume summary::-webkit-details-marker{display:none}.site-volume-panel{position:absolute;right:0;bottom:calc(100% + 8px);width:250px;background:#15161f;border:1px solid #83758e;border-radius:12px;padding:18px;box-shadow:0 5px 30px #0008}.site-volume-panel label{display:flex;justify-content:space-between}.site-volume-panel input{width:100%;min-height:38px;accent-color:#c5a8e5}.site-volume-panel button{min-height:36px;border:1px solid #a89ab9;background:#24202e;color:#fff;border-radius:5px;padding:6px 18px}.site-volume-panel small{display:block;color:#beb7c9;margin-top:12px;line-height:1.5}.site-volume :focus-visible{outline:2px solid #eee;outline-offset:3px}.mix-page .site-volume{display:none}
.world-description{display:block;font-size:12px;line-height:1.6;letter-spacing:0;color:#c9c1d2;margin-top:5px}.world-genre{font-size:clamp(14px,1.4vw,18px);color:#d3cedb;margin:14px 0}.hero-jumps{display:flex;gap:10px 20px;flex-wrap:wrap;margin:16px 0}.hero-jumps a,.story-top-links a{display:inline-flex;gap:14px;align-items:center;border:1px solid #9b8ca8;background:#14131a9e;color:#f7f2fb;border-radius:3px;padding:12px 16px;min-height:44px;font-size:14px}.hero-jumps a:hover,.story-top-links a:hover{background:#33283c}.hero-jumps+.hero-bottom{margin-top:24px}
.joe-story-subtitle{color:#d4c8e0;font-size:20px;margin:24px 0}.story-top-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}.joe-story-intro .story-copy{max-width:620px}.story-milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;padding:32px 0;margin:56px 0 64px;border-block:1px solid #47404e}.story-milestones li{padding-left:16px;border-left:2px solid #ac91c4}.story-milestones span{display:block;color:#c4afd6;font-size:13px;margin-bottom:10px}.story-milestones strong{font-size:17px}.story-milestones p{font-size:14px;line-height:1.6;color:#beb7c9;margin:10px 0 0}.story-path-heading{margin-bottom:30px}.story-path-heading h2{font-size:clamp(32px,4vw,56px);margin-bottom:18px}.story-path-heading>p:last-child{font-size:17px;line-height:1.7;color:#c5bece}.story-paths{display:grid;grid-template-columns:1fr 1fr;gap:28px}.story-path{position:relative;display:grid;grid-template-columns:40% 60%;min-height:340px;border:1px solid #71617f;background:#17141d;border-radius:8px;overflow:hidden}.story-path img{width:100%;height:100%;max-height:440px;object-fit:cover;object-position:50% 35%}.story-path-refined img{object-position:60% 40%}.story-path>div{padding:28px;align-self:center}.story-path h3{font-size:26px;line-height:1.2;margin:16px 0}.story-path p:not(.eyebrow){font-size:16px;line-height:1.7;color:#c5becd}.story-path strong{display:block;font-size:15px;line-height:1.6;margin-top:24px;color:#ead7fb}.story-path:hover{border-color:#d8b3f5;background:#241b2c}.story-path:focus-visible{outline:3px solid #ead7fb;outline-offset:4px}
@media(max-width:1050px){.story-path{grid-template-columns:1fr}.story-path img{height:260px;object-position:50% 35%}.story-path-refined img{object-position:50% 30%}.story-milestones{grid-template-columns:1fr 1fr}.story-path>div{padding:24px}}
@media(max-width:650px){.world-description{font-size:11px;max-width:145px}.world-button.refined .world-description{margin-left:auto}.hero-jumps{gap:8px}.hero-jumps a{font-size:13px;padding:10px 12px}.story-paths{grid-template-columns:1fr;gap:20px}.story-path{grid-template-columns:35% 65%;min-height:260px}.story-path img{height:100%;max-height:none}.story-path h3{font-size:22px}.story-path>div{padding:22px 18px}.story-path p:not(.eyebrow){font-size:14px}.story-path strong{font-size:14px}.story-milestones{gap:24px 16px}.story-milestones strong{font-size:16px}.site-volume{right:12px;bottom:12px}.site-volume summary{padding:9px 13px}.home-page .worlds{bottom:24px}}

@media(min-width:901px){body[data-preview="joe"] .site-volume{top:20px;bottom:auto}body[data-preview="joe"] .site-volume-panel{top:calc(100% + 8px);bottom:auto}}

/* Shared destinations stay the same in every musical world. */
.header nav{grid-template-columns:repeat(4,84px);gap:14px}
.header nav a{white-space:nowrap}
.artist-navigation{width:fit-content;max-width:100%}
.catalog-artist{display:block;font-size:.38em;letter-spacing:.02em;color:var(--muted);margin-bottom:12px}
#home-sound-toggle{background:#ddc5f3;color:#21142c;border-color:#ead8fa;font-weight:700;padding-inline:18px;box-shadow:0 0 22px #c6a4e632}
#home-sound-toggle:hover,#home-sound-toggle[aria-pressed=true]{background:#f0dfff;color:#21142c}
#home-sound-toggle[data-invite]{animation:sound-invitation 1.4s ease-in-out .6s 2}
@keyframes sound-invitation{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #d7b6f455}50%{transform:scale(1.045);box-shadow:0 0 0 9px #d7b6f400}}
.home-sound-hint{grid-row:2}
.home-sound-help{grid-row:2;align-self:center;display:grid;gap:2px;text-align:center}
.home-sound-help .home-sound-hint{grid-row:auto}
.home-silent-note{margin:0;color:#bdb4c8;font-size:12px;line-height:18px}
.home-blend-control{grid-row:3}
@media(max-width:700px){
 body[data-world=joe] .hero{height:auto;max-height:none;min-height:max(760px,100svh);display:block;padding:0 6% 64px;--home-photo-height:clamp(280px,36svh,340px)}
 body[data-world=joe] .hero-content{position:absolute;top:86px;left:6%;width:88%}
 body[data-world=joe] .portrait,body[data-world=joe] .portrait-links{bottom:auto;height:var(--home-photo-height)}
 .home-controls{display:grid;position:relative;left:auto;right:auto;bottom:auto;gap:20px;padding-top:calc(var(--home-prompt-top) + 1.5rem + 16px + var(--home-photo-height) + 20px)}
 .home-controls .worlds{position:static;min-height:82px}
 .home-sound{position:static;width:100%;height:auto;min-height:178px}
 .header{gap:12px}
 .header nav[aria-label="Main navigation"]{grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:7px}
 .header nav a{white-space:nowrap;line-height:1.35}
 .home-sound{grid-template-rows:70px minmax(64px,auto) 44px}
 .home-sound-hint{font-size:12px}
 .artist-navigation{gap:8px}
 .artist-navigation a{gap:8px;font-size:13px;padding:10px 12px}
}
@media(max-width:380px){.header nav{gap:5px}.header nav a{font-size:12px}.artist-navigation a{font-size:12px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){#home-sound-toggle[data-invite]{animation:none}}

.story-music.music-dock{position:static;display:block;width:100%;max-width:320px;max-height:none;margin:24px 0;padding:14px 18px;box-shadow:none;overflow:visible}

/* One story page, with direct entry points for the two musical projects. */
.story-chapters{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:12px 7%;background:#0c0d10f5;border-block:1px solid #38333e;backdrop-filter:blur(12px)}
.chapter-nav-label{font-size:11px;letter-spacing:.14em;color:#b9afc4;margin-right:auto}
.story-chapters a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #65596f;border-radius:3px;font-size:14px;white-space:nowrap}
.story-chapters a:hover,.story-chapters a:focus-visible{background:#30243b;border-color:#d4b9ed}
.story-page :is(#joe,#tap,#tapmosphere,#tap-live,#icer-story){scroll-margin-top:96px}
.story-page .joe-chapter{border-top:0}
.story-page .chapter-heading{max-width:1180px;margin:0 auto 40px}
.story-page .tap-story-grid{align-items:start}
.story-page .tap-story-copy{padding-top:44px}
.story-page .refined-story .story-copy{padding-top:0}
.refined-chapter-photo{margin:36px 0 0;max-width:380px}
.refined-chapter-photo img{display:block;width:100%;height:auto;border-radius:3px}
.story-live{max-width:1180px;margin:60px auto 0;padding-top:44px;border-top:1px solid #44414b;display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(32px,5.5vw,80px);align-items:center}
.story-live h3{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:0 0 24px}
.story-live .story-copy>.eyebrow{font-size:12px;color:#c4afd6;letter-spacing:.14em;margin-bottom:16px}
.story-live .tap-dreamstate-photo{margin:0}
.artist-story-callout{padding:30px 7%;border-block:1px solid #39343f;background:#111116;display:flex;align-items:center;justify-content:space-between;gap:20px 40px}
.artist-story-callout p{font-size:17px;line-height:1.6;color:#c2bdca;max-width:620px;margin:0}
.artist-story-callout a{flex-shrink:0}
.refined-listening.section{padding-top:0;padding-bottom:60px}
.refined-listening .featured-piece{padding:32px 0;border-top:1px solid #44414b}
@media(max-width:800px){.story-page .tap-story-copy{padding-top:0}.story-live{grid-template-columns:1fr;gap:28px}.refined-chapter-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr);align-items:center;gap:22px}.refined-chapter-photo{margin:0}.artist-story-callout{flex-direction:column;align-items:flex-start;gap:10px}}
@media(max-width:700px){.story-chapters{padding:8px 6%;gap:6px;justify-content:space-between}.chapter-nav-label{display:none}.story-chapters a{font-size:13px;padding:8px 10px}.story-page :is(#joe,#tap,#tapmosphere,#tap-live,#icer-story){scroll-margin-top:80px}.story-page .chapter-heading{font-size:42px;margin-bottom:28px}.story-page .refined-chapter-visual h2{font-size:36px}.story-live{margin-top:40px;padding-top:32px}.artist-story-callout{padding:24px 6%}}

/* Persistent social access, with separate identities and a compact touch menu. */
body{--site-header-height:104px}
body:not(.mix-page) .header{position:fixed;inset:0 0 auto;height:var(--site-header-height);padding:12px 4.5%;gap:16px;z-index:70;background:#08090cf2;border-bottom:1px solid #ffffff15;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.content-page{padding-top:var(--site-header-height)}
.header nav[aria-label="Main navigation"]{grid-column:2;grid-row:1}
.social-follow{justify-self:end;grid-column:3;grid-row:1;position:relative;min-width:0;color:var(--paper)}
.social-follow>summary{list-style:none;cursor:pointer;min-height:44px;padding:10px 14px;display:flex;align-items:center;gap:10px;border:1px solid #7c6f8a;border-radius:5px;background:#18151ef2;font-size:13px;white-space:nowrap}
.social-follow>summary::-webkit-details-marker{display:none}
.social-follow>summary span{font-size:18px;line-height:1}
.social-follow[open]>summary span{transform:rotate(45deg)}
.social-follow>summary:focus-visible{outline:2px solid #ead8fa;outline-offset:4px}
.social-panel{display:grid;gap:6px}
.social-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.social-row h2{font:500 11px/1.4 var(--sans);letter-spacing:.025em;color:#c8bed2;width:82px;margin:0;text-align:right}
.social-row ul{display:flex;list-style:none;padding:0;margin:0;gap:2px;min-width:0;flex-wrap:nowrap}
.social-link{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;border:1px solid transparent}
.social-link img{display:block;width:18px;height:18px;filter:invert(1);opacity:.86}
.social-link:hover,.social-link:focus-visible{background:#34273f;border-color:#8d749e;outline-offset:1px}
.social-link:hover img,.social-link:focus-visible img{opacity:1}
.social-platform{display:none}
.social-tooltip{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:2;white-space:nowrap;padding:6px 9px;background:#251d2e;border:1px solid #867293;border-radius:4px;font-size:12px;pointer-events:none}
.social-link:hover .social-tooltip,.social-link:focus-visible .social-tooltip{display:block}
.story-chapters{top:var(--site-header-height)}
body:not(.mix-page) :is(section,article)[id]{scroll-margin-top:calc(var(--site-header-height) + 24px)}
.story-page :is(#joe,#tap,#tapmosphere,#tap-live,#icer-story){scroll-margin-top:calc(var(--site-header-height) + 88px)}
body[data-preview="joe"] .site-volume{top:auto;bottom:18px}
body[data-preview="joe"] .site-volume-panel{top:auto;bottom:calc(100% + 8px)}
@media(min-width:1351px){
 body:not(.mix-page) .social-follow>summary{display:none}
 body:not(.mix-page) .social-follow[data-social-context="amplified"] [data-social-artist="refined"],body:not(.mix-page) .social-follow[data-social-context="refined"] [data-social-artist="amplified"]{display:none}
}
@media(max-width:1350px){
 .social-follow .social-panel{position:absolute;right:0;top:calc(100% + 12px);width:350px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain;padding:20px;background:#14121bed;border:1px solid #7b698a;border-radius:10px;box-shadow:0 12px 48px #000a;backdrop-filter:blur(16px);gap:22px}
 .social-row{display:block}.social-row h2{width:auto;text-align:left;font-size:14px;margin:0 0 10px;color:#dfd1ed}
 .social-row ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .social-link{width:100%;min-height:60px;height:auto;flex-direction:column;gap:8px;padding:8px 2px;background:#ffffff06;border-color:#ffffff0c}
 .social-link img{width:22px;height:22px}.social-platform{display:block;font-size:10px;line-height:1.3;white-space:nowrap}.social-tooltip{display:none!important}
}
@media(max-width:700px){
 body{--site-header-height:112px}
 /* Let artist introductions grow below the header on short phone screens. */
 .world-page .world-hero{height:auto;min-height:100svh;padding-top:calc(var(--site-header-height) + 24px)}
 body:not(.mix-page) .header{padding:8px 6%;grid-template-columns:1fr auto;grid-template-rows:44px 44px;gap:8px 12px}
 body:not(.mix-page) .header nav[aria-label="Main navigation"]{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:12px;width:100%}
 body:not(.mix-page) .header nav a{font-size:13px;padding:12px 0}
 body:not(.mix-page) .social-follow{grid-column:2}
 .social-follow .social-panel{right:calc(-6vw + 12px);top:calc(100% + 12px);max-height:calc(100dvh - 80px)}
 body[data-world=joe] .hero-content{top:126px}
 body[data-world=joe] .hero{--home-prompt-top:calc(164px + clamp(39.9px,11.34vw,75.6px) + clamp(21px,5.55vw,27px))}
 /* Keep homepage volume in the header, clear of both portraits and world labels. */
 body:not(.mix-page) .header{grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px}
 body:not(.mix-page) .social-follow{grid-column:3}
 body:not(.mix-page) .social-follow>summary{padding-inline:10px}
 body:not(.mix-page) .site-volume{position:relative;grid-column:2;grid-row:1;top:auto;right:auto;bottom:auto;font-size:12px}
 body:not(.mix-page) .site-volume summary{min-height:44px;display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:5px;box-shadow:none;white-space:nowrap}
 body:not(.mix-page) .site-volume-panel{position:fixed;top:calc(var(--site-header-height) + 8px);right:12px;bottom:auto;max-width:calc(100vw - 24px)}
 .story-chapters a{min-height:40px}.story-chapters{padding-block:6px}
}
/* The mixing console keeps its existing header height and deck space. */
.mix-page .header{position:sticky;top:0;z-index:70;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}
.mix-page .social-follow>summary{min-height:28px;height:28px;padding:3px 9px;font-size:12px}
.mix-page .social-panel{position:absolute;right:0;top:calc(100% + 8px);width:350px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 56px);overflow:auto;overscroll-behavior:contain;padding:18px;background:#14121bf5;border:1px solid #7b698a;border-radius:10px;box-shadow:0 12px 48px #000a;gap:20px}
.mix-page .social-row{display:block}.mix-page .social-row h2{width:auto;text-align:left;font-size:14px;margin-bottom:10px}
.mix-page .social-row ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mix-page .social-link{width:100%;height:60px;flex-direction:column;gap:8px;border-color:#ffffff15}.mix-page .social-platform{display:block;font-size:10px;white-space:nowrap}.mix-page .social-tooltip{display:none!important}
@media(max-width:760px) and (orientation:portrait){.mix-page .header{height:96px;padding:4px 4%;grid-template-columns:1fr auto;grid-template-rows:40px 40px;gap:4px 12px}.mix-page .social-follow{grid-column:2;grid-row:1}.mix-page .header nav[aria-label="Main navigation"]{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between}.mix-page .social-follow>summary{min-height:36px}.mix-page .social-panel{max-height:calc(100dvh - 60px)}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:650px){.mix-page .header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.mix-page .header nav{gap:10px}.mix-page .header .wordmark{font-size:12px;min-height:0}.mix-page .social-follow{grid-column:3;grid-row:1}.mix-page .header nav a{font-size:12px}.mix-page:not(.quick-mix-page) .dj-view-toolbar{z-index:75}}
@media(orientation:landscape) and (max-width:780px) and (max-height:650px){.mix-page:not(.quick-mix-page) .header .wordmark{font-size:0}.mix-page:not(.quick-mix-page) .header .wordmark:before{content:'JB';font-size:12px}.mix-page:not(.quick-mix-page) .dj-view-toolbar{left:40px}.mix-page .header nav{gap:8px}.mix-page .header nav a{font-size:11px}.mix-page .social-follow>summary{padding-inline:6px}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:650px){.quick-mix-page .dj-view-toolbar>[data-tour-open]{position:static}}

/* Press coverage uses the existing release artwork and a clear publisher credit. */
.header nav[aria-label="Main navigation"]{grid-template-columns:repeat(5,max-content);justify-content:center;gap:24px}
.press-main{max-width:1420px;margin:0 auto;min-height:calc(100svh - var(--site-header-height) - 120px)}
.press-heading{margin-bottom:48px;max-width:650px}
.press-heading h1{font-size:clamp(48px,6.5vw,88px);letter-spacing:-.05em;line-height:1.05;margin:0 0 24px}
.press-heading>p:last-child{color:var(--muted);font-size:18px;line-height:1.7;margin:0}
.press-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}
.press-main .press-card + .press-card{margin-top:clamp(40px,6vw,80px);padding-top:clamp(40px,6vw,80px);border-top:1px solid #47404e}
.press-card-interview .press-art img{aspect-ratio:3/2;object-fit:cover}
.press-art figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.press-issue{color:#c8bfce;font-size:14px;margin:0 0 20px}
.press-art{margin:0;min-width:0}.press-art img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:3px}
.press-copy{min-width:0}.press-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#c8bfce;margin:0 0 20px;line-height:1.65}
.press-meta>span{color:#eee3f8;font-weight:600}.press-artist{font-size:11px;letter-spacing:.14em;color:#b6a0c6;margin:0 0 12px}
.press-card :is(h2,h3){font-size:clamp(25px,3vw,42px);line-height:1.22;letter-spacing:-.025em;margin:0 0 20px;font-weight:600}
.press-summary{color:#c5becd;font-size:16px;line-height:1.8;margin:0 0 18px}.press-byline{font-size:12px;color:#aba1b6;margin:0 0 24px}
.press-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.press-actions a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;border-bottom:1px solid #776684;color:#ecdaf8;padding:6px 0}
.press-actions a:hover{color:#fff;border-color:#efdcfd}
.home-press{max-width:1280px;margin:0 auto;padding-top:0;padding-bottom:80px}
.press-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding-top:32px;border-top:1px solid #47404e}
.press-section-heading h2{font-size:26px;margin:0}.press-section-heading .story-return{margin:0;font-size:14px}
.press-card-compact,.press-card-artist{grid-template-columns:160px minmax(0,1fr);gap:32px;max-width:950px}
.press-card-compact :is(h2,h3),.press-card-artist :is(h2,h3){font-size:clamp(22px,2.1vw,30px);margin-bottom:12px}
.press-card-compact .press-meta,.press-card-artist .press-meta{margin-bottom:12px}
.press-card-artist{padding:26px 0 30px;margin:0 0 32px;border-block:1px solid #62576c;max-width:none}
.press-card-artist .press-summary{margin-bottom:10px;font-size:15px}
.world-page[data-world=refined] .icer-feature{margin:0;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:clamp(36px,6vw,88px);background:#0c0d12ee;align-items:start;padding-top:64px;padding-bottom:56px}
.icer-feature .icer-story-art{max-width:360px;justify-self:center;width:100%}
.icer-feature h2{font-family:Italiana,Georgia,serif;font-size:clamp(36px,4vw,52px);font-weight:400;line-height:1.15;margin:0 0 26px}
.icer-feature .icer-story-copy{max-width:720px}.icer-feature .story-return{margin-top:8px}
@media(max-width:850px){.header nav[aria-label="Main navigation"]{gap:16px}.press-card-feature{gap:28px}.press-card-feature :is(h2,h3){font-size:28px}}
@media(max-width:700px){
 .header nav[aria-label="Main navigation"]{gap:10px}
 .press-heading{margin-bottom:32px}.press-heading>p:last-child{font-size:16px}
 .press-card-feature{grid-template-columns:minmax(0,1fr);gap:28px}.press-card-feature .press-art{max-width:420px}
 .press-card-feature h2{font-size:30px}.press-summary{font-size:15px}
 .world-page[data-world=refined] .icer-feature{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:40px}
 .icer-feature .icer-story-art{max-width:260px;justify-self:start}
 .press-section-heading{flex-wrap:wrap;gap:10px}.home-press{padding-bottom:48px}
}
@media(max-width:600px){
 .press-card-compact,.press-card-artist{grid-template-columns:100px minmax(0,1fr);gap:20px;align-items:start}
 .press-card-compact h3,.press-card-artist h3{font-size:21px}.press-card-compact .press-meta,.press-card-artist .press-meta{font-size:11px;gap:0}
 .press-card-compact .press-meta>*,.press-card-artist .press-meta>*{width:100%}
 .press-card-artist .press-summary{font-size:14px;line-height:1.7}.press-actions{gap:8px 16px}.press-actions a{font-size:13px}
}
@media(max-width:380px){body:not(.mix-page) .header nav[aria-label="Main navigation"]{gap:8px}body:not(.mix-page) .header nav a{font-size:12px}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:650px){.mix-page .header nav[aria-label="Main navigation"]{gap:10px}}
@media(orientation:landscape) and (max-width:780px) and (max-height:650px){.mix-page .header nav[aria-label="Main navigation"]{gap:8px}}

/* Shared visitor links and contact actions. */
.site-footer{padding:24px 6% 28px;position:relative;z-index:1}
.site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 32px;margin:0;padding-top:22px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none}
.site-footer nav a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer .wordmark{font-size:22px}
.email-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;max-width:100%}
.copy-email{font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;color:var(--paper);background:transparent;border:1px solid #777080;border-radius:5px;min-height:44px;padding:10px 16px;cursor:pointer}
.copy-email:hover{background:#bca8d91a;border-color:#bca8d9}
.copy-email:disabled{opacity:.65;cursor:wait}
.copy-email[hidden]{display:none}
.copy-status{font-size:13px;line-height:1.5;color:#c5c0cc;overflow-wrap:anywhere;max-width:100%}
.contact-email,.epk-booking-email{overflow-wrap:anywhere}
.utility-main{width:min(100%,1100px);margin:0 auto;padding:calc(var(--site-header-height,100px) + 60px) 6% 80px}
.utility-main h1{font-size:clamp(42px,6vw,78px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 26px}
.utility-main h1 em{font-family:var(--serif,Georgia,serif);font-weight:400}
.utility-lead{font-size:clamp(18px,2vw,23px);line-height:1.6;max-width:680px;color:#d0cbd6}
.utility-date{font-size:13px;color:#b5adbf;margin-top:24px}
.privacy-sections{max-width:760px;margin-top:44px}
.privacy-sections section{border-top:1px solid #45404d;padding:28px 0;scroll-margin-top:calc(var(--site-header-height,100px) + 24px)}
.privacy-sections h2{font-size:24px;letter-spacing:-.02em;margin:0 0 16px}
.privacy-sections p,.privacy-sections li{font-size:16px;line-height:1.8;color:#d0cbd6}
.privacy-sections p{margin:14px 0}.privacy-sections ul{padding-left:23px}.privacy-sections li{margin:12px 0}
.privacy-sections a,.missing-page p a{color:#d5bdea;text-decoration:underline;text-underline-offset:4px}
.privacy-sections .contact-email{font-size:inherit;letter-spacing:normal}
.utility-actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}
.utility-actions a{display:inline-flex;padding:14px 22px;min-height:48px;border:1px solid #82758f;border-radius:5px;align-items:center;text-decoration:none}
.utility-actions a:first-child{background:#c1abd9;color:#16111d}
.missing-page{min-height:calc(100svh - 120px)}
.mix-page .site-footer{padding:2px 16px 6px}
.mix-page .site-footer .footer-bottom{padding-top:0;gap:4px 18px;font-size:10px}
.mix-page .site-footer .wordmark{font-size:14px}
.mix-page .site-footer nav{gap:4px 16px}
.mix-page .site-footer nav a{font-size:12px;min-height:32px}
@media(max-width:600px){.site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.site-footer nav{gap:4px 20px}.utility-main{padding-top:calc(var(--site-header-height,100px) + 32px)}.copy-status{flex-basis:100%}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:650px){.mix-page .site-footer .wordmark,.mix-page .site-footer .footer-bottom>span{display:none}.mix-page .site-footer .footer-bottom{justify-content:center}.mix-page .site-footer nav a{min-height:28px;font-size:11px}}

/* Short press mentions lead into the full coverage on Press. */
.press-card-compact,.press-card-artist{grid-template-columns:96px minmax(0,1fr);gap:24px}
.press-card-compact h3,.press-card-artist h3{font-size:clamp(20px,2vw,26px)}
.press-card-artist{padding:22px 0;margin-bottom:26px}
@media(max-width:600px){.press-card-compact,.press-card-artist{grid-template-columns:72px minmax(0,1fr);gap:16px}.press-card-compact h3,.press-card-artist h3{font-size:20px}}

/* Chapter destinations and keyboard-only controls keep a visible focus indicator. */
:is(input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #ded0ff;outline-offset:4px}
:where(main,section,article,div)[id]{scroll-margin-top:calc(var(--site-header-height) + 24px)}
@media(max-width:700px){body:not(.mix-page) .site-volume-panel{max-height:calc(100dvh - var(--site-header-height) - 24px);overflow:auto}}

/* A quiet signup invitation after the music, opened only on request. */
.discovery-follow{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:36px 0 4px;padding:28px 0 4px;border-top:1px solid #494051;position:relative}
.discovery-follow h2{font-family:Manrope,sans-serif;font-size:clamp(21px,2vw,27px);font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:0 0 10px}
.discovery-follow p{font-size:14px;line-height:1.65;color:#cfc6da;margin:0;max-width:43em}
.follow-actions{display:flex;gap:12px;flex-wrap:wrap}
.follow-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid #8f7da0;border-radius:6px;background:#17121d;color:#f2edf6;font:500 14px/1.4 Manrope,sans-serif;text-decoration:none}
.follow-action:hover{background:#292032;border-color:#d3b7eb}.follow-action:focus-visible{outline:2px solid #ded0ff;outline-offset:4px}
.follow-action img{flex:0 0 20px;filter:brightness(0) invert(1)}.story-follow{width:88%;max-width:1150px;margin:24px auto 56px;padding:28px 0}
.mix-follow{margin-top:22px;padding-top:20px;gap:12px}.mix-follow h2{font-size:18px}.mix-follow p{font-size:13px}.mix-follow .follow-action{font-size:13px;padding:10px 12px}
@media(max-width:600px){.discovery-follow{align-items:flex-start;gap:18px}.follow-actions{width:100%}.follow-action{flex:1 1 210px;justify-content:flex-start}.mix-follow .follow-action{flex-basis:180px}.story-follow{margin-bottom:36px}}
.newsletter-section{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:32px;margin:24px auto 64px;padding:38px;max-width:1150px;width:88%;border:1px solid #494051;border-radius:12px;background:linear-gradient(120deg,#19131f,#0c1115);min-height:0}
.newsletter-section h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.025em;margin:10px 0 16px}
.newsletter-section p{font-size:16px;line-height:1.7;max-width:44em;color:#d1cbd8}
.newsletter-section .eyebrow{font-size:12px;letter-spacing:.15em;color:#c4a6de;margin:0}
.newsletter-action{justify-self:end;max-width:340px}.newsletter-action p{font-size:13px;margin:14px 0 6px}
.newsletter-section .button,[data-analytics-preference]{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid #b4a0c8;border-radius:5px;background:#cab1df;color:#17111d;font-size:16px;font-weight:600}
.newsletter-privacy,.newsletter-panel>a{text-decoration:underline;text-underline-offset:4px;font-size:13px;color:#d9c8ed}
.newsletter-panel{grid-column:1/-1;width:100%;padding-top:16px;border-top:1px solid #494051}
.newsletter-frame{display:block;width:100%;height:650px;max-width:620px;margin:auto;border:0;border-radius:6px;background:#fff}
.newsletter-panel p{font-size:13px;margin:14px auto 8px}.newsletter-panel>a{display:inline-block;min-height:36px}
@media(max-width:650px){.newsletter-section{grid-template-columns:1fr;gap:24px;padding:26px 20px;width:88%;margin-bottom:40px}.newsletter-action{justify-self:start}.newsletter-frame{height:740px}.newsletter-section .button{width:100%}}

/* Booking visitors can move directly between EPK sections. */
.epk-page .header nav[aria-label="Main navigation"]{grid-template-columns:repeat(4,max-content)}
.epk-page .header nav a.epk-nav-booking{color:#a5e0ed;font-weight:700}

/* Icer’s Theme: a release story shared by the two musical projects. */
.icer-page{background:radial-gradient(ellipse at 90% 10%,#18324666,transparent 44%),#08090c}
.icer-main{width:min(100%,1420px);padding:52px 6% 72px;margin:0 auto}
.icer-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(36px,5vw,80px);padding-bottom:64px}
.icer-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#bdb6c7;margin-bottom:42px}.icer-breadcrumb a{text-decoration:underline;text-underline-offset:5px}
.icer-hero .eyebrow{font-size:11px;letter-spacing:.13em;color:#a7c9de;line-height:1.8;margin-bottom:22px}
.icer-page .icer-hero h1{font-size:clamp(70px,8vw,112px);font-weight:600;letter-spacing:-.065em;line-height:.94;margin:0 0 28px}.icer-title-dot{color:#ee9b88}
.icer-standfirst{font:italic clamp(23px,2.2vw,32px)/1.3 var(--serif);color:#e1cce9;margin:0 0 18px}
.icer-intro{font-size:17px;line-height:1.8;max-width:500px;color:#c5c4cf;margin:0 0 28px}
.icer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.icer-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;min-height:48px;background:#c6b4de;color:#131119;border:1px solid #c6b4de;border-radius:4px;font-size:14px;font-weight:650;line-height:1.5}
.icer-button:hover{background:#e3d6f3;color:#131119}.icer-button img{filter:brightness(0)}
.icer-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:7px 0;color:#d3c4e2;font-size:14px;border-bottom:1px solid #61586d;line-height:1.6}.icer-text-link:hover{color:white;border-color:#d3c4e2}
.icer-hero-art{margin:0;position:relative}.icer-hero-art img{display:block;width:100%;height:auto;border:1px solid #344554;border-radius:3px;box-shadow:0 24px 100px #0008}.icer-hero-art figcaption{font-size:10px;letter-spacing:.16em;color:#a7b1be;margin-top:15px}
.icer-listen,.icer-narrative,.icer-press,.icer-explore{padding:56px 0;border-top:1px solid #33313b}
.icer-section-heading{max-width:720px;margin-bottom:30px}.icer-main h2{font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0 0 18px}.icer-page .eyebrow{font-size:11px;color:#bda8cf;letter-spacing:.13em;line-height:1.8}
.icer-section-heading>p:last-child,.icer-press p:not(.eyebrow){color:#bdb8c6;line-height:1.8;font-size:16px}
.icer-version-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.icer-version{display:flex;flex-direction:column;padding:28px;border:1px solid #3f3d4b;border-radius:6px;background:#111218}.icer-orchestral{border-top:3px solid #bca5d6}.icer-trance{border-top:3px solid #87afc9}
.icer-version-heading{display:flex;align-items:center;gap:20px;margin-bottom:22px}.icer-version-heading>img{width:90px;height:90px;flex:0 0 90px;border-radius:3px}.icer-version-heading .eyebrow{margin:0 0 8px;font-size:10px}.icer-version-heading h3{font-size:clamp(24px,2.5vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:0}
.icer-version>p{color:#bdb8c6;font-size:15px;line-height:1.8;margin:0 0 16px}.icer-version .icer-credit{color:#e2dce9;font-size:13px}.icer-release-date{font-size:12px!important;color:#a49bb0!important}.icer-version .icer-button{align-self:flex-start;margin-top:auto}
.icer-narrative{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,7vw,100px)}.icer-story-note{font:italic 24px/1.5 var(--serif);color:#c8b5d7;max-width:300px}.icer-prose>p{font-size:17px;line-height:1.85;color:#cbc5d2;margin:0 0 22px}.icer-prose h3{font-size:26px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:34px 0 18px}.icer-prose>p:last-child{margin-bottom:0}
.icer-press{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}.icer-press .icer-actions{align-items:flex-start;flex-direction:column}.icer-press h2{font-size:30px}
.icer-explore{padding-bottom:32px}.icer-follow{margin:0;padding:32px 0;border-top:1px solid #33313b}.icer-follow .follow-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.icer-follow .follow-action{font-size:13px}.icer-follow h2{font-size:26px}
.release-story-link{padding:18px 0 24px;margin-bottom:24px;border-bottom:1px solid #4a414f;display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap}.release-story-link a{font-size:16px;color:#d7c2e6;min-height:44px;display:inline-flex;align-items:center;gap:18px;line-height:1.5}.release-story-link a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){.icer-main{padding-top:36px}.icer-hero{gap:28px}.icer-page .icer-hero h1{font-size:72px}.icer-hero .eyebrow{font-size:10px}.icer-version-heading{gap:14px}.icer-version-heading>img{width:64px;height:64px;flex-basis:64px}.icer-version{padding:22px}.icer-narrative{grid-template-columns:1fr;gap:10px}.icer-story-note{max-width:none}.icer-press{grid-template-columns:1fr;gap:12px}}
@media(max-width:600px){.icer-main{padding:30px 6% 48px}.icer-hero{grid-template-columns:1fr;padding-bottom:36px;gap:30px}.icer-breadcrumb{margin-bottom:30px}.icer-page .icer-hero h1{font-size:76px}.icer-standfirst{font-size:25px}.icer-intro{font-size:16px}.icer-hero-art{width:100%;max-width:400px}.icer-version-grid{grid-template-columns:1fr;gap:20px}.icer-listen,.icer-narrative,.icer-press,.icer-explore{padding:36px 0}.icer-main h2{font-size:30px}.icer-prose>p{font-size:16px}.icer-version-heading h3{font-size:28px}.icer-follow{padding:28px 0}.icer-follow .follow-actions{flex-direction:column;align-items:flex-start}.release-story-link{gap:4px}.icer-actions{gap:12px 20px}}
