/* A continuous portrait-to-project scroll sequence. */
.mind-journey{position:relative;height:650svh;background:#050505}
.mind-stage.hero{position:sticky;top:0;height:100svh;min-height:620px;max-height:none;overflow:hidden;isolation:isolate;--mind-color:178,139,224}
.mind-topline{position:absolute;top:26px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px;color:#aaa9b4;z-index:10}
.mind-topline a{font-size:12px;letter-spacing:0;border-bottom:1px solid #47414e}
.mind-stage h1{top:65px;font-size:clamp(70px,11.8vw,180px);letter-spacing:-.075em;line-height:.94;text-align:center;opacity:var(--title-opacity,1);transform:translateY(var(--title-y,0px));white-space:nowrap;z-index:1;pointer-events:none}
.mind-stage h1 span{display:inline}.mind-stage h1 span:last-child{font-size:inherit}
.mind-scene{position:absolute;inset:0;perspective:1300px;pointer-events:none;z-index:2;transform-style:preserve-3d}
.mind-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 67% 52%,rgba(var(--mind-color),.14),transparent 54%);opacity:var(--scene-glow,.25);transition:background .6s}
.mind-scene .character-stage,.portrait-fragments{position:absolute;left:65%;top:50%;width:min(640px,56vw,78svh);height:min(640px,56vw,78svh);transform:translate(-50%,-50%);margin:0}
.mind-scene .character-stage{opacity:var(--head-opacity,1);z-index:3}
.mind-stage .character-float{animation:none}.mind-stage .character{mask-image:none}
.portrait-fragments{z-index:2;perspective:1000px;opacity:var(--fragment-opacity,0);transform-style:preserve-3d}
.face-fragment{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform;mix-blend-mode:screen}
.face-fragment img{width:100%;height:100%;object-fit:contain;transform:scale(.78);display:block}
.fragment-0{clip-path:polygon(0 0,50% 0,50% 48%,0 55%)}
.fragment-1{clip-path:polygon(50% 0,100% 0,100% 45%,50% 48%)}
.fragment-2{clip-path:polygon(0 55%,50% 48%,50% 100%,0 100%)}
.fragment-3{clip-path:polygon(50% 48%,100% 45%,100% 100%,50% 100%)}
.project-object{position:absolute;left:65%;top:49%;width:min(590px,50vw,70svh);height:min(590px,50vw,70svh);opacity:0;transform-style:preserve-3d;will-change:transform,opacity}
.project-object>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 20px 40px #0008)}
.object-word{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) translateZ(80px);font-size:clamp(40px,7vw,112px);line-height:1;font-weight:800;letter-spacing:-.06em;color:#f4edff;text-shadow:0 5px 30px #050505;white-space:nowrap}
.object-word>span{font-size:.22em;vertical-align:top;letter-spacing:0;margin-left:8px}
.object-systems .object-word{font-size:clamp(25px,4.5vw,70px)}
.object-tag{position:absolute;font-size:10px;letter-spacing:1.7px;color:#e5d9f4;background:#0c0819b8;border:1px solid #c9aaf337;backdrop-filter:blur(12px);padding:9px 12px;border-radius:3px;white-space:nowrap}
.tag-one{top:24%;left:0;transform:translateZ(100px) rotate(-6deg)}.tag-two{bottom:17%;right:-2%;transform:translateZ(130px) rotate(5deg)}
.mind-orbit{position:absolute;left:65%;top:50%;width:min(670px,57vw);height:min(450px,37vw);border:1px solid rgba(var(--mind-color),.27);border-radius:50%;opacity:var(--ring-opacity,0);transform:translate(-50%,-50%) rotateX(66deg) rotateZ(var(--orbit-turn,0deg));box-shadow:0 0 24px rgba(var(--mind-color),.07)}
.orbit-b{width:min(560px,47vw);height:min(590px,49vw);transform:translate(-50%,-50%) rotateY(67deg) rotateZ(calc(var(--orbit-turn,0deg) * -1))}
.mind-copy{position:absolute;left:5%;top:48%;width:31%;max-width:430px;z-index:5;transform:translateY(-35%)}
.mind-caption{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;will-change:transform,opacity}
.mind-caption:first-child{opacity:1;visibility:visible}.mind-caption.is-current{pointer-events:auto}
.mind-caption .eyebrow{display:block;font-size:10px;letter-spacing:1.8px;color:#cdb3eb;margin-bottom:20px}
.mind-caption h2{font-size:clamp(38px,4.7vw,74px);letter-spacing:-.055em;line-height:1.03;margin-bottom:24px}
.mind-caption p{color:#aaa7b2;font-size:15px;line-height:1.7;max-width:315px}
.chapter-detail{display:block;font-size:9px;letter-spacing:1.5px;line-height:1.8;color:#8e849a;margin-top:26px}
.mind-caption .text-link{display:inline-block;margin-top:23px}
.mind-bottom{position:absolute;left:5%;right:5%;bottom:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:8;color:#9f9aa9;font-size:10px;letter-spacing:1.4px}
.mind-bottom .motion-toggle{margin:0;font-size:11px;letter-spacing:0}.mind-bottom .location-label{font-size:10px}
.scroll-cue{display:flex;align-items:center;gap:12px;font-size:9px}.scroll-line{height:32px;width:1px;background:linear-gradient(transparent,#ccb4e9);transform:scaleY(var(--cue-scale,1));transform-origin:top}
.mind-nav{position:absolute;bottom:22px;left:5%;right:5%;display:flex;justify-content:space-between;gap:12px;z-index:10;border-top:1px solid #ffffff21;padding-top:15px}
.mind-nav button{background:none;border:0;color:#75717e;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.8px;padding:7px 0;transition:color .25s}
.mind-nav button[aria-current]{color:#f1ddff}.mind-progress{position:absolute;top:-1px;height:1px;background:#d5b3ff;left:0;width:calc(var(--mind-progress,0) * 100%);box-shadow:0 0 10px #b778ff}
.mind-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){
 .mind-journey{height:580svh}.mind-stage.hero{min-height:680px;height:100svh}
 .mind-topline{top:19px;left:6%;right:6%;font-size:8px;letter-spacing:1px}.mind-topline a{font-size:10px}
 .mind-stage h1{top:65px;font-size:12vw;line-height:1;white-space:nowrap}
 .mind-scene .character-stage,.portrait-fragments{left:50%;top:36%;width:min(450px,100vw);height:min(450px,100vw)}
 .project-object{left:50%;top:33%;width:min(370px,80vw);height:min(370px,80vw)}
 .mind-orbit{left:50%;top:33%;width:90vw;height:65vw}.orbit-b{width:65vw;height:80vw}
 .object-word{font-size:64px}.object-systems .object-word{font-size:37px}.object-tag{font-size:7px;letter-spacing:1px;padding:7px}.tag-one{left:5%}.tag-two{right:1%}
 .mind-copy{left:7%;top:61%;width:86%;max-width:none;transform:none}.mind-caption h2{font-size:37px;margin-bottom:12px}.mind-caption h2 br{display:none}.mind-caption .eyebrow{font-size:9px;margin-bottom:10px}.mind-caption p{font-size:13px;line-height:1.6;max-width:340px}.chapter-detail{font-size:8px;margin-top:12px}
 .mind-bottom{left:7%;right:7%;bottom:73px}.scroll-cue{display:none}.mind-bottom .location-label{font-size:9px}.mind-nav{left:7%;right:7%;bottom:16px;gap:8px;padding-top:10px}.mind-nav button{font-size:10px}.mind-caption .text-link{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.mind-journey{height:auto}.mind-stage.hero{height:auto;min-height:0;position:relative;padding:100px 6% 130px}.mind-stage h1{position:relative;top:0;font-size:12vw;margin:0 0 40px}.mind-scene{display:none}.mind-copy{position:relative;left:auto;top:auto;width:100%;max-width:800px;transform:none;margin:auto}.mind-caption{position:relative;opacity:1!important;visibility:visible!important;transform:none!important;margin:0 0 48px;pointer-events:auto}.mind-caption h2{font-size:40px}.mind-caption p{max-width:600px}.mind-bottom{bottom:70px}.mind-nav{display:none}.mind-caption .eyebrow{margin-bottom:15px}}
.no-mind-js .mind-journey{height:auto}
.mind-stage .character{mask-image:radial-gradient(ellipse 48% 48% at 50% 47%,black 65%,transparent 99%)}
.face-fragment img{mask-image:radial-gradient(ellipse 48% 48% at 50% 47%,black 65%,transparent 99%)}
.project-object{mix-blend-mode:screen}
.mind-copy{top:36%}
@media(max-width:760px){.mind-copy{top:60%}}
@media(prefers-reduced-motion:reduce){.mind-copy{top:auto}}
.project-object>img{mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,black 61%,transparent 100%)}
@media(max-width:760px){.mind-stage img.character{display:block!important}.mind-stage canvas.character{display:none}}
@media(max-width:760px){.mind-caption h2 br{display:block}}

/* Unbroken portrait with project objects emerging beside it. */
.mind-stage.hero{background:#0d0d12}
.mind-atmosphere{background:radial-gradient(ellipse at 65% 40%,rgba(var(--mind-color),.13),transparent 65%)}
.mind-scene{transform-style:flat}
.mind-scene .character-stage{left:calc(65% + var(--opening,0) * 17%);top:calc(50% + var(--opening,0) * 16%);transform:translate(-50%,-50%) scale(calc(1 - var(--opening,0) * .52));z-index:5;will-change:transform,left,top;opacity:1}
.mind-stage .character{mask-image:none}
.portrait-note{position:absolute;left:82%;top:82%;transform:translateX(-50%);color:#a89caf;font-size:9px;letter-spacing:1.8px;opacity:var(--opening,0);white-space:nowrap}
.project-object{left:61%;top:44%;width:min(510px,43vw,64svh);height:min(510px,43vw,64svh);transform-style:flat;mix-blend-mode:screen;z-index:3}
.project-object>img{filter:none;mix-blend-mode:normal;mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,black 65%,transparent 100%)}
.object-word{display:none}
.object-tag{border:0;background:none;backdrop-filter:none;padding:0;font-size:9px;letter-spacing:1.5px;color:#b4a6c1}
.tag-one{top:auto;bottom:0;left:50%;transform:translateX(-50%)}
.tag-two{display:none}
.mind-orbit{left:65%;top:48%;border-color:#b6a5d326;box-shadow:none}
.orbit-b{display:none}
@media(max-width:760px){
 .mind-scene .character-stage{left:calc(50% + var(--opening,0) * 30%);top:calc(35% + var(--opening,0) * 10%);transform:translate(-50%,-50%) scale(calc(1 - var(--opening,0) * .62))}
 .project-object{left:43%;top:30%;width:75vw;height:75vw;max-width:360px;max-height:360px}
 .portrait-note{left:78%;top:55%;font-size:6px;letter-spacing:1px}
 .object-tag{font-size:7px;letter-spacing:1px}
 .mind-orbit{left:50%;top:33%}
}
.mind-scene{background:radial-gradient(ellipse at 65% 40%,rgba(var(--mind-color),.09),transparent 65%),#0d0d12;perspective:none}
.mind-stage h1{z-index:4}
