/**
 * Château de Brabois — apparition au scroll (fondu + léger glissement).
 *
 * Sobre et moderne : opacité 0->1 + montée 22px->0, easing doux, ~0,7 s.
 * L'état caché n'est appliqué QUE si le JS a posé `html.br-anim` (donc si le
 * JS tourne) : si le JS échoue, rien n'est caché, la page reste visible.
 * Les cibles reçoivent `.br-reveal` depuis reveal.js (jamais dans le markup).
 */

html.br-anim .br-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--br-d, 0ms);
	will-change: opacity, transform;
}

html.br-anim .br-reveal.is-in {
	opacity: 1;
	transform: translateY(0);
}

/* Animation terminée : on efface transform (plus de bloc conteneur résiduel). */
html.br-anim .br-reveal.br-done {
	transform: none;
	will-change: auto;
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	html.br-anim .br-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
