@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f3ee;--ink:#211b32;--muted:#6d6675;--line:#dbd7d2;--violet:#7442dc;--panel:#eeece6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;transition:background .4s,color .4s}body.night{--bg:#171420;--ink:#eee8fb;--muted:#aaa2b7;--line:#38313f;--panel:#201b2b;--violet:#b597fa}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--violet);outline-offset:5px}header{max-width:1440px;margin:auto;height:105px;padding:0 5.6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:700;letter-spacing:2px}.brand img{width:55px;height:55px;border-radius:50%}.brand b{color:var(--violet)}.header-right{display:flex;align-items:center;gap:26px}.live{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;gap:9px}.live i,.scene-controls i,.status-dot{width:6px;height:6px;border-radius:50%;background:var(--violet);display:inline-block;box-shadow:0 0 0 4px #956be714}.icon-button{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:23px}.intro{padding:68px 20px 5px;text-align:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted)}.short-line{width:25px;height:1px;background:var(--muted)}h1{font-family:'Manrope',sans-serif;font-weight:500;font-size:clamp(44px,5.2vw,76px);letter-spacing:-3.8px;line-height:1.13;margin:25px 0 20px}h1 em{font-style:normal;color:var(--violet);position:relative}h1 em:after{content:'';position:absolute;bottom:-7px;left:1px;right:0;height:5px;background:var(--violet);opacity:.18;transform:rotate(-2deg)}.intro p{font-size:14px;line-height:1.8;color:var(--muted)}.site-scene{max-width:1200px;margin:28px auto 0;padding:0 24px}.scene-caption{display:flex;align-items:center;justify-content:center;gap:13px;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.cross{font-size:15px;color:#a395b9}.scene-wrap{margin-top:-9px;overflow:hidden}svg{display:block;width:100%;height:auto}.scene-controls{margin:0 28px;padding:2px 0 27px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.scene-controls>span{display:flex;align-items:center;gap:10px}.scene-controls>div{display:flex;gap:25px}.scene-controls button{border:0;padding:8px 0;background:none;font-size:12px}.scene-controls button:hover{color:var(--violet)}.bottom{max-width:1096px;margin:48px auto 55px;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 32px}.section-no{font-size:9px;letter-spacing:1.8px;color:var(--muted)}h2{font-family:'Manrope',sans-serif;font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.3;margin:15px 0}.bottom-copy{padding-top:12px;max-width:405px}.bottom-copy p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 24px}.stamp{font-size:9px;letter-spacing:1.4px;display:flex;align-items:center;gap:12px}.stamp>span:last-child{margin-left:auto;font-size:20px;color:var(--violet)}footer{border-top:1px solid var(--line);padding:24px 5.6%;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}footer>span:nth-child(2){letter-spacing:2px;font-size:9px}footer b{color:var(--violet);padding:0 8px}.crane-load{transform-origin:451px 94px;animation:sway 7s ease-in-out infinite}.carrier-one{animation:carry 16s ease-in-out infinite}.carrier-two{animation:carryback 19s ease-in-out infinite}.carrier .legs{animation:walk .5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}.hammer-worker{animation:hammer 1.5s ease-in-out infinite;transform-origin:0 0}.sparks{animation:spark 1.5s infinite}.cloud{animation:cloud 20s ease-in-out infinite alternate}.letter{animation:assemble 16s ease-in-out infinite}.l2{animation-delay:.5s}.l3{animation-delay:1s}.l4{animation-delay:1.5s}.paused .site-scene *{animation-play-state:paused!important}.rebuilding #construction image{animation:rebuild 3s both}.rebuilding .hoisted-component{animation:lift 3s ease-in-out}.rebuilding .carrier-one{animation:rush 3s ease-in-out}.rebuilding .carrier-two{animation:rushback 3s ease-in-out}@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes carry{0%,100%{transform:translateX(-40px)}50%{transform:translateX(110px)}}@keyframes carryback{0%,100%{transform:translateX(30px)}50%{transform:translateX(-90px)}}@keyframes walk{to{transform:skewX(15deg)}}@keyframes hammer{0%,40%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}}@keyframes spark{0%,27%,100%{opacity:0}28%,38%{opacity:1}}@keyframes cloud{to{transform:translateX(25px)}}@keyframes assemble{0%,8%{opacity:.2;transform:translateY(-7px)}14%,90%,100%{opacity:1;transform:translateY(0)}}@keyframes rebuild{0%{opacity:0;transform:translateY(45px)}50%{opacity:.4;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}@keyframes lift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-45px) rotate(4deg)}}@keyframes rush{0%{transform:translateX(-100px)}70%{transform:translateX(160px)}100%{transform:translateX(0)}}@keyframes rushback{0%{transform:translateX(100px)}70%{transform:translateX(-120px)}100%{transform:translateX(0)}}@media(max-width:650px){header{height:83px;padding:0 22px}.brand{font-size:10px;letter-spacing:1px;gap:9px}.brand img{width:43px;height:43px}.header-right{gap:10px}.live{font-size:0;gap:0}.intro{padding-top:48px}h1{letter-spacing:-2.4px;font-size:48px}.intro p{font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.5px}.site-scene{padding:0 8px;margin-top:34px}.scene-wrap{width:155%;margin-left:-27.5%;margin-top:14px}.scene-caption{font-size:7px}.scene-controls{margin:5px 15px 0;align-items:flex-start;gap:14px;font-size:9px}.scene-controls>div{gap:14px}.scene-controls button{font-size:10px;padding-top:0}.scene-controls>span{max-width:125px;line-height:1.6}.scene-controls i{flex-shrink:0;margin-top:4px}.bottom{grid-template-columns:1fr;gap:10px;margin:35px auto 38px;padding:0 30px}h2{font-size:29px}.bottom-copy{padding:0;max-width:100%}footer{padding:23px 25px;gap:18px;flex-wrap:wrap;font-size:9px}footer>span:last-child{width:100%}footer>span:nth-child(2){font-size:7px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Digital construction crew */
.crane-trolley{animation:trolley-travel 16s ease-in-out infinite}.crane-manual .crane-trolley{animation:none;transform:translateX(var(--trolley-x,-65px));transition:transform .3s ease-out}.hoist-cable{transform-origin:451px 98px;animation:lower-cable 8s ease-in-out infinite}.hoisted-component{animation:hoist-module 8s ease-in-out infinite}.cargo-swing{transform-origin:451px 170px;animation:module-sway 4s ease-in-out infinite}.cargo{animation:cargo-cycle 24s linear infinite;opacity:0}.cargo-ui{animation-delay:8s}.cargo-nav{animation-delay:16s}.hammer-arm{transform-origin:8px -25px;transform-box:view-box;animation:hammer-strike 1.2s ease-in-out infinite}.paint-arm{transform-origin:-8px -24px;animation:roller-stroke 2.8s ease-in-out infinite}.paint-stripe{stroke-dasharray:49;animation:paint-reveal 5.6s ease-in-out infinite}.wire-arm{animation:connect-wire 2s ease-in-out infinite;transform-origin:0 -24px}.wire-signal{animation:signal-flow 1.8s linear infinite}.connection-led{animation:led-blink 1.5s infinite}.task-label{font-family:monospace;font-size:7px;fill:currentColor;opacity:.5;letter-spacing:.7px}.crane-control{display:flex;align-items:center;gap:8px;font-size:11px}.crane-control input{width:72px;accent-color:var(--violet);cursor:ew-resize}.crane-control input:focus-visible{outline:2px solid var(--violet);outline-offset:4px}.scene-controls .control-actions{align-items:center;gap:22px}
@keyframes trolley-travel{0%,100%{transform:translateX(-115px)}45%,55%{transform:translateX(25px)}}@keyframes lower-cable{0%,100%{transform:scaleY(.6)}40%,60%{transform:scaleY(2)}}@keyframes hoist-module{0%,100%{transform:translateY(-27px)}40%,60%{transform:translateY(67px)}}@keyframes module-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes cargo-cycle{0%,31%{opacity:1}33.33%,100%{opacity:0}}@keyframes hammer-strike{0%,15%,65%,100%{transform:rotate(0)}40%{transform:rotate(60deg)}55%{transform:rotate(-13deg)}}@keyframes roller-stroke{0%,100%{transform:translateY(-8px)}50%{transform:translateY(17px)}}@keyframes paint-reveal{0%{stroke-dashoffset:49;opacity:.3}60%,100%{stroke-dashoffset:0;opacity:1}}@keyframes connect-wire{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}@keyframes signal-flow{to{stroke-dashoffset:-64}}@keyframes led-blink{50%{opacity:.25}}
@media(max-width:650px){.scene-controls{flex-wrap:wrap}.scene-controls>span{max-width:none}.scene-controls .control-actions{width:100%;justify-content:space-between;gap:8px}.scene-controls button{white-space:nowrap}.crane-control{font-size:10px}.crane-control input{width:60px}}
@media(prefers-reduced-motion:reduce){.cargo-code{opacity:1}.crane-trolley{transform:translateX(-65px)}}

.site-scene{overflow:hidden}
