/* Mouvement discret, indépendant des choix et du paiement. */
.hero-copy > *{animation:bustart-arrival .8s cubic-bezier(.2,.7,.2,1) both}
.hero-copy > :nth-child(2){animation-delay:.08s}
.hero-copy > :nth-child(3){animation-delay:.16s}
.hero-copy > :nth-child(4){animation-delay:.24s}
.hero-copy > :nth-child(5){animation-delay:.32s}
.hero-copy > :nth-child(6){animation-delay:.4s}
.hero-image{animation:bustart-arrival 1s cubic-bezier(.2,.7,.2,1) .18s both}
@keyframes bustart-arrival{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.motion-item.motion-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-item.motion-ready.is-visible{opacity:1;transform:none}
.hero-backdrop::after{content:'';position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 35%,rgba(211,162,73,.16),transparent 48%);opacity:.5;animation:bustart-light 14s ease-in-out infinite alternate;animation-play-state:paused}
.hero-backdrop.motion-active::after{animation-play-state:running}
@keyframes bustart-light{from{transform:translate3d(-3%,0,0);opacity:.35}to{transform:translate3d(3%,3%,0);opacity:.8}}
.button{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.button:active{transform:translateY(0);filter:brightness(.95)}
.gallery figure,.spaces-grid figure,.price-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.gallery img,.spaces-grid img{transition:filter .45s ease}
.nav nav a{position:relative;transition:color .25s ease}
.nav nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav nav a:hover::after,.nav nav a:focus-visible::after{transform:scaleX(1)}
.finish,.price-toggle button,.comparison-controls button{transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.comparison-slide:not([hidden]){animation:bustart-fade .35s ease both}
.questions details[open] p{animation:bustart-fade .3s ease both}
dialog[open]{animation:bustart-dialog .25s ease both}
@keyframes bustart-fade{from{opacity:.2}to{opacity:1}}
@keyframes bustart-dialog{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(188,149,77,.25)}
 .gallery figure.is-visible:hover,.spaces-grid figure.is-visible:hover,.price-card.is-visible:hover{transform:translateY(-5px);border-color:rgba(188,149,77,.6);box-shadow:0 18px 40px #0005;transition-delay:0ms}
 .gallery figure:hover img,.spaces-grid figure:hover img{filter:brightness(1.07)}
}
@media(max-width:760px){.motion-item.motion-ready{transform:translateY(14px);transition-duration:.55s}.motion-item.motion-ready.is-visible{transform:none}.hero-backdrop::after{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .motion-item.motion-ready{opacity:1;transform:none!important}
 .hero-backdrop::after{display:none}
}
