/* Consistent interface icons, independent of emoji fonts. */
.ui-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle;flex-shrink:0;overflow:visible}
.button .ui-icon{width:1.5rem;height:1.5rem}.tiny-cross,.location-cross,.node-icon,.node-check{display:inline-flex;align-items:center;justify-content:center}.tiny-cross .ui-icon{width:18px;height:18px}.mini-button .ui-icon{width:11px;height:11px}.node-icon .ui-icon{width:20px;height:20px}.node-check .ui-icon{width:17px;height:17px}.manifesto-strip .ui-icon{width:25px;height:25px}.motion-icon{display:inline-flex;align-items:center;justify-content:center}.motion-icon .icon-play{display:none}.motion-off .motion-icon .icon-pause{display:none}.motion-off .motion-icon .icon-play{display:inline-block}.header .motion-toggle{min-width:36px;min-height:44px}.page-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;pointer-events:none}.page-progress span{display:block;height:100%;width:100%;background:var(--red);transform:scaleX(var(--page-progress,0));transform-origin:left;box-shadow:0 0 14px #ff293f66}
/* Keep clear space around the logo throughout its motion. */
.scene{height:560px;transform:translateY(calc(var(--hero-progress,0)*22px));perspective:1400px;overflow:visible}
.scene-world{transform:rotateX(calc(var(--py,0)*-3deg)) rotateY(calc(var(--px,0)*4deg));transition:transform .2s ease-out}
.brand-core{left:15%;top:95px;width:66%;max-width:370px;z-index:4;transform:translateZ(35px) rotateX(calc(5deg - var(--hero-progress,0)*5deg)) rotateY(calc(-8deg + var(--hero-progress,0)*8deg)) rotateZ(calc(-4deg + var(--hero-progress,0)*4deg));box-shadow:5px 7px 0 #300a0f,6px 8px 0 #fe343f55,16px 25px 60px #0006;animation:logo-hover 8s ease-in-out infinite;overflow:hidden}
.brand-core img{border-radius:inherit}.panel-web,.panel-flow{width:190px;padding:14px 17px;z-index:5;backdrop-filter:blur(12px)}
.float-panel .panel-head{margin-bottom:8px}.float-panel strong{font-size:17px;line-height:1.25;letter-spacing:-.3px}.float-panel .panel-number{font-size:11px;letter-spacing:.5px}.float-panel .wireframe,.float-panel .flow-diagram{display:none}
.panel-web{top:-11px;right:1%;left:auto;bottom:auto;transform:translate3d(calc(var(--hero-progress,0)*12px),calc(var(--hero-progress,0)*-22px),20px) rotateY(-8deg) rotateZ(4deg);animation:panel-hover 9s ease-in-out infinite}
.panel-flow{bottom:-10px;left:0;right:auto;top:auto;transform:translate3d(calc(var(--hero-progress,0)*-10px),calc(var(--hero-progress,0)*20px),25px) rotateY(6deg) rotateZ(-3deg);animation:panel-hover 10s ease-in-out -4s infinite}
.halo{top:92px;left:14%;width:68%;max-width:380px;transform:translateZ(-25px) rotateX(5deg) rotateY(-8deg) rotateZ(-4deg);border-radius:25px;animation:none;translate:calc(var(--hero-progress,0)*18px) calc(var(--hero-progress,0)*12px)}.halo-two{top:80px;left:12%;width:73%;max-width:410px;transform:translateZ(-50px) rotateX(5deg) rotateY(-8deg) rotateZ(-4deg);translate:calc(var(--hero-progress,0)*30px) calc(var(--hero-progress,0)*20px)}
.core-shadow{bottom:12%;left:20%;width:62%}.cube-one{top:6%;left:3%}.cube-two{bottom:18%;right:0}.cube-three{bottom:4%;left:57%}.scene-coordinate{right:0;bottom:2%;max-width:200px;line-height:1.7}.orbit{opacity:.65}.hero .ambient-one{transform:translateY(calc(var(--hero-progress,0)*55px))}.hero-grid{transform:translateY(calc(var(--hero-progress,0)*25px));inset:-30px 0}.hero-bottom{z-index:6}
/* Section-local scroll motion. Native scrolling stays in control. */
.service-grid{perspective:1800px;gap:30px}
.service-card{transform:translate3d(0,var(--card-y,0px),0) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transform-origin:center center;transition:box-shadow .3s,border-color .3s;backface-visibility:hidden}
.service-card:hover{border-color:#ff56634d;box-shadow:0 35px 60px #0004}
.website-visual .layer-back{translate:calc(19px + var(--layer-depth,0px)) calc(-16px - var(--layer-depth,0px));transform:rotateY(-12deg) rotateX(11deg) rotateZ(calc(-6deg - var(--layer-angle,0deg)))}
.workflow-visual .node-one{translate:calc(var(--node-spread,0px)*-1) calc(var(--node-spread,0px)*-.35)}.workflow-visual .node-three{translate:var(--node-spread,0px) calc(var(--node-spread,0px)*.35)}
.statement-grid{inset:-80px 0;transform:perspective(900px) rotateX(8deg) translateY(var(--statement-grid-y,0px));transform-origin:center}.statement-orbit{translate:0 var(--statement-orbit-y,0px)}.statement-cube{transform:translateY(var(--statement-cube-y,0px)) rotateZ(var(--statement-cube-angle,0deg))}
.process-step{position:relative;padding-left:17px}.process-step:before{content:'';position:absolute;left:0;top:37px;bottom:42px;width:2px;background:#ffffff14}.process-step:after{content:'';position:absolute;left:0;top:37px;bottom:42px;width:2px;background:var(--red);transform:scaleY(var(--step-progress,0));transform-origin:top;box-shadow:0 0 14px #ff293333}.process-step .step-number{transition:color .3s;color:#8e8794}.process-step.is-active .step-number{color:var(--red)}
.contact-geometry{transform:translateY(var(--contact-y,0px)) rotateZ(var(--contact-angle,0deg))}
.js-motion [data-reveal]{opacity:0;translate:0 32px;transition:opacity .75s ease,translate .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.js-motion [data-reveal].visible{opacity:1;translate:0 0}
.scene.is-offscreen *,.ai-signal.is-offscreen *,.service-card.is-offscreen *,.statement.is-offscreen *,.contact.is-offscreen *{animation-play-state:paused}
@keyframes logo-hover{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes panel-hover{0%,100%{translate:0 0}50%{translate:0 5px}}
@media(min-width:1600px){.scene{max-width:610px;margin:auto}.brand-core{left:17%}}
@media(max-width:1100px){.scene{height:515px}.brand-core{top:100px;left:12%;width:75%;max-width:340px}.float-panel{width:172px;padding:13px 15px}.float-panel strong{font-size:16px}.panel-web{right:0;top:0}.panel-flow{bottom:0;left:0}.halo{width:77%;left:10%;top:98px}.halo-two{width:83%;left:7%;top:88px}.cube-one{top:10%;--size:38px;--half:19px}.cube-two{--size:30px;--half:15px;bottom:22%}.cube-three{bottom:7%}.scene-coordinate{display:none}.service-grid{gap:22px}}
@media(max-width:760px){.scene{height:555px;max-width:455px;margin-top:38px;margin-bottom:15px}.scene-world{transform:none}.brand-core{top:117px;left:12%;width:76%;max-width:340px;transform:rotateX(3deg) rotateY(-5deg) rotateZ(-3deg);box-shadow:4px 6px 0 #300a0f,5px 7px 0 #fe343f55,10px 22px 40px #0006}.panel-web{width:175px;top:1px;right:1%;transform:translateY(calc(var(--hero-progress,0)*-9px)) rotateZ(3deg)}.panel-flow{width:185px;left:0;bottom:0;transform:translateY(calc(var(--hero-progress,0)*9px)) rotateZ(-3deg)}.float-panel strong{font-size:17px}.halo{top:116px;left:10%;width:80%;max-width:355px;transform:rotateY(-5deg) rotateZ(-3deg)}.halo-two{top:106px;left:7%;width:85%;max-width:378px;transform:rotateY(-5deg) rotateZ(-3deg)}.cube-one{left:7%;top:8%}.cube-two{right:0;bottom:27%;--size:28px;--half:14px}.cube-three{left:75%;bottom:7%;--size:27px;--half:13.5px}.service-grid{gap:28px}.service-card{transform:translate3d(0,var(--card-y,0px),0);backface-visibility:visible}.workflow-visual .node-one,.workflow-visual .node-three{translate:none}.process-step:before,.process-step:after{top:28px;bottom:34px}.js-motion [data-reveal]{translate:0 22px}.ui-icon{width:20px;height:20px}.hero-bottom a .ui-icon{width:18px;height:18px}}
@media(max-width:430px){.scene{height:505px}.brand-core{top:119px;left:11%;width:78%;max-width:none}.halo{top:118px}.halo-two{top:107px}.float-panel{width:172px}.panel-web{top:3px}.panel-flow{width:185px;bottom:0}.cube-two{bottom:26%}.hero-location{max-width:290px;line-height:1.6}}
@media(max-width:360px){.scene{height:465px}.brand-core{top:111px}.halo{top:110px}.halo-two{top:103px}.panel-web{top:0}.panel-flow{bottom:0}.header{gap:5px}.header .logo-lockup{width:145px}.header .logo-name{width:105px}.header .nav-contact{padding:9px}.header .nav-contact span{margin-left:3px}.header .motion-toggle{min-width:28px}.cube-two{bottom:28%}}
body.motion-off .scene,body.motion-off .scene-world,body.motion-off .service-card,body.motion-off .statement-grid,body.motion-off .statement-cube,body.motion-off .contact-geometry{transform:none}body.motion-off .brand-core{transform:rotateX(3deg) rotateY(-5deg) rotateZ(-3deg)}body.motion-off .panel-web{transform:rotateZ(3deg)}body.motion-off .panel-flow{transform:rotateZ(-3deg)}body.motion-off .halo,body.motion-off .workflow-node,body.motion-off .statement-orbit{translate:0 0}body.motion-off [data-reveal]{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.scene,.scene-world,.service-card,.statement-grid,.statement-cube,.contact-geometry{transform:none!important}.brand-core{transform:rotateX(3deg) rotateY(-5deg) rotateZ(-3deg)!important}.panel-web{transform:rotateZ(3deg)!important}.panel-flow{transform:rotateZ(-3deg)!important}.halo,.workflow-node,.statement-orbit{translate:0 0!important}.js-motion [data-reveal]{opacity:1;translate:0 0}}
