*{margin:0;padding:0;box-sizing:border-box}
:root{--yellow:#f2ad24;--dark:#0b0d0e;--muted:#8b9093}
html,body{width:100%;height:100%;font-family:Inter,sans-serif;background:var(--dark);color:#fff;overflow:hidden}
.loader{position:fixed;inset:0;background:#080909;z-index:100;display:grid;place-content:center;text-align:center;transition:opacity .8s,visibility .8s}
.loader.hide{opacity:0;visibility:hidden}
.loader-logo{font:700 70px Oswald;color:var(--yellow);letter-spacing:-5px}
.loader-bar{height:2px;width:190px;background:#303334;margin:20px auto;overflow:hidden}
.loader-bar span{display:block;width:100%;height:100%;background:var(--yellow);animation:loading 1.4s ease-in-out}
@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.scene{position:relative;min-height:100vh;isolation:isolate;background:#0b0d0e}
.bg{position:absolute;inset:0;z-index:-5;background:linear-gradient(90deg,rgba(7,9,10,.98) 0%,rgba(7,9,10,.86) 42%,rgba(7,9,10,.5) 100%),url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2200&q=85') center/cover;animation:zoom 14s ease-out infinite alternate}
@keyframes zoom{to{transform:scale(1.07)}}
.grid{position:absolute;inset:0;z-index:-4;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:70px 70px;transform:perspective(500px) rotateX(60deg) translateY(30%);transform-origin:center bottom;animation:gridMove 8s linear infinite}
@keyframes gridMove{to{background-position:0 70px,70px 0}}
.grain{position:absolute;inset:0;z-index:-2;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;border-bottom:1px solid rgba(255,255,255,.09)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand-mark{width:45px;height:45px;border:2px solid var(--yellow);display:grid;place-items:center;font:700 18px Oswald;color:var(--yellow)}
.brand strong{display:block;font-size:12px;letter-spacing:2px}.brand small{display:block;font-size:7px;letter-spacing:3px;color:#777;margin-top:3px}
.status{font-size:8px;letter-spacing:2px;color:#888}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#45d36b;margin-right:9px;box-shadow:0 0 12px #45d36b;animation:pulse 1.5s infinite}
@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}
main{min-height:calc(100vh - 145px);padding:0 7vw;display:flex;align-items:center}
.top-line{position:absolute;top:130px;left:7vw;right:7vw;display:flex;justify-content:space-between;color:#666;font-size:8px;letter-spacing:3px}
.content{width:100%;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px}
.copy{padding-top:25px;animation:rise 1s .9s both}
@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
.eyebrow{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:3px;margin-bottom:20px}
h1{font:700 clamp(5rem,10vw,10rem)/.8 Oswald;letter-spacing:-4px;text-transform:uppercase}
h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #fff}
.description{max-width:470px;color:#9a9ea0;font-size:13px;line-height:1.8;margin:30px 0}
.countdown{display:flex;align-items:center;gap:18px;margin:28px 0 32px}
.countdown div{min-width:72px}.countdown strong{display:block;font:600 39px Oswald;color:#fff}.countdown span{display:block;color:#6e7375;font-size:7px;letter-spacing:2px;margin-top:4px}.countdown>b{color:#555;font:400 25px Oswald}
form{display:flex;width:min(490px,100%);border:1px solid #3a3d3e;background:rgba(0,0,0,.25)}
input{flex:1;background:transparent;border:0;outline:0;color:#fff;padding:17px;font-size:11px}input::placeholder{color:#656a6b}
button{border:0;background:var(--yellow);padding:0 22px;font-size:9px;font-weight:800;letter-spacing:1px;cursor:pointer;transition:.3s}button:hover{background:#fff}.form-message{font-size:9px;color:var(--yellow);margin-top:10px;min-height:12px}
.construction{height:540px;position:relative;animation:visualIn 1.3s 1s both}
@keyframes visualIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.ring{position:absolute;border:1px solid rgba(242,173,36,.25);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);animation:rotate 16s linear infinite}
.ring1{width:430px;height:430px;border-left-color:var(--yellow)}.ring2{width:300px;height:300px;border-right-color:#fff;animation-direction:reverse;animation-duration:11s}
@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}
.blueprint{position:absolute;left:50%;top:55%;width:300px;height:300px;transform:translate(-50%,-50%) rotate(-5deg);border:1px solid rgba(242,173,36,.3);background:linear-gradient(135deg,rgba(242,173,36,.08),rgba(255,255,255,.01));box-shadow:0 0 60px rgba(242,173,36,.08)}
.blueprint-line{position:absolute;background:rgba(242,173,36,.4)}.l1{width:100%;height:1px;top:28%}.l2{width:1px;height:100%;left:35%}.l3{width:80%;height:1px;top:72%;left:10%}
.building{position:absolute;bottom:0;left:75px;width:150px;height:240px;border:2px solid var(--yellow);background:rgba(10,12,12,.7);padding:8px}
.floor{height:30px;border-bottom:1px solid rgba(242,173,36,.5);position:relative}.floor:after{content:"";position:absolute;left:15px;top:8px;width:20px;height:12px;border:1px solid #777;box-shadow:40px 0 0 -1px #111,40px 0 0 0 #777,80px 0 0 -1px #111,80px 0 0 0 #777}
.crane{position:absolute;width:300px;height:300px;left:42%;top:5%;filter:drop-shadow(0 0 8px rgba(242,173,36,.15))}
.tower{position:absolute;bottom:20px;left:120px;width:4px;height:240px;background:var(--yellow);box-shadow:12px 0 0 rgba(242,173,36,.35)}
.tower:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 20px,rgba(242,173,36,.8) 21px 22px)}
.boom{position:absolute;top:35px;left:30px;width:250px;height:3px;background:var(--yellow);transform:rotate(-2deg);transform-origin:left}.boom:after{content:"";position:absolute;left:85px;top:0;width:120px;height:1px;background:#888;transform:rotate(28deg);transform-origin:left}
.cable{position:absolute;top:38px;right:22px;width:1px;height:145px;background:#aaa}.hook{position:absolute;top:180px;right:18px;width:12px;height:18px;border:2px solid var(--yellow);border-top:0;border-radius:0 0 8px 8px}.counter{position:absolute;top:28px;left:18px;width:38px;height:18px;border:2px solid var(--yellow)}
.orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 20px var(--yellow);left:calc(50% + 215px);top:50%;animation:dot 5s linear infinite}
@keyframes dot{from{transform:rotate(0deg) translateX(215px)}to{transform:rotate(360deg) translateX(215px)}}
footer{position:absolute;bottom:0;left:7vw;right:7vw;height:50px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;color:#555;font-size:7px;letter-spacing:2px}
@media(max-width:850px){body{overflow:auto}.scene{min-height:100vh}header{padding:0 6vw}.status{display:none}main{padding:100px 6vw 70px;display:block}.top-line{top:115px;left:6vw;right:6vw}.content{display:block}.copy{padding-top:40px}.construction{height:360px;margin-top:20px}.ring1{width:290px;height:290px}.ring2{width:210px;height:210px}.blueprint{width:210px;height:210px}.building{left:53px;width:105px;height:165px}.floor{height:20px}.crane{transform:scale(.7);transform-origin:center}.orbit-dot{display:none}footer{left:6vw;right:6vw;position:relative;margin-top:0;padding:18px 0;height:auto;gap:15px}footer span:last-child{text-align:right}h1{font-size:20vw}.description{margin:25px 0}.countdown{gap:8px}.countdown div{min-width:55px}.countdown strong{font-size:31px}.countdown>b{font-size:18px}}
@media(max-width:480px){.brand strong{font-size:10px}.brand small{font-size:6px}.countdown{gap:4px}.countdown div{min-width:48px}.countdown strong{font-size:27px}.countdown span{font-size:6px}.countdown>b{font-size:15px}form{height:52px}button{padding:0 13px}.construction{height:300px}}
