.reviews-window{position:relative}.reviews-window:before,.reviews-window:after{content:"";z-index:1;pointer-events:none;width:48px;position:absolute;top:0;bottom:24px}.reviews-window:before{background:linear-gradient(to right, var(--paper), transparent);left:0}.reviews-window:after{background:linear-gradient(to left, var(--paper), transparent);right:0}.reviews[data-overflow=false] .reviews-window:before,.reviews[data-overflow=false] .reviews-window:after{display:none}.reviews .reviews-viewport{overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.reviews .reviews-viewport::-webkit-scrollbar{display:none}.reviews .reviews-viewport:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.reviews[data-overflow=false] .reviews-group-copy{display:none}@media (max-width:760px){.reviews-window:before,.reviews-window:after{width:24px}}@media (prefers-reduced-motion:reduce){.reviews .reviews-group-copy{display:none}.reviews .reviews-viewport{scrollbar-width:thin}}
.cleanup-scene{--scene-duration:4.2s;pointer-events:none;display:block;position:absolute;inset:0}.scene-layer{display:block;position:absolute;inset:0}.scene-layer svg{width:100%;height:100%;display:block}.scene-environment{opacity:.55;transition:opacity .65s cubic-bezier(.4,0,.2,1)}.scene-clouds{opacity:.6}.scene-rain,.scene-daylight,.scene-sun,.scene-activity{opacity:0}.scene-activity svg{overflow:visible}.scene-debris{opacity:0}.scene-stage{letter-spacing:.015em;color:#42584a;font-size:10px;font-weight:700;display:grid;position:absolute;top:12px;left:12px}.scene-stage>span{background:#f8f7f2f0;border-radius:3px;grid-area:1/1;padding:5px 8px}.scene-stage-working,.scene-stage-after{opacity:0}.scale-visual[data-active=true] .scene-environment{opacity:1}.scale-visual[data-active=true] .scene-debris{opacity:1;transition:opacity .65s cubic-bezier(.4,0,.2,1)}.scale-visual[data-active=true] .scene-stage-working{animation:scene-working-label var(--scene-duration) linear both}.scale-visual[data-active=true] .scene-stage-after{animation:scene-finish-label var(--scene-duration) linear both}.scale-visual[data-active=true] .scene-clouds{animation:scene-cloud-pass var(--scene-duration) ease-in-out both}.scale-visual[data-active=true] .scene-rain{animation:scene-rain-pass var(--scene-duration) linear both}.scale-visual[data-active=true] .scene-sun,.scale-visual[data-active=true] .scene-daylight{animation:scene-daylight var(--scene-duration) ease-in-out both}.scale-visual[data-active=true] .scene-tree{animation:scene-tree-breeze var(--scene-duration) ease-in-out both;transform-box:fill-box;transform-origin:bottom}.scale-visual[data-active=true] .scene-loose-paper{animation:scene-paper-breeze var(--scene-duration) ease-in-out both;transform-box:fill-box;transform-origin:50%}.scale-visual[data-active=true] .scene-pile{transform-box:fill-box;transform-origin:bottom;animation:.35s cubic-bezier(.2,0,0,1) both scene-clear-pile}.scale-visual[data-active=true] .scene-pile-1{animation-delay:1.3s}.scale-visual[data-active=true] .scene-pile-2{animation-delay:2.45s}.scale-visual[data-active=true] .scene-pile-3{animation-delay:3.3s}.scale-visual[data-active=true] .scene-activity{animation:scene-ground-route var(--scene-duration) linear both}.scale-visual[data-active=true] .scene-leg{animation:scene-walk var(--scene-duration) linear both;transform-box:fill-box;transform-origin:top}.scale-visual[data-active=true] .scene-leg-right{animation-name:scene-walk-right}.scale-visual[data-active=true] .scene-worker-arm{animation:scene-collect var(--scene-duration) ease-in-out both;transform-box:fill-box;transform-origin:top}.scale-visual[data-active=true] .scene-worker-body{animation:scene-bend var(--scene-duration) ease-in-out both;transform-box:fill-box;transform-origin:bottom}.scale-visual[data-active=true] .scene-crew-second .scene-facing{animation:scene-turn var(--scene-duration) steps(1,end) both;transform-box:view-box;transform-origin:0 0}.scale-visual[data-active=true] .scene-wheel{animation:scene-wheel-roll var(--scene-duration) ease-in-out both;transform-box:fill-box;transform-origin:50%}.scale-visual[data-active=true] .scene-equipment .scene-worker-body,.scale-visual[data-active=true] .scene-equipment .scene-worker-arm{animation:none}.scale-visual[data-active=true] .scene-equipment .scene-leg{animation-name:scene-operator-walk}.scale-visual[data-motion=false] .cleanup-scene *{animation-play-state:paused!important}@keyframes scene-working-label{0%,79%{opacity:1}87%,to{opacity:0}}@keyframes scene-finish-label{0%,86%{opacity:0}94%,to{opacity:1}}@keyframes scene-cloud-pass{0%{opacity:.6;transform:translate(0)}65%,to{opacity:.15;transform:translate(-5%,1%)}}@keyframes scene-rain-pass{0%{opacity:0;transform:translateY(-1%)}8%{opacity:.35}22%,to{opacity:0;transform:translate(-1%,2%)}}@keyframes scene-daylight{0%,30%{opacity:0}80%,to{opacity:1}}@keyframes scene-tree-breeze{0%,to{transform:rotate(0)}15%,45%{transform:rotate(-2deg)}30%,65%{transform:rotate(1deg)}80%{transform:rotate(-.5deg)}}@keyframes scene-paper-breeze{0%,30%,to{transform:translate(0)rotate(0)}15%{transform:translate(2px,-1px)rotate(-4deg)}}@keyframes scene-clear-pile{0%{opacity:1;scale:1}to{opacity:0;scale:.9}}@keyframes scene-ground-route{0%{opacity:0;transform:var(--route-0)}12%{opacity:1;transform:var(--route-1)}24%{opacity:1;transform:var(--route-2)}34%{opacity:1;transform:var(--route-3)}48%{opacity:1;transform:var(--route-4)}60%{opacity:1;transform:var(--route-5)}74%{opacity:1;transform:var(--route-6)}82%{opacity:1;transform:var(--route-7)}94%{opacity:0;transform:var(--route-8)}to{opacity:0;transform:var(--route-9)}}@keyframes scene-walk{0%,12%,34%,48%,60%,74%,82%,to{transform:rotate(0)}3%,9%,38%,44%,64%,70%,86%,92%{transform:rotate(-12deg)}6%,41%,67%,89%{transform:rotate(10deg)}}@keyframes scene-walk-right{0%,12%,34%,48%,60%,74%,82%,to{transform:rotate(0)}3%,9%,38%,44%,64%,70%,86%,92%{transform:rotate(10deg)}6%,41%,67%,89%{transform:rotate(-12deg)}}@keyframes scene-collect{0%,12%,34%,48%,60%,74%,82%,to{transform:rotate(0)}24%,56%,78%{transform:rotate(-30deg)}}@keyframes scene-bend{0%,12%,34%,48%,60%,74%,82%,to{transform:rotate(0)}24%,56%,78%{transform:rotate(8deg)}}@keyframes scene-turn{0%{transform:scaleX(-1)}60%,to{transform:scaleX(1)}}@keyframes scene-operator-walk{0%,12%,74%,to{transform:rotate(0)}3%,9%,78%,86%,92%{transform:rotate(-10deg)}6%,82%,89%{transform:rotate(10deg)}}@keyframes scene-wheel-roll{0%{transform:rotate(0)}12%,74%{transform:rotate(-120deg)}to{transform:rotate(-280deg)}}@media (prefers-reduced-motion:reduce){.scale-visual .cleanup-scene *{transition:none!important;animation:none!important}.scale-visual[data-active=true] .scene-pile{opacity:0}.scale-visual[data-active=true] .scene-stage-after,.scale-visual[data-active=true] .scene-sun,.scale-visual[data-active=true] .scene-daylight{opacity:1}.scale-visual[data-active=true] .scene-clouds{opacity:.15}.scene-activity,.scene-rain,.scene-stage-working{display:none}}
.project-types-grid>[data-copy=true],.project-carousel-controls{display:none}@media (max-width:760px){.project-carousel{min-width:0}.project-carousel[data-ready=false] [data-copy=true]{display:none}.project-carousel .project-types-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;grid-template-columns:none;grid-auto-columns:100%;grid-auto-flow:column;gap:20px;margin:-5px -20px 0;padding:5px 34px 12px;scroll-padding-inline:34px;display:grid;position:relative;overflow-x:auto}.project-types-grid::-webkit-scrollbar{display:none}.project-types-grid>[data-project-slide]{scroll-snap-align:center;scroll-snap-stop:always;min-width:0;display:block}.project-types-grid:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.project-carousel .scale-visual{touch-action:pan-x pan-y pinch-zoom}.project-carousel .scale-card-footer{text-align:left;flex-direction:column;align-items:flex-start;gap:0;margin-top:14px;display:flex}.project-carousel .scale-card-footer p{font-size:12px}.project-carousel .scale-card-footer a{width:max-content;margin-top:5px;padding:0}.project-carousel-controls{justify-content:center;align-items:center;margin-top:4px;display:flex}.project-carousel-dots{display:flex}.project-carousel-dots button{touch-action:manipulation;background:0 0;border:0;border-radius:4px;place-items:center;width:40px;height:44px;padding:0;display:grid}.project-carousel-dots span{background:#b7c1b8;border-radius:50%;width:6px;height:6px;transition:background-color .16s}.project-carousel-dots [aria-current=true] span{background:var(--green)}}
.photo-open{cursor:zoom-in;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;width:100%;padding:0;display:block;position:relative}.photo-zoom{color:#fff;pointer-events:none;background:#00000094;border-radius:4px;place-items:center;width:36px;height:36px;display:grid;position:absolute;bottom:12px;right:12px}.comparison-label{pointer-events:none}.photo-viewer{color:#fff;overscroll-behavior:contain;opacity:0;background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;transition:opacity .18s cubic-bezier(.2,0,0,1);position:fixed;inset:0;overflow:auto}.photo-viewer[open]{opacity:1;place-items:center;display:grid}.photo-viewer::backdrop{opacity:1;background:#06110bf0;transition:opacity .18s cubic-bezier(.2,0,0,1)}@starting-style{.photo-viewer[open],.photo-viewer[open]::backdrop{opacity:0}}.photo-viewer[data-closing=true],.photo-viewer[data-closing=true]::backdrop{opacity:0;transition-duration:.14s}.photo-viewer-panel{width:min(1120px,100%);min-width:0;position:relative}.photo-viewer-header,.photo-viewer-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.photo-viewer-header{margin-bottom:18px}.photo-viewer-category{font-size:19px;font-weight:700;line-height:1.3}.photo-viewer-stage-label{color:#d6ded8;margin-top:5px;font-size:13px}.photo-viewer-count{color:#a5b4aa;font-variant-numeric:tabular-nums;margin-left:18px}.photo-viewer-frame{touch-action:pan-y pinch-zoom;background:#ffffff06;border-radius:6px;width:100%;height:min(66.667vw,100dvh - 222px,747px);min-height:120px;position:relative;overflow:hidden}.photo-viewer-preview,.photo-viewer-image{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.photo-viewer-image{opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1)}.photo-viewer-image[data-visible=true]{opacity:1}.photo-viewer-footer{margin-top:16px}.photo-viewer-footer>p{color:#b4c0b8;font-size:12px;line-height:1.5}.photo-viewer-navigation{gap:10px;display:flex}.photo-viewer-control{color:#fff;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;padding:0;transition:background-color .16s,transform .16s cubic-bezier(.2,0,0,1);display:grid;box-shadow:0 0 0 1px #ffffff1f}.photo-viewer-control:hover{background:#fff3}.photo-viewer-control:active{transform:scale(.96)}.photo-viewer-status{color:#d6ded8;min-height:20px;margin-top:8px;font-size:12px;line-height:1.5}@media (max-width:760px){.photo-viewer{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.photo-viewer-category{font-size:17px}.photo-viewer-frame{height:min(66.667vw,100dvh - 190px)}.photo-viewer-footer{gap:12px}.photo-viewer-footer>p{max-width:180px;font-size:11px}.photo-zoom{width:28px;height:28px;bottom:8px;right:8px}}@media (prefers-reduced-motion:reduce){.photo-viewer,.photo-viewer::backdrop,.photo-viewer-image,.photo-viewer-control{transition:none}.photo-viewer-control:active{transform:none}}
