.motion-ready .motion-item{opacity:0;transform:translateY(28px) scale(.985);filter:blur(3px);transition:opacity .7s ease,transform .75s cubic-bezier(.2,.75,.2,1),filter .7s ease;transition-delay:var(--motion-delay,0ms)}
.motion-ready .motion-item.motion-visible{opacity:1;transform:none;filter:none}
.marketing-nav{transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease}
.marketing-nav .nest-logo-image{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.marketing-nav .nest-logo-link:hover .nest-logo-image{transform:scale(1.045);filter:saturate(1.08)}
.button,.outline,.watch,.footer-cta{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.button:after,.outline:after{content:'';position:absolute;inset:-2px;background:linear-gradient(105deg,transparent 30%,#ffffff65 48%,transparent 66%);transform:translateX(-130%);transition:transform .65s ease;pointer-events:none}
.button:hover:after,.outline:hover:after{transform:translateX(130%)}
.button:hover,.outline:hover{transform:translateY(-3px);box-shadow:0 13px 28px #1d302a20}
.hero-visual .sun{animation:sun-float 5.5s ease-in-out infinite}
.hero-visual .arch-one{animation:arch-drift 7s ease-in-out infinite}
.hero-visual .arch-two{animation:arch-drift 7s ease-in-out -2.8s infinite reverse}
.float-stat{animation:card-float 4.8s ease-in-out infinite!important}
.hero-visual .listing-card{animation:card-float 5.4s ease-in-out -1.7s infinite!important}
.feature .icon{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.feature:hover .icon{transform:translateY(-4px) rotate(-5deg) scale(1.08);box-shadow:0 10px 24px #1d302a17}
.mini-house{transition:background-size .7s ease;background-size:110%!important}
.feature-dark:hover .mini-house{background-size:118%!important}
.chart path{stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.motion-visible .chart path,.feature:hover .chart path{stroke-dashoffset:0}
.rent-row,.roi{transition:transform .35s ease,background-color .35s ease}
.feature:hover .rent-row,.feature:hover .roi{transform:translateY(-4px)}
.solution-list article b{transition:transform .25s ease,color .25s ease}
.solution-list article:hover b{transform:translateX(7px);color:var(--orange)}
.plans article:hover{border-color:#d8b59f}
.cta-circle{animation:cta-breathe 5s ease-in-out infinite}
.cta-house{animation:house-rise 4.5s ease-in-out infinite}
.counter-animating{font-variant-numeric:tabular-nums}
@keyframes sun-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(8px,-13px) scale(1.06)}}
@keyframes arch-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
@keyframes card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cta-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes house-rise{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .motion-item{opacity:1!important;transform:none!important;filter:none!important}}
