:root{--world-asphalt:#252a2e;--world-asphalt-deep:#1b2024;--world-silver:#dfe5e7;--world-line:#9ca8ad;--world-burgundy:#842b3d;--world-green:#b6c96a;--world-white:#f4f4ef}
.hero{display:none}
.worldflight{position:relative;min-height:640vh;background:var(--world-asphalt);color:var(--world-white);--world-p:0;--world-stage-bg:var(--world-asphalt);--world-ink:var(--world-white);--world-soft:#b7c0c3;--world-accent:var(--world-green);--accent:var(--world-green);--accent-soft:#d5dea2;isolation:isolate}
.worldflight__sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--world-stage-bg);transition:background-color .6s ease}
.worldflight__grain{position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px);background-size:6px 6px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.worldflight__stage{position:relative;height:100%;overflow:hidden}
.worldflight__header{position:absolute;top:28px;left:50%;z-index:5;display:flex;justify-content:space-between;align-items:center;transform:translateX(-50%);pointer-events:none}
.worldflight__header .eyebrow{margin:0;color:var(--world-soft);font-size:13px}.worldflight__header .eyebrow span{font-size:12px}.worldflight__counter{margin:0;color:var(--world-soft);font-family:var(--mono);font-size:12px;letter-spacing:.1em}.worldflight__counter span{color:var(--world-white)}
.worldflight__scene{position:absolute;inset:0;display:grid;place-items:center;perspective:1000px}
.worldflight__sky{position:absolute;inset:0;background:radial-gradient(circle at 76% 34%,rgba(255,255,255,.2),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.06),transparent 48%);opacity:calc(.25 + var(--world-p) * .75);transition:opacity .3s ease}
.worldflight__blueprint{position:absolute;width:68vw;height:68vw;max-width:930px;max-height:720px;border:1px solid rgba(214,222,224,.17);transform:rotate(-8deg) translate(calc((var(--world-p) - .5) * -4%),calc((var(--world-p) - .5) * 3%));background:linear-gradient(90deg,transparent 49.8%,rgba(214,222,224,.07) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(214,222,224,.07) 50%,transparent 50.2%);background-size:84px 84px;opacity:calc(.32 - var(--world-p) * .22);transition:transform .18s linear,opacity .3s ease}
.world-house{position:relative;z-index:2;width:min(79vw,1060px);height:auto;overflow:visible;transform:translate3d(calc((var(--world-p) - .5) * 2%),calc((var(--world-p) - .5) * -1%),0) scale(calc(.76 + var(--world-p) * .14));transition:transform .16s linear}
.house-layer{fill:none;stroke:var(--world-line);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .5s ease}.house-layer path,.house-layer circle{vector-effect:non-scaling-stroke}.house-layer--ground{opacity:.26;transform:translateY(0)}.house-layer--foundation{opacity:clamp(0,calc((var(--world-p) - .08) * 5),1);transform:translateY(calc((1 - clamp(0,calc((var(--world-p) - .08) * 5),1)) * 22px))}.house-layer--frame{opacity:clamp(0,calc((var(--world-p) - .25) * 3.8),1);transform:translateY(calc((1 - clamp(0,calc((var(--world-p) - .25) * 3.8),1)) * 28px))}.house-layer--facade{opacity:clamp(0,calc((var(--world-p) - .5) * 3.1),1);transform:translateY(calc((1 - clamp(0,calc((var(--world-p) - .5) * 3.1),1)) * 24px));filter:brightness(calc(.7 + var(--world-p) * .45))}.house-layer--glass{opacity:clamp(0,calc((var(--world-p) - .67) * 3.1),1);transform:translateY(calc((1 - clamp(0,calc((var(--world-p) - .67) * 3.1),1)) * 20px))}.house-layer--finish{opacity:clamp(0,calc((var(--world-p) - .8) * 5),1);transform:translateY(calc((1 - clamp(0,calc((var(--world-p) - .8) * 5),1)) * 14px))}.house-layer--finish{stroke:var(--world-white)}.house-brick-line{stroke-dasharray:10 7}.facade-plane{fill:rgba(203,214,218,.16);stroke:rgba(231,236,237,.5)}.facade-plane--dark{fill:rgba(15,22,27,.63)}.facade-plane--roof{fill:rgba(167,180,186,.35)}.facade-plane--roof-dark{fill:rgba(16,22,27,.85)}.house-layer--glass path{stroke:#cbdbe0}.house-layer--glass path:not(:first-child){stroke-width:1.6;opacity:.72}.finish-pool{fill:rgba(74,133,148,.46)}
.worldflight__material{position:absolute;right:8%;top:26%;z-index:4;color:var(--world-soft);font-family:var(--mono);font-size:11px;letter-spacing:.13em;opacity:.8}.worldflight__material::before{content:'';display:inline-block;width:36px;height:1px;background:var(--world-accent);margin:0 12px 4px 0}
.world-hotspot{position:absolute;z-index:4;width:18px;height:18px;border:2px solid var(--world-accent);border-radius:50%;background:var(--world-asphalt);box-shadow:0 0 0 8px rgba(132,43,61,.13);opacity:0;transform:scale(.65);transition:opacity .4s ease,transform .4s ease,background-color .25s ease}.world-hotspot span{position:absolute;top:-22px;left:22px;color:var(--world-soft);font-family:var(--mono);font-size:10px}.world-hotspot::after{content:attr(data-hotspot);position:absolute;left:30px;top:8px;width:145px;color:var(--world-white);font-family:var(--mono);font-size:10px;letter-spacing:.04em;opacity:0;transform:translateX(-8px);transition:opacity .3s ease,transform .3s ease}.world-hotspot:hover{background:var(--world-accent);transform:scale(1.1)}.world-hotspot:hover::after{opacity:1;transform:translateX(0)}.world-hotspot--one{left:30%;top:66%}.world-hotspot--two{left:53%;top:40%}.world-hotspot--three{left:72%;top:28%}.worldflight__scene:hover .world-hotspot{opacity:calc(.15 + var(--world-p) * .85);transform:scale(1)}
.worldflight__copy{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transform:translateY(2vh);transition:opacity .28s ease-out,transform .45s cubic-bezier(.23,1,.32,1)}.worldflight__copy.is-active{opacity:1;transform:translateY(0)}.worldflight__copy .container{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.worldflight__copy--hero .container{justify-content:center;padding-top:2vh}.worldflight__copy--foundation .container,.worldflight__copy--frame .container,.worldflight__copy--finish .container{justify-content:flex-end;padding-bottom:21vh}.worldflight__copy--hero{background:linear-gradient(90deg,rgba(20,25,29,.84),transparent 58%)}.worldflight__copy--foundation,.worldflight__copy--frame,.worldflight__copy--finish{background:linear-gradient(90deg,rgba(23,29,33,.76),transparent 43%)}.worldflight__kicker{margin:0 0 20px;color:var(--world-soft);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.worldflight__copy h1,.worldflight__copy h2{margin:0;color:var(--world-white);font-size:clamp(60px,8vw,122px);line-height:.9;letter-spacing:-.08em;max-width:760px;text-wrap:balance}.worldflight__copy h2{font-size:clamp(55px,6.7vw,100px)}.worldflight__copy em{font-style:normal;color:var(--world-accent)}.worldflight__lead,.worldflight__copy--foundation .container>p:last-child,.worldflight__copy--frame .container>p:last-child,.worldflight__copy--finish .container>p:last-child{max-width:420px;margin:30px 0 0;color:var(--world-soft);font-size:17px;line-height:1.5;text-wrap:pretty}.worldflight__actions{display:flex;align-items:center;gap:30px;margin-top:34px;pointer-events:auto}.worldflight__actions .button{min-width:280px;font-size:15px;padding:22px 27px}.worldflight__actions .text-link{font-size:11px}
.worldflight__rail{position:absolute;left:50%;bottom:31px;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);column-gap:0;transform:translateX(-50%);pointer-events:auto}.worldflight__rail-line{position:absolute;left:0;right:0;top:7px;height:2px;background:rgba(191,202,205,.42)}.worldflight__rail-line span{display:block;width:100%;height:100%;background:var(--world-accent);transform:scaleX(var(--world-p));transform-origin:left center;transition:none}.worldflight__rail-dot{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;border:0;background:none;padding:0;color:var(--world-soft);font-family:var(--mono);text-align:left}.worldflight__rail-dot::before{content:'';position:relative;z-index:1;width:14px;height:14px;border:2px solid var(--world-line);border-radius:50%;background:var(--world-asphalt);transition:background-color .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out}.worldflight__rail-dot.is-active::before,.worldflight__rail-dot.is-passed::before{border-color:var(--world-accent);background:var(--world-accent);box-shadow:0 0 0 6px rgba(132,43,61,.15)}.worldflight__rail-dot span{color:var(--world-accent);font-size:11px}.worldflight__rail-dot b{font-size:11px;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.worldflight__track{height:100%;min-height:640vh}
.stats{position:relative;z-index:2}.reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal-on-scroll.is-visible{opacity:1;transform:none}
.brand-marquee{position:relative;z-index:2}
@media (max-width:900px){.worldflight{min-height:540vh}.worldflight__track{min-height:540vh}.worldflight__sticky{min-height:560px}.world-house{width:min(94vw,760px);transform:translate3d(calc((var(--world-p) - .5) * 3%),calc((var(--world-p) - .5) * -1%),0) scale(calc(.78 + var(--world-p) * .1))}.worldflight__material{right:4%;top:20%;font-size:10px}.worldflight__copy h1{font-size:clamp(56px,10vw,92px)}.worldflight__copy h2{font-size:clamp(50px,9vw,80px)}.worldflight__copy--hero .container{justify-content:flex-start;padding-top:17vh}.worldflight__copy--foundation .container,.worldflight__copy--frame .container,.worldflight__copy--finish .container{justify-content:flex-end;padding-bottom:20vh}}
@media (max-width:680px){.worldflight{min-height:440vh}.worldflight__track{min-height:440vh}.worldflight__sticky{min-height:620px;height:100svh}.worldflight__header{top:20px}.worldflight__header .eyebrow{font-size:10px;max-width:220px;line-height:1.25}.worldflight__header .eyebrow span{font-size:10px}.worldflight__counter{font-size:10px}.worldflight__blueprint{width:135vw;height:95vw;background-size:50px 50px;transform:rotate(-8deg)}.world-house{width:138vw;max-width:none;transform:translate3d(calc((var(--world-p) - .5) * 4%),calc((var(--world-p) - .5) * -1%),0) scale(calc(.68 + var(--world-p) * .12))}.worldflight__material{top:28%;right:5%;font-size:8px}.worldflight__material::before{width:21px;margin-right:7px}.world-hotspot{display:none}.worldflight__copy{background:linear-gradient(0deg,rgba(23,29,33,.84) 0 36%,transparent 72%)}.worldflight__copy--hero{background:linear-gradient(0deg,rgba(23,29,33,.92) 0 41%,transparent 80%)}.worldflight__copy--hero .container{justify-content:flex-end;padding-bottom:18vh}.worldflight__copy--foundation .container,.worldflight__copy--frame .container,.worldflight__copy--finish .container{justify-content:flex-end;padding-bottom:18vh}.worldflight__kicker{font-size:10px;margin-bottom:14px}.worldflight__copy h1,.worldflight__copy h2{font-size:clamp(50px,15vw,75px)}.worldflight__lead,.worldflight__copy--foundation .container>p:last-child,.worldflight__copy--frame .container>p:last-child,.worldflight__copy--finish .container>p:last-child{font-size:14px;line-height:1.45;margin-top:19px;max-width:300px}.worldflight__actions{align-items:flex-start;flex-direction:column;gap:20px;margin-top:25px}.worldflight__actions .button{min-width:0;width:100%;font-size:13px;padding:19px 20px}.worldflight__rail{left:20px;right:20px;bottom:26px;width:auto;transform:none}.worldflight__rail-dot{gap:7px}.worldflight__rail-dot::before{width:12px;height:12px}.worldflight__rail-dot span{font-size:9px}.worldflight__rail-dot b{font-size:8px}.worldflight__rail-line{top:6px}.worldflight__stage{height:100svh}}
@media (prefers-reduced-motion:reduce){.worldflight__sticky,.worldflight__sky,.world-house,.worldflight__blueprint,.house-layer,.worldflight__copy,.worldflight__rail-line span,.worldflight__rail-dot::before,.reveal-on-scroll{transition:none}.worldflight__copy{opacity:1;transform:none}.worldflight__copy:not(.worldflight__copy--hero){display:none}.worldflight__sky{opacity:.55}.worldflight__blueprint{opacity:.18}.world-house{transform:scale(.82)}.brand-marquee__track{animation:none}}

/* Revision: the house starts as a visible ghost plan, then resolves faster into a detailed final object. */
.house-layer--ground{opacity:.32}.house-layer--foundation{opacity:clamp(.12,calc((var(--world-p) - .08) * 5),1)}.house-layer--frame{opacity:clamp(.06,calc((var(--world-p) - .25) * 3.8),1)}.house-layer--details{opacity:clamp(0,calc((var(--world-p) - .73) * 4),1);stroke:#e4e8e8;stroke-width:2}.worldflight__track{min-height:320vh}.worldflight{min-height:320vh}
@media (max-width:900px){.worldflight__track{min-height:360vh}.worldflight{min-height:360vh}}
@media (max-width:680px){.worldflight__track{min-height:300vh}.worldflight{min-height:300vh}}
@media (min-width:681px){.worldflight__copy--hero .container{justify-content:flex-start;padding-top:clamp(120px,14vh,190px)}}

/* Construction cut: every structural part is mounted separately by scroll. */
.site-header{position:fixed;inset:0 0 auto;z-index:100}
.worldflight__copy{transition:none;transform:none}
.worldflight__copy.is-active{transform:none}
.worldflight{min-height:180vh}
.worldflight__track{min-height:180vh}
.worldflight__sticky{top:0}
.worldflight__grain,.worldflight__sky,.worldflight__blueprint,.world-hotspot{display:none}
.world-house{z-index:2;width:min(88vw,1180px);filter:none;opacity:1;transform-origin:50% 72%;transform:translateX(8%) scale(calc(.84 + var(--world-p) * .045));transition:none}
.construction-guide{fill:none;stroke:rgba(204,217,220,.46);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:clamp(0,calc(.22 - var(--world-p) * .3),.22)}
.construction-guide path{vector-effect:non-scaling-stroke}
.build-piece{--piece:clamp(0,calc((var(--world-p) - var(--s,0)) * 24),1);opacity:var(--piece);transform-box:fill-box;transform-origin:center bottom;transform:translateY(calc((1 - var(--piece)) * 16px))}
.build-piece--soil{fill:#151a1d;stroke:#515a5e;stroke-width:2}
.build-piece--foundation-top{fill:#aeb5b7;stroke:#e0e4e4;stroke-width:2}
.build-piece--foundation-face{fill:#737c80;stroke:#aeb6b8;stroke-width:2}
.build-piece--foundation-side{fill:#4a5256;stroke:#838c8f;stroke-width:2}
.build-piece--brick{fill:#444c50;stroke:#7c8588;stroke-width:1.25}
.build-piece--column,.build-piece--beam,.build-piece--floor,.build-piece--roof,.build-piece--roof-edge,.build-piece--fin{fill:#151c20;stroke:#697276;stroke-width:2}
.build-piece--floor{fill:#747d80;stroke:#b7bec0}
.build-piece--panel{fill:#242c30;stroke:#737d81;stroke-width:2}
.build-piece--panel-light{fill:#a5adaf;stroke:#d9dddd}
.build-piece--glass{fill:#162228;stroke:#849399;stroke-width:2}
.build-piece--roof{fill:#101619;stroke:#687175;stroke-width:2}
.build-piece--roof-edge{fill:#080d10;stroke:#343d41;stroke-width:2}
.build-piece--rail,.build-piece--pool-line{fill:none;stroke:#bdc5c7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.build-piece--terrace{fill:#b6bdbf;stroke:#e2e5e5;stroke-width:2}
.build-piece--stairs{fill:#858e91;stroke:#c8cecf;stroke-width:2;fill-rule:evenodd}
.build-piece--pool{fill:#606b70;stroke:#aab3b6;stroke-width:2}
.build-piece--pool-line{stroke:#c6cdcf}
.build-piece--landscape circle{fill:#4b5254;stroke:#838b8d;stroke-width:2}.build-piece--landscape path{fill:none;stroke:#70787a;stroke-width:7}
.build-piece--warmth circle{fill:#e1e4e3;stroke:#fff;stroke-width:2}.build-piece--warmth path{stroke:#e1e4e3;stroke-width:2}
@media (max-width:900px){.worldflight,.worldflight__track{min-height:185vh}.world-house{width:112vw;max-width:none;transform:scale(calc(.74 + var(--world-p) * .035))}}
@media (max-width:680px){.worldflight,.worldflight__track{min-height:175vh}.world-house{width:150vw;max-width:none;transform:translateX(-21%) scale(calc(.66 + var(--world-p) * .03))}.construction-guide{stroke-width:2.5}}
@media (prefers-reduced-motion:reduce){.build-piece{opacity:1;transform:none}.construction-guide{opacity:.08}.world-house{transform:scale(.86)}}

/* Green status glow on asphalt; burgundy remains reserved for light sections. */
.world-hotspot{box-shadow:0 0 0 8px rgba(182,201,106,.14)}
.worldflight__rail-dot.is-active::before,.worldflight__rail-dot.is-passed::before{box-shadow:0 0 0 6px rgba(182,201,106,.16)}
