/* V8: stable compositing and paced, sticky reading. */
#journey-canvas{transition:none}
#screen-content{transition:none;backface-visibility:hidden;box-shadow:inset 0 0 0 2px #101319}
.intro-copy h1{letter-spacing:-.045em;word-spacing:.025em;line-height:1.08;font-size:clamp(52px,6.3vw,118px)}
.section-heading h2{letter-spacing:-.045em;line-height:1.025}
.expertise-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;overflow:visible;align-items:start;padding-top:140px;padding-bottom:100px}
.expertise-heading{position:sticky;top:145px;align-self:start;margin:0;max-width:760px}
.expertise-heading h2{font-size:clamp(48px,4.9vw,88px);line-height:1.08;letter-spacing:-.04em;text-wrap:initial;max-width:700px}
.expertise-heading h2 br{display:none}
.expertise-heading>p{margin-bottom:32px}
.expertise-heading .expertise-note{font-size:15px;line-height:1.75;color:#89929f;margin:32px 0 0}
.expertise-progress{display:flex;align-items:center;gap:20px;width:220px;margin-top:50px;font:12px Consolas,monospace;color:#878e9b;font-variant-numeric:tabular-nums}
.step-current{color:#f1f1ed}.step-track{height:1px;background:#ffffff28;flex:1}.step-track i{display:block;height:1px;background:#d2ddcd;transform-origin:left;scale:var(--expertise-progress,.25) 1;transition:scale .15s linear}
.expertise-list{width:100%;min-width:0;margin:0;max-width:760px}
.expertise-list article{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:72svh;padding:60px 0 90px;border-top:1px solid #ffffff25;position:relative}
.expertise-list article:first-child{padding-top:25px;justify-content:flex-start}
.expertise-list article>span{font:12px Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;padding:0;color:#aebba9;margin-bottom:35px}
.expertise-list h3{font:500 clamp(37px,4vw,69px)/1.1 var(--display);letter-spacing:-.035em;max-width:620px;margin:0 0 32px}
.expertise-list p{font-size:clamp(17px,1.25vw,21px);line-height:1.85;max-width:550px;color:#afb6c3}
.expertise-list .skill-tags{margin-top:32px;line-height:1.7}
.expertise-list article:before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:#c7d3c1;transform-origin:left;scale:var(--step-light,0) 1}
.about-section{overflow:visible;padding-top:120px;padding-bottom:100px}
.about-lead{max-width:1600px;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}
.about-lead h2{font-size:clamp(52px,6vw,100px);letter-spacing:-.04em;line-height:1.12}
.about-grid{max-width:1600px;grid-template-columns:1fr 1.15fr;align-items:start;gap:8%;margin-top:65px}
.about-grid figure.about-avatar{position:sticky;top:110px;max-width:530px;align-self:start;margin:0 auto;width:100%}
.about-grid .about-avatar img{max-height:calc(100svh - 175px);min-height:280px;width:100%;object-fit:contain;object-position:center;mask-image:linear-gradient(#000 89%,transparent)}
.about-avatar figcaption{bottom:15px;left:0;font-size:15px;line-height:1.6}
.avatar-aura{inset:15% 0 0}.avatar-caption{left:15px;opacity:.6}
.about-details{min-width:0}
.story-step{min-height:76svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:55px 0 95px;position:relative}
.story-step:first-child{justify-content:flex-start;padding-top:35px}
.story-index{font:12px Consolas,monospace;color:#a5adae;letter-spacing:.04em;margin-bottom:32px}
.story-step h3{font:500 clamp(38px,4.1vw,70px)/1.13 var(--display);letter-spacing:-.03em;margin:0 0 35px}
.story-step p{font-size:clamp(17px,1.3vw,21px);line-height:1.85;color:#b7bfca;max-width:570px}
.story-tools{font:12px/1.8 Consolas,monospace;color:#d0d9cb;margin-top:32px}.story-tools span{color:#73808a;margin:0 12px}
.scroll-sequence .story-step>*{opacity:var(--story-light,1);translate:0 calc((1 - var(--story-light,1))*24px);transition:opacity .18s linear,translate .18s linear}
.story-step:after{content:'';position:absolute;bottom:45px;left:0;width:60px;height:1px;background:#ffffff30}
.project-visual{--hover-x:0px;--hover-y:0px}
.project-visual>img,.mini-record-scene,.pli-paper,.relais-flow,.wheel-art,.signal-art{transition:transform 1s cubic-bezier(.2,.7,.2,1),scale 1s cubic-bezier(.2,.7,.2,1),translate 1s cubic-bezier(.2,.7,.2,1)}
.project-visual>strong,.project-visual>.preview-title{transition:translate .8s cubic-bezier(.2,.7,.2,1)}
.open-project{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,background .5s;z-index:4}
.open-project>span{transition:transform .5s}
@media(hover:hover) and (pointer:fine){
 .project-visual:hover>img{transform:scale(1.09);translate:var(--hover-x) var(--hover-y)}
 .project-visual:hover :is(.mini-record-scene,.pli-paper,.relais-flow,.wheel-art,.signal-art){scale:1.08;translate:var(--hover-x) var(--hover-y)}
 .project-visual:hover>strong,.project-visual:hover>.preview-title{translate:0 -7px}
 .project-visual:hover .open-project{transform:translate(-5px,-7px) scale(1.05);box-shadow:0 12px 30px #0003;background:#fff}
 .project-visual:hover .open-project>span{transform:translate(3px,-3px)}
}
.project-visual:focus-visible>img{transform:scale(1.06)}
@media(min-width:2100px){.expertise-section{padding-left:max(var(--gutter),calc((100vw - 1840px)/2));padding-right:max(var(--gutter),calc((100vw - 1840px)/2))}}
@media(max-width:1000px){.expertise-section{gap:7%}.expertise-heading h2{font-size:47px}.expertise-list h3{font-size:39px}.about-lead,.about-grid{gap:5%;grid-template-columns:.85fr 1.15fr}.story-step h3{font-size:40px}}
@media(max-width:760px){
 .intro-copy h1{font-size:clamp(43px,10.6vw,76px);line-height:1.09;letter-spacing:-.045em}
 .expertise-section{display:block;padding-top:80px;padding-bottom:45px}
 .expertise-heading{position:static;margin:0 0 55px;max-width:540px}
 .expertise-heading h2{font-size:clamp(43px,10vw,65px)}
 .expertise-heading .expertise-note{display:none}.expertise-progress{margin-top:30px}
 .expertise-list article{min-height:58svh;padding:42px 0 55px}.expertise-list article:first-child{padding-top:42px;justify-content:center}
 .expertise-list h3{font-size:38px}.expertise-list p{font-size:17px}.expertise-list article>span{margin-bottom:25px}
 .about-section{padding-top:70px;padding-bottom:40px}.about-lead{display:block}.about-lead>p{margin-bottom:24px}.about-lead h2{font-size:clamp(43px,11vw,65px)}
 .about-grid{grid-template-columns:100px minmax(0,1fr);gap:22px;margin-top:40px}
 .about-grid figure.about-avatar{top:110px;width:125px;margin-left:-16px;max-width:none}
 .about-grid .about-avatar img{min-height:0;max-height:260px;mask-image:linear-gradient(#000 83%,transparent)}
 .about-avatar figcaption{position:static;font-size:10px;margin:8px 15px;line-height:1.6}.avatar-caption{display:none}
 .story-step{min-height:65svh;padding:35px 0 65px}.story-step:first-child{padding-top:20px}
 .story-step h3{font-size:clamp(25px,6.8vw,40px);line-height:1.16;letter-spacing:-.025em;margin-bottom:24px}
 .story-step p{font-size:15px;line-height:1.8}.story-index{font-size:9px;margin-bottom:22px}.story-tools{font-size:10px}.story-tools span{margin:0 4px}
 .story-step .text-link{font-size:11px;gap:10px}.story-step:after{bottom:30px}
}
@media(max-height:660px) and (min-width:761px){.expertise-heading{top:100px}.expertise-heading h2{font-size:48px}.expertise-heading .expertise-note{display:none}.expertise-progress{margin-top:28px}.about-grid figure.about-avatar{top:95px}.about-grid .about-avatar img{min-height:0;max-height:calc(100svh - 125px)}}
.motion-reduced .story-step>*,.motion-reduced .project-visual>*{opacity:1!important;translate:none!important;scale:1!important;transition:none!important}.motion-reduced .project-visual>img{transform:none!important}
@media(prefers-reduced-motion:reduce){.story-step>*{opacity:1!important;translate:none!important}.project-visual>*{translate:none!important;scale:1!important}.project-visual>img{transform:none!important}}
