/* VSF — titres des pages publiques (d'après la maquette logo-titres.html du 2 novembre 2026).
   « Mise au point » (flou → net) + UNE lettre marquée à la main par titre :
   - un i : sa hampe monte de bas en haut et son point grossit en jaune (#ffc400) ;
   - une lettre accentuée : elle monte et passe en jaune un instant.
   Toujours jaune, jamais une autre couleur ; tout revient au noir. Pages publiques seulement (body.page-publique).
   prefers-reduced-motion : tout s'affiche directement. Voir vsf-titres.js pour marquer la lettre. */
.vt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.vt-nw{white-space:nowrap}
.vt-i{display:inline-block;position:relative;line-height:1}
.vt-i .stem{display:inline-block}
.vt-i .pt{position:absolute;width:.13em;height:.13em;border-radius:50% !important;background:currentColor;left:50%;margin-left:-.065em;bottom:.745em}
.vt-acc{display:inline-block}
.page-publique .vsf-h1.play{animation:vt-focus .7s ease-out both}
.page-publique .vsf-h1.play .vt-i .stem{animation:vt-monte .4s .55s both}
.page-publique .vsf-h1.play .vt-i .pt{animation:vt-pop .45s .9s both}
.page-publique .vsf-h1.play .vt-acc{animation:vt-haut .7s .55s both}
@keyframes vt-focus{from{filter:blur(10px);opacity:0;letter-spacing:.02em}to{filter:blur(0);opacity:1;letter-spacing:-.02em}}
@keyframes vt-monte{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vt-pop{0%{transform:scale(0);background:#ffc400}55%{transform:scale(1.7);background:#ffc400}80%{background:#ffc400}100%{transform:scale(1);background:currentColor}}
@keyframes vt-haut{0%{transform:translateY(.35em);opacity:0;color:#ffc400}40%{transform:none;opacity:1;color:#ffc400}100%{color:inherit}}
@media (prefers-reduced-motion:reduce){.page-publique .vsf-h1.play,.page-publique .vsf-h1.play .vt-i .stem,.page-publique .vsf-h1.play .vt-i .pt,.page-publique .vsf-h1.play .vt-acc{animation:none}}
