/* The same engineering objects travel through assembly, observation and practice. */
.hero:before{background:none}.hero-photo.hero-scene.motion-workstation{min-height:545px;padding:0;overflow:visible}.motion-workstation .scene-word{display:none}.motion-workstation .scene-register{margin:0;padding:0 0 14px;color:#365782;border-color:#cbd7eb}.workstation-stage{height:440px;position:relative;isolation:isolate;background:#fafbf5 url('assets/workstation-paper-v19.jpg') center/cover;border-radius:3px}.workstation-stage:before{content:"";position:absolute;inset:0;background:#fafbf526;z-index:-1}.workstation-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 500ms}.workstation-stage[data-scene-state=ready] .workstation-canvas{opacity:1}.workstation-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 300ms}.workstation-stage[data-scene-state=ready] .workstation-fallback{opacity:0;visibility:hidden}.workstation-stage[data-scene-state=fallback] .workstation-canvas{display:none}.workstation-stage .stage-title{position:absolute;top:22px;left:24px;font:700 10px/1.6 ui-monospace,monospace;letter-spacing:1.3px;color:#114ee8;z-index:2;pointer-events:none}.workstation-stage .stage-title small{display:block;font-size:8px;font-weight:400;color:#5a6f88;letter-spacing:.5px;margin-top:5px}.stage-pin{position:absolute;right:19px;bottom:17px;color:white;font:9px/1.5 ui-monospace,monospace;z-index:2;letter-spacing:.4px}.motion-workstation .scene-note{right:25px;bottom:82px;padding:12px 18px;background:#fbfff3;box-shadow:0 8px 23px #19386215}.motion-workstation figcaption{margin-top:0!important;padding:16px 0 0!important;border-color:#cbd7eb!important;color:#456184!important;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.motion-workstation figcaption small{font-size:8px;color:#71829b}.replay-assembly{display:flex;align-items:center;gap:7px;padding:6px 0;border:0;background:transparent;color:#114ee8;font-size:9px;min-height:32px}.replay-assembly svg{width:14px;height:14px}.replay-assembly:hover svg{transform:rotate(-35deg);transition:transform 220ms}.motion-workstation{animation:none!important;opacity:1!important;transform:none!important}
.lab-story{height:255vh;position:relative;isolation:isolate;background:#f0f4fc;border-block:1px solid #d7e0f0}.story-sticky{height:calc(100svh - 96px);min-height:610px;max-height:950px;position:sticky;top:96px;display:flex;flex-direction:column;overflow:hidden}.story-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c8d5ec;padding:20px 0 16px;font:9px/1.6 ui-monospace,monospace;letter-spacing:1px;color:#44638f;width:100%}.story-topline span:last-child{color:#114ee8}.story-layout{display:grid;grid-template-columns:.75fr 1.4fr;gap:36px;align-items:center;flex:1;min-height:0}.story-copy{position:relative;z-index:2;padding-bottom:24px}.story-copy .eyebrow{font-size:9px;color:#114ee8;letter-spacing:1px;margin-bottom:20px}.story-copy h2{font-size:clamp(30px,3.1vw,46px);line-height:1.38;letter-spacing:-1.7px;color:#162c4d}.story-copy h2 span{color:#114ee8}.story-steps{display:grid;gap:0;margin-top:31px}.story-step{position:relative;padding:13px 0 13px 42px;border-top:1px solid #cbd7eb;opacity:.42;transition:opacity 400ms,color 400ms;cursor:default}.story-step>b{position:absolute;left:0;top:16px;font:11px ui-monospace,monospace;color:#56739f}.story-step h3{font-size:15px;letter-spacing:0;line-height:1.5;color:#314b73}.story-step p{font-size:11px;line-height:1.8;color:#647893;margin-top:6px;max-width:280px}.story-step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#114ee8;transform:scaleY(0);transform-origin:top;transition:transform 400ms}.story-step.is-active{opacity:1;padding-left:42px}.story-step.is-active>b{color:#114ee8}.story-step.is-active:before{transform:scaleY(.7);top:14px;left:27px}.story-step.is-active h3{color:#114ee8}.story-skip{display:inline-flex;align-items:center;gap:13px;margin-top:22px;font-size:10px;color:#45658f;border-bottom:1px solid #a8bddf;padding-bottom:5px}.story-skip svg{width:13px;height:13px}.story-visual{min-width:0;position:relative;align-self:stretch;display:flex;align-items:center}.story-visual:before{content:"LAB";position:absolute;left:9px;top:11%;font:800 clamp(100px,15vw,230px)/1 Arial,sans-serif;letter-spacing:-9px;color:transparent;-webkit-text-stroke:1px #bacbe6;pointer-events:none;z-index:0}.story-visual .workstation-stage{width:100%;height:74%;min-height:430px;background-size:cover;transform:rotate(-1deg);border:1px solid #d2daeb;box-shadow:0 20px 45px #294c8212}.story-visual .workstation-canvas{transform:rotate(1deg)}.story-readout{position:absolute;bottom:8%;left:0;right:0;display:flex;align-items:center;gap:11px;font:10px ui-monospace,monospace;color:#56739a;padding-inline:12px}.story-readout i{width:7px;height:7px;background:#114ee8;border-radius:50%;box-shadow:0 0 0 4px #114ee814}.story-readout strong{font-family:inherit;font-weight:500;color:#114ee8}.story-readout span:last-child{margin-left:auto;font-size:8px}.story-bottomline{width:100%;display:flex;align-items:center;gap:20px;padding:14px 0 19px;border-top:1px solid #cad6eb;font:9px/1.5 ui-monospace,monospace;color:#587197}.story-bottomline .story-bar{height:2px;background:#c5d5ec;flex:1;position:relative}.story-bar:after{content:"";position:absolute;inset:0;background:#114ee8;transform:scaleX(var(--story-progress,0));transform-origin:left}.story-bottomline small{font-size:8px}.story-percent{min-width:30px;color:#114ee8;text-align:right}
/* Physical paper transitions in the mentor archive. Original artwork is preserved. */
.mentor-gallery-column{perspective:1200px}.mentor-gallery-column:after{content:"";position:absolute;inset:92px 47px 65px;background:#fffef8;border:1px solid #d8e0ee;transform:rotate(3deg);box-shadow:4px 7px 10px #2b477314;z-index:-1}.mentor-showcase .poster-thumb{transform:rotate(-1.3deg)!important;transform-origin:50% 90%;transition:transform 500ms cubic-bezier(.2,.75,.25,1),box-shadow 500ms!important;box-shadow:0 18px 35px #243d7829!important}.mentor-showcase .poster-thumb:hover,.mentor-showcase .poster-thumb:focus-visible{transform:rotate(0) translateY(-7px)!important;box-shadow:0 27px 45px #243d7838!important}.mentor-showcase .mentor-gallery{padding:14px 0 13px;margin-top:-14px;margin-bottom:-13px}.mentor-showcase .mentor-card{position:relative}.mentor-showcase .poster-thumb img{backface-visibility:hidden}.mentor-showcase .poster-edition{position:relative;z-index:1}.mentor-showcase .profile-enter{animation:none}.mentor-panel .profile-facts>div{position:relative}.mentor-panel .profile-facts>div:after{content:"";position:absolute;inset:auto 0 -9px;height:1px;background:#e2e8f2;transform:scaleX(var(--fact-rule,1));transform-origin:left}.mentor-panel .profile-facts>div:last-child:after{display:none}.mentor-showcase .mentor-panel:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:#114ee8;transform:scaleY(var(--dossier-open,1));transform-origin:top}
.rope-art{transform:translateX(var(--rope-x,0px)) scaleY(var(--rope-flip,1))!important}.rope-1,.rope-4,.rope-6{--rope-flip:-1}.rope-divider{--rope-x:0px}.button{transition:background-color 200ms,box-shadow 200ms,transform 200ms}.button:hover{box-shadow:0 7px 17px #114ee824;transform:translateY(-2px)}.button:active{box-shadow:0 2px 6px #114ee817;transform:translateY(1px)}.plan-panel.plan-enter{animation:none}.plan-panel .plan-features li{transform-origin:left}.contact-inner>div:first-child{position:relative}.contact-inner>div:first-child:after{content:"";position:absolute;bottom:-17px;left:0;width:80px;height:3px;background:#d7fa73;transform:scaleX(var(--contact-line,0));transform-origin:left;transition:transform 800ms cubic-bezier(.2,.7,.2,1)}.contact-section.motion-arrived{--contact-line:1}
@media(min-width:1600px){.workstation-stage{height:510px}.hero-photo.hero-scene.motion-workstation{min-height:610px}.story-layout{gap:60px}.story-copy h2{font-size:48px}}
@media(max-width:1100px){.workstation-stage{height:375px}.hero-photo.hero-scene.motion-workstation{min-height:475px}.motion-workstation .scene-note{bottom:89px;right:10px}.story-sticky{top:80px;height:calc(100svh - 80px);min-height:580px}.story-layout{gap:20px;grid-template-columns:.8fr 1.2fr}.story-visual .workstation-stage{min-height:370px}.story-copy h2{font-size:30px}.story-step p{font-size:10px}.story-readout span:last-child{font-size:7px}.story-topline{font-size:8px}}
@media(max-width:700px){.hero-photo.hero-scene.motion-workstation{min-height:0}.workstation-stage{height:350px}.motion-workstation .scene-register{font-size:7px}.motion-workstation .scene-register>span:last-child{font-size:7px}.motion-workstation .scene-note{bottom:83px;right:8px;padding:10px 14px}.motion-workstation .scene-note strong{font-size:10px}.motion-workstation .scene-note small{font-size:7px}.motion-workstation figcaption{font-size:8px!important;padding-top:12px!important;row-gap:3px}.motion-workstation figcaption small{font-size:7px}.stage-title{font-size:8px!important;top:18px!important;left:18px!important}.stage-title small{font-size:7px!important}.stage-pin{font-size:7px}.lab-story{height:210svh}.story-sticky{top:76px;height:calc(100svh - 76px);min-height:580px;max-height:840px}.story-topline{font-size:7px;padding:15px 0 12px;letter-spacing:.3px}.story-topline span:first-child{max-width:75%}.story-layout{display:flex;flex-direction:column;gap:0;justify-content:space-between;flex:1;padding-top:22px}.story-copy{align-self:stretch;padding:0}.story-copy>.eyebrow{font-size:7px;margin-bottom:10px}.story-copy h2{font-size:27px;letter-spacing:-1px;line-height:1.35}.story-copy h2 br{display:none}.story-steps{display:flex;gap:14px;margin-top:17px}.story-step{flex:1;padding:10px 0 0!important;opacity:.35}.story-step>b{position:static;font-size:8px;display:block;margin-bottom:7px}.story-step h3{font-size:11px}.story-step p{display:none}.story-step:before{inset:0 0 auto!important;height:2px;width:100%;transform:scaleX(0);transform-origin:left}.story-step.is-active:before{transform:scaleX(1)}.story-skip{position:absolute;right:0;top:-3px;font-size:8px;gap:6px;margin:0}.story-visual{flex:1;min-height:230px;align-self:stretch;margin-top:12px;margin-bottom:27px}.story-visual:before{top:5%;left:7%;font-size:95px}.story-visual .workstation-stage{height:100%;min-height:220px;max-height:390px;width:100%}.story-visual .stage-title{display:none}.story-readout{bottom:-21px;left:0;padding:0;font-size:8px;gap:9px}.story-readout span:last-child{font-size:6px}.story-bottomline{font-size:7px;gap:12px;padding:13px 0 15px}.story-bottomline small{font-size:6px}.mentor-gallery-column:after{inset:76px 35px 58px}.mentor-showcase .poster-thumb:hover{transform:rotate(-1.3deg)!important}.mentor-showcase .mentor-panel:before{top:0;right:0;bottom:auto;left:0;width:auto;height:3px;transform:scaleX(var(--dossier-open,1));transform-origin:left}}
@media(max-width:380px){.workstation-stage{height:315px}.story-copy h2{font-size:24px}.story-step h3{font-size:10px}.story-sticky{min-height:550px}.story-readout span:last-child{max-width:50%;text-align:right}.story-bottomline small{display:none}}
@media(prefers-reduced-motion:reduce){.lab-story{height:auto}.story-sticky{position:relative;top:0;height:auto;min-height:680px;padding-block:20px}.story-step{opacity:1}.rope-art{transform:scaleY(var(--rope-flip,1))!important}.mentor-showcase .poster-thumb:hover,.mentor-showcase .poster-thumb:focus-visible{transform:rotate(-1.3deg)!important}.button:hover,.button:active{transform:none}.story-visual{min-height:420px}.story-steps{margin-bottom:25px}.story-bar:after{transform:scaleX(1)}}
/* QA: keep the experiment labels clear and the whole workstation in view. */
@media(min-width:701px){.story-step{padding:15px 0 15px 0!important}.story-step>b{position:static;display:block;margin-bottom:6px;font-size:8px;letter-spacing:.6px}.story-step:before,.story-step.is-active:before{left:-13px;top:13px;bottom:13px;transform:scaleY(0);width:2px}.story-step.is-active:before{transform:scaleY(1)}}
@media(max-width:700px){.story-copy h2 br{display:block}.story-copy h2{font-size:26px}.story-visual .workstation-stage{height:280px;min-height:240px;max-height:300px}.story-visual{align-items:center;margin-top:6px;margin-bottom:25px}.story-readout{bottom:0}.workstation-stage{height:290px}.motion-workstation .scene-note{bottom:82px}.stage-pin{display:none}}
@media(max-width:380px){.story-copy h2{font-size:23px}.story-visual .workstation-stage{height:250px}.workstation-stage{height:270px}}
.lab-story:has(.workstation-stage[data-scene-state=fallback]){height:auto}.lab-story:has(.workstation-stage[data-scene-state=fallback]) .story-sticky{position:relative;top:0;height:auto;min-height:680px;padding-block:20px}.lab-story:has(.workstation-stage[data-scene-state=fallback]) .story-step{opacity:1}.lab-story:has(.workstation-stage[data-scene-state=fallback]) .story-visual{min-height:420px}.lab-story:has(.workstation-stage[data-scene-state=fallback]) .story-bottomline>span:first-child{font-size:0}.lab-story:has(.workstation-stage[data-scene-state=fallback]) .story-bottomline>span:first-child:after{content:"搭建 / 学习 / 项目实践";font-size:9px}
@media(max-height:740px) and (max-width:700px) and (prefers-reduced-motion:no-preference){.story-sticky{min-height:0}.story-topline{padding-top:12px;padding-bottom:9px}.story-layout{padding-top:13px}.story-copy>.eyebrow{font-size:6px;margin-bottom:7px}.story-copy h2{font-size:23px}.story-steps{margin-top:10px}.story-step>b{margin-bottom:4px}.story-visual{min-height:160px;margin-top:0;margin-bottom:18px}.story-visual .workstation-stage{height:min(240px,38svh);min-height:160px}.story-readout{bottom:-5px}.story-visual:before{font-size:75px}.story-bottomline{padding-top:9px;padding-bottom:11px}}
