/* Original structure geometry. Static without JavaScript; motion is opt-in. */
.hero-vision{--hv-amber:#d8a840;--hv-white:#e9e9e4;--hv-muted:#aaa99f;position:relative;min-width:0;width:100%;margin:0;color:var(--hv-white);contain:layout style;isolation:isolate}
.hero-vision *{box-sizing:border-box}.hv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hv-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;font-size:9px;line-height:1.7;letter-spacing:1.2px;font-weight:600}.hv-concept-label{color:var(--hv-amber);font-size:8px;white-space:nowrap}.hv-stage{position:relative;margin-top:10px;aspect-ratio:840/680;overflow:hidden;background:radial-gradient(ellipse at 66% 39%,#d8a84008,transparent 64%);border-top:1px solid #d8a84024;border-bottom:1px solid #d8a84024}.hv-drawing{display:block;width:100%;height:100%;overflow:visible}.hv-drawing path,.hv-drawing circle{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.hv-site-grid{stroke:#616361;stroke-width:.55;opacity:.21}.hv-ground-light{opacity:.7}.hv-guide-lines{stroke:#a7a79c;stroke-width:.6;stroke-dasharray:3 7;opacity:.26}.hv-drafting-labels{font-family:Manrope,Arial,sans-serif;font-size:9px;letter-spacing:1.4px;fill:#999b93}.hv-drafting-labels path{stroke:#62655e;stroke-width:.6;fill:none}.hv-base-plan{stroke:#9b9e94;stroke-width:.8;opacity:.68}.hv-plan-partitions{opacity:.6}.hv-plan-perimeter{stroke:#b2b4aa;stroke-width:1}.hv-plan-amber{stroke:var(--hv-amber);stroke-width:1.2;opacity:.72}.hv-slab-top{fill:url(#hv-slab);stroke:#c1c3b8;stroke-width:.9}.hv-slab-face{fill:#151617;stroke:#7c8177;stroke-width:.75}.hv-slab-detail{stroke:#c3c4b7;stroke-width:.6;opacity:.34}.hv-cutline{stroke:var(--hv-amber);stroke-width:1.15;fill:none;opacity:.55}.hv-frame{stroke-width:.9}.hv-frame-back{stroke:#808b80;opacity:.5}.hv-frame-front{stroke:#dde0d4;opacity:.83}.hv-connection-points{stroke:#e2ba67;stroke-width:1.15;opacity:.85}.hv-glazing{fill:url(#hv-glass);stroke:none}.hv-envelope-lines{stroke:#b4b9ab;stroke-width:.7;opacity:.64}.hv-door{fill:#d8a8400b;stroke:#d8a840;stroke-width:.85;opacity:.7}.hv-roof-lines{stroke:#ced0c4;stroke-width:.65;opacity:.43}.hv-roof-cut{fill:#d8a84013;stroke:#d8a840;stroke-width:.7;opacity:.65}.hv-amber-routes{stroke:var(--hv-amber);stroke-width:1.35;opacity:.7}.hv-route-one{stroke-dasharray:.12 .88;stroke-dashoffset:.3}.hv-route-two{stroke-dasharray:.16 .84;stroke-dashoffset:.07}.hv-section-scan{display:none;pointer-events:none}.hv-section-edge{fill:none;stroke:#f3cc80;stroke-width:1.2;opacity:.7}.hv-registration{stroke:#9da393;stroke-width:.6;opacity:.42}.hv-phase{position:absolute;left:0;right:0;bottom:8px;height:15px;text-align:right;font-size:7px;line-height:1.6;letter-spacing:1.1px;color:#a8a89b;pointer-events:none}.hv-phase>span{position:absolute;inset:0}.hv-phase>span:not(.hv-phase-static){display:none}.hv-caption{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:20px}.hv-caption>div{display:flex;gap:14px;align-items:center}.hv-caption-rule{width:24px;height:1px;background:var(--hv-amber);flex-shrink:0}.hv-caption>div p{font-size:18px;font-weight:400;line-height:1.55;letter-spacing:-.3px;margin:0}.hv-disclosure{grid-column:1/-1;font-size:9px!important;line-height:1.8!important;color:var(--hv-muted);max-width:430px;margin:0!important}.hv-motion-toggle{min-width:90px;min-height:44px;padding:9px 0;background:none;color:#b7b5a9;border:0;border-bottom:1px solid #68604b;border-radius:0;font:inherit;font-size:9px;line-height:1.5;cursor:pointer;white-space:nowrap}.hv-motion-toggle:hover{color:var(--hv-white);border-color:var(--hv-amber)}.hv-motion-toggle:focus-visible{outline:2px solid var(--hv-amber);outline-offset:5px}


.hv-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}.hv-caption>p{margin:0;font-size:15px;line-height:1.7;color:#b8bdc5}.hv-display{position:relative;font-size:12px}.hv-display summary{min-height:44px;display:flex;align-items:center;list-style:none;cursor:pointer;color:#9fa8b4;border-bottom:1px solid #3d434c}.hv-display summary::-webkit-details-marker{display:none}.hv-display>div{position:absolute;right:0;top:48px;width:210px;background:#191d24;border:1px solid #48515d;padding:10px;z-index:4}.hv-display button{width:100%;min-height:44px;text-align:left;padding:10px;font:inherit;color:#eef1f6;background:none;border:1px solid #58606b;cursor:pointer}.hv-display summary:focus-visible,.hv-display button:focus-visible{outline:2px solid #d1b582;outline-offset:4px}
/* Repeat the entire forming sequence. Briefly resolve the completed structure, then fade
   its layers before resetting their hidden positions for a seamless new build. */
.hero-vision{--hv-cycle:6.4s}
.hv-motion-ready .hv-plan-perimeter,.hv-motion-ready .hv-plan-partitions path{animation:hv-plan-draw var(--hv-cycle) ease-in-out infinite;stroke-dasharray:1}
.hv-motion-ready .hv-floor{animation:hv-floor-rise var(--hv-cycle) cubic-bezier(.25,.65,.25,1) infinite}
.hv-motion-ready .hv-frame{animation:hv-frame-rise var(--hv-cycle) cubic-bezier(.25,.65,.25,1) infinite}
.hv-motion-ready .hv-roof{animation:hv-roof-rise var(--hv-cycle) cubic-bezier(.25,.65,.25,1) infinite}
.hv-motion-ready .hv-envelope{animation:hv-facade-settle var(--hv-cycle) ease-in-out infinite}
.hv-motion-ready .hv-amber-routes{animation:hv-routes-arrive var(--hv-cycle) ease-in-out infinite}
.hv-motion-ready .hv-route-one{animation:hv-trace-one var(--hv-cycle) linear infinite}
.hv-motion-ready .hv-route-two{animation:hv-trace-two var(--hv-cycle) linear infinite}
@keyframes hv-plan-draw{0%,100%{stroke-dashoffset:1;opacity:.15}27%,77%{stroke-dashoffset:0;opacity:.7}96%{stroke-dashoffset:0;opacity:.15}}
@keyframes hv-floor-rise{0%,3%{transform:translateY(54px);opacity:0}31%,78%{transform:translateY(0);opacity:1}98%{transform:translateY(0);opacity:0}100%{transform:translateY(54px);opacity:0}}
@keyframes hv-frame-rise{0%,10%{transform:translateY(80px);opacity:0}49%,78%{transform:translateY(0);opacity:1}98%{transform:translateY(0);opacity:0}100%{transform:translateY(80px);opacity:0}}
@keyframes hv-roof-rise{0%,23%{transform:translateY(127px);opacity:0}67%,78%{transform:translateY(0);opacity:1}98%{transform:translateY(0);opacity:0}100%{transform:translateY(127px);opacity:0}}
@keyframes hv-facade-settle{0%,39%{opacity:0}73%,78%{opacity:1}98%,100%{opacity:0}}
@keyframes hv-routes-arrive{0%,48%{opacity:0}72%,80%{opacity:.7}98%,100%{opacity:0}}
@keyframes hv-trace-one{0%{stroke-dashoffset:.9}100%{stroke-dashoffset:-.1}}
@keyframes hv-trace-two{0%{stroke-dashoffset:.95}100%{stroke-dashoffset:-.05}}
.hero-vision:not(.hv-running) *{animation-play-state:paused!important}
@media(max-width:600px){.hv-caption>p{font-size:14px}.hv-display{font-size:11px}.hv-stage{aspect-ratio:840/680}}
@media(prefers-reduced-motion:reduce){.hero-vision *{animation:none!important;transition:none!important}.hv-section-scan{display:none!important}.hv-plan-perimeter,.hv-plan-partitions path{stroke-dasharray:none!important;opacity:1!important}}
