/* Four visible project scenes, inheriting the approved universe. */
.project-journey{position:relative;padding:2vw 0 4vw}.project-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:55px}.project-overview h2{font-size:9vw}.project-overview p{max-width:390px;font-size:13px;margin-bottom:0;color:var(--muted)}
.project-index{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:25px 70px 20px 0;background:var(--bg);border-bottom:1px solid var(--line)}.project-index a{font-size:11px;position:relative;display:flex;gap:10px;align-items:center;line-height:1.6;min-height:26px}.project-index a>span{font-size:10px;color:var(--muted)}.project-index a>i{position:absolute;left:0;bottom:-20px;height:2px;background:var(--accent);width:100%;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.project-index a:hover,.project-index a[aria-current=true]{color:var(--accent)}.project-index a[aria-current=true]>i{transform:scaleX(1)}
.final-project{padding:100px 0 65px;position:relative;scroll-margin-top:65px;isolation:isolate;--scene-accent:var(--accent)}.final-project+.final-project{border-top:1px solid var(--line)}.project-heading{margin-bottom:35px;position:relative;z-index:2;display:flex;gap:40px;align-items:flex-end;justify-content:space-between}.project-heading h3{font-size:clamp(70px,10.5vw,170px);line-height:.9;letter-spacing:-.035em;overflow-wrap:normal}.project-heading>span{font-size:11px;color:var(--muted);max-width:220px;line-height:1.8;text-align:right;margin-bottom:5px}.final-project .project-layout{grid-template-columns:1.45fr 1fr;gap:6vw}.final-project .project-scene{min-height:37vw}.tilt-layer{width:100%;display:block;transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .6s var(--ease)}.is-tilting .tilt-layer{transition:transform .12s ease-out}.final-project .browser-frame{display:block;width:100%}.scene-float{position:relative;transform:translateY(var(--scroll-shift,0px))}.final-project.is-visible .scene-float{animation:orbit-float 8s ease-in-out infinite}.final-project.scene-entered .tilt-layer{animation:orbit-arrive .95s var(--ease) both}.project-description .action-link{padding:12px 0;border-bottom:1px solid var(--scene-accent);font-size:12px;position:relative;align-items:center}.action-link svg{transition:transform .3s var(--ease)}.action-link:hover svg{transform:translate(4px,-4px)}.next-world{margin:55px 0 0 auto;max-width:max-content;display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted);padding:10px 0}.next-world svg{width:17px;height:17px}.next-world:hover{color:var(--scene-accent)}
.anna-stage{--scene-accent:#f2b97f}.anna-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:6vw;align-items:center}.anna-visual-scene{padding:30px 0;perspective:1500px}.anna-display{overflow:hidden;border-radius:10px;box-shadow:15px 28px 65px #0006;position:relative}.anna-display img{width:100%}.anna-image-copy{position:absolute;left:6%;top:13%;color:#2b2724;width:43%}.anna-image-copy>span{font-family:Barlow,Arial,sans-serif;font-size:clamp(35px,4.7vw,74px);letter-spacing:-.035em;line-height:1.05}.anna-image-copy>span strong{font-weight:700}.anna-image-copy>p{font-family:Barlow,Arial,sans-serif;font-size:clamp(24px,3vw,46px);line-height:1.05;text-transform:uppercase;margin-top:16px}.visual-note{font-size:10px!important;line-height:1.8;color:var(--muted);margin-top:18px;margin-bottom:0}.project-description h4{font-family:Barlow,Arial,sans-serif;font-size:clamp(40px,4.7vw,72px);line-height:.95;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 30px;color:var(--ink);font-weight:700}.project-description h4 em{font-style:normal;color:var(--scene-accent)}.clear-list{list-style:none;padding:0;margin:25px 0;font-size:12px;color:var(--muted)}.clear-list li{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.8}.clear-list li:first-child{border-top:1px solid var(--line)}.product-boundary{font-size:11px!important}.anna-workflow{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:45px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.anna-workflow i{width:70px;height:1px;background:var(--line);position:relative;overflow:hidden}.anna-stage.is-visible .anna-workflow i:after{content:'';height:1px;width:28px;background:var(--scene-accent);position:absolute;left:-28px;animation:signal-travel 3s linear infinite}.anna-workflow i:last-of-type:after{animation-delay:1.5s!important}
.book-stage{--scene-accent:#f49d76}.book-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.book-orbit{min-height:590px;position:relative;display:grid;place-items:center;perspective:1500px;padding:25px}.book-object{width:57%;max-width:330px;position:relative;z-index:2}.book-object img{width:100%;height:auto;transform:rotateY(-16deg) rotateZ(-8deg);box-shadow:23px 30px 45px #0008;transition:transform 1s var(--ease)}.book-stage.is-visible .book-object img{animation:book-hover 8s ease-in-out infinite}.orbit-line{position:absolute;width:107%;height:53%;border:1px solid #f49d7650;border-radius:50%;transform:rotate(-28deg);pointer-events:none}.orbit-line:after{content:'';position:absolute;top:16%;right:13%;height:7px;width:7px;background:var(--scene-accent);border-radius:50%}.book-orbit-note{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:11px;color:var(--muted)}.book-contents{border-top:1px solid var(--line);margin:28px 0}.book-contents>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:11px;line-height:1.8}.book-contents strong{font-weight:400;color:var(--ink)}.book-contents span{color:var(--muted);text-align:right}
.software-stage{--scene-accent:#a8dcce}.software-stage .project-heading{margin-bottom:60px}.software-stage .project-heading h3{font-size:10vw}.software-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:center}.software-contact{margin-top:15px;display:flex!important}.workflow-scene{perspective:1500px}.workflow-window{background:#172122;border-radius:14px;overflow:hidden;box-shadow:22px 32px 65px #0005}.workflow-window-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 28px;background:#213033;color:#dcece7;font-size:11px}.workflow-window-top svg{height:24px;width:24px}.workflow-demo{padding:32px 32px 15px}.workflow-node{display:flex;gap:20px;align-items:center;position:relative;padding:15px 0}.workflow-node .node-point{height:11px;width:11px;border:1px solid #63877e;border-radius:50%;position:relative;z-index:1;background:#172122;flex:none;transition:background .25s,border-color .25s}.workflow-node>div{flex:1}.workflow-node strong{display:block;font-size:13px;line-height:1.6;font-weight:400;color:#e3efea}.workflow-node small{font-size:10px;color:#a5bfb6;line-height:1.8}.workflow-node>svg{width:18px;height:18px;color:#a8dcce;opacity:0;transition:opacity .2s}.workflow-wire{height:22px;width:1px;background:#3d5c54;margin-left:5px}.workflow-node.done .node-point{background:#a8dcce;border-color:#a8dcce}.workflow-node.done>svg{opacity:1}.workflow-node.current>div{color:#fff}.workflow-node.current .node-point{border-color:#e4fff3;background:#e4fff3;outline:5px solid #a8dcce20}.workflow-demo-controls{padding:18px 32px 26px}.run-workflow{border:1px solid #6a9b8e;border-radius:5px;padding:13px 15px;background:#233f36;display:inline-flex;align-items:center;gap:16px;color:#e2f6ed;font-size:11px}.run-workflow:hover{background:#315447}.run-workflow svg{width:14px;height:14px}.workflow-status{font-size:10px;line-height:1.8;color:#a5bfb6;margin-top:18px;margin-bottom:0;min-height:36px}.software-stage .next-world{margin-top:65px}
.reading-progress{position:fixed;right:0;top:0;bottom:0;width:2px;z-index:55;pointer-events:none;background:#ffffff10}.reading-progress:after{content:'';position:absolute;top:0;right:0;width:2px;height:100%;background:var(--accent);transform-origin:top;transform:scaleY(var(--reading,0))}.light-mode .project-index{background:#fffcfa}.light-mode .anna-stage{--scene-accent:#9c531d}.light-mode .book-stage{--scene-accent:#ae4a22}.light-mode .software-stage{--scene-accent:#22695a}.light-mode .orbit-line{border-color:#ac6f4c66}.light-mode .project-index> a>span{color:#555}.light-mode .reading-progress{background:#0002}
@keyframes orbit-arrive{from{clip-path:inset(0 8% 0 0);filter:blur(3px);translate:0 18px}to{clip-path:inset(0);filter:blur(0);translate:0 0}}
@keyframes orbit-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes signal-travel{to{left:100%}}
@keyframes book-hover{0%,100%{transform:rotateY(-16deg) rotateZ(-8deg) translateY(0)}50%{transform:rotateY(-8deg) rotateZ(-5deg) translateY(-10px)}}
.no-motion .scene-float,.no-motion .tilt-layer,.no-motion .book-object img{animation:none!important;transform:none!important;translate:none!important}.no-motion .anna-workflow i:after{display:none!important}.no-motion .reading-progress:after{transition:none}
@media(max-width:1100px){.project-overview h2{font-size:10vw}.project-overview{gap:35px}.project-overview p{max-width:320px;font-size:12px}.project-index{gap:15px;padding-right:55px}.project-index a{font-size:10px;gap:7px}.project-index a>span{display:none}.final-project{padding-top:80px}.project-heading h3{font-size:10vw}.project-heading>span{font-size:10px;max-width:170px}.book-orbit{min-height:480px}.book-contents>div{flex-direction:column;gap:3px}.book-contents span{text-align:left}.anna-layout{grid-template-columns:1.2fr 1fr;gap:4vw}.anna-image-copy>p{font-size:2.8vw}.anna-workflow{font-size:11px;gap:18px}.anna-workflow i{width:35px}.workflow-demo{padding:25px 22px 12px}.workflow-window-top{padding:20px 22px}.workflow-demo-controls{padding:18px 22px 22px}.workflow-node{gap:14px}.software-layout{gap:4vw}.workflow-node strong{font-size:12px}}
@media(max-width:767px){.project-journey{padding-top:30px}.project-overview{display:block;margin-bottom:35px}.project-overview h2{font-size:20vw}.project-overview p{max-width:100%;font-size:12px;margin-top:25px}.project-index{position:relative;top:auto;grid-template-columns:1fr 1fr;gap:8px 18px;padding:16px 0 22px}.project-index a{font-size:11px;min-height:40px;border-bottom:1px solid var(--line);padding-bottom:7px;align-items:center;line-height:1.8}.project-index a>span{display:inline;font-size:9px}.project-index a>i{display:none}.final-project{padding:65px 0 45px;scroll-margin-top:65px}.project-heading{display:block;margin-bottom:30px}.project-heading h3{font-size:16.8vw;max-width:100%}.project-heading>span{display:block;text-align:left;margin-top:20px;max-width:100%;font-size:11px}.final-project .project-layout{display:block}.final-project .project-scene{min-height:73vw;padding:10px 3vw 35px;margin-bottom:25px}.final-project .project-description p{font-size:12px}.next-world{margin-top:30px;font-size:11px;max-width:100%;gap:15px}.next-world svg{flex:none}.anna-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch}.anna-visual-scene{padding:10px 0 0}.anna-image-copy{top:13%;left:5%;width:43%}.anna-image-copy>span{font-size:9vw}.anna-image-copy>p{font-size:5.5vw;margin-top:10px}.visual-note{font-size:10px!important;margin-top:15px}.project-description h4{font-size:13vw;margin-bottom:25px}.clear-list{font-size:12px}.anna-workflow{flex-direction:column;gap:12px;margin-top:30px;font-size:11px;padding:25px 0}.anna-workflow i{width:1px;height:24px}.anna-workflow i:after{display:none}.book-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch}.book-orbit{min-height:480px;padding:25px 10px 40px}.book-object{width:58%;max-width:240px}.orbit-line{width:95%;height:40%}.book-orbit-note{font-size:10px}.book-contents>div{flex-direction:row;gap:15px;font-size:10px;padding:16px 0}.book-contents span{text-align:right}.software-stage .project-heading h3{font-size:15.8vw}.software-stage .project-heading{margin-bottom:35px}.software-layout{display:flex;flex-direction:column;gap:35px;align-items:stretch}.software-copy{order:1}.workflow-scene{order:0}.workflow-window-top{font-size:10px;padding:20px}.workflow-demo{padding:20px 20px 10px}.workflow-demo-controls{padding:15px 20px 22px}.workflow-node{gap:15px;padding:12px 0}.workflow-node strong{font-size:12px}.workflow-node small{font-size:10px}.run-workflow{font-size:11px;padding:12px}.workflow-status{font-size:10px}.software-stage .next-world{margin-top:30px}.reading-progress{display:none}}
@media(max-width:370px){.project-index a{font-size:10px;gap:6px}.project-heading h3{font-size:16.4vw}.project-heading>span{font-size:10px}.book-orbit{min-height:410px}.book-contents>div{flex-direction:column;gap:4px}.book-contents span{text-align:left}.workflow-window-top{font-size:9px}.workflow-node small{font-size:9px}.workflow-status{font-size:10px}.software-stage .project-heading h3{font-size:15.3vw}}
@media(prefers-reduced-motion:reduce){.scene-float,.tilt-layer,.book-object img{animation:none!important;transform:none!important;translate:none!important}.anna-workflow i:after{display:none!important}.project-index a>i{transition:none}}
.final-project.scene-entered .tilt-layer{animation-fill-mode:backwards}.reduced-effects .scene-float,.reduced-effects .book-object img{animation:none!important}.reduced-effects .anna-workflow i:after{display:none!important}
@media(max-width:767px){.book-stage .project-heading h3{font-size:16vw}}
