/* Reference cover: live typography on paper, full cutout artwork on the right */
.artist-portfolio .reference-home{--cover-edge:5%;}
.artist-portfolio .reference-home .front-art.album-cover-hero{container-type:inline-size;aspect-ratio:1.42;overflow:hidden;background:var(--paper)}
.artist-portfolio .reference-home .album-cover-hero>.hero-portrait{inset:0 -2% 0 auto;width:65%;height:100%;object-fit:contain;object-position:right bottom;clip-path:none;mask-image:linear-gradient(#000 94%,transparent);max-width:none}
.artist-portfolio .reference-home .hero-cover-copy{inset:0;position:absolute;width:100%;height:100%;pointer-events:none}
.artist-portfolio .reference-home .hero-artist{display:none}
.artist-portfolio .reference-home .portfolio-wordmark{position:absolute;left:0;top:3cqw;font-size:16cqw;line-height:.87;letter-spacing:-.045em;margin:0;-webkit-text-stroke:.013em currentColor}
.artist-portfolio .reference-home .portfolio-wordmark span{transform:scaleX(.82);transform-origin:left center}
.artist-portfolio .reference-home .hero-album-title{position:absolute;left:0;top:41%;width:36%;max-width:none;margin:0}
.artist-portfolio .reference-home .hero-statement{position:absolute;left:.5%;top:60%;margin:0;color:var(--ink);font:clamp(12px,1.25cqw,19px)/1.85 var(--serif);letter-spacing:.13em}
.artist-portfolio .reference-home .hero-album-caption{position:absolute;left:.5%;top:78%;font-size:1.35cqw;margin:0;max-width:none;letter-spacing:.08em}
.artist-portfolio .reference-home .hero-album-caption:before{content:'';position:absolute;left:0;top:-16px;width:28px;height:1px;background:#aaa39a}
.artist-portfolio .reference-home .portfolio-release-number{font-size:2.6cqw;margin-right:5px}
.artist-portfolio .reference-home .album-cover-hero .hero-video-controls{inset:auto auto 2% .5%;gap:4px;align-items:flex-start;flex-direction:row;column-gap:35px}
.artist-portfolio .reference-home .hero-video-controls .hero-signature{font:9px/1.75 var(--serif);letter-spacing:.16em;max-width:none;color:var(--ink)}
.artist-portfolio .reference-home .album-cover-hero .hero-video-controls #enterUniverse{font:13px/1.5 var(--serif);display:flex;align-items:center;gap:14px;color:var(--red);letter-spacing:.08em;text-decoration:none;min-height:44px}
.reference-home #enterUniverse svg{width:25px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.artist-portfolio .reference-home #universe{margin:18px auto 0;padding:0;max-width:1100px;grid-template-rows:auto auto auto}
.artist-portfolio .reference-home #universe .homepage-orbit-title{display:none}
.artist-portfolio .reference-home #universe .cosmos-tabs,.artist-portfolio .reference-home #universe .map-toolbar{padding:0;align-self:center}
.artist-portfolio .reference-home #universe .constellation-hint{padding:6px 0 18px;font-size:10px;letter-spacing:.06em}
.artist-portfolio .reference-home #starMap.star-map.celestial-map{width:100%;height:auto;min-height:0;min-width:0;aspect-ratio:1.4;max-width:none}
.artist-portfolio .reference-home #starMap:before{display:none}
.artist-portfolio .reference-home #starMap .music-planet{width:9%;height:auto;aspect-ratio:1;min-width:44px;max-width:85px;display:grid;place-items:center}
.artist-portfolio .reference-home #starMap .planet-visual{width:85%;aspect-ratio:1;position:relative;border-radius:50%;background:radial-gradient(circle at 28% 22%,#ffe0b85c,transparent 40%),radial-gradient(circle at 32% 30%,transparent 40%,#0c0b2399 95%),url('visuals/home-moon-portrait.jpg') 45% 10%/420%;box-shadow:inset -3px -4px 7px #22172488,inset 1px 1px 2px #fff8,0 10px 8px -6px #423b344a;filter:hue-rotate(var(--tint)) saturate(.85);transition:transform .35s,filter .35s,box-shadow .35s}
.artist-portfolio .reference-home #starMap .music-planet:nth-of-type(3n+1) .planet-visual{background-position:0 0,0 0,55% 15%;filter:hue-rotate(180deg) saturate(.75)}
.artist-portfolio .reference-home #starMap .music-planet:nth-of-type(3n+2) .planet-visual{background-position:0 0,0 0,30% 35%;filter:hue-rotate(310deg) saturate(.9)}
.artist-portfolio .reference-home #starMap .planet-visual img{visibility:hidden}
.artist-portfolio .reference-home #starMap .music-planet.is-lit .planet-visual,.artist-portfolio .reference-home #starMap .music-planet.is-playing .planet-visual{transform:scale(1.28);filter:hue-rotate(var(--tint)) saturate(1.8);box-shadow:inset -3px -4px 8px #22172488,0 0 15px #d7556b88,0 0 26px #eebd6470}
.artist-portfolio .reference-home #starMap .planet-caption{width:110px;max-width:19vw;gap:0}
.artist-portfolio .reference-home #starMap .planet-caption i{display:none}
.artist-portfolio .reference-home #starMap .planet-caption strong{font:400 clamp(10px,1.2vw,16px)/1.5 var(--serif);letter-spacing:.03em}
.artist-portfolio .reference-home #starMap .cosmos-center.center-story{top:47%;width:38%;height:29%;font-size:clamp(12px,1.6vw,22px);line-height:1.7;letter-spacing:.1em;mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent)}
.reference-home .reference-opening:after{content:'';display:block;margin:15px auto 22px;width:15px;height:1px;background:var(--red)}
.star-explorer .reference-opening{display:none}
.home-colophon{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px auto 46px;max-width:1100px;padding:0 0 16px}
.home-colophon strong{font:22px/1.4 var(--serif);letter-spacing:.1em}
.home-colophon strong span{font-size:11px;letter-spacing:.08em;margin-left:12px}
.home-colophon small{display:block;font:8px/2 var(--serif);letter-spacing:.16em;margin-top:6px}
.home-scroll-label{font:10px/1 var(--serif);letter-spacing:.14em;border-left:1px solid var(--line);padding:12px 0 12px 28px}
@media(max-width:760px){
 .artist-portfolio .reference-home:not(.star-explorer){padding:0 20px 20px}
 .artist-portfolio .reference-home .front-art.album-cover-hero{aspect-ratio:2/3;margin:0 -20px;width:calc(100% + 40px);overflow:hidden}
 .artist-portfolio .reference-home .album-cover-hero>.hero-portrait{inset:0;width:100%;height:100%;object-fit:contain;object-position:right bottom}
 .artist-portfolio .reference-home .portfolio-wordmark{left:5%;top:4cqw;font-size:27.5cqw;line-height:.84;letter-spacing:-.055em;-webkit-text-stroke:.018em currentColor}
 .artist-portfolio .reference-home .portfolio-wordmark span{transform:scaleX(.77)}
 .artist-portfolio .reference-home .hero-album-title{left:5%;top:34%;width:46%;max-width:none}
 .artist-portfolio .reference-home .hero-statement{left:6%;top:47%;font-size:2.8cqw;line-height:1.9;letter-spacing:.12em}
 .artist-portfolio .reference-home .hero-album-caption{left:6%;top:61.5%;font-size:3cqw;letter-spacing:.03em}
 .artist-portfolio .reference-home .hero-album-caption:before{top:-15px;width:22px}
 .artist-portfolio .reference-home .portfolio-release-number{font-size:4.5cqw;margin-right:3px}
 .artist-portfolio .reference-home .album-cover-hero .hero-video-controls{inset:71% auto auto 6%;flex-direction:column;gap:6px}
 .artist-portfolio .reference-home .hero-video-controls .hero-signature{font-size:2cqw;line-height:1.8;letter-spacing:.12em}
 .artist-portfolio .reference-home .album-cover-hero .hero-video-controls #enterUniverse{font-size:3.1cqw;min-height:40px;padding:0;gap:12px}
 .reference-home #enterUniverse svg{width:21px}
 .artist-portfolio .reference-home #universe{margin-top:0;padding-top:0}
 .artist-portfolio .reference-home #universe .cosmos-tabs,.artist-portfolio .reference-home #universe .map-toolbar{padding:0}
 .artist-portfolio .reference-home #universe .map-actions{gap:12px}
 .artist-portfolio .reference-home #universe .map-actions button,.artist-portfolio .reference-home #universe .cosmos-tabs button{font-size:10px;min-height:40px}
 .artist-portfolio .reference-home #universe .constellation-hint{font-size:9px;padding:0 0 8px}
 .artist-portfolio .reference-home #starMap .planet-caption{width:70px;max-width:19vw}
 .artist-portfolio .reference-home #starMap .planet-caption strong{font-size:10px;line-height:1.35}
 .artist-portfolio .reference-home #starMap .cosmos-center.center-story{width:39%;height:30%;font-size:13px;letter-spacing:.06em;line-height:1.7}
 .reference-home .center-story-roll{padding-top:8px}
 .reference-home .reference-opening:after{margin:10px auto 20px}
 .home-colophon{margin:25px 0 35px;padding:0}
 .home-colophon strong{font-size:18px}.home-colophon strong span{font-size:9px;margin-left:8px}
 .home-colophon small{font-size:6px;letter-spacing:.12em}.home-scroll-label{font-size:8px;padding-left:18px}
}

@media(max-width:380px){.artist-portfolio .reference-home #starMap.star-map.celestial-map{aspect-ratio:1.2}.artist-portfolio .reference-home #starMap .planet-caption strong{font-size:9px}}

/* Full-color spherical artwork with pink/amethyst illumination */
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual{
 display:block;position:relative;width:85%;aspect-ratio:1;border-radius:50%;overflow:hidden;
 background:transparent;filter:none;transform:scale(1);animation:none;
 box-shadow:3px 7px 12px #27201638,inset -5px -7px 12px #23122d88;
 transition:transform .5s ease,box-shadow .5s ease
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual img{
 display:block;visibility:visible;width:100%;height:100%;aspect-ratio:1;object-fit:cover;
 object-position:var(--portrait-position,50% 50%);border-radius:50%;transform:none;
 filter:saturate(1.15) brightness(1);
 transition:filter .5s ease
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual:after{
 content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:1;
 background:radial-gradient(circle at 29% 22%,#ffffff66,transparent 24%,#160c2633 70%,#160c2688 100%);
 filter:none;box-shadow:inset 0 0 0 1px #ffffff55
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing){z-index:130!important}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual{
 transform:scale(1.45);filter:none;
 box-shadow:0 0 0 1px #f9d8ff,0 0 14px #ee81ecbb,0 0 29px #a85cf099;
 animation:portrait-planet-glow 2.8s ease-in-out infinite
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual img{
 transform:none;filter:sepia(1) saturate(2) hue-rotate(235deg) brightness(1.15)
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-caption strong{color:#91379b}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-playing-label{color:#91379b}
@keyframes portrait-planet-glow{
 0%,100%{box-shadow:0 0 0 1px #fff2ff,0 0 9px 2px #ffb8f5,0 0 23px 6px #e565eaaa,0 0 40px 10px #9754f06b}
 50%{box-shadow:0 0 0 2px #fff6ff,0 0 13px 4px #ffd0fc,0 0 31px 9px #ef6ef0cc,0 0 52px 14px #a16cff88}
}
@media(prefers-reduced-motion:reduce){
 body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual,
 body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual img{transition:none;animation:none!important}
}

body.artist-portfolio .front-page #starMap .photo-planet .sphere-ready img{opacity:0}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-visual.sphere-ready:after{background:none;box-shadow:none}
.planet-sphere{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:50%;pointer-events:none;transition:opacity .55s ease}
.planet-sphere.sphere-lit{opacity:0}
.photo-planet:is(.is-lit,.is-playing) .sphere-lit{opacity:1}
.photo-planet:is(.is-lit,.is-playing) .sphere-color{opacity:0}
@media(prefers-reduced-motion:reduce){.planet-sphere{transition:none}}

/* Luminous ring and individually timed glints stay within the selected planet */
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual{overflow:visible}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual:before{
 content:'';position:absolute;inset:-24%;border-radius:50%;z-index:-1;pointer-events:none;
 background:radial-gradient(circle,#f5a5ed99 12%,#be79ff66 36%,#df8bfc22 55%,transparent 72%)
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual.sphere-ready:after{
 content:'';position:absolute;inset:30% -24%;border:2px solid #ffc9fa;border-top-color:#d999f2aa;
 border-bottom:3px solid #fff0ff;border-radius:50%;background:none;z-index:3;transform:rotate(-28deg);
 box-shadow:0 0 4px #fff,0 0 9px #fa91e9,inset 0 -2px 5px #ffaff8;filter:none;pointer-events:none
}
.planet-sparkle{display:none;position:absolute;z-index:4;width:19%;height:19%;pointer-events:none;
 background:radial-gradient(circle,#fff 0 12%,#fff7fd 19%,#ffbcf0 30%,transparent 67%);
 filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #f994ed)
}
.planet-sparkle:before,.planet-sparkle:after{content:'';position:absolute;inset:0;
 background:linear-gradient(transparent,#fff 40% 60%,transparent);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)
}
.planet-sparkle:after{transform:rotate(45deg) scale(.62)}
.planet-sparkle.sparkle-0{left:16%;top:9%;animation-delay:-.4s}
.planet-sparkle.sparkle-1{right:-7%;top:51%;width:23%;height:23%;animation-delay:-1.5s}
.planet-sparkle.sparkle-2{left:22%;bottom:-4%;width:14%;height:14%;animation-delay:-2.4s}
.photo-planet:is(.is-lit,.is-playing) .planet-sparkle{display:block;animation-name:planet-jewel-twinkle;animation-duration:3.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes planet-jewel-twinkle{0%,100%{opacity:.45;transform:scale(.65) rotate(-8deg)}45%{opacity:1;transform:scale(1.2) rotate(8deg)}70%{opacity:.7;transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.photo-planet .planet-sparkle{animation:none!important;opacity:.9}}

/* Selected stars use the original crystalline ringed-planet artwork */
body.artist-portfolio .front-page #starMap .music-planet.photo-planet .planet-crystal{
 position:absolute;inset:-27%;z-index:2;pointer-events:none;opacity:0;
 background:url('cosmic/planet.png') center/contain no-repeat;
 filter:saturate(3.1) brightness(1.22) contrast(1.08) drop-shadow(0 0 4px #ffc1f8);
 transition:opacity .45s ease
}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-crystal{opacity:1}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual>img,
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-sphere{opacity:0}
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual:after,
body.artist-portfolio .front-page #starMap .music-planet.photo-planet:is(.is-lit,.is-playing) .planet-visual.sphere-ready:after{display:none}
@media(prefers-reduced-motion:reduce){.planet-crystal{transition:none!important}}

/* Fullscreen map: larger planets and a quieter, higher central title */
body.artist-portfolio .front-page.star-explorer #starMap .music-planet{
 width:clamp(82px,10vw,138px);height:auto;min-width:0;max-width:none;aspect-ratio:1;
 display:grid;place-items:center
}
body.artist-portfolio .front-page.star-explorer #starMap .orbit-title-art{
 width:30%;max-width:390px;top:34%;height:auto
}
@media(max-width:760px){
 body.artist-portfolio .front-page.star-explorer #starMap .music-planet{width:clamp(64px,17vw,86px)}
 body.artist-portfolio .front-page.star-explorer #starMap .orbit-title-art{width:32%;max-width:245px;top:34%}
 body.artist-portfolio .front-page.star-explorer #starMap .planet-caption{width:clamp(64px,18vw,82px);max-width:18vw}
}
