.mast{position:relative;isolation:isolate;overflow:hidden;height:clamp(610px,90svh,1050px);display:flex;align-items:center}.mastcopy{position:relative;z-index:2}.portrait{position:absolute;z-index:-1;inset:0 0 0 auto;width:64%;height:100%;overflow:hidden;mask-image:linear-gradient(#000 0 72%,transparent 100%)}.portrait img{position:absolute;width:175%;height:205%;max-width:none;left:-35%;top:-5%;object-fit:contain;object-position:center top}.aura{inset:18% -12% -8% 0;background:radial-gradient(ellipse at 46% 78%,#feb89390,transparent 36%),radial-gradient(ellipse at 74% 67%,#ad97f495,transparent 44%),radial-gradient(ellipse at 82% 49%,#86d9cb90,transparent 38%);filter:blur(18px)}.mastcopy h1{font-size:clamp(76px,9vw,180px)}.mastcopy .cta{margin-top:20px}
.giant{overflow:hidden;white-space:nowrap;line-height:1.03;padding:1vw 0;color:#63506f}.giant span{display:block;width:max-content;font:italic clamp(92px,14vw,245px)/1.03 Georgia;letter-spacing:-.08em;will-change:transform}
.salon,.mirror,.mirror[data-mood]{background:#fff;border:0}.mirror{height:clamp(530px,75vh,830px)}.avatar{inset:2% 24% 5% 4%}.avatar img{filter:none}.floor{bottom:calc(5% + 1.9%);width:17%;left:31.5%;height:1.7%;background:radial-gradient(ellipse,#352b3652,transparent 70%);filter:blur(2px)}.orbit{inset:0 2% 0 36%}.orbit button{width:44px;height:44px}.drawer #selection{border-left:3px solid var(--accent,#b58baf);padding-left:10px}.drawer{perspective:800px}.drawer #palette button{transition:transform .18s,box-shadow .18s}.drawer #palette button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #39254714}
.concert{overflow:hidden;padding:5vw 0;background:#fff}.concert h2{font:italic clamp(100px,16vw,245px)/.95 Georgia;letter-spacing:-.085em;margin:0 6vw;color:#332b39}.wheel{height:clamp(330px,43vw,620px);position:relative;perspective:1100px;touch-action:pan-y;isolation:isolate;cursor:grab;user-select:none}.wheel:active{cursor:grabbing}.wheel figure{position:absolute;top:7%;left:50%;margin:0;width:min(56vw,800px);height:85%;transform-style:preserve-3d;pointer-events:none}.wheel .venue{position:absolute;inset:13% 0 0;width:100%;height:78%;object-fit:cover;border-radius:14px}.wheel .solo{position:absolute;inset:0;width:100%;height:91%;object-fit:contain;transform:translateY(var(--float,0));filter:drop-shadow(4px 7px 5px #15111c36)}.transport{display:flex;justify-content:center;gap:1.2rem;align-items:center}.transport button{background:white;border:1px solid #dacfdc;border-radius:50%;width:46px;height:46px;font-size:26px}.artist-link{display:block;margin:5vw 6vw;font:italic clamp(44px,7vw,120px) Georgia;letter-spacing:-.07em}
@media(max-width:760px){.mast{height:84svh;min-height:600px;align-items:flex-end;padding-bottom:6vw}.portrait{height:70%;width:100%;top:0}.portrait img{width:162%;height:185%;left:-18%;top:-2%}.mastcopy h1{font-size:clamp(60px,15vw,95px)}.mastcopy .rainbow{font-size:38px}.mirror{height:470px}.orbit{inset:0 4% 0 37%}.orbit button{width:37px;height:37px}.wheel figure{width:72vw}.wheel{height:350px}.concert{padding:48px 0}}
.mast .portrait img{inset:2% 0 auto;width:100%;height:98%;object-fit:contain;object-position:center bottom;animation:portrait-float 6s ease-in-out infinite}
.mast .aura{inset:28% 4% 0;background:conic-gradient(from 200deg at 52% 65%,#ff9e7290,#ea80c580,#a08bf48a,#66d4d781,#ffcf7480,#ff9e7290);border-radius:50%;filter:blur(48px);opacity:.8;transform:scale(.8)}
@keyframes portrait-float{50%{transform:translateY(-9px)}}
.giant span{font-size:clamp(120px,18vw,320px);color:transparent;-webkit-text-stroke:1.5px #665173}
.concert h2{font-size:clamp(118px,20vw,320px);color:transparent;-webkit-text-stroke:1.6px #46344d}
.instrument{position:absolute;left:10%;bottom:6.5%;width:25%;height:65%;object-fit:contain;object-position:center bottom;filter:drop-shadow(2px 4px 3px #30213322)}
@media(max-width:760px){.mast .portrait{height:66%}.mast .portrait img{object-position:center top}.mast .aura{filter:blur(28px)}}
@media(prefers-reduced-motion:reduce){.mast .portrait img{animation:none}}
/* Keep the shoulders inside the frame while bringing the portrait forward. */
.mast .portrait img{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 8%;
}
@media(max-width:760px){
  .mast .portrait img{object-position:center 5%}
}
.mast .portrait img{
  width:145%;
  height:175%;
  max-width:none;
  left:-23%;
  top:-3%;
  object-fit:contain;
  object-position:center top;
}
@media(max-width:760px){
  .mast .portrait img{width:155%;height:180%;left:-25%;top:-2%;object-position:center top}
}
