/* Progressive enhancement: the static composition is the no-script fallback. */
.assembly-section{margin:25px 0 80px}.assembly-stage{position:relative;min-height:790px;background:radial-gradient(ellipse at 60% 62%,#fafafa 0,#eeeef0 60%);isolation:isolate;overflow:hidden}.assembly-heading{position:absolute;top:35px;left:var(--pad);z-index:2;pointer-events:none}.assembly-heading h2{font-size:clamp(42px,5.4vw,86px);letter-spacing:-.055em;line-height:1;margin:20px 0}.assembly-world{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 45%;transform-style:preserve-3d}.assembly-laptop{position:absolute;left:25%;top:33%;width:55%;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-17deg);will-change:transform}.laptop-screen{position:relative;aspect-ratio:1.6;border:12px solid #343439;border-radius:15px;background:#eeeef0;box-shadow:0 2px 0 2px #96969c,0 35px 50px #25242a25;transform-style:preserve-3d}.assembly-base{width:100%;height:100%;object-fit:cover;border-radius:4px;filter:saturate(.7)}.screen-camera{position:absolute;top:-8px;left:50%;width:5px;height:5px;border-radius:50%;background:#0d0d0f;z-index:2}.laptop-deck{position:absolute;top:100%;left:-3%;width:106%;height:180px;transform-origin:50% 0;transform:rotateX(72deg);border-radius:0 0 18px 18px;background:linear-gradient(100deg,#999aa2,#eeeeef 48%,#a6a6af);box-shadow:0 4px 0 #777781;backface-visibility:hidden}.deck-keys{position:absolute;left:12%;right:12%;top:12px;height:90px;border-radius:5px;background:repeating-linear-gradient(0deg,transparent 0 16px,#babac0 17px 21px),repeating-linear-gradient(90deg,#484851 0 24px,#bebec4 25px 30px)}.deck-trackpad{position:absolute;width:26%;height:48px;border:1px solid #8d8e96;bottom:12px;left:37%;border-radius:5px}.laptop-front{position:absolute;top:100%;left:-3%;width:106%;height:7px;border-radius:0 0 6px 6px;background:#bcbcc4;transform:translateY(55px) translateZ(168px);box-shadow:0 35px 45px #2223}.assembly-plane{position:absolute;background:#fafafbeF;box-shadow:0 12px 25px #25242a12;backface-visibility:hidden}.plane-nav{left:3%;right:3%;top:4%;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:15px;transform:translateZ(30px)}.plane-nav b{font-size:20px;letter-spacing:-1px}.plane-nav>span{font-size:8px;letter-spacing:.07em}.plane-title{left:5%;top:30%;padding:20px 25px;background:#eeeef0df;transform:translateZ(60px);max-width:92%}.plane-title span{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:12px}.plane-title strong{font-size:clamp(22px,3.1vw,50px);font-weight:400;letter-spacing:-.06em;line-height:1.05;white-space:nowrap}.plane-action{left:5%;right:5%;bottom:7%;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;transform:translateZ(90px)}.plane-action>span{font-size:10px;max-width:23ch;line-height:1.5}.plane-action a{font-size:9px;white-space:nowrap;border-radius:30px;background:#25242a;color:white;padding:15px 18px}.assembly-phone{position:absolute;top:42%;left:76%;width:13%;aspect-ratio:390/844;background:#25242a;border:7px solid #28282e;border-radius:25px;box-shadow:2px 0 0 2px #a5a5ad,12px 28px 45px #25242a25;overflow:hidden;transform:rotateY(-16deg) rotateZ(7deg) translateZ(100px);will-change:transform}.assembly-phone img{width:100%;height:100%;object-fit:cover}.phone-speaker{position:absolute;width:28%;height:8px;top:8px;left:36%;border-radius:10px;background:#25242a;z-index:2}.assembly-orbit{position:absolute;left:15%;right:6%;bottom:8%;height:25%;border:1px solid #25242a14;border-radius:50%;transform:rotateX(60deg);z-index:-1}.assembly-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:35px;display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:12px;z-index:5}.assembly-bottom>p{max-width:40ch}.assembly-bottom>a{font-size:10px;letter-spacing:.05em}.motion-control{border:0;border-bottom:1px solid #25242a50;padding:8px 0;color:inherit;background:none;font:inherit;cursor:pointer}.assembly-progress{position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:#25242a20}.assembly-progress>span{display:block;width:100%;height:2px;background:#25242a;transform:scaleX(var(--assembly-progress,0));transform-origin:left}.spatial-enabled .assembly-section{height:260svh}.spatial-enabled .assembly-stage{position:sticky;top:0;height:100svh;min-height:650px}.assembly-plane{will-change:transform}.assembly-section.motion-static{height:auto!important}.motion-static .assembly-stage{position:relative;height:790px}.motion-static .assembly-progress{display:none}
@media(min-width:1700px){.assembly-laptop{width:50%;left:28%;top:29%}.assembly-phone{width:11%;left:77%}}
@media(max-width:700px){.assembly-stage{min-height:700px}.assembly-heading{top:25px}.assembly-heading h2{font-size:43px}.assembly-laptop{width:76%;left:7%;top:40%}.laptop-screen{border-width:7px;border-radius:9px}.screen-camera{top:-5px;width:3px;height:3px}.laptop-deck{height:90px}.deck-keys{height:42px;top:8px;background:repeating-linear-gradient(0deg,transparent 0 7px,#babac0 8px 11px),repeating-linear-gradient(90deg,#484851 0 11px,#bebec4 12px 15px)}.deck-trackpad{height:23px;bottom:6px}.laptop-front{transform:translateY(28px) translateZ(84px);height:4px}.plane-nav{padding:8px}.plane-nav b{font-size:12px}.plane-nav>span{font-size:5px;letter-spacing:0}.plane-title{padding:12px}.plane-title span{font-size:6px;margin-bottom:7px}.plane-title strong{font-size:20px}.plane-action{padding:8px;gap:8px}.plane-action>span{font-size:5px}.plane-action a{font-size:5px;padding:8px}.assembly-phone{width:23%;left:69%;top:52%;border-width:4px;border-radius:14px}.phone-speaker{height:5px;top:4px}.assembly-bottom{bottom:25px;flex-wrap:wrap;gap:15px;font-size:11px}.assembly-bottom>p{width:100%;max-width:none}.assembly-bottom>a{font-size:9px}.spatial-enabled .assembly-section{height:190svh}.spatial-enabled .assembly-stage{min-height:600px}.motion-static .assembly-stage{height:700px}.assembly-section{margin-bottom:45px}}

/* Spatial compositions are desktop-only. Mobile retains its previous layout. */
.spatial-gallery{height:auto;margin:20px 0 90px}.gallery-stage{height:760px;position:relative;overflow:hidden;isolation:isolate}.gallery-heading{position:absolute;top:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.07em;z-index:3}.gallery-space{position:absolute;inset:0;perspective:1600px;perspective-origin:50% 45%;transform-style:preserve-3d}.gallery-screen{position:absolute;left:18%;top:14%;width:64%;height:68%;display:block;transform-style:preserve-3d;box-shadow:0 35px 55px #25242a26;background:#d5d5da;will-change:transform;overflow:hidden;border:1px solid #fff8;backface-visibility:hidden}.gallery-screen img{width:100%;height:100%;object-fit:cover;object-position:50% 57%}.gallery-screen:first-child img{object-position:50% 62%}.gallery-screen:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 60%);pointer-events:none}.gallery-number{position:absolute;right:25px;top:25px;color:white;font-size:12px;z-index:2}.gallery-screen-copy{position:absolute;left:35px;right:35px;bottom:35px;display:flex;flex-direction:column;align-items:flex-start;color:white;z-index:2;gap:12px}.gallery-screen-copy strong{font-size:clamp(30px,3.9vw,62px);font-weight:400;letter-spacing:-.04em;line-height:1.05}.gallery-screen-copy>span{font-size:14px}.gallery-screen-copy>b{font-size:11px;font-weight:400;padding:12px 18px;border:1px solid #fff8;border-radius:25px;margin-top:7px}.gallery-screen:nth-child(2){transform:translateX(69vw) translateZ(-380px) rotateY(-32deg)}.gallery-screen:nth-child(3){transform:translateX(138vw) translateZ(-760px) rotateY(-45deg)}.gallery-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;z-index:3}.gallery-index{display:flex;gap:25px}.gallery-index span{padding:10px 5px;border-bottom:2px solid transparent;opacity:.4}.gallery-index span.is-active{opacity:1;border-color:var(--ink)}.spatial-enabled .spatial-gallery{height:300svh}.spatial-enabled .gallery-stage{position:sticky;top:0;height:100svh;min-height:600px}.spatial-gallery.motion-static{height:auto}.motion-static .gallery-stage{height:auto;min-height:0;position:relative;padding:75px var(--pad) 90px}.motion-static .gallery-space{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;perspective:none}.motion-static .gallery-screen{position:relative;inset:auto;width:auto;height:440px;transform:none!important;opacity:1!important}.motion-static .gallery-screen-copy{left:20px;right:20px;bottom:25px}.motion-static .gallery-screen-copy strong{font-size:28px}.motion-static .gallery-screen-copy>span{font-size:12px}.motion-static .gallery-bottom{bottom:20px}.motion-static .gallery-index{display:none}.motion-static .gallery-bottom>p{visibility:hidden}
@media(min-width:901px){.page-work .feature-stage,.page-work .feature-selector{display:none}.page-web-interactive .device-hero{display:none}.page-work:lang(ru) .festival-hero h1{font-size:13.5vw;letter-spacing:-.08em}.page-work:lang(ru) .fashion-cut-copy .display-word{font-size:6vw}.page-work:lang(ru) .character-heading .display-word{font-size:7vw}.page-work:lang(ru) .macro-title .display-word{font-size:10vw}.page-work:lang(ru) .macro-contact-sheet>p{font-size:3.2vw}.page-web-interactive:lang(ru) .creative-hero h1{font-size:13vw}.page-work:lang(ru) .project-cta h2,.page-web-interactive:lang(ru) .project-cta h2{font-size:10vw}}
@media(max-width:900px){.assembly-section,.spatial-gallery{display:none!important}.page-work:lang(ru) .festival-hero h1{font-size:14.5vw}.page-work:lang(ru) .feature-name{font-size:clamp(36px,8vw,60px)}.page-web-interactive:lang(ru) .creative-hero h1{font-size:19vw}.page-work:lang(ru) .project-cta h2,.page-web-interactive:lang(ru) .project-cta h2{font-size:14vw}}

@media(min-width:901px){.assembly-phone{width:12%;top:39%}.assembly-base{object-position:50% 45%}.page-web-interactive .case-intro h2{font-size:clamp(60px,8vw,130px)}}
@media(min-width:901px){.page-work:lang(ru) .macro-title .display-word{font-size:9vw}.page-work:lang(ru) .macro-title .display-word>span{margin-left:10%}.page-work:lang(ru) .macro-title{gap:8vw}}
@media(max-width:900px){.page-work:lang(ru) .macro-title .display-word{font-size:14vw}.page-work:lang(ru) .macro-title .display-word>span{margin-left:10%}.page-work:lang(ru) .fashion-cut-copy .display-word{font-size:11vw}.page-work:lang(ru) .macro-contact-sheet>p{font-size:6.5vw}}
@media(min-width:901px){.assembly-laptop{width:min(55%,90svh)}.assembly-phone{width:min(12%,20svh)}}
@media(min-width:901px){.assembly-laptop{top:29%}.assembly-bottom{bottom:24px}.assembly-bottom>a{padding:10px 0}.assembly-heading h2{max-width:10ch}}
