/* IMAGINARY PLAYGROUND / V52 — LE VISITEUR CLANDESTIN
   An artistic finishing pass on V51. The character appears only three times.
   No scroll-jacking, autoplay video, third-party animation or additional network requests. */

/* 00: The artwork takes a breath rather than oscillating like a UI illustration. */
.v52-home .v51-art-object { translate: 0 calc(var(--v52-exit, 0) * -45px); opacity:calc(1 - var(--v52-exit, 0) * .17); }
.v52-home .v51-art-object img { animation:v52-slow-breath 25s cubic-bezier(.5,.08,.5,.92) infinite alternate; }
@keyframes v52-slow-breath {
  0% { transform:translate3d(-4px,-9px,0) rotate(-1.4deg) scale(1); }
  49% { transform:translate3d(7px,2px,0) rotate(.5deg) scale(1.025); }
  100% { transform:translate3d(-1px,15px,0) rotate(1.4deg) scale(1.012); }
}
.v52-home .v51-art-orbit { animation:v52-orbit 56s ease-in-out infinite alternate; }
@keyframes v52-orbit {from{transform:rotate(-30deg) scaleY(.83)}to{transform:rotate(12deg) scaleY(.93)}}
.v52-home .v51-art-orbit:after{box-shadow:0 0 13px #e3ed6366}
/* The same hairline begins beneath the first work and ends in room 01. */
.v52-home .v51-threshold-bottom::after {content:"";position:absolute;bottom:-44px;right:clamp(30px,6vw,92px);width:1px;height:74px;background:linear-gradient(#e3ed6399,#e3ed6300);pointer-events:none}
.v52-home .v51-introduction{position:relative;}
.v52-home .v51-introduction::before{content:"";position:absolute;right:calc(max((100vw - 1560px)/2, 0px) + 9.25vw);top:0;height:130px;width:1px;background:linear-gradient(#e3ed6326,#e3ed6300);pointer-events:none}
/* A small, atypical folded-paper visitor: not an overlay or a clickable widget. */
.v52-visitor { position:absolute;z-index:4;display:flex;align-items:center;gap:14px;pointer-events:none; }
.v52-visitor img{display:block;width:58px;height:auto;filter:drop-shadow(0 8px 9px #0008);transform-origin:50% 70%;transition:transform .55s cubic-bezier(.14,.7,.18,1)}
.v52-visitor>span{font:600 8px/1.5 var(--v51-mono);letter-spacing:.19em;color:#97998f;text-transform:uppercase;white-space:nowrap}
.v52-visitor--intro{right:clamp(36px,8vw,145px);top:34%;flex-direction:column;align-items:center;gap:11px;transform:rotate(9deg)}
.v52-visitor--intro img{width:53px}
.v52-visitor--film{right:3%;bottom:9%;z-index:7;gap:12px;transform:rotate(-9deg)}
.v52-visitor--film img{width:46px}
.v52-visitor--finale{position:relative;flex-direction:column;gap:16px;margin-bottom:57px;transform:rotate(0deg)}
.v52-visitor--finale img{width:57px}
.v52-visitor--finale>span{color:#b3b6a2}
@media(hover:hover) and (pointer:fine){
 .v52-visitor--intro,.v52-visitor--film{pointer-events:auto}
 .v52-visitor--intro:hover img{transform:translate3d(-7px,-13px,0) rotate(-16deg)}
 .v52-visitor--film:hover img{transform:translate3d(4px,-12px,0) rotate(13deg)}
}
/* The visitor makes a single entrance per room and then remains still. */
.v52-motion-ready .v52-visitor{opacity:0}
.v52-motion-ready .v52-awake .v52-visitor--intro{animation:v52-peek 1.45s .34s cubic-bezier(.15,.8,.17,1) both}
.v52-motion-ready .v52-awake .v52-visitor--film{animation:v52-peek 1.45s .3s cubic-bezier(.15,.8,.17,1) both}
.v52-motion-ready .v52-awake .v52-visitor--finale{animation:v52-return 1.25s .32s cubic-bezier(.2,.7,.23,1) both}
@keyframes v52-peek{from{opacity:0;translate:0 22px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes v52-return{from{opacity:0;translate:0 26px;rotate:-9deg}to{opacity:1;translate:0 0;rotate:0deg}}
/* The film contains a restrained, fleeting afterimage, like a single onion-skin frame. */
.v52-home .v51-film-work{isolation:isolate}
.v52-home .v51-film-work::after{content:"";position:absolute;z-index:2;left:12%;bottom:18%;width:13%;height:1px;background:#e3ed637d;transform:rotate(-16deg);transform-origin:left;pointer-events:none}
/* A single short wave through the existing rhythm marks, never a looping audio visualizer. */
.v52-motion-ready .v52-awake .v51-beatline i{animation:v52-mark .85s both;animation-delay:calc(var(--v52-i,0) * 33ms)}
@keyframes v52-mark{0%{transform:scaleY(.18);opacity:.08}60%{transform:scaleY(1.45);opacity:1}100%{transform:scaleY(1);opacity:1}}
/* Mobile: the visitor lives in available margins and never covers body copy. */
@media(max-width:760px){
 .v52-home .v51-threshold-bottom::after{right:21px;height:50px;bottom:-25px}
 .v52-home .v51-introduction::before{right:21px;height:100px}
 .v52-visitor--intro{right:10px;top:45%;transform:rotate(8deg)}
 .v52-visitor--intro img{width:37px}
 .v52-visitor--intro>span{font-size:7px;writing-mode:vertical-rl;letter-spacing:.12em}
 .v52-visitor--film{right:7px;bottom:4%;transform:rotate(-12deg)}
 .v52-visitor--film img{width:34px}
 .v52-visitor--film>span{font-size:7px;writing-mode:vertical-rl;letter-spacing:.09em}
 .v52-visitor--finale{margin-bottom:38px;gap:12px}
 .v52-visitor--finale img{width:51px}
}
@media(max-width:420px){
 .v52-visitor--intro{top:59%;right:2px}
 .v52-visitor--intro img{width:32px}
 .v52-visitor--intro>span{font-size:6px}
 .v52-visitor--film{bottom:1%;right:1px}
 .v52-visitor--film>span{font-size:6px}
}
/* Access and power preferences override all V52 movement. */
@media(prefers-reduced-motion:reduce){
 .v52-home .v51-art-object{translate:none;opacity:1}
 .v52-home .v51-art-object img,.v52-home .v51-art-orbit{animation:none!important}
 .v52-visitor{opacity:1!important;animation:none!important;translate:none!important;rotate:none!important;filter:none!important}
 .v52-visitor img{transition:none!important}
 .v52-home .v51-beatline i{animation:none!important}
}
/* Editorial fit corrections: the V51 condensed headings must never be cut off. */
@media(min-width:1081px){
 .v52-home .v51-clips h2{font-size:clamp(70px,7.3vw,132px)}
 .v52-home .v51-clips-work:after{background:linear-gradient(90deg,transparent 16%,#08090905 28%,#080909b2 57%,#080909f5 76%,#080909 100%)}
}
@media(min-width:761px) and (max-width:1080px){
 .v52-home .v51-clips-work:after{background:linear-gradient(90deg,transparent 15%,#08090922 34%,#080909ca 65%,#080909 100%)}
}
@media(max-width:760px){
 .v52-home .v51-projection h2{font-size:clamp(46px,14.8vw,102px)}
 .v52-home .v51-film h2{font-size:clamp(43px,13.2vw,88px)}
 .v52-home .v51-clips h2{font-size:clamp(44px,14.6vw,98px)}
}
/* Reframe the original, unmirrored music-video artwork to the left of its title. */
@media(min-width:761px){
 .v52-home .v51-clips-work{inset:0 43% 0 -46%}
 .v52-home .v51-clips-work:after{background:linear-gradient(90deg,transparent 0%,#08090906 58%,#08090980 78%,#080909 100%)}
}
