/* Interaction layer: reveal, magnetic buttons, ripple hero, sorting crowd and gallery. */
.motion-reveal{opacity:0;translate:0 32px;filter:blur(4px);transition:opacity .85s var(--reveal-delay,0s),translate 1s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0s),filter .85s var(--reveal-delay,0s)}
.motion-reveal.motion-visible{opacity:1;translate:0 0;filter:blur(0)}
.reach-button{--lift:0px;transform:translate(var(--mag-x,0px),calc(var(--mag-y,0px) + var(--lift)));transition:transform .18s,box-shadow .25s,background .3s}.reach-button:hover{--lift:-3px;transform:translate(var(--mag-x,0px),calc(var(--mag-y,0px) + var(--lift)))}.reach-button>span{transition:transform .35s,background .35s}.reach-button:hover>span{transform:rotate(45deg)}
.hero-motion-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.reach-hero-bg{animation:none}.hero-feature-chip{position:absolute;z-index:3;pointer-events:none;padding:10px 17px;border:1px solid #ffffff50;color:#fff;background:#101112bb;backdrop-filter:blur(10px);border-radius:30px;font-family:ui-monospace,monospace;font-size:11px;box-shadow:0 10px 20px #0002;animation:featureFloat 3.5s ease-out both}.radar-ticks{position:absolute;inset:-3.5%;width:107%;height:107%;fill:none;stroke:#1115;stroke-width:.25;pointer-events:none}.radar-project{transition:color .5s,text-shadow .5s,scale .5s}.radar-project.radar-active{color:#141414!important;scale:1.08;text-shadow:0 0 12px #f94d2670}.radar-active i{background:#f94d26;box-shadow:0 0 0 5px #f94d2620}
.crowd-motion-canvas{position:absolute;inset:0;width:100%;height:100%}.crowd-label{position:absolute;top:17%;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.1em;color:#52564f;opacity:calc(.2 + var(--crowd-p,0)*.8);transform:translateX(-50%)}.crowd-label-0{left:24%}.crowd-label-1{left:50%}.crowd-label-2{left:76%}.crowd-caption{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;color:#858a81;font-size:8px}
.service-details[open] .service-expanded-img img{animation:serviceArrive .65s cubic-bezier(.2,.7,.2,1) both}.service-details[open] .service-expanded-copy>h3,.service-details[open] .service-expanded-copy>p{animation:serviceArrive .55s .07s both}.service-details[open] .service-expanded-copy li{animation:serviceArrive .5s both}.service-details li:nth-child(2){animation-delay:.06s!important}.service-details li:nth-child(3){animation-delay:.12s!important}.service-details li:nth-child(4){animation-delay:.18s!important}.service-details li:nth-child(5){animation-delay:.24s!important}
.case-visual{--compare:50%}.case-compare{position:absolute;inset:0;clip-path:inset(0 0 0 var(--compare));overflow:hidden;background:#d9d7cf}.case-compare img{width:100%;height:100%;object-fit:contain;transform:scale(1.65);transform-origin:60% 45%;padding:20px}.compare-divider{position:absolute;top:0;bottom:0;width:1px;left:var(--compare);background:#fff;z-index:4;pointer-events:none;box-shadow:0 0 8px #0004}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:1px solid #ffffffc0;background:#f94d26;box-shadow:0 4px 20px #0003;display:grid;place-items:center;color:#111;font-size:21px}.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;opacity:0;cursor:ew-resize;padding:0;z-index:6;touch-action:pan-y}.compare-range:focus-visible{opacity:.03;outline:5px solid #f94d26;outline-offset:-5px}.case-visual:focus-within .compare-divider span{outline:3px solid #111;outline-offset:4px}.compare-label{position:absolute;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;z-index:5;pointer-events:none;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:.05em}.compare-label span{padding:6px 9px;border-radius:20px;background:#fff9;backdrop-filter:blur(8px);color:#444}.case-motion-control{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;color:#888;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:.05em}.case-motion-control button{border:1px solid #1112;border-radius:20px;background:transparent;color:#555;padding:8px 12px;font-family:inherit;font-size:9px}.process-text article{opacity:.55;transition:opacity .5s,transform .5s}.process-text article.step-active{opacity:1;transform:translateX(6px)}.process-text .step-active>.mono{color:#f94d26}.delivery-stack>div{transition:box-shadow .5s,scale .5s}.delivery-stack>div.step-active{box-shadow:0 0 0 3px #f94d2630,0 12px 30px #0001;scale:1.025}.auto-gallery{scroll-snap-type:none;scroll-behavior:auto}.gallery-track>a{transition:transform .45s}.gallery-track>a:nth-child(2n){transform:translateY(15px)}.gallery-track>a:hover{transform:translateY(-6px)}.gallery-track{padding-bottom:36px}
@keyframes featureFloat{0%{opacity:0;transform:translateY(10px) scale(.8)}12%,65%{opacity:1;transform:translateY(-10px) scale(1)}100%{opacity:0;transform:translateY(-75px) scale(.95)}}@keyframes serviceArrive{from{opacity:0;translate:0 15px;filter:blur(2px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@media(max-width:650px){.crowd-label{font-size:8px}.crowd-label-0{left:22%}.crowd-label-2{left:78%}.crowd-caption{font-size:6px}.case-motion-control{flex-direction:column;align-items:start;gap:12px}.compare-label{left:12px;right:12px;font-size:7px}.compare-divider span{height:38px;width:38px}.hero-feature-chip{font-size:9px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;translate:none;filter:none}.hero-motion-canvas,.hero-feature-chip{display:none}.reach-button,.reach-button:hover{transform:none}.process-text article{opacity:1;transform:none}.gallery-track>a:nth-child(n){transform:none}.case-motion-control{display:none}}
