/* Only the elements selected by the user. Anchors and headings keep their roles. */
.scene-animated{position:relative;isolation:isolate;--scene-light:var(--accent)}
.scene-animated[data-scene-phase]{color:var(--scene-light);transition:color .45s ease}
.hero-actions .primary[data-scene-phase]{background:var(--scene-light);border-color:var(--scene-light);color:#121c1d;box-shadow:0 0 20px color-mix(in srgb,var(--scene-light) 22%,transparent);transition:background .45s ease,border-color .45s ease,box-shadow .45s ease}
.hero-actions .film-link[data-scene-phase] .play-small{border-color:var(--scene-light);box-shadow:0 0 14px color-mix(in srgb,var(--scene-light) 22%,transparent)}
[data-scene-label]{position:relative;z-index:1}
.scene-word{display:inline-block;white-space:nowrap}
.reservation .primary[data-scene-palette=morocco]{font-weight:800;background:#c1272d;border-color:#c1272d;color:#fff;transition:background .45s ease,border-color .45s ease,box-shadow .45s ease}
.reservation .primary[data-scene-palette=morocco][data-scene-phase]{background:var(--scene-light);border-color:var(--scene-light);color:#fff;box-shadow:0 0 24px color-mix(in srgb,var(--scene-light) 40%,transparent)}
.scene-glyph{display:inline-block;white-space:pre;transform-origin:50% 85%}
.scene-space{white-space:pre}
.scene-animated[data-scene-phase=a] .scene-glyph:not(.scene-space){animation:brand-ballet-a 2700ms var(--glyph-delay) ease-in-out both}
.scene-animated[data-scene-phase=b] .scene-glyph:not(.scene-space){animation:brand-ballet-b 2700ms var(--glyph-delay) ease-in-out both}
.scene-fireworks{position:absolute;inset:0;z-index:2;pointer-events:none!important;color:var(--scene-light);overflow:visible}
.scene-burst{position:absolute;left:var(--burst-x);top:var(--burst-y);width:0;height:0;pointer-events:none!important}
.scene-spark{position:absolute;left:-1px;top:-3px;width:1.5px;height:6px;border-radius:2px;background:currentColor;box-shadow:0 0 4px currentColor;opacity:0;pointer-events:none!important}
.scene-animated[data-scene-phase=a] .scene-spark{animation:brand-spark-a 1200ms ease-out both}
.scene-animated[data-scene-phase=b] .scene-spark{animation:brand-spark-b 1200ms ease-out both}
.hero-actions .primary .scene-fireworks{color:#fff9e8;opacity:.6}
.scene-animated .scene-burst:nth-child(n+3){opacity:.65}
.scene-animated:focus-visible{outline:2px solid var(--paper);outline-offset:6px}
.paused .scene-glyph{animation:none!important;transform:none!important}
.paused .scene-fireworks{display:none}
@media(prefers-reduced-motion:reduce){.scene-glyph{animation:none!important;transform:none!important}.scene-fireworks{display:none}.scene-animated[data-scene-phase],.hero-actions .primary[data-scene-phase],.reservation .primary[data-scene-palette=morocco]{transition:none}}
/* RTL : animation par mot arabe (ligatures préservées). */
/* Arabe : on anime des mots entiers (les lettres restent liées) avec le même ballet que les lettres latines ; le texte reste toujours visible. */
.scene-word-ar{display:inline-block}
.scene-animated[data-scene-phase=a] .scene-word-ar{animation:brand-ballet-a 2700ms var(--glyph-delay) ease-in-out both}
.scene-animated[data-scene-phase=b] .scene-word-ar{animation:brand-ballet-b 2700ms var(--glyph-delay) ease-in-out both}
.paused .scene-word-ar{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.scene-word-ar{animation:none!important;transform:none!important}}
