body.spatial-app{height:100svh;overflow:hidden;background:#e3e0d7}body.spatial-app>header,body.spatial-app>footer{display:none}.spatial-app>main{visibility:hidden}.spatial-app.is-ready>main{display:none}.spatial-world,.spatial-dom{position:fixed;inset:0;overflow:hidden}.spatial-dom{pointer-events:none}.spatial-dom>div{pointer-events:none}.spatial-panel{width:1120px;height:690px;pointer-events:auto;background:#eeeae2f5;border:1px solid #fff8;box-shadow:0 20px 60px #2b35221c;backface-visibility:hidden;border-radius:3px;overflow:hidden;transition:opacity .2s}.spatial-panel[aria-hidden=true]{pointer-events:none}.panel-heading{height:54px;border-bottom:1px solid #26301e22;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font:9px var(--mono);letter-spacing:2px;color:#79816e;background:#e7e5db}.panel-heading b{font-weight:500;color:#38432e}.panel-scroll{height:635px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a2ac91 transparent}.spatial-panel .section{padding:45px 42px}.spatial-panel .section-heading{margin-bottom:30px}.spatial-panel .section-heading h2{font-size:32px}.spatial-panel .section-heading .eyebrow{margin-bottom:12px}.spatial-panel .case-image{min-height:230px}.spatial-panel .case-summary{padding:26px}.spatial-panel .case-summary h3{font-size:22px}.spatial-panel .case-list{gap:23px}.spatial-panel .catalog-card{padding:23px}.spatial-panel .catalog-card h3{font-size:19px}.spatial-panel .capability-map{padding-bottom:15px}.spatial-panel .tech-stack{padding-top:10px}.spatial-panel .hero{min-height:575px;height:575px;max-height:none;padding:0 42px;overflow:visible}.spatial-panel .hero-top{padding-top:23px;font-size:8px}.spatial-panel .hero-copy{padding-top:50px;width:57%}.spatial-panel .hero h1{font-size:72px}.spatial-panel .hero h1 i{font-size:35px}.spatial-panel .hero .intro{font-size:12px;max-width:450px}.spatial-panel .hero-meta{margin-top:30px}.spatial-panel .hero-bottom{bottom:0;left:42px;right:42px;height:60px}.spatial-panel .hero-index,.spatial-panel .scroll-link{display:none}.spatial-panel .scene-wrap{inset:0 0 60px 53%;z-index:0;pointer-events:none}.spatial-panel .scene-halo,.spatial-panel #scene,.spatial-panel .label-top{display:none}.spatial-panel .scene-wrap .label-bottom{bottom:36px;left:0}.spatial-panel .scene-wrap button{pointer-events:auto;bottom:30px}.spatial-panel .hero-actions{gap:20px}.spatial-panel .hero-actions .text-link{font-size:10px}.spatial-panel.intro-panel{background:transparent;box-shadow:none;border-color:transparent}.intro-panel .panel-heading{background:transparent}.spatial-panel .contact{gap:50px;grid-template-columns:1fr 1fr}.spatial-panel .contact h2{font-size:50px}.spatial-panel .contact form{padding-top:0}.spatial-panel .partners{gap:40px}.spatial-panel .needs-grid{grid-template-columns:repeat(4,1fr)}.spatial-panel .needs-grid>a:nth-child(3){border-top:0;border-left:1px solid var(--line);padding-left:23px}.spatial-panel .needs-grid>a:nth-child(4){border-top:0}.spatial-panel .needs-grid h3{font-size:18px}.spatial-panel .project-art{height:220px}.spatial-panel .project h3{font-size:22px}.spatial-panel .lab-copy h3{font-size:32px}.spatial-hud{position:fixed;top:0;left:0;right:0;z-index:10;height:76px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#e3e0d7f2,#e3e0d7aa,transparent);gap:20px}.spatial-logo{display:flex;gap:12px;align-items:center;font:800 20px var(--mono);letter-spacing:-1px}.spatial-logo b{color:var(--accent);font-size:32px;font-weight:400}.spatial-logo small{font:8px var(--mono);letter-spacing:1px;color:#7a826d;margin-left:15px}.hud-actions{display:flex;gap:10px;align-items:center}.hud-actions button,.hud-actions a{border:1px solid #52604433;border-radius:30px;background:#eeeae2c9;padding:10px 16px;font-size:10px;color:#526044}.hud-actions .contact-jump{background:#293723;color:#eeeae2}.spatial-nav{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:7px;display:flex;gap:3px;background:#f4f1e7e8;border:1px solid #fff;border-radius:12px;box-shadow:0 10px 40px #31402b16;z-index:10;backdrop-filter:blur(16px)}.spatial-nav button{background:none;border:0;padding:12px 17px;font-size:11px;white-space:nowrap;border-radius:6px;display:flex;align-items:center;gap:9px}.spatial-nav button span{font:8px var(--mono);color:#8d9780}.spatial-nav button[aria-current=true]{background:#2a3925;color:#fff}.spatial-nav button[aria-current=true] span{color:#b6c6a4}.spatial-status{position:fixed;left:30px;bottom:37px;font:9px var(--mono);color:#78856b;z-index:9;line-height:1.8;max-width:200px}.spatial-step{position:fixed;right:30px;bottom:33px;display:flex;gap:8px;z-index:10}.spatial-step button{width:40px;height:40px;border:1px solid #6c7d5633;background:#eeeae2cc;border-radius:50%;font-size:17px}.spatial-loading{position:fixed;inset:0;display:grid;place-content:center;gap:20px;text-align:center;background:#eeeae2;z-index:20;font:12px var(--mono);color:#647453}.spatial-loading b{font-size:35px;color:#e64c27;font-weight:400}.spatial-loading a{text-decoration:underline;font-size:10px}.is-ready .spatial-loading{display:none}.overview-mode .spatial-panel{pointer-events:none}.overview-mode .spatial-status{max-width:240px}.mobile-reading{display:none}
@media(max-width:760px){.spatial-hud{height:65px;padding:0 15px}.spatial-logo{font-size:16px}.spatial-logo small{display:none}.hud-actions{gap:6px}.hud-actions button,.hud-actions a{font-size:9px;padding:8px 10px}.hud-actions .contact-jump{display:none}.spatial-nav{bottom:18px;max-width:calc(100% - 20px);overflow-x:auto;justify-content:start;padding:5px;gap:0}.spatial-nav button{padding:10px 12px;font-size:10px}.spatial-nav button span{display:none}.spatial-status{left:15px;bottom:77px;font-size:8px;max-width:220px}.spatial-step{right:15px;bottom:74px}.spatial-step button{width:32px;height:32px}.spatial-panel{width:360px;height:570px}.panel-heading{height:40px;padding:0 20px;font-size:7px;letter-spacing:1px}.panel-scroll{height:530px}.spatial-panel .section{padding:28px 22px}.spatial-panel .hero{height:500px;min-height:500px;padding:0 22px}.spatial-panel .hero-copy{width:100%;padding-top:24px}.spatial-panel .hero-top{font-size:6px;padding-top:17px}.spatial-panel .hero h1{font-size:46px;margin-bottom:15px}.spatial-panel .hero-copy>.eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:12px}.spatial-panel .hero .intro{font-size:10px;line-height:1.9;max-width:290px}.spatial-panel .hero-actions{margin-top:20px}.spatial-panel .hero-actions .button{font-size:10px;padding:12px}.spatial-panel .hero-actions .text-link{display:none}.spatial-panel .hero-meta{display:none}.spatial-panel .hero-bottom{left:20px;right:20px;height:45px;bottom:0}.spatial-panel .scene-tabs button{font-size:7px;padding:0 10px}.spatial-panel .scene-tabs button span{font-size:10px}.spatial-panel .scene-wrap{inset:340px 0 40px 0}.spatial-panel .scene-wrap .label-bottom{left:22px;bottom:12px;font-size:6px}.spatial-panel .scene-wrap button{bottom:7px}.spatial-panel .section-heading h2{font-size:24px}.spatial-panel .case-card,.spatial-panel .project-list,.spatial-panel .service-grid,.spatial-panel .contact,.spatial-panel .partners,.spatial-panel .lab-panel{grid-template-columns:1fr}.spatial-panel .case-image{min-height:200px;max-height:220px}.spatial-panel .case-summary{padding:22px}.spatial-panel .case-summary h3{font-size:21px}.spatial-panel .case-catalog{grid-template-columns:1fr}.spatial-panel .needs-grid{grid-template-columns:1fr 1fr}.spatial-panel .needs-grid>a:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.spatial-panel .needs-grid>a:nth-child(4){border-top:1px solid var(--line)}.spatial-panel .capability-grid,.spatial-panel .stack-groups{grid-template-columns:1fr 1fr;gap:20px}.spatial-panel .contact h2{font-size:39px}.spatial-panel .contact{gap:20px}.spatial-panel .hero .reset-view{right:65px}.spatial-panel .hero .motion{right:22px}.spatial-panel .lab-copy{padding:25px 0}}
.spatial-world{z-index:0}.spatial-dom{z-index:2;isolation:isolate}.spatial-panel.intro-panel{background:linear-gradient(90deg,#e3e0d7ee 48%,transparent 62%)}
/* Keep the CSS3D object's transform context unflattened; scrolling belongs to its child. */
.spatial-panel{overflow:visible;backface-visibility:visible}.panel-scroll{border-radius:0 0 3px 3px}.intro-panel .panel-scroll{background:linear-gradient(90deg,#e3e0d7ee 48%,transparent 62%)}
.exhibit-hud{position:fixed;inset:100px 0 110px;z-index:4;pointer-events:none;color:#2b3825}.exhibit-hud[hidden],.return-exhibits[hidden]{display:none}.exhibit-heading{text-align:center}.exhibit-heading>span{font:9px var(--mono);letter-spacing:2px;color:#7b866e}.exhibit-heading h2{font-size:36px;font-weight:500;letter-spacing:-1px;margin:16px 0 12px}.exhibit-heading p{font-size:10px;color:#8b937f}.exhibit-controls{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(850px,90vw);text-align:center;pointer-events:auto}.exhibit-tabs{display:flex;justify-content:center;gap:12px}.exhibit-tabs button,.exhibit-caption button{border:1px solid #6c805339;background:#eeeae2d9;border-radius:4px;padding:11px 17px;font-size:10px}.exhibit-tabs button[aria-pressed=true]{background:#2d3d27;color:#f7f3e7}.exhibit-caption h3{font-size:18px;font-weight:500;margin:20px 0 8px}.exhibit-caption p{font-size:10px;color:#7c876f;margin:0 0 14px}.exhibit-caption>div{display:flex;gap:10px;justify-content:center}.exhibit-caption button{font-size:9px;background:#eeeae2ad}.return-exhibits{position:fixed;top:83px;right:30px;z-index:12;background:#2d3d27;color:#eeeae2;border:0;border-radius:4px;padding:10px 15px;font-size:10px}.exhibit-mode .spatial-dom{pointer-events:none}.exhibit-mode .spatial-world{cursor:pointer}
@media(max-width:760px){.exhibit-hud{inset:85px 0 115px}.exhibit-heading h2{font-size:27px;margin-top:12px}.exhibit-heading>span{font-size:7px;letter-spacing:1px}.exhibit-heading p{font-size:8px;padding:0 20px;line-height:1.8}.exhibit-controls{bottom:0;width:94vw}.exhibit-tabs{gap:5px}.exhibit-tabs button{font-size:9px;padding:10px}.exhibit-caption h3{font-size:17px;margin-top:15px}.exhibit-caption p{font-size:9px;line-height:1.8;max-width:310px;margin:0 auto 12px}.exhibit-caption>div{gap:5px;flex-wrap:wrap}.exhibit-caption button{font-size:8px;padding:9px}.return-exhibits{top:71px;right:16px;font-size:9px}}
.globe-navigation{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at 54% 43%,#f3f0e7f5,#e2e0d4fa 75%);backdrop-filter:blur(22px);color:#293622;isolation:isolate}.globe-navigation[hidden]{display:none}.globe-top{position:absolute;left:4%;right:4%;top:25px;display:flex;justify-content:space-between;align-items:center;z-index:4}.globe-brand{font-size:32px;color:#e65a32;display:flex;align-items:center;gap:12px}.globe-brand b{font:800 20px var(--mono);letter-spacing:-1px;color:#293622}.globe-brand span{font:8px var(--mono);letter-spacing:2px;color:#839075;margin-left:20px}.globe-close{border:1px solid #7b896344;background:transparent;padding:12px 18px;border-radius:30px;font-size:10px}.globe-intro{position:absolute;left:7%;top:24%;pointer-events:none;z-index:2}.globe-intro>span{font:9px var(--mono);letter-spacing:2px;color:#8b957e}.globe-intro h1{font-size:clamp(42px,4.7vw,74px);line-height:1.35;letter-spacing:-3px;font-weight:500;margin:25px 0}.globe-intro h1 span{color:#e65831;font-family:"Songti SC",serif}.globe-intro p{font-size:12px;color:#829074;line-height:2}.globe-canvas{position:absolute;left:28%;top:11%;width:67%;height:66%;cursor:grab;touch-action:none;outline:none}.globe-canvas.dragging{cursor:grabbing}.globe-canvas canvas{display:block;width:100%;height:100%}.globe-labels{position:absolute;inset:0;pointer-events:none}.globe-node-label{position:absolute;top:0;left:0;font:9px var(--mono);padding:8px 12px;border:1px solid #8a997051;background:#efeee4e8;border-radius:20px;white-space:nowrap;transition:background .2s}.globe-node-label.is-selected{color:#fff;background:#33452c;border-color:#33452c}.globe-preview{position:absolute;bottom:11%;left:38%;right:8%;text-align:center;z-index:3}.globe-number{font:9px var(--mono);color:#d1633f;letter-spacing:3px}.globe-preview h2{font-size:32px;font-weight:500;margin:10px 0}.globe-preview>p{font-size:11px;color:#7a886c;line-height:1.8;margin:0 0 20px}.globe-preview-actions{display:flex;align-items:center;justify-content:center;gap:10px}.globe-preview-actions button{padding:13px 18px;border:1px solid #81936a44;border-radius:4px;background:#f5f1e5;font-size:12px}.globe-preview-actions .globe-enter{background:#2f4228;color:#f7f5eb;min-width:180px}.globe-help{display:block;font-size:9px;color:#8a977a;margin-top:17px;min-height:15px}.globe-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:28px;display:flex;gap:10px;z-index:4}.globe-dots button{font-size:10px;padding:9px 14px;background:none;border:0;color:#8a967d;border-bottom:1px solid transparent}.globe-dots button[aria-pressed=true]{color:#df6137;border-bottom-color:#df6137}.globe-contact{position:absolute;bottom:35px;right:4%;font-size:10px;z-index:4;color:#566d44}.globe-open>.spatial-hud,.globe-open>.spatial-nav,.globe-open>.spatial-step,.globe-open>.exhibit-hud,.globe-open>.return-exhibits{visibility:hidden}
@media(max-width:760px){.globe-top{top:20px;left:5%;right:5%}.globe-brand{font-size:25px;gap:8px}.globe-brand b{font-size:17px}.globe-brand span{display:none}.globe-close{padding:10px 12px;font-size:9px}.globe-intro{left:7%;top:13%}.globe-intro>span{font-size:7px;letter-spacing:1px}.globe-intro h1{font-size:35px;letter-spacing:-1px;margin:12px 0;line-height:1.35}.globe-intro h1 br{display:none}.globe-intro p{font-size:10px;margin-top:10px}.globe-canvas{left:0;top:24%;width:100%;height:43%}.globe-preview{left:7%;right:7%;bottom:12%}.globe-preview h2{font-size:25px;margin:8px 0}.globe-preview>p{font-size:10px;margin-bottom:14px}.globe-preview-actions button{padding:11px 16px}.globe-help{font-size:8px;margin-top:12px}.globe-node-label{font-size:8px;padding:6px 9px}.globe-dots{bottom:28px;width:94%;gap:0;justify-content:center}.globe-dots button{padding:8px 9px;font-size:9px}.globe-contact{right:6%;bottom:9px;font-size:8px}}
