/* One motion language: product, making, application, invitation. */
.precision-stage,.precision-stage *,.world-stage,.world-stage *,.header,.header *,button,.button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid #759bff;outline-offset:5px}
.world-list button:focus-visible{outline:none!important;box-shadow:0 2px 0 #fff}
.asset-note.section-block{padding:0 var(--gutter) 35px;margin:0;max-width:none}
html:has(.v5-home){scroll-padding-top:0}.v5-home{background:#091f45}.precision-stage{transform-origin:50% 50%;will-change:transform;border-radius:0}.precision-story{background:#091f45}
.world{padding:0;background:#091f45;color:#fff;height:650svh;position:relative}
.world-stage{position:sticky;top:0;height:100svh;min-height:720px;overflow:hidden;background:#091f45;isolation:isolate}
.world-stage:before{content:'';position:absolute;left:var(--gutter);top:0;width:1px;height:60px;background:#88a9ec}
.world-kicker{position:absolute;top:80px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:#a7bee8;z-index:3}
.world-copy{position:absolute;left:var(--gutter);top:23%;width:34%;z-index:3;pointer-events:none}
.world-copy h2{font-size:clamp(42px,5.5vw,83px);line-height:.99;font-weight:500;letter-spacing:-.055em;max-width:11ch}
.world-copy>p{font-size:19px;line-height:1.5;max-width:23ch;color:#c8d6ec;margin-top:27px}
.world-meta{position:absolute;left:var(--gutter);bottom:185px;width:35%;z-index:4}
#world-model{font-size:16px;color:#a7bee8}.world-part{font-size:16px;line-height:1.5;color:#c8d6ec;margin:12px 0 22px;max-width:30ch}
.world-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.world-meta .text-link{display:inline-block;font-size:14px;color:#fff;margin-top:0;margin-right:0}.world-meta .button{min-height:50px;font-size:15px}
#world-view{position:absolute;right:0;top:16%;width:63%;height:65%;z-index:2;touch-action:pan-y;cursor:grab;overflow:hidden}
#world-view:active{cursor:grabbing}#world-view canvas{display:block;width:100%;height:100%;touch-action:pan-y}
#world-image{position:absolute;width:76%;height:80%;object-fit:contain;left:12%;top:10%;transition:opacity .5s}
.world-ready #world-image{opacity:0;pointer-events:none}
.world-controls{position:absolute;bottom:175px;right:var(--gutter);display:flex;align-items:center;gap:8px;z-index:5}
.world-controls>span{font-size:12px;color:#a7bee8;margin-right:12px}.world-controls button{width:38px;height:38px;border:1px solid #52688a;background:transparent;color:#fff;border-radius:50%;font-size:22px;transition:background .3s,border-color .3s}
.world-controls button:hover{background:#24477f;border-color:#9bb8ed}.world-controls #world-pause{font-size:16px}
.world-model-note{position:absolute;right:var(--gutter);bottom:145px;font-size:11px;color:#9cb0d1;z-index:4;max-width:42ch;text-align:right}
.world-list{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:grid;grid-template-columns:repeat(6,1fr);gap:15px;z-index:4}
.world-list button{position:relative;display:block;text-align:left;padding:18px 0 8px;font-size:15px;letter-spacing:-.015em;line-height:1.2;background:transparent;color:#9daecb;min-height:70px;border-top:1px solid #395070;transition:color .3s}
.world-list button:before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.world-list button small{display:block;font-size:11px;margin-bottom:10px;letter-spacing:.08em;color:#a7bee8}
.world-list button[aria-selected=true]{padding:18px 0 8px;background:transparent;color:white}
.world-list button[aria-selected=true]:before{transform:scaleX(1)}.world-list button:hover{color:#fff}.world-list button>span:last-child{opacity:1;transform:none;font-size:15px;display:block}
.world-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#142f58}.world-track span{display:block;background:#86a9ee;height:100%;transform:scaleX(var(--world-progress,0));transform-origin:left}
.factory-invitation{position:relative;overflow:hidden;min-height:90svh;background:#e9eef6}
.factory-portrait{clip-path:inset(calc((1 - var(--factory-open,1))*12%) 0);overflow:hidden}.factory-portrait img{height:calc(100% + 80px);margin-top:-40px;transform:translateY(var(--image-pan,0));will-change:transform}
.drawing-invitation{position:relative;overflow:hidden;min-height:68svh;align-items:center;isolation:isolate}
.drawing-invitation:before{content:'';position:absolute;width:38vw;height:38vw;right:3%;top:5%;border:1px solid #5f83e0;border-radius:24%;transform:rotate(var(--drawing-turn,0deg)) scale(var(--drawing-scale,1));z-index:-1;pointer-events:none}
.drawing-invitation:after{content:'';position:absolute;width:31vw;height:31vw;right:6.5%;top:calc(5% + 3.5vw);border:1px solid #5f83e0;border-radius:50%;z-index:-1;pointer-events:none}
.drawing-invitation>div{background:var(--blue);padding:25px 0}
.motion-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--delay,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}.motion-reveal.motion-in{opacity:1;transform:none}
.button,.contact-link{transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.button:hover{transform:translateY(-3px);box-shadow:0 9px 25px #103cba19}.button>span:last-child,.button svg{transition:transform .4s}.button:hover>span:last-child,.button:hover svg{transform:translate(3px,-3px)}
.button:active{transform:translateY(0) scale(.98)}.header nav a{transition:color .25s}
.page-curtain{position:fixed;inset:0;background:#103cba;z-index:9999;display:grid;place-items:center;pointer-events:none;transform:translateY(102%);transition:transform .42s cubic-bezier(.76,0,.24,1);color:#fff}
.page-curtain>span{font-size:25px;text-align:center;font-weight:600;letter-spacing:.04em}.page-curtain small{display:block;font-size:14px;font-weight:400;margin-top:12px;letter-spacing:.03em}
.page-leaving .page-curtain,.route-arriving .page-curtain{transform:translateY(0)}.page-leaving .page-curtain{pointer-events:all}
.route-arriving body:before{content:'';position:fixed;inset:0;background:#103cba;z-index:9998}
dialog[open]{animation:detail-arrive .4s cubic-bezier(.2,.7,.2,1)}dialog[open]::backdrop{animation:backdrop-arrive .3s}
@keyframes detail-arrive{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
.catalog-image img:not([data-hd=true]){width:auto;height:auto;max-width:100%;max-height:100%;margin:auto}.catalog-image{display:flex;align-items:center;justify-content:center}
.detail-image img:not([data-hd=true]){width:auto;height:auto;max-width:100%;max-height:440px}.detail-image img[data-hd=true]{mix-blend-mode:normal}
.equipment-grid img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.equipment-grid article{overflow:hidden}.equipment-grid article:hover img{transform:scale(1.025)}
.asset-note{font-size:12px;color:#62718a;margin-top:30px;line-height:1.6;max-width:75ch}
html[lang=zh] .world-copy h2{font-size:clamp(38px,4.6vw,70px);line-height:1.12;max-width:100%;white-space:pre-line;word-break:keep-all}html[lang=zh] .world-list button{font-size:15px}
@media(min-width:1800px){.world-copy h2{font-size:96px}.world-copy{top:24%;width:30%}.world-copy>p{font-size:24px}.world-meta{bottom:210px}.world-list button{font-size:19px}.world-controls{bottom:180px}.world-model-note{bottom:145px}}
@media(max-width:1100px){.world-copy{width:37%}.world-copy h2{font-size:54px}.world-list{gap:13px}.world-list button{font-size:13px}.world-meta{bottom:190px}.world-part{font-size:14px}.world-controls>span{display:none}.world-copy>p{font-size:17px}}
@media(max-width:900px) and (orientation:portrait){.world-stage{min-height:840px}.world-copy{top:140px;left:var(--gutter);width:70%}.world-copy h2{font-size:54px;max-width:18ch}.world-copy>p{margin-top:18px;max-width:35ch}.world-kicker{top:76px}#world-view{top:30%;width:90%;right:5%;height:43%}.world-meta{bottom:165px;width:65%}.world-controls{bottom:177px}.world-model-note{bottom:145px;max-width:40ch}.world-list button{font-size:12px}.world-list{bottom:25px}.world-part{margin:7px 0 12px}}
@media(max-width:600px){.world{height:600svh}.world-stage{min-height:690px}.world-stage:before{left:22px;height:30px}.world-kicker{top:48px;left:22px;right:22px;font-size:10px;letter-spacing:.04em}.world-copy{left:22px;top:92px;width:calc(100% - 44px)}.world-copy h2{font-size:40px;max-width:14ch;line-height:1.02}.world-copy>p{font-size:15px;margin-top:14px;max-width:none}.world-meta{left:22px;bottom:170px;width:calc(100% - 44px)}#world-model{font-size:12px}.world-part{font-size:12px;max-width:28ch;margin:7px 0 12px}.world-meta .button{min-height:42px;font-size:12px;padding:10px 16px}.world-meta .text-link{font-size:12px;margin-left:10px;margin-right:0;margin-top:0}.world-meta .world-actions{display:flex;align-items:center}#world-view{top:205px;right:0;width:100%;height:calc(100% - 445px);min-height:220px}.world-controls{right:22px;bottom:233px;gap:5px}.world-controls button{width:30px;height:30px;font-size:18px}.world-controls #world-pause{font-size:12px}.world-model-note{bottom:143px;left:22px;right:22px;text-align:left;font-size:9px;max-width:none}.world-list{left:22px;right:22px;bottom:20px;grid-template-columns:repeat(3,1fr);gap:8px 14px}.world-list button,.world-list button[aria-selected=true]{padding:8px 0 2px;min-height:46px;font-size:11px}.world-list button small{font-size:9px;margin-bottom:4px}.world-list button>span:last-child{font-size:11px;display:block}.factory-invitation{min-height:0}.factory-portrait img{min-height:100%}.drawing-invitation{min-height:600px}.drawing-invitation:before{width:84vw;height:84vw;top:15%;right:8%}.drawing-invitation:after{width:66vw;height:66vw;top:calc(15% + 9vw);right:17%}.drawing-invitation>div{padding:5px 0}.drawing-invitation h2{position:relative;z-index:1}html[lang=zh] .world-copy h2{font-size:36px;max-width:10ch}html[lang=zh] .world-list button{font-size:11px}.detail-image img:not([data-hd=true]){max-height:230px}}
@media(max-width:600px) and (max-height:750px){.world-stage{min-height:640px}.world-copy{top:78px}.world-copy h2{font-size:34px}.world-copy>p{font-size:13px;margin-top:10px}.world-kicker{top:38px}#world-view{top:175px;height:235px;min-height:0}.world-meta{bottom:158px}.world-model-note{bottom:132px}.world-controls{bottom:218px}.world-list{bottom:12px}.world-part{font-size:11px}html[lang=zh] .world-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.world{height:auto}.world-stage{position:relative}.motion-reveal{opacity:1;transform:none}.page-curtain{display:none}.route-arriving body:before{display:none}.precision-stage,.factory-portrait img,.drawing-invitation:before{transform:none!important}.factory-portrait{clip-path:none}.world-copy h2,dialog[open],dialog[open]::backdrop{animation:none}.button:hover{transform:none}.world-controls #world-pause{display:none}}
