:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#040707;color:#f8f8f4}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid #ffdf7e;outline-offset:5px}#journey{height:360svh}#stage{position:sticky;top:0;height:100svh;overflow:hidden;touch-action:pan-y;background:#05080b}.scene{position:absolute;inset:0;will-change:opacity,transform}.scene img,.scene video{height:100%;width:100%;object-fit:cover;display:block}.scene-two,.scene-three{opacity:0}.scene-two img{object-position:50% 40%}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#0008,transparent 24%,transparent 50%,#000c 97%);pointer-events:none}header{position:absolute;top:32px;left:4.8%;right:4.8%;display:flex;align-items:center;justify-content:space-between;z-index:5}.brand{font-weight:800;letter-spacing:-1px;font-size:22px}.brand span{color:#f3d475;padding-left:3px}nav{display:flex;background:#0004;align-items:center}nav button{padding:21px 23px;border:0;background:transparent;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}nav button.active{color:#ffdf7e}nav button:hover{background:#ffffff18}nav #about{background:#f5f5ee;color:#17191a;letter-spacing:.5px}.copy{position:absolute;left:4.8%;bottom:12%;pointer-events:none;will-change:opacity,transform}h1,h2,p{margin:0}h1,h2{font-weight:300;letter-spacing:-.08em;line-height:.86;font-size:clamp(70px,8.6vw,152px)}.eyebrow{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:22px;color:#d3d8da}#copy1,#copy2{opacity:0}#description{position:absolute;right:5%;top:50%;width:24%;max-width:330px;font-size:clamp(13px,1.2vw,19px);line-height:1.28;text-align:right;color:#eaebedc4}footer{position:absolute;bottom:4%;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between}#hint{font-size:11px;color:#d7dce0;letter-spacing:1px}#next{background:#ffffff0b;border:1px solid #ffffff26;padding:20px 25px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;display:flex;gap:45px;align-items:center}#next:hover{background:#ffffff20}#next span{font-size:18px}#track{position:absolute;right:0;top:0;height:100%;width:4px;background:#ffffff0b}#track i{display:block;position:absolute;top:0;width:100%;height:100%;background:#ed1972;transform-origin:top;transform:scaleY(.01)}#loading{position:absolute;left:50%;top:15%;transform:translateX(-50%);font-size:12px;background:#0009;padding:10px 16px;border-radius:20px}#ending{min-height:88svh;padding:10vw 5%;background:#050607}#ending>span{font-size:12px;color:#a7b0b5}#ending h2{font-size:clamp(60px,7vw,120px);margin:55px 0 30px}#ending p{color:#afb7bc;font-size:14px;line-height:1.8}#restart{margin:28px 0 50px;padding:16px 24px;border:1px solid #59626a;background:transparent}.credit{font-size:11px!important}dialog{max-width:570px;width:calc(100% - 32px);background:#111823;border:1px solid #52637d;color:white;padding:48px}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font-size:52px;letter-spacing:-3px;line-height:1.1;margin:25px 0}dialog p{font-size:14px;line-height:1.8;color:#bec9d5;margin-bottom:22px}dialog a{font-size:13px;text-decoration:underline}#close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px}@media(max-width:600px){header{top:23px;left:6%;right:6%}.brand{font-size:18px}nav button{display:none}nav #about{display:block;font-size:9px;padding:14px 12px}.scene video,.scene img{object-fit:cover;object-position:53% 40%}.scene-one{inset:8% -47% 19%}.scene-two,.scene-three{inset:10% -36% 25%}.shade{background:linear-gradient(180deg,#020817 0%,transparent 22%,transparent 43%,#020708 78%)}.copy{left:6%;bottom:16%}h1,h2{font-size:72px}.eyebrow{font-size:8px;margin-bottom:15px}#description{right:6%;top:auto;bottom:37%;width:49%;font-size:11px;line-height:1.4}footer{left:6%;right:6%;bottom:5%;align-items:flex-end}#hint{font-size:9px;max-width:100px;line-height:1.6}#next{padding:14px 12px;font-size:8px;gap:15px}#ending{padding:90px 6%}#ending h2{font-size:57px}dialog{padding:34px 25px}dialog h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:600px){#copy1 h2{font-size:clamp(48px,15vw,64px)}.scene-two{inset:12% -20% 30%}.scene-two img{object-position:61% 40%}}
/* v3: crisp reconstructed stage, retain only reference head motion */
.scene-one .hero-clean{position:absolute;inset:0}.scene-one #look{position:absolute;inset:0;mask-image:radial-gradient(ellipse 7.5% 16% at 53.5% 26%,#000 85%,transparent 100%)}
@media(min-width:601px){.scene-one .hero-clean,.scene-one #look{object-fit:fill}}
/* V4: the plate has no head. Canvas is the only head in the scene. */
#paperHead{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene-one .hero-clean{object-fit:fill!important}

/* V5 only the photographic head region is redrawn, preserving full display resolution. */
#paperHead{inset:auto;left:44.37799%;top:6.58873%;width:17.76316%;height:36.87566%}

/* V6 sixteen square photographic angle cells. */
#paperHead{left:43.18%;top:9.35175%;width:19.13876%;height:34.00638%}

#floatScene{display:block;width:100%;height:100%;background:#030710}

#floatScene{background-image:url(assets/float-clean-v7.png);background-size:cover;background-position:center}

#closingScene{display:block;width:100%;height:100%;background:#062965 url(assets/closing-clean-v8.png) center/cover}.closing-light{position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,#f6c775 76%,transparent);opacity:.025;pointer-events:none;animation:closing-light 9s ease-in-out infinite alternate}@keyframes closing-light{to{opacity:.055}}@media(prefers-reduced-motion:reduce){.closing-light{animation:none}}@media(max-width:600px){.scene-three{inset:8% -8% 24%}#copy2 h2{font-size:clamp(58px,17vw,76px)}}

/* Extra scroll room for close, reach, remove and hold. */
#journey{height:500svh}#closingScene{background-image:url(assets/closing-open-v9.png)}
