/* Spatial editorial motion; transforms decorate existing photos and concept art. */
.hero-line{display:block;transform-origin:left center}.hero-guidelines{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;stroke:#e0c589;stroke-width:.65;opacity:.3}.hero-guidelines .guideline-light{stroke:#fff1c8;stroke-width:1.3;stroke-dasharray:9 91;stroke-dashoffset:100}.hero-orbit-marker{transform-box:view-box;transform-origin:50% 50%}.hero-orbit circle:first-child{stroke-dasharray:3 20}.hero-orbit circle:nth-child(2){stroke-dasharray:240 55 2 55;stroke-width:1.3}.hero-card{overflow:hidden}.hero-card:before{content:'';position:absolute;left:-70%;top:0;height:2px;width:70%;background:linear-gradient(90deg,transparent,#ffeab5,transparent);pointer-events:none}.city-orbit--upper{border-color:#e4c58b75;box-shadow:none;transform:translateZ(110px) rotateX(22deg) rotateZ(30deg)}.city-orbit--upper:before{width:7px;height:7px;background:#ffe1a5;box-shadow:0 0 12px #ffe1a599}.city-orbit--upper:after{width:3px;height:3px}.city-survey-line{position:absolute;left:0;top:47%;width:430px;height:1px;background:linear-gradient(90deg,transparent,#ffe3a5,transparent);transform:translateZ(6px);pointer-events:none}.property-card{position:relative}.property-card:after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#b99858,transparent);transform:scaleX(0);transform-origin:left;pointer-events:none}.creative-browse-change [data-property-pagination]{border-color:#b99858b3;box-shadow:0 7px 28px #b9985814}.creative-browse-change [data-page-summary]{color:var(--navy)}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero-line--one{translate:calc(var(--creative-hero-progress,0) * -18px) calc(var(--creative-hero-progress,0) * -5px)}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero-line--two{translate:calc(var(--creative-hero-progress,0) * 22px) calc(var(--creative-hero-progress,0) * 7px)}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero-orbit{opacity:.34;transform:translate3d(0,calc(var(--creative-hero-progress,0) * -64px),0) rotate(calc(-17deg + var(--creative-hero-progress,0) * 32deg))}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-orbit-marker{animation:architect-orbit 22s linear infinite}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .marker-two{animation:architect-orbit 16s linear infinite reverse}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-orbit circle:nth-child(2){animation:architect-dash 20s linear infinite}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .guideline-light{animation:architect-trace 7s ease-in-out infinite}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-card:before{animation:architect-card-light 6s ease-in-out infinite}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-copy>.eyebrow{animation:architect-text-enter .9s .1s both}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-line--one{animation:architect-text-enter 1s .15s both}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-line--two{animation:architect-text-enter 1s .3s both}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section .city-orbit--upper{animation:architect-city-orbit 25s linear infinite;animation-play-state:paused}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .city-orbit--upper{animation-play-state:running}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section .city-survey-line{animation:architect-survey 8s ease-in-out infinite;animation-play-state:paused}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .city-survey-line{animation-play-state:running}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .mobile-scene-glow{animation:architect-glow 7s ease-in-out infinite}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .property-card.creative-card-active{transform:perspective(1200px) rotateX(calc(var(--tilt-x,0deg) + var(--creative-card-x,0deg))) rotateY(calc(var(--tilt-y,0deg) + var(--creative-card-y,0deg))) translateY(calc(var(--card-lift,0px) + var(--creative-card-lift,0px)));transition:box-shadow .3s}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .creative-card-active .property-media:not(.poster) img{scale:1.14;transform:translateY(var(--creative-image-y,0px));transition:scale .45s}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .creative-card-enter{animation:architect-card-enter .75s var(--creative-enter-delay,0ms) cubic-bezier(.2,.75,.2,1) both}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .creative-card-enter:after{animation:architect-card-rule 1.2s var(--creative-enter-delay,0ms) ease-out both}
body.creative-ready:not(.motion-reduced):not(.motion-paused) .creative-browse-change .page-actions{animation:architect-control-enter .55s ease-out both}
@media(max-width:760px){
 .hero-guidelines{opacity:.23;stroke-width:1;z-index:3}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-photo-plane{transform:translate3d(0,calc(var(--mobile-hero-progress,0) * 100px),0) scale(calc(1.04 + var(--mobile-hero-progress,0) * .12)) rotateZ(calc(-1deg + var(--mobile-hero-progress,0) * 3deg))}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero-copy{transform:translateY(calc(var(--mobile-hero-progress,0) * -42px))}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero-card{transform:perspective(850px) translateY(calc(var(--mobile-hero-progress,0) * -50px)) rotateY(calc(-4deg + var(--mobile-hero-progress,0) * 8deg)) rotateZ(calc(-1deg + var(--mobile-hero-progress,0) * 3deg))}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .hero.is-in-view .hero-ambient-grid{transform:perspective(420px) translateY(calc(var(--mobile-hero-progress,0) * -50px)) rotateX(calc(63deg - var(--mobile-hero-progress,0) * 12deg)) rotateZ(calc(-8deg + var(--mobile-hero-progress,0) * 18deg));opacity:.46;animation:phone-grid-breathe 8s ease-in-out infinite}
 .city-orbit--upper{opacity:.75}.city-survey-line{opacity:.65}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .creative-card-active .type-tag{translate:0 calc(var(--creative-image-y,0px) * -.22)}
 body.creative-ready:not(.motion-reduced):not(.motion-paused) .spatial-section.mobile-in-view .city-building{animation:phone-tower-float 4.8s ease-in-out infinite}
 .hero-line--one,.hero-line--two{max-width:100%}
}
@keyframes architect-orbit{to{rotate:360deg}}
@keyframes architect-dash{to{stroke-dashoffset:-352}}
@keyframes architect-trace{0%,15%{stroke-dashoffset:110;opacity:0}25%{opacity:1}75%,100%{stroke-dashoffset:-10;opacity:0}}
@keyframes architect-card-light{0%,40%{translate:0 0}80%,100%{translate:240% 0}}
@keyframes architect-city-orbit{0%{transform:translateZ(110px) rotateX(22deg) rotateZ(30deg)}100%{transform:translateZ(110px) rotateX(22deg) rotateZ(390deg)}}
@keyframes architect-survey{0%,100%{translate:0 -85px;opacity:.1}50%{translate:0 95px;opacity:.8}}
@keyframes architect-glow{0%,100%{opacity:.4;scale:.9}50%{opacity:.9;scale:1.1}}
@keyframes architect-text-enter{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes architect-card-enter{from{opacity:.15;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes architect-card-rule{from{transform:scaleX(0);opacity:1}70%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}
@keyframes architect-control-enter{from{opacity:.5;translate:0 7px}to{opacity:1;translate:0 0}}
body.motion-reduced .hero-line,body.motion-paused .hero-line{translate:none!important;clip-path:none!important;opacity:1!important}
body.motion-reduced .hero-guidelines *,body.motion-reduced .hero-orbit *,body.motion-reduced .city-orbit--upper,body.motion-reduced .city-survey-line,body.motion-reduced .creative-card-enter,body.motion-reduced .creative-card-enter:after,body.motion-reduced .creative-browse-change .page-actions,body.motion-paused .hero-guidelines *,body.motion-paused .hero-orbit *,body.motion-paused .city-orbit--upper,body.motion-paused .city-survey-line,body.motion-paused .creative-card-enter,body.motion-paused .creative-card-enter:after,body.motion-paused .creative-browse-change .page-actions{animation:none!important;translate:none!important}
@media(prefers-reduced-motion:reduce){.hero-line{translate:none!important;clip-path:none!important;opacity:1!important}.hero-guidelines *, .hero-orbit *, .city-orbit--upper,.city-survey-line,.creative-card-enter,.creative-card-enter:after,.creative-browse-change .page-actions{animation:none!important;translate:none!important}.creative-card-active,.creative-card-active img,.creative-card-active .type-tag{transform:none!important;translate:none!important;scale:1!important}}
