.reconstruction-demo{--gold:#dfb879;--line:#b8c8d221;--soft:#a8b5be;direction:rtl}
.reconstruction-demo{height:520svh;position:relative}
.reconstruction-demo .survey-stage{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 34% 55%,#1c2b3455,transparent 61%),#080e13}
.reconstruction-demo .stage-heading{position:absolute;top:4%;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;direction:ltr;color:#859ba8;font:9px monospace;letter-spacing:1.8px;z-index:10}
.reconstruction-demo .stage-heading a{font-family:Heebo,Arial;letter-spacing:0;font-size:11px;direction:rtl}
.reconstruction-demo .visual-wrap{position:absolute;left:1%;width:68%;top:12%;bottom:14%;display:flex;align-items:center;justify-content:center;direction:ltr}
.reconstruction-demo .scene-frame{width:100%;aspect-ratio:600/430;max-height:100%;position:relative;isolation:isolate;overflow:visible}
.reconstruction-demo .scene-frame>img,.reconstruction-demo .scene-frame canvas,.reconstruction-demo .survey-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.reconstruction-demo .scene-frame>img{opacity:1;filter:brightness(.88) saturate(.82);mask-image:linear-gradient(0deg,transparent,#000 8%,#000 94%,transparent);will-change:opacity}
.reconstruction-demo .scene-frame canvas{z-index:3;pointer-events:none}
.reconstruction-demo .survey-overlay{z-index:4;pointer-events:none}
.reconstruction-demo .model-floor{position:absolute;left:15%;right:15%;height:20%;bottom:0;background:radial-gradient(ellipse,#000b,transparent 65%);z-index:-1;opacity:0}
.reconstruction-demo .view-caption{position:absolute;bottom:-1%;left:7%;right:7%;display:flex;align-items:center;gap:10px;color:#91a1aa;font:9px monospace;letter-spacing:1.1px}
.reconstruction-demo .view-caption>span:last-child{margin-left:auto;font-family:Heebo,Arial;letter-spacing:0;font-size:11px;color:#b8c2c7}
.reconstruction-demo .view-caption i{width:4px;height:4px;background:var(--gold);border-radius:50%;box-shadow:0 0 8px #ddaa5577}
.reconstruction-demo .story-copy{position:absolute;right:6%;width:25%;top:12%;bottom:16%;max-width:450px}
.reconstruction-demo .step-counter{display:flex;align-items:baseline;gap:12px;direction:ltr;justify-content:flex-end;margin-bottom:30px;color:#687e8c;font:11px monospace}
.reconstruction-demo .step-counter b{font:250 clamp(72px,8vw,124px)/1 Heebo,Arial;color:#afbec83d;letter-spacing:-4px;min-width:110px}
.reconstruction-demo .story-panel{position:absolute;top:calc(clamp(72px,8vw,124px) + 35px);left:0;right:0;opacity:0;visibility:hidden;will-change:opacity,transform}
.reconstruction-demo .story-panel.active{opacity:1;visibility:visible}
.reconstruction-demo .story-panel h2{font-weight:420;font-size:clamp(26px,2.75vw,45px);line-height:1.3;letter-spacing:-.75px;margin:0 0 24px}
.reconstruction-demo .story-panel>p:not(.eyebrow){font-size:clamp(15px,1.2vw,19px);line-height:1.85;font-weight:350;color:#aebdc5;margin:0}
.reconstruction-demo .story-panel .eyebrow{font-size:11px;margin-bottom:15px}
.reconstruction-demo .detail{display:block;padding-top:22px;color:#c5b596;font-size:11px}
.reconstruction-demo .output-tags{display:flex;gap:6px 13px;flex-wrap:wrap;font-size:10px;color:#c5b596;margin-top:22px}
.reconstruction-demo .text-link{display:inline-block;font-size:12px;border-bottom:1px solid #b99b6555;padding:10px 0;margin-top:12px}
.reconstruction-demo .process-nav{position:absolute;left:6%;right:6%;bottom:5.7%;display:flex;direction:rtl;border-top:1px solid var(--line);height:49px;z-index:10}
.reconstruction-demo .process-nav a{flex:1;position:relative;display:flex;align-items:center;justify-content:center;gap:15px;font-size:12px;color:#697e8b}
.reconstruction-demo .process-nav a b{font:10px monospace;font-weight:400}
.reconstruction-demo .process-nav a:after{content:'';position:absolute;top:-1px;height:1px;background:var(--gold);right:0;width:calc(var(--fill,0)*100%)}
.reconstruction-demo .process-nav a[aria-current]{color:#e9d7b8}
.reconstruction-demo .scroll-note{position:absolute;bottom:2.4%;right:6%;left:6%;display:flex;justify-content:space-between;color:#6e8492;font-size:10px}
.reconstruction-demo .scroll-note span{color:var(--gold)}
@media(max-height:760px) and (min-width:761px){.reconstruction-demo .story-copy{top:10%}
.reconstruction-demo .step-counter{margin-bottom:20px}
.reconstruction-demo .step-counter b{font-size:76px}
.reconstruction-demo .story-panel{top:105px}
.reconstruction-demo .story-panel h2{font-size:32px;margin-bottom:17px}
.reconstruction-demo .story-panel>p:not(.eyebrow){font-size:15px;line-height:1.75}
.reconstruction-demo .detail{padding-top:17px}
.reconstruction-demo .story-panel .eyebrow{margin-bottom:12px}
.reconstruction-demo .output-tags{margin-top:15px}}
@media(max-width:1050px) and (min-width:761px){.reconstruction-demo .story-copy{width:29%;right:4%}
.reconstruction-demo .visual-wrap{width:64%;left:0}
.reconstruction-demo .story-panel h2{font-size:30px}}
@media(max-width:760px){.reconstruction-demo{height:450svh}
.reconstruction-demo .survey-stage{min-height:610px}
.reconstruction-demo .stage-heading{top:3%;left:7%;right:7%;font-size:7px;letter-spacing:1.1px}
.reconstruction-demo .stage-heading a{font-size:10px}
.reconstruction-demo .visual-wrap{left:0;width:100%;top:9%;bottom:auto;height:42%}
.reconstruction-demo .scene-frame{width:100%;height:auto;max-height:100%;aspect-ratio:600/430}
.reconstruction-demo .view-caption{bottom:-2%;font-size:7px;letter-spacing:.6px;left:8%;right:8%}
.reconstruction-demo .view-caption>span:last-child{font-size:9px}
.reconstruction-demo .story-copy{top:57%;right:8%;width:84%;height:28%;bottom:auto;max-width:none}
.reconstruction-demo .step-counter{position:absolute;right:auto;left:0;top:0;margin:0;opacity:.7}
.reconstruction-demo .step-counter b{font-size:48px;min-width:auto;letter-spacing:-2px}
.reconstruction-demo .step-counter span{display:none}
.reconstruction-demo .story-panel{top:0}
.reconstruction-demo .story-panel .eyebrow{font-size:10px;margin-bottom:11px}
.reconstruction-demo .story-panel h2{font-size:26px;line-height:1.3;margin-bottom:13px;width:82%}
.reconstruction-demo .story-panel h2 br{display:none}
.reconstruction-demo .story-panel>p:not(.eyebrow){font-size:14px;line-height:1.75}
.reconstruction-demo .detail{padding-top:14px;font-size:10px}
.reconstruction-demo .output-tags{margin-top:13px;font-size:9px}
.reconstruction-demo .text-link{font-size:11px;margin-top:7px;padding:5px 0}
.reconstruction-demo .process-nav{bottom:5%;height:40px;left:8%;right:8%}
.reconstruction-demo .process-nav a{gap:5px;font-size:10px;flex-direction:column;justify-content:center}
.reconstruction-demo .process-nav a b{font-size:8px}
.reconstruction-demo .scroll-note{bottom:1.7%;right:8%;left:8%;font-size:9px}}
@media(max-width:760px) and (max-height:730px){.reconstruction-demo .visual-wrap{top:8%;height:37%}
.reconstruction-demo .story-copy{top:50%}
.reconstruction-demo .story-panel h2{font-size:25px}
.reconstruction-demo .detail{padding-top:9px}
.reconstruction-demo .story-panel>p:not(.eyebrow){font-size:13px}
.reconstruction-demo .story-panel .eyebrow{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.reconstruction-demo{height:auto}
.reconstruction-demo .survey-stage{position:relative;height:auto;padding:60px 7%}
.reconstruction-demo .stage-heading,.reconstruction-demo .visual-wrap,.reconstruction-demo .process-nav,.reconstruction-demo .scroll-note,.reconstruction-demo .step-counter{display:none}
.reconstruction-demo .story-copy{position:relative;inset:auto;width:100%;max-width:100%;height:auto}
.reconstruction-demo .story-panel{position:relative;inset:auto;opacity:1!important;visibility:visible!important;transform:none!important;margin:0;padding:35px 0;border-bottom:1px solid var(--line)}
.reconstruction-demo .story-panel h2{font-size:30px}
.reconstruction-demo .story-panel>p{max-width:620px}}
.static-survey .reconstruction-demo{height:auto}
.static-survey .reconstruction-demo-stage{position:relative;height:auto;padding:65px 7%}
.static-survey .visual-wrap{position:relative;inset:auto;width:100%;height:360px;margin-bottom:45px}
.static-survey .story-copy{position:relative;inset:auto;width:100%;max-width:none;height:auto}
.static-survey .story-panel{position:relative;inset:auto;visibility:visible;opacity:1;margin:30px 0}
.static-survey .step-counter,.static-survey .process-nav,.static-survey .scroll-note,.static-survey .reconstruction-demo-overlay{display:none}
.reconstruction-demo .scene-frame.model-ready{cursor:grab;touch-action:pan-y}
.reconstruction-demo .scene-frame.dragging{cursor:grabbing}
.reconstruction-demo .scene-frame:focus-visible{outline:1px solid #dfb87977;outline-offset:8px}
.reconstruction-demo .scene-frame img{user-select:none;-webkit-user-drag:none;pointer-events:none}