/* LUMA Constellation — a single, accessible CSS 3D scene. */
.hero-visual{filter:none}
.mach-scene{--scene-accent:#deedb3;isolation:isolate;overflow:visible;contain:layout style;cursor:default}
.constellation-stage{position:absolute;left:50%;top:50%;width:640px;height:600px;transform:translate(-50%,-50%) scale(var(--scene-scale,.8)) perspective(1000px) rotateX(calc(var(--pointer-y)*-2deg)) rotateY(calc(var(--pointer-x)*2deg));transform-origin:center;--pointer-x:0;--pointer-y:0}
.scene-aurora{position:absolute;inset:12% 3% 4%;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,#c3e09825,transparent 52%),radial-gradient(ellipse at 62% 66%,#3b95784a,transparent 62%);filter:blur(18px);animation:aurora-drift 12s ease-in-out infinite alternate;pointer-events:none}
.scene-grid{position:absolute;inset:12% 3% 8%;background-image:radial-gradient(#dcebc52e .7px,transparent .7px);background-size:24px 24px;mask-image:radial-gradient(ellipse,#0008,transparent 68%);transform:translate(calc(var(--pointer-x)*-5px),calc(var(--pointer-y)*-3px));pointer-events:none}
.scene-crest{position:absolute;left:50%;top:35px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #e0edb526;border-radius:30px;background:#193d3266;color:#c6d5b4;font-size:8px;letter-spacing:1.1px;white-space:nowrap}
.scene-crest i{width:5px;height:5px;background:#e5eab1;border-radius:50%;box-shadow:0 0 12px #e0edac;animation:scene-signal 3s ease-in-out infinite}
.constellation-links{position:absolute;inset:0;width:640px;height:600px;fill:none;stroke:#a9ca9e;stroke-width:.8;opacity:.65;pointer-events:none}
.connection-base{stroke-dasharray:2 6;opacity:.38}
.constellation-links .connection-flow{stroke:#e9f5bf;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:10 230;stroke-dashoffset:240;opacity:.55;animation:connection-flow 7s linear infinite;animation-delay:var(--flow-delay,0s)}
.constellation-links [data-connection]{transition:opacity .5s,stroke .5s}
.mach-scene[data-active="crm"] [data-connection="crm"],.mach-scene[data-active="marketing"] [data-connection="marketing"],.mach-scene[data-active="work"] [data-connection="work"],.mach-scene[data-active="operations"] [data-connection="operations"],.mach-scene[data-active="automation"] [data-connection="automation"],.mach-scene[data-active="service"] [data-connection="service"]{stroke:var(--scene-accent);opacity:1;stroke-width:1.6}
.orbit-system{position:absolute;left:50%;top:47%;width:460px;height:460px;transform:translate(-50%,-50%) rotateZ(-22deg);pointer-events:none}
.orbit-plane{position:absolute;inset:0;transform:rotateX(61deg);transform-style:preserve-3d}
.orbit-plane svg{width:100%;height:100%;overflow:visible;fill:none;stroke-width:1.15;animation:orbit-travel 28s linear infinite}
.orbit-track{stroke:#d7e6b9;opacity:.42}.orbit-trail{stroke:#f1f2c1;stroke-width:2;stroke-dasharray:60 1385;stroke-linecap:round;opacity:.85}.orbit-bead{fill:#f6f9d9;stroke:#f7ffde;stroke-width:2;filter:drop-shadow(0 0 8px #dfedb5)}
.orbit-system.orbit-cross{width:425px;height:425px;transform:translate(-50%,-50%) rotateZ(50deg)}
.orbit-cross .orbit-plane{transform:rotateX(63deg)}.orbit-cross svg{animation-duration:36s;animation-direction:reverse}.orbit-cross .orbit-track{stroke:#a1cfa7;opacity:.34}.orbit-cross .orbit-trail{stroke:#b5e2b1;stroke-dasharray:36 1409;opacity:.6}
.orbit-back{z-index:1;clip-path:inset(0 0 50%)}.orbit-front{z-index:5;clip-path:inset(50% 0 0)}
.scene-pedestal{position:absolute;width:350px;height:126px;left:145px;top:382px;pointer-events:none;z-index:0;transform:translate(calc(var(--pointer-x)*-7px),calc(var(--pointer-y)*-3px))}
.pedestal-shadow{position:absolute;inset:28px -10px -22px;background:radial-gradient(ellipse,#051c16b8,transparent 66%);filter:blur(10px)}
.pedestal-bottom,.pedestal-top,.pedestal-ring{position:absolute;border-radius:50%;border:1px solid #c0d99c3d}
.pedestal-bottom{inset:25px 0 0;background:linear-gradient(135deg,#50795c,#224c3b 65%);box-shadow:0 8px 0 #173c2c,0 9px 0 #b1cd8f26,0 24px 32px #071e1738}
.pedestal-top{inset:12px 10px 17px;background:radial-gradient(ellipse at 45% 25%,#8da87f,#587958 48%,#30533f);border-top-color:#d0e2ac9c;box-shadow:inset 0 1px 10px #e3edb329,0 6px 0 #30523d}
.pedestal-ring{inset:21px 33px 27px;border-color:#cfe4a938;box-shadow:0 0 16px #d1e59d08,inset 0 0 20px #c3e5970a}
.pedestal-ring:after{content:'';position:absolute;inset:10px 35px;border:1px solid #d5e9b122;border-radius:50%}
.core-light{position:absolute;width:235px;height:235px;left:203px;top:172px;background:radial-gradient(circle,#e1efb526,transparent 68%);border-radius:50%;animation:core-light 8s ease-in-out infinite;z-index:1;pointer-events:none}
.core-shadow{position:absolute;width:180px;height:45px;left:230px;top:410px;border-radius:50%;background:radial-gradient(ellipse,#082d1ab0,transparent 70%);filter:blur(8px);animation:core-shadow 7s ease-in-out infinite;pointer-events:none}
.core-anchor{position:absolute;left:50%;top:46%;width:160px;height:160px;margin:-80px 0 0 -80px;perspective:1000px;z-index:3;transform:translate(calc(var(--pointer-x)*9px),calc(var(--pointer-y)*6px))}
.core-levitation{width:100%;height:100%;transform-style:preserve-3d;animation:core-levitate 7s ease-in-out infinite}
.sculpture-cube{--cube:160px;position:relative;width:var(--cube);height:var(--cube);transform-style:preserve-3d;transform:rotateX(calc(-16deg + var(--pointer-y)*-4deg)) rotateY(calc(-25deg + var(--pointer-x)*7deg)) rotateZ(-4deg)}
.cube-face{position:absolute;inset:0;border:1px solid #d8e9b695;border-radius:17px;backface-visibility:hidden}
.cube-front{transform:translateZ(80px);background:radial-gradient(ellipse at 12% 5%,#a4bd7c,#648d61 36%,#2c6147 75%,#234e3a);box-shadow:inset 3px 3px 7px #f0f6d25c,inset -2px -3px 6px #062c266b;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f5f4d7;overflow:hidden}
.cube-front:before{content:'';position:absolute;inset:9px;border:1px solid #e4efbc26;border-radius:9px;background:linear-gradient(140deg,#f8ffdb0a,transparent 50%)}
.cube-front:after{content:'';position:absolute;inset:-50% -140%;background:linear-gradient(110deg,transparent 38%,#fbffdf2e 48%,transparent 58%);animation:cube-sheen 11s ease-in-out infinite}
.cube-front svg{width:65px;height:78px;margin:3px 0 2px;fill:#f4f3cd;filter:drop-shadow(2px 3px 0 #305a3f) drop-shadow(0 0 14px #e7edb235)}
.cube-front b{font-size:26px;letter-spacing:-1.1px;line-height:1.35}.cube-front small{font-size:5.5px;letter-spacing:2px;color:#d4e3b4;margin-top:6px}
.cube-right{transform:rotateY(90deg) translateZ(80px);background:linear-gradient(135deg,#a0b882,#668b5f 40%,#355b40);box-shadow:inset -3px 2px 10px #e7efba40,inset 8px 0 25px #183f303b}
.cube-right:before{content:'';position:absolute;inset:14px;border:1px solid #def0bc38;border-radius:7px;background:repeating-linear-gradient(0deg,transparent 0 20px,#c9e3a50e 20px 21px)}
.cube-right:after{content:'';position:absolute;left:28px;right:28px;top:70px;height:5px;border-radius:10px;background:#e3ecc19e;box-shadow:0 11px 0 #e3ecc128}
.cube-top{transform:rotateX(90deg) translateZ(80px);background:linear-gradient(30deg,#799b68,#d5dfb2);box-shadow:inset 0 0 10px #f6ffe5b3}
.cube-top:after{content:'';position:absolute;inset:23px;border:1px solid #f4f9d870;border-radius:14px;box-shadow:inset 0 0 30px #eff3c326}
.cube-left{transform:rotateY(-90deg) translateZ(80px);background:#346044}.cube-back{transform:rotateY(180deg) translateZ(80px);background:#416546}.cube-bottom{transform:rotateX(-90deg) translateZ(80px);background:#234c36}
.scene-card{position:absolute;width:180px;height:82px;left:var(--card-x);top:var(--card-y);margin:-41px 0 0 -90px;padding:0;border:0;background:none;color:#294936;text-align:left;z-index:6;transform:translate(calc(var(--pointer-x)*var(--card-depth,4px)),calc(var(--pointer-y)*var(--card-depth,4px)));cursor:pointer;isolation:isolate;-webkit-user-select:none;user-select:none}
.scene-card-body{display:flex;align-items:center;gap:11px;position:absolute;inset:0;padding:14px 13px;border:1px solid #edf3d4;border-radius:13px;background:linear-gradient(140deg,#f5f5e4,#e4e9d0 70%,#d1ddbc);box-shadow:3px 5px 0 #8b9f78,4px 6px 0 #a6b592,10px 18px 26px #061e1b54,inset 1px 1px 3px #fff9;transform:rotate(var(--card-rotate,-4deg));animation:card-float 7s ease-in-out infinite;animation-delay:var(--card-delay,0s);transition:background .4s,box-shadow .4s,scale .35s,border-color .35s}
.scene-card-body:after{content:'';position:absolute;left:13px;right:13px;bottom:9px;height:2px;background:linear-gradient(90deg,#72966a 0 24%,#7f9c6c1a 24% 100%);border-radius:10px;opacity:.45}
.scene-card-icon{height:35px;width:35px;border:1px solid #63885b2b;background:#d1ddbc70;border-radius:10px;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 1px 2px #fff8}
.scene-card-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.scene-card-label{display:flex;flex-direction:column;gap:4px;min-width:0}.scene-card-label b{font-size:14px;line-height:1.3;font-weight:600;white-space:nowrap;letter-spacing:-.25px}.scene-card-label small{font-size:7px;line-height:1.4;letter-spacing:.5px;color:#74876a}
.scene-card[aria-pressed="true"] .scene-card-body{border-color:#f3f8d2;background:linear-gradient(135deg,#fffde8,#ecf1ce 65%,#d3e0ae);box-shadow:0 0 0 4px #d7e7a61c,3px 5px 0 #9cb37c,4px 6px 0 #b1c28a,10px 18px 26px #061e1b54,0 0 24px #dcedb315}
.scene-card[aria-pressed="true"] .scene-card-body:after{background:linear-gradient(90deg,#557c44 0 70%,#7f9c6c1a 70% 100%);opacity:.75}
.scene-card[aria-pressed="true"] .scene-card-icon{background:#d8e6b1}.scene-card:hover .scene-card-body,.scene-card:focus-visible .scene-card-body{scale:1.055;box-shadow:0 0 0 4px #e9efbd24,3px 6px 0 #9cb37c,10px 24px 30px #061e1b65}.scene-card:focus-visible{outline:2px solid #e4f0b7;outline-offset:10px;border-radius:13px}
.scene-card-marketing{--card-x:320px;--card-y:115px;--card-rotate:-6deg;--card-delay:-1.1s;--card-depth:-5px}.scene-card-marketing .scene-card-body{background:linear-gradient(140deg,#fbf2d8,#e6d8ae)}.scene-card-marketing .scene-card-icon{background:#dfcf9c66;color:#7c7749}
.scene-card-crm{--card-x:107px;--card-y:223px;--card-rotate:-6deg;--card-delay:-2s;--card-depth:7px}
.scene-card-work{--card-x:531px;--card-y:214px;--card-rotate:7deg;--card-delay:-3.7s;--card-depth:4px}.scene-card-work .scene-card-body{background:linear-gradient(140deg,#eef4e7,#d4e4d4)}
.scene-card-service{--card-x:109px;--card-y:395px;--card-rotate:-4deg;--card-delay:-.3s;--card-depth:10px}
.scene-card-operations{--card-x:530px;--card-y:393px;--card-rotate:-5deg;--card-delay:-4.9s;--card-depth:9px}.scene-card-operations .scene-card-label b{font-size:12.5px;white-space:normal;text-wrap:balance}
.scene-card-automation{--card-x:325px;--card-y:491px;--card-rotate:5deg;--card-delay:-5.6s;--card-depth:13px;width:166px;margin-left:-83px}
.scene-mote{position:absolute;border-radius:50%;background:#dfedb0;box-shadow:0 0 10px #e4f4b644;width:3px;height:3px;pointer-events:none;opacity:.6;animation:mote-float 8s ease-in-out infinite}.scene-mote:nth-child(2){animation-delay:-3s}.scene-mote:nth-child(3){animation-delay:-5s}.scene-mote:nth-child(4){animation-delay:-1s}
.scene-caption{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);font-size:8px;letter-spacing:.5px;color:#abbf99;display:flex;gap:8px;align-items:center;white-space:nowrap}.scene-caption svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1}
.hero-visual .visual-coordinate{left:30px;right:20px;top:20px;opacity:.7}.hero-visual .scene-controls{display:none}
.mach-scene[data-in-view="false"] *,.mach-scene[data-in-view="false"] *:before,.mach-scene[data-in-view="false"] *:after,.mach-scene[data-page-hidden="true"] *,.mach-scene[data-page-hidden="true"] *:before,.mach-scene[data-page-hidden="true"] *:after,.mach-scene[data-motion="paused"] *,.mach-scene[data-motion="paused"] *:before,.mach-scene[data-motion="paused"] *:after{animation-play-state:paused!important}
@keyframes orbit-travel{to{rotate:360deg}}
@keyframes core-levitate{50%{translate:0 -11px;rotate:1.3deg}}
@keyframes card-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes core-light{50%{scale:1.13;opacity:.65}}
@keyframes core-shadow{50%{scale:.85;opacity:.7}}
@keyframes cube-sheen{0%,45%{translate:-25% 0}80%,100%{translate:25% 0}}
@keyframes scene-signal{50%{opacity:.5;box-shadow:0 0 5px #e0edac}}
@keyframes aurora-drift{to{translate:10px -12px;opacity:.65}}
@keyframes connection-flow{to{stroke-dashoffset:-240}}
@keyframes mote-float{50%{translate:0 -14px;opacity:.2}}
@media(max-width:1050px) and (min-width:901px){.hero-visual{width:calc(100% + 50px);margin-left:-15px;height:550px}.scene-card-label b{font-size:15px}.scene-card-operations .scene-card-label b{font-size:13px}}
@media(max-width:900px){.hero-visual{width:100%;max-width:660px;height:auto;aspect-ratio:640/600;margin:-14px auto 0}.hero-copy{padding-bottom:20px}}
@media(max-width:650px){.hero-visual{width:calc(100% + 28px);max-width:none;height:auto;min-height:0;aspect-ratio:640/620;margin:0 -14px}.hero-visual .visual-coordinate{left:15px;right:15px;top:8px}.scene-card-label b{font-size:18px;letter-spacing:-.4px}.scene-card-operations .scene-card-label b{font-size:15px}.scene-card-label small{display:none}.scene-card-label{gap:0}.scene-card-body{padding-inline:11px;gap:8px}.scene-card-icon{width:32px;height:32px}.scene-card-body:after{bottom:10px}.scene-crest{font-size:10px;top:28px}.scene-caption{font-size:10px;bottom:13px;letter-spacing:0}.scene-aurora{filter:none}.cube-front small{font-size:7px}.scene-mote{display:none}}
@media(prefers-reduced-motion:reduce){.mach-scene *,.mach-scene *:before,.mach-scene *:after{animation:none!important;transition:none!important}.core-anchor,.scene-card,.scene-grid,.scene-pedestal{transform:none}.scene-aurora{filter:none}}
@media(max-width:650px){.scene-card{height:96px;margin-top:-48px}.scene-card-body{inset:7px 0}.scene-card-operations .scene-card-label b{font-size:18px}}


/* Tilt starts by default where supported; vertical page scrolling stays native. */
@media(pointer:coarse){.mach-scene,.mach-scene .scene-card{touch-action:pan-y}}
