.construction-motion{grid-column:1/-1;max-width:700px;width:100%;margin:0 auto 10px}.construction-motion svg{width:100%;display:block;fill:none;stroke:#78866c;stroke-width:2}.construction-motion span{display:block;text-align:center;font-size:9px;letter-spacing:3px;color:#78866c}.blueprint-trace{stroke-dasharray:1100;stroke-dashoffset:1100;animation:draw-plan 5s ease forwards}.crane-hook{animation:hoist 5s ease-in-out infinite;transform-origin:center}.crane-hook rect,.rising-bricks rect{fill:#edc34c;stroke:#b69943}.rising-bricks rect{animation:brick-rise 3s ease both}.rising-bricks rect:nth-child(2){animation-delay:.3s}.rising-bricks rect:nth-child(3){animation-delay:.6s}@keyframes draw-plan{to{stroke-dashoffset:0}}@keyframes hoist{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}@keyframes brick-rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}.hero-image img{animation:hero-settle 1.2s ease-out both}@keyframes hero-settle{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}.hero-image{overflow:hidden}.button{transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #252b2718}.upload-zone{border:1px dashed #829273;padding:20px;position:relative;background:#edf0e5}.upload-zone>span{display:block;font-size:11px;color:#6c785f;line-height:1.7;margin:7px 0}.upload-zone input{border:0;padding:10px 0;font-size:12px}.upload-zone.dragging{background:#dce6cd}.trap{display:none}.button:disabled{opacity:.6;cursor:wait;transform:none}@media(prefers-reduced-motion:reduce){.construction-motion *,.hero-image img{animation:none!important;stroke-dashoffset:0}.button{transition:none}.button:hover{transform:none}}