/* V2.3: movement follows interaction; no loops, timers or scroll hijacking. */
.space-visual{isolation:isolate}
.space-visual .wall-layer{transition:transform 900ms cubic-bezier(.22,.75,.2,1);will-change:transform}
.space-visual .wall-annotation{transition:opacity 220ms ease}
.space-visual.is-assembled .wall-structure{transform:translate(82px,35px)}
.space-visual.is-assembled .wall-insulation{transform:translate(-4px,-8px)}
.space-visual.is-assembled .wall-panel{transform:translate(-130px,-49px)}
.space-visual.is-assembled .wall-annotation{opacity:0}
.wall-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 22px 20px}
.wall-controls[hidden]{display:none}
.wall-state{font-size:.76rem;color:#d2dbd4;letter-spacing:.01em}
.wall-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;background:#35473c;border:1px solid #819c87;border-radius:5px;color:#fff3e7;font:inherit;font-size:.77rem;font-weight:650;cursor:pointer;transition:background 180ms,border-color 180ms}
.wall-toggle>svg{width:19px;height:19px;flex-shrink:0}
.wall-toggle:hover{background:#46604e;border-color:#ffb184}
.wall-toggle:focus-visible{outline:3px solid #ffb184;outline-offset:4px}
.home .home-service-card{transition:transform 220ms ease,box-shadow 220ms ease,background 220ms ease,border-color 220ms ease}
.home .home-service-card .service-link span{transition:transform 220ms ease}
.home .home-service-card .service-icon{transition:transform 260ms ease}
.home .home-service-card:focus-visible{outline:3px solid #b7470a;outline-offset:4px}
.home .coverage-cities a span{transition:transform 200ms ease}
@media(hover:hover) and (pointer:fine){
 .home .home-service-card:hover{box-shadow:0 12px 30px #29382f12;transform:translateY(-4px)}
 .home .home-service-card:hover .service-link span{transform:translate(3px,-3px)}
 .home .home-service-card:hover .service-icon{transform:translateY(-3px)}
 .home .coverage-cities a:hover span{transform:translate(3px,-3px)}
}
@media(max-width:480px){.wall-controls{padding:0 17px 17px;gap:10px}.wall-state{font-size:.73rem}.wall-toggle{padding:9px 11px;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){
 .home *, .home *::before,.home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .home .home-service-card:hover,.home .home-service-card:hover .service-icon,.home .home-service-card:hover .service-link span,.home .coverage-cities a:hover span{transform:none}
 .space-visual .wall-layer{will-change:auto}
}
