/* Project labels reuse the TUYO editorial vocabulary. The outer layers retain
   their existing depths; tap animations only affect their child artwork. */
.project-logo{padding:0;text-align:center;overflow:visible;pointer-events:auto}
.project-logo>.project-art{display:block;width:100%;height:auto;object-fit:contain}
.project-info{display:block;text-align:center;margin-top:16px;line-height:1.6;text-shadow:0 1px 5px #000,0 0 12px #000}
.project-info .editorial-kicker{font-size:clamp(12px,1.65vh,18px);letter-spacing:.23em;margin:0 0 7px;text-indent:0}
.project-name{display:block;font-family:Georgia,serif;font-size:clamp(19px,3.1vh,32px);font-weight:400;letter-spacing:.025em;color:#eee9e2;text-shadow:0 0 12px #ffffff40}
.project-info .editorial-credit{font-size:10px;letter-spacing:.17em;line-height:1.8;margin-top:8px;text-wrap:balance;color:#c2bcb7}
.project-logo .art-cue,.love-title .art-cue{position:static;font-size:9px;letter-spacing:.2em;white-space:normal;margin-top:12px}
.tidal-lockup{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap}
.tidal-lockup{font-weight:700;letter-spacing:.22em}
.nba-logo.project-logo{width:min(50vw,82vh);left:50%;top:48%;translate:-50% -50%;z-index:20}
.nba-logo .project-name{font-size:clamp(25px,4.4vh,48px)}
.nba-logo>.project-art{filter:drop-shadow(0 0 14px #d9ecff50) drop-shadow(0 0 38px #d9ecff35)!important}
.wine-logo.project-logo{width:min(50vw,82vh);left:calc(var(--wine-origin) + var(--wine-space)*.58);top:52vh;translate:-50% -50%;z-index:10}
.wine-logo>.project-art{filter:brightness(2.1) saturate(.9) drop-shadow(0 0 14px #ae35e6b0) drop-shadow(0 0 35px #9819d185)!important}
.wine-logo .project-name{font-size:clamp(24px,4vh,42px)}
.tennis-wilson.project-logo{width:min(50vw,82vh);left:calc(var(--tennis-origin) + var(--tennis-width)*.50);top:50vh;translate:-50% -50%;z-index:12}
.tennis-wilson>.project-art{filter:brightness(0) saturate(100%) invert(16%) sepia(100%) saturate(6812%) hue-rotate(350deg) brightness(88%) contrast(115%) drop-shadow(0 0 14px #da0001b0) drop-shadow(0 0 35px #da000185)!important}
.adidas-brands.project-logo{display:block;filter:none}
.brand-row{display:flex;align-items:center;gap:5%;filter:drop-shadow(0 0 16px #da000180) drop-shadow(0 0 40px #da000160)}
.adidas-brands .brand-row>span{font:32px Arial;color:#da0001}
.getyou-logo.project-logo{width:calc(var(--art-width)*.29);left:calc(var(--art-origin) + var(--art-width)*.43);top:23vh;z-index:0}
.getyou-logo>.project-art{filter:grayscale(1) brightness(2.25) drop-shadow(0 0 12px #ffffff55) drop-shadow(0 0 28px #ffffff22)!important}
.getyou-logo .project-info{position:absolute;bottom:100%;width:100%;margin:0 0 18px}.getyou-logo .editorial-credit{max-width:32em;margin-inline:auto}
.getyou-story.is-revealing .getyou-curtain-left>img{animation:curtain-left-reveal 2.2s ease-in-out}
.getyou-story.is-revealing .getyou-curtain-right>img{animation:curtain-right-reveal 2.2s ease-in-out}
.vote-mark .project-info{margin:0 0 14px}.vote-mark .project-name{font-size:18px}.vote-mark .editorial-credit{font-size:9px}
.love-title .project-info{margin-top:14px}.love-title .project-name{font-size:20px}
.gleague-logo .project-info{margin-top:14px}.gleague-logo .project-name{font-size:clamp(22px,4vh,42px)}
.cube-title{left:18vw;top:24vh;width:52vw;z-index:5}.cube-title strong{font-size:clamp(62px,11vh,124px)}
.street-title{width:calc(var(--collage-width)*.36);z-index:10!important}
.street-title strong{font-size:clamp(46px,7.8vh,92px)}
.gotti-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.05);top:24vh}
.jfg-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.92);top:20vh}
.street-title .editorial-credit{font-size:10px;line-height:1.8}.street-title .editorial-kicker{font-size:16px;letter-spacing:.23em}
.project-response{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:-1}
.project-logo.is-project-active>.project-art,.project-logo.is-project-active>.brand-row{animation:project-shine 1.8s ease-in-out}
.project-logo.art-selected .project-name,.project-logo.art-selected .editorial-credit{color:white;text-shadow:0 0 16px #da000180}
.nba-logo.is-project-active .project-response{animation:arena-response 1.8s ease-out;background:radial-gradient(ellipse,#ffffff25,transparent 65%);scale:1.4}
.wine-logo.is-project-active .project-response{animation:wine-response 1.8s ease-out;background:radial-gradient(circle at 25% 85%,#bc82dc 0 3px,transparent 4px),radial-gradient(circle at 75% 90%,#fff 0 2px,transparent 3px),radial-gradient(circle at 60% 80%,#bc82dc 0 3px,transparent 4px)}
.tennis-wilson.is-project-active .project-response{inset:auto 0 -12px;height:2px;background:#da0001;transform-origin:left;animation:match-response 1.8s ease-out}
.adidas-brands.is-project-active .project-response{background:linear-gradient(110deg,transparent 42%,#ffffff55 50%,transparent 58%);animation:adidas-response 1.8s ease-in-out}
@keyframes project-shine{0%,100%{opacity:1}35%{opacity:.65}55%{opacity:1}}
@keyframes arena-response{0%,100%{opacity:0}30%{opacity:1}70%{opacity:.3}}
@keyframes wine-response{0%{opacity:0;transform:translateY(12px)}30%{opacity:1}100%{opacity:0;transform:translateY(-65px)}}
@keyframes match-response{0%{opacity:0;scale:0 1}25%{opacity:1}70%{scale:1 1}100%{opacity:0}}
@keyframes adidas-response{0%{opacity:0;transform:translateX(-35%)}35%{opacity:.65}100%{opacity:0;transform:translateX(35%)}}
@keyframes curtain-left-reveal{0%,100%{transform:translateX(0)}45%{transform:translateX(-8%)}}
@keyframes curtain-right-reveal{0%,100%{transform:translateX(0)}45%{transform:translateX(8%)}}
@media(max-aspect-ratio:1/1){
 .nba-logo.project-logo{width:94vw;left:50vw;top:44vh}
 .wine-logo.project-logo{width:94vw;left:calc(var(--wine-origin) + var(--wine-space)*.82)}
 .tennis-wilson.project-logo{width:94vw;left:50vw;top:50vh}
 .project-info .editorial-credit{font-size:10px;letter-spacing:.12em}.project-info .editorial-kicker{font-size:13px}
 .cube-title{width:84vw;left:42vw;top:24vh}.cube-title strong{font-size:clamp(38px,7vh,66px)}
 .tour-title{width:90vw;left:45vw}.tour-title strong{font-size:clamp(30px,4.8vh,44px)}
 .gotti-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.20);top:23vh}
 .jfg-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.85);top:22vh}
 .street-title{width:90vw}.street-title strong{font-size:clamp(32px,5.1vh,48px)}
 .vote-mark .project-info{width:80vw;position:relative;left:50%;translate:-50% 0}
 .getyou-logo .editorial-kicker{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.is-project-active>.project-art,.is-project-active>.brand-row,.is-project-active .project-response,.getyou-story.is-revealing .getyou-curtain-left>img,.getyou-story.is-revealing .getyou-curtain-right>img{animation:none!important}}

/* Foreground captions, scene-specific gestures and source-aligned lighting. */
.scene .editorial-title,.scene .project-logo,.scene .vote-mark,.scene .love-title,.scene .gleague-logo,.scene .rock-logo,.scene .rhythm-logo,.scene .axel-logo,.scene .jamie-logo,.scene .narcos-title{z-index:130!important}
.logo-kicker{display:block;margin-bottom:18px}.logo-kicker .editorial-kicker{font-size:clamp(12px,1.7vh,18px);letter-spacing:.23em;color:#d41f24}
.project-info .editorial-credit{font-size:clamp(11px,1.45vh,15px);color:#e0dad5}
.nba-logo .project-response,.tennis-wilson .project-response,.adidas-brands .project-response{display:none}
.basketball-scene.lights-off .arena-light,.basketball-scene.lights-off .stadium-tower::after{opacity:0!important}
.basketball-scene.lights-off .stadium-tower>img{filter:grayscale(1) brightness(.08)!important}
.arena-light,.stadium-tower::after{transition:opacity .45s}
.plane.is-taking-off{animation:plane-takeoff 4.5s ease-in-out both}
@keyframes plane-takeoff{0%{translate:0 0;rotate:0;opacity:1}65%{translate:-110vw -55vh;rotate:12deg;opacity:1}72%{translate:-125vw -70vh;opacity:0}73%{translate:75vw 12vh;opacity:0}100%{translate:0 0;rotate:0;opacity:1}}
.gotti-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.22)}
.street-lit .street-city-art{filter:brightness(1.27) drop-shadow(0 0 4px #f2d56a33);animation:street-relight 2.8s ease-out}

@keyframes street-relight{0%{filter:brightness(1)}20%{filter:brightness(2.2) drop-shadow(0 0 12px #f2d56a)}100%{filter:brightness(1.27) drop-shadow(0 0 4px #f2d56a33)}}
.street-sneakers.is-kicking>img{animation:nb-kick 2s ease-in-out}
@keyframes nb-kick{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-13vh) rotate(-18deg)}65%{transform:translateY(-3vh) rotate(8deg)}}
.wine-logo .project-response,.wine-logo.is-project-active .project-response{inset:-20% -8%;z-index:1;background:radial-gradient(circle at 12% 88%,#d8b8ee 0 4px,transparent 5px),radial-gradient(circle at 24% 80%,#fff 0 2px,transparent 3px),radial-gradient(circle at 38% 96%,#c394dd 0 5px,transparent 6px),radial-gradient(circle at 49% 84%,#fff 0 3px,transparent 4px),radial-gradient(circle at 63% 90%,#c394dd 0 5px,transparent 6px),radial-gradient(circle at 76% 76%,#fff 0 3px,transparent 4px),radial-gradient(circle at 88% 94%,#c394dd 0 4px,transparent 5px),radial-gradient(circle at 18% 65%,#fff 0 2px,transparent 3px),radial-gradient(circle at 58% 64%,#c394dd 0 3px,transparent 4px),radial-gradient(circle at 82% 66%,#fff 0 2px,transparent 3px)}
.wine-logo.is-project-active .project-response{animation:wine-response 2.7s ease-out}
@keyframes wine-response{0%{opacity:0;transform:translateY(20px)}20%{opacity:1}100%{opacity:0;transform:translateY(-180px)}}
.tennis-wilson.project-logo{top:32vh}.tennis-wilson .project-info{margin-top:20px}
.vote-mark{top:42vh!important}
.adidas-brands .project-info{margin-top:20px}.adidas-brands .editorial-kicker{font-size:14px}.adidas-brands .editorial-credit{max-width:32em;margin-inline:auto}
.adidas-brands .brand-row{gap:8%}.adidas-brands .brand-row>span{font:italic 26px Georgia}
.train-arriving .chicago-cta{animation:chicago-arrival 3s ease-in-out}
@keyframes chicago-arrival{0%,100%{translate:0 0}45%{translate:9vw 0;filter:brightness(1.3)}65%{translate:9vw 0}}
.getyou-logo.project-logo{z-index:119!important}.getyou-curtain{z-index:120;width:45.223vh;pointer-events:none}
.getyou-portraits{z-index:125!important;pointer-events:none}.getyou-logo>.project-art{transition:opacity .8s}

.getyou-curtain-left{left:calc(var(--art-origin) + var(--art-width)*.575 - 45.223vh)!important}
.getyou-curtain-right{left:calc(var(--art-origin) + var(--art-width)*.575)!important}
.getyou-curtain img{transition:translate 1.5s cubic-bezier(.25,.1,.25,1);translate:0 0;animation:none!important}
.getyou-curtain-right img{transform:scaleX(-1)!important}
.curtains-open .getyou-curtain-left img{translate:-35vh 0}.curtains-open .getyou-curtain-right img{translate:35vh 0}
.getyou-caption{left:calc(var(--art-origin) + var(--art-width)*.43);top:8vh;width:calc(var(--art-width)*.29);z-index:130;pointer-events:none}
.getyou-caption .curtain-control{pointer-events:auto;margin-top:15px;font-size:10px;letter-spacing:.17em;color:#ddd}
.getyou-logo .art-cue{position:absolute;top:-6vh;width:100%;color:#ddd}
.getyou-logo .art-cue{display:none}
.love-title{top:12vh!important}.love-title .project-info{margin:0 0 20px}.love-title .project-name{display:none}
.gleague-logo .project-info{display:none}.gleague-hoop{left:calc(var(--g-origin) + var(--g-width)*.79);pointer-events:none}
.gleague-lamp-glow{filter:blur(2px);background:#ffe7b388;box-shadow:0 0 12px 5px #ffd18c44}
.gleague-lamp-glow::after{clip-path:none;background:radial-gradient(ellipse at 50% 0,#f2c66925,transparent 70%);width:38vh;left:50%;translate:-50% 0;filter:blur(16px)}
.jeen-projection canvas{left:6.54vh;top:9vh;pointer-events:none}
.projector-beam{left:19.04vh;top:4.9vh;width:23vh;height:34vh;translate:-50% 0;transform-origin:50% 0;opacity:.35;background:radial-gradient(ellipse at 50% 0,#ececd9aa,transparent 76%);clip-path:none;filter:blur(6px)}
.jeen-projection::after{content:'';position:absolute;left:19.04vh;top:4.9vh;width:2.5vh;height:2.5vh;translate:-50% -50%;border-radius:50%;background:#ffffff70;box-shadow:0 0 14px #fff9;pointer-events:none}
.projection-off .jeen-projection::after{opacity:0}
.fresnel-glow{left:24%;top:42%;width:19%;height:25%;background:#fff2ce88;box-shadow:0 0 16px 6px #ffe8b788,0 0 40px 12px #fff1bd38}
.jeen-lantern-right .fresnel-glow{left:57%;top:42%}
.floor-light-glow{left:18%;top:3%;width:32%;height:10%;rotate:-34deg;background:#ffe8c0a0;box-shadow:0 0 16px 7px #ffe7ac99,0 0 40px 16px #e7c26d40}
.rhythm-camera{width:48vh;bottom:-32vh}.camera-netflix{position:absolute;left:14%;top:13%;width:35%;color:#db1628;font:bold 1.9vh Arial;letter-spacing:.08em;transform:matrix(1,.065,-.06,1,0,0);text-shadow:0 1px 3px #000;pointer-events:none}
.camera-tally{left:54%;top:12%;width:7px;height:7px;opacity:.25;animation:none}
.camera-monitor{position:absolute;left:54%;top:2%;width:27%;height:6%;font:9px Arial;color:#fa3948;border:1px solid #e34b3b44;padding:3px;opacity:0;transition:opacity .3s}
.camera-recording .camera-tally{opacity:1;box-shadow:0 0 14px #ff283a}
.camera-recording .camera-monitor{opacity:1}.camera-recording .rhythm-record{box-shadow:0 0 20px #ffffff24}
.rhythm-logo .new-credit{position:absolute;bottom:100%;width:100%;margin:0 0 14px;color:#d41f24;font-size:13px;text-shadow:0 1px 5px #000}
.rhythm-logo .art-cue{position:absolute;bottom:calc(100% + 40px);width:100%;margin:0;color:#ddd;font-size:11px;text-shadow:0 1px 5px #000}
.scene .editorial-title .editorial-credit{font-size:clamp(11px,1.4vh,15px);text-shadow:0 1px 5px #000,0 0 12px #000}
@media(max-aspect-ratio:1/1){.gotti-year.street-title{left:calc(var(--collage-origin) + var(--collage-width)*.31)}.tennis-wilson.project-logo{top:32vh}.getyou-caption{width:90vw;left:calc(var(--art-origin) + var(--art-width)*.575);translate:-50% 0}.rhythm-camera{width:45vh;bottom:-30vh}}
@media(prefers-reduced-motion:reduce){.plane.is-taking-off,.street-lit .street-nb,.street-lit .street-crossing img,.street-sneakers.is-kicking>img,.train-arriving .chicago-cta{animation:none!important}.getyou-curtain img{transition:none}}

/* Scene polish: retain shared travel; local effects never move their parent layers. */
.nba-logo .logo-kicker{margin-bottom:0}.nba-logo .project-info{margin-top:0}.nba-logo .editorial-credit{margin-top:0}.nba-logo .art-cue{margin-top:7px}
.nba-logo>.project-art{margin-top:-3vh;margin-bottom:-3vh}
.wine-logo.project-logo{top:40vh}
.vote-mark{left:calc(var(--art-origin) + var(--art-width)*.5);top:calc(72vh - var(--art-width)*.1203)!important}
.adidas-brands .brand-row{gap:4%;align-items:center}.adidas-brands .highsnobiety-mark{width:76%}.adidas-brands .adidas-mark{width:16%}.adidas-brands .brand-row>span{font-size:22px}
.adidas-brands .project-info{margin-top:10px}.adidas-brands .editorial-kicker{display:block;margin-bottom:6px}.adidas-brands .editorial-credit{font-size:11px;letter-spacing:.1em}
.adidas-brands .brand-row{display:grid;grid-template-columns:1fr 4em 1fr;gap:0;justify-items:center}.adidas-brands .highsnobiety-mark{grid-column:1/4;width:100%;margin-bottom:8px;filter:brightness(0) invert(1)}.adidas-brands .brand-row>span{grid-column:2;font-size:20px}.adidas-brands .adidas-mark{grid-column:2;width:4em;margin-top:4px}.adidas-brands .project-info{margin-top:14px}
.chicago-flash::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#fff9,transparent 70%);animation:chicago-flash .85s ease-out;z-index:160}
@keyframes chicago-flash{0%{opacity:0}12%{opacity:.65}30%{opacity:.05}42%{opacity:.4}100%{opacity:0}}
.scene .getyou-logo.project-logo,.getyou-story .getyou-caption{z-index:119!important}
.getyou-story .getyou-phone{z-index:150!important}
.getyou-curtain-left img{translate:8vh 0}.getyou-curtain-right img{translate:-8vh 0}
.scene .love-title{z-index:0!important}
.tv-off .tv-noise{visibility:hidden}.vintage-tv::after{content:'';position:absolute;left:9%;top:10%;width:82%;height:67%;background:#090a0b;z-index:1;opacity:0;pointer-events:none;transition:opacity .25s}.tv-off .vintage-tv::after{opacity:1}
.gleague-lamp-glow{left:3%;top:1.5%;width:13%;height:4.8%;rotate:35deg;border-radius:50%;background:radial-gradient(ellipse,#fff6d488,#ffe4ad33 48%,transparent 75%);filter:blur(2px);box-shadow:0 0 12px 5px #ffd18c33}
.gleague-lamp-glow::after{rotate:-35deg;top:100%;height:65vh;background:radial-gradient(ellipse at 50% 0,#f2c66918,transparent 70%)}
.fresnel-glow{background:#fff6dfdd;opacity:1;box-shadow:0 0 12px 7px #ffe8b7bb,0 0 35px 16px #fff1bd70,0 0 65px 25px #fff1bd25}
.floor-light-glow{background:#fff4dfe0;box-shadow:0 0 15px 10px #ffe7acbb,0 0 45px 22px #e7c26d66}
.rock-theatre{width:min(var(--world-width),140vh);left:calc(50vw - min(var(--world-width),140vh)*.5);bottom:0}
.scene .rock-theatre>img{filter:grayscale(1) brightness(.45);transition:filter .45s}.rock-story.lights-cued .rock-theatre>img{filter:grayscale(1) brightness(.85)}
.rock-theatre .theatre-beam{top:13%;height:80%;opacity:0;clip-path:none;background:radial-gradient(ellipse at 50% 0,#fff6e740,transparent 75%);transition:opacity .45s}.rock-theatre .beam-one{left:-2.5%}.rock-theatre .beam-two{left:77.5%}
.rock-theatre>.rock-stage-mic{position:absolute;left:37%;bottom:16%;height:52%!important;width:auto!important;translate:-50% 0;z-index:2;pointer-events:none}
.scene .rock-theatre>.rock-stage-mic{filter:grayscale(1) contrast(1.08)}
.rock-theatre .theatre-beam{background:none;filter:blur(12px)}
.rock-theatre .theatre-beam::before{content:'';position:absolute;inset:0;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);background:linear-gradient(#fff6e7c0,#fff6e77a 28%,#fff6e742 60%,transparent)}
.camera-netflix{left:18%;top:12.5%;width:33%;font:italic 700 2.6vh Impact,'Arial Narrow',sans-serif;letter-spacing:.02em;transform:matrix(1.5,-.065,.035,1,0,0);transform-origin:left center;line-height:1}
@media(max-aspect-ratio:1/1){.wine-logo.project-logo{top:40vh}.camera-netflix{font-size:2.45vh}}
@media(prefers-reduced-motion:reduce){.chicago-flash::after{animation:none;display:none}}
