:root{--motion-press:150ms;--motion-change:220ms;--motion-reveal:400ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
.hero-spark{opacity:0;pointer-events:none}
/* Suppress legacy transform transitions only during a composed entrance. */
[data-motion-state="entering"] :is(.control-choice,.vf-mic,.vf-summary-field){transition:none}
/* Accueil : un élément préparé par une scène n'a aucune transition CSS jusqu'à sa restauration. */
[data-motion-pending]{transition:none!important}
/* Animate opacity on the existing glass; keep its blur and geometry fixed. */
.v0-navbar :is(.v0-navigation-island,.v0-contact-island)::before{transition:opacity 200ms ease}
.hc-faq-list details[open]>p{animation:site-fade 180ms var(--motion-ease)}
.hc-faq-toggle>.icon{transition:transform 180ms var(--motion-ease)}
dialog[open]{animation:site-dialog-in var(--motion-change) var(--motion-ease)}
dialog[open]::backdrop{animation:site-fade var(--motion-change) ease}
@media(max-width:1080px){.v0-navbar .v0-floating-controls.v0-open{animation:site-menu-in 200ms var(--motion-ease)}}
@keyframes site-fade{from{opacity:0}to{opacity:1}}
@keyframes site-dialog-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes site-menu-in{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
 .hc-faq-list details[open]>p,dialog[open],dialog[open]::backdrop,.v0-navbar .v0-floating-controls.v0-open{animation:none}
 .hc-faq-toggle>.icon,.v0-navbar :is(.v0-navigation-island,.v0-contact-island)::before{transition:none}
}
