/* M/ 0.3 — each movement follows a place in the story. */
.motion-ready .dev-hero.is-exploded .scene{transform:none}
.engine-panel[hidden]{display:none}.engine-panel{position:absolute;left:var(--gutter);top:24%;z-index:4;width:260px}.engine-panel>.data{color:var(--signal)}.engine-panel h2{font-size:clamp(2.9rem,4vw,4.8rem);margin:1rem 0}.engine-panel>p{font-size:.875rem;color:var(--muted)}.engine-panel .engine-attribution{font-size:.75rem;margin-top:1rem}.engine-attribution a{border-bottom:var(--hairline)}.engine-spread-label{font-size:.875rem;display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.engine-spread-label output{color:var(--signal);font-family:var(--font-data)}#engine-spread{width:100%;min-height:35px;accent-color:var(--signal);cursor:ew-resize;margin:0}.engine-core{border:var(--hairline);background:transparent;font-size:.875rem;min-height:42px;padding:.5rem .7rem;width:100%}.engine-core:hover,.engine-core[aria-pressed=true]{border-color:var(--signal);color:var(--signal)}.engine-state{margin:.9rem 0 0;font: .75rem/1.8 var(--font-data)}.engine-state>div{display:flex;justify-content:space-between;gap:1rem}.engine-state dt{color:var(--muted)}.engine-state dd{margin:0}.engine-feedback{position:absolute;left:var(--gutter);bottom:173px;z-index:5;color:var(--signal);font-size:.875rem}.is-exploded .dev-intro{opacity:0;visibility:hidden}.motion-ready .is-exploded h1{opacity:.065}.is-exploded .scene-meta{top:5%}.is-exploded .scene-caption{bottom:0}.dev-hero h1,.dev-intro{transition:opacity 500ms}.dev-hero.is-exploded .scene{top:16%;height:69%}
@media(min-width:761px) and (max-width:1100px){.engine-panel{width:210px;top:22%}.engine-panel h2{font-size:3rem}.dev-hero.is-exploded .scene{left:22%;width:78%;right:auto}.engine-panel .engine-attribution{font-size:.75rem}}
@media(min-width:761px) and (max-height:800px){.engine-panel{top:16%}.engine-panel h2{font-size:3rem}.engine-state{margin-top:.4rem}.engine-panel .engine-attribution{margin-top:.5rem}.engine-spread-label{margin-top:.8rem}}
@media(max-width:760px){.dev-hero.is-exploded{min-height:1250px;max-height:none}.engine-panel{top:665px;left:var(--gutter);right:var(--gutter);width:auto;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.engine-panel>.data,.engine-panel h2,.engine-panel>p{grid-column:1/-1}.engine-panel h2{font-size:2.8rem;margin:.3rem 0}.engine-panel h2 br{display:none}.engine-panel h2 em{margin-left:.2em}.engine-panel>p{font-size:.875rem}.engine-spread-label,#engine-spread,.engine-core{grid-column:1/-1}.engine-spread-label{margin-top:.6rem}.engine-state{grid-column:1/-1;margin-top:.3rem}.engine-panel .engine-attribution{margin:0;grid-column:1/-1}.engine-attribution br{display:none}.engine-attribution br:after{content:' '}.dev-hero.is-exploded .scene{top:265px;height:390px;left:0;width:100%;right:0}.is-exploded .scene-meta{top:0}.engine-feedback{bottom:205px;max-width:85%}.is-exploded .scene-controls{bottom:106px}.is-exploded .scene-caption{right:var(--gutter);opacity:1;font-size:.75rem}.is-exploded .scene-meta{opacity:1}.motion-ready .is-exploded h1{opacity:.16}}
.reading-progress{position:fixed;inset:0 0 auto;z-index:40;height:3px;background:var(--signal);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.motion-ready .dev-hero h1{transform:translate3d(calc(var(--hero-scroll,0)*-100px),calc(var(--hero-scroll,0)*90px),0);opacity:calc(1 - var(--hero-scroll,0)*.7)}
.motion-ready .dev-hero .scene{transform:translate3d(0,calc(var(--hero-scroll,0)*80px),0)}
.kinetic-line{overflow:clip;display:block;padding-bottom:.06em;margin-bottom:-.06em}
.kinetic-line>span{display:block}
.motion-ready [data-motion='title'] .kinetic-line>span{transform:translate3d(0,calc((1 - var(--arrival,1))*105%),0)}
.motion-ready [data-motion='title'] .kinetic-line:nth-child(2)>span{transform:translate3d(calc((1 - var(--arrival,1))*60px),calc((1 - var(--arrival,1))*125%),0)}
.project-reel{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 0;border-block:var(--hairline);margin:3rem 0;color:var(--muted)}
.project-reel strong{color:var(--paper);font:600 clamp(2.6rem,5.3vw,6rem)/1 var(--font-display);letter-spacing:-.02em}
.project-reel strong span{color:var(--signal)}
.motion-ready .project-reel strong{transform:translate3d(calc(var(--drift,0px)*-1),0,0)}
.projects-section{overflow:clip}
.project-art{border-radius:2px}
.project-readout{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;width:100%;font: .75rem var(--font-data);letter-spacing:.06em;color:var(--muted)}
.project-readout:after{content:'';height:2px;flex:1;background:linear-gradient(to right,var(--signal) calc(var(--project-progress,0)*100%),var(--line) 0)}
.motion-ready .featured-project .project-art{clip-path:inset(calc((1 - var(--arrival,1))*8%) calc((1 - var(--arrival,1))*5%) 0);transform:translate3d(0,calc((1 - var(--arrival,1))*45px),0)}
.motion-ready .photo-project>img,.motion-ready .coast-art>img{height:120%;top:-10%;transform:translate3d(0,var(--drift,0px),0) scale(calc(1.1 - var(--passage,.5)*.1))}
.motion-ready .photo-project-title{transform:translate3d(0,calc(var(--drift,0px)*-.55),0)}
.motion-ready .papyrus-logotype{transform:translate3d(calc(var(--drift,0px)*-.55),0,0);letter-spacing:calc(-.02em + (1 - var(--arrival,1))*.03em)}
.agent-flow{position:relative;isolation:isolate;gap:.5rem;padding:1.5rem 0 2.5rem}
.agent-flow:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ink);transform-origin:left;transform:scaleX(var(--project-progress,1))}
.agent-flow span{position:relative;padding:.75rem .3rem;transition:background 240ms,color 240ms}
.project-papyrus[data-motion-step='0'] .agent-flow span:nth-of-type(1),.project-papyrus[data-motion-step='1'] .agent-flow span:nth-of-type(2),.project-papyrus[data-motion-step='2'] .agent-flow span:nth-of-type(3){background:var(--ink);color:var(--paper)}
.project-papyrus[data-motion-step='1'] .papyrus-logotype span{color:var(--ink)}
.motion-ready .story-workbench{transform:perspective(1300px) rotateY(calc((1 - var(--arrival,1))*-9deg)) rotateX(calc((1 - var(--arrival,1))*4deg));transform-origin:left center}
.bench-view{filter:blur(4px);transform:translateY(45px) scale(.97);transition:opacity 550ms var(--ease-out),transform 700ms var(--ease-out),filter 550ms}
.bench-surface[data-stage='0'] .brief-view,.bench-surface[data-stage='1'] .code-view,.bench-surface[data-stage='2'] .product-view{filter:none;transform:translateY(0) scale(1)}
.code-view pre{border-left:1px solid var(--line);padding-left:1rem}
.brief-chips>span{transition:transform 500ms var(--ease-out)}
.bench-surface:not([data-stage='0']) .brief-chips>span:nth-child(2){transform:translateY(25px)}
.bench-surface:not([data-stage='0']) .brief-chips>span:nth-child(3){transform:translateY(50px)}
.bench-surface:not([data-stage='2']) .product-signal{letter-spacing:.2em}
.product-signal{transition:letter-spacing 800ms var(--ease-out)}
.motion-ready .influence-film figure{transform:translate3d(0,calc(var(--drift,0px)*-1),0)}
.motion-ready .influence-film figure:nth-child(2){transform:translate3d(0,calc(var(--drift,0px)*1.3),0)}
.motion-ready .influence-film figure:nth-child(3){transform:translate3d(0,calc(var(--drift,0px)*-1.6),0)}
.influences{overflow:clip}
.motion-ready .dev-outro h2{transform:translate3d(calc(var(--drift,0px)*-.65),0,0)}
@media(min-width:761px){
 .featured-project{min-height:108svh;align-items:start;gap:7%;padding-top:5svh}
 .featured-project+.featured-project{margin-top:3rem;padding-top:8svh}
 .featured-project .project-art{position:sticky;top:12svh;height:76svh;min-height:500px;max-height:820px}
 .project-detail{padding-block:18svh 12svh;min-height:85svh}
 .project-mechanic .project-detail{padding-top:23svh}
 .project-coast .project-detail{padding-top:27svh}
}
@media(max-width:760px){
 .project-reel{margin:2rem 0;gap:.8rem;overflow:hidden}
 .project-reel>.data{max-width:90px;font-size:.75rem}
 .project-reel strong{font-size:2.5rem;white-space:nowrap}
 .motion-ready .project-reel strong{transform:translate3d(calc(var(--drift,0px)*-.5),0,0)}
 .motion-ready .dev-hero h1{transform:translate3d(calc(var(--hero-scroll,0)*-30px),0,0)}
 .project-readout{margin-top:1rem}
 .motion-ready .story-workbench{transform:none}
 .influence-film figure:nth-child(n){margin-top:0}
}
html[data-motion='reduced'] [data-motion] *,html[data-motion='reduced'] [data-motion],html[data-motion='reduced'] .dev-hero h1,html[data-motion='reduced'] .dev-hero .scene{transform:none!important;clip-path:none!important;filter:none!important}html[data-motion='reduced'] .featured-project{min-height:0}html[data-motion='reduced'] .featured-project .project-art{position:relative;top:0}html[data-motion='reduced'] .project-detail{padding:2rem 0;min-height:0}

.motion-toggle{background:transparent;border:var(--hairline);font-size:.75rem;color:var(--muted);padding:.55rem .7rem;min-height:40px;margin-left:auto}.masthead nav{margin-left:1.3rem}.motion-toggle[aria-pressed=true]{color:var(--signal);border-color:var(--signal)}.engine-panel{top:18%;width:300px}.engine-panel h2{font-size:3.35rem;white-space:nowrap}.engine-panel .engine-attribution{line-height:1.5}.is-exploded h1{opacity:.065!important}.interaction-hint>span:first-child{font-size:inherit;padding:0}.dev-hero.is-exploded .scene{width:76%;right:-2%}
@media(max-width:1100px) and (min-width:761px){.engine-panel{width:215px;top:19%}.engine-panel h2{font-size:2.65rem}.masthead-note{display:none}.dev-hero.is-exploded .scene{left:28%;width:72%}}
@media(max-width:760px){.masthead{flex-wrap:wrap;height:auto;min-height:102px;padding-block:.8rem;gap:.5rem}.masthead nav{order:2;width:100%;justify-content:space-between;margin:0}.motion-toggle{min-height:32px;padding:.3rem .6rem}.engine-panel{top:665px;width:auto}.engine-panel h2{font-size:2.65rem;white-space:normal}.dev-hero.is-exploded .scene{width:100%;right:0}.dev-hero.is-exploded{min-height:1250px}}
@media(min-width:761px) and (max-height:800px){.dev-hero.is-exploded{min-height:740px}.engine-panel{top:15%}.engine-panel h2{font-size:2.9rem}.dev-hero.is-exploded .scene{top:16%;height:70%}}

@media(max-width:760px){.dev-hero{min-height:1030px}.dev-hero .scene{top:415px;height:300px}.dev-hero.is-exploded{min-height:1370px}.dev-hero.is-exploded .scene{top:265px;height:380px}}

@media(max-width:760px){.project-reel{align-items:center}.project-reel strong{font-size:1.7rem;white-space:normal;line-height:1.15;flex:1}.project-reel>.data{flex:0 0 90px}.motion-ready .project-reel strong{transform:none}}

@media(min-width:761px) and (max-width:1100px){.dev-hero.is-exploded{min-height:960px;max-height:none}}
