/* Movimento progressivo: conteúdo visível por padrão e sem dependências externas. */
.hero-media{position:absolute;inset:-12% 0;pointer-events:none;overflow:hidden;transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1.09));transform-origin:center;will-change:transform}
.hero-media>picture{display:contents}.hero-media .hero-photo,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 50%;pointer-events:none}
.hero-video{opacity:0;transition:opacity 450ms ease;background:transparent}.video-ready .hero-video{opacity:1}
.hero-shade::after{content:'';position:absolute;inset:0;background:#02090e;opacity:var(--hero-veil,0);pointer-events:none}
.hero h1{translate:0 var(--hero-title-y,0px)}.hero-topline,.hero-side{translate:0 var(--hero-detail-y,0px)}
.hero-bottom::after{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:#20e344b3;transform:scaleX(var(--hero-progress,0));transform-origin:left;pointer-events:none}
.hero-motion-toggle{position:absolute;top:172px;right:4.7%;z-index:3;display:inline-flex;align-items:center;gap:9px;min-height:44px;border:1px solid #ffffff60;border-radius:30px;padding:10px 16px;background:#091419bf;color:#edf2ef;backdrop-filter:blur(12px);font-size:12px;line-height:1.5}
.hero-motion-toggle>.icon{height:16px;width:16px}.hero-motion-toggle:hover{border-color:var(--green);color:var(--green);background:#0c1d17e6}.hero-motion-toggle:active{background:#183322}
.motion-reveal{opacity:0;translate:0 48px;transition:none}
.motion-reveal:not(.is-revealed){will-change:opacity,translate}.motion-reveal.is-revealed{opacity:1;translate:0 0;will-change:auto;transition:opacity 780ms ease var(--reveal-delay,0ms),translate 900ms cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.property-card.motion-reveal.is-revealed,.region-card.motion-reveal.is-revealed{transition:opacity 780ms ease var(--reveal-delay,0ms),translate 900ms ease var(--reveal-delay,0ms),transform 280ms ease,border-color 280ms ease,box-shadow 280ms ease,background 280ms ease}
.motion-reveal:focus-within,.property-card.motion-reveal:focus-within,.region-card.motion-reveal:focus-within{opacity:1;translate:0 0;transition:none}
.button.magnetic-button{--magnet-x:0px;--magnet-y:0px;--button-lift:0px;transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--button-lift)),0);transition:transform 200ms cubic-bezier(.2,.65,.3,1),background 280ms ease,border-color 280ms ease,color 280ms ease,box-shadow 280ms ease}
.button.magnetic-button:hover{--button-lift:-2px}.button.magnetic-button:active{--button-lift:0px}
.button.magnetic-button:focus-visible{--magnet-x:0px!important;--magnet-y:0px!important}
.about-image{overflow:hidden;border-radius:14px;isolation:isolate}.about-image img{transform:translate3d(0,var(--image-y,0px),0) scale(1.24);transform-origin:center}
.image-caption{z-index:1}.region-card::before{transform:translate3d(0,var(--region-y,0px),0) scale(1.12)}
.region-card:hover::before{transform:translate3d(0,var(--region-y,0px),0) scale(1.15)}
html[data-motion=static] .hero-media{transform:none;will-change:auto}html[data-motion=static] .hero h1,html[data-motion=static] .hero-topline,html[data-motion=static] .hero-side{translate:none}
html[data-motion=static] .about-image img{transform:none}html[data-motion=static] .region-card::before{transform:none}
@media(max-width:1059px){.hero-motion-toggle{top:152px}.motion-reveal{translate:0 32px}.motion-reveal.is-revealed,.motion-reveal:focus-within,.property-card.motion-reveal:focus-within,.region-card.motion-reveal:focus-within{translate:0 0}}
@media(max-width:767px){.hero-motion-toggle{top:auto;bottom:148px;right:24px;font-size:11px;min-height:44px;padding:10px 14px}.hero-media .hero-photo,.hero-video{object-position:55% 50%}.hero-media{inset:-6% 0}.motion-reveal{translate:0 24px}.motion-reveal.is-revealed,.motion-reveal:focus-within,.property-card.motion-reveal:focus-within,.region-card.motion-reveal:focus-within{translate:0 0}.about-image img{transform:translate3d(0,var(--image-y,0px),0) scale(1.16)}}
@media(hover:none),(pointer:coarse){.button.magnetic-button{--magnet-x:0px!important;--magnet-y:0px!important}.button.magnetic-button:hover{--button-lift:0px}}
@media(prefers-reduced-motion:reduce){.hero-media,.about-image img,.region-card::before,.region-card:hover::before{transform:none!important;will-change:auto}.hero h1,.hero-topline,.hero-side,.motion-reveal,.motion-reveal.is-revealed{translate:none!important;opacity:1!important;transition:none!important}.hero-video{display:none}.hero-motion-toggle{display:none}.button.magnetic-button{transform:none!important}.hero-bottom::after{display:none}}


/* A seta acompanha a aproximação do cursor, mantendo o texto estável. */
.button>.icon{transition:transform 240ms cubic-bezier(.2,.65,.3,1)}
.button.magnetic-button>.icon:last-child{transform:translate3d(var(--magnet-icon-x,0px),var(--magnet-icon-y,0px),0)}
.button.magnetic-button:hover>.icon:last-child{transform:translate3d(calc(var(--magnet-icon-x,0px) + 4px),calc(var(--magnet-icon-y,0px) - 4px),0)}
.property-card:hover .card-image img{transform:scale(1.055)}
@media(hover:none),(pointer:coarse){.button.magnetic-button>.icon:last-child,.button.magnetic-button:hover>.icon:last-child{transform:none}}
@media(prefers-reduced-motion:reduce){.button>.icon,.button.magnetic-button>.icon:last-child,.button.magnetic-button:hover>.icon:last-child{transform:none!important;transition:none!important}}


/* O controle do vídeo acompanha a mesma margem dos textos e da busca. */
@media(max-width:1059px){.hero-motion-toggle{right:calc(var(--space) - 16px)}}
@media(max-width:767px){.hero-motion-toggle{right:calc(var(--space) - 8px)}}
