/* Short opening sequence, then native scrolling through the studio. */
html{scroll-behavior:smooth;scroll-padding-top:90px}
.journey{height:220svh}.stage{min-height:0}
.narrative-section{min-height:88svh;display:flex;align-items:center;background:transparent}
.narrative-section:before{background:none}
.narrative-section .flow-inner{width:100%}.narrative-section .scene-inner{position:relative;left:auto;right:auto;top:auto;transform:none}
.narrative-section h2{font-size:clamp(36px,4.4vw,67px);line-height:1.25}
#artist{min-height:82svh;padding-top:100px;padding-bottom:100px}
#artist h2{font-size:clamp(30px,3.6vw,55px);line-height:1.3}
#artist .artist-portrait{margin:0;overflow:hidden;border-radius:3px;max-height:58svh;position:relative}
#artist .artist-portrait img{height:100%;width:100%;object-fit:cover;display:block}
#artist .artist-portrait:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -70px 70px -55px #000;pointer-events:none}
.brand-heading{display:flex;align-items:end;justify-content:space-between;gap:50px}.brand-heading>p{max-width:350px;margin-bottom:30px}
.logo-marquee{margin:25px -4vw 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}
.marquee-toolbar{padding:19px 4vw;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;letter-spacing:.1em;color:#b7aaa3}
.marquee-toolbar button{background:transparent;color:#b7aaa3;border:0;padding:8px;font-size:10px;letter-spacing:0}
.marquee-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.logo-track{width:max-content;display:flex;animation:brand-drift 38s linear infinite;will-change:transform}
.logo-group{display:flex;align-items:center;gap:20px;padding:15px 10px 45px}
.logo-tile{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;width:190px;min-height:115px;padding:10px 20px}
.logo-tile img{width:100%;height:64px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:opacity .3s,filter .3s}
.logo-tile:hover img{filter:grayscale(0);opacity:1}.logo-tile span{font-size:8px;letter-spacing:.09em;color:#958b86;text-align:center}
.logo-tile.light-logo img{filter:grayscale(1) brightness(0) invert(1)}
.logo-marquee:hover .logo-track,.logo-marquee:focus-within .logo-track,.logo-marquee.paused .logo-track,.logo-marquee.offscreen .logo-track{animation-play-state:paused}
.brand-footer{display:flex;justify-content:space-between;gap:25px;align-items:baseline}.extra-brands{font-size:10px;color:#948985;white-space:nowrap}
@keyframes brand-drift{to{transform:translateX(-50%)}}
.music-section{background:radial-gradient(ellipse at 80% 0,#3c0b0b44,transparent 55%),#0b0909}
.music-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:40px}
.music-heading h2{font-size:clamp(52px,7vw,105px);line-height:1.08;margin-bottom:0}
.music-heading p{font-size:15px;line-height:1.9;color:#b9b0ac;max-width:400px}.music-watch{display:block;color:#ff7467;font-size:12px;margin:20px 0 5px}
.music-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;margin-bottom:40px}
.music-card{min-width:0}.music-cover{display:block;width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;padding:0;border:1px solid #ffffff20;background:#171111;color:#fff;text-align:left;border-radius:4px}
.music-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.music-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 60%)}
.music-cover:hover img{transform:scale(1.045)}.mv-play{position:absolute;z-index:1;right:20px;bottom:18px;width:54px;height:54px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;background:#0006;font-size:17px;backdrop-filter:blur(6px);transition:background .25s}
.music-cover:hover .mv-play{background:#f32a20}.mv-index{position:absolute;z-index:1;left:18px;bottom:22px;font:10px var(--type);letter-spacing:.13em}
.music-card h3{font-size:clamp(18px,2vw,26px);line-height:1.5;letter-spacing:-.02em;margin:17px 0 6px}
.music-card p{font-size:12px;color:#b6aaa5;margin:0 0 6px;line-height:1.8}.mv-credit{font-size:10px;color:#8e8581;line-height:1.8}
#detail.music-detail .dialogart{height:auto;aspect-ratio:16/9;max-height:72svh}#detail iframe{width:100%;height:100%;border:0;display:block}

.service-row{transition:border-color .35s}.service-row:hover{border-color:#ff625c88}
#intro,#artist{scroll-margin-top:0}
@media(max-width:700px){
 .journey{height:205svh}.narrative-section{min-height:auto;padding-top:90px;padding-bottom:70px}
 #artist{min-height:auto;padding-top:85px;padding-bottom:75px}
 #artist h2{font-size:clamp(19px,5.25vw,31px);margin:0;line-height:1.4}
 #artist .artist-portrait{max-height:none;min-height:155px}.brand-heading{display:block}.brand-heading>p{margin-bottom:20px}
 .logo-marquee{margin-left:-5vw;margin-right:-5vw}.logo-group{gap:8px;padding-bottom:30px}.logo-tile{width:145px;padding:10px 15px}.logo-tile img{height:52px}
 .marquee-toolbar{padding:14px 5vw;font-size:8px;letter-spacing:.04em}.marquee-toolbar button{font-size:9px}
 .brand-footer{display:block}.extra-brands{display:block;line-height:1.9;white-space:normal}.music-heading{display:block;margin-bottom:28px}.music-heading h2{font-size:55px;line-height:1.15}.music-heading p{font-size:13px;margin-top:23px}.music-watch{font-size:11px;margin-top:12px}
 .music-grid{grid-template-columns:minmax(0,1fr);gap:30px}.music-card h3{font-size:20px;margin-top:12px}.music-card p{font-size:12px}.music-cover .mv-play{width:44px;height:44px;right:13px;bottom:13px}.mv-index{left:13px;bottom:19px;font-size:8px}
 #detail.music-detail .dialogart{height:auto;aspect-ratio:16/9;margin-top:45px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track{animation:none;transform:none;will-change:auto;width:auto}.logo-group{flex-wrap:wrap;justify-content:center;gap:10px}.logo-group[aria-hidden]{display:none}.logo-tile{width:140px}.marquee-window{mask-image:none}.marquee-toolbar button{display:none}.motion-ready .motion-reveal{opacity:1;transform:none;transition:none}.music-cover img{transition:none}.hero-hint,.cue-arrow,.embers i{animation:none!important}}

@media(min-width:701px){.music-card:first-child{grid-column:1/-1}.music-card:first-child .music-cover{aspect-ratio:21/9}.music-card:first-child h3{font-size:32px}}
/* One continuous environment. No panel owns or restarts the background. */
html{scroll-behavior:auto;background:#080606}
body{background:transparent;isolation:isolate}
.world-scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#080606;contain:strict}
.world-scene .volcano-backdrop{position:absolute;inset:-7%;background-position:56% 52%;filter:saturate(.72) brightness(.82);transform:translate3d(0,0,0) scale(1.04);will-change:transform}
.world-scene .volcano-shade{opacity:1!important;transition:none;background:linear-gradient(90deg,#070505db 0%,#07050570 58%,#07050568),linear-gradient(180deg,#08060680,transparent 32%,#08060650 75%,#080606b8)}
.world-veil{position:absolute;inset:0;background:#080606;opacity:.15;will-change:opacity}
.world-scene .embers{opacity:.25;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}
.journey,.flow-section{z-index:1}
.journey{height:210svh}
.stage{background:transparent;isolation:auto;perspective:none}
.stage>.ambient,.stage>.grid,.stage>.grain,.stage>.scene-lines{display:none}
.flow-section,.narrative-section,.music-section,#services,#works,#viral,#brands,#music,#contact{background:transparent;border:0;overflow:clip}
.flow-section:before,.narrative-section:before{display:none}
.flow-section{padding-top:85px;padding-bottom:85px}
#intro{min-height:78svh;margin-top:-12svh;padding-top:90px;padding-bottom:65px;overflow:visible}
#artist{min-height:76svh;padding-top:65px;padding-bottom:75px;overflow:visible}
#artist .artist-portrait{border:0;border-radius:8px;box-shadow:0 25px 90px #0005}
#artist .artist-portrait img{animation:none;transform:scale(1.035)}
.artist-layout .artist-info{position:relative}
.topbar{background:linear-gradient(#080606b0,#08060620);border:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hud{background:linear-gradient(90deg,#080606c0,#08060630);border:0;border-radius:40px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.flow-section h2{margin-top:14px}
.services-intro{margin-bottom:30px}.service-row{padding-top:30px;padding-bottom:30px}
#works .aigc-category{padding-top:40px;padding-bottom:48px;border:0}
.aigc-category+.aigc-category{margin-top:20px}
.category-heading{padding-bottom:16px;border-bottom:1px solid #ffffff20}
.inline-video-card .aigc-art,.aigc-art,.music-cover{border-radius:10px;overflow:hidden;box-shadow:0 20px 65px #0003}
.music-cover{border:1px solid #ffffff15}
.logo-marquee{border-color:#ffffff18;border-radius:0}
.motion-live .motion-reveal,.motion-live .scroll-reveal{opacity:var(--motion-opacity,1);transform:translate3d(0,var(--motion-y,0px),0) scale(var(--motion-scale,1));transition:none;transform-origin:50% 50%}
.motion-live .motion-active{will-change:transform,opacity}
.motion-live .artist-info{transform-origin:0 50%}
#contact{padding-top:100px;padding-bottom:130px}
#contact .cta{border-radius:40px;transition:background .2s,transform .3s}
#contact .cta:hover{transform:translateY(-3px)}
html.lenis.lenis-smooth{scroll-behavior:auto!important}
html.lenis.lenis-smooth dialog iframe{pointer-events:auto}
@media(max-width:700px){
 .journey{height:205svh}
 .world-scene .volcano-backdrop{inset:-5%;background-position:61% 50%;filter:saturate(.68) brightness(.7)}
 .world-scene .embers{display:none}
 .topbar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
 .flow-section{padding-top:58px;padding-bottom:58px}
 #intro{margin-top:-6svh;min-height:auto;padding-top:75px;padding-bottom:45px}
 #artist{min-height:auto;padding-top:45px;padding-bottom:55px}
 .artist-layout .artist-info{position:static}
 .artist-layout .bodycopy{margin-bottom:6px}
 #artist .artist-portrait{border-radius:5px}
 .services-intro{margin-bottom:24px}.service-row{padding-top:24px;padding-bottom:24px}
 #works .aigc-category{padding-top:30px;padding-bottom:35px}
 .category-stack .aigc-grid{gap:28px}
 .category-heading{padding-bottom:12px}
 #contact{padding-top:70px;padding-bottom:100px}
 .hud{backdrop-filter:none;background:linear-gradient(90deg,#080606dd,#08060699)}
 .motion-live .motion-reveal,.motion-live .scroll-reveal{transform:translate3d(0,var(--motion-y,0px),0)}
}
@media(prefers-reduced-motion:reduce){
 .motion-live .motion-reveal,.motion-live .scroll-reveal{opacity:1!important;transform:none!important;will-change:auto}
 .world-scene .volcano-backdrop{transform:none!important;will-change:auto}
 .world-veil{will-change:auto}.world-scene .embers{display:none}
}
/* Start the next composition while the pepper is finishing its push-in. */
#intro{margin-top:-60svh}
@media(max-width:700px){#intro{margin-top:-43svh}}
@media(min-width:701px){#intro{min-height:68svh;padding-bottom:45px}#artist{min-height:72svh;padding-top:45px;padding-bottom:65px}}
/* Media keeps a small independent camera drift through the centre of the viewport. */
#artist .artist-portrait img{transform:translate3d(0,var(--media-travel,0px),0) scale(1.065)}
.music-cover img{transform:translate3d(0,var(--media-travel,0px),0) scale(1.045)}
.music-cover:hover img{transform:translate3d(0,var(--media-travel,0px),0) scale(1.075)}
@media(prefers-reduced-motion:reduce){#artist .artist-portrait img,.music-cover img,.music-cover:hover img{transform:none}}
