/* TP29 immersive scene. Override TP27 layout only; retain commerce and site CSS. */
#artistProfile .tp27-world,#artistProfile .tp-ultra-world,#artistProfile .tp-holo{display:none!important}
#artistProfile .tp29-world{position:relative;isolation:isolate;overflow:hidden;width:100%;height:clamp(690px,74vw,850px);margin:24px auto 32px;border:1px solid #b68a4b;border-radius:18px;background:#080709;box-shadow:0 30px 95px #000b,0 0 35px #aa68252e}
.tp29-world canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:pan-y;display:block}
.tp29-backdrop{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#0005,#0009),url('tp27-ultra-design-reference.webp') center center/cover no-repeat;filter:saturate(.7) brightness(.55)}
.tp29-shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#040405ad,transparent 25%,transparent 75%,#040405ad),linear-gradient(180deg,#040405b8,transparent 20%,transparent 73%,#050506df)}
.tp29-head{position:absolute;z-index:6;top:18px;left:22px;right:22px;display:flex;justify-content:space-between;gap:10px;font:10px/1.5 monospace;letter-spacing:.17em;color:#e7bf78;text-shadow:0 2px 8px #000}
.tp29-artist-heading{position:absolute;z-index:5;top:9%;left:50%;transform:translateX(-50%);text-align:center;color:#ffe6b6;text-shadow:0 4px 20px #000,0 0 22px #9b5c27;pointer-events:none;white-space:nowrap}.tp29-artist-heading strong{display:block;font-size:clamp(25px,3.8vw,52px);letter-spacing:.14em}.tp29-artist-heading small{display:block;margin-top:9px;letter-spacing:.3em;font-size:10px;color:#e7c48c}
.tp29-navigation{position:absolute;inset:0;z-index:7;pointer-events:none}
.tp29-card{position:absolute;width:clamp(126px,19%,216px);min-height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:12px;border:1px solid #e3b978ad;border-radius:12px;background:linear-gradient(145deg,#f9ebd824,#090a12a8 70%)!important;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);box-shadow:inset 0 0 20px #ffe6b61a,0 10px 30px #000b;color:#f6ddb0!important;text-decoration:none!important;pointer-events:auto;transform:translate(-50%,-50%) perspective(650px) rotateY(var(--rotate));transition:transform .28s,box-shadow .28s,border-color .28s}
.tp29-card svg{width:29px;height:29px;fill:none;stroke:#f4c36d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tp29-card strong{font-size:13px;letter-spacing:.17em}.tp29-card small{font-size:9px;letter-spacing:.15em;color:#e2d2b5}
.tp29-card:hover,.tp29-card:focus-visible,.tp29-card[aria-current=page]{border-color:#ffdd99;box-shadow:0 0 28px #d4a45b78,0 15px 32px #000a;transform:translate(-50%,-54%) scale(1.05);outline:none}
.tp29-bio{left:15%;top:35%;--rotate:13deg}.tp29-merch{left:15%;top:53%;--rotate:13deg}.tp29-socials{left:15%;top:71%;--rotate:13deg}.tp29-music{left:85%;top:35%;--rotate:-13deg}.tp29-videos{left:85%;top:53%;--rotate:-13deg}.tp29-booking{left:85%;top:71%;--rotate:-13deg}
.tp29-controls{position:absolute;z-index:8;bottom:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#e4bd7c;font:10px monospace;letter-spacing:.14em}.tp29-controls>div{display:flex;gap:8px}.tp29-controls button{border:1px solid #c79a5e;border-radius:8px;padding:9px 12px;background:#08090cbd;color:#f1cc89;cursor:pointer}.tp29-controls button:hover{background:#5c4028}
.tp29-status{position:absolute;z-index:4;top:50%;width:100%;text-align:center;color:#e6c184;font:12px monospace}
#artistProfile.tp29-active .tp21-left{display:none!important}#artistProfile.tp29-active .tp21-showcase{display:block!important}#artistProfile.tp29-active .tp21-panel{max-width:100%;width:100%;margin:0!important}
#artistProfile .tp27-content-drawer{background:linear-gradient(120deg,#1d1a1bc7,#070708c7)!important;border:1px solid #b28b51!important;backdrop-filter:blur(15px);border-radius:14px;padding:16px}
@media(max-width:700px){#artistProfile .tp29-world{height:760px!important;min-height:0!important;margin:12px 0 22px;border-radius:15px}.tp29-head{left:10px;right:10px;top:12px;font-size:7px;letter-spacing:.08em}.tp29-head span:last-child{text-align:right}.tp29-artist-heading{top:11%;width:90%;white-space:normal}.tp29-artist-heading strong{font-size:25px}.tp29-artist-heading small{font-size:8px;letter-spacing:.18em}.tp29-card{width:31%;min-height:95px;padding:6px 4px;gap:5px;border-radius:10px}.tp29-card svg{width:23px;height:23px}.tp29-card strong{font-size:10px}.tp29-card small{font-size:8px;letter-spacing:.07em}.tp29-bio,.tp29-merch,.tp29-socials{left:17%}.tp29-music,.tp29-videos,.tp29-booking{left:83%}.tp29-bio,.tp29-music{top:39%}.tp29-merch,.tp29-videos{top:56%}.tp29-socials,.tp29-booking{top:73%}.tp29-controls>span{display:none}.tp29-controls{justify-content:center;bottom:13px}.tp29-backdrop{background-position:center;background-size:auto 100%}}
@media(max-width:390px){.tp29-card{width:32%;min-height:85px}.tp29-card strong{font-size:9px}.tp29-artist-heading{top:12%}}
@media(prefers-reduced-motion:reduce){.tp29-card{transition:none}}
